jellyfin / jellyfin-androidtv

Android TV Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.63k stars 453 forks source link

[0.17.0 beta 4] issue with AAC 5.1 Audio not playing #3726

Closed VampiricAlien closed 1 month ago

VampiricAlien commented 1 month ago

Describe the bug

Same for beta 1 but works on 0.16.0 I see in the Jellyfin logs StartPlaybackTimer : play_method = "na"

Video
Title: 1080p HEVC SDR
Codec: HEVC
AVC: No
Profile: Main 10
Level: 120
Resolution: 1920x1080
Aspect ratio: 16:9
Anamorphic: No
Interlaced: No
Framerate: 23.976025
Bitrate: 1391 kbps
Bit depth: 10 bit
Video range: SDR
Video range type: SDR
Colour space: bt709
Pixel format: yuv420p10le
Ref frames: 1
Audio
Title: English - AAC - 5.1
Language: eng
Codec: AAC
AVC: No
Profile: HE-AAC
Layout: 5.1
Channels: 6 ch
Bitrate: 189 kbps
Sample rate: 48000 Hz
Default: No
Forced: No
External: No

Anything to do with? https://github.com/jellyfin/jellyfin-androidtv/pull/3565 https://github.com/jellyfin/jellyfin-androidtv/pull/3557

Logs

07-06 14:17:28.896  3633  3676 P Quality : 09 03 info 1720239448895 procName:org.jellyfin.androidtv.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:57,WallTime:319 android.os.MessageQueue.nativePollOnce:-2,android.os.MessageQueue.next:335,android.os.Looper.loop:200,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:592,com.android.internal.os.ZygoteInit.main:1192, allocWait:0,ionwait:260,dstate:38,sched:0,iowait:3 viewTitle:org.jellyfin.androidtv.debug/org.jellyfin.androidtv.ui.browsing.MainActivity $
07-06 14:17:30.784  3633  3676 P Quality : 09 03 info 1720239433355 procName:org.jellyfin.androidtv.debug 1 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:1313 latencyTime:329,WallTime:18,doFrameLatencySlowTimes:10 $ $ viewTitle:org.jellyfin.androidtv.debug/org.jellyfin.androidtv.ui.startup.StartupActivity,skippedFrames:80,jankLevel:3 $
07-06 14:17:30.926   957  1132 I TGuardMemoryManagerMemoryStrategy: current top app is :org.jellyfin.androidtv.debug
07-06 14:17:30.926   957  1132 I TGuardMemoryManagerMemoryInfoManager: org.jellyfin.androidtv.debug avgPss is 123165  predictSize is 123165
07-06 14:17:30.926   957  1132 I TGuardMemoryManagerMemoryStrategy: org.jellyfin.androidtv.debug need memory is 0
07-06 14:17:31.942   957  2951 D TGuardHealthInfo : HealthInfoHandleService: onEventChange string:[  09 03 info 1720239447385 procName:org.jellyfin.androidtv.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:2,WallTime:417 android.os.MessageQueue.nativePollOnce:-2,android.os.MessageQueue.next:335,android.os.Looper.loop:200,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:592,com.android.internal.os.ZygoteInit.main:1192, allocWait:0,ionwait:40,dstate:2,sched:0,iowait:0 viewTitle:org.jellyfin.androidtv.debug/org.jellyfin.androidtv.ui.browsing.MainActivity $ ]
07-06 14:17:31.947   957  2951 D TGuardHealthInfo : HealthInfoHandleService: org.jellyfin.androidtv.debug getVersionName versionName:0.17.0-beta.2
07-06 14:17:31.947   957  2951 D TGuardHealthInfo : HealthInfoHandleService: onEventChange string:[  09 03 info 1720239433232 procName:org.jellyfin.androidtv.debug 1 callback:kotlinx.coroutines.JobSupport$AwaitContinuation,target:android.os.Handler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:1313 latencyTime:434,WallTime:0,normalLatencySlowTimes:10 $ $ $ $ ]
07-06 14:17:31.948   957  2951 D TGuardHealthInfo : HealthInfoHandleService: onEventChange string:[  09 03 info 1720239448449 procName:org.jellyfin.androidtv.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:58,WallTime:907 android.os.MessageQueue.nativePollOnce:-2,android.os.MessageQueue.next:335,android.os.Looper.loop:200,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:592,com.android.internal.os.ZygoteInit.main:1192, allocWait:0,ionwait:120,dstate:4,sched:0,iowait:0 viewTitle:org.jellyfin.androidtv.debug/org.jellyfin.androidtv.ui.browsing.MainActivity $ ]
07-06 14:17:31.949   957  2951 D TGuardHealthInfo : HealthInfoHandleService: onEventChange string:[  09 03 info 1720239433232 procName:org.jellyfin.androidtv.debug 1 callback:kotlinx.coroutines.JobSupport$AwaitContinuation,target:android.os.Handler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:1313 latencyTime:864,WallTime:2,normalLatencySlowTimes:10 $ $ $ $ ]
07-06 14:17:31.949   957  2951 D TGuardHealthInfo : HealthInfoHandleService: onEventChange string:[  09 03 info 1720239433232 procName:org.jellyfin.androidtv.debug 1 callback:kotlinx.coroutines.JobSupport$AwaitContinuation,target:android.os.Handler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:1313 latencyTime:319,WallTime:4,normalLatencySlowTimes:10 $ $ $ $ ]
07-06 14:17:31.950   957  2951 D TGuardHealthInfo : HealthInfoHandleService: onEventChange string:[  09 03 info 1720239448895 procName:org.jellyfin.androidtv.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:57,WallTime:319 android.os.MessageQueue.nativePollOnce:-2,android.os.MessageQueue.next:335,android.os.Looper.loop:200,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:592,com.android.internal.os.ZygoteInit.main:1192, allocWait:0,ionwait:260,dstate:38,sched:0,iowait:3 viewTitle:org.jellyfin.androidtv.debug/org.jellyfin.androidtv.ui.browsing.MainActivity $ ]
07-06 14:17:31.951   957  2951 D TGuardHealthInfo : HealthInfoHandleService: onEventChange string:[  09 03 info 1720239433355 procName:org.jellyfin.androidtv.debug 1 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:1313 latencyTime:329,WallTime:18,doFrameLatencySlowTimes:10 $ $ viewTitle:org.jellyfin.androidtv.debug/org.jellyfin.androidtv.ui.startup.StartupActivity,skippedFrames:80,jankLevel:3 $ ]
07-06 14:17:32.616  3633  3676 P Quality : 09 03 info 1720239452616 procName:org.jellyfin.androidtv.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:235,WallTime:1396 android.os.MessageQueue.nativePollOnce:-2,android.os.MessageQueue.next:335,android.os.Looper.loop:200,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:592,com.android.internal.os.ZygoteInit.main:1192, allocWait:0,ionwait:100,dstate:0,sched:0,iowait:3 viewTitle:org.jellyfin.androidtv.debug/org.jellyfin.androidtv.ui.browsing.MainActivity $
07-06 14:17:32.619   722   784 D BMS-BlockMonitorManagerService: ProcessName: org.jellyfin.androidtv.debug
07-06 14:17:32.986  3633  3676 P Quality : 09 03 info 1720239452617 procName:org.jellyfin.androidtv.debug 1 callback:androidx.fragment.app.FragmentAnim$EndViewTransitionAnimation,target:android.view.ViewRootImpl$ViewRootHandler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:1396 latencyTime:1542,WallTime:66,normalLatencySlowTimes:10 $ $ $ $
07-06 14:17:32.995  3633  3676 P Quality : 09 03 info 1720239452617 procName:org.jellyfin.androidtv.debug 1 callback:androidx.fragment.app.FragmentAnim$EndViewTransitionAnimation,target:android.view.ViewRootImpl$ViewRootHandler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:1396 latencyTime:583,WallTime:0,normalLatencySlowTimes:10 $ $ $ $
07-06 14:17:33.196  3633  3676 P Quality : 09 03 info 1720239452617 procName:org.jellyfin.androidtv.debug 1 callback:androidx.fragment.app.FragmentAnim$EndViewTransitionAnimation,target:android.view.ViewRootImpl$ViewRootHandler callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler,maxWallTime:1396 latencyTime:478,WallTime:1,normalLatencySlowTimes:10 $ $ $ $
07-06 14:17:37.765  3633  3676 P Quality : 09 03 info 1720239457764 procName:org.jellyfin.androidtv.debug 2 callback:androidx.fragment.app.FragmentManager$5,target:android.os.Handler $ latencyTime:2,WallTime:1486 android.os.MessageQueue.nativePollOnce:-2,android.os.MessageQueue.next:335,android.os.Looper.loop:200,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:592,com.android.internal.os.ZygoteInit.main:1192, allocWait:0,ionwait:0,dstate:0,sched:0,iowait:6 $ $
07-06 14:17:37.766   722   784 D BMS-BlockMonitorManagerService: ProcessName: org.jellyfin.androidtv.debug
07-06 14:17:37.937  3633  3676 P Quality : 09 03 info 1720239457765 procName:org.jellyfin.androidtv.debug 1 what:0,target:android.os.Handler callback:androidx.fragment.app.FragmentManager$5,target:android.os.Handler,maxWallTime:1486 latencyTime:1270,WallTime:0,normalLatencySlowTimes:10 $ $ $ $
07-06 14:17:38.840   722  1157 D AppRecordListenerForFreeze: noteTrafficChanged  pid = 3633 pro = org.jellyfin.androidtv.debug using = true
07-06 14:17:39.314  3633  3772 E MediaCodec: getNameByCurrentProcessName =org.jellyfin.androidtv.debug
07-06 14:17:39.314  3633  3772 D MediaCodec: Current app: org.jellyfin.androidtv.debug
07-06 14:17:39.442  3633  3772 E MediaCodec: getNameByCurrentProcessName =org.jellyfin.androidtv.debug
07-06 14:17:39.442  3633  3772 D MediaCodec: Current app: org.jellyfin.androidtv.debug
07-06 14:17:39.683  3633  3826 I chatty  : uid=10096(org.jellyfin.androidtv.debug) identical 2 lines
07-06 14:17:39.927   957  1132 I TGuardMemoryManagerMemoryStrategy: current top app is :org.jellyfin.androidtv.debug
07-06 14:17:39.927   957  1132 I TGuardMemoryManagerMemoryInfoManager: org.jellyfin.androidtv.debug avgPss is 123165  predictSize is 123165
07-06 14:17:39.928   957  1132 I TGuardMemoryManagerMemoryStrategy: org.jellyfin.androidtv.debug need memory is 0
07-06 14:17:40.583  3633  3772 E MediaCodec: getNameByCurrentProcessName =org.jellyfin.androidtv.debug
07-06 14:17:40.583  3633  3772 D MediaCodec: Current app: org.jellyfin.androidtv.debug
07-06 14:17:40.637  3633  3772 E MediaCodec: getNameByCurrentProcessName =org.jellyfin.androidtv.debug
07-06 14:17:40.637  3633  3772 D MediaCodec: Current app: org.jellyfin.androidtv.debug
07-06 14:17:40.881  3633  3887 I chatty  : uid=10096(org.jellyfin.androidtv.debug) identical 2 lines
07-06 14:17:41.059  3633  3676 P Quality : 09 03 info 1720239461058 procName:org.jellyfin.androidtv.debug 2 callback:android.view.Choreographer$FrameDisplayEventReceiver,target:android.view.Choreographer$FrameHandler $ latencyTime:1,WallTime:321 android.os.MessageQueue.nativePollOnce:-2,android.os.MessageQueue.next:335,android.os.Looper.loop:200,android.app.ActivityThread.main:7848,java.lang.reflect.Method.invoke:-2,com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run:592,com.android.internal.os.ZygoteInit.main:1192, allocWait:0,ionwait:0,dstate:0,sched:0,iowait:0 viewTitle:org.jellyfin.androidtv.debug/org.jellyfin.androidtv.ui.browsing.MainActivity $
07-06 14:17:41.076  3633  3676 P Quality : 09 03 info 1720239457765 procName:org.jellyfin.androidtv.debug 1 what:0,target:android.os.Handler callback:androidx.fragment.app.FragmentManager$5,target:android.os.Handler,maxWallTime:1486 latencyTime:319,WallTime:6,normalLatencySlowTimes:10 $ $ $ $

Application version

0.17.0

Where did you install the app from?

Sideloaded APK

Device information

NS

Android version

Android 11

Jellyfin server version

10.9.7

VampiricAlien commented 1 month ago

I believe it's something to do with 5.1 audio since anything has a stereo track will play within the same file.

VampiricAlien commented 1 month ago

Thanks to @tsiktsiris for pointing out an subtitle error. Media plays with Downmix to stereo but no direct play.

fa1rid commented 1 month ago

I have the same problem after updating 0.17.0 Nothing is playing in my library anymore

VampiricAlien commented 1 month ago

Beta 3 The video stream is compatible with the device, but has an incompatible audio format (DTS, Dolby TrueHD, etc.) or number of audio channels. The video stream will be repackaged losslessly on the fly before being sent to the device. Only the audio stream will be transcoded.

ShakeSp33r commented 1 month ago

Reverted back to stable 0.16.11, as 0.17.3 (beta) cant play AAC Stereo video.

On 0.17.3, I tried with Audio output on Direct & Downmix to stereo, both failed.

0.16.11 play this without any issues & and Preferred media player set to ExoPlayer

Media Info:

Video:
Codec: hevc
Profile: Main
Level: 120.0
Resolution: 1920x1080
Aspect: 16:9
Framerate: 25.0
Bitrate: 767 kbps
Default

Audio:
Language: eng
Codec: aac
Profile: LC
Level: 0.0
Layout: stereo
Bitrate: 187 kbps
Default

Subtitle:
Language: eng
Codec: subrip
Level 0.0
External

Jellyfin for Android TV (0.17.3 beta) Log

{"Protocol":0,"Id":"4cd0e0f3352f743b4e07ec30ef6b3043","Path":"/srv/storage/TVShows/Disc6/Broadchurch (2013)/Season 01/01x03 - Episode 3.mkv","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"mkv","Size":270649401,"Name":"01x03 - Episode 3","IsRemote":false,"ETag":"5f0de6332a9acd42f96321e2c123c495","RunTimeTicks":27550720000,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"OpenToken":null,"RequiresClosing":false,"LiveStreamId":null,"BufferMs":null,"RequiresLooping":false,"SupportsProbing":true,"VideoType":0,"IsoType":null,"Video3DFormat":null,"MediaStreams":[{"Codec":"subrip","CodecTag":null,"Language":"eng","ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Comment":null,"TimeBase":"1/1000","CodecTimeBase":null,"Title":null,"VideoRange":0,"VideoRangeType":0,"VideoDoViTitle":null,"AudioSpatialFormat":0,"LocalizedUndefined":"Undefined","LocalizedDefault":"Default","LocalizedForced":"Forced","LocalizedExternal":"External","LocalizedHearingImpaired":"Hearing Impaired","DisplayTitle":"English - SUBRIP - External","NalLengthSize":null,"IsInterlaced":false,"IsAVC":false,"ChannelLayout":null,"BitRate":null,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":false,"IsForced":false,"IsHearingImpaired":false,"Height":0,"Width":0,"AverageFrameRate":null,"RealFrameRate":null,"Profile":null,"Type":2,"AspectRatio":null,"Index":0,"Score":null,"IsExternal":true,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Path":"/srv/storage/TVShows/Disc6/Broadchurch (2013)/Season 01/01x03 - Episode 3.en.srt","PixelFormat":null,"Level":0,"IsAnamorphic":null},{"Codec":"hevc","CodecTag":null,"Language":null,"ColorRange":null,"ColorSpace":"bt709","ColorTransfer":"bt709","ColorPrimaries":"bt709","DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Comment":null,"TimeBase":"1/1000","CodecTimeBase":null,"Title":null,"VideoRange":1,"VideoRangeType":1,"VideoDoViTitle":null,"AudioSpatialFormat":0,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"LocalizedHearingImpaired":null,"DisplayTitle":"1080p HEVC SDR","NalLengthSize":null,"IsInterlaced":false,"IsAVC":false,"ChannelLayout":null,"BitRate":785894,"BitDepth":8,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":1080,"Width":1920,"AverageFrameRate":25,"RealFrameRate":25,"Profile":"Main","Type":1,"AspectRatio":"16:9","Index":1,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":"yuv420p","Level":120,"IsAnamorphic":false},{"Codec":"aac","CodecTag":null,"Language":"eng","ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Comment":null,"TimeBase":"1/1000","CodecTimeBase":null,"Title":"AAC LC 2.0 @ 128 kbps","VideoRange":0,"VideoRangeType":0,"VideoDoViTitle":null,"AudioSpatialFormat":0,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"LocalizedHearingImpaired":null,"DisplayTitle":"AAC LC 2.0 @ 128 kbps - English - Stereo - Default","NalLengthSize":null,"IsInterlaced":false,"IsAVC":false,"ChannelLayout":"stereo","BitRate":192000,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":2,"SampleRate":96000,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"Profile":"LC","Type":0,"AspectRatio":null,"Index":2,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null}],"MediaAttachments":[],"Formats":[],"Bitrate":977894,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":0,"TranscodingContainer":null,"AnalyzeDurationMs":null,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null}

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f matroska  -i file:"/srv/storage/TVShows/Disc6/Broadchurch (2013)/Season 01/01x03 - Episode 3.mkv" -map_metadata -1 -map_chapters -1 -threads 3 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "8cee50b266627d038102482dbe8aa70e-1.mp4" -start_number 0 -hls_segment_filename "/transcodeRD/8cee50b266627d038102482dbe8aa70e%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/transcodeRD/8cee50b266627d038102482dbe8aa70e.m3u8"

ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
Input #0, matroska,webm, from 'file:/srv/storage/TVShows/Disc6/Broadchurch (2013)/Season 01/01x03 - Episode 3.mkv':
  Metadata:
    ENCODER         : Lavf58.76.100
  Duration: 00:45:55.07, start: 0.000000, bitrate: 785 kb/s
  Stream #0:0: Video: hevc (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn (default)
    Metadata:
      DURATION        : 00:45:55.072000000
  Stream #0:1(eng): Audio: aac (LC), 96000 Hz, stereo, fltp (default)
    Metadata:
      title           : AAC LC 2.0 @ 128 kbps
      ENCODER         : Lavc58.134.100 aac
      DURATION        : 00:45:53.078000000
[hls @ 0x55edcc377580] Opening '/transcodeRD/8cee50b266627d038102482dbe8aa70e-1.mp4' for writing
Output #0, hls, to '/transcodeRD/8cee50b266627d038102482dbe8aa70e.m3u8':
  Metadata:
    encoder         : Lavf60.3.100
  Stream #0:0: Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 12800 tbn (default)
  Stream #0:1: Audio: aac (LC), 96000 Hz, stereo, fltp (default)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 size=       0kB time=-00:00:00.05 bitrate=  -0.0kbits/s speed=N/A    
[hls @ 0x55edcc377580] Opening '/transcodeRD/8cee50b266627d038102482dbe8aa70e0.mp4' for writing
hls @ 0x55edcc377580] Opening '/transcodeRD/8cee50b266627d038102482dbe8aa70e452.mp4' for writing
frame=68876 fps=8108 q=-1.0 Lsize=N/A time=00:43:15.99 bitrate=N/A speed= 306x    
video:220252kB audio:43260kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: unknown

Jellyfin 10.9.7

[2024-07-14 11:01:51.286 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id        = "9ed99c2548084019b8048c6b28fe54a8"
[2024-07-14 11:01:51.286 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int    = 2
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id   = ""
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id      = "9ed99c2548084019b8048c6b28fe54a8"
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method          = "na"
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName         = "Android TV"
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName         = "LivingRoomTV"
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName             = "Broadchurch - s01e03 - Episode 3"
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId               = "4cd0e0f3352f743b4e07ec30ef6b3043"
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType             = "Episode"
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Details do not match for play item
[2024-07-14 11:01:51.289 +02:00] [INF] [34] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited
nielsvanvelzen commented 1 month ago

Starting with 0.17, you must have the "Audio output" option set to "Direct" when there are more then 3 audio channels. The "Downmix to stereo" option will only allow up to 2 audio channels for direct play.

VampiricAlien commented 1 month ago

Having direct play enabled, the media with 5.1 AAC doesn't play.

VampiricAlien commented 1 month ago

AC3 5.1 EAC3 5.1 play without issue

ShakeSp33r commented 1 month ago

Seems to be all media with AAC (5.1 & 2.0)

nielsvanvelzen commented 1 month ago

Please try side-loading the build from #3763 and let me know if it fixes the issue.

tsiktsiris commented 1 month ago

Please try side-loading the build from #3763 and let me know if it fixes the issue.

This also solves #3725 when using Direct as audio output. However "Downmix to stereo" (which was working previously) causes now the issue with delayed subs.

VampiricAlien commented 1 month ago

https://github.com/jellyfin/jellyfin-androidtv/actions/runs/9958017535

Server says direct play, however still unable to play. play_method = "na" This tells me that the issue is with the video format but not the audio?

Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (copy)

@tsiktsiris did this work for you? was the file you was testing with HEVC with AAC audio?

HEVC AAC 2.0 works but not HEVC AAC 5.1?

VampiricAlien commented 1 month ago

Beta 4, still not working.

ShakeSp33r commented 1 month ago

Beta 4: Audio Output : Downmix to stereo Bitstream Dolby Digital audio : Enabled Max streaming bitrate : 140Mbit/s

Play 4eb54478-7985-43b6-a828-08ec5bc2f90f

Dont Play a86b92f5-1040-4d40-9f11-f6f2d1c37b6f

nielsvanvelzen commented 1 month ago

When comparing with 0.16.x, was exoplayer used as video player?

VampiricAlien commented 1 month ago

@nielsvanvelzen Yes.