EAC3 to AC3 downconversion works only if FireTV is wrongfully to support Dolby Digital Plus

I’m using a Fire TV light connected to a TV that has a Toslink connection to my receiver.
It only supports Dolby Digital EX (and DTS ES and Dolby Pro Logic II). Not the new Dolby Digital Plus.

When I set my FireTV to “passthrough Dolby Digital Plus”, then Plex downconverts EAC3 (or DTS-HD) to AC3 just fine with the message that E-AC3 is not supported by this device.

When I set my FireTV to “passthrough Dolby Digital”, then Plex just displays a generic error message and doesn’t show the movie at all. Despite it clearly being capable of downconverting Dolby Digital Plus (E-AC3) to Dolby Digital (AC3).
“Es ist ein Fehler aufgerteten beim Versuch das Video abzuspielen. Bitte die Verbindung überprüfen und erneut versuchen.”

Of cause telling my FireTV that my receiver supports Dolby Digital Plus when it doesn’t,
has all kinds of side effects with other apps on the FireTV that are not capable of downconverting to AC3.

Plex Fire TV app settings: Set Passthrough = Optical. Then choose AC3 & DTS audio formats.

FireTV stick audio Settings: Best Available or Dolby Digital.

As described that’s exactly what I did (since my receiver IS connected via optical Toslink and does support AC3=Dolby Digital and DTS) and I get the generic error message described and can not play the movie at all unless I set the Plex FireTV to “Dolby Digital Plus” instead of “Dolby Digital”.

Did you set the Plex app to passthrough = optical?

It is separate from the FireTV audio settings. You did not mention it in your first post.

You can also try setting passthrough = none. You’ll probably end up with stereo audio, but the movie should play.

yes, I did and 5.1 sound does work when I use the wrong settings posted above.
Since my TV and receiver both doesn’t have HDMI-ARC, “passthrough=hdmi” wouldn’t work.
It’s just that with these wrong settings, all other apps that play anything beyond stereo stay silent.

Not sure what is happening. I tested with my system. TrueHD and EAC3 transcode to AC3, and AC3 & DTS passthrough. I’m using HDMI-ARC, not optical, but don’t believe that will matter as setting passthrough = optical tells the Plex app how to behave.

I’ve the FireStick 4K Max. As far as I know, the FireStick Light should behave the same way.

FireStick 4K Max ← HDMI → LG TV ← HDMI-ARC → Denon receiver

FireTV Stick audio: Dolby Digital
Plex app: Passthrough = optical, AC3 & DTS selected.
Plex app 8.31.1.31487

Interesting.
Is there any way to get a log file for the shown error message?
That would probably give some insight into what happens.

Enable logging in the Plex app on the FireStick. Settings → Advanced → Network Logging
You’ll see a URL in the lower right corner of the screen: http://[firestick_ip_address]:32500/logging
Re-create the problem.
Stop playback, but do not exit the Plex app.
Point your browser at the URL to see the log file.
Save as .txt, .log, etc.

Pull the server logs as well. Make sure your server is set for debug, not verbose, logs in SettingsServer_Name → General.

Settings → Troubleshooting → Download Logs.

I have a log of the error and of the working case.
Stack trace shows that the error happens when initializing the Google Exoplayer engine for audio playback.

The important part is:

03-27 21:47:42.640  i: [MediaDecisionEngine] Analyzing media: 1920x1080 7747kbps (Container: mkv, Video: h264, Audio: eac3)
03-27 21:47:42.649  i: [MediaDecisionEngine] Unable to direct play; E-AC3 wird von diesem Gerät nicht unterstützt.
...
03-27 21:47:42.804  i: [MediaDecisionEngine] Decision: CanPlay: true CanDirectPlay: false CanDirectStreamVideo: true CanDirectStreamAudio: false CanDirectPlaySubtitle: false CanTranscodeSubtitle: false CanDisplayVideo: true Transcode Reason: E-AC3 wird von diesem Gerät nicht unterstützt. 
...
03-27 21:47:44.600  i: [FFmpeg] [INFO] Demuxer has been successfully interupted.
03-27 21:47:44.601  i: [FF] Releasing demuxer.
03-27 21:47:44.603  i: [FFmpeg] [INFO] Demuxer closing.
03-27 21:47:44.604  i: [FFmpeg] [INFO] Demuxer has been interupted...
03-27 21:47:44.604  i: [FFmpeg] [INFO] Demuxer has been closed, interrupting FFmpeg...
03-27 21:47:44.606  e: [ExoPlayer][EventLogger] playerFailed [eventTime=6.86, mediaPos=0.00, window=0, period=0, errorCode=ERROR_CODE_AUDIO_TRACK_INIT_FAILED
  com.google.android.exoplayer2.o: MediaCodecAudioRenderer error, index=3, format=Format(1, null, null, audio/ac3, ac3, 8387000, englisch, [-1, -1, -1.0], [6, 48000]), format_supported=YES
      at com.google.android.exoplayer2.i1.handleMessage(SourceFile:43)
      at android.os.Handler.dispatchMessage(Handler.java:102)
      at android.os.Looper.loop(Looper.java:193)
      at android.os.HandlerThread.run(HandlerThread.java:65)
  Caused by: com.google.android.exoplayer2.audio.t$b: AudioTrack init failed 0 Config(48000, 252, 40000)
      at com.google.android.exoplayer2.audio.b0$c.b(SourceFile:5)
      at com.google.android.exoplayer2.audio.b0.F(SourceFile:2)
      at com.google.android.exoplayer2.audio.b0.U(SourceFile:2)
      at com.google.android.exoplayer2.audio.b0.g(SourceFile:16)
      at com.google.android.exoplayer2.audio.f0.Y(SourceFile:7)
      at r2.o.b(SourceFile:8)
      at r2.o.render(SourceFile:11)
      at com.google.android.exoplayer2.i1.q(SourceFile:14)
      at com.google.android.exoplayer2.i1.handleMessage(SourceFile:25)
      ... 3 more
      Suppressed: com.google.android.exoplayer2.audio.t$b: AudioTrack init failed 0 Config(48000, 252, 40000)
          ... 12 more
]
03-27 21:47:44.606  e: [Player][ExoPlayer] Playback error detected

when working it instead just goes on

03-27 22:21:25.023  i: [TranscodeSession] Resolution: -1x-1, Video: Remux, Audio: Transcode, Speed: 23.500000, Throttled: false
03-27 22:21:25.120  i: [PlayQueueAPIHelperBase] Result container=<MediaContainer mediaTagPrefix="/system/bundle/media/flags/" identifier="com.plexapp.plugins.library" playQueueVersion="1" playQueueID="75" size="1" playQueueSourceURI="..." playQueueShuffled="0" playQueueSelectedItemID="1358" playQueueSelectedMetadataItemID="62423" playQueueTotalCount="1" mediaTagVersion="1647864947" playQueueSelectedItemOffset="0" />
03-27 22:21:25.132  w: [RemotePlayQueue] Couldn't find item with PQ ID=null in current window.
03-27 22:21:25.137  w: [RemotePlayQueue] Couldn't find item with PQ ID=null in current window.
03-27 22:21:25.144  i: [DelayedPlayQueueBehaviour] New Play Queue: 75
03-27 22:21:25.181  i: [MediaSessionBehaviour] Player seeked, updating state to PLAYING
03-27 22:21:25.222  i: [PlaybackTimeBehaviour] Time: 292 IsStarted: true
03-27 22:21:25.245  i: [PlaybackTimeBehaviour] Time: 315 IsStarted: true

Sadly they use log4j or something, so it cuts off the stack trace but exoplayer2 seems to be obfuscated anyway and it can’t be interpreted in depth without the mapping file of that library version anyway.

Is there any support contact for Plex (instead of a public “users helping other users” forum, that I hand the full log to without posting it publicly?
As a paying customer the support page only lists this user-to-user forum, an FAQ and a contact purely for billing issues to use.

I have the server logs as well but there is no setting for log level.
Settings->Setting for → Settings->General only has

[X] Enable Plex Media Server debug logging
Debug logging enables additional detail in the log files and is helpful in diagnosing problems.

“Plex Transcoder Statistics” shows a transcoding of eac3 to ac3.
“Plex Media Server” and “com.plexapp.system” show an attemt to transcode eac3 to ac3 wile copying the video part. No error messages.

The only way is to wait for a Plex employee to post in the thread and when asked, you can direct message them to send the logs to them privately. I know, it doesn’t make sense for anyone, including Plex, never mind how mind blowingly frustrating it is for customers actually taking the time to report a bug/problem.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.