TrueHD/MLP audio transcodes fail — transcoder writes `.mlp` files into EAE

Environment

  • PMS: 1.43.3.10828-00f62d37d (macOS, darwin-aarch64), auto-updated from 1.43.2.10687-563d026ea on 2026-07-15
  • Host: Mac Studio (Mac13,1, M1 Max), macOS 26.5.1 (build 25F80)
  • EAE codec package: EasyAudioEncoder-0dd4de86f2b9bb8b9b397a90-darwin-aarch64 (also re-downloaded fresh from downloads.plex.tv — identical behavior)

Summary

After updating to 1.43.3.10828, every transcode of TrueHD (and MLP) audio fails. The transcoder log fills with thousands of repeats of:

ERROR - [Req#.../Transcode/...] [truehd_eae @ 0x...] error reading output: -1313558101 (Unknown error occurred)
ERROR - [Req#.../Transcode/...] [aist#0:1/truehd @ 0x...] Error submitting packet to decoder: Unknown error occurred

Clients spin forever on playback start. This also affects scheduled intro/credits detection on TrueHD items, which floods and rotates away all server logs (~10 MB every 2–3 minutes while a job is stuck).

EAC3 paths (eac3_eae encode and decode) are not affected. The same EAE build transcoded TrueHD fine on 1.43.2.10687 until the moment of the update, so the regression is on the transcoder side of the handoff.

Root cause (isolated repro outside PMS)

Running EasyAudioEncoder standalone (so its stdout is visible) and invoking the 1.43.3 Plex Transcoder against it directly:

cd /tmp/eae-test && /path/to/Codecs/EasyAudioEncoder-.../EasyAudioEncoder/EasyAudioEncoder &   # creates its watch dirs in cwd

EAE_ROOT=/tmp/eae-test "/Applications/Plex Media Server.app/Contents/MacOS/Plex Transcoder" \
  -codec:1 truehd_eae -eae_prefix:1 test_ -t 10 \
  -i "input-with-truehd.mkv" -map 0:1 -codec:a pcm_s16le -y /tmp/out.wav

Observed:

  1. The transcoder drops its intermediate input files into Convert to WAV (to 8ch or less)/ with an .mlp extension, e.g. test_13058-0-18197.mlp
  2. EAE prints No data written! for each file and never produces WAV output
  3. ffmpeg then loops [truehd_eae] error reading output: -1313558101 (-1313558101 is the FourCC “UNKN”)

So the 1.43.3 transcoder writes an intermediate format/naming for TrueHD that the currently-distributed EAE build does not accept. Either the transcoder should go back to the extension/container EAE expects, or a matching EAE build needs to ship — downloads.plex.tv/codecs/.../EasyAudioEncoder-darwin-aarch64-standard.zip still serves version 0dd4de86f2b9bb8b9b397a90 for this PMS build.

What I ruled out

  • Clean PMS restart (fresh EAE_ROOT, fresh Plex EAE Service process) — no change
  • Deleting Codecs/EasyAudioEncoder* and letting PMS re-download — no change (same version served)
  • Disk space (773 GB free), permissions, quarantine/codesign on the EAE binary — all fine
  • EAC3 encode/decode through the same standalone EAE instance — works, so the EAE service itself is alive and the watchfolder handshake is fine for other codecs

Impact

Any client that can’t direct-play TrueHD (Apple TV etc.) fails on all TrueHD content; nightly analysis tasks on TrueHD items burn CPU and destroy log history via rotation.