Repository navigation
Conversation
4 tasks done
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.
A persistent HTTP/1.1 HLS reader can start the next segment while its FIFO is already full. When the final offered body chunk crosses the 16 MiB ceiling,
pendingbecomes empty andstreamreturns without enteringappend's backpressure wait. The next iteration then opens another request. This is the production boundary behind the existing macOS failure observed on #825, whose subtitle changes do not touch this path.Check FIFO admission before each sequential segment request. The current body still downloads to completion, preserving #816's slow-origin behavior and keeping the connection idle between requests. The wait stays on the existing
BlockingWorkproducer executor. Consumption, seek, close and cancellation wake it; failed/closed or superseded generations cannot proceed from the wait. No public API, timeout, default transport or dependency changes.Keep the original mid-segment full-buffer regression. Add a final-chunk witness through the real loopback origin, ingest FIFO and transport, with four outcomes (consume, seek, close, cancel) and both clear and AES-128 next segments. It checks no early segment/key request, complete bytes after resume, the correct post-seek marker, one connection/one request in flight and no late request after retirement. Blocking test reads run on detached test threads and cancellation closes the reader.
Upstream context: #732 and merged #816 implement streaming and segment-boundary backpressure; this fixes the no-pending-remainder gap in that implementation. Affected production/test code matches main
151322d1b843b4414a0fcffa9ed44e8b3a9d087e. This independent fix does not change #825's bitmap-subtitle scope.Validation on Apple Silicon Mac17,3, macOS 26.7.1 / Swift 6.4:
git diff --checkpass.Other platforms and all-traits coverage are left to CI. The fixture is synthetic MPEG-TS; no new physical-device playback acceptance is claimed.