Repository navigation
Conversation
…'s header arrives
5 of 7 tasks
Contributor
Author
|
The Linux build and format failures aren't from this change: |
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.
In raising this pull request, I confirm the following (please check boxes):
Reason for this PR:
Sanity check:
Repro instructions:
RT78, on sample 72 (
dcada74…e1ce):Three captions that the RT78 reference shows for several seconds come out on master as a split second. Before #2292 they were zero-length (the third only in its first half).
Cause
This sample carries three pages with the subtitle flag set, all in parallel transmission mode: 333 (the page RT78 extracts), 777, and 444 (headers only).
#725 added a
de_ctrcounter totelxcc.c(1b3598b, narrowed in1513b7c). While our page has received rows, a subtitle-flagged header from another magazine is no longer ignored. It reachesprocess_page(), which ends our page at that header's timestamp and starts a new buffer.At all three captions, a magazine-7 header (7FF, 7FF, 777) arrives 20–40 ms after page 333's header: after its rows for the first two, and between them for the third, which is why it splits. Page 333's next header comes 3.74, 5.66 and 4.42 s later, with the erase bit set and no rows.
ETS 300 706 §7.2.1, also quoted in the comment above these checks, says a page "is terminated by and excludes the next page header packet having the same magazine address in parallel transmission mode". So a magazine-7 header doesn't end page 333. FFmpeg's libzvbi decoder agrees: it shows each of the three as one page, with no change at the magazine-7 headers.
Issue #699 (last lines missing from
.binoutput) was fixed by #725's other change, which writes the final page at end of input (rcwt_loop(),telxcc_close()). In #725's review, alexbrt noted that "the fix for the multiple lines shouldn't affect timing at all".Builds of #725 and its parent (the first two match the platform's output for those commits):
4438e6c(#725's parent)84f651b…(test 676)fdd5b6b(#725 merged)1928f66…(test 677)fdd5b6b, onlytelxcc.creverted84f651b…Fix
Remove
de_ctrand the three conditions that use it, so headers of other pages are ignored again, as before #725. The end-of-input flush and the multi-page logic from #665 are unchanged.Testing
Master (
d7eb132e) vs master + this commit, built withlinux/build -hardsubx(Ubuntu 24.04, aarch64):.bingives the same 14 cues as the original file (12 before Issue 699 solved #725).Notes