Skip to content

Comments

Playback: fall back to transcoding on player errors#5399

Open
nalet wants to merge 1 commit intojellyfin:masterfrom
nalet:fix/player-error-fallback-transcode
Open

Playback: fall back to transcoding on player errors#5399
nalet wants to merge 1 commit intojellyfin:masterfrom
nalet:fix/player-error-fallback-transcode

Conversation

@nalet
Copy link

@nalet nalet commented Feb 7, 2026

Changes

  • Make playback more robust by falling back to a more conservative server playback plan after runtime player/decoder failures.
  • Add allowAudioStreamCopy / allowVideoStreamCopy to playback options (and pass them into the playback info request; previously hard-coded to true).
  • Implement a retry ladder on player errors: first force audio transcode, then force video transcode and request stereo downmix, while keeping the existing direct play/direct stream disabling behavior.
  • Improve player error logging and suppress the first retry toast when an immediate auto-recovery is expected.

Code assistance

  • Used OpenAI Codex for debugging guidance (logcat/Media3 error analysis) and drafting the code changes.
  • All changes were reviewed and tested on-device.

Issues
Fixes #5398

Some devices fail direct play at runtime due to decoder/init issues even when the server playback plan marks the stream compatible.

Add allowAudioStreamCopy/allowVideoStreamCopy options and a conservative retry ladder:
- retry 1: force audio transcode (disallow audio stream copy)
- retry 2: force video transcode (disallow video stream copy) + request stereo downmix

Also improve error logging and suppress the first retry toast when we expect an immediate auto-recovery.
@nielsvanvelzen
Copy link
Member

Please fill in the pull request template as requested

@nalet
Copy link
Author

nalet commented Feb 7, 2026

Filled out the PR template sections (Changes, Code assistance, Issues) at the top of the description.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Playback fails at runtime on some Android TV decoders (AAC channelCount=0), should fall back to transcode

2 participants