No session status when starting playback on Shield over remote control API

Here’s a quick summary of an observed problem that takes any 3rd party software out of the equation:

  1. Shield is in an isolated network that can reach PMS but not other devices
  2. An iOS client from another network can reach both PMS and the Shield client
  3. The iOS client begins playback on the Shield using companion API (not Chromecast)
  4. The Shield begins playback properly and attempts to post timeline updates to the iOS device, but firewall policies prevent this
  5. The Shield does not attempt to update PMS with timeline updates

I believe this is likely related to the issues we’re seeing with HA starting playback on Android TV clients. HA does not currently attempt to handle incoming timeline callback posts from clients so perhaps when this fails the client aborts instead of additionally updating PMS.

If the shield can’t access other devices then that’s a problem, its the shield that needs to talk to pms AND the controller, unlike web in android the connection should be direct so it should report timeline events back to PMS and the Controller (looks like in that scenario this would be blocked)

As for 5 It might be happening cause it failed to talk to the controller and until that doesn’t happen it won’t update PMS (but this is a theory I’m not 100% sure)

Correct. However it seems like (4) is treated as a fatal error and preventing (5) from completing. I would expect that (5) would be attempted regardless.

Indeed I need to verify if that is the case.
(EDIT: there is actually a recent internal issue reported for that case)

Correct, same subnet. I have PFSense as a firewall, no UPNP, but I have 32400 forwarded to the Plex server. I do not have anything else forwarded (for Plex) though. Do I need to forward some of those other ports (I would assume to the Plex server) for stuff to work right.

Possibly related, I noticed accessing Plex web, via the plex server directly or my desktop, I can see and “control” through the option in the top right of the interface my iPad or the other web interface (server controls my desktop or vice versa). I cannot see or control my Android phone though (option is turned on to advertise as a player). And I can see the ShieldTV, but it won’t establish a connection when I select it. If I use my iPad though, I am able to connect to the ShieldTV and control it that way. I even installed a fresh Plex server and experienced the same issues.

Would be nice if it turns out I just need to open some extra ports.

Edit: Sorry, it’s late and I’m a little slow. Just realized that said for internal ports to the server, it already had rules for Plex that are autogenerated, but I went ahead and made a blanket port rules for Plex with all those ports. Seeing same behavior though.

Yep. Same subnet and every device on the subnet can talk freely to all others and all outgoing connections are allowed. However, I don’t have port forwarding set up for WAN → LAN except for 32400.

@syndacplex If nothing is blocked that it should work, without being in the network and maybe even trying some packet capture with might be hard to know what’s happening.

What we do know is there’s a likely a bug in the android app where the player (shield in this case) doesn’t send timelines to PMS, if sending to the controller fails, it should most definitely do it, and there enough evidence above that this is not happening. An internal issue was created no so long ago, and hopefully, we can track the cause and fix it soon.

But that said if all is ok firewall wise everything should work just fine.

Can you try this again and DM the logs of PMS and the Shield app (let me know if you need help getting those).

@mikec_pt I should be able to do this tomorrow. I might need guidance on where to grab the logs from the Shield at. Also, I’ll see if I can remember how to mirror my port traffic on my switch and set up Wireshark to capture all the traffic between Plex server and Shield (no promises there though, it’s been a while since I’ve done that).

@mikec_pt Just DM’d you the logs, finally. Let me know if you need anything else. Some callouts:

shield
11-03 11:01:05.170 i: [Player][Timeline] Unable to report progress to server as duration is unavailable.
11-03 11:01:05.170 i: [Player][Timeline] Unable to report progress to server as duration is unavailable.
11-03 11:01:13.753 e: An exception occurred: java.lang.IllegalArgumentException
11-03 11:01:15.234 i: [Now Playing] Server does not support timelines, ignoring
11-03 11:01:25.238 i: [Now Playing] Server does not support timelines, ignoring

Plex Media Server.log
Nov 03, 2020 18:49:33.209 [0x7fec26ffd700] WARN - HTTP error requesting GET http://localhost:6077/discover.json
Nov 03, 2020 19:15:21.123 [0x7fec26ffd700] DEBUG - (Capabilities) Platform ‘Android’ not matched by plugin platform requirements
Nov 03, 2020 19:15:36.352 [0x7fec977fe700] DEBUG - NotificationStream: Removing because of error

I’m not sure exactly what’s relevant, but the timestamps should at least point you to when I tried testing.

yeah I saw those and passed it along to the android devs, it seems to be an issue on the client side not PMS, but we will see.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.