[Bug]: eac3 files not playing on pixel 9 pro #1312

Open
opened 2026-04-24 23:57:05 +02:00 by adam · 3 comments
Owner

Originally created by @ghost on GitHub (Dec 3, 2025).

I have verified that the bug is not already awaiting release

Yes

What was the Problem?

When I try to play a eac3 file, I get a "stream error" in the Android app on the Pixel 9 Pro Android 16.

I tried two other Android devices where it plays but without sound. Android 15 and 16.

Works fine in Browser.

The error also triggers a STREAM-CHECK] Check Files.

Server log:

[2025-12-03 17:17:13.237] INFO: [PlaybackSessionManager] startSession: Closing open session "ASMR Sleep" for user "Volodymyr" (Device: Pixel 9 Pro XL SDK 36 / v0.10.1-beta)

[2025-12-03 17:17:13.387] INFO: [INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -ss 193.4s -noaccurate_seek -i /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/files.txt -y -loglevel error -map 0:a -c:a aac -b:a 768000 -ac 6 -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 585 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/output-%d.ts /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/final-output.m3u8

[2025-12-03 17:17:13.387] INFO: 

[2025-12-03 17:17:13.536] WARN: File path does not exist /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/output-590.ts

[2025-12-03 17:17:13.552] WARN: File path does not exist /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/output-590.ts

[2025-12-03 17:17:14.564] WARN: File path does not exist /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/output-590.ts

Steps to Reproduce the Issue

  1. Open the App
  2. Press play on eac3 Audio File
  3. Stream Error

What was Expected?

Audiofile plays normal.

Phone Model

pixel 9 pro xl

Phone OS

Android 16

Audiobookshelf App Version

Android App - 0.11.0

Installation Source

Other (List in "Additional Notes")

Additional Notes

log says app version v0.10.1-beta but i am on 0.11.0-beta.

Originally created by @ghost on GitHub (Dec 3, 2025). ### I have verified that the [bug is not already awaiting release](https://github.com/advplyr/audiobookshelf-app/issues?q=is%3Aissue%20label%3A%22awaiting%20release%22) Yes ### What was the Problem? When I try to play a eac3 file, I get a "stream error" in the Android app on the Pixel 9 Pro Android 16. I tried two other Android devices where it plays but without sound. Android 15 and 16. Works fine in Browser. The error also triggers a STREAM-CHECK] Check Files. Server log: ``` [2025-12-03 17:17:13.237] INFO: [PlaybackSessionManager] startSession: Closing open session "ASMR Sleep" for user "Volodymyr" (Device: Pixel 9 Pro XL SDK 36 / v0.10.1-beta) [2025-12-03 17:17:13.387] INFO: [INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -ss 193.4s -noaccurate_seek -i /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/files.txt -y -loglevel error -map 0:a -c:a aac -b:a 768000 -ac 6 -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 585 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/output-%d.ts /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/final-output.m3u8 [2025-12-03 17:17:13.387] INFO: [2025-12-03 17:17:13.536] WARN: File path does not exist /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/output-590.ts [2025-12-03 17:17:13.552] WARN: File path does not exist /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/output-590.ts [2025-12-03 17:17:14.564] WARN: File path does not exist /metadata/streams/541c9b0f-84eb-4c2d-b89e-e34994bc8472/output-590.ts ``` ### Steps to Reproduce the Issue 1. Open the App 2. Press play on eac3 Audio File 3. Stream Error ### What was Expected? Audiofile plays normal. ### Phone Model pixel 9 pro xl ### Phone OS Android 16 ### Audiobookshelf App Version Android App - 0.11.0 ### Installation Source Other (List in "Additional Notes") ### Additional Notes log says app version v0.10.1-beta but i am on 0.11.0-beta.
adam added the bug label 2026-04-24 23:57:05 +02:00
Author
Owner

@Klaesy commented on GitHub (Dec 3, 2025):

Support was only recently added to the browser: https://github.com/advplyr/audiobookshelf/pull/4808

Someone commented a link on how to add support for it on Android:
https://github.com/advplyr/audiobookshelf/issues/4798#issuecomment-3506741525

On my Pixel 7a the files play, but no sound is coming through unfortunately.

@Klaesy commented on GitHub (Dec 3, 2025): Support was only recently added to the browser: https://github.com/advplyr/audiobookshelf/pull/4808 Someone commented a link on how to add support for it on Android: https://github.com/advplyr/audiobookshelf/issues/4798#issuecomment-3506741525 On my Pixel 7a the files play, but no sound is coming through unfortunately.
Author
Owner

@kpmgeek commented on GitHub (Dec 14, 2025):

Unfortunately that code example relies on the device having system level Dolby decoder support.

For example your Pixel 7a doesn't have it, and neither does my Unihertz Titan 2. Not sure why you're getting a stream error as opposed to the behavior I have of it just not decoding audio as it plays. On the other hand a friend of mine has a Motorola Razr where, though she uses Lissen, it just works natively because it can decode it on a system level.

So the options are either either pursuing an implementation where the open source decoder by ffmpeg is used for just eac3 files, which is legally dubious to package in a binary in some countries, or identifying these files and requesting a transcoded version from the server like the browser version implements.

@kpmgeek commented on GitHub (Dec 14, 2025): Unfortunately that code example relies on the device having system level Dolby decoder support. For example your Pixel 7a doesn't have it, and neither does my Unihertz Titan 2. Not sure why you're getting a stream error as opposed to the behavior I have of it just not decoding audio as it plays. On the other hand a friend of mine has a Motorola Razr where, though she uses Lissen, it just works natively because it can decode it on a system level. So the options are either either pursuing an implementation where the open source decoder by ffmpeg is used for just eac3 files, which is legally dubious to package in a binary in some countries, or identifying these files and requesting a transcoded version from the server like the browser version implements.
Author
Owner

@GrakovNe commented on GitHub (Jan 19, 2026):

I fixed this recently in Lissen.

The issue with Pixel devices is that Google, for its own reasons, does not support the E-AC3 hardware codec. To reliably play such files, the app needs the ability to force-switch to a software codec set via settings.

If this helps, here is an MR from my Lissen with a working implementation and a dependency on a ready-made, license-compliant ffmpeg build:
https://github.com/GrakovNe/lissen-android/pull/332

There is also a short video demonstrating the UI/UX:
https://youtube.com/shorts/0UNENvE6jdo

It is important that the user can continue using the standard codec set, because hardware decoding is significantly more efficient in terms of battery and memory usage.

@GrakovNe commented on GitHub (Jan 19, 2026): I fixed this recently in Lissen. The issue with Pixel devices is that Google, for its own reasons, does not support the E-AC3 hardware codec. To reliably play such files, the app needs the ability to force-switch to a software codec set via settings. If this helps, here is an MR from my Lissen with a working implementation and a dependency on a ready-made, license-compliant ffmpeg build: https://github.com/GrakovNe/lissen-android/pull/332 There is also a short video demonstrating the UI/UX: https://youtube.com/shorts/0UNENvE6jdo It is important that the user can continue using the standard codec set, because hardware decoding is significantly more efficient in terms of battery and memory usage.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf-app#1312