Repository navigation
Recover transient encoder inputs and preserve retry budgets - #27
Merged
Merged
Conversation
davidvanleeuwen
force-pushed
the
fix/encoding-input-reliability
branch
from
October 23, 2026 16:21
4096d8d to
c56b625
Compare
davidvanleeuwen
marked this pull request as ready for review
October 23, 2026 16:33
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Transient storage reads can fail an HLS step immediately, or terminate a video retry cycle early when a gateway error becomes a streamed error. The input broker also obscures permanent HTTP failures as 502s, making retry decisions unreliable.
Retry scoped, idempotent broker reads with a bounded budget; retain HTTP error status without exposing upstream response bodies or credentials. Enable bounded reconnection for all encoded formats only when the source supports resuming. Keep interrupted, non-resumable output failed. Classify transient HLS video failures and preserve the retry budget already granted within an automatic cycle.
Regression tests reproduce the old classification/budget failures. Real FFmpeg tests assert every expected frame in recovered H.264, HEVC and AV1 outputs, and reject incomplete media. Also fix an HLS test fixture that restored an absent adapter as nil and contaminated subsequent tests.
Validation: