Server Version#: 1.4.3.0.10389 (Mac mini M4, 16 GB RAM, macOS 26.2)
Player Version#: 2026.0.1 (1523) (iPhone 16 Pro Max, iOS 26.2.1)
Tuner Make/Model: HDHomeRun FLEX 4k
Guide/Lineup name: Antenna (Local Broadcast Listings)
Using XMLTV?: No
Channel number/Name: All
Issue Summary
Often times, selecting a live channel from my HDHomeRun source on iOS results in an error and the channel fails to stream. This occurs on WiFi or my cellular network. My HDHomeRun signal strength, signal quality, and symbol quality are all at or near 100% on the related channels, and my home network is an AT&T Gigabit Fiber connection with the HDHomeRun and Plex Server both wired via Ethernet. In this post, I will document reproducible steps that result in the problem, note a series of related errors, and discuss a temporary workaround when encountering this issue/series of issues.
Affected Platforms
-
iOS only (iPhone, iPad)
-
macOS and Apple TV are NOT affected
-
This appears to be transcoding related, and my macOS, Apple TV, and web services all use original/non-transcoded streams.
-
It is my understanding that at some point in June of last year, Plex pushed out an iOS update that forces transcoding for all Live TV streams.
Scenario 1: Select first channel and wait to load
WORKS
- Open Plex for iOS (I’m using my iPhone but see the same behavior on iPad.)
- Select the Live TV section (Note that no channels are loaded until selected.)
- Select a channel
- Observe that the channel stream loads as expected
Scenario 2: Select first channel but select second channel before first channel loads
WORKS
- Open Plex for iOS
- Select the Live TV section
- Select a channel
- Before the requested channel loads, select a different second channel
- Observe that the channel initially fails to load
- iOS error presented: “Failed to fetch play queue response”
- However, in this scenario, the player will recover and successfully play the requested second channel. The presented error in this scenario automatically dismisses.
Scenario 3: After first channel loads, select a second channel
FAILS
- Open Plex for iOS
- Select the Live TV section
- Select a channel
- Observe that the channel stream loads as expected
- Select a different second channel
- Observe that the second channel fails to load
- iOS error presented: “Recording failed. Please check your tuner or antenna.”
Scenario 4: After second channel fails, select a third channel
FAILS
- Continues from step 7 in Scenario 3
- Select a different third channel
- Observe that the third channel fails to load
- iOS error presented: “Conversion failed. The transcoder process crashed.”
Scenario 5: After third channel fails, select a fourth channel
WORKS
- Continues from step 4 in Scenario 4
- Select a different fourth channel
- Observe that the fourth channel channel stream loads as expected
- Once you observe the “Conversion failed. The transcoder process crashed.” error, selecting a different channel works again.
Temporary Workaround
WORKS
If at any point you receive an error when selecting a channel, navigating away from the Live TV section from the tab bar and then navigating back to the Live TV section will reset the section and the first channel you select will play as expected.
Potential Issue
I’m noting this as potential, because I am not an engineer. However, to assist in tracking down this issue, I fed console logs into Claude AI while I was triggering various loading errors and had it speculate as to the underlying issue.
Claude speculates that the issue is a server-side session management bug. Claude notes that the Plex Media Server fails to properly terminate Tier 2 (universal transcode) sessions when Tier 1 (HDHomeRun stream) sessions are cancelled during channel switching.
When the “Recording failed. Please check your tuner or antenna.” is presented, an orphaned Tier 2 (universal transcode) session is trying to read from a dead Tier 1 (HD HomeRun) session during playback. When the “Conversion failed. The transcoder process crashed.” is presented, an orphaned Tier 2 (universal transcode) session is trying to read from a dead Tier 1 (HD HomeRun) session at FFmpeg startup.
The Failure Cascade
CHANNEL SWITCH (Channel A → Channel B)
↓
iOS cancels Channel A, requests Channel B
↓
Server kills Tier 1 (HD HomeRun session for Channel A)
↓
Server starts Tier 1 for Channel B
↓
BUT: Tier 2 (universal transcode) for Channel A is still running
↓
Tier 2 for Channel A tries to read from DEAD Tier 1 for Channel A
↓
Gets 404 errors
↓
Eventually terminates with "Recording failed" or "Conversion failed"
Key Changes Needed According to Claude
-
Track session dependencies
- When universal transcode starts, register it as child of HD HomeRun session
-
Cascade termination
- When HD HomeRun session is killed, immediately kill all dependent transcoders
-
Prevent orphans
- Don’t allow child sessions to outlive their parents
-
Better error messages
- “Session terminated during channel change” instead of “Recording failed” and “Conversion failed”