jellyfin-androidtv icon indicating copy to clipboard operation
jellyfin-androidtv copied to clipboard

Player error: "Invalid zero channel mask"

Open justinas opened this issue 11 months ago • 6 comments

Describe the bug

  1. Try to play a dual-audio media file (see ffprobe output)
  2. "Player error encountered. Will re-try", and then "Too many errors. Giving up" toasts appear

The error is inconsistent, e.g. sometimes the file will play at first (after maybe one error message), but when I try to change the audio track to the second one, the player crashes in the same manner.

I am able to watch this item after first changing to my preferred audio and subtitle tracks via Jellyfin Web, then restarting the AndroidTV app and playing the episode.

Logs

(logcat, since I don't seem to have any androidtv logs on my Jellyfin dashboard)

09-15 01:13:42.279 16237 16237 D jellyfin-apiclient: Adding request to queue: http://***.***.***.***:8096/Shows/eb555a92-dc75-d710-ed03-375a4dccac18/Episodes?Fields=MediaSources%2CMediaStreams%2CPath%2CChapters%2COverview%2CPrimaryImageAspectRatio%2CChildCount&UserId=2d175700-4ca2-4c6a-8a54-241cf2bb2390&SeasonId=01e0b569-aa9b-8d01-8200-d0eeaf7fa3c1&IsMissing=false&IsVirtualUnaired=false&format=json
09-15 01:13:42.284 16237 16326 D TrafficStats: tagSocket(6) with statsTag=0x85bc0e79, statsUid=-1
09-15 01:13:42.342 16237 16237 I jellyfin-apiclient: Response received from: http://***.***.***.***:8096/Shows/eb555a92-dc75-d710-ed03-375a4dccac18/Episodes?Fields=MediaSources%2CMediaStreams%2CPath%2CChapters%2COverview%2CPrimaryImageAspectRatio%2CChildCount&UserId=2d175700-4ca2-4c6a-8a54-241cf2bb2390&SeasonId=01e0b569-aa9b-8d01-8200-d0eeaf7fa3c1&IsMissing=false&IsVirtualUnaired=false&format=json
09-15 01:13:42.381 16237 16237 D NavigationRepositoryImpl: Navigating to Fragment(fragment=class org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment (Kotlin reflection is not available), arguments=Bundle[{Position=0}]) (via navigate function)
09-15 01:13:42.390 16237 16237 I PlaybackController: ** Available display refresh rates:
09-15 01:13:42.390 16237 16237 D PlaybackController: display mode 1188 - [email protected]
09-15 01:13:42.391 16237 16237 D PlaybackController: display mode 1358 - [email protected]
09-15 01:13:42.391 16237 16237 D PlaybackController: display mode 1359 - [email protected]
09-15 01:13:42.392 16237 16237 D PlaybackController: display mode 1360 - [email protected]
09-15 01:13:42.392 16237 16237 D PlaybackController: display mode 1361 - [email protected]
09-15 01:13:42.392 16237 16237 D PlaybackController: display mode 1362 - [email protected]
09-15 01:13:42.393 16237 16237 D PlaybackController: display mode 1363 - [email protected]
09-15 01:13:42.394 16237 16237 D PlaybackController: display mode 1364 - [email protected]
09-15 01:13:42.394 16237 16237 D PlaybackController: display mode 1365 - [email protected]
09-15 01:13:42.395 16237 16237 D PlaybackController: display mode 1366 - [email protected]
09-15 01:13:42.395 16237 16237 D PlaybackController: display mode 1367 - [email protected]
09-15 01:13:42.395 16237 16237 D PlaybackController: display mode 1368 - [email protected]
09-15 01:13:42.396 16237 16237 D PlaybackController: display mode 1369 - [email protected]
09-15 01:13:42.397 16237 16237 D PlaybackController: display mode 1370 - [email protected]
09-15 01:13:42.397 16237 16237 D PlaybackController: display mode 1371 - [email protected]
09-15 01:13:42.398 16237 16237 D PlaybackController: display mode 1372 - [email protected]
09-15 01:13:42.398 16237 16237 D PlaybackController: display mode 1373 - [email protected]
09-15 01:13:42.398 16237 16237 D PlaybackController: display mode 1374 - [email protected]
09-15 01:13:42.399 16237 16237 D PlaybackController: display mode 1375 - [email protected]
09-15 01:13:42.399 16237 16237 D PlaybackController: display mode 1376 - [email protected]
09-15 01:13:42.400 16237 16237 D PlaybackController: display mode 1377 - [email protected]
09-15 01:13:42.401 16237 16237 D PlaybackController: display mode 1378 - [email protected]
09-15 01:13:42.401 16237 16237 D PlaybackController: display mode 1379 - [email protected]
09-15 01:13:42.402 16237 16237 D PlaybackController: display mode 1380 - [email protected]
09-15 01:13:42.402 16237 16237 D PlaybackController: display mode 1381 - [email protected]
09-15 01:13:42.402 16237 16237 D PlaybackController: display mode 1382 - [email protected]
09-15 01:13:42.403 16237 16237 D PlaybackController: display mode 1383 - [email protected]
09-15 01:13:42.404 16237 16237 D PlaybackController: display mode 1384 - [email protected]
09-15 01:13:42.405 16237 16237 D PlaybackController: display mode 1385 - [email protected]
09-15 01:13:42.447 16237 16237 I ExoPlayerImpl: Init d3117a7 [ExoPlayerLib/2.19.1] [wade, Dynalink TV Box, askey, 33]
09-15 01:13:42.455 16237 16237 I DefaultRenderersFactory: Loaded FfmpegAudioRenderer.
09-15 01:13:42.462  3419  3449 I EffectsFactory: EffectCreate() create_effect
09-15 01:13:42.472  3419  3449 I EffectsFactory: EffectCreate() create_effect
09-15 01:13:42.472  3419  3449 E EffectDP: DP_reset(0xf2f000f0): null DynamicsProcessing
09-15 01:13:42.473  3419  3449 E EffectDP: DP_reset(0xf2f000f0): null DynamicsProcessing
09-15 01:13:42.473  3419  3449 E EffectDP: DP_reset(0xf2f000f0): null DynamicsProcessing
09-15 01:13:42.474  3419  3449 E EffectDP: DP_reset(0xf2f000f0): null DynamicsProcessing
09-15 01:13:42.498 16237 16237 D PlaybackController: Play called from state: IDLE with pos: 0 and sub index: null
09-15 01:13:42.498 16237 16237 D PlaybackController: Max bitrate is: 120000000
09-15 01:13:42.505 16237 16237 D jellyfin-apiclient: Adding request to queue: http://***.***.***.***:8096/Items/534939b3-e1ad-a702-ae88-62c63dbfa213/PlaybackInfo?format=json
09-15 01:13:42.511 16237 16237 W AudioManager: Use of stream types is deprecated for operations other than volume control
09-15 01:13:42.511 16237 16237 W AudioManager: See the documentation of requestAudioFocus() for what to use instead with android.media.AudioAttributes to qualify your playback use case
09-15 01:13:42.512  3673 17662 I MediaFocusControl: requestAudioFocus() from uid/pid 10072/16237 AA=USAGE_MEDIA/CONTENT_TYPE_MUSIC clientId=android.media.AudioManager@836c2org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment$6@6f4ea68 callingPack=org.jellyfin.androidtv req=1 flags=0x0 sdk=33
09-15 01:13:42.513  3673 17662 I AudioService.FadeOutManager: unfadeOutUid() uid:10072
09-15 01:13:42.545 16237 16237 I jellyfin-apiclient: Response received from: http://***.***.***.***:8096/Items/534939b3-e1ad-a702-ae88-62c63dbfa213/PlaybackInfo?format=json
09-15 01:13:42.547 16237 16237 I PlaybackController: VLC would direct stream
09-15 01:13:42.549 16237 16237 D jellyfin-apiclient: Adding request to queue: http://***.***.***.***:8096/Items/534939b3-e1ad-a702-ae88-62c63dbfa213/PlaybackInfo?format=json
09-15 01:13:42.591  3439  4689 E MesonHwc: checkLayerValidate fb:245 has no buffer
09-15 01:13:42.595 16237 16237 I jellyfin-apiclient: Response received from: http://***.***.***.***:8096/Items/534939b3-e1ad-a702-ae88-62c63dbfa213/PlaybackInfo?format=json
09-15 01:13:42.597 16237 16237 I PlaybackController: Internal player would transcode
09-15 01:13:42.598 16237 16237 I PlaybackController: Explicit deinterlacing will NOT be used
09-15 01:13:42.598 16237 16237 I PlaybackController: User preferred player is: EXOPLAYER
09-15 01:13:42.599 16237 16237 I PlaybackController: Will use internal player
09-15 01:13:42.610 16237 16237 I VideoManager: Network buffer set to 600
09-15 01:13:42.613 16237 16237 D VideoManager: Surface attached
09-15 01:13:42.615 16237 16237 D PlaybackController: default audio index set to 1
09-15 01:13:42.615 16237 16237 D PlaybackController: default audio index set to 1 remote default 1
09-15 01:13:42.616 16237 16237 D PlaybackController: default sub index set to 3 remote default 3
09-15 01:13:42.616 16237 16237 D PlaybackController: stream started with burnt in subs
09-15 01:13:42.616 16237 16237 I PlaybackController: Playing back in native mode.
09-15 01:13:42.617 16237 16237 D PlaybackController: trying to find display mode for video: [email protected]
09-15 01:13:42.618 16237 16237 D PlaybackController: considering display mode: 1188 - [email protected]
09-15 01:13:42.618 16237 16237 D PlaybackController: considering display mode: 1358 - [email protected]
09-15 01:13:42.619 16237 16237 D PlaybackController: considering display mode: 1359 - [email protected]
09-15 01:13:42.619 16237 16237 D PlaybackController: considering display mode: 1360 - [email protected]
09-15 01:13:42.619 16237 16237 D PlaybackController: considering display mode: 1361 - [email protected]
09-15 01:13:42.620 16237 16237 D PlaybackController: considering display mode: 1362 - [email protected]
09-15 01:13:42.620 16237 16237 D PlaybackController: considering display mode: 1363 - [email protected]
09-15 01:13:42.621 16237 16237 D PlaybackController: considering display mode: 1364 - [email protected]
09-15 01:13:42.621 16237 16237 D PlaybackController: considering display mode: 1365 - [email protected]
09-15 01:13:42.622 16237 16237 D PlaybackController: considering display mode: 1366 - [email protected]
09-15 01:13:42.622 16237 16237 D PlaybackController: considering display mode: 1367 - [email protected]
09-15 01:13:42.622 16237 16237 D PlaybackController: considering display mode: 1368 - [email protected]
09-15 01:13:42.623 16237 16237 D PlaybackController: considering display mode: 1369 - [email protected]
09-15 01:13:42.623 16237 16237 D PlaybackController: considering display mode: 1370 - [email protected]
09-15 01:13:42.624 16237 16237 D PlaybackController: qualifying display mode: 1370 - [email protected]
09-15 01:13:42.624 16237 16237 D PlaybackController: preferring mode: 1370 - [email protected]
09-15 01:13:42.625 16237 16237 D PlaybackController: considering display mode: 1371 - [email protected]
09-15 01:13:42.625 16237 16237 D PlaybackController: considering display mode: 1372 - [email protected]
09-15 01:13:42.626 16237 16237 D PlaybackController: considering display mode: 1373 - [email protected]
09-15 01:13:42.626 16237 16237 D PlaybackController: considering display mode: 1374 - [email protected]
09-15 01:13:42.626 16237 16237 D PlaybackController: considering display mode: 1375 - [email protected]
09-15 01:13:42.627 16237 16237 D PlaybackController: qualifying display mode: 1375 - [email protected]
09-15 01:13:42.627 16237 16237 D PlaybackController: preferring mode: 1375 - [email protected]
09-15 01:13:42.628 16237 16237 D PlaybackController: considering display mode: 1376 - [email protected]
09-15 01:13:42.628 16237 16237 D PlaybackController: considering display mode: 1377 - [email protected]
09-15 01:13:42.629 16237 16237 D PlaybackController: qualifying display mode: 1377 - [email protected]
09-15 01:13:42.629 16237 16237 D PlaybackController: considering display mode: 1378 - [email protected]
09-15 01:13:42.630 16237 16237 D PlaybackController: considering display mode: 1379 - [email protected]
09-15 01:13:42.630 16237 16237 D PlaybackController: considering display mode: 1380 - [email protected]
09-15 01:13:42.631 16237 16237 D PlaybackController: considering display mode: 1381 - [email protected]
09-15 01:13:42.631 16237 16237 D PlaybackController: considering display mode: 1382 - [email protected]
09-15 01:13:42.631 16237 16237 D PlaybackController: considering display mode: 1383 - [email protected]
09-15 01:13:42.632 16237 16237 D PlaybackController: considering display mode: 1384 - [email protected]
09-15 01:13:42.632 16237 16237 D PlaybackController: considering display mode: 1385 - [email protected]
09-15 01:13:42.633 16237 16237 I PlaybackController: *** Best refresh mode is: 1375 - 3840x2160/23.976025
09-15 01:13:42.633 16237 16237 I PlaybackController: Display is already in best mode
09-15 01:13:42.634 16237 16237 D VideoManager: Setting playback speed: 1.000000
09-15 01:13:42.638 16237 16237 I VideoManager: Video path set to: http://***.***.***.***:8096/videos/534939b3-e1ad-a702-ae88-62c63dbfa213/master.m3u8?DeviceId=63e627b541a97d74c30156174ca8f68df51a9a7b&MediaSourceId=534939b3e1ada702ae8862c63dbfa213&VideoCodec=hevc,h264,hevc&AudioCodec=ac3&AudioStreamIndex=1&SubtitleStreamIndex=3&VideoBitrate=119360000&AudioBitrate=640000&AudioSampleRate=48000&MaxFramerate=23.976025&PlaySessionId=03425b813b554e4c9142accd382e7731&api_key=8c35eb457eb1447790e1169a521948a5&SubtitleMethod=Encode&RequireAvc=false&Tag=66353cd0318d3b9c1e7a071c03b4c572&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=SubtitleCodecNotSupported
09-15 01:13:42.641 16237 16237 D VideoManager: Caught player timeline change - reason: PLAYLIST_CHANGED
09-15 01:13:42.642 16237 16237 D VideoManager: Player is buffering
09-15 01:13:42.643 16237 16237 D jellyfin-apiclient: Adding request to queue: http://***.***.***.***:8096/Sessions/Playing
09-15 01:13:42.643 16237 16237 I ReportingHelper: Playback of Phantom of Falsehood started.
09-15 01:13:42.646 16237   945 D TrafficStats: tagSocket(120) with statsTag=0xffffffff, statsUid=-1
09-15 01:13:42.675  3439  4689 E MesonHwc: checkLayerValidate fb:245 has no buffer
09-15 01:13:42.716  3439  4689 E MesonHwc: checkLayerValidate fb:245 has no buffer
09-15 01:13:42.719 16237 16237 I jellyfin-apiclient: Response received from: http://***.***.***.***:8096/Sessions/Playing
09-15 01:13:42.759  3439  4689 E MesonHwc: checkLayerValidate fb:758 has no buffer
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal: Playback error
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:   com.google.android.exoplayer2.ExoPlaybackException: Unexpected runtime error
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:668)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at android.os.Handler.dispatchMessage(Handler.java:102)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at android.os.Looper.loopOnce(Looper.java:201)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at android.os.Looper.loop(Looper.java:288)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at android.os.HandlerThread.run(HandlerThread.java:67)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:   Caused by: java.lang.IllegalArgumentException: Invalid zero channel mask
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at android.media.AudioFormat$Builder.setChannelMask(AudioFormat.java:1223)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.audio.AudioCapabilities$Api29.getMaxSupportedChannelCountForPassthrough(AudioCapabilities.java:419)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.audio.AudioCapabilities.getMaxSupportedChannelCountForPassthrough(AudioCapabilities.java:302)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.audio.AudioCapabilities.getEncodingAndChannelConfigForPassthrough(AudioCapabilities.java:240)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.audio.AudioCapabilities.isPassthroughPlaybackSupported(AudioCapabilities.java:199)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.audio.DefaultAudioSink.getFormatSupport(DefaultAudioSink.java:620)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.audio.DefaultAudioSink.supportsFormat(DefaultAudioSink.java:599)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.audio.MediaCodecAudioRenderer.supportsFormat(MediaCodecAudioRenderer.java:300)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.supportsFormat(MediaCodecRenderer.java:459)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.trackselection.MappingTrackSelector.findRenderer(MappingTrackSelector.java:513)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.trackselection.MappingTrackSelector.selectTracks(MappingTrackSelector.java:380)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.MediaPeriodHolder.selectTracks(MediaPeriodHolder.java:246)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.MediaPeriodHolder.handlePrepared(MediaPeriodHolder.java:194)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handlePeriodPrepared(ExoPlayerImplInternal.java:2327)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541)
09-15 01:13:42.772 16237   944 E ExoPlayerImplInternal:       ... 4 more
09-15 01:13:42.799  3439  4689 E MesonHwc: checkLayerValidate fb:758 has no buffer
09-15 01:13:42.803 16237 16237 D VideoManager: Caught player timeline change - reason: SOURCE_UPDATE
09-15 01:13:42.805 16237 16237 D VideoManager: Caught player timeline change - reason: SOURCE_UPDATE
09-15 01:13:42.806 16237 16237 E VideoManager: ***** Got error from player
09-15 01:13:42.806 16237 16237 E PlaybackController: Playback error - Failed to load video
09-15 01:13:42.810 16237 16237 I PlaybackController: Player error encountered - retrying
09-15 01:13:42.810 16237 16237 D PlaybackController: stop called at 0
09-15 01:13:42.835  3853  4090 W Parcel  : Expecting binder but got null!
09-15 01:13:42.839  3673 21728 D CoreBackPreview: Window{753df7b u0 Toast}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@b88bdf1, mPriority=0}
09-15 01:13:42.842  3439  4689 E MesonHwc: checkLayerValidate fb:758 has no buffer
09-15 01:13:42.850  3853  4090 E OpenGLRenderer: Unable to match the desired swap behavior.
09-15 01:13:42.884  3439  4689 E MesonHwc: checkLayerValidate fb:758 has no buffer
09-15 01:13:42.925  3439  4689 E MesonHwc: checkLayerValidate fb:758 has no buffer
09-15 01:13:42.961 16237 16237 I jellyfin-apiclient: ReportPlaybackStopped: Item 534939b3-e1ad-a702-ae88-62c63dbfa213, Ticks: 0
09-15 01:13:42.961 16237 16237 D jellyfin-apiclient: Adding request to queue: http://***.***.***.***:8096/Sessions/Playing/Stopped
09-15 01:13:42.962 16237 16237 D PlaybackController: Play called from state: IDLE with pos: 0 and sub index: null
09-15 01:13:42.962 16237 16237 D PlaybackController: Max bitrate is: 120000000
09-15 01:13:42.966  3439  4689 E MesonHwc: checkLayerValidate fb:758 has no buffer
09-15 01:13:42.972 16237 16237 D jellyfin-apiclient: Adding request to queue: http://***.***.***.***:8096/Items/534939b3-e1ad-a702-ae88-62c63dbfa213/PlaybackInfo?format=json
09-15 01:13:42.986 16237 16237 I jellyfin-apiclient: Response received from: http://***.***.***.***:8096/Sessions/Playing/Stopped
09-15 01:13:42.986 16237 16237 I jellyfin-apiclient: Response received from: http://***.***.***.***:8096/Items/534939b3-e1ad-a702-ae88-62c63dbfa213/PlaybackInfo?format=json
09-15 01:13:42.988 16237 16237 I PlaybackController: VLC would direct stream
09-15 01:13:42.990 16237 16237 D jellyfin-apiclient: Adding request to queue: http://***.***.***.***:8096/Items/534939b3-e1ad-a702-ae88-62c63dbfa213/PlaybackInfo?format=json
09-15 01:13:43.008  3439  4689 E MesonHwc: checkLayerValidate fb:758 has no buffer
09-15 01:13:43.012  5401  5462 D LoungeService: New command:
09-15 01:13:43.012  5401  5462 D LoungeService: 16
09-15 01:13:43.012  5401  5462 D LoungeService: [[8,["noop"]]
09-15 01:13:43.012  5401  5462 D LoungeService: ]
09-15 01:13:43.014  5401  5462 D JsonPathTypeAdapter: CommandItem: Path not found: $[1][1].key
09-15 01:13:43.015  5401  5462 D JsonPathTypeAdapter: CommandItem: Path not found: $[1][1]
09-15 01:13:43.015  5401  5462 D JsonPathTypeAdapter: CommandItem: Path not found: $[1][1]
09-15 01:13:43.016  5401  5462 D JsonPathTypeAdapter: CommandItem: Path not found: $[1][1]
09-15 01:13:43.016  5401  5462 D JsonPathTypeAdapter: CommandItem: Path not found: $[1][1]
09-15 01:13:43.017  5401  5462 D JsonPathTypeAdapter: CommandItem: Path not found: $[1][1]
09-15 01:13:43.018  5401  5401 D RemoteController: Is remote connected: false, command type: 11
09-15 01:13:43.023 16237 16237 D LegacyMediaManager: Removed event listener.  Total listeners: 3
09-15 01:13:43.029 16237 16237 I jellyfin-apiclient: Response received from: http://***.***.***.***:8096/Items/534939b3-e1ad-a702-ae88-62c63dbfa213/PlaybackInfo?format=json
09-15 01:13:43.031 16237 16237 I PlaybackController: Internal player would transcode
09-15 01:13:43.031 16237 16237 I PlaybackController: Explicit deinterlacing will NOT be used

(the relevant stack trace and other messages then repeat as the playback is retried)

FFmpeg logs

No response

Media info of the file

ffprobe version 5.1.3 Copyright (c) 2007-2022 the FFmpeg developers
  built with gcc 12.2.0 (GCC)
  configuration: --disable-static --prefix=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-5.1.3 --target_os=linux --arch=x86_64 --pkg-config=pkg-config --enable-gpl --enable-version3 --disable-nonfree --enable-shared --enable-pic --disable-small --enable-runtime-cpudetect --enable-gray --enable-swscale-alpha --enable-hardcoded-tables --enable-safe-bitstream-reader --enable-pthreads --disable-w32threads --disable-os2threads --enable-network --enable-pixelutils --datadir=/nix/store/r7br7jvdnfms3l8f9bqvlhy06w84kpnp-ffmpeg-full-5.1.3-data/share/ffmpeg --enable-ffmpeg --enable-ffplay --enable-ffprobe --bindir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-5.1.3-bin/bin --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-avutil --enable-postproc --enable-swresample --enable-swscale --libdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-5.1.3-lib/lib --incdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-5.1.3-dev/include --enable-doc --enable-htmlpages --enable-manpages --mandir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-5.1.3-man/share/man --enable-podpages --enable-txtpages --docdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-5.1.3-doc/share/doc/ffmpeg --enable-alsa --enable-bzlib --enable-libcelt --enable-cuda --enable-cuda-llvm --enable-libdav1d --disable-libfdk-aac --disable-libflite --enable-fontconfig --enable-libfreetype --enable-frei0r --enable-libfribidi --enable-libgme --enable-gnutls --enable-libgsm --enable-ladspa --enable-libmp3lame --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdc1394 --enable-libdrm --enable-iconv --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmysofa --enable-libopus --enable-libplacebo --enable-librsvg --enable-libsrt --enable-libssh --disable-libtensorflow --enable-libtheora --enable-libv4l2 --enable-v4l2-m2m --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvmaf --enable-libvpx --enable-libwebp --enable-xlib --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape --enable-libxml2 --enable-lzma --enable-cuvid --enable-nvdec --enable-nvenc --enable-openal --enable-opencl --enable-libopencore-amrnb --disable-opengl --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libpulse --enable-librav1e --enable-libsvtav1 --disable-librtmp --enable-sdl2 --enable-libsoxr --enable-libspeex --enable-libvidstab --enable-libvo-amrwbenc --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-libzimg --enable-zlib --enable-vulkan --enable-libglslang --enable-libsmbclient --disable-debug --enable-optimizations --disable-extra-warnings --disable-stripping
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, matroska,webm:
  Metadata:
    encoder         : libebml v1.4.2 + libmatroska v1.6.4
    creation_time   : 2021-04-03T17:30:40.000000Z
  Duration: 00:24:28.06, start: 0.000000, bitrate: 4159 kb/s
  Chapters:
    Chapter #0:0: start 0.000000, end 209.042156
      Metadata:
        title           : Prologue
    Chapter #0:1: start 209.042156, end 298.965333
      Metadata:
        title           : Opening
    Chapter #0:2: start 298.965333, end 720.010956
      Metadata:
        title           : Part A
    Chapter #0:3: start 720.010956, end 1325.991333
      Metadata:
        title           : Part B
    Chapter #0:4: start 1325.991333, end 1415.914489
      Metadata:
        title           : Ending
    Chapter #0:5: start 1415.914489, end 1468.064000
      Metadata:
        title           : Part C
  Stream #0:0(jpn): Video: hevc (Main 10), yuv420p10le(tv), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
    Metadata:
      title           : H.265/HEVC Video (10bit)
      BPS-eng         : 3260620
      DURATION-eng    : 00:24:27.967000000
      NUMBER_OF_FRAMES-eng: 35196
      NUMBER_OF_BYTES-eng: 598310414
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-04-03 17:30:40
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
    Metadata:
      title           : English: 5.1 Surround (AC3 640Kbps)
      BPS-eng         : 640000
      DURATION-eng    : 00:24:28.064000000
      NUMBER_OF_FRAMES-eng: 45877
      NUMBER_OF_BYTES-eng: 117445120
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-04-03 17:30:40
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:2(jpn): Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
    Metadata:
      title           : Japanese: Dolby Surround (AC3 256Kbps)
      BPS-eng         : 256000
      DURATION-eng    : 00:24:28.064000000
      NUMBER_OF_FRAMES-eng: 45877
      NUMBER_OF_BYTES-eng: 46978048
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-04-03 17:30:40
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:3(eng): Subtitle: ass (default)
    Metadata:
      title           : English Signs & Songs (Official Subs)
      BPS-eng         : 70
      DURATION-eng    : 00:01:27.420000000
      NUMBER_OF_FRAMES-eng: 9
      NUMBER_OF_BYTES-eng: 767
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-04-03 17:30:40
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:4(eng): Subtitle: ass
    Metadata:
      title           : English Subtitles (Official Subs)
      BPS-eng         : 76
      DURATION-eng    : 00:23:56.600000000
      NUMBER_OF_FRAMES-eng: 269
      NUMBER_OF_BYTES-eng: 13794
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-04-03 17:30:40
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:5: Attachment: ttf
    Metadata:
      filename        : jesaya free.ttf
      mimetype        : application/x-truetype-font
Unsupported codec with id 98304 for input stream 5

Application version

0.16.0-beta.3

Device information

Dynalink TV Box (wade)

Android version

LineageOS 20 (https://forum.xda-developers.com/t/official-unofficial-lineageos-20-for-amlogic-gxl-gxm-g12-sm1-ne-family-devices.4534935/)

Jellyfin server version

10.8.10

justinas avatar Sep 14 '23 22:09 justinas

The app tries to transcode your media but it fails to play. Can you look if there are any issues with the transcode in the ffmpeg logs?

nielsvanvelzen avatar Sep 16 '23 19:09 nielsvanvelzen

The player seems to crash before ffmpeg launches at all. There is no FFmpeg.transcode-... log file produced. The main Jellyfin log shows the following:

Log file
[2023-09-16 20:10:02.346 +00:00] [DBG] [160] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.346 +00:00] [DBG] [160] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.545 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.545 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.548 +00:00] [DBG] [280] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-libVLC", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv", AudioCodec: "aac,mp3,mp2,ac3,eac3,wma,wmav2,dca,dts,pcm,pcm_s16le,pcm_s24le,opus,flac,truehd", VideoCodec: null, Type: Video }, DirectPlayProfile { Container: "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "mkv", Type: Video, VideoCodec: "h264", AudioCodec: "aac,mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [ContainerProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoCodecTag, Value: "xvid", IsRequired: False }], Container: "avi" }], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "none", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "srt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "smi", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] }
[2023-09-16 20:10:02.549 +00:00] [INF] [280] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "justinas". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-09-16 20:10:02.549 +00:00] [DBG] [280] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-libVLC", Path: "<...>", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2023-09-16 20:10:02.549 +00:00] [DBG] [280] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-libVLC", Path: "<...>", PlayMethod: DirectPlay, AudioStreamIndex: 1, SubtitleStreamIndex: 3, Reasons: 0
[2023-09-16 20:10:02.549 +00:00] [INF] [280] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-libVLC", Path="<...>?MediaSourceId=534939b3e1ada702ae8862c63dbfa213&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=1&SubtitleStreamIndex=3&api_key=<token>&SubtitleMethod=Embed&Tag=66353cd0318d3b9c1e7a071c03b4c572"
[2023-09-16 20:10:02.580 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.580 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.581 +00:00] [DBG] [156] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-ExoPlayer", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,mp4,webm", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video,av1", Type: Video }, DirectPlayProfile { Container: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw,mpa,flac,wav,wma,ogg,oga,webma,ape,opus", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "hevc,h264", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dts,mlp,pcm_alaw,pcm_mulaw", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "12", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1200", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "4", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1900", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "none", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: Equals, Property: VideoProfile, Value: "none", IsRequired: False }], ApplyConditions: [], Codec: "av1", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvbsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] }
[2023-09-16 20:10:02.583 +00:00] [INF] [156] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "justinas". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-09-16 20:10:02.583 +00:00] [DBG] [156] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-ExoPlayer", Path: "<...>", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2023-09-16 20:10:02.583 +00:00] [DBG] [156] Jellyfin.Api.Helpers.MediaInfoHelper: Not eligible for DirectPlay due to unsupported subtitles
[2023-09-16 20:10:02.583 +00:00] [DBG] [156] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-ExoPlayer", Path: "<...>", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: 3, Reasons: SubtitleCodecNotSupported
[2023-09-16 20:10:02.583 +00:00] [DBG] [156] Jellyfin.Api.Helpers.MediaInfoHelper: Transcode Result for Profile: "AndroidTV-ExoPlayer", Path: "<...>", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: 3, Reasons: SubtitleCodecNotSupported
[2023-09-16 20:10:02.583 +00:00] [INF] [156] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="<...>", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=SubtitleCodecNotSupported ) "media:/videos/534939b3-e1ad-a702-ae88-62c63dbfa213/master.m3u8?MediaSourceId=534939b3e1ada702ae8862c63dbfa213&VideoCodec=hevc,h264,hevc&AudioCodec=ac3&AudioStreamIndex=1&SubtitleStreamIndex=3&VideoBitrate=119360000&AudioBitrate=640000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&RequireAvc=false&Tag=66353cd0318d3b9c1e7a071c03b4c572&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=SubtitleCodecNotSupported"
[2023-09-16 20:10:02.645 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.650 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.651 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.651 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.662 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.663 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.964 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.965 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.965 +00:00] [DBG] [280] Jellyfin.Api.Controllers.PlaystateController: ReportPlaybackStopped PlaySessionId: "d01a9cc9b80f49e88041049a0c798f1e"
[2023-09-16 20:10:02.968 +00:00] [INF] [280] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.16.0-beta.3" playing "<...>". Stopped at "297222" ms
[2023-09-16 20:10:02.971 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.971 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:02.974 +00:00] [DBG] [156] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-libVLC", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv", AudioCodec: "aac,mp3,mp2,ac3,eac3,wma,wmav2,dca,dts,pcm,pcm_s16le,pcm_s24le,opus,flac,truehd", VideoCodec: null, Type: Video }, DirectPlayProfile { Container: "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "mkv", Type: Video, VideoCodec: "h264", AudioCodec: "aac,mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [ContainerProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoCodecTag, Value: "xvid", IsRequired: False }], Container: "avi" }], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "none", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "srt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "smi", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] }
[2023-09-16 20:10:02.981 +00:00] [INF] [156] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "justinas". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-09-16 20:10:02.981 +00:00] [DBG] [156] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-libVLC", Path: "<...>", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2023-09-16 20:10:02.981 +00:00] [DBG] [156] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-libVLC", Path: "<...>", PlayMethod: DirectPlay, AudioStreamIndex: 1, SubtitleStreamIndex: 3, Reasons: 0
[2023-09-16 20:10:02.981 +00:00] [INF] [156] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-libVLC", Path="<...>?MediaSourceId=534939b3e1ada702ae8862c63dbfa213&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=1&SubtitleStreamIndex=3&api_key=<token>&SubtitleMethod=Embed&Tag=66353cd0318d3b9c1e7a071c03b4c572"
[2023-09-16 20:10:03.021 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.021 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.022 +00:00] [DBG] [280] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-ExoPlayer", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,mp4,webm", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video,av1", Type: Video }, DirectPlayProfile { Container: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw,mpa,flac,wav,wma,ogg,oga,webma,ape,opus", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "hevc,h264", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dts,mlp,pcm_alaw,pcm_mulaw", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "12", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1200", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "4", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1900", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "none", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: Equals, Property: VideoProfile, Value: "none", IsRequired: False }], ApplyConditions: [], Codec: "av1", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvbsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] }
[2023-09-16 20:10:03.024 +00:00] [INF] [280] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "justinas". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-09-16 20:10:03.024 +00:00] [DBG] [280] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-ExoPlayer", Path: "<...>", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2023-09-16 20:10:03.024 +00:00] [DBG] [280] Jellyfin.Api.Helpers.MediaInfoHelper: Not eligible for DirectPlay due to unsupported subtitles
[2023-09-16 20:10:03.024 +00:00] [DBG] [280] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-ExoPlayer", Path: "<...>", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: 3, Reasons: SubtitleCodecNotSupported
[2023-09-16 20:10:03.024 +00:00] [DBG] [280] Jellyfin.Api.Helpers.MediaInfoHelper: Transcode Result for Profile: "AndroidTV-ExoPlayer", Path: "<...>", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: 3, Reasons: SubtitleCodecNotSupported
[2023-09-16 20:10:03.024 +00:00] [INF] [280] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="<...>", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=SubtitleCodecNotSupported ) "media:/videos/534939b3-e1ad-a702-ae88-62c63dbfa213/master.m3u8?MediaSourceId=534939b3e1ada702ae8862c63dbfa213&VideoCodec=hevc,h264,hevc&AudioCodec=ac3&AudioStreamIndex=1&SubtitleStreamIndex=3&VideoBitrate=119360000&AudioBitrate=640000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&RequireAvc=false&Tag=66353cd0318d3b9c1e7a071c03b4c572&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=SubtitleCodecNotSupported"
[2023-09-16 20:10:03.091 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.091 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.092 +00:00] [DBG] [190] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.092 +00:00] [DBG] [190] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.102 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.102 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.361 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.361 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.361 +00:00] [DBG] [280] Jellyfin.Api.Controllers.PlaystateController: ReportPlaybackStopped PlaySessionId: "eeeb104109874169b552bb799cbe66ff"
[2023-09-16 20:10:03.364 +00:00] [INF] [280] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.16.0-beta.3" playing "<...>". Stopped at "297222" ms
[2023-09-16 20:10:03.364 +00:00] [DBG] [87] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.364 +00:00] [DBG] [87] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.366 +00:00] [DBG] [87] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-libVLC", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv", AudioCodec: "aac,mp3,mp2,ac3,eac3,wma,wmav2,dca,dts,pcm,pcm_s16le,pcm_s24le,opus,flac,truehd", VideoCodec: null, Type: Video }, DirectPlayProfile { Container: "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "mkv", Type: Video, VideoCodec: "h264", AudioCodec: "aac,mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [ContainerProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoCodecTag, Value: "xvid", IsRequired: False }], Container: "avi" }], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "none", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "srt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "smi", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] }
[2023-09-16 20:10:03.373 +00:00] [INF] [87] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "justinas". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-09-16 20:10:03.373 +00:00] [DBG] [87] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-libVLC", Path: "<...>", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2023-09-16 20:10:03.373 +00:00] [DBG] [87] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-libVLC", Path: "<...>", PlayMethod: DirectPlay, AudioStreamIndex: 1, SubtitleStreamIndex: 3, Reasons: 0
[2023-09-16 20:10:03.373 +00:00] [INF] [87] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-libVLC", Path="<...>?MediaSourceId=534939b3e1ada702ae8862c63dbfa213&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=1&SubtitleStreamIndex=3&api_key=<token>&SubtitleMethod=Embed&Tag=66353cd0318d3b9c1e7a071c03b4c572"
[2023-09-16 20:10:03.393 +00:00] [DBG] [87] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.393 +00:00] [DBG] [87] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.394 +00:00] [DBG] [87] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-ExoPlayer", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,mp4,webm", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video,av1", Type: Video }, DirectPlayProfile { Container: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw,mpa,flac,wav,wma,ogg,oga,webma,ape,opus", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "hevc,h264", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dts,mlp,pcm_alaw,pcm_mulaw", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "12", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1200", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "4", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1900", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "none", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: Equals, Property: VideoProfile, Value: "none", IsRequired: False }], ApplyConditions: [], Codec: "av1", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvbsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] }
[2023-09-16 20:10:03.394 +00:00] [INF] [87] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "justinas". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-09-16 20:10:03.394 +00:00] [DBG] [87] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-ExoPlayer", Path: "<...>", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2023-09-16 20:10:03.394 +00:00] [DBG] [87] Jellyfin.Api.Helpers.MediaInfoHelper: Not eligible for DirectPlay due to unsupported subtitles
[2023-09-16 20:10:03.394 +00:00] [DBG] [87] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-ExoPlayer", Path: "<...>", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: 3, Reasons: SubtitleCodecNotSupported
[2023-09-16 20:10:03.395 +00:00] [DBG] [87] Jellyfin.Api.Helpers.MediaInfoHelper: Transcode Result for Profile: "AndroidTV-ExoPlayer", Path: "<...>", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: 3, Reasons: SubtitleCodecNotSupported
[2023-09-16 20:10:03.395 +00:00] [INF] [87] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="<...>", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=SubtitleCodecNotSupported ) "media:/videos/534939b3-e1ad-a702-ae88-62c63dbfa213/master.m3u8?MediaSourceId=534939b3e1ada702ae8862c63dbfa213&VideoCodec=hevc,h264,hevc&AudioCodec=ac3&AudioStreamIndex=1&SubtitleStreamIndex=3&VideoBitrate=119360000&AudioBitrate=640000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&RequireAvc=false&Tag=66353cd0318d3b9c1e7a071c03b4c572&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=SubtitleCodecNotSupported"
[2023-09-16 20:10:03.437 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.437 +00:00] [DBG] [280] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.438 +00:00] [DBG] [87] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.439 +00:00] [DBG] [87] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.445 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.445 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.721 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.721 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.722 +00:00] [DBG] [153] Jellyfin.Api.Controllers.PlaystateController: ReportPlaybackStopped PlaySessionId: "986307ebdae946a48684e2971ed47e4a"
[2023-09-16 20:10:03.725 +00:00] [INF] [153] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.16.0-beta.3" playing "<...>". Stopped at "297222" ms
[2023-09-16 20:10:03.730 +00:00] [DBG] [188] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.731 +00:00] [DBG] [188] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.789 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.789 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.799 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.799 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:03.829 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was not authenticated.
[2023-09-16 20:10:04.526 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:04.526 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:04.624 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:04.624 +00:00] [DBG] [156] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:04.630 +00:00] [DBG] [188] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:04.630 +00:00] [DBG] [188] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:04.654 +00:00] [DBG] [188] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was not authenticated.
[2023-09-16 20:10:05.760 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2023-09-16 20:10:05.760 +00:00] [DBG] [153] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.

Transcoding does work for this media file in general, as I am able to watch in Jellyfin-Web with subtitle burn-in.

justinas avatar Sep 16 '23 20:09 justinas

Not eligible for DirectPlay due to unsupported subtitles Subtitle: ass

That's why it's needing to transcode

VampiricAlien avatar Sep 18 '23 01:09 VampiricAlien

I have the same error. To test out if it's server side I tried to open the same URL the app tried to open according to the log and it works playing. So it's not a server side issue or an issue with the media file itself. At least in my case. I tried it with multiple different files and the error is the same.

If I change the audio track I want to play in jellyfin web before playing in on the android app it plays the correct audio track but it still throws the same error. The app then tries again with different parameters but the same audio track. Then it works. The difference is that on the first try it's a hls stream while on the 2nd try it's a mkv container that is remuxed on the fly.

This is the URL that is tried first. It's a hls stream and causes the invalid zero channel mask exception.

https://[redacted]/videos/1f474990-4253-ea58-af6f-50f44101c862/master.m3u8?DeviceId=[redacted]&MediaSourceId=1f4749904253ea58af6f50f44101c862&VideoCodec=hevc,h264,hevc&AudioCodec=ac3&AudioStreamIndex=0&VideoBitrate=15074937&AudioBitrate=384000&AudioSampleRate=48000&MaxFramerate=23.976025&PlaySessionId=[redacted]&api_key=[redacted]&SubtitleMethod=Encode&RequireAvc=false&Tag=5e716dd22b927a14892a876e6122cc9b&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=120&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=AudioIsExternal,%20VideoProfileNotSupported'

This is the URL that is tried next and works.

https://[redacted]/videos/1f474990-4253-ea58-af6f-50f44101c862/stream?DeviceId=[redacted]&MediaSourceId=1f4749904253ea58af6f50f44101c862&AudioStreamIndex=0&PlaySessionId=[redacted]&api_key=[redacted]&SubtitleMethod=Encode&RequireAvc=false&Tag=5e716dd22b927a14892a876e6122cc9b&TranscodeReasons=AudioIsExternal,%20VideoProfileNotSupported'

Both URLs can be played flawlessly via mpv.

Application version

0.15.12

Device information

Chromcast HD

Android version

12 (Build: STTK.230808.004)

Jellyfin server version

10.8.11

evilscientress avatar Oct 30 '23 00:10 evilscientress

I am having exactly the same error on version 0.16.1. Playing the same file from the browser or from mobile client works just fine... only android TV client app is affected.

My jellyfin server version 10.8.13.

fancywriter avatar Jan 01 '24 19:01 fancywriter

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

jellyfin-bot avatar May 01 '24 03:05 jellyfin-bot