python-plexapi: playMedia() on Nvidia Shield causes subscription failures

When sending a Client().playMedia() command, it seems that this command (which only specifies the server’s port) will cause the Plex app on Nvidia Shield devices to treat the plexapi request source as an actively listening controller. The Shield client will send POST requests back to the plexapi host on the server’s port which repeatedly fail.

Example logs from Shield:

02-26 21:58:39.517  i: [pms] /10.6.9.55:57992 - GET /player/timeline/subscribe
02-26 21:58:39.517  i: [Now Playing] New subscriber 0xcfe9033bf0a4 at 10.6.9.55:32400 with command id 23
02-26 21:58:39.519  i: Fetching [method:POST] http://10.6.9.55:32400/:/timeline?X-Plex-Token=...HBKU&includeExternalMedia=1
02-26 21:58:39.525  i: Time out fetching http://10.6.9.55:32400/:/timeline?X-Plex-Token=...HBKU.
02-26 21:58:39.667  i: [pms] /10.6.9.55:57996 - GET /player/playback/playMedia
02-26 21:58:43.325  i: Fetching [method:POST] http://10.6.9.55:32400/:/timeline?X-Plex-Token=...HBKU&includeExternalMedia=1
02-26 21:58:43.333  i: Time out fetching http://10.6.9.55:32400/:/timeline?X-Plex-Token=...HBKU.
02-26 21:58:44.383  i: Fetching [method:POST] http://10.6.9.55:32400/:/timeline?X-Plex-Token=...HBKU&includeExternalMedia=1
02-26 21:58:44.395  i: Time out fetching http://10.6.9.55:32400/:/timeline?X-Plex-Token=...HBKU.
02-26 21:58:45.382  i: Fetching [method:POST] http://10.6.9.55:32400/:/timeline?X-Plex-Token=...HBKU&includeExternalMedia=1
02-26 21:58:45.386  i: Time out fetching http://10.6.9.55:32400/:/timeline?X-Plex-Token=...HBKU.
02-26 21:58:46.384  i: Fetching [method:POST] http://10.6.9.55:32400/:/timeline?X-Plex-Token=...HBKU&includeExternalMedia=1

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 1
  • Comments: 20

Most upvoted comments

Most of the discussion here about the Shield client appears to be a client problem (Plex forum link in this comment). However, I believe the timeline/subscribe call is never appropriate unless we can also handle the callbacks sent by the client. Opened #489 to remove this call.