Airplay Broken on 10.6.0 #1930

Closed
opened 2026-02-06 21:30:20 +03:00 by OVERLORD · 7 comments
Owner

Originally created by @dathbe on GitHub (Jul 23, 2020).

Describe the bug
After upgrading to Jellyfin 10.6.0 (Docker), iOS will no longer Airplay to Vizio TV. Confirmed that downgrading install to 10.5.5 using backup of config files restores ability to cast.

System (please complete the following information):

  • OS: OpenMediaVault (Debian)
  • Virtualization: Docker
  • Clients: iOS / Airplay
  • Browser: N/A (primary is Firefox)
  • Jellyfin Version: 10.6.0
  • Playback: All
  • Installed Plugins: AudioDB, Email Notifications, MusicBrainz, Open Subtitles (no change between Jellyfin versions)
  • Reverse Proxy: nginx
  • Base URL: none
  • Networking: Bridge
  • Storage: local

To Reproduce

  1. Upgrade Jellyfin from 10.5.5 to 10.6.0
  2. Select any media to play in iOS app
  3. Attempt to Airplay to Vizio TV (I don't have any other Airplay devices, so I can't test other manufacturers)
  4. Circling icon appears on screen forever without any playback
  5. Problem solved after downgrading to 10.5.5 and playback continues as normal

Expected behavior
Playback occurs normally when using Airplay

Logs
<NOTE: IP addresses removed for privacy>

[2020-07-23 08:51:35.745 -07:00] [ERR] [62] Emby.Server.Implementations.HttpServer.HttpListenerHost: Could not find handler for "/socket"
[2020-07-23 08:51:35.745 -07:00] [ERR] [62] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "Unable to find the specified file". URL: "http://xxx.xxx.com/socket?deviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020"
[2020-07-23 08:51:36.242 -07:00] [WRN] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5259917. "http://xxx.xxx.com/DisplayPreferences/usersettings?userId=1a907430f1c54e099a41fb7b2a02e165&client=emby"
[2020-07-23 08:51:36.243 -07:00] [WRN] [65] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5306398. "http://xxx.xxx.com/Sessions/Capabilities/Full"
[2020-07-23 08:51:36.489 -07:00] [WRN] [74] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.7733717. "http://xxx.xxx.com/Users/1a907430f1c54e099a41fb7b2a02e165"
[2020-07-23 08:51:37.058 -07:00] [WRN] [66] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5135368. "http://xxx.xxx.com/Users/1a907430f1c54e099a41fb7b2a02e165/Views"
[2020-07-23 08:51:51.228 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: 0, MaxAlbumArtHeight: 0, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 120000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 192000, MaxStaticMusicBitrate: null, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp4,m4v", AudioCodec: "ac3,eac3,mp3,aac,dca,dts,flac", VideoCodec: "h264,h265,hevc,vc1", Type: Video }, DirectPlayProfile { Container: "mp3", AudioCodec: "mp3", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "mp4", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac,dca,dts,flac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: IsAnamorphic, Value: "true", IsRequired: False }, ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }, ProfileCondition { Condition: NotEquals, Property: IsInterlaced, Value: "true", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }], ResponseProfiles: [ResponseProfile { Container: "m4v", AudioCodec: null, VideoCodec: null, Type: Video, OrgPn: null, MimeType: "video/mp4", Conditions: [] }], SubtitleProfiles: [SubtitleProfile { Format: "vtt", Method: External, DidlMode: null, Language: null, Container: null }] }
[2020-07-23 08:51:51.290 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: User policy for "DTB". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2020-07-23 08:51:51.301 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2049557, max bitrate: 800000
[2020-07-23 08:51:51.302 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.m4v", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2020-07-23 08:51:51.333 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2049557, max bitrate: 800000
[2020-07-23 08:51:51.333 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.m4v", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2020-07-23 08:51:51.334 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2049557, max bitrate: 800000
[2020-07-23 08:51:51.334 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.m4v", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2020-07-23 08:51:51.760 -07:00] [INF] [63] MediaBrowser.Api.Playback.Hls.DynamicHlsService: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2020-07-23 08:51:51.776 -07:00] [INF] [63] MediaBrowser.Api.Playback.Hls.DynamicHlsService: /usr/lib/jellyfin-ffmpeg/ffmpeg -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/data/movies/aaa.m4v" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 24 -maxrate 416000 -bufsize 832000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none  -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -g 180 -keyint_min 180 -sc_threshold 0 -vf "scale=trunc(min(max(iw\,ih*dar)\,640)/2)*2:trunc(ow/dar/2)*2" -start_at_zero -vsync -1 -codec:a:0 ac3 -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -f hls -max_delay 5000000 -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcodes/5136c87dc0159fd67664e4d53109933b%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/5136c87dc0159fd67664e4d53109933b.m3u8"
[2020-07-23 08:51:52.305 -07:00] [WRN] [70] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5996134. "http://xxx.xxx.com/videos/b728e151-1ba4-6457-fa78-338c914d4e66/hls1/main/0.ts?DeviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020&MediaSourceId=b728e1511ba46457fa78338c914d4e66&VideoCodec=h264&AudioCodec=ac3,eac3,mp3,aac&AudioStreamIndex=1&VideoBitrate=416000&AudioBitrate=384000&PlaySessionId=cbb582497bdd4461bc62e9d2afa3b5c8&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=7ecc80d9e2161e7d41d109945ff7e9cc&SegmentContainer=ts&MinSegments=2&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit"
[2020-07-23 08:51:54.279 -07:00] [WRN] [67] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:01.5523037. "http://xxx.xxx.com/Sessions/Playing"
[2020-07-23 08:51:54.630 -07:00] [WRN] [63] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:01.4816133. "http://xxx.xxx.com/Sessions/Playing/Progress"
[2020-07-23 08:51:56.724 -07:00] [ERR] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "A task was canceled". URL: "http://xxx.xxx.com/videos/b728e151-1ba4-6457-fa78-338c914d4e66/hls1/main/24.ts?DeviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020&MediaSourceId=b728e1511ba46457fa78338c914d4e66&VideoCodec=h264&AudioCodec=ac3,eac3,mp3,aac&AudioStreamIndex=1&VideoBitrate=416000&AudioBitrate=384000&PlaySessionId=cbb582497bdd4461bc62e9d2afa3b5c8&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=7ecc80d9e2161e7d41d109945ff7e9cc&SegmentContainer=ts&MinSegments=2&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit"
[2020-07-23 08:51:57.512 -07:00] [WRN] [75] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.8021014. "http://xxx.xxx.com/Sessions/Playing/Progress"
[2020-07-23 08:52:03.311 -07:00] [WRN] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5728559. "http://xxx.xxx.com/Sessions/Playing/Progress"
[2020-07-23 08:52:11.788 -07:00] [ERR] [73] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "A task was canceled". URL: "http://xxx.xxx.com/videos/b728e151-1ba4-6457-fa78-338c914d4e66/hls1/main/106.ts?DeviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020&MediaSourceId=b728e1511ba46457fa78338c914d4e66&VideoCodec=h264&AudioCodec=ac3,eac3,mp3,aac&AudioStreamIndex=1&VideoBitrate=416000&AudioBitrate=384000&PlaySessionId=cbb582497bdd4461bc62e9d2afa3b5c8&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=7ecc80d9e2161e7d41d109945ff7e9cc&SegmentContainer=ts&MinSegments=2&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit"
[2020-07-23 08:52:13.347 -07:00] [WRN] [63] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.6169953. "http://xxx.xxx.com/Sessions/Playing/Progress"
[2020-07-23 08:52:17.418 -07:00] [WRN] [64] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.6492846. "http://xxx.xxx.com/Sessions/Playing/Progress"
[2020-07-23 08:52:22.647 -07:00] [INF] [62] MediaBrowser.Api.Playback.Hls.DynamicHlsService: FFMpeg exited with code 0
[2020-07-23 08:52:28.434 -07:00] [ERR] [64] Emby.Server.Implementations.HttpServer.HttpListenerHost: Could not find handler for "/socket"
[2020-07-23 08:52:28.434 -07:00] [ERR] [64] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "Unable to find the specified file". URL: "http://xxx.xxx.com/socket?deviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020"
[2020-07-23 08:52:33.959 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: 0, MaxAlbumArtHeight: 0, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 120000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 192000, MaxStaticMusicBitrate: null, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp4,m4v", AudioCodec: "ac3,eac3,mp3,aac,dca,dts,flac", VideoCodec: "h264,h265,hevc,vc1", Type: Video }, DirectPlayProfile { Container: "mp3", AudioCodec: "mp3", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "mp4", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac,dca,dts,flac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: IsAnamorphic, Value: "true", IsRequired: False }, ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }, ProfileCondition { Condition: NotEquals, Property: IsInterlaced, Value: "true", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }], ResponseProfiles: [ResponseProfile { Container: "m4v", AudioCodec: null, VideoCodec: null, Type: Video, OrgPn: null, MimeType: "video/mp4", Conditions: [] }], SubtitleProfiles: [SubtitleProfile { Format: "vtt", Method: External, DidlMode: null, Language: null, Container: null }] }
[2020-07-23 08:52:33.979 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: User policy for "DTB". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2020-07-23 08:52:33.979 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2643557, max bitrate: 800000
[2020-07-23 08:52:33.979 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2020-07-23 08:52:33.979 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", No direct play profiles found for Path: "/data/movies/aaa.mkv"
[2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2643557, max bitrate: 800000
[2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", No direct play profiles found for Path: "/data/movies/aaa.mkv"
[2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2643557, max bitrate: 800000
[2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", No direct play profiles found for Path: "/data/movies/aaa.mkv"
[2020-07-23 08:52:34.231 -07:00] [INF] [74] MediaBrowser.Api.Playback.Hls.DynamicHlsService: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2020-07-23 08:52:34.232 -07:00] [INF] [74] MediaBrowser.Api.Playback.Hls.DynamicHlsService: /usr/lib/jellyfin-ffmpeg/ffmpeg -f matroska,webm -i file:"/data/movies/aaa.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 24 -maxrate 416000 -bufsize 832000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none  -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -g 90 -keyint_min 90 -sc_threshold 0 -vf "scale=trunc(min(max(iw\,ih*dar)\,640)/2)*2:trunc(ow/dar/2)*2" -start_at_zero -vsync -1 -codec:a:0 ac3 -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -f hls -max_delay 5000000 -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcodes/e2b28dbf3190d96234f5cda091bd4b75%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/e2b28dbf3190d96234f5cda091bd4b75.m3u8"
[2020-07-23 08:52:35.840 -07:00] [WRN] [69] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.8225927. "http://xxx.xxx.com/Sessions/Playing"
[2020-07-23 08:52:36.617 -07:00] [WRN] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:01.2275023. "http://xxx.xxx.com/Sessions/Playing/Progress"
[2020-07-23 08:52:39.378 -07:00] [WRN] [63] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.7805527. "http://xxx.xxx.com/Sessions/Playing/Progress"
[2020-07-23 08:52:45.673 -07:00] [WRN] [63] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.6461399. "http://xxx.xxx.com/Sessions/Playing/Progress"
[2020-07-23 08:52:55.398 -07:00] [INF] [63] MediaBrowser.Api.Playback.Hls.DynamicHlsService: FFMpeg exited with code 0
[2020-07-23 08:52:56.000 -07:00] [WRN] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.9728568. "http://xxx.xxx.com/Sessions/Playing/Progress"
[2020-07-23 08:52:57.719 -07:00] [INF] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: WS "::ffff:xxx.xxx.xxx.xxx" closed
[2020-07-23 08:52:58.894 -07:00] [INF] [86] Emby.Server.Implementations.HttpServer.HttpListenerHost: WS "::ffff:xxx.xxx.xxx.xxx" request
[2020-07-23 08:52:59.417 -07:00] [WRN] [69] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5321166. "http://xxx.xxx.xxx.xxx:8096/Sessions/Capabilities/Full"
[2020-07-23 08:52:59.420 -07:00] [WRN] [73] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5344141. "http://xxx.xxx.xxx.xxx:8096/DisplayPreferences/usersettings?userId=1a907430f1c54e099a41fb7b2a02e165&client=emby"
[2020-07-23 08:52:59.562 -07:00] [WRN] [74] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.6770294. "http://xxx.xxx.xxx.xxx:8096/Users/1a907430f1c54e099a41fb7b2a02e165"

Screenshots
If there's something useful, I can capture it, but I don't know what that might be.

Additional context
I can flip back and forth between two docker instances, and 10.5.5 plays without issue, but 10.6.0 will not play.

Originally created by @dathbe on GitHub (Jul 23, 2020). **Describe the bug** After upgrading to Jellyfin 10.6.0 (Docker), iOS will no longer Airplay to Vizio TV. Confirmed that downgrading install to 10.5.5 using backup of config files restores ability to cast. **System (please complete the following information):** - OS: OpenMediaVault (Debian) - Virtualization: Docker - Clients: iOS / Airplay - Browser: N/A (primary is Firefox) - Jellyfin Version: 10.6.0 - Playback: All - Installed Plugins: AudioDB, Email Notifications, MusicBrainz, Open Subtitles (no change between Jellyfin versions) - Reverse Proxy: nginx - Base URL: none - Networking: Bridge - Storage: local **To Reproduce** 1. Upgrade Jellyfin from 10.5.5 to 10.6.0 2. Select any media to play in iOS app 3. Attempt to Airplay to Vizio TV (I don't have any other Airplay devices, so I can't test other manufacturers) 4. Circling icon appears on screen forever without any playback 5. Problem solved after downgrading to 10.5.5 and playback continues as normal **Expected behavior** Playback occurs normally when using Airplay **Logs** <NOTE: IP addresses removed for privacy> ``` [2020-07-23 08:51:35.745 -07:00] [ERR] [62] Emby.Server.Implementations.HttpServer.HttpListenerHost: Could not find handler for "/socket" [2020-07-23 08:51:35.745 -07:00] [ERR] [62] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "Unable to find the specified file". URL: "http://xxx.xxx.com/socket?deviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020" [2020-07-23 08:51:36.242 -07:00] [WRN] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5259917. "http://xxx.xxx.com/DisplayPreferences/usersettings?userId=1a907430f1c54e099a41fb7b2a02e165&client=emby" [2020-07-23 08:51:36.243 -07:00] [WRN] [65] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5306398. "http://xxx.xxx.com/Sessions/Capabilities/Full" [2020-07-23 08:51:36.489 -07:00] [WRN] [74] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.7733717. "http://xxx.xxx.com/Users/1a907430f1c54e099a41fb7b2a02e165" [2020-07-23 08:51:37.058 -07:00] [WRN] [66] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5135368. "http://xxx.xxx.com/Users/1a907430f1c54e099a41fb7b2a02e165/Views" [2020-07-23 08:51:51.228 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: 0, MaxAlbumArtHeight: 0, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 120000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 192000, MaxStaticMusicBitrate: null, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp4,m4v", AudioCodec: "ac3,eac3,mp3,aac,dca,dts,flac", VideoCodec: "h264,h265,hevc,vc1", Type: Video }, DirectPlayProfile { Container: "mp3", AudioCodec: "mp3", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "mp4", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac,dca,dts,flac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: IsAnamorphic, Value: "true", IsRequired: False }, ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }, ProfileCondition { Condition: NotEquals, Property: IsInterlaced, Value: "true", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }], ResponseProfiles: [ResponseProfile { Container: "m4v", AudioCodec: null, VideoCodec: null, Type: Video, OrgPn: null, MimeType: "video/mp4", Conditions: [] }], SubtitleProfiles: [SubtitleProfile { Format: "vtt", Method: External, DidlMode: null, Language: null, Container: null }] } [2020-07-23 08:51:51.290 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: User policy for "DTB". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2020-07-23 08:51:51.301 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2049557, max bitrate: 800000 [2020-07-23 08:51:51.302 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.m4v", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2020-07-23 08:51:51.333 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2049557, max bitrate: 800000 [2020-07-23 08:51:51.333 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.m4v", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2020-07-23 08:51:51.334 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2049557, max bitrate: 800000 [2020-07-23 08:51:51.334 -07:00] [INF] [68] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.m4v", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2020-07-23 08:51:51.760 -07:00] [INF] [63] MediaBrowser.Api.Playback.Hls.DynamicHlsService: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request [2020-07-23 08:51:51.776 -07:00] [INF] [63] MediaBrowser.Api.Playback.Hls.DynamicHlsService: /usr/lib/jellyfin-ffmpeg/ffmpeg -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/data/movies/aaa.m4v" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 24 -maxrate 416000 -bufsize 832000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -g 180 -keyint_min 180 -sc_threshold 0 -vf "scale=trunc(min(max(iw\,ih*dar)\,640)/2)*2:trunc(ow/dar/2)*2" -start_at_zero -vsync -1 -codec:a:0 ac3 -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -f hls -max_delay 5000000 -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcodes/5136c87dc0159fd67664e4d53109933b%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/5136c87dc0159fd67664e4d53109933b.m3u8" [2020-07-23 08:51:52.305 -07:00] [WRN] [70] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5996134. "http://xxx.xxx.com/videos/b728e151-1ba4-6457-fa78-338c914d4e66/hls1/main/0.ts?DeviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020&MediaSourceId=b728e1511ba46457fa78338c914d4e66&VideoCodec=h264&AudioCodec=ac3,eac3,mp3,aac&AudioStreamIndex=1&VideoBitrate=416000&AudioBitrate=384000&PlaySessionId=cbb582497bdd4461bc62e9d2afa3b5c8&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=7ecc80d9e2161e7d41d109945ff7e9cc&SegmentContainer=ts&MinSegments=2&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit" [2020-07-23 08:51:54.279 -07:00] [WRN] [67] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:01.5523037. "http://xxx.xxx.com/Sessions/Playing" [2020-07-23 08:51:54.630 -07:00] [WRN] [63] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:01.4816133. "http://xxx.xxx.com/Sessions/Playing/Progress" [2020-07-23 08:51:56.724 -07:00] [ERR] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "A task was canceled". URL: "http://xxx.xxx.com/videos/b728e151-1ba4-6457-fa78-338c914d4e66/hls1/main/24.ts?DeviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020&MediaSourceId=b728e1511ba46457fa78338c914d4e66&VideoCodec=h264&AudioCodec=ac3,eac3,mp3,aac&AudioStreamIndex=1&VideoBitrate=416000&AudioBitrate=384000&PlaySessionId=cbb582497bdd4461bc62e9d2afa3b5c8&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=7ecc80d9e2161e7d41d109945ff7e9cc&SegmentContainer=ts&MinSegments=2&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit" [2020-07-23 08:51:57.512 -07:00] [WRN] [75] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.8021014. "http://xxx.xxx.com/Sessions/Playing/Progress" [2020-07-23 08:52:03.311 -07:00] [WRN] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5728559. "http://xxx.xxx.com/Sessions/Playing/Progress" [2020-07-23 08:52:11.788 -07:00] [ERR] [73] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "A task was canceled". URL: "http://xxx.xxx.com/videos/b728e151-1ba4-6457-fa78-338c914d4e66/hls1/main/106.ts?DeviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020&MediaSourceId=b728e1511ba46457fa78338c914d4e66&VideoCodec=h264&AudioCodec=ac3,eac3,mp3,aac&AudioStreamIndex=1&VideoBitrate=416000&AudioBitrate=384000&PlaySessionId=cbb582497bdd4461bc62e9d2afa3b5c8&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=7ecc80d9e2161e7d41d109945ff7e9cc&SegmentContainer=ts&MinSegments=2&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit" [2020-07-23 08:52:13.347 -07:00] [WRN] [63] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.6169953. "http://xxx.xxx.com/Sessions/Playing/Progress" [2020-07-23 08:52:17.418 -07:00] [WRN] [64] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.6492846. "http://xxx.xxx.com/Sessions/Playing/Progress" [2020-07-23 08:52:22.647 -07:00] [INF] [62] MediaBrowser.Api.Playback.Hls.DynamicHlsService: FFMpeg exited with code 0 [2020-07-23 08:52:28.434 -07:00] [ERR] [64] Emby.Server.Implementations.HttpServer.HttpListenerHost: Could not find handler for "/socket" [2020-07-23 08:52:28.434 -07:00] [ERR] [64] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "Unable to find the specified file". URL: "http://xxx.xxx.com/socket?deviceId=18471AEC-1D7C-478F-8EBC-55A884EFB020" [2020-07-23 08:52:33.959 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: 0, MaxAlbumArtHeight: 0, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 120000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 192000, MaxStaticMusicBitrate: null, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp4,m4v", AudioCodec: "ac3,eac3,mp3,aac,dca,dts,flac", VideoCodec: "h264,h265,hevc,vc1", Type: Video }, DirectPlayProfile { Container: "mp3", AudioCodec: "mp3", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "mp4", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac,dca,dts,flac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: IsAnamorphic, Value: "true", IsRequired: False }, ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }, ProfileCondition { Condition: NotEquals, Property: IsInterlaced, Value: "true", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }], ResponseProfiles: [ResponseProfile { Container: "m4v", AudioCodec: null, VideoCodec: null, Type: Video, OrgPn: null, MimeType: "video/mp4", Conditions: [] }], SubtitleProfiles: [SubtitleProfile { Format: "vtt", Method: External, DidlMode: null, Language: null, Container: null }] } [2020-07-23 08:52:33.979 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: User policy for "DTB". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2020-07-23 08:52:33.979 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2643557, max bitrate: 800000 [2020-07-23 08:52:33.979 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2020-07-23 08:52:33.979 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", No direct play profiles found for Path: "/data/movies/aaa.mkv" [2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2643557, max bitrate: 800000 [2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", No direct play profiles found for Path: "/data/movies/aaa.mkv" [2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Bitrate exceeds DirectStream limit: media bitrate: 2643557, max bitrate: 800000 [2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "/data/movies/aaa.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2020-07-23 08:52:33.981 -07:00] [INF] [69] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", No direct play profiles found for Path: "/data/movies/aaa.mkv" [2020-07-23 08:52:34.231 -07:00] [INF] [74] MediaBrowser.Api.Playback.Hls.DynamicHlsService: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request [2020-07-23 08:52:34.232 -07:00] [INF] [74] MediaBrowser.Api.Playback.Hls.DynamicHlsService: /usr/lib/jellyfin-ffmpeg/ffmpeg -f matroska,webm -i file:"/data/movies/aaa.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 24 -maxrate 416000 -bufsize 832000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -g 90 -keyint_min 90 -sc_threshold 0 -vf "scale=trunc(min(max(iw\,ih*dar)\,640)/2)*2:trunc(ow/dar/2)*2" -start_at_zero -vsync -1 -codec:a:0 ac3 -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -f hls -max_delay 5000000 -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcodes/e2b28dbf3190d96234f5cda091bd4b75%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/e2b28dbf3190d96234f5cda091bd4b75.m3u8" [2020-07-23 08:52:35.840 -07:00] [WRN] [69] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.8225927. "http://xxx.xxx.com/Sessions/Playing" [2020-07-23 08:52:36.617 -07:00] [WRN] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:01.2275023. "http://xxx.xxx.com/Sessions/Playing/Progress" [2020-07-23 08:52:39.378 -07:00] [WRN] [63] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.7805527. "http://xxx.xxx.com/Sessions/Playing/Progress" [2020-07-23 08:52:45.673 -07:00] [WRN] [63] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.6461399. "http://xxx.xxx.com/Sessions/Playing/Progress" [2020-07-23 08:52:55.398 -07:00] [INF] [63] MediaBrowser.Api.Playback.Hls.DynamicHlsService: FFMpeg exited with code 0 [2020-07-23 08:52:56.000 -07:00] [WRN] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.9728568. "http://xxx.xxx.com/Sessions/Playing/Progress" [2020-07-23 08:52:57.719 -07:00] [INF] [71] Emby.Server.Implementations.HttpServer.HttpListenerHost: WS "::ffff:xxx.xxx.xxx.xxx" closed [2020-07-23 08:52:58.894 -07:00] [INF] [86] Emby.Server.Implementations.HttpServer.HttpListenerHost: WS "::ffff:xxx.xxx.xxx.xxx" request [2020-07-23 08:52:59.417 -07:00] [WRN] [69] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5321166. "http://xxx.xxx.xxx.xxx:8096/Sessions/Capabilities/Full" [2020-07-23 08:52:59.420 -07:00] [WRN] [73] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.5344141. "http://xxx.xxx.xxx.xxx:8096/DisplayPreferences/usersettings?userId=1a907430f1c54e099a41fb7b2a02e165&client=emby" [2020-07-23 08:52:59.562 -07:00] [WRN] [74] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "xxx.xxx.xxx.xxx". Time (slow): 0:00:00.6770294. "http://xxx.xxx.xxx.xxx:8096/Users/1a907430f1c54e099a41fb7b2a02e165" ``` **Screenshots** If there's something useful, I can capture it, but I don't know what that might be. **Additional context** I can flip back and forth between two docker instances, and 10.5.5 plays without issue, but 10.6.0 will not play.
OVERLORD added the bugregression labels 2026-02-06 21:30:20 +03:00
Author
Owner

@dathbe commented on GitHub (Jul 26, 2020):

This appears to have been corrected with 10.6.0-2 released 7/25/2020.

@dathbe commented on GitHub (Jul 26, 2020): This appears to have been corrected with 10.6.0-2 released 7/25/2020.
Author
Owner

@dathbe commented on GitHub (Jul 26, 2020):

I spoke too soon. There still seems to be an issue playing files from iOS on 10.6.0-2. The reason I thought it worked is because I tried with my iPad, which seems to work fine for some reason. The iPhone still will not cast even though I don't believe there is a separate iPad app (but maybe?). I completely uninstalled the app from my iPhone, rebooted, reinstalled, and am still having the same issue. This, thus, might be an issue with the iOS app, but it only happens on v10.6 of the server. 10.5.5 still works as expected. Here's is what I am able to determine with 10.6.0:

iPad 6th Gen - will play movies on device; will cast
iPad 7th Gen - will play movies on device; will cast
iPhone SE (2020) - will play movies on device, will NOT cast
iPhone 8 Plus - will play movies on device; will NOT cast
iPod Touch 7th Gen - will play movies on device; will NOT cast
iPad mini 2 - will NOT play movies on device; will NOT cast
iPad mini 4 - will NOT play movies on device; will NOT cast
iPad mini 4 (second one) - will NOT play movies on device; will NOT cast

I haven't checked each device, but in general things work as expected on 10.5.5.

And yes, my family has too many iDevices.

@dathbe commented on GitHub (Jul 26, 2020): I spoke too soon. There still seems to be an issue playing files from iOS on 10.6.0-2. The reason I thought it worked is because I tried with my iPad, which seems to work fine for some reason. The iPhone still will not cast even though I don't believe there is a separate iPad app (but maybe?). I completely uninstalled the app from my iPhone, rebooted, reinstalled, and am still having the same issue. This, thus, might be an issue with the iOS app, but it only happens on v10.6 of the server. 10.5.5 still works as expected. Here's is what I am able to determine with 10.6.0: iPad 6th Gen - will play movies on device; will cast iPad 7th Gen - will play movies on device; will cast iPhone SE (2020) - will play movies on device, will NOT cast iPhone 8 Plus - will play movies on device; will NOT cast iPod Touch 7th Gen - will play movies on device; will NOT cast iPad mini 2 - will NOT play movies on device; will NOT cast iPad mini 4 - will NOT play movies on device; will NOT cast iPad mini 4 (second one) - will NOT play movies on device; will NOT cast I haven't checked each device, but in general things work as expected on 10.5.5. And yes, my family has too many iDevices.
Author
Owner

@dathbe commented on GitHub (Jul 28, 2020):

I suspect this will not come as a surprise because I don't think it was the point of the update, but 10.6.1 has the same issue.

@dathbe commented on GitHub (Jul 28, 2020): I suspect this will not come as a surprise because I don't think it was the point of the update, but 10.6.1 has the same issue.
Author
Owner

@thornbill commented on GitHub (Jul 29, 2020):

@dathbe could you provide the iOS versions for the devices above? Thanks!

@thornbill commented on GitHub (Jul 29, 2020): @dathbe could you provide the iOS versions for the devices above? Thanks!
Author
Owner

@dathbe commented on GitHub (Jul 29, 2020):

iPad 6th Gen - 13.5.1
iPad 7th Gen - 13.5.1
iPhone SE (2020) - 13.5.1
iPhone 8 Plus - 13.3.1
iPod Touch 7th Gen - 13.5.1
iPad mini 2 - 12.4.6
iPad mini 4 - 13.5.1
iPad mini 4 (second one) - 13.5.1

*updated at 3:15pm PT to add remaining versions.

@dathbe commented on GitHub (Jul 29, 2020): iPad 6th Gen - 13.5.1 iPad 7th Gen - 13.5.1 iPhone SE (2020) - 13.5.1 iPhone 8 Plus - 13.3.1 iPod Touch 7th Gen - 13.5.1 iPad mini 2 - 12.4.6 iPad mini 4 - 13.5.1 iPad mini 4 (second one) - 13.5.1 *updated at 3:15pm PT to add remaining versions.
Author
Owner

@dathbe commented on GitHub (Aug 3, 2020):

Fingers cross, but I THINK this has been fixed with 10.6.2-1. A very brief test with my iPhone was working. I'll test it more later.

@dathbe commented on GitHub (Aug 3, 2020): Fingers cross, but I *THINK* this has been fixed with 10.6.2-1. A very brief test with my iPhone was working. I'll test it more later.
Author
Owner

@dathbe commented on GitHub (Aug 7, 2020):

So far so good. I'm going to call this one fixed and close the issue. Thanks!

@dathbe commented on GitHub (Aug 7, 2020): So far so good. I'm going to call this one fixed and close the issue. Thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#1930