jellyfin / jellyfin-androidtv

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

No AC3 passthrough with FireTV #1191

Closed zehnerGIT closed 2 years ago

zehnerGIT commented 3 years ago

Describe the bug

I have an old receiver, that supports DTS and AC3, no EAC3. If I play a file with AC3 sound in 12.0 and 12.1, no passthrough is possible, my receiver shows only PCM sound. If I play a DTS file, everything works as expected, the receiver shows passthrough. Even AC3+ files can now passthrough (they were played as PCM in older versions), so kudos, the android player is now one of the few players, that can playback the AC3 core in some AC3+ files without transcoding.

The sample files are from: https://samples.mplayerhq.hu/A-codecs/AC3/ac3-sound-sample.vob (AC3 sample) https://samples.mplayerhq.hu/A-codecs/AC3/eac3/channelcheck-ddplus_480.mp4 (AC3+ sample) but all my DVDs or TVRips with AC3 5.1 show the same behaviour

The dashboard of the server shows direct play in all cases and if I force the player from automatic to exo or vlc there's still no AC3 passthrough.

Server-OS: Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-37-generic x86_64) Jellyfin 10.7.7 is from PPA, not docker

Logs

[2021-10-11 13:49:04.005 +02:00] [INF] Jellyfin version: "10.7.7"
[2021-10-11 13:49:04.079 +02:00] [INF] Environment Variables: ["[JELLYFIN_ARGS, $JELLYFIN_WEB_OPT $JELLYFIN_RESTART_OPT $JELLYFIN_FFMPEG_OPT $JELLYFIN_SERVICE_OPT $JELLYFIN_NOWEBAPP_OPT]", "[JELLYFIN_LOG_DIR, /var/log/jellyfin]", "[JELLYFIN_USER, jellyfin]", "[JELLYFIN_WEB_OPT, --webdir=/usr/share/jellyfin/web]", "[JELLYFIN_CACHE_DIR, /var/cache/jellyfin]", "[JELLYFIN_DATA_DIR, /var/lib/jellyfin]", "[JELLYFIN_CONFIG_DIR, /etc/jellyfin]", "[JELLYFIN_FFMPEG_OPT, --ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg]", "[JELLYFIN_RESTART_OPT, --restartpath=/usr/lib/jellyfin/restart.sh]"]
[2021-10-11 13:49:04.089 +02:00] [INF] Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--webdir=/usr/share/jellyfin/web", "--restartpath=/usr/lib/jellyfin/restart.sh", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg", ""]
[2021-10-11 13:49:04.092 +02:00] [INF] Operating system: "Linux"
[2021-10-11 13:49:04.092 +02:00] [INF] Architecture: X64
[2021-10-11 13:49:04.095 +02:00] [INF] 64-Bit Process: True
[2021-10-11 13:49:04.095 +02:00] [INF] User Interactive: True
[2021-10-11 13:49:04.095 +02:00] [INF] Processor count: 4
[2021-10-11 13:49:04.095 +02:00] [INF] Program data path: "/var/lib/jellyfin"
[2021-10-11 13:49:04.096 +02:00] [INF] Web resources path: "/usr/share/jellyfin/web"
[2021-10-11 13:49:04.096 +02:00] [INF] Application directory: "/usr/lib/jellyfin/bin/"
[2021-10-11 13:49:04.929 +02:00] [INF] Setting cache path: "/var/cache/jellyfin"
[2021-10-11 13:49:05.122 +02:00] [INF] Defined LAN addresses : "[127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]"
[2021-10-11 13:49:05.123 +02:00] [INF] Defined LAN exclusions : "[]"
[2021-10-11 13:49:05.126 +02:00] [INF] Using LAN addresses: "[127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]"
[2021-10-11 13:49:05.130 +02:00] [INF] Using bind addresses: "[]"
[2021-10-11 13:49:05.131 +02:00] [INF] Using bind exclusions: "[]"
[2021-10-11 13:49:05.332 +02:00] [INF] Loading assemblies
[2021-10-11 13:49:05.382 +02:00] [INF] Loaded assembly "Emby.AutoOrganize, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/Auto Organize_9.0.0.0/Emby.AutoOrganize.dll"
[2021-10-11 13:49:05.386 +02:00] [INF] Loaded assembly "Jellyfin.Plugin.AutoShutDown, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/AutoShutDown/Jellyfin.Plugin.AutoShutDown.dll"
[2021-10-11 13:49:05.396 +02:00] [INF] Loaded assembly "Jellyfin.Plugin.Bookshelf, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/Bookshelf_5.0.0.0/Jellyfin.Plugin.Bookshelf.dll"
[2021-10-11 13:49:05.399 +02:00] [INF] Loaded assembly "Jellyfin.Plugin.CoverArtArchive, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/Cover Art Archive_3.0.0.0/Jellyfin.Plugin.CoverArtArchive.dll"
[2021-10-11 13:49:05.402 +02:00] [INF] Loaded assembly "Jellyfin.Plugin.Fanart, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/Fanart_7.0.0.0/Jellyfin.Plugin.Fanart.dll"
[2021-10-11 13:49:05.405 +02:00] [INF] Loaded assembly "Jellyfin.Plugin.KodiSyncQueue, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/Kodi Sync Queue_6.0.0.0/Jellyfin.Plugin.KodiSyncQueue.dll"
[2021-10-11 13:49:05.413 +02:00] [INF] Loaded assembly "LiteDB, Version=4.1.4.0, Culture=neutral, PublicKeyToken=4ee40123013c9f27" from "/var/lib/jellyfin/plugins/Kodi Sync Queue_6.0.0.0/LiteDB.dll"
[2021-10-11 13:49:05.418 +02:00] [INF] Loaded assembly "Jellyfin.Plugin.Reports, Version=12.0.0.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/Reports_12.0.0.0/Jellyfin.Plugin.Reports.dll"
[2021-10-11 13:49:05.423 +02:00] [INF] Loaded assembly "TvDbSharper, Version=3.2.2.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/TheTVDB_6.0.0.0/TvDbSharper.dll"
[2021-10-11 13:49:05.429 +02:00] [INF] Loaded assembly "Jellyfin.Plugin.Tvdb, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/TheTVDB_6.0.0.0/Jellyfin.Plugin.Tvdb.dll"
[2021-10-11 13:49:05.431 +02:00] [INF] Loaded assembly "Jellyfin.Plugin.TMDbBoxSets, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null" from "/var/lib/jellyfin/plugins/TMDb Box Sets_7.0.0.0/Jellyfin.Plugin.TMDbBoxSets.dll"
[2021-10-11 13:49:19.591 +02:00] [INF] Loaded plugin: "Auto Organize" "9.0.0.0"
[2021-10-11 13:49:19.594 +02:00] [INF] Loaded plugin: "Auto ShutDown" "1.0.0.0"
[2021-10-11 13:49:19.598 +02:00] [INF] Loaded plugin: "Bookshelf" "5.0.0.0"
[2021-10-11 13:49:19.602 +02:00] [INF] Loaded plugin: "Cover Art Archive" "3.0.0.0"
[2021-10-11 13:49:19.605 +02:00] [INF] Loaded plugin: "Fanart" "7.0.0.0"
[2021-10-11 13:49:19.608 +02:00] [INF] Jellyfin.Plugin.KodiSyncQueue is now starting
[2021-10-11 13:49:19.609 +02:00] [INF] Creating DB Repository...
[2021-10-11 13:49:19.651 +02:00] [INF] Loaded plugin: "Kodi Sync Queue" "6.0.0.0"
[2021-10-11 13:49:19.653 +02:00] [INF] Loaded plugin: "Reports" "12.0.0.0"
[2021-10-11 13:49:19.656 +02:00] [INF] Loaded plugin: "TheTVDB" "6.0.0.0"
[2021-10-11 13:49:19.658 +02:00] [INF] Loaded plugin: "TMDb Box Sets" "7.0.0.0"
[2021-10-11 13:49:19.661 +02:00] [INF] Loaded plugin: "OMDb" "10.7.7.0"
[2021-10-11 13:49:19.662 +02:00] [INF] Loaded plugin: "MusicBrainz" "10.7.7.0"
[2021-10-11 13:49:19.664 +02:00] [INF] Loaded plugin: "AudioDB" "10.7.7.0"
[2021-10-11 13:49:19.990 +02:00] [INF] Kestrel listening on "Any IP4 Address"
[2021-10-11 13:49:21.678 +02:00] [INF] Running startup tasks
[2021-10-11 13:49:21.681 +02:00] [INF] Retention Task Scheduled!
[2021-10-11 13:49:21.899 +02:00] [INF] Daily trigger for "Remove Old Sync Data" set to fire at 10/12/2021 00:01, which is 10:11:38.1014112 from now.
[2021-10-11 13:49:21.953 +02:00] [INF] Daily trigger for "Extrahiert Kapitel-Bilder" set to fire at 10/12/2021 02:00, which is 12:10:38.046886 from now.
[2021-10-11 13:49:22.265 +02:00] [INF] Found ffmpeg version "4.3.2"
[2021-10-11 13:49:22.364 +02:00] [INF] Available "decoders": ["h264", "h264_qsv", "h264_cuvid", "hevc", "hevc_qsv", "hevc_cuvid", "mpeg2video", "mpeg2_qsv", "mpeg2_cuvid", "mpeg4", "mpeg4_cuvid", "msmpeg4", "vc1_qsv", "vc1_cuvid", "vp8_cuvid", "vp8_qsv", "vp9_cuvid", "vp9_qsv", "aac", "ac3", "flac", "mp3"]
[2021-10-11 13:49:22.415 +02:00] [INF] Available "encoders": ["libx264", "h264_amf", "h264_nvenc", "h264_qsv", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_amf", "hevc_nvenc", "hevc_qsv", "hevc_vaapi", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "ac3", "flac", "libmp3lame", "libopus", "libvorbis", "srt"]
[2021-10-11 13:49:22.454 +02:00] [INF] Available hwaccel types: ["vdpau", "cuda", "vaapi", "qsv", "drm", "opencl"]
[2021-10-11 13:49:22.458 +02:00] [INF] FFmpeg: Custom: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
[2021-10-11 13:49:22.463 +02:00] [INF] ServerId: "a9a64f89e8fa4f33817a0b341847cdb2"
[2021-10-11 13:49:22.796 +02:00] [WRN] Slow HTTP Response from "http://nas:8096/ScheduledTasks?IsEnabled=true" to "192.168.2.31" in 0:00:00.8757417 with Status Code 503
[2021-10-11 13:49:22.796 +02:00] [WRN] Slow HTTP Response from "http://nas:8096/ScheduledTasks?IsEnabled=true" to "192.168.2.31" in 0:00:00.8756752 with Status Code 503
[2021-10-11 13:49:22.799 +02:00] [WRN] Slow HTTP Response from "http://nas:8096/ScheduledTasks?IsEnabled=true" to "192.168.2.31" in 0:00:00.8488005 with Status Code 503
[2021-10-11 13:49:22.796 +02:00] [WRN] Slow HTTP Response from "http://nas:8096/ScheduledTasks?IsEnabled=true" to "192.168.2.31" in 0:00:00.8400353 with Status Code 503
[2021-10-11 13:49:23.022 +02:00] [INF] Registering publisher for "urn:schemas-upnp-org:device:MediaServer:1" on "192.168.2.100/24"
[2021-10-11 13:49:23.133 +02:00] [INF] Executed all pre-startup entry points in 0:00:00.5847114
[2021-10-11 13:49:23.133 +02:00] [INF] Core startup complete
[2021-10-11 13:49:23.147 +02:00] [INF] SQLite version: "3.33.0"
[2021-10-11 13:49:23.151 +02:00] [INF] SQLite compiler options: "COMPILER=gcc-5.4.0 20160609,DEFAULT_FOREIGN_KEYS,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS4,ENABLE_FTS5,ENABLE_JSON1,ENABLE_RTREE,THREADSAFE=1"
[2021-10-11 13:49:23.156 +02:00] [INF] Default journal_mode for "/var/lib/jellyfin/data/fileorganization.db" is "wal"
[2021-10-11 13:49:23.159 +02:00] [INF] PRAGMA synchronous="1"
[2021-10-11 13:49:23.322 +02:00] [INF] AutoShutDown TimedCheckService is starting
[2021-10-11 13:49:23.323 +02:00] [INF] AutoShutDown Initial configuration:
[2021-10-11 13:49:23.324 +02:00] [INF] AutoShutDown InitialDelayInMin: 45 IntervalInMin: 5 Executions: 3
[2021-10-11 13:49:23.326 +02:00] [INF] AutoShutDown LocalPorts: 22 445 8096 RemoteHosts: htpc-w htpc-k
[2021-10-11 13:49:23.330 +02:00] [INF] LibrarySyncNotification Startup...
[2021-10-11 13:49:23.333 +02:00] [INF] UserSyncNotification Startup...
[2021-10-11 13:49:24.458 +02:00] [INF] Executed all post-startup entry points in 0:00:01.3236865
[2021-10-11 13:49:24.459 +02:00] [INF] Startup complete 0:00:21.0411494
[2021-10-11 13:49:24.966 +02:00] [INF] "StartupTrigger" fired for task: "Update Plugins"
[2021-10-11 13:49:24.971 +02:00] [INF] Queuing task "PluginUpdateTask"
[2021-10-11 13:49:24.986 +02:00] [INF] Executing "Update Plugins"
[2021-10-11 13:59:07.207 +02:00] [INF] 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: null, 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,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: null, EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: null, EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], 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: "41", 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 }] }
[2021-10-11 13:59:07.213 +02:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2021-10-11 13:59:07.213 +02:00] [INF] Profile: "AndroidTV-libVLC", Path: "\\nas\public\video\Filme\channelcheck-ddplus_480.mp4", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:07.214 +02:00] [INF] Profile: "AndroidTV-libVLC", No video direct play profiles found for "\\nas\public\video\Filme\channelcheck-ddplus_480.mp4" with codec "h264"
[2021-10-11 13:59:07.214 +02:00] [INF] Profile: "AndroidTV-libVLC", Path: "\\nas\public\video\Filme\channelcheck-ddplus_480.mp4", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:07.214 +02:00] [INF] Profile: "AndroidTV-libVLC", No video direct play profiles found for "\\nas\public\video\Filme\channelcheck-ddplus_480.mp4" with codec "h264"
[2021-10-11 13:59:07.214 +02:00] [INF] Profile: "AndroidTV-libVLC", Path: "\\nas\public\video\Filme\channelcheck-ddplus_480.mp4", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:07.214 +02:00] [INF] Profile: "AndroidTV-libVLC", No video direct play profiles found for "\\nas\public\video\Filme\channelcheck-ddplus_480.mp4" with codec "h264"
[2021-10-11 13:59:07.312 +02:00] [INF] 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: null, 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,ac3,eac3,aac_latm,mp3,mp2,dca,dts", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video", Type: Video }, DirectPlayProfile { Container: "aac,mp3,mpa,flac,wav,wma,mp2,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: "mkv", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,aac,mp3", Protocol: null, EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: null, EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], 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: "41", 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: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "6", 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: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Encode, 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 }] }
[2021-10-11 13:59:07.315 +02:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2021-10-11 13:59:07.315 +02:00] [INF] Profile: "AndroidTV-ExoPlayer", Path: "\\nas\public\video\Filme\channelcheck-ddplus_480.mp4", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:07.315 +02:00] [INF] Profile: "AndroidTV-ExoPlayer", Path: "\\nas\public\video\Filme\channelcheck-ddplus_480.mp4", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:07.315 +02:00] [INF] Profile: "AndroidTV-ExoPlayer", Path: "\\nas\public\video\Filme\channelcheck-ddplus_480.mp4", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:08.098 +02:00] [INF] Starting User Changes Sync...
[2021-10-11 13:59:08.398 +02:00] [INF] "USERSYNC" User "d8260fb6bcdb45fd8e8d380a6518fd21"("jellyfin") posted 2 Updates: "bfca20d2ff5c045dafc0e64ccaf7eec8,087bbcb9bd1c80808d4ecce8d46c5162"
[2021-10-11 13:59:08.398 +02:00] [INF] User Changes Sync Finished Taking "00:00:00.2997195"
[2021-10-11 13:59:30.482 +02:00] [INF] Playback stopped reported by app "Android TV" "0.12.1" playing "channelcheck-ddplus_480". Stopped at "20726" ms
[2021-10-11 13:59:31.070 +02:00] [INF] Starting User Changes Sync...
[2021-10-11 13:59:31.333 +02:00] [INF] "USERSYNC" User "d8260fb6bcdb45fd8e8d380a6518fd21"("jellyfin") posted 2 Updates: "bfca20d2ff5c045dafc0e64ccaf7eec8,087bbcb9bd1c80808d4ecce8d46c5162"
[2021-10-11 13:59:31.333 +02:00] [INF] User Changes Sync Finished Taking "00:00:00.2623992"
[2021-10-11 13:59:39.784 +02:00] [INF] 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: null, 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,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: null, EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: null, EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], 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: "41", 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 }] }
[2021-10-11 13:59:39.785 +02:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2021-10-11 13:59:39.786 +02:00] [INF] Profile: "AndroidTV-libVLC", Path: "\\nas\public\video\Filme\ac3-sound-sample.vob", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:39.786 +02:00] [INF] Profile: "AndroidTV-libVLC", Path: "\\nas\public\video\Filme\ac3-sound-sample.vob", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:39.786 +02:00] [INF] Profile: "AndroidTV-libVLC", Path: "\\nas\public\video\Filme\ac3-sound-sample.vob", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:39.861 +02:00] [INF] 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: null, 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,ac3,eac3,aac_latm,mp3,mp2,dca,dts", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video", Type: Video }, DirectPlayProfile { Container: "aac,mp3,mpa,flac,wav,wma,mp2,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: "mkv", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,aac,mp3", Protocol: null, EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: null, EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], 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: "41", 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: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "6", 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: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Encode, 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 }] }
[2021-10-11 13:59:39.863 +02:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2021-10-11 13:59:39.864 +02:00] [INF] Profile: "AndroidTV-ExoPlayer", Path: "\\nas\public\video\Filme\ac3-sound-sample.vob", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:39.864 +02:00] [INF] Profile: "AndroidTV-ExoPlayer", No video direct play profiles found for "\\nas\public\video\Filme\ac3-sound-sample.vob" with codec "mpeg2video"
[2021-10-11 13:59:39.864 +02:00] [INF] Profile: "AndroidTV-ExoPlayer", Path: "\\nas\public\video\Filme\ac3-sound-sample.vob", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:39.864 +02:00] [INF] Profile: "AndroidTV-ExoPlayer", No video direct play profiles found for "\\nas\public\video\Filme\ac3-sound-sample.vob" with codec "mpeg2video"
[2021-10-11 13:59:39.864 +02:00] [INF] Profile: "AndroidTV-ExoPlayer", Path: "\\nas\public\video\Filme\ac3-sound-sample.vob", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2021-10-11 13:59:39.864 +02:00] [INF] Profile: "AndroidTV-ExoPlayer", No video direct play profiles found for "\\nas\public\video\Filme\ac3-sound-sample.vob" with codec "mpeg2video"
[2021-10-11 13:59:40.525 +02:00] [INF] Starting User Changes Sync...
[2021-10-11 13:59:40.820 +02:00] [INF] "USERSYNC" User "d8260fb6bcdb45fd8e8d380a6518fd21"("jellyfin") posted 2 Updates: "c0e74215cffb5875702a6d3b87ae6120,087bbcb9bd1c80808d4ecce8d46c5162"
[2021-10-11 13:59:40.821 +02:00] [INF] User Changes Sync Finished Taking "00:00:00.2951912"
[2021-10-11 14:00:02.856 +02:00] [INF] Playback stopped reported by app "Android TV" "0.12.1" playing "ac3-sound-sample". Stopped at "20832" ms
[2021-10-11 14:00:03.440 +02:00] [INF] Starting User Changes Sync...
[2021-10-11 14:00:03.715 +02:00] [INF] "USERSYNC" User "d8260fb6bcdb45fd8e8d380a6518fd21"("jellyfin") posted 2 Updates: "c0e74215cffb5875702a6d3b87ae6120,087bbcb9bd1c80808d4ecce8d46c5162"
[2021-10-11 14:00:03.715 +02:00] [INF] User Changes Sync Finished Taking "00:00:00.2739894"

FFmpeg logs

No FFmpeg logs in dashboard

Media info of the file

General
Complete name                            : ac3-sound-sample.vob
Format                                   : MPEG-PS
File size                                : 21.6 MiB
Duration                                 : 33 s 400 ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 5 421 kb/s

Video
ID                                       : 224 (0xE0)
Format                                   : MPEG Video
Format version                           : Version 2
Format profile                           : Main@Main
Format settings                          : CustomMatrix / BVOP
Format settings, BVOP                    : Yes
Format settings, Matrix                  : Custom
Format settings, GOP                     : M=3, N=12
Format settings, picture structure       : Frame
Duration                                 : 33 s 400 ms
Bit rate mode                            : Variable
Bit rate                                 : 4 929 kb/s
Maximum bit rate                         : 9 800 kb/s
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 25.000 FPS
Standard                                 : PAL
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Interlaced
Scan order                               : Top Field First
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.475
Stream size                              : 19.6 MiB (91%)

Audio
ID                                       : 189 (0xBD)-128 (0x80)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Muxing mode                              : DVD-Video
Duration                                 : 33 s 376 ms
Bit rate mode                            : Constant
Bit rate                                 : 384 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Stream size                              : 1.53 MiB (7%)
Service kind                             : Complete Main

==============================================================================================

General
Complete name                            : channelcheck-ddplus_480.mp4
Format                                   : MPEG-4
Codec ID                                 : dby1 (isom/mp42/dby1)
Codec ID/Hint                            : Dolby Extensions
File size                                : 13.8 MiB
Duration                                 : 1 min 18 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 1 475 kb/s
Encoded date                             : UTC 2010-07-29 05:31:47
Tagged date                              : UTC 2010-07-29 05:31:47
Writing application                      : Audio: Dolby Digital Plus Encoder 2.2.2 Video: Dicas H.264 Encoder 4.2.9 (win32)

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L3
Format settings                          : 2 Ref Frames
Format settings, CABAC                   : No
Format settings, Reference frames        : 2 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 1 min 18 s
Bit rate mode                            : Variable
Bit rate                                 : 1 220 kb/s
Maximum bit rate                         : 4 001 kb/s
Width                                    : 720 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 (29970/1000) FPS
Standard                                 : Component
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.118
Stream size                              : 11.4 MiB (82%)
Encoded date                             : UTC 2010-07-29 05:31:47
Tagged date                              : UTC 2010-07-29 05:31:47
Color range                              : Limited
Codec configuration box                  : avcC

Audio
ID                                       : 2
Format                                   : E-AC-3
Format/Info                              : Enhanced AC-3
Commercial name                          : Dolby Digital Plus
Codec ID                                 : ec-3
Duration                                 : 1 min 18 s
Bit rate mode                            : Constant
Bit rate                                 : 256 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Stream size                              : 2.40 MiB (17%)
Service kind                             : Complete Main
Encoded date                             : UTC 2010-07-29 05:31:47
Tagged date                              : UTC 2010-07-29 05:31:47

Application version

0.12.1

Device information

Amazon FireTV Cube V2

Android version

FireOS 7.2.4.2

Jellyfin server version

10.7.7

MovieWiz commented 3 years ago

I don't think this is a generic problem. I have a 2020 Fire Stick Lite and pass through is working great for me for both AC3 and EAC3. Note, however, that in the app's settings, I changed the player from Auto to ExoPlayer and left the audio playback mode as direct. If I left the player on auto, it appears that VLCLib was used and I did indeed get stereo PCM -- I think someone already posted an issue about VLCLib getting used on auto when ExoPlayer would have been a better choice.

I also have the audio settings set to passthrough in the FireTV Stick's settings.

If it matters, on the server side (Windows for me), I have transcoding and remuxing disabled for my user id.

I know the 0.12.x version was a pretty major upgrade with a huge number of changes. Congrats to the team. It's working very well.

zehnerGIT commented 3 years ago

@MovieWiz Thanks for your reply. Do you have an AC3 or an EAC3 capable receiver? EAC3 handling seems better than ever, even my NON-EAC3 receiver can now passthrough EAC3 videos since 12.0. Perhaps AC3 playback is only problematic on NON-EAC3 (old) hardware?

Transcoding should not be involved (dashboard says direct play) and with ExoPlayer forced, it's still PCM sound. The configuration of my FireTV should also be OK, if I play the AC3 sample on KODI (+JellyCon) on the same device, passthrough works. I can't change the playback mode of the app, DolbyDigital is checked (but grayed out), only DTS is checkable (and checked).

MovieWiz commented 3 years ago

My Fire Stick Lite (2020) is connected to my Yamaha RX-385 Receiver (first manufactured in 2018) through HDMI. The receiver handles both DD and DD+ and both pass through from the Jellyfin Android TV app. Now, I have a stick rather than an actual FireTV -- you never really said what FireTV device you were using. So I expect you have your TV hooked up to the receiver with an optical cable. So that's a different physical setup combined with audio settings on the TV that could be quite different from the fire stick -- and audio settings on TVs have been notoriously flakey, particularly when it comes to pass through.

One thing that is unique about the Fire Stick Lite is that it has no DD decoders of any kind. It only supports pass through. The regular Fire Stick has the DD decoders.

seniorm0ment commented 3 years ago

I notice issues on a Nvidia Shield TV first gen with EAC3. It plays when switching player in settings to libVLC. Auto and Exoplayer had no sound.

zehnerGIT commented 3 years ago

Now that 12.2 forces ExoPlayer, I can see, that the AndroidTVApp has tricked me. AC3 works with ExoPlayer, but most of the time not at the first attempt. If I stop and start the playback again (and sometimes it needs a third restart), then it uses passthrough. Not ideal, but I can live with that

ggogel commented 2 years ago

I have a Philips Android TV. It only supports AC3 pass-through with up to 192 kbit/s. My receiver would be able to handle EAC3 and DTS also but this is somehow a general limitation of AndroidTV, unless the manufacturer makes some specific changes, like with the NVidia Shield. On my device only AC3 passes-through. Everything else is received as PCM. I'm not sure if this is intended or a bug.

In Kodi there is a setting, which let's so you specifically choose which audio codecs are supported and then another setting that does a fallback transcode to AC3 if the codec isn't supported. If there would be such a feature in this app, it would be great.

zehnerGIT commented 2 years ago

The bitrate is not the problem on the FireTV Cube V2, all my AC3 files are recordings or dvd rips and have a bitrate of 384 or 448 kbit/s. Passthrough works with Kodi on the same device (and on all other devices), but not with the jellyfin client 0.12.3 (at the first click). I've to stop and restart the playback a few times and suddenly passthrough works (same file and all playback attempts are direct playback, no transcoding involved).

jellyfin-bot commented 2 years ago

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.