Repository navigation
Hold the reel sourced in the gap before a live stream, and name the three starts the probe could not see (#100) - #127
Merged
Merged
Conversation
…hree starts the probe could not see (issue 100)
FUSIONOF's 2026-10-05 page (build-b019483, the first with the this-run trail,
the detached and audio lines and the scene line in) carries the live-stream
freeze with the hold on, and it is two stalls.
The live stream itself froze because of a hole in the hold: at the swipe TikTok
pauses the reel, sets the reel after the live stream on its spare element, and
only then plays the live stream. In that tick nothing was playing, busy() found
no one, the source went through, and the engine built its pipeline a second and
a half after the live stream's; the live stream never left 5.8 s. On 2026-10-03
the same tick was sourced and the engine happened to build nothing until the
swipe, and that live stream played. busy() now also returns another <video>
that is held, since a held element is the one about to play, and the line says
`hold v1 blob while v5 is held`. currentSrc reads a held URL back too; TikTok's
preloader logged `empty src is invalid` three times, each after a hold.
The reel in front of the live stream froze exactly as on the 3rd: the combined
avc1+mp4a codec ask, the audio-only appsrc pipeline within half a second, the
reel stopped with 49 s buffered, and the widened probe saw nothing: no (audio),
no detached, scene 2 video / 0 audio / 1 inert detached / 0 iframes. So the
element starts by a call none of the wraps see. NuiMseWatch now wraps play() on
the media prototype (reported for a detached element, an <audio>, or one it has
no event from), the Audio constructor, and setAttribute('src') on a media
element outside the document, pass-through as the rest, and a stall lists six
other elements rather than four.
tools/msehold holds the gap and currentSrc; tools/msewatch holds the three
wraps. INTERNALS: *The gap between two reels, and the pipeline nobody asked
for*, and the 2025-sets state bullet names what the next page decides.
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.
Issue #100, FUSIONOF's 2026-10-05 page from
build-b019483: the live-stream freeze with the hold on, thethis runtrail and the native output in one page. It is two stalls, a minute apart.The live stream itself (15:06:04) is ours. At the swipe TikTok pauses the reel, sets the reel after the live stream on its spare element, and only then plays the live stream. In that tick nothing was playing,
busy()found no one, the source went through, and the engine built its pipeline 1.5 s after the live stream's (omxtzuhdvideodec22at 15:06:04.9 besideomxtzh265dec0at 15:06:03.4). The live stream never left 5.8 s and sat atrs1for forty seconds until the swipe. On 2026-10-03 the same tick was sourced the same way, the engine happened to build nothing until the swipe, and that live stream played.NuiMseHold.busy()now also returns another<video>that is held: a held element is the one about to play. The line sayshold v1 blob while v5 is held. The chain of holds still only starts while a video plays and ends at the page playing, re-sourcing or removing each held source.currentSrcreads a held URL back, assrcand the attribute already did. TikTok's preloader loggedempty src is invalidthree times, each after a hold.The reel in front of the live stream (15:05:47) is the 3 October freeze again, to the second: the combined
avc1.64001f,mp4a.40.2ask (seen nowhere else in either trail), an audio-only appsrc pipeline within half a second, the reel stopped with 49 s buffered, and the widened probe saw nothing: no(audio), nodetached,scene: 2 video, 0 audio in the document, 1 detached known, 0 iframes. So that element starts by a call none of the wraps see. Read-only,NuiMseWatchnow wraps:play()on the media prototype, written down for an element that is detached, an<audio>, or one the probe has no event from yet;Audioconstructor (new Audio(url)sets its source inside the engine, no setter runs);setAttribute('src')on a video or audio element outside the document.A stall lists six other elements rather than four so the detached ones are not pushed off.
tools/msehold/run.shholds the gap (held while another element is held, released onplay(), untouched when nothing plays and nothing is held) andcurrentSrc;tools/msewatch/run.shholds the three wraps to passing the original's return and promise back and the elements being listed at the stall. Both pass../build.sh nuibuilds clean.INTERNALS: The gap between two reels, and the pipeline nobody asked for, and the 2025-sets state bullet says what the next page decides: a live stream playing through with
while vN is heldin front of the reel after it is the first fixed; anew Audio/setAttribute src/play() … detachedline before the otherstallnames the element the hold has to learn; nothing stirring with those in is the engine's own, and the pause/play recovery ships.