Skip to content

Widen the MSE probe to audio, detached elements and the scene at a stall; name the stub in the working report (#100, #105) - #121

Merged
PatrickSt1991 merged 1 commit into
mainfrom
mse-scene
Oct 3, 2026
Merged

PatrickSt1991 merged 1 commit into
mainfrom
mse-scene

Conversation

@PatrickSt1991

Copy link
Copy Markdown
Contributor

Two reports came in on 2026-10-03 and this is the build after both.

#100 — the freeze trail, with the hold in. FUSIONOF's gist (a build-e1a648d page with the whole native output) is the first trail to show the one-video hold and a freeze side by side. The hold did its job: the live stream next in the feed was held at rs0 ns0, its HEVC pipeline opened only on the release, and it then played. The reel on screen stopped anyway with the whole reel buffered, and at that second the native output has a fourth pipeline — GstTZAppSrc → omxtzaudiodec3 → mmaudiosink3, no video decoder — that nothing the probe watched had asked for. The probe watched <video> elements in the document and nothing else. So NuiMseWatch now:

  • takes <audio> elements in the same listeners, named from the shared namer and marked (audio);
  • wraps the src/srcObject setters and load() on HTMLMediaElement.prototype, pass-through, and writes v4 src blob not ours, detached / v4 load() ..., detached for an element that is not in the document, keeping such elements by WeakRef only (a strong list would keep a dead element's pipeline alive, which is the thing being hunted);
  • lists the document's video and audio elements and then the detached ones at a stall, four at most;
  • ends every stall with scene: N video, N audio in the document, N detached known, N iframes (N not ours).

The hold is unchanged. tools/msewatch/run.sh holds the new behaviour (audio named and listed, detached src and load() each leaving a line and the element listed, the setter reading back and reaching the attribute, a refused srcObject throwing the engine's own TypeError and leaving no line, the scene line telling about:blank from another origin) and passes; tools/msehold/run.sh still passes.

#105 — the AU7200 runs Overscan. sahlansahin's build-91f53ce page: ledger written on the first launch, and on the second the ladder, the census (the predicted four PS_* names exactly), engine stub: loaded from …, Chromium initialized, refcount=1, WebView created, the start screen loaded. The page a running engine serves had no engine stub: header line — only the failure page and the no-provider page did — so it gets one under engine init:.

INTERNALS has both readings (The hold held, and the reel froze anyway; the AU7200 paragraph under The census came back, and the stub ships) and the two state sections say what the next page decides. ./build.sh all passes.

…all; say in the working report's header that the stub is in (#100, #105)

FUSIONOF's 2026-10-03 page (build-e1a648d) is the first trail with the one-video
hold in and a freeze anyway: the live stream next in the feed was held at rs0 ns0
and its HEVC pipeline opened only on the release, the reel on screen stopped with
the whole reel buffered, and at that second the native output has a fourth
pipeline with an audio decoder and no video decoder that nothing the probe
watched asked for. The probe watched <video> elements in the document and nothing
else. It now names <audio> elements too, writes down a src, srcObject or load()
on a media element that is not in the document (from the prototype, pass-through,
the element kept by WeakRef only) and lists such elements at a stall, and closes
every stall with a scene line: video, audio, detached-known and foreign-frame
counts. The hold is unchanged. tools/msewatch holds all of it.

sahlansahin's 2026-10-03 page (build-91f53ce) says the AU7200 runs Overscan with
the stub in: refcount=1, WebView created, start screen loaded. The page a running
engine serves had no engine stub: header line (only the failure page and the
no-provider page did), so it gets one under engine init:.

INTERNALS records both readings; the 2025-sets and issue 105 state sections say
what the next page decides.
@PatrickSt1991
PatrickSt1991 merged commit ab20b83 into main Oct 3, 2026
7 checks passed
@PatrickSt1991
PatrickSt1991 deleted the mse-scene branch October 3, 2026 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant