From 698edd90b32981a68b16185e3b3d8f7b9de90331 Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:10 +0100 Subject: [PATCH 01/17] fix(mediaplayer): bound RTSP auth base64 and cap RTP reassembly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A rtsp://user:pass@host URL could drive the Basic-auth base64 encoder past authb64[256]: a maximal 255-byte user:pass encodes to 340 bytes, an 85-byte out-of-bounds write into adjacent stack fields. Size authb64 for the true maximum and bound the encode loop. The RTP reassembly buffers (access unit, FU, afrag) also grew without limit — a server that never sets the marker bit could exhaust memory — and grow()'s doubling overflowed to a negative int near INT_MAX. Add a 16 MiB ceiling with 64-bit math, and drop the whole access unit/frame when the cap is hit (latching the audio discard across the frame's packets) rather than flushing a truncated one to the decoder. Read the RTP timestamp through uint32_t so rtp[4] << 24 can't shift a byte >= 128 into the int sign bit (signed-overflow UB in depkt_video/depkt_audio). --- .../Native~/protocol/basis_rtsp.c | 62 ++++++++++++++----- 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_rtsp.c b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_rtsp.c index 9a303cfb7..5a5e79e35 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_rtsp.c +++ b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_rtsp.c @@ -79,7 +79,9 @@ typedef struct { basis_io_t* io; int cseq; char session[128]; - char authb64[256]; /* Basic auth value, or empty */ + char authb64[344]; /* Basic auth value, or empty. Sized for base64 of the + * longest user:pass the URL can carry (up[256] below): + * 4*ceil(255/3) = 340 chars + NUL. */ char last_status[160]; /* last response status line, for diagnostics */ char www_auth[256]; /* last WWW-Authenticate header value, if any */ char location[1024]; /* last Location header (redirects) */ @@ -309,6 +311,7 @@ typedef struct { * of one AU share an RTP timestamp. */ uint8_t* afrag; int afrag_len, afrag_cap; int afrag_active; /* a reassembly is in flight */ + int afrag_drop; /* frame discarded (over cap): skip its remaining packets */ int64_t afrag_rel; /* base-relative extended ts of the AU */ uint8_t* fu; int fu_len, fu_cap; /* FU reassembly */ @@ -324,17 +327,26 @@ typedef struct { static const uint8_t SC4[4] = {0,0,0,1}; -static int grow(uint8_t** b, int* cap, int need) { +/* Per-AU / per-fragment reassembly ceiling. A server that never sets the RTP + * marker (or streams FU/afrag forever) would otherwise grow these without bound; + * a real assembled frame stays well under this. */ +#define RTP_MAX_BUF (16 * 1024 * 1024) + +static int grow(uint8_t** b, int* cap, int need, int max) { if (need <= *cap) return 1; - int nc = *cap ? *cap * 2 : 65536; + if (need < 0 || need > max) return 0; /* refuse a hostile / overflowed target */ + int64_t nc = *cap ? *cap : 65536; while (nc < need) nc *= 2; + if (nc > max) nc = max; uint8_t* nb = (uint8_t*)realloc(*b, (size_t)nc); if (!nb) return 0; - *b = nb; *cap = nc; return 1; + *b = nb; *cap = (int)nc; return 1; } static void au_append_nal(depkt_t* d, const uint8_t* nal, int len) { - if (!grow(&d->au, &d->au_cap, d->au_len + 4 + len)) return; + /* Over the cap: mark the whole AU dropped so deliver_au discards it rather + * than hand the decoder a partial NAL missing this slice. */ + if (!grow(&d->au, &d->au_cap, d->au_len + 4 + len, RTP_MAX_BUF)) { d->v_drop = 1; return; } memcpy(d->au + d->au_len, SC4, 4); d->au_len += 4; memcpy(d->au + d->au_len, nal, len); d->au_len += len; } @@ -394,7 +406,7 @@ static void depkt_video(depkt_t* d, const uint8_t* rtp, int len) { if (len < 12) return; int cc = rtp[0] & 0x0F; int marker = (rtp[1] >> 7) & 1; - uint32_t ts = (rtp[4] << 24) | (rtp[5] << 16) | (rtp[6] << 8) | rtp[7]; + uint32_t ts = ((uint32_t)rtp[4] << 24) | (rtp[5] << 16) | (rtp[6] << 8) | rtp[7]; int hdr = 12 + cc * 4; if ((rtp[0] & 0x10)) { /* extension */ if (len < hdr + 4) return; @@ -426,15 +438,17 @@ static void depkt_video(depkt_t* d, const uint8_t* rtp, int len) { int s = (p[1] >> 7) & 1, e = (p[1] >> 6) & 1; int otype = p[1] & 0x1F; if (s) { d->fu_active = 1; d->fu_len = 0; d->fu_nal_header0 = (uint8_t)((p[0] & 0xE0) | otype); } - if (d->fu_active && grow(&d->fu, &d->fu_cap, d->fu_len + (plen - 2))) { - memcpy(d->fu + d->fu_len, p + 2, plen - 2); d->fu_len += plen - 2; + if (d->fu_active) { + if (grow(&d->fu, &d->fu_cap, d->fu_len + (plen - 2), RTP_MAX_BUF)) { + memcpy(d->fu + d->fu_len, p + 2, plen - 2); d->fu_len += plen - 2; + } else { d->v_drop = 1; d->fu_active = 0; } /* over cap: drop the AU */ } if (e && d->fu_active) { - if (grow(&d->au, &d->au_cap, d->au_len + 4 + 1 + d->fu_len)) { + if (grow(&d->au, &d->au_cap, d->au_len + 4 + 1 + d->fu_len, RTP_MAX_BUF)) { memcpy(d->au + d->au_len, SC4, 4); d->au_len += 4; d->au[d->au_len++] = d->fu_nal_header0; memcpy(d->au + d->au_len, d->fu, d->fu_len); d->au_len += d->fu_len; - } + } else { d->v_drop = 1; } d->fu_active = 0; } } @@ -458,16 +472,18 @@ static void depkt_video(depkt_t* d, const uint8_t* rtp, int len) { d->fu_nal_header0 = (uint8_t)((p[0] & 0x81) | (otype << 1)); d->fu_nal_header1 = p[1]; } - if (d->fu_active && grow(&d->fu, &d->fu_cap, d->fu_len + (plen - 3))) { - memcpy(d->fu + d->fu_len, p + 3, plen - 3); d->fu_len += plen - 3; + if (d->fu_active) { + if (grow(&d->fu, &d->fu_cap, d->fu_len + (plen - 3), RTP_MAX_BUF)) { + memcpy(d->fu + d->fu_len, p + 3, plen - 3); d->fu_len += plen - 3; + } else { d->v_drop = 1; d->fu_active = 0; } /* over cap: drop the AU */ } if (e && d->fu_active) { - if (grow(&d->au, &d->au_cap, d->au_len + 4 + 2 + d->fu_len)) { + if (grow(&d->au, &d->au_cap, d->au_len + 4 + 2 + d->fu_len, RTP_MAX_BUF)) { memcpy(d->au + d->au_len, SC4, 4); d->au_len += 4; d->au[d->au_len++] = d->fu_nal_header0; d->au[d->au_len++] = d->fu_nal_header1; memcpy(d->au + d->au_len, d->fu, d->fu_len); d->au_len += d->fu_len; - } + } else { d->v_drop = 1; } d->fu_active = 0; } } @@ -479,7 +495,7 @@ static void depkt_video(depkt_t* d, const uint8_t* rtp, int len) { static void depkt_audio(depkt_t* d, const uint8_t* rtp, int len) { if (len < 12 || !d->audio) return; int cc = rtp[0] & 0x0F; - uint32_t ts = (rtp[4] << 24) | (rtp[5] << 16) | (rtp[6] << 8) | rtp[7]; + uint32_t ts = ((uint32_t)rtp[4] << 24) | (rtp[5] << 16) | (rtp[6] << 8) | rtp[7]; int hdr = 12 + cc * 4; if (hdr >= len) return; const uint8_t* p = rtp + hdr; int plen = len - hdr; @@ -508,6 +524,13 @@ static void depkt_audio(depkt_t* d, const uint8_t* rtp, int len) { if (d->afrag_active && rel != d->afrag_rel) { d->afrag_active = 0; d->afrag_len = 0; } int marker = (rtp[1] >> 7) & 1; + /* A frame discarded over the cap keeps dropping its remaining packets (same + * timestamp) so the marker tail isn't emitted as a truncated standalone AU. + * Cleared by the marker (frame end) or a new timestamp. */ + if (d->afrag_drop) { + if (rel != d->afrag_rel) d->afrag_drop = 0; + else { if (marker) d->afrag_drop = 0; return; } + } if (!marker || d->afrag_active) { /* A slice of a fragmented AU (fragments never aggregate: a marker=0 * packet is always one slice). Accumulate; the marker=1 slice @@ -515,9 +538,13 @@ static void depkt_audio(depkt_t* d, const uint8_t* rtp, int len) { int avail = plen - dpos; if (avail <= 0) return; if (!d->afrag_active) { d->afrag_active = 1; d->afrag_len = 0; d->afrag_rel = rel; } - if (grow(&d->afrag, &d->afrag_cap, d->afrag_len + avail)) { + if (grow(&d->afrag, &d->afrag_cap, d->afrag_len + avail, RTP_MAX_BUF)) { memcpy(d->afrag + d->afrag_len, p + dpos, avail); d->afrag_len += avail; + } else { + /* over cap: drop the frame and latch so its tail (incl. the marker + * packet) isn't emitted as a partial. */ + d->afrag_active = 0; d->afrag_len = 0; d->afrag_drop = !marker; return; } if (marker && d->afrag_len > 0) { int64_t pts = rtp_ts_to_us(d->afrag_rel, d->audio->clock ? d->audio->clock : 48000); @@ -879,6 +906,7 @@ static int run_session(basis_media_sink_t* sink, const basis_url_t* url, int use static const char* A = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; int o = 0; for (int i = 0; i < n; i += 3) { + if (o > (int)sizeof(r.authb64) - 5) break; /* 4 chars + NUL still fit */ int b0 = (unsigned char)up[i]; int b1 = i + 1 < n ? (unsigned char)up[i + 1] : 0; int b2 = i + 2 < n ? (unsigned char)up[i + 2] : 0; @@ -1084,7 +1112,7 @@ static int run_session(basis_media_sink_t* sink, const basis_url_t* url, int use int channel = hdr[0]; int plen = (hdr[1] << 8) | hdr[2]; if (plen <= 0 || plen > 4 * 1024 * 1024) { rc = -1; break; } - if (!grow(&pkt, &pkt_cap, plen)) { rc = -1; break; } + if (!grow(&pkt, &pkt_cap, plen, RTP_MAX_BUF)) { rc = -1; break; } if (basis_io_read_full(r.io, pkt, plen) != plen) { rc = -1; break; } if (channel == d.v_channel) depkt_video(&d, pkt, plen); From 46fbdf1b0a0e8895eeac674640c0e2598680e0a6 Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:10 +0100 Subject: [PATCH 02/17] fix(mediaplayer): re-check HLS sub-resource URLs against the SSRF guard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The managed URL check validates only the top-level playlist. Variant, segment and EXT-X-MAP URIs come from the attacker-controlled playlist body and were followed straight to the platform HTTP stack with no host check, so a hostile playlist could steer a fetch at 169.254.169.254, an RFC1918 host or loopback. Add basis_io_host_is_blocked() (resolves the name, blocks any non-global-unicast result, fail-closed, honouring BASIS_MEDIA_ALLOW_LOCAL) and route every HLS fetch through it, restricted to http(s). Policy rejection (bad scheme/host) is distinguished from a transient open failure so a blocked playlist reload, init segment OR media segment terminates the producer deterministically while a transient failure backs off — neither skips init/segment data nor busy-loops. This pre-check does not close active DNS rebinding or a redirect to an internal host (the platform stack re-resolves and follows redirects at connect) — recorded in the code as a follow-up. Also align the non-global-unicast IPv4 classifier in both the native (basis_io.c) and managed (BasisMediaPlayerSecurity.cs) guards, kept in lockstep, to the IANA not-globally-reachable special-use set: 192.0.0/24, 192.0.2/24, 192.88.99/24 (6to4 relay), 198.18/15, 198.51.100/24, 203.0.113/24. --- .../Native~/protocol/basis_hls.c | 62 ++++++++++++++++--- .../Native~/protocol/basis_io.c | 50 ++++++++++++--- .../Native~/protocol/basis_io.h | 8 +++ .../Runtime/Core/BasisMediaPlayerSecurity.cs | 10 +++ 4 files changed, 111 insertions(+), 19 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_hls.c b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_hls.c index 6e76e26a6..fb188f667 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_hls.c +++ b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_hls.c @@ -9,6 +9,8 @@ #include "basis_hls.h" #include "../basis_media_internal.h" /* BASIS_READ_REPOSITION */ +#include "basis_io.h" /* basis_io_host_is_blocked (SSRF guard) */ +#include "basis_url.h" /* basis_url_parse */ #include #include @@ -235,11 +237,36 @@ static void resolve_url(const char* base, const char* ref, char* out, int outsz) /* ---- playlist fetch ------------------------------------------------------ */ +/* SSRF gate for every URL a playlist steers us to. The managed layer validates + * only the entry URL; variant/segment/map URIs come from the (attacker-controlled) + * playlist body and are followed here, so re-check each one: it must stay on + * http(s) and its host must not resolve to a non-global-unicast address. The + * platform HTTP stacks (WinHTTP / JNI) don't apply this guard themselves. + * + * This is a pre-check: it blocks literal internal addresses and hosts that resolve + * private. It does NOT close two provider-side bypasses — active DNS rebinding (the + * platform stack re-resolves the name when it connects) and an allowed URL that + * redirects to an internal host (WinHTTP/JNI follow redirects). Fully closing those + * needs connect-by-pinned-IP plus per-redirect re-validation and connected-peer + * verification at the HTTP-provider boundary — tracked as a follow-up. */ +/* out_blocked (nullable) distinguishes a deterministic policy rejection (bad + * scheme/host — retrying can never succeed) from a transient provider open + * failure, so a caller can terminate on the former instead of busy-looping. */ +static void* hls_guarded_open(basis_hls_t* h, const char* url, int* out_blocked) { + if (out_blocked) *out_blocked = 1; /* set for the policy-reject early returns */ + basis_url_t u; + if (basis_url_parse(url, &u) != 0) return NULL; + if (strcmp(u.scheme, "http") != 0 && strcmp(u.scheme, "https") != 0) return NULL; + if (basis_io_host_is_blocked(u.host)) return NULL; + if (out_blocked) *out_blocked = 0; /* passed policy; any NULL below is transient */ + return h->http.open(url); +} + /* GET `url` fully into a NUL-terminated buffer (caller frees). Returns length, * or <0 on error / stop. */ -static int fetch_text(basis_hls_t* h, const char* url, char** out) { +static int fetch_text(basis_hls_t* h, const char* url, char** out, int* out_blocked) { *out = NULL; - void* ctx = h->http.open(url); + void* ctx = hls_guarded_open(h, url, out_blocked); if (!ctx) return -1; int cap = 16384, len = 0; @@ -475,8 +502,9 @@ static int reload_and_enqueue(basis_hls_t* h) { } char* text = NULL; - int n = fetch_text(h, url, &text); - if (n < 0) { free(text); return -1; } + int blocked = 0; + int n = fetch_text(h, url, &text, &blocked); + if (n < 0) { free(text); return blocked ? -2 : -1; } /* -2 = policy-blocked (deterministic) */ hls_playlist_t pl; parse_media_playlist(h->media_url, text, &pl); @@ -569,14 +597,27 @@ static void hls_producer(basis_hls_t* h) { } if (!h->seg_ctx) { if (h->is_fmp4 && !h->map_served && h->map_uri[0]) { - h->seg_ctx = h->http.open(h->map_uri); /* fMP4 init segment first */ + int blocked = 0; + h->seg_ctx = hls_guarded_open(h, h->map_uri, &blocked); /* fMP4 init segment first */ + if (!h->seg_ctx) { + /* A policy-blocked map can never load and its fragments are + * useless without it, so stop instead of spinning; a transient + * open failure backs off and retries. */ + if (blocked) break; + if (!hls_should_run(h)) break; + hls_sleep_ms(50); + continue; + } h->map_served = 1; - if (!h->seg_ctx) continue; } else { const char* next = queue_pop(h, NULL); if (next) { - h->seg_ctx = h->http.open(next); - if (!h->seg_ctx) continue; /* skip a transient open failure */ + int blocked = 0; + h->seg_ctx = hls_guarded_open(h, next, &blocked); + if (!h->seg_ctx) { + if (blocked) break; /* policy-blocked (SSRF): fail playback deterministically */ + continue; /* transient: skip; the next pop advances */ + } h->empty_reloads = 0; } else if (h->endlist_seen) { /* VOD exhausted. Arbitrate against a late seek under the lock: @@ -592,6 +633,7 @@ static void hls_producer(basis_hls_t* h) { } else { int r = reload_and_enqueue(h); if (r > 0) { h->empty_reloads = 0; } + else if (r == -2) break; /* playlist policy-blocked: retrying can't recover */ else if (r < 0) { if (!hls_should_run(h)) break; hls_sleep_ms(50); /* transient fetch error — back off and retry */ @@ -666,14 +708,14 @@ void* basis_hls_open(const char* url, const basis_http_provider_t* http, /* Fetch the entry playlist; follow one master->media indirection. */ char* text = NULL; - if (fetch_text(h, url, &text) < 0 || !text) { free(text); free(h); return NULL; } + if (fetch_text(h, url, &text, NULL) < 0 || !text) { free(text); free(h); return NULL; } if (playlist_is_master(text)) { char media[HLS_MAX_URI]; if (!master_pick_variant(h, url, text, media, sizeof(media))) { free(text); free(h); return NULL; } snprintf(h->media_url, sizeof(h->media_url), "%s", media); free(text); - if (fetch_text(h, h->media_url, &text) < 0 || !text) { free(text); free(h); return NULL; } + if (fetch_text(h, h->media_url, &text, NULL) < 0 || !text) { free(text); free(h); return NULL; } } else { snprintf(h->media_url, sizeof(h->media_url), "%s", url); } diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_io.c b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_io.c index 28798104e..855c70416 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_io.c +++ b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_io.c @@ -75,15 +75,26 @@ static int local_allowed(void) { return v && v[0]; } -static int ipv4_octets_blocked(uint8_t b0, uint8_t b1) { - if (b0 == 0) return 1; /* 0/8 unspecified */ - if (b0 == 10) return 1; /* 10/8 */ +/* The IANA IPv4 Special-Purpose Address Registry entries that are "Globally + * Reachable: False" — i.e. everything that is not a public unicast destination. + * Kept in lockstep with the managed guard (BasisMediaPlayerSecurity.IsBlockedAddress) + * — change both together. See + * https://www.iana.org/assignments/iana-ipv4-special-registry/ */ +static int ipv4_octets_blocked(uint8_t b0, uint8_t b1, uint8_t b2) { + if (b0 == 0) return 1; /* 0/8 "this network" */ + if (b0 == 10) return 1; /* 10/8 private */ if (b0 == 127) return 1; /* 127/8 loopback */ if (b0 == 100 && (b1 & 0xC0) == 64) return 1; /* 100.64/10 CGNAT */ if (b0 == 169 && b1 == 254) return 1; /* 169.254/16 link-local (metadata) */ - if (b0 == 172 && b1 >= 16 && b1 <= 31) return 1; /* 172.16/12 */ - if (b0 == 192 && b1 == 168) return 1; /* 192.168/16 */ - if (b0 >= 224) return 1; /* multicast/reserved */ + if (b0 == 172 && b1 >= 16 && b1 <= 31) return 1; /* 172.16/12 private */ + if (b0 == 192 && b1 == 0 && b2 == 0) return 1; /* 192.0.0/24 IETF protocol assignments */ + if (b0 == 192 && b1 == 0 && b2 == 2) return 1; /* 192.0.2/24 TEST-NET-1 */ + if (b0 == 192 && b1 == 88 && b2 == 99) return 1; /* 192.88.99/24 6to4 relay anycast (deprecated) */ + if (b0 == 192 && b1 == 168) return 1; /* 192.168/16 private */ + if (b0 == 198 && (b1 & 0xFE) == 18) return 1; /* 198.18/15 benchmarking */ + if (b0 == 198 && b1 == 51 && b2 == 100) return 1; /* 198.51.100/24 TEST-NET-2 */ + if (b0 == 203 && b1 == 0 && b2 == 113) return 1; /* 203.0.113/24 TEST-NET-3 */ + if (b0 >= 224) return 1; /* 224/4 multicast + 240/4 reserved (incl. 255.255.255.255) */ return 0; } @@ -95,7 +106,7 @@ static int sockaddr_is_blocked(const struct sockaddr* sa) { if (sa->sa_family == AF_INET) { const struct sockaddr_in* s = (const struct sockaddr_in*)sa; const uint8_t* b = (const uint8_t*)&s->sin_addr.s_addr; /* network order = octets in order */ - return ipv4_octets_blocked(b[0], b[1]); + return ipv4_octets_blocked(b[0], b[1], b[2]); } if (sa->sa_family == AF_INET6) { const struct sockaddr_in6* s = (const struct sockaddr_in6*)sa; @@ -112,15 +123,36 @@ static int sockaddr_is_blocked(const struct sockaddr* sa) { int mapped = 1; for (i = 0; i < 10; i++) if (b[i]) { mapped = 0; break; } if (mapped && b[10] == 0xFF && b[11] == 0xFF) /* ::ffff:a.b.c.d */ - return ipv4_octets_blocked(b[12], b[13]); + return ipv4_octets_blocked(b[12], b[13], b[14]); } if (b[0] == 0x20 && b[1] == 0x02) /* 2002::/16 6to4 */ - return ipv4_octets_blocked(b[2], b[3]); + return ipv4_octets_blocked(b[2], b[3], b[4]); return 0; } return 1; } +int basis_io_host_is_blocked(const char* host) { + if (!host || !host[0]) return 1; + if (local_allowed()) return 0; + + struct addrinfo hints, *res = NULL, *ai; + memset(&hints, 0, sizeof(hints)); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + /* Fail closed: a name we can't resolve here could resolve to a private + * address at the platform stack's own lookup a moment later. */ + if (getaddrinfo(host, NULL, &hints, &res) != 0 || !res) return 1; + + /* Block if ANY resolved address is non-global — a host with both a public + * and a private record must not be usable to reach the private one. */ + int blocked = 0; + for (ai = res; ai; ai = ai->ai_next) + if (sockaddr_is_blocked(ai->ai_addr)) { blocked = 1; break; } + freeaddrinfo(res); + return blocked; +} + basis_io_t* basis_io_connect(const char* host, int port, int timeout_ms) { if (!host || port <= 0) return NULL; diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_io.h b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_io.h index 046a1aff0..ce8ad7e92 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_io.h +++ b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_io.h @@ -56,6 +56,14 @@ int basis_io_send(basis_io_t* io, const uint8_t* buf, int len); * error. A socket with a pending error reports readable; the next read fails. */ int basis_io_poll_read(basis_io_t** ios, int n, int timeout_ms); +/* SSRF pre-check for a host about to be fetched through a platform HTTP stack + * (WinHTTP / JNI HttpsURLConnection) that does not itself apply the + * non-global-unicast guard basis_io_connect enforces. Resolves the name and + * returns 1 if it is empty, unresolvable (fail-closed), or resolves to any + * non-global-unicast address (loopback / RFC1918 / link-local / ULA / + * multicast). Honours the same BASIS_MEDIA_ALLOW_LOCAL escape hatch. */ +int basis_io_host_is_blocked(const char* host); + /* Process-wide one-time init/teardown (WSAStartup on Windows; no-op elsewhere). */ void basis_io_global_init(void); void basis_io_global_shutdown(void); diff --git a/Basis/Packages/com.basis.mediaplayer/Runtime/Core/BasisMediaPlayerSecurity.cs b/Basis/Packages/com.basis.mediaplayer/Runtime/Core/BasisMediaPlayerSecurity.cs index 5e91afe8f..a977b0796 100644 --- a/Basis/Packages/com.basis.mediaplayer/Runtime/Core/BasisMediaPlayerSecurity.cs +++ b/Basis/Packages/com.basis.mediaplayer/Runtime/Core/BasisMediaPlayerSecurity.cs @@ -132,6 +132,16 @@ public static bool IsBlockedAddress(IPAddress ip, bool allowLoopback, out string if (b[0] == 169 && b[1] == 254) { reason = "link-local 169.254/16"; return true; } if (b[0] == 172 && b[1] >= 16 && b[1] <= 31) { reason = "RFC1918 172.16/12"; return true; } if (b[0] == 192 && b[1] == 168) { reason = "RFC1918 192.168/16"; return true; } + // IANA "Globally Reachable: False" special-use reserves — non-global-unicast, and may be + // routed to internal infrastructure. Kept in lockstep with the native guard (basis_io.c + // ipv4_octets_blocked) — change both together. + // https://www.iana.org/assignments/iana-ipv4-special-registry/ + if (b[0] == 192 && b[1] == 0 && b[2] == 0) { reason = "IETF protocol 192.0.0/24"; return true; } + if (b[0] == 192 && b[1] == 0 && b[2] == 2) { reason = "TEST-NET-1 192.0.2/24"; return true; } + if (b[0] == 192 && b[1] == 88 && b[2] == 99) { reason = "6to4 relay 192.88.99/24"; return true; } + if (b[0] == 198 && (b[1] & 0xFE) == 18) { reason = "benchmarking 198.18/15"; return true; } + if (b[0] == 198 && b[1] == 51 && b[2] == 100) { reason = "TEST-NET-2 198.51.100/24"; return true; } + if (b[0] == 203 && b[1] == 0 && b[2] == 113) { reason = "TEST-NET-3 203.0.113/24"; return true; } if (b[0] >= 224) { reason = "multicast/reserved >=224/4"; return true; } return false; } From fb0cf2801bc953fe27b526a597579f525b4ccecd Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:11 +0100 Subject: [PATCH 03/17] fix(mediaplayer): cap MP4 box-tree recursion depth parse_box_tree recursed on mdia/minf/edts/stbl and trak with no depth limit, so a small crafted moov nesting boxes thousands deep overflowed the demux-thread stack. Thread a depth counter through and bail past 32 levels. --- .../Native~/protocol/basis_mp4.c | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_mp4.c b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_mp4.c index bff80d65b..82f83e95e 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_mp4.c +++ b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_mp4.c @@ -539,17 +539,22 @@ static void parse_chunk_offsets(mp4_ctab_t* c, const uint8_t* p, int len, int is c->chunk_count = n; } -static void parse_box_tree(mp4_t* m, mp4_track_t* t, const uint8_t* p, int len); +/* Container-box nesting cap. Real files nest a handful deep (moov>trak>mdia> + * minf>stbl); a crafted file can nest thousands deep with 8-byte headers to + * exhaust the demux-thread stack, so bail well before that. */ +#define MP4_MAX_BOX_DEPTH 32 + +static void parse_box_tree(mp4_t* m, mp4_track_t* t, const uint8_t* p, int len, int depth); /* Tracks are selected by role — the first supported video track and the first * supported audio track, wherever they sit in the moov. A fixed first-two-traks * cut would leave a valid file ordered audio,audio,video silently video-less. */ -static void parse_trak(mp4_t* m, const uint8_t* p, int len) { +static void parse_trak(mp4_t* m, const uint8_t* p, int len, int depth) { mp4_track_t t; memset(&t, 0, sizeof(t)); t.nal_len_size = 4; t.timescale = 90000; - parse_box_tree(m, &t, p, len); + parse_box_tree(m, &t, p, len, depth); int have_video = 0, have_audio = 0; for (int i = 0; i < m->ntracks; ++i) { @@ -571,7 +576,8 @@ static void parse_trak(mp4_t* m, const uint8_t* p, int len) { free(t.ctab.stsc); free(t.ctab.chunk_offsets); free(t.ctab.stss); } -static void parse_box_tree(mp4_t* m, mp4_track_t* t, const uint8_t* p, int len) { +static void parse_box_tree(mp4_t* m, mp4_track_t* t, const uint8_t* p, int len, int depth) { + if (depth > MP4_MAX_BOX_DEPTH) return; int off = 0; while (off + 8 <= len) { int sz = (int)rd32(p + off); @@ -580,11 +586,11 @@ static void parse_box_tree(mp4_t* m, mp4_track_t* t, const uint8_t* p, int len) const uint8_t* body = p + off + 8; int blen = sz - 8; switch (ty) { - case 0x7472616b: parse_trak(m, body, blen); break; /* trak */ + case 0x7472616b: parse_trak(m, body, blen, depth + 1); break; /* trak */ case 0x6d646961: /* mdia */ case 0x6d696e66: /* minf */ case 0x65647473: /* edts */ - case 0x7374626c: parse_box_tree(m, t, body, blen); break; /* stbl */ + case 0x7374626c: parse_box_tree(m, t, body, blen, depth + 1); break; /* stbl */ case 0x6d766864: /* mvhd: movie timescale (elst duration units) + duration */ if (blen >= 4) { int ver = body[0]; @@ -1307,7 +1313,7 @@ int basis_mp4_run(basis_media_sink_t* sink, basis_read_fn read, void* ctx, switch (type) { case 0x6d6f6f76: /* moov */ - parse_box_tree(&m, NULL, buf, (int)body); + parse_box_tree(&m, NULL, buf, (int)body, 0); for (int i = 0; i < m.ntracks; ++i) { classic_apply_elst(&m, &m.tracks[i]); classic_init_cursor(&m.tracks[i].ctab); From 157726daa514272cf7426800c40a9578639b628c Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:11 +0100 Subject: [PATCH 04/17] fix(mediaplayer): cap MPEG-TS PES accumulation A PES buffer only flushes on the next payload-unit-start, so a stream that sets PUSI once and streams continuation packets forever grew it without bound, and accum_reserve's doubling overflowed to a negative int near INT_MAX. Add an 8 MiB cap with 64-bit math; reset and resync on overflow. --- .../Native~/protocol/basis_ts.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_ts.c b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_ts.c index 5cb84ef75..609e8cabc 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_ts.c +++ b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_ts.c @@ -46,13 +46,22 @@ typedef struct { int pkt_size; /* 0 until detected; 188, or 192 for m2ts */ } ts_t; +/* A PES buffer only flushes on the next payload-unit-start for its PID, so a + * stream that sets PUSI once and never again would grow this without bound. Cap + * it: a single video PES (unbounded PES_packet_length, delimited by the next + * PUSI) can legitimately reach a few MiB at high bitrate/4K, well under this. */ +#define TS_MAX_PES (8 * 1024 * 1024) + static int accum_reserve(es_accum_t* e, int extra) { - if (e->len + extra <= e->cap) return 1; - int ncap = e->cap ? e->cap * 2 : 65536; - while (ncap < e->len + extra) ncap *= 2; + int64_t need = (int64_t)e->len + extra; + if (need <= e->cap) return 1; + if (need > TS_MAX_PES) return 0; + int64_t ncap = e->cap ? e->cap : 65536; + while (ncap < need) ncap *= 2; + if (ncap > TS_MAX_PES) ncap = TS_MAX_PES; uint8_t* nb = (uint8_t*)realloc(e->buf, (size_t)ncap); if (!nb) return 0; - e->buf = nb; e->cap = ncap; + e->buf = nb; e->cap = (int)ncap; return 1; } @@ -192,7 +201,7 @@ static void feed_es(ts_t* t, es_accum_t* e, int pusi, const uint8_t* payload, in e->started = 1; } if (!e->started) return; - if (!accum_reserve(e, plen)) return; + if (!accum_reserve(e, plen)) { e->len = 0; e->started = 0; return; } /* over cap: drop, resync on next PUSI */ memcpy(e->buf + e->len, payload, (size_t)plen); e->len += plen; } From 2de03a00d66ea3462976380bd21fcdfe9209d5af Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:11 +0100 Subject: [PATCH 05/17] fix(mediaplayer): lock the Android Vulkan output-texture handoff MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit basis_vk_set_output_texture ran on the main thread and destroyed the framebuffer and image-view while the render thread could be mid-present using them — a cross-thread use-after-free on a mid-stream resolution change. Record the handle change under the lock and let render_update drop and rebuild the framebuffer on its own thread. Read all Unity-registration state as one locked snapshot (no unsynchronised peek at unityNativeTex); give the framebuffer cache its own render-thread-owned dimensions (fboW/fboH) instead of overloading unityW/unityH (written by the setter under the lock); derive one target extent for both framebuffer creation and the render area; and only detach the pending frame when a render target is registered, so its AHardwareBuffer reference isn't leaked when none is. --- .../Native~/android/basis_android_vk.c | 66 +++++++++++++------ 1 file changed, 45 insertions(+), 21 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/android/basis_android_vk.c b/Basis/Packages/com.basis.mediaplayer/Native~/android/basis_android_vk.c index 1954eee28..31a443918 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/android/basis_android_vk.c +++ b/Basis/Packages/com.basis.mediaplayer/Native~/android/basis_android_vk.c @@ -96,10 +96,12 @@ struct basis_vk_present { * the YCbCr->RGB render pass, and rebuild that when Unity rotates the * underlying VkImage (rare). */ void* unityNativeTex; - VkImage cachedUnityImage; /* the VkImage AccessTexture returned for unityNativeTex */ + int unityDirty; /* handle changed on the main thread; the render thread drops the fbo */ + VkImage cachedUnityImage; /* the VkImage AccessTexture returned for unityNativeTex (render thread) */ VkImageView unityImageView; VkFramebuffer fbo; - int unityW, unityH; + int fboW, fboH; /* extent the fbo was built with — render-thread-owned, distinct from unityW/H */ + int unityW, unityH; /* C#-registered RenderTexture size; written by the setter under v->lock */ int unityFormat; /* VkFormat returned by AccessTexture (UNORM or SRGB) */ uint64_t frameCounter; @@ -407,7 +409,7 @@ static void destroy_unity_fbo(basis_vk_present* v) { * or rotated under us). The image itself is OWNED BY UNITY — we never destroy * it, only the view and framebuffer we created on top. */ static int ensure_unity_fbo(basis_vk_present* v, VkImage image, VkFormat format, int w, int h) { - if (v->fbo && v->cachedUnityImage == image && v->unityW == w && v->unityH == h) return 0; + if (v->fbo && v->cachedUnityImage == image && v->fboW == w && v->fboH == h) return 0; destroy_unity_fbo(v); VkImageViewCreateInfo vci = { VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO }; @@ -434,24 +436,28 @@ static int ensure_unity_fbo(basis_vk_present* v, VkImage image, VkFormat format, if (vkCreateFramebuffer(v->device, &fci, NULL, &v->fbo) != VK_SUCCESS) return -1; v->cachedUnityImage = image; - v->unityW = w; - v->unityH = h; + v->fboW = w; + v->fboH = h; v->unityFormat = (int)format; return 0; } void basis_vk_set_output_texture(basis_vk_present* v, void* native_texture, int w, int h) { if (!v) return; - /* If the handle changed, drop the cached framebuffer; next render_update will - * rebuild against the new Unity image. We intentionally don't touch - * cachedUnityImage here because AccessTexture may legitimately return the - * same VkImage for a recreated RenderTexture if Unity reused the slot. */ - if (v->unityNativeTex != native_texture) { - destroy_unity_fbo(v); + /* Runs on the main thread while the render thread may be mid-present using the + * framebuffer/image-view. Don't destroy them here — just record the change + * under the lock and let render_update drop+rebuild the fbo on its own thread + * (unityDirty). We intentionally don't touch cachedUnityImage because + * AccessTexture may legitimately return the same VkImage for a recreated + * RenderTexture if Unity reused the slot. */ + pthread_mutex_lock(&v->lock); + if (v->unityNativeTex != native_texture || v->unityW != w || v->unityH != h) { v->unityNativeTex = native_texture; + v->unityDirty = 1; /* a same-handle resize still needs the fbo rebuilt */ } v->unityW = w; v->unityH = h; + pthread_mutex_unlock(&v->lock); } /* ---- plugin-owned submission objects ------------------------------------ */ @@ -494,17 +500,31 @@ static int ensure_cmd_objects(basis_vk_present* v) { int basis_vk_render_update(basis_vk_present* v) { if (!v || !v->device || !v->getAHBProps) return 0; - /* Without a registered Unity output texture we have nowhere to render. C# is - * expected to call basis_media_set_output_texture once TryGetVideoSize - * returns a non-zero size; until then the demuxer's AHBs sit in v->pending. */ - if (!v->unityNativeTex) return 0; + /* All Unity-registration state is read as one locked snapshot — no unlocked + * peek at unityNativeTex first. Without a registered output texture there is + * nowhere to render (C# calls basis_media_set_output_texture once + * TryGetVideoSize is non-zero; until then the demuxer's AHBs sit in pending). */ AHardwareBuffer* ahb = NULL; int w, h; float uv[4]; + void* unityTex; int unityDirty; int regW, regH; pthread_mutex_lock(&v->lock); - ahb = v->pending; v->pending = NULL; w = v->w; h = v->h; + unityTex = v->unityNativeTex; regW = v->unityW; regH = v->unityH; + unityDirty = v->unityDirty; + w = v->w; h = v->h; uv[0] = v->uv[0]; uv[1] = v->uv[1]; uv[2] = v->uv[2]; uv[3] = v->uv[3]; + /* Only detach the pending frame when there's a texture to render it into — + * otherwise it stays queued (the producer replaces + releases it) instead of + * being dropped here with its AHB reference leaked. */ + if (unityTex) { + ahb = v->pending; v->pending = NULL; + if (ahb) v->unityDirty = 0; /* consume the dirty flag only when this pass rebuilds+renders */ + } pthread_mutex_unlock(&v->lock); + if (!unityTex) return 0; if (!ahb) return 0; + /* Handle changed on the main thread: drop the old framebuffer/image-view here, + * on the render thread, so nothing is destroyed under a present in flight. */ + if (unityDirty) destroy_unity_fbo(v); /* AHB format + memory properties (drives the ycbcr conversion + allocation) */ VkAndroidHardwareBufferFormatPropertiesANDROID fmtProps = { VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID }; @@ -520,16 +540,20 @@ int basis_vk_render_update(basis_vk_present* v) { * it. The render pass takes the attachment from UNDEFINED and returns it * SHADER_READ_ONLY, so no layout coordination with Unity is needed. */ uint64_t unityImageU64 = 0; int unityFormat = 0, unityW = 0, unityH = 0; - if (!basis_gfx_vk_access_texture(v->unityNativeTex, + if (!basis_gfx_vk_access_texture(unityTex, &unityImageU64, &unityFormat, &unityW, &unityH)) { AHardwareBuffer_release(ahb); return 0; } VkImage unityImage = (VkImage)(uintptr_t)unityImageU64; - if (ensure_unity_fbo(v, unityImage, (VkFormat)unityFormat, - unityW > 0 ? unityW : w, - unityH > 0 ? unityH : h) != 0) { + /* One target extent for both the framebuffer and the render area, or the + * render pass area can disagree with the framebuffer it renders into. Prefer + * the RenderTexture's actual extent (AccessTexture), then the registered size, + * then the source AHB. */ + int targetW = unityW > 0 ? unityW : (regW > 0 ? regW : w); + int targetH = unityH > 0 ? unityH : (regH > 0 ? regH : h); + if (ensure_unity_fbo(v, unityImage, (VkFormat)unityFormat, targetW, targetH) != 0) { AHardwareBuffer_release(ahb); return 0; } @@ -572,7 +596,7 @@ int basis_vk_render_update(basis_vk_present* v) { vkCmdPipelineBarrier(cmd, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, 0, NULL, 0, NULL, 1, &toRead); - int rw = v->unityW, rh = v->unityH; + int rw = targetW, rh = targetH; VkRenderPassBeginInfo rp = { VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO }; rp.renderPass = v->renderPass; rp.framebuffer = v->fbo; rp.renderArea.extent.width = (uint32_t)rw; rp.renderArea.extent.height = (uint32_t)rh; From e1c6451160279c49e1cc10b21accb28dfc9c1456 Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:11 +0100 Subject: [PATCH 06/17] fix(mediaplayer): guard render events against engine teardown MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OnRenderEvent dereferences the engine pointer on Unity's render thread; basis_media_close frees it on the main thread, so a render event in flight during close is a use-after-free. Add a liveness registry: the render dispatch runs under a lock only while the engine is registered. Deregister at the very top of basis_media_close — before stopping and joining the demux threads — so no render callback can touch the decoder during any part of teardown; it blocks until any in-flight event returns. Open fails cleanly if the registry is full rather than returning an engine whose events would be silently dropped. --- .../Native~/basis_media_core.c | 82 ++++++++++++++++++- .../Native~/basis_media_internal.h | 6 ++ .../Native~/unity/basis_unity_plugin.cpp | 10 +-- 3 files changed, 91 insertions(+), 7 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/basis_media_core.c b/Basis/Packages/com.basis.mediaplayer/Native~/basis_media_core.c index 4f950754f..79ffaf561 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/basis_media_core.c +++ b/Basis/Packages/com.basis.mediaplayer/Native~/basis_media_core.c @@ -227,6 +227,62 @@ int basis_engine_is_paused(basis_media_engine_t* e) { return e ? e->paused : 0; int basis_engine_is_running(basis_media_engine_t* e) { return e ? e->running : 0; } int basis_engine_is_paced(basis_media_engine_t* e) { return e ? e->paced : 0; } +/* ---- render-event liveness registry ------------------------------------ + * OnRenderEvent (Unity render thread) is handed the engine pointer and can fire + * concurrently with basis_media_close on the main thread. C# quiesces render + * events before closing, but a stale event must be a safe no-op, not a + * use-after-free. Every open engine is registered here; basis_engine_render_event + * dispatches under g_registry_lock only while the engine is still registered, and + * close removes it under the same lock — waiting out any in-flight event — before + * it frees the decoder and engine. + * + * Engines are keyed by pointer, so this stops a dispatch against a freed engine but + * not the narrow ABA case where a delayed event's pointer matches a *new* engine + * that reused the freed address. For the shipping C# binding that is benign: it + * issues only RENDER_UPDATE (idempotent — republishes the current frame). But + * RENDER_RELEASE is part of the public render-event ABI, and a caller that delivers + * one across a close+reopen could tear down the reused engine's decoder — so this + * registry's ABA-safety is only as strong as "no RELEASE is delivered after close." + * Closing the window fully needs a generation-stamped handle in the event payload + * (a C# ABI change) — deliberately out of scope here. */ +#define BASIS_MAX_ENGINES 64 +static basis_mutex_t g_registry_lock; +static int g_registry_ready; +static basis_media_engine_t* g_engines[BASIS_MAX_ENGINES]; + +/* opens run on Unity's main thread, so first-use init needs no extra guard. */ +static void registry_ensure(void) { + if (!g_registry_ready) { mutex_init(&g_registry_lock); g_registry_ready = 1; } +} +static int registry_add(basis_media_engine_t* e) { + registry_ensure(); + int ok = 0; + mutex_lock(&g_registry_lock); + for (int i = 0; i < BASIS_MAX_ENGINES; ++i) if (!g_engines[i]) { g_engines[i] = e; ok = 1; break; } + mutex_unlock(&g_registry_lock); + return ok; /* 0 => registry full */ +} +static void registry_remove(basis_media_engine_t* e) { + if (!g_registry_ready) return; + mutex_lock(&g_registry_lock); + for (int i = 0; i < BASIS_MAX_ENGINES; ++i) if (g_engines[i] == e) { g_engines[i] = NULL; break; } + mutex_unlock(&g_registry_lock); +} + +void basis_engine_render_event(basis_media_engine_t* e, int event_id) { + if (!e || !g_registry_ready) return; + mutex_lock(&g_registry_lock); + int live = 0; + for (int i = 0; i < BASIS_MAX_ENGINES; ++i) if (g_engines[i] == e) { live = 1; break; } + /* Dispatch under the lock so registry_remove (in close) blocks until this + * returns — the decoder can't be freed while a render event is using it. */ + if (live && e->decoder) { + if (event_id == BASIS_RENDER_UPDATE) basis_decoder_render_update(e->decoder); + else if (event_id == BASIS_RENDER_RELEASE) basis_decoder_render_release(e->decoder); + } + mutex_unlock(&g_registry_lock); +} + /* Real-time delivery pacing. Blocks the demux thread so an access unit is handed to the * decoder no more than BASIS_PACE_LEAD_US ahead of a fixed 1x clock anchored to the first * AU — stalling the socket read (TCP backpressure) so a faster-than-real-time source can't @@ -1177,6 +1233,22 @@ static basis_media_engine_t* open_impl(const char* url, const char* audio_url, i } if (has_audio) e->audio_thread_started = 1; + /* Live now: the pointer is about to reach C#, which may issue render events. + * Registered last so no partially-built engine is ever visible to a dispatch. + * If the registry is full (too many concurrent players), fail cleanly rather + * than hand back an engine whose render events would be silently ignored. */ + if (!registry_add(e)) { + e->running = 0; + thread_join(e); + audio_thread_join(e); + basis_decoder_destroy(e->decoder); + basis_io_global_shutdown(); + basis_caption_destroy(e->captions); + mutex_destroy(&e->submit_lock); + mutex_destroy(&e->lock); + free(e); + return NULL; + } return e; } @@ -1195,8 +1267,14 @@ BASIS_API basis_media_engine_t* BASIS_CALL basis_media_open_dual(const char* vid BASIS_API void BASIS_CALL basis_media_close(basis_media_engine_t* e) { if (!e) return; - /* Stop the demux threads first so nothing submits while we tear down. Both - * legs observe the same running flag; join both before freeing the decoder. */ + /* Deregister first, before anything is torn down: this blocks until any + * in-flight render event returns and makes every later one a no-op, so no + * render callback can touch the decoder while the demux threads are still + * exiting or the decoder is being freed. */ + registry_remove(e); + + /* Stop the demux threads so nothing submits while we tear down. Both legs + * observe the same running flag; join both before freeing the decoder. */ e->running = 0; thread_join(e); audio_thread_join(e); diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/basis_media_internal.h b/Basis/Packages/com.basis.mediaplayer/Native~/basis_media_internal.h index 0fcf8a0b1..22b96fe1c 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/basis_media_internal.h +++ b/Basis/Packages/com.basis.mediaplayer/Native~/basis_media_internal.h @@ -228,6 +228,12 @@ void basis_engine_set_state(basis_media_engine_t* engine, basis_media_sta void basis_engine_set_error(basis_media_engine_t* engine, const char* message); basis_decoder_t* basis_engine_get_decoder(basis_media_engine_t* engine); +/* Render-thread entry point (the Unity plugin's OnRenderEvent forwards here). The + * engine pointer comes from Unity and can arrive after basis_media_close has freed + * it; this checks a liveness registry under a lock and no-ops on a stale engine, + * so a late render event can't use-after-free. event_id is a BASIS_RENDER_* value. */ +void basis_engine_render_event(basis_media_engine_t* engine, int event_id); + /* Consulted by the platform backend: paused freezes video publishing and mutes * audio reads; running going to 0 tells decode/demux loops to unwind. */ int basis_engine_is_paused(basis_media_engine_t* engine); diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/unity/basis_unity_plugin.cpp b/Basis/Packages/com.basis.mediaplayer/Native~/unity/basis_unity_plugin.cpp index 17420734b..00053192e 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/unity/basis_unity_plugin.cpp +++ b/Basis/Packages/com.basis.mediaplayer/Native~/unity/basis_unity_plugin.cpp @@ -170,11 +170,11 @@ UnityPluginUnload() { /* ---- render-thread entry ------------------------------------------------ */ static void BASIS_CALL OnRenderEvent(int event_id, void* data) { - basis_media_engine_t* engine = (basis_media_engine_t*)data; - basis_decoder_t* dec = basis_engine_get_decoder(engine); - if (!dec) return; - if (event_id == BASIS_RENDER_UPDATE) basis_decoder_render_update(dec); - else if (event_id == BASIS_RENDER_RELEASE) basis_decoder_render_release(dec); + /* Forward through the engine's liveness registry: the pointer comes from Unity + * and may already have been freed by basis_media_close on the main thread, so + * the dispatch (and the decoder deref) happens under the registry lock, never + * on a freed engine. */ + basis_engine_render_event((basis_media_engine_t*)data, event_id); } extern "C" BASIS_API basis_render_event_func BASIS_CALL basis_media_get_render_event_func(void) { From ad40b02fc6e230d6e200903f427503b8d5ce7577 Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:39 +0100 Subject: [PATCH 07/17] fix(mediaplayer): bounds-check RTMP AMF _result parsing amf_find_stream_id walked a server-supplied AMF buffer checking only i < len before multi-byte reads, so a truncated _result read up to 8 bytes past the buffer. Bound every field read against len, and require the full name length before the _result strncmp. Also cast the chunk stream-id bytes to uint32_t before shifting, so sid[3] << 24 can't shift a byte >= 128 into the int sign bit (signed-overflow UB). --- .../Native~/protocol/basis_rtmp.c | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_rtmp.c b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_rtmp.c index fbe530f1a..91fb3f428 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_rtmp.c +++ b/Basis/Packages/com.basis.mediaplayer/Native~/protocol/basis_rtmp.c @@ -128,7 +128,7 @@ static int rtmp_read_message(rtmp_t* r) { } if (fmt == 0) { uint8_t sid[4]; if (basis_io_read_full(r->io, sid, 4) != 4) return -1; - c->stream_id = sid[0] | (sid[1]<<8) | (sid[2]<<16) | (sid[3]<<24); + c->stream_id = sid[0] | (sid[1]<<8) | (sid[2]<<16) | ((int)((uint32_t)sid[3]<<24)); } /* Timestamp: a 24-bit field of 0xFFFFFF means the real value (absolute for Type 0, * delta for Type 1/2) follows in a 4-byte extended field — present on this chunk, @@ -244,16 +244,18 @@ static void handle_audio(rtmp_t* r, basis_media_sink_t* sink, chunk_state_t* c) /* find the createStream result's stream id (first AMF number after the command * name "_result" and transaction id). Best-effort. */ static double amf_find_stream_id(const uint8_t* p, int len) { - /* skip command string */ + /* Every multi-byte read is bounds-checked: p/len come straight off the wire, + * so a truncated _result must fall through to the default, not over-read. */ int i = 0; - if (i < len && p[i] == 0x02) { int n=(p[i+1]<<8)|p[i+2]; i += 3 + n; } - /* transaction id (number) */ + /* skip command string: 0x02, u16 len, bytes */ + if (i + 3 <= len && p[i] == 0x02) { int n=(p[i+1]<<8)|p[i+2]; i += 3 + n; } + /* transaction id (number): 0x00 + 8 bytes */ if (i < len && p[i] == 0x00) i += 9; /* command object / null */ if (i < len && p[i] == 0x05) i += 1; - else if (i < len && p[i] == 0x03) { /* skip object */ i++; while (i+2buf; int off = (c->type == 17) ? 1 : 0; - if (c->have > off + 1 && p[off] == 0x02) { + if (c->have > off + 2 && p[off] == 0x02) { int nlen = (p[off+1]<<8)|p[off+2]; const char* name = (const char*)(p + off + 3); /* The first _result is connect's (created==0) and carries no stream id; it * falls through below to send createStream (created=-1). Only the createStream * _result (created==-1) carries the stream id, so extract + play on that one. */ - if (created == -1 && nlen == 7 && strncmp(name, "_result", 7) == 0) { + if (created == -1 && nlen == 7 && off + 3 + 7 <= c->have && + strncmp(name, "_result", 7) == 0) { stream_id = (int)amf_find_stream_id(p + off, c->have - off); created = 1; } From f2136e763e7ffe201a285123a9bdab200d71e246 Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:39 +0100 Subject: [PATCH 08/17] fix(mediaplayer): check Media Foundation allocations in the Windows decoder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit make_input_sample fed an attacker-controlled sample length to MFCreateMemoryBuffer and used the result without checking it, so a stream declaring an oversized sample turned an allocation failure into a null-deref. Reject a wild sample length (> 64 MiB, far above any real compressed AU) up front — including before the AV1 configOBU concatenation, with an overflow guard — check every MFCreate*/Lock result, unlock a successfully-locked buffer before releasing it, and propagate the Unlock/SetCurrentLength/AddBuffer HRESULTs. Bound the decoded-output buffer too: cap the MFT-declared cbSize and the software-fallback estimate (dimensions bounded before the multiply) so a malformed output size can't exhaust memory. --- .../Native~/windows/basis_win_decode.cpp | 60 +++++++++++++++---- 1 file changed, 49 insertions(+), 11 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/windows/basis_win_decode.cpp b/Basis/Packages/com.basis.mediaplayer/Native~/windows/basis_win_decode.cpp index 528599151..0897b1408 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/windows/basis_win_decode.cpp +++ b/Basis/Packages/com.basis.mediaplayer/Native~/windows/basis_win_decode.cpp @@ -842,6 +842,10 @@ static void video_process_to_shared(basis_decoder* d, ID3D11Texture2D* nv12, UIN inView->Release(); } +/* Upper bound on a single decoded output frame — 8K RGB is ~100 MB, so this is + * past any real frame while stopping a malformed cbSize from driving a huge alloc. */ +#define BASIS_MAX_OUTPUT_BUFFER (256u * 1024u * 1024u) + /* Pull all currently-available output samples from the video MFT. * CRITICAL: in DXVA mode the MFT hands us its own IMFSample in outBuf.pSample, * backed by a small pool of D3D11 surfaces. That sample MUST be released every @@ -857,9 +861,25 @@ static void drain_video(basis_decoder* d) { outBuf.dwStreamID = 0; if (!providesSamples) { IMFSample* s = nullptr; IMFMediaBuffer* mb = nullptr; - MFCreateSample(&s); - MFCreateMemoryBuffer(si.cbSize ? si.cbSize : (DWORD)(d->vwidth * d->vheight * 3), &mb); - s->AddBuffer(mb); mb->Release(); + DWORD cb = si.cbSize; + if (!cb) { + /* Dims are attacker-announced; bound each side BEFORE multiplying so + * the product can't overflow (16384 is past any real frame — the SPS + * parser already caps decode dimensions well below this). */ + if (d->vwidth > 0 && d->vwidth <= 16384 && d->vheight > 0 && d->vheight <= 16384) + cb = (DWORD)((uint64_t)d->vwidth * (uint64_t)d->vheight * 3u); + else + cb = 0; + } + /* Cap both the MFT-declared cbSize and the fallback estimate so a + * malformed output size can't exhaust memory. */ + if (cb == 0 || cb > BASIS_MAX_OUTPUT_BUFFER || + FAILED(MFCreateSample(&s)) || FAILED(MFCreateMemoryBuffer(cb, &mb))) { + SAFE_RELEASE(s); SAFE_RELEASE(mb); + break; + } + if (FAILED(s->AddBuffer(mb))) { mb->Release(); s->Release(); break; } + mb->Release(); outBuf.pSample = s; } @@ -1395,16 +1415,29 @@ extern "C" int basis_decoder_set_audio_format(basis_decoder_t* d, basis_codec_t return 0; } +/* Upper bound on a single compressed access unit — far above any real one (an 8K + * HEVC keyframe is a few MB), so a demuxer that ever declared a wild size can't + * drive a huge MFCreateMemoryBuffer allocation. */ +#define BASIS_MAX_INPUT_SAMPLE (64 * 1024 * 1024) + static IMFSample* make_input_sample(const uint8_t* data, int len, int64_t pts_us) { + /* len/data come from the demuxer (attacker-controlled). Reject a wild size and + * return NULL cleanly on a failed allocation rather than dereference a null buffer. */ + if (!data || len <= 0 || len > BASIS_MAX_INPUT_SAMPLE) return nullptr; IMFSample* s = nullptr; IMFMediaBuffer* b = nullptr; - MFCreateSample(&s); - MFCreateMemoryBuffer(len, &b); + if (FAILED(MFCreateSample(&s))) return nullptr; + if (FAILED(MFCreateMemoryBuffer((DWORD)len, &b))) { s->Release(); return nullptr; } BYTE* p = nullptr; DWORD maxlen = 0; - b->Lock(&p, &maxlen, nullptr); - memcpy(p, data, len); - b->Unlock(); - b->SetCurrentLength(len); - s->AddBuffer(b); + HRESULT lhr = b->Lock(&p, &maxlen, nullptr); + if (FAILED(lhr) || !p || maxlen < (DWORD)len) { + if (SUCCEEDED(lhr)) b->Unlock(); /* locked but unusable: unlock before releasing */ + b->Release(); s->Release(); return nullptr; + } + memcpy(p, data, (size_t)len); + if (FAILED(b->Unlock()) || FAILED(b->SetCurrentLength((DWORD)len)) || + FAILED(s->AddBuffer(b))) { + b->Release(); s->Release(); return nullptr; + } s->SetSampleTime((LONGLONG)pts_us * 10); /* us -> 100ns */ b->Release(); return s; @@ -1418,12 +1451,15 @@ static IMFSample* make_input_sample(const uint8_t* data, int len, int64_t pts_us * this; if that ever changes, serialise submission through a decoder mutex. */ extern "C" int basis_decoder_submit_video(basis_decoder_t* d, const uint8_t* annexb, int len, int64_t pts_us, int key) { (void)key; - if (!d || !d->vdec || !annexb || len <= 0) return -1; + /* Bound len here, before the AV1 configOBU concatenation below adds to it — so + * the total can't overflow int or drive an oversized allocation. */ + if (!d || !d->vdec || !annexb || len <= 0 || len > BASIS_MAX_INPUT_SAMPLE) return -1; IMFSample* s; bool carried_config = false; if (d->vConfigObusLen > 0) { /* first AV1 AU: prepend the held configOBUs so the decoder sees the * sequence header before any frame data */ + if (d->vConfigObusLen > BASIS_MAX_INPUT_SAMPLE - len) return -1; /* concat would overflow the cap */ int total = d->vConfigObusLen + len; uint8_t* tmp = (uint8_t*)malloc((size_t)total); if (tmp) { @@ -1438,6 +1474,7 @@ extern "C" int basis_decoder_submit_video(basis_decoder_t* d, const uint8_t* ann } else { s = make_input_sample(annexb, len, pts_us); } + if (!s) return -1; /* sample allocation failed; skip this AU rather than crash */ /* Feed the AU, draining output to make room rather than dropping it. The * decoder must accept every frame or playback decimates to the rate at which @@ -1580,6 +1617,7 @@ extern "C" int basis_decoder_submit_audio(basis_decoder_t* d, const uint8_t* dat if (d->acodec == BASIS_CODEC_OPUS) { submit_opus(d, data, len, pts_us); return 0; } if (!d->adec) return -1; IMFSample* s = make_input_sample(data, len, pts_us); + if (!s) return -1; /* sample allocation failed; skip this frame rather than crash */ HRESULT hr = d->adec->ProcessInput(0, s, 0); s->Release(); if (hr == MF_E_NOTACCEPTING) { drain_audio(d); } From 5758b18fc8732e7bcb4b8725c584505edbcb1bcc Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:40 +0100 Subject: [PATCH 09/17] fix(mediaplayer): null-check Android MediaCodec input buffers AMediaCodec_getInputBuffer can return NULL for a valid index under buffer pressure; submit_video/submit_audio/feed_extractor_sample used it without a check. Guard the pointer and compare sizes as size_t so a large cap can't sign-cast negative into memcpy. Queue only a complete AU that fits the buffer, releasing the slot empty otherwise, and propagate the codec queue status so a rejected or dropped frame isn't reported as accepted. --- .../Native~/android/basis_android_decode.c | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Native~/android/basis_android_decode.c b/Basis/Packages/com.basis.mediaplayer/Native~/android/basis_android_decode.c index 38319b7df..a2f626e96 100644 --- a/Basis/Packages/com.basis.mediaplayer/Native~/android/basis_android_decode.c +++ b/Basis/Packages/com.basis.mediaplayer/Native~/android/basis_android_decode.c @@ -508,6 +508,7 @@ static void feed_extractor_sample(basis_decoder_t* d, AMediaCodec* codec, int tr if (ii < 0) return; size_t cap = 0; uint8_t* buf = AMediaCodec_getInputBuffer(codec, ii, &cap); + if (!buf) { AMediaCodec_queueInputBuffer(codec, ii, 0, 0, 0, 0); return; } ssize_t sz = AMediaExtractor_readSampleData(d->extractor, buf, cap); if (sz < 0) { AMediaCodec_queueInputBuffer(codec, ii, 0, 0, 0, AMEDIACODEC_BUFFER_FLAG_END_OF_STREAM); @@ -858,17 +859,23 @@ int basis_decoder_set_audio_format(basis_decoder_t* d, basis_codec_t codec, int basis_decoder_submit_video(basis_decoder_t* d, const uint8_t* annexb, int len, int64_t pts_us, int key) { (void)key; - if (!d || !d->vcodec) return -1; + if (!d || !d->vcodec || !annexb || len <= 0) return -1; + int rc = -1; ssize_t ii = AMediaCodec_dequeueInputBuffer(d->vcodec, 2000); if (ii >= 0) { size_t cap = 0; - uint8_t* buf = AMediaCodec_getInputBuffer(d->vcodec, ii, &cap); - int n = len < (int)cap ? len : (int)cap; - memcpy(buf, annexb, n); - AMediaCodec_queueInputBuffer(d->vcodec, ii, 0, n, pts_us, 0); + uint8_t* buf = AMediaCodec_getInputBuffer(d->vcodec, ii, &cap); /* size_t: no sign-cast */ + if (buf && (size_t)len <= cap) { + memcpy(buf, annexb, (size_t)len); + rc = (AMediaCodec_queueInputBuffer(d->vcodec, ii, 0, (size_t)len, pts_us, 0) == AMEDIA_OK) ? 0 : -1; + } else { + /* NULL buffer or the AU doesn't fit: never queue a partial frame — it + * decodes to corruption. Release the slot empty and report the drop. */ + AMediaCodec_queueInputBuffer(d->vcodec, ii, 0, 0, pts_us, 0); + } } drain_video_output(d); - return 0; + return rc; } /* Source-order -> WAVE-order channel map for the Blu-ray HDMV LPCM @@ -928,13 +935,14 @@ int basis_decoder_submit_audio(basis_decoder_t* d, const uint8_t* data, int len, if (!d || !data || len <= 0) return -1; if (d->ac == BASIS_CODEC_LPCM) { submit_lpcm(d, data, len, pts_us); return 0; } if (!d->acodec) return -1; + int rc = -1; ssize_t ii = AMediaCodec_dequeueInputBuffer(d->acodec, 2000); if (ii >= 0) { size_t cap = 0; uint8_t* buf = AMediaCodec_getInputBuffer(d->acodec, ii, &cap); - if ((size_t)len <= cap) { + if (buf && (size_t)len <= cap) { memcpy(buf, data, (size_t)len); - AMediaCodec_queueInputBuffer(d->acodec, ii, 0, len, pts_us, 0); + rc = (AMediaCodec_queueInputBuffer(d->acodec, ii, 0, len, pts_us, 0) == AMEDIA_OK) ? 0 : -1; } else { /* Never feed a partial frame — it decodes to an error + silence. * max-input-size should prevent this; return the buffer empty if not. */ @@ -942,7 +950,7 @@ int basis_decoder_submit_audio(basis_decoder_t* d, const uint8_t* data, int len, } } drain_audio_output(d); - return 0; + return rc; } /* ---- render thread + accessors ----------------------------------------- */ From ff3465f876a8770b57aa4ee34449a50699d930aa Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:40 +0100 Subject: [PATCH 10/17] test(mediaplayer): fuzz the URL, HLS, RTSP and RTMP parsers Add fuzz_url, fuzz_hls, fuzz_rtsp and fuzz_rtmp to the media-fuzz harness under ASan/UBSan, wired into build.sh. URL/HLS were previously unfuzzed; HLS uses an in-memory provider (SSRF resolver stubbed). RTSP/RTMP own their sockets, so their harness #includes the real .c and provides a basis_io stub (byte-serving for rtsp_recv / rtmp_read_message) and drives the buffer-taking parsers (parse_sdp, depkt_video/audio, amf_find_stream_id, handle_video/audio) directly. The RTSP target found a signed-shift UB in the RTP timestamp read on its first run (fixed in the RTSP/RTMP commits); pinned as testcases/rtsp/rtp_ts_shift_ub.bin and testcases/rtmp/chunk_streamid_shift_ub.bin (the RTMP chunk stream-id path the RTP repro doesn't reach) for the replay gate. --- tools/media-fuzz/README.md | 28 ++++ tools/media-fuzz/build.sh | 33 ++++- tools/media-fuzz/native/fuzz_hls.c | 82 ++++++++++++ tools/media-fuzz/native/fuzz_rtmp.c | 107 +++++++++++++++ tools/media-fuzz/native/fuzz_rtsp.c | 122 ++++++++++++++++++ tools/media-fuzz/native/fuzz_url.c | 38 ++++++ .../rtmp/chunk_streamid_shift_ub.bin | Bin 0 -> 12 bytes .../testcases/rtsp/rtp_ts_shift_ub.bin | Bin 0 -> 12 bytes 8 files changed, 408 insertions(+), 2 deletions(-) create mode 100644 tools/media-fuzz/native/fuzz_hls.c create mode 100644 tools/media-fuzz/native/fuzz_rtmp.c create mode 100644 tools/media-fuzz/native/fuzz_rtsp.c create mode 100644 tools/media-fuzz/native/fuzz_url.c create mode 100644 tools/media-fuzz/testcases/rtmp/chunk_streamid_shift_ub.bin create mode 100644 tools/media-fuzz/testcases/rtsp/rtp_ts_shift_ub.bin diff --git a/tools/media-fuzz/README.md b/tools/media-fuzz/README.md index 47b2eefaa..348b80d31 100644 --- a/tools/media-fuzz/README.md +++ b/tools/media-fuzz/README.md @@ -45,7 +45,29 @@ the crash; if the minimized file stops reproducing, keep the original artifact. | `fuzz_mp4` | `basis_mp4_run` — MP4/fMP4 box + sample-table demux | `basis_mp4.c` + `basis_bitstream.c` + `basis_caption.c` | | `fuzz_webm` | `basis_webm_run` — WebM/Matroska EBML demux | `basis_webm.c` + `basis_bitstream.c` | | `fuzz_ogg` | `basis_ogg_run` — Ogg page/lacing/CRC demux (`.opus`) | `basis_ogg.c` | +| `fuzz_mp3` | `basis_mp3_run` — MP3 frame/Xing/VBRI demux | `basis_mp3.c` | | `fuzz_caption` | `basis_caption_scan_au` — in-band CEA-608 SEI scan | `basis_caption.c` + `basis_bitstream.c` | +| `fuzz_url` | `basis_url_parse` — scheme/userinfo/host/port/path split | `basis_url.c` | +| `fuzz_hls` | `basis_hls_*` — M3U8 master/media parse, URI resolve, segment stitch, seek/reposition | `basis_hls.c` + `basis_url.c` | +| `fuzz_rtsp` | `parse_sdp` + `depkt_video`/`depkt_audio` (RTP FU/AP/afrag reassembly) + `rtsp_recv` | `basis_rtsp.c` (via `#include`) + `basis_bitstream.c` | +| `fuzz_rtmp` | `amf_find_stream_id` + `handle_video`/`handle_audio` (FLV) + `rtmp_read_message` (chunk assembler) | `basis_rtmp.c` (via `#include`) + `basis_bitstream.c` | + +`fuzz_hls` injects an in-memory HTTP provider (the fuzz bytes are the body of every fetched +URL — playlist and segments), so no network is touched; it stubs `basis_io_host_is_blocked` +to always-allow so playlist parsing is actually reached (the real SSRF host check resolves DNS +and is exercised at runtime, not in-process — its URL-parsing half is covered by `fuzz_url`). +`basis_hls.c` spawns a producer thread, so `build.sh` links `-pthread` off-Windows. + +**RTSP/RTMP.** These own their sockets, so their harness `#include`s the real `basis_rtsp.c` / +`basis_rtmp.c` (statics become reachable, and a find is still a find in the shipping parser) and +provides a link-time `basis_io` stub — no-op for the write paths, byte-serving for the read paths +(`rtsp_recv`, `rtmp_read_message`). The buffer-taking parsers (`parse_sdp`, `depkt_video`/`_audio`, +`amf_find_stream_id`, `handle_video`/`_audio`) are called directly with no handshake to script, so +they hit the exact code where review found the H1/M2 OOBs. This first run found a **signed left-shift +UB** in the RTP timestamp read (`rtp[4] << 24` on a byte ≥ 128, in both `depkt_video`/`depkt_audio`, +plus the same in the RTMP chunk stream id) — fixed and pinned as `testcases/rtsp/rtp_ts_shift_ub.bin`. +A full-session seam (scripted handshake, or an injected transport vtable that would also enable +RTSP/RTMP unit tests) is the remaining depth work — tracked in the media-player backlog as B76. New targets slot in the same way — one `fuzz_.c` driver plus its protocol sources in `build.sh`. The MP4 and WebM drivers add a `reseek` callback (both are offset-driven — MP4's `moov` @@ -76,3 +98,9 @@ fix and guards against reintroduction. Replay one with `build/fuzz_.exe te - `ts/pat_pmt_section_len_oob.ts` — out-of-bounds read in `parse_pat`/`parse_pmt`: the 12-bit `section_len` (and PMT `prog_info_len`) is trusted and walked up to ~4 KB past the ~184-byte TS payload, running off the demux buffer when the section packet is the last one buffered. +- `rtsp/rtp_ts_shift_ub.bin` — signed left-shift UB in the RTP timestamp read: `rtp[4] << 24` + shifted a byte ≥ 128 into the `int` sign bit (`depkt_video`/`depkt_audio`). A 12-byte RTP + header with `byte[4] = 0xFF` trips it; fixed by reading the timestamp through `uint32_t`. +- `rtmp/chunk_streamid_shift_ub.bin` — the same signed-shift UB in the RTMP chunk stream id + (`sid[3] << 24`, `rtmp_read_message`), which the RTP repro above doesn't reach. A 12-byte fmt-0 + chunk header with the stream-id MSB set trips it; fixed by shifting through `uint32_t`. diff --git a/tools/media-fuzz/build.sh b/tools/media-fuzz/build.sh index 5f1dcb8bc..4cfaec40c 100755 --- a/tools/media-fuzz/build.sh +++ b/tools/media-fuzz/build.sh @@ -35,8 +35,8 @@ build_target() { want="${1:-all}" case "$want" in - all|ts|mp4|webm|caption|ogg|mp3) ;; - *) echo "unknown fuzz target: $want (expected: all ts mp4 webm caption ogg mp3)" >&2; exit 2 ;; + all|ts|mp4|webm|caption|ogg|mp3|url|hls|rtsp|rtmp) ;; + *) echo "unknown fuzz target: $want (expected: all ts mp4 webm caption ogg mp3 url hls rtsp rtmp)" >&2; exit 2 ;; esac if [ "$want" = "all" ] || [ "$want" = "ts" ]; then build_target ts \ @@ -68,6 +68,35 @@ if [ "$want" = "all" ] || [ "$want" = "mp3" ]; then build_target mp3 \ "$native/protocol/basis_mp3.c" fi +if [ "$want" = "all" ] || [ "$want" = "url" ]; then + build_target url \ + "$native/protocol/basis_url.c" +fi +if [ "$want" = "all" ] || [ "$want" = "hls" ]; then + # basis_hls.c spawns a producer thread; link pthread off-Windows (Win32 threads + # auto-link kernel32). The SSRF host check is stubbed in the harness, so + # basis_io.c and its socket libraries aren't needed. + hls_extra="" + case "$(uname -s 2>/dev/null || echo unknown)" in + MINGW*|MSYS*|CYGWIN*) ;; + *) hls_extra="-pthread" ;; + esac + build_target hls \ + "$native/protocol/basis_hls.c" \ + "$native/protocol/basis_url.c" \ + $hls_extra +fi +# rtsp/rtmp own their sockets, so their harness #includes the real protocol .c and +# provides a basis_io stub (byte-serving for the read paths). Only basis_bitstream +# is linked in — the protocol .c comes via the #include, not the command line. +if [ "$want" = "all" ] || [ "$want" = "rtsp" ]; then + build_target rtsp \ + "$native/protocol/basis_bitstream.c" +fi +if [ "$want" = "all" ] || [ "$want" = "rtmp" ]; then + build_target rtmp \ + "$native/protocol/basis_bitstream.c" +fi # On Windows the ASan runtime is a DLL that must sit next to the exe (or on # PATH) at run time. On Linux it is statically linked; nothing to copy. diff --git a/tools/media-fuzz/native/fuzz_hls.c b/tools/media-fuzz/native/fuzz_hls.c new file mode 100644 index 000000000..aa796ae7c --- /dev/null +++ b/tools/media-fuzz/native/fuzz_hls.c @@ -0,0 +1,82 @@ +/* + * fuzz_hls - libFuzzer target for the HLS playlist source (basis_hls_*). + * + * basis_hls.c parses attacker-controlled M3U8 text (master + media playlists, + * EXT-X tags, segment/variant/map URIs) and stitches the referenced segments + * into one byte stream. It runs on a peer-broadcast URL, so a playlist that + * miscounts an attribute, over-copies a URI, or mishandles the seek/reposition + * read path must fault here under ASan/UBSan, not on a client. + * + * The transport is injected: an in-memory provider serves the fuzzer's bytes as + * the body of every fetched URL (the playlist and every segment), so no network + * is touched. The SSRF host check is stubbed out below so parsing is actually + * reached — that guard resolves DNS and is exercised at runtime, not here; the + * URL-parsing half of it is covered by fuzz_url. + * + * Build: see ../build.sh (clang -fsanitize=fuzzer,address,undefined). + */ +#include +#include +#include +#include + +#include "basis_media_internal.h" /* BASIS_READ_REPOSITION */ +#include "protocol/basis_hls.h" + +/* Stub the SSRF resolver so the HLS parser is isolated from DNS/sockets (and the + * fuzz build needn't link basis_io.c). Always "allowed" -> parsing proceeds. */ +int basis_io_host_is_blocked(const char* host) { (void)host; return 0; } + +/* One in-memory response = the whole fuzz buffer, replayed per open(). */ +static const uint8_t* g_data; +static size_t g_size; + +typedef struct { size_t pos; } mem_ctx; + +static void* mem_open(const char* url) { (void)url; return calloc(1, sizeof(mem_ctx)); } +static void mem_close(void* ctx) { free(ctx); } +static int mem_read(void* ctx, uint8_t* buf, int len) { + mem_ctx* c = (mem_ctx*)ctx; + if (!c || len <= 0) return 0; + size_t avail = g_size - c->pos; + size_t take = (size_t)len < avail ? (size_t)len : avail; + if (take) { memcpy(buf, g_data + c->pos, take); c->pos += take; } + return (int)take; +} + +/* Bound the producer's blocking reloads/retries so a crafted "live" playlist + * can't spin and drag down fuzz throughput; libFuzzer -timeout is the outer + * backstop. Generous enough to stitch a multi-segment playlist, far below the + * old 100k that let a non-advancing playlist burn ~100k callbacks per input. */ +enum { HLS_MAX_POLL_CALLBACKS = 4096 }; +static int g_poll; +static int keep_running(void* user) { (void)user; return (++g_poll) <= HLS_MAX_POLL_CALLBACKS; } + +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + g_data = data; g_size = size; g_poll = 0; + + basis_http_provider_t provider = { mem_open, mem_read, mem_close }; + int is_fmp4 = 0; + void* hls = basis_hls_open("http://fuzz.invalid/index.m3u8", &provider, + keep_running, NULL, &is_fmp4); + if (!hls) return 0; + + /* Touch the metadata getters and drain the stitched stream so segment + * stitching and the demuxer-facing read path are exercised. */ + (void)basis_hls_is_vod(hls); + (void)basis_hls_duration_ms(hls); + if (basis_hls_can_seek(hls) && size) basis_hls_request_seek(hls, (long long)(data[0]) * 100); + + uint8_t buf[4096]; + volatile uint8_t sink = 0; + for (int i = 0; i < 2048; ++i) { + int n = basis_hls_read(hls, buf, (int)sizeof(buf)); + if (n == BASIS_READ_REPOSITION) continue; + if (n <= 0) break; + for (int k = 0; k < n; ++k) sink ^= buf[k]; /* force ASan to see the bytes */ + } + (void)sink; + + basis_hls_close(hls); + return 0; +} diff --git a/tools/media-fuzz/native/fuzz_rtmp.c b/tools/media-fuzz/native/fuzz_rtmp.c new file mode 100644 index 000000000..d743c2c43 --- /dev/null +++ b/tools/media-fuzz/native/fuzz_rtmp.c @@ -0,0 +1,107 @@ +/* + * fuzz_rtmp - libFuzzer target for the RTMP chunk / AMF / FLV parsers. + * + * Like fuzz_rtsp, RTMP owns its socket, so this compiles the real basis_rtmp.c in + * (via #include) and reaches its parsers directly: + * - amf_find_stream_id (server _result AMF walk — the M2 bug lived here); + * - handle_video / handle_audio (FLV tag -> AVC/AAC extraction) on a synthetic + * chunk; + * - rtmp_read_message (the chunk-header assembler) fed the fuzz bytes through a + * link-time basis_io stub in place of a socket. + * + * Build: see ../build.sh (clang -fsanitize=fuzzer,address,undefined). + */ +#include +#include +#include +#include + +#include "basis_media_internal.h" +#include "protocol/basis_io.h" + +static const uint8_t* g_data; +static size_t g_size; +static size_t g_pos; + +/* ---- basis_io stub: serve fuzz bytes; the rest are no-ops for the link ----- */ +int basis_io_read_full(basis_io_t* io, uint8_t* buf, int len) { + (void)io; + int got = 0; + while (got < len && g_pos < g_size) buf[got++] = g_data[g_pos++]; + return got; +} +int basis_io_write_full(basis_io_t* io, const uint8_t* b, int len) { (void)io; (void)b; return len; } +basis_io_t* basis_io_connect(const char* h, int p, int t) { (void)h; (void)p; (void)t; return NULL; } +void basis_io_close(basis_io_t* io) { (void)io; } + +#include "protocol/basis_rtmp.c" + +/* ---- counting sink -------------------------------------------------------- */ +static volatile uint8_t g_sink_byte; +static void touch(const uint8_t* p, int len) { + if (len < 0 || (len > 0 && p == NULL)) abort(); + uint8_t acc = 0; + for (int i = 0; i < len; i++) acc ^= p[i]; + g_sink_byte ^= acc; +} +static void s_vau(void* u, const uint8_t* d, int n, int64_t a, int64_t b, int k) { (void)u; (void)a; (void)b; (void)k; touch(d, n); } +static void s_afr(void* u, const uint8_t* d, int n, int64_t a) { (void)u; (void)a; touch(d, n); } +static void s_vfmt(void* u, basis_codec_t c, const uint8_t* e, int el, int w, int h) { (void)u; (void)c; (void)w; (void)h; touch(e, el); } +static void s_afmt(void* u, basis_codec_t c, int r, int ch, const uint8_t* a, int al) { (void)u; (void)c; (void)r; (void)ch; touch(a, al); } +static void s_state(void* u, basis_media_state_t s) { (void)u; (void)s; } +static void s_err(void* u, const char* m) { (void)u; (void)m; } +static void s_eos(void* u) { (void)u; } +static int s_run(void* u) { (void)u; return 1; } + +static void make_sink(basis_media_sink_t* sink) { + memset(sink, 0, sizeof(*sink)); + sink->on_video_format = s_vfmt; + sink->on_video_au = s_vau; + sink->on_audio_format = s_afmt; + sink->on_audio_frame = s_afr; + sink->on_state = s_state; + sink->on_error = s_err; + sink->on_end_of_stream = s_eos; + sink->is_running = s_run; +} + +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + if (size > (1u << 20)) return 0; + g_data = data; g_size = size; g_pos = 0; + + basis_media_sink_t sink; + make_sink(&sink); + + /* AMF _result walk. */ + amf_find_stream_id(data, (int)size); + + /* FLV video/audio tag parsers. Copy to a writable heap buffer (the parsers + * treat the chunk as read-only, but never hand a fuzzer's read-only mapping + * to code that might write). */ + { + uint8_t* copy = (uint8_t*)malloc(size ? size : 1); + if (copy) { + if (size) memcpy(copy, data, size); + rtmp_t r; memset(&r, 0, sizeof(r)); + r.in_chunk_size = RTMP_DEFAULT_CHUNK; r.video_nls = 4; r.video_codec = BASIS_CODEC_H264; + chunk_state_t c; memset(&c, 0, sizeof(c)); + c.buf = copy; c.have = (int)size; c.len = (uint32_t)size; + c.type = 9; handle_video(&r, &sink, &c); + c.type = 8; handle_audio(&r, &sink, &c); + free(copy); + } + } + + /* Chunk-header assembler, fed the fuzz bytes through the io stub. */ + { + rtmp_t r; memset(&r, 0, sizeof(r)); + r.in_chunk_size = RTMP_DEFAULT_CHUNK; + r.io = (basis_io_t*)&r; + g_pos = 0; + for (int i = 0; i < 4096; i++) { + if (rtmp_read_message(&r) < 0) break; + } + for (int i = 0; i < MAX_CSID; i++) free(r.cs[i].buf); + } + return 0; +} diff --git a/tools/media-fuzz/native/fuzz_rtsp.c b/tools/media-fuzz/native/fuzz_rtsp.c new file mode 100644 index 000000000..67fe9a6fa --- /dev/null +++ b/tools/media-fuzz/native/fuzz_rtsp.c @@ -0,0 +1,122 @@ +/* + * fuzz_rtsp - libFuzzer target for the RTSP response/RTP parsers. + * + * RTSP opens its own socket, so it can't be driven by a read_fn the way the + * demuxers are. This target reaches the parsers two ways, both against the real + * shipping basis_rtsp.c (compiled in via #include, so a find is a find in the + * shipping parser): + * - directly on the buffer-taking parsers: parse_sdp (the DESCRIBE body), + * depkt_video / depkt_audio (RTP depacketisation + FU/AP/afrag reassembly — + * where the reassembly-cap and afrag-drop paths live); + * - through rtsp_recv (status line / headers / interleaved framing), fed by a + * link-time basis_io stub that serves the fuzz bytes in place of a socket. + * + * The other basis_io entry points are stubbed no-ops purely to satisfy the link + * (basis_rtsp_run references them but is never called here). + * + * Build: see ../build.sh (clang -fsanitize=fuzzer,address,undefined). + */ +#include +#include +#include +#include + +#include "basis_media_internal.h" +#include "protocol/basis_io.h" + +/* Fuzz bytes served to the byte-reading parsers (rtsp_recv) via the io stub. */ +static const uint8_t* g_data; +static size_t g_size; +static size_t g_pos; + +/* ---- basis_io stub: serve fuzz bytes; everything else is a no-op ---------- */ +int basis_io_read_full(basis_io_t* io, uint8_t* buf, int len) { + (void)io; + int got = 0; + while (got < len && g_pos < g_size) buf[got++] = g_data[g_pos++]; + return got; /* 0) b[0] = 0; return -1; } +int basis_io_poll_read(basis_io_t** i, int n, int t) { (void)i; (void)n; (void)t; return 0; } +void basis_io_set_read_timeout(basis_io_t* io, int t) { (void)io; (void)t; } +int basis_io_udp_connect(basis_io_t* io, const char* h, int p) { (void)io; (void)h; (void)p; return -1; } +int basis_io_udp_open_pair(const char* h, basis_io_t** a, basis_io_t** b, int* p) { + (void)h; if (a) *a = NULL; if (b) *b = NULL; if (p) *p = 0; return -1; +} + +/* Pull in the real parser (statics become visible in this TU). */ +#include "protocol/basis_rtsp.c" + +/* ---- counting sink: force ASan to read every emitted payload -------------- */ +static volatile uint8_t g_sink_byte; +static void touch(const uint8_t* p, int len) { + if (len < 0 || (len > 0 && p == NULL)) abort(); + uint8_t acc = 0; + for (int i = 0; i < len; i++) acc ^= p[i]; + g_sink_byte ^= acc; +} +static void s_vau(void* u, const uint8_t* d, int n, int64_t a, int64_t b, int k) { (void)u; (void)a; (void)b; (void)k; touch(d, n); } +static void s_afr(void* u, const uint8_t* d, int n, int64_t a) { (void)u; (void)a; touch(d, n); } +static void s_vfmt(void* u, basis_codec_t c, const uint8_t* e, int el, int w, int h) { (void)u; (void)c; (void)w; (void)h; touch(e, el); } +static void s_afmt(void* u, basis_codec_t c, int r, int ch, const uint8_t* a, int al) { (void)u; (void)c; (void)r; (void)ch; touch(a, al); } +static void s_state(void* u, basis_media_state_t s) { (void)u; (void)s; } +static void s_err(void* u, const char* m) { (void)u; (void)m; } +static void s_eos(void* u) { (void)u; } +static int s_run(void* u) { (void)u; return 1; } + +static void make_sink(basis_media_sink_t* sink) { + memset(sink, 0, sizeof(*sink)); + sink->on_video_format = s_vfmt; + sink->on_video_au = s_vau; + sink->on_audio_format = s_afmt; + sink->on_audio_frame = s_afr; + sink->on_state = s_state; + sink->on_error = s_err; + sink->on_end_of_stream = s_eos; + sink->is_running = s_run; +} + +static void run_depkt(basis_media_sink_t* sink, basis_codec_t vcodec, const uint8_t* data, int len) { + depkt_t d; + memset(&d, 0, sizeof(d)); + sdp_media_t vid, aud; + memset(&vid, 0, sizeof(vid)); vid.codec = vcodec; vid.clock = 90000; + memset(&aud, 0, sizeof(aud)); aud.codec = BASIS_CODEC_AAC; aud.clock = 48000; aud.channels = 2; + d.sink = sink; d.video = &vid; d.audio = &aud; + depkt_video(&d, data, len); + depkt_audio(&d, data, len); + free(d.au); free(d.fu); free(d.afrag); +} + +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + if (size > (1u << 20)) return 0; /* keep individual runs bounded */ + g_data = data; g_size = size; g_pos = 0; + + basis_media_sink_t sink; + make_sink(&sink); + + /* SDP body parser (server-controlled DESCRIBE response text). */ + { sdp_media_t v, a; parse_sdp((const char*)data, (int)size, &v, &a); } + + /* RTP depacketisation for both NAL layouts (FU/AP/afrag reassembly). */ + run_depkt(&sink, BASIS_CODEC_H264, data, (int)size); + run_depkt(&sink, BASIS_CODEC_H265, data, (int)size); + + /* RTSP response reader: status line / headers / body / interleaved framing, + * fed the fuzz bytes through the io stub. */ + { + rtsp_t r; + memset(&r, 0, sizeof(r)); + r.io = (basis_io_t*)&r; /* non-NULL; the stub ignores it */ + char body[8192]; + int blen = 0; + g_pos = 0; + rtsp_recv(&r, body, (int)sizeof(body) - 1, &blen); + } + return 0; +} diff --git a/tools/media-fuzz/native/fuzz_url.c b/tools/media-fuzz/native/fuzz_url.c new file mode 100644 index 000000000..2755327ae --- /dev/null +++ b/tools/media-fuzz/native/fuzz_url.c @@ -0,0 +1,38 @@ +/* + * fuzz_url - libFuzzer target for the URL parser (basis_url_parse). + * + * The URL is the first attacker-controlled string the player touches: in + * multiplayer a peer broadcasts it and every client parses it. basis_url_parse + * splits scheme/userinfo/host/port/path by hand, so a malformed URL that walks + * off the buffer or miscomputes a copy length faults here under ASan/UBSan + * instead of on a user's machine. + * + * Build: see ../build.sh (clang -fsanitize=fuzzer,address,undefined). + */ +#include +#include +#include +#include + +#include "protocol/basis_url.h" + +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + /* basis_url_parse wants a NUL-terminated C string; copy so a missing + * terminator in the fuzz input can't itself read past the buffer. */ + char* s = (char*)malloc(size + 1); + if (!s) return 0; + memcpy(s, data, size); + s[size] = 0; + + basis_url_t u; + /* Read every out field on success so ASan validates the copies basis_url_parse + * made (host/path/user/pass are fixed arrays it fills from the input). */ + if (basis_url_parse(s, &u) == 0) { + volatile size_t sink = 0; + sink ^= strlen(u.scheme) ^ strlen(u.host) ^ strlen(u.path) + ^ strlen(u.user) ^ strlen(u.pass) ^ (size_t)u.port; + (void)sink; + } + free(s); + return 0; +} diff --git a/tools/media-fuzz/testcases/rtmp/chunk_streamid_shift_ub.bin b/tools/media-fuzz/testcases/rtmp/chunk_streamid_shift_ub.bin new file mode 100644 index 0000000000000000000000000000000000000000..efb14523b2ae4204fc037c1583bc146fe3aa61b1 GIT binary patch literal 12 TcmZQ(U|?imVBuh3VE7LJ0eArr literal 0 HcmV?d00001 diff --git a/tools/media-fuzz/testcases/rtsp/rtp_ts_shift_ub.bin b/tools/media-fuzz/testcases/rtsp/rtp_ts_shift_ub.bin new file mode 100644 index 0000000000000000000000000000000000000000..bc3b7231b29ab55d71d9e36cbac16a5aadf0a975 GIT binary patch literal 12 OcmZojU|{&q0096JBmv+6 literal 0 HcmV?d00001 From 36115115b7172d1b2013847d1e9e80d19c531679 Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:40 +0100 Subject: [PATCH 11/17] docs(mediaplayer): document native SSRF block and protocol fuzz coverage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Note that RTSP/RTMP/HLS enforce the non-global-unicast block natively — BASIS_MEDIA_ALLOW_LOCAL relaxes only that native re-check, not the top-level C# gate (a top-level RFC1918 URL stays refused regardless). Add an HLS sub-resource SSRF negative test, and record the URL/HLS/RTSP/RTMP fuzz targets (deeper full-session RTSP/RTMP coverage tracked as backlog B76). --- .../Packages/com.basis.mediaplayer/TESTING.md | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/TESTING.md b/Basis/Packages/com.basis.mediaplayer/TESTING.md index 8c02965bd..302d44510 100644 --- a/Basis/Packages/com.basis.mediaplayer/TESTING.md +++ b/Basis/Packages/com.basis.mediaplayer/TESTING.md @@ -69,6 +69,17 @@ Practical consequences: HTTP-TS and HLS lanes need `https://` with a certificate chain the device actually trusts (serve the full chain; standalone headsets are missing more roots than desktop browsers). `rtsp://` is unaffected. +- **Native local-address re-check (RTSP/RTMP/HLS):** the C# gate above is the first line and is + **not** affected by the env var below — a top-level RFC1918 URL stays refused by C# regardless, + and a top-level `localhost` URL works only in the Editor (the C# rule). Behind it, the native + layer independently re-checks resolved addresses for the transports it opens directly — RTSP/RTMP + (via `basis_io`) and every HLS playlist/segment fetch (the SSRF re-check that stops a hostile + playlist steering a sub-resource URI at an internal host). That native re-check has no Editor + concept, so it refuses `localhost` (and any private address it is handed directly, e.g. an HLS + segment URI the C# gate never saw) unless `BASIS_MEDIA_ALLOW_LOCAL` is set (any non-empty value). + Setting it relaxes **only** that native re-check, not the C# gate — so its practical use is + running the local Docker stack's RTSP/RTMP/HLS lanes at `localhost` in the Editor. Plain HTTP(S) + MP4/TS via the platform stack (WinHTTP/JNI) has no native re-check and needs no opt-in. - The separate world-content trust allowlist (`BasisDefaultTrustedUrls`, https-only) gates the sandboxed `VideoPlayer` shim path, not this package — but streams hosted on already-trusted domains spare testers a consent prompt when worlds use the same URL. @@ -241,9 +252,21 @@ be entirely absent). Controls that don't apply to the loaded media should be abs not broken. **Security gates** — negative tests matter: `http://192.168.1.10/x.ts` must refuse with a -clear reason on every platform; `localhost` must refuse **in a build** (and work in the -Editor); `file:///` must refuse. A regression that *opens* a gate is a security bug — -flag it as such, not as a playback bug. +clear reason on every platform (that RFC1918 refusal is the C# gate and holds regardless of any +env var); a plain HTTP(S) `localhost` MP4/TS URL must refuse **in a build** and work in the +Editor; `file:///` must refuse. On the native-transport lanes (HLS, RTSP, RTMP) even the Editor +`localhost` case is refused unless `BASIS_MEDIA_ALLOW_LOCAL` relaxes the native re-check (see the +security-gates section above) — a refusal there without the opt-in is correct, not a regression. +A regression that *opens* a gate is a security bug — flag it as such, not as a playback bug. + +**HLS sub-resource SSRF** — the URL gate only sees the top-level playlist, so the native +source re-checks each URI a playlist steers it to. Serve a media `.m3u8` from a public host +whose segment (or `EXT-X-MAP`, or a nested variant) URI is an absolute +`http://169.254.169.254/…` / `http://192.168.x.x/…` / `http://127.0.0.1:PORT/…`: playback must +fail rather than issue that fetch (watch the stack/server logs — the internal host must see no +request). A playlist that reaches an internal host is a security regression, not a broken-stream +bug. (Editor testing of the legitimate localhost lane needs `BASIS_MEDIA_ALLOW_LOCAL` — see the +security-gates section above.) **A/V sync judgement** — use real footage with visible speech; synthetic patterns hide sync drift. Watch a full minute at the live edge, not five seconds. For anything subtle, capture @@ -340,7 +363,14 @@ crash, hang, or corrupt does. these and how you prove one is gone. An unsanitised "it didn't crash this time" is not proof. Fuzzing corrupt input is the single highest-value test this code has; a parser change that ships without a fuzz pass is under-tested. When you add a parser, add a `fuzz_.c` target - beside the others. + beside the others. Targets exist for the container demuxers (TS/MP4/WebM/Ogg/MP3), the caption + scanner, the URL parser (`fuzz_url`), the HLS playlist source (`fuzz_hls`), and the RTSP/RTMP + parsers (`fuzz_rtsp`/`fuzz_rtmp` — their harness `#include`s the real `.c` and stubs `basis_io`, + byte-serving the read paths; `parse_sdp`/`depkt_*`/`amf_*`/FLV tag parsers are driven directly). + Deeper full-session coverage (a scripted handshake or an injected transport vtable) is tracked as + backlog **B76**. Still exercise all of these with the adversarial live-server rows above + (truncated/oversized headers, a server that never sets the RTP marker) — fuzzing complements the + matrix, it doesn't replace it. - **Keep every crash's repro as a permanent fixture.** When a malformed stream is found to crash, the exact file that triggered it is pinned under `tools/media-fuzz/testcases/` and replayed by the `fuzz-demux` CI job (`media-native.yml`) on every native change — a fixed From 49d408db1fe00f18fc2a0f67199d7229a4707ee5 Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:18:40 +0100 Subject: [PATCH 12/17] chore(mediaplayer): rebuild native plugin binaries Rebuild the Windows x64 DLL and Android arm64 .so (both RIST-enabled) from the hardened Native~ source so the security fixes ship in the plugins. --- .../arm64-v8a/libbasis_media_native.so | Bin 1507448 -> 1515552 bytes .../Windows/x86_64/basis_media_native.dll | Bin 358912 -> 361472 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/Plugins/Android/arm64-v8a/libbasis_media_native.so b/Basis/Packages/com.basis.mediaplayer/Plugins/Android/arm64-v8a/libbasis_media_native.so index a9bb2e88fe704f5b76d52210fbd805eb5ac216d6..c729e404a3a285d480dce358e0b15b0703010d5c 100644 GIT binary patch delta 502541 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 z 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

b5AA~( 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

  • !4L#(u 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

    U^$qt!BmF=BBLzC^cCxIi0 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≪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

    *Hsr$Mv;; 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 diff --git a/Basis/Packages/com.basis.mediaplayer/Plugins/Windows/x86_64/basis_media_native.dll b/Basis/Packages/com.basis.mediaplayer/Plugins/Windows/x86_64/basis_media_native.dll index f881131ba2260cb53a7ad3f55657c6c9c7dbf0d1..bc9b81c9e279713f8b9d8fc0268b9ac94964b252 100644 GIT binary patch delta 79729 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 sdJ6K2dAvM~`s`&Sx)4iSS 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 Z4}1?~h|2+3bTx-?hV$6hS2zXH{{f!|AK?H1 delta 77108 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 Mf1+!``6~Z^08cSaM*si- From bf8bd6eb6b882ce847f5fa3b38dff24af1ae3e52 Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:46:59 +0100 Subject: [PATCH 13/17] chore(mediaplayer): retire the self-hosted test-stream stack Remove tools/media-test-streams and its TESTING.md guidance. The public endpoints cover the common lanes, the CI conformance gate already proves the demuxers on every supported container/codec, and the remaining lanes (live RTSP/RTMP/RIST, split-stream, captions, LPCM 7.1, localhost) are cheaper to serve from your own files/server than to maintain a bundled Docker stack. TESTING.md now lists the supported container/codec/transport inputs to bring your own of. --- .../Packages/com.basis.mediaplayer/TESTING.md | 93 +++++---- tools/media-test-streams/README.md | 98 --------- tools/media-test-streams/docker-compose.yml | 135 ------------- tools/media-test-streams/mediamtx.yml | 23 --- tools/media-test-streams/nginx.conf | 13 -- tools/media-test-streams/scripts/gen_cc_ts.py | 187 ------------------ tools/media-test-streams/scripts/preflight.py | 133 ------------- .../scripts/prepare-assets.sh | 91 --------- 8 files changed, 54 insertions(+), 719 deletions(-) delete mode 100644 tools/media-test-streams/README.md delete mode 100644 tools/media-test-streams/docker-compose.yml delete mode 100644 tools/media-test-streams/mediamtx.yml delete mode 100644 tools/media-test-streams/nginx.conf delete mode 100644 tools/media-test-streams/scripts/gen_cc_ts.py delete mode 100644 tools/media-test-streams/scripts/preflight.py delete mode 100644 tools/media-test-streams/scripts/prepare-assets.sh diff --git a/Basis/Packages/com.basis.mediaplayer/TESTING.md b/Basis/Packages/com.basis.mediaplayer/TESTING.md index 302d44510..705f70167 100644 --- a/Basis/Packages/com.basis.mediaplayer/TESTING.md +++ b/Basis/Packages/com.basis.mediaplayer/TESTING.md @@ -45,8 +45,8 @@ Things that regularly masquerade as player bugs: `ffmpeg -listen` answer `200` and get treated as **live**. Serve VOD files from nginx (or anything with real range support). -The test-stream stack in [`tools/media-test-streams/`](../../../tools/media-test-streams/) -ships a `preflight.py` that runs these probes across all of its lanes in ~30 seconds. +Script these probes over whatever endpoints you use before a test session — a stalled or +mis-configured feed wastes far more time than the 30 seconds a probe takes. ## Where test streams may live (the security gates) @@ -62,9 +62,10 @@ ships a `preflight.py` that runs these probes across all of its lanes in ~30 sec Practical consequences: -- **Editor iteration:** run the test stack locally with Docker and use `localhost` URLs. -- **Builds, Quest, multi-client tests:** the stream must come from a **public host with real - DNS**. Any cheap VPS running the same stack works. +- **Editor iteration:** point at a public endpoint, or run your own server (RTSP/RTMP/HTTP) locally + and use `localhost` URLs. +- **Builds, Quest, multi-client tests:** the stream must come from a **public host with real DNS** — + a public endpoint below, or your own content on any cheap VPS. - **Quest/Android:** the OS cleartext policy blocks plain `http://` on the JNI fetch path — HTTP-TS and HLS lanes need `https://` with a certificate chain the device actually trusts (serve the full chain; standalone headsets are missing more roots than desktop browsers). @@ -78,8 +79,8 @@ Practical consequences: concept, so it refuses `localhost` (and any private address it is handed directly, e.g. an HLS segment URI the C# gate never saw) unless `BASIS_MEDIA_ALLOW_LOCAL` is set (any non-empty value). Setting it relaxes **only** that native re-check, not the C# gate — so its practical use is - running the local Docker stack's RTSP/RTMP/HLS lanes at `localhost` in the Editor. Plain HTTP(S) - MP4/TS via the platform stack (WinHTTP/JNI) has no native re-check and needs no opt-in. + running your own RTSP/RTMP/HLS server at `localhost` in the Editor. Plain HTTP(S) MP4/TS via the + platform stack (WinHTTP/JNI) has no native re-check and needs no opt-in. - The separate world-content trust allowlist (`BasisDefaultTrustedUrls`, https-only) gates the sandboxed `VideoPlayer` shim path, not this package — but streams hosted on already-trusted domains spare testers a consent prompt when worlds use the same URL. @@ -108,22 +109,36 @@ integration package that provides it — e.g. The same split applies to any future integration: endpoints that need an integration package to function are tested in that package's own TESTING.md. -## What the public internet can't give you: the test-stream stack - -Some lanes have no reliable public endpoint. [`tools/media-test-streams/`](../../../tools/media-test-streams/) -is a Docker Compose stack that provides them, runnable **locally for Editor work** (loopback -is allowed in-editor) and **on any public VPS** for build/Quest/multi-client work: - -- RTSP/RTSPT under your control (including an adversarial long-GOP path for join testing) -- HTTP-TS live feeds -- nginx VOD with real range support -- CEA-608 caption-bearing TS (generated fixture — no public stream carries captions reliably) -- LPCM 5.1/7.1 over M2TS (the full-multichannel lane; AAC on Windows caps at 5.1) -- RIST sender, plain and AES-encrypted (needs the opt-in `-DBASIS_WITH_RIST=ON` plugin build) -- Split-stream video+audio pairs - -Its README covers deployment, asset preparation (bring your own content — real footage with -visible lip-sync moments beats synthetic patterns for A/V sync work), and per-lane URLs. +## Lanes without a public endpoint: bring your own + +The public endpoints above cover the common lanes. The rest — the live transports (RTSP/RTMP/RIST), +split-stream pairs, `localhost` iteration, and a couple of fixtures no public stream carries +reliably (CEA-608 captions, LPCM 7.1 over M2TS) — you provide yourself. There is no bundled +test-server stack to maintain; stand up whatever server you already use and point your own files at +it. + +What the manual pass is actually for: the CI conformance gate (`tools/media-conformance`) already +proves the **demuxers** parse every supported container/codec correctly — on synthetic fixtures, on +every native change. What it cannot touch is real **decode + present** on actual hardware, A/V sync, +and the live network transports. That is exactly what this matrix covers, and it needs real files +and servers. + +Supported inputs to keep on hand (generate with `ffmpeg`, serve however you like): + +- **Containers:** MP4 / fragmented MP4 (`.mp4` `.m4v` `.m4a` `.m4s`), MPEG-TS (`.ts`) and + Blu-ray/AVCHD M2TS (`.m2ts` `.mts`), WebM/Matroska (`.webm`), Ogg (`.opus`), MP3 (`.mp3`), + WAV (`.wav`), HLS (`.m3u8`, TS- or fMP4-segmented). +- **Video codecs:** H.264, H.265/HEVC (`hvc1`), VP9 (WebM and `vp09`-in-MP4), AV1 (progressive and + fragmented MP4, and `V_AV1` WebM). +- **Audio codecs:** AAC (≤ 5.1 on Windows, discrete 5.1 on Android), Opus (WebM and Ogg), MP3 (bare, + and `esds` OTI `0x6B`/`0x69` in MP4), LPCM (WAV, and 7.1 over M2TS). +- **Transports:** any RTSP/RTMP server (e.g. MediaMTX), an `ffmpeg`-served HTTP-TS feed, nginx (or + anything with real `Range`/`206` support) for VOD, an HLS packager, and — for the opt-in + `-DBASIS_WITH_RIST=ON` build — a RIST sender (ffmpeg/librist), plain and AES. + +Two feeder traps worth repeating: a VOD host must answer `206 Partial Content` or `Delivery=Auto` +mis-detects it as live (`python -m http.server` and `ffmpeg -listen` answer `200` — use nginx); and +for A/V-sync work use **real footage with visible lip-sync**, not synthetic patterns. ## The regression matrix @@ -135,18 +150,18 @@ Run the rows your change plausibly touches; run everything before a release-boun | Lane | Source | Verify additionally | | --- | --- | --- | -| RTSP live | VRCDN or stack `rtsp://:8554/main` | Join latency ≈ GOP-bound; pause/resume recovers cleanly. `rtsp://` negotiates UDP transport first and falls back to TCP-interleaved; the Console logs the settled choice once per load (`[NativeMedia] transport: RTSP over UDP`), and it's queryable via `BasisMediaPlayer.CurrentTransport` | -| RTSP adversarial join | stack `rtsp://:8554/slowjoin` | Audio leads video by up to the GOP length on join, then locks — no permanent desync | -| RTSP refusal fallback | stack with `rtspTransports: [tcp]` in `mediamtx.yml` | UDP SETUP is refused (461); playback is indistinguishable from today, no error surfaced; Console logs `RTSP over TCP (UDP unavailable)` | -| RTSP timer fallback | stack with the host's `8000-8001/udp` blocked (or any network that silently eats UDP) | First join stalls ~3 s, then restarts transparently over TCP with the same fallback log line; a reload of the same host skips the probe and goes straight to TCP | +| RTSP live | VRCDN, or your own RTSP server (e.g. MediaMTX) | Join latency ≈ GOP-bound; pause/resume recovers cleanly. `rtsp://` negotiates UDP transport first and falls back to TCP-interleaved; the Console logs the settled choice once per load (`[NativeMedia] transport: RTSP over UDP`), and it's queryable via `BasisMediaPlayer.CurrentTransport` | +| RTSP adversarial join | your own RTSP server fed a long-GOP source | Audio leads video by up to the GOP length on join, then locks — no permanent desync | +| RTSP refusal fallback | your own RTSP server configured TCP-only (`rtspTransports: [tcp]` in MediaMTX) | UDP SETUP is refused (461); playback is indistinguishable from today, no error surfaced; Console logs `RTSP over TCP (UDP unavailable)` | +| RTSP timer fallback | any network that silently drops the RTP UDP ports (`8000-8001/udp`) | First join stalls ~3 s, then restarts transparently over TCP with the same fallback log line; a reload of the same host skips the probe and goes straight to TCP | | RTSP forced TCP | `rtspt://` form of any RTSP URL | No UDP attempt at all (no UDP `SETUP` in the server log); Console logs `RTSP over TCP` | -| HTTP-TS live | VRCDN `.live.ts` or stack | Same checks over plain TS; on Quest use the https lane | -| HLS VOD | Mux master or stack packaging | Variant switch via panel bitrate dropdown mid-play | +| HTTP-TS live | VRCDN `.live.ts`, or your own `ffmpeg`-served TS | Same checks over plain TS; on Quest use the https lane | +| HLS VOD | Mux master, or your own HLS packaging | Variant switch via panel bitrate dropdown mid-play | | Progressive/fMP4 MP4 | Big Buck Bunny | `Delivery=Auto` detects OnDemand (needs the 206); seek slider works | -| RTMP | stack `rtmp://:1935/main` | Minimal client — plain `rtmp://` pull only | -| RIST plain + AES | stack (RIST profile) | Requires RIST-enabled plugin build; loss recovery under induced packet loss | -| WAV audio-only | stack VOD | 16/24-bit, up to 8 ch; no video track is not an error | -| Split-stream | stack pair | Windows-only today; `AudioUri` lane syncs to video | +| RTMP | your own RTMP server (e.g. MediaMTX) | Minimal client — plain `rtmp://` pull only | +| RIST plain + AES | your own RIST sender (ffmpeg/librist) | Requires RIST-enabled plugin build; loss recovery under induced packet loss | +| WAV audio-only | your own WAV over HTTP | 16/24-bit, up to 8 ch; no video track is not an error | +| Split-stream | your own video-only + audio-only pair | Windows-only today; `AudioUri` lane syncs to video | ### Content and codecs @@ -178,7 +193,7 @@ Run the rows your change plausibly touches; run everything before a release-boun | LPCM 7.1 M2TS | All 8 lanes audible and correctly placed — the only full-7.1 path on Windows | | PCE-signalled / >6-ch AAC | **Graceful refusal** on Windows (mute or clean error, never a crash) | | Trailing-moov progressive MP4 | Non-faststart file (`ffmpeg -i in.mp4 -c copy out.mp4` leaves `moov` after `mdat`): on a range/`206` server it plays with seek + duration; over a one-way stream (no ranges) it refuses cleanly with a faststart-remux hint | -| CEA-608 captions | Stack caption fixture: cues appear on time, accented characters correct, clear-cue clears, CC toggle + opacity sliders live-apply | +| CEA-608 captions | A caption-bearing TS you generate (no public stream carries captions reliably): cues appear on time, accented characters correct, clear-cue clears, CC toggle + opacity sliders live-apply | | 44.1 kHz audio | Resamples cleanly to the DSP rate (dominant path is 48 kHz — don't let 44.1k rot) | | Non-16-aligned coded height | No pad strip on the video edge (a thin top strip on Windows, a grey bottom strip on Android) and the RenderTexture matches the display aspect. 720p and other 16-aligned heights are clean, so test a padded height specifically — 1080p (→1088) on Windows, 640×360 (→368) on Android | @@ -263,7 +278,7 @@ A regression that *opens* a gate is a security bug — flag it as such, not as a source re-checks each URI a playlist steers it to. Serve a media `.m3u8` from a public host whose segment (or `EXT-X-MAP`, or a nested variant) URI is an absolute `http://169.254.169.254/…` / `http://192.168.x.x/…` / `http://127.0.0.1:PORT/…`: playback must -fail rather than issue that fetch (watch the stack/server logs — the internal host must see no +fail rather than issue that fetch (watch the target server's logs — the internal host must see no request). A playlist that reaches an internal host is a security regression, not a broken-stream bug. (Editor testing of the legitimate localhost lane needs `BASIS_MEDIA_ALLOW_LOCAL` — see the security-gates section above.) @@ -303,20 +318,20 @@ with on-screen text or a logo, every time video-path code changes. A report that can be acted on contains: -1. The exact URL (or the stack lane + asset recipe) — full URL, not a fragment +1. The exact URL (or how to reproduce the source — server + asset recipe) — full URL, not a fragment 2. Platform, graphics API, Editor-or-build, headset if relevant 3. What was expected, what happened, and how reliably it reproduces 4. Console output around the failure (the `Video`-tagged lines) and, for timing/sync issues, the diagnostics CSV covering the incident -5. Whether the preflight/ffprobe of the same URL was green at the time +5. Whether `ffprobe` of the same URL was green at the time ## Acknowledgements The always-on live lanes above are [VRCDN](https://vrcdn.live/)'s own public channel, listed here with their permission — thanks to the VRCDN team for keeping a reliable 24/7 reference stream running and for letting this guide point testers at it. Be a good guest: use it for -interactive test sessions, not automated soak loops, and stand up the self-hosted stack for -anything sustained. +interactive test sessions, not automated soak loops, and stand up your own server for anything +sustained. ## Native plugin changes: the security boundary diff --git a/tools/media-test-streams/README.md b/tools/media-test-streams/README.md deleted file mode 100644 index 7d863523c..000000000 --- a/tools/media-test-streams/README.md +++ /dev/null @@ -1,98 +0,0 @@ -# Media test-stream stack - -Self-hostable test streams for `com.basis.mediaplayer` development — the lanes that have no -reliable public endpoint. The companion guide, -[`Basis/Packages/com.basis.mediaplayer/TESTING.md`](../../Basis/Packages/com.basis.mediaplayer/TESTING.md), -explains what to test against these streams and lists the public always-on endpoints that -cover the common lanes with zero setup. - -Runs in two modes: - -- **Local (Editor iteration).** The player allows loopback URLs in the Editor, so - `docker compose up -d` on your dev machine and `rtsp://localhost:8554/main` in the Editor - is the fastest loop. Builds refuse loopback — local mode is Editor-only by design. -- **Public VPS (builds, Quest, multi-client).** The same stack on any cheap VPS with a public - IP and a DNS name. Private/LAN addresses are refused on every platform, so there is no - in-between: it's localhost-in-Editor or properly public. - -## Quick start - -```bash -# 1. Prepare assets from your own test clip (real footage with visible speech -# recommended; 6-8 audio channels unlock the multichannel lanes) -scripts/prepare-assets.sh ~/my-test-clip.mp4 - -# 2. Start the stack -docker compose up -d - -# 3. Prove the feeds are healthy before testing the player -python3 scripts/preflight.py # local -python3 scripts/preflight.py --host my.vps # deployed -``` - -## Lanes - -| URL (`` = `localhost` or your VPS) | Lane | Notes | -| --- | --- | --- | -| `rtsp://:8554/main` | RTSP live, 2 s GOP | The reference live path — joins land a frame within ~2 s. Negotiates UDP transport with TCP fallback; `rtspt://` of the same URL pins TCP for the forced-TCP lane | -| `rtsp://:8554/silent` | Video + silent stereo | Regression cover for effectively video-only sources | -| `rtsp://:8554/slowjoin` | **Adversarial** ~10 s GOP | Mid-stream joins wait up to 10 s for an IDR — deliberately; audio-first joins here are expected | -| `http://:8082/captions.ts` | CEA-608 in-band captions, HTTP-TS | Generated fixture (silent test pattern); cues every ~3 s incl. accents, music note, clear; single-client feeder | -| `rtmp://:1935/main` | RTMP pull | The player's minimal RTMP client (plain `rtmp://` only) | -| `http://:8081/live.ts` | HTTP-TS live | Single-client feeder: serves one connection, respawns on disconnect | -| `http://:8080/assets/mezzanine.mp4` | Progressive MP4 VOD | nginx answers real 206 → `Delivery=Auto` detects OnDemand | -| `http://:8080/assets/hls/index.m3u8` | HLS VOD | Single-rendition packaging of the mezzanine | -| `http://:8080/assets/lpcm.m2ts` | LPCM multichannel M2TS | Only produced from a ≥6-ch source; the full-7.1 lane | -| `http://:8080/assets/w8.wav` | Multichannel WAV | Audio-only; name varies with source channel count | -| `http://:8080/assets/videoonly.mp4` + `audioonly.mp4` | Split-stream pair | Load the video URL with the audio URL as the separate audio leg | -| `rist://:5000` | RIST plain | `--profile rist`; see below | -| `rist://:5001?secret=&aes-type=128` | RIST AES-128 | Same PSK on both ends; change the compose file's placeholder | - -`http://:8080/assets/` autoindexes, so anything else you drop into `assets/` is served -with range support too. - -## RIST lanes - -```bash -docker compose --profile rist up -d -``` - -Two extra requirements: - -- **Player side**: the native plugin must be built with `-DBASIS_WITH_RIST=ON` (see the - package README's build section) — stock builds refuse `rist://`. -- **Sender side**: the ffmpeg in the container must include librist. Verify with - `docker compose run --rm rist-plain -protocols 2>/dev/null | grep rist`; if it's missing, - point the two rist services at any ffmpeg image with librist, or run the same commands with - a host ffmpeg "full" build. - -Change the AES lane's pre-shared key in `docker-compose.yml` before deploying anywhere shared. - -## Deploying on a VPS - -1. Any small VPS works — the publishers `-c copy` pre-encoded assets, so CPU stays near idle. -2. Copy this directory up, run `prepare-assets.sh` there (or copy a prepared `assets/`), then - `docker compose up -d`. -3. Open the inbound ports at **every** firewall layer (many providers gate ports in a panel - *in addition to* the OS firewall): `8554/tcp`, `1935/tcp`, `8080/tcp`, `8081-8082/tcp`, - and for RIST `5000-5001/udp`. -4. Give it a DNS name. Hostnames are DNS-validated by the player, and Quest's cleartext - policy means the HTTP lanes (`8080`–`8082`) need to sit behind TLS with a certificate - chain standalone headsets actually trust (serve the full chain including intermediates — - headset trust stores are sparser than desktop browsers'). RTSP needs no TLS. -5. `python3 scripts/preflight.py --host ` before every session. - -## Gotchas - -- **One client per HTTP-TS slot.** The `tslive` and `cclive` feeders serve a single - connection then exit and respawn. If one wedges without exiting (stale ~0.5 Mbps trickle — - the preflight's bitrate floor catches this), `docker compose restart tslive` (or `cclive`). -- **Don't benchmark with `curl.exe` on Windows** — it under-reads regardless of server. Use - `preflight.py`'s sampled throughput. -- **Slow joins on `slowjoin` are the point.** File a bug only if the join exceeds the GOP - length or A/V never locks after the first IDR. -- **Link capacity is a real variable.** A stream whose bitrate exceeds your path to the VPS - cannot play live regardless of player behaviour; check the preflight throughput numbers - against the asset bitrate before chasing "stutter". -- **Asset licensing.** `prepare-assets.sh` derives everything from the clip you supply; use - content you have the rights to put on a public endpoint. diff --git a/tools/media-test-streams/docker-compose.yml b/tools/media-test-streams/docker-compose.yml deleted file mode 100644 index 169a09a14..000000000 --- a/tools/media-test-streams/docker-compose.yml +++ /dev/null @@ -1,135 +0,0 @@ -# Test-stream stack for the Basis media player. See README.md for usage. -# -# Runs locally (Editor allows loopback URLs) or on any public VPS (builds/Quest -# require a public host). Prepare ./assets first: scripts/prepare-assets.sh -# -# Profiles: -# default rtsp/rtspt lanes + VOD + HTTP-TS live -# rist RIST senders (needs an ffmpeg image built with librist) - -services: - # RTSP server, UDP + TCP transports (rtsp://:8554/ negotiates, - # rtspt:// pins TCP), plus the RTMP pull lane on 1935 - # (rtmp://:1935/). - # Publishers also push in over RTMP: it carries whole access units, while - # ffmpeg's RTSP output fragments large AAC frames in ways ingest - # depacketisers reject. - mediamtx: - image: bluenviron/mediamtx:latest - restart: unless-stopped - ports: - - "8554:8554" # RTSP control (TCP) - - "8000:8000/udp" # RTP (UDP transport) - - "8001:8001/udp" # RTCP (UDP transport; carries client receiver reports) - - "1935:1935" # RTMP (ingest + player pull lane) - volumes: - - ./mediamtx.yml:/mediamtx.yml:ro - - # Looping publishers. -c copy from pre-encoded assets: zero transcode CPU. - pub-main: &publisher - image: linuxserver/ffmpeg:latest - restart: unless-stopped - depends_on: [mediamtx] - volumes: - - ./assets:/assets:ro - command: >- - -hide_banner -loglevel warning - -re -stream_loop -1 -i /assets/mezzanine.mp4 - -c copy -f flv rtmp://mediamtx:1935/main - - # Silent-audio variant (video + silent stereo): regression cover for sources - # whose SDP would otherwise be video-only. - pub-silent: - <<: *publisher - command: >- - -hide_banner -loglevel warning - -re -stream_loop -1 -i /assets/silent.mp4 - -c copy -f flv rtmp://mediamtx:1935/silent - - # Adversarial long-GOP path: a mid-stream join waits up to the full GOP for - # an IDR — deliberate repro for slow-join symptoms. Slow joins here are - # expected, not bugs. - pub-slowjoin: - <<: *publisher - command: >- - -hide_banner -loglevel warning - -re -stream_loop -1 -i /assets/slowjoin.mp4 - -c copy -f flv rtmp://mediamtx:1935/slowjoin - - # CEA-608 caption fixture over HTTP-TS: http://:8082/captions.ts - # (silent test pattern with in-band captions in the H.264 SEIs; -c copy - # preserves them). Served raw rather than via RTMP: the fixture loops, and - # the player treats the per-loop timestamp wrap as a new timeline, while the - # FLV mux does not tolerate it. Single-client feeder like tslive. - cclive: - image: linuxserver/ffmpeg:latest - restart: unless-stopped - ports: - - "8082:8082" - volumes: - - ./assets:/assets:ro - command: >- - -hide_banner -loglevel warning - -re -stream_loop -1 -i /assets/test_cc.ts - -c copy -f mpegts -listen 1 http://0.0.0.0:8082/captions.ts - - # VOD over HTTP with real range support (nginx answers 206, so the player's - # Delivery=Auto probe detects OnDemand). Serves everything in ./assets. - vod: - image: nginx:alpine - restart: unless-stopped - ports: - - "8080:80" - volumes: - - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro - - ./assets:/srv/assets:ro - - # HTTP-TS live lane: http://:8081/live.ts - # ffmpeg -listen serves ONE client, then exits; restart: unless-stopped - # respawns a fresh slot. A wedged (connected-but-stale) slot needs a manual - # `docker compose restart tslive`. - tslive: - image: linuxserver/ffmpeg:latest - restart: unless-stopped - ports: - - "8081:8081" - volumes: - - ./assets:/assets:ro - command: >- - -hide_banner -loglevel warning - -re -stream_loop -1 -i /assets/mezzanine.mp4 - -c copy -f mpegts -listen 1 http://0.0.0.0:8081/live.ts - - # --- RIST lanes (profile: rist) ------------------------------------------ - # The player side needs the plugin built with -DBASIS_WITH_RIST=ON. - # The sender side needs ffmpeg with librist compiled in — check with: - # docker compose run --rm rist-plain -protocols 2>/dev/null | grep rist - # Sender runs in listener mode; the player connects to rist://:5000. - rist-plain: - image: linuxserver/ffmpeg:latest - restart: unless-stopped - profiles: [rist] - ports: - - "5000:5000/udp" - volumes: - - ./assets:/assets:ro - command: >- - -hide_banner -loglevel warning - -re -stream_loop -1 -i /assets/mezzanine.mp4 - -c copy -f mpegts -rist_profile main "rist://@:5000" - - # AES-128 lane: rist://:5001?secret=&aes-type=128 - # Replace the PSK below (and use the same value in the player URL). - rist-aes: - image: linuxserver/ffmpeg:latest - restart: unless-stopped - profiles: [rist] - ports: - - "5001:5001/udp" - volumes: - - ./assets:/assets:ro - command: >- - -hide_banner -loglevel warning - -re -stream_loop -1 -i /assets/mezzanine.mp4 - -c copy -f mpegts -rist_profile main - "rist://@:5001?secret=change-this-preshared-key&aes-type=128" diff --git a/tools/media-test-streams/mediamtx.yml b/tools/media-test-streams/mediamtx.yml deleted file mode 100644 index e6f2d0ac9..000000000 --- a/tools/media-test-streams/mediamtx.yml +++ /dev/null @@ -1,23 +0,0 @@ -# mediamtx config for the Basis media-player test stack. -# RTSP with both transports: rtsp:// negotiates UDP first and falls back to -# TCP; rtspt:// pins TCP. Set rtspTransports: [tcp] to test the player's -# refusal fallback (UDP SETUP answered 461). RTMP doubles as the publisher -# ingest and the player's rtmp:// pull lane. - -logLevel: info - -rtsp: yes -rtspTransports: [udp, tcp] -rtspAddress: :8554 -rtpAddress: :8000 -rtcpAddress: :8001 - -rtmp: yes -rtmpAddress: :1935 - -hls: no -webrtc: no -srt: no - -paths: - all_others: diff --git a/tools/media-test-streams/nginx.conf b/tools/media-test-streams/nginx.conf deleted file mode 100644 index 20f9f5603..000000000 --- a/tools/media-test-streams/nginx.conf +++ /dev/null @@ -1,13 +0,0 @@ -# VOD lane: static files with real range support (nginx answers 206 Partial -# Content, which the player's Delivery=Auto probe requires to detect VOD). -server { - listen 80; - root /srv; - - location /assets/ { - autoindex on; - # Large media files: stream from disk, don't buffer whole files in RAM. - sendfile on; - tcp_nopush on; - } -} diff --git a/tools/media-test-streams/scripts/gen_cc_ts.py b/tools/media-test-streams/scripts/gen_cc_ts.py deleted file mode 100644 index 579e4110d..000000000 --- a/tools/media-test-streams/scripts/gen_cc_ts.py +++ /dev/null @@ -1,187 +0,0 @@ -#!/usr/bin/env python3 -""" -Generate a looping MPEG-TS test clip carrying in-band CEA-608 (CC1) captions, to -exercise the media player's caption decoder end to end. - -ffmpeg can read/repack captions but not synthesise them, so this builds the -caption bytes itself: it encodes pop-on CEA-608 command sequences, wraps them in -ATSC A/53 (GA94) cc_data SEI NAL units, and splices one in at each caption-change -frame of an H.264 Annex B elementary stream produced by ffmpeg. A second ffmpeg -pass muxes the result to MPEG-TS. - -Usage: gen_cc_ts.py [output.ts] (default: test_cc.ts beside this script) -Verify: ffprobe -show_frames output.ts | grep -i caption ("ATSC A53" side data) -""" -import os -import subprocess -import sys -import tempfile - -FPS = 30 -DUR = 20 # seconds -W, H = 854, 480 - -# Schedule: (frame_index, caption_text or None-for-clear). Pop-on; the cue persists -# until the next entry, so a change every ~3s reads comfortably. -SCHEDULE = [ - (0, "CEA-608 CAPTION TEST"), - (90, "THE QUICK BROWN FOX"), - (180, "JUMPS OVER THE LAZY DOG"), - (270, None), # clear - (330, "ACCENTS: cafe résumé piñata"), - (420, "MUSIC: ♪ la la la ♪"), - (510, "LAST LINE - LOOP RESTARTS"), -] - -# ---- CEA-608 encoding ---------------------------------------------------- - -def odd_parity(b): - b &= 0x7F - ones = bin(b).count("1") - return b | (0x00 if ones % 2 else 0x80) - -# Basic North American set: accented characters with dedicated codepoints. -BASIC = {"á": 0x2A, "é": 0x5C, "í": 0x5E, "ó": 0x5F, "ú": 0x60, - "ç": 0x7B, "÷": 0x7C, "Ñ": 0x7D, "ñ": 0x7E} -# Special chars live in a control pair (0x11, 0x30-0x3F). -SPECIAL = {"♪": 0x37} # music note - -def char_pairs(text): - """Yield (b0,b1) byte pairs for the text body (no parity yet).""" - pending = [] - out = [] - for ch in text: - if ch in SPECIAL: # special char is its own control pair - if len(pending) == 1: - out.append((pending[0], 0x00)); pending = [] - out.append((0x11, SPECIAL[ch])) - continue - code = BASIC.get(ch) - if code is None: - o = ord(ch) - code = o if 0x20 <= o <= 0x7F else 0x20 # fall back to space - pending.append(code) - if len(pending) == 2: - out.append((pending[0], pending[1])); pending = [] - if pending: - out.append((pending[0], 0x00)) - return out - -RCL = (0x14, 0x20); ENM = (0x14, 0x2E); EDM = (0x14, 0x2C); EOC = (0x14, 0x2F) -PAC_R15 = (0x14, 0x60) # row 15, white, column 0 - -def encode_caption(text): - if text is None: - return [EDM] - return [RCL, ENM, PAC_R15] + char_pairs(text) + [EOC] - -# ---- SEI / NAL assembly -------------------------------------------------- - -def cc_data(pairs): - n = len(pairs) - assert n <= 31 - b = bytearray() - b.append(0xC0 | n) # reserved=1, process_cc_data_flag=1, additional=0, cc_count - b.append(0xFF) # em_data - for d1, d2 in pairs: - b.append(0xFC) # marker(11111) | cc_valid(1) | cc_type(00 = 608 field 1) - b.append(odd_parity(d1)) - b.append(odd_parity(d2)) - b.append(0xFF) # trailing marker - return bytes(b) - -def user_data(pairs): - p = bytearray() - p += bytes([0xB5, 0x00, 0x31]) # country USA, provider ATSC - p += b"GA94" # user_identifier - p.append(0x03) # user_data_type_code = cc_data - p += cc_data(pairs) - return bytes(p) - -def emulation_escape(rbsp): - out = bytearray() - zeros = 0 - for byte in rbsp: - if zeros >= 2 and byte <= 0x03: - out.append(0x03) - zeros = 0 - out.append(byte) - zeros = zeros + 1 if byte == 0 else 0 - return bytes(out) - -def sei_nal(pairs): - payload = user_data(pairs) - msg = bytearray() - msg.append(0x04) # payloadType = user_data_registered_itu_t_t35 - size = len(payload) - while size >= 255: - msg.append(0xFF); size -= 255 - msg.append(size) - msg += payload - rbsp = bytes(msg) + b"\x80" # rbsp_trailing_bits - return b"\x00\x00\x00\x01" + b"\x06" + emulation_escape(rbsp) - -# ---- Annex B splicing ---------------------------------------------------- - -def find_nals(data): - """Yield (start_index_of_startcode, nal_type) for each NAL.""" - i, n = 0, len(data) - while i + 3 < n: - if data[i] == 0 and data[i+1] == 0 and data[i+2] == 1: - sc = 3 - elif data[i] == 0 and data[i+1] == 0 and data[i+2] == 0 and data[i+3] == 1: - sc = 4 - else: - i += 1; continue - nal_type = data[i+sc] & 0x1F - yield (i, nal_type) - i += sc + 1 - -def splice(data, schedule): - """Insert an SEI NAL into each scheduled access unit, in AU order: after - AUD/SPS/PPS and immediately before the first VCL slice NAL.""" - by_frame = dict(schedule) - nals = list(find_nals(data)) - out = bytearray() - au_index = -1 - pending = None # caption pairs awaiting the slice NAL - for k, (off, ntype) in enumerate(nals): - end = nals[k+1][0] if k + 1 < len(nals) else len(data) - if ntype == 9: # AUD => start of a new access unit - au_index += 1 - pending = encode_caption(by_frame[au_index]) if au_index in by_frame else None - if 1 <= ntype <= 5 and pending is not None: - out += sei_nal(pending) # prefix SEI sits before the coded picture - pending = None - out += data[off:end] - return bytes(out) - -# ---- pipeline ------------------------------------------------------------ - -def run(cmd): - print("+", " ".join(cmd)) - subprocess.run(cmd, check=True) - -def main(): - out_path = sys.argv[1] if len(sys.argv) > 1 else \ - os.path.join(os.path.dirname(os.path.abspath(__file__)), "test_cc.ts") - with tempfile.TemporaryDirectory() as tmp: - base = os.path.join(tmp, "base.h264") - mod = os.path.join(tmp, "mod.h264") - # No B-frames (bframes=0): the raw-H.264 demuxer in the copy pass can't - # derive DTS for reordered frames, which makes the MPEG-TS muxer reject - # the stream. - run(["ffmpeg", "-y", "-f", "lavfi", "-i", f"testsrc2=s={W}x{H}:r={FPS}:d={DUR}", - "-pix_fmt", "yuv420p", "-c:v", "libx264", "-profile:v", "baseline", - "-g", str(FPS), "-keyint_min", str(FPS), "-bf", "0", - "-x264-params", "aud=1:scenecut=0", "-f", "h264", base]) - data = open(base, "rb").read() - spliced = splice(data, SCHEDULE) - open(mod, "wb").write(spliced) - print(f" spliced {len(SCHEDULE)} caption SEIs ({len(data)} -> {len(spliced)} bytes)") - run(["ffmpeg", "-y", "-framerate", str(FPS), "-i", mod, "-c", "copy", - "-muxrate", "3M", "-f", "mpegts", out_path]) - print(f"\nWrote {out_path}") - -if __name__ == "__main__": - main() diff --git a/tools/media-test-streams/scripts/preflight.py b/tools/media-test-streams/scripts/preflight.py deleted file mode 100644 index 737fa9f0c..000000000 --- a/tools/media-test-streams/scripts/preflight.py +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env python3 -"""Preflight probe for the test-stream stack. - -Run BEFORE any media-player test session (~30s): - - python3 preflight.py # probe everything on localhost - python3 preflight.py --host my.vps # probe a deployed stack - python3 preflight.py --host my.vps main captions # matching lanes only - -Catches sick feeders in seconds instead of after a confusing editor session: -a symptom seen in the player only earns player-side investigation time if the -preflight is green. - -Requires ffmpeg + ffprobe on PATH. Do NOT use curl.exe on Windows for -throughput checks (it under-reads badly); this script uses urllib. -""" -import argparse -import json -import subprocess -import time -import urllib.request - -# (name, kind, path_template, threshold) -# rtsp: threshold = max seconds to first decoded frame (None = informational; -# slowjoin waits for an IDR in a ~10s GOP by design) -# http: threshold = min Mbps over a short sample (catches stale ~0.5Mbps -# feeder slots, not nominal bitrate — -re paced feeds dip on quiet scenes) -# vod: threshold unused; checks for a real 206 Partial Content -LANES = [ - ("main", "rtsp", "rtsp://{host}:8554/main", 6.0), - ("silent", "rtsp", "rtsp://{host}:8554/silent", 6.0), - ("slowjoin", "rtsp", "rtsp://{host}:8554/slowjoin", None), - ("rtmp", "rtsp", "rtmp://{host}:1935/main", 6.0), - ("vod", "vod", "http://{host}:8080/assets/mezzanine.mp4", None), - ("hls-vod", "vod", "http://{host}:8080/assets/hls/index.m3u8", None), - ("tslive", "http", "http://{host}:8081/live.ts", 1.0), - ("captions", "http", "http://{host}:8082/captions.ts", 1.0), -] - - -def probe_rtsp(name, url, limit): - """Time-to-first-decoded-video-frame + stream shape (RTSP/TCP or RTMP).""" - transport = ["-rtsp_transport", "tcp"] if url.startswith("rtsp") else [] - t0 = time.monotonic() - try: - out = subprocess.run( - ["ffmpeg", "-v", "error"] + transport + ["-i", url, - "-map", "0:v:0", "-frames:v", "1", "-f", "null", "-"], - capture_output=True, text=True, timeout=25) - except subprocess.TimeoutExpired: - return f"FAIL {name}: no decodable video frame within 25s" - ttff = time.monotonic() - t0 - if out.returncode != 0: - err = [l for l in out.stderr.strip().splitlines() - if "Missing reference" not in l and "mmco" not in l] - return f"FAIL {name}: {err[-1] if err else 'ffmpeg error'}" - streams = subprocess.run( - ["ffprobe", "-v", "error"] + transport + ["-show_entries", - "stream=codec_type,codec_name,channels", "-of", "json", url], - capture_output=True, text=True, timeout=25) - shape = ",".join( - f"{s['codec_name']}({s.get('channels')}ch)" if s["codec_type"] == "audio" - else s["codec_name"] - for s in json.loads(streams.stdout or '{"streams":[]}')["streams"]) - verdict = "PASS" if (limit is None or ttff < limit) else "SLOW" - note = "" if limit else " (long-GOP adversarial path: slow join is expected)" - return f"{verdict} {name}: first frame {ttff:.1f}s, streams [{shape}]{note}" - - -def probe_http(name, url, min_mbps, seconds=5): - """First-byte latency + short bitrate sample. Consumes a single-client - feeder slot; the container respawns a fresh one on disconnect.""" - t0 = time.monotonic() - try: - resp = urllib.request.urlopen(url, timeout=10) - first = resp.read(64 * 1024) - fb = time.monotonic() - t0 - total = len(first) - t1 = time.monotonic() - while time.monotonic() - t1 < seconds: - chunk = resp.read(256 * 1024) - if not chunk: - break - total += len(chunk) - resp.close() - except Exception as ex: - return f"FAIL {name}: {ex}" - mbps = total * 8 / max(time.monotonic() - t0, 0.001) / 1e6 - verdict = "PASS" if mbps >= min_mbps else "FAIL" - return f"{verdict} {name}: first byte {fb:.2f}s, {mbps:.1f} Mbps sampled" - - -def probe_vod(name, url): - """The player's Delivery=Auto probe needs a real 206 for OnDemand.""" - req = urllib.request.Request(url, headers={"Range": "bytes=0-1023"}) - try: - resp = urllib.request.urlopen(req, timeout=10) - code = resp.getcode() - resp.read(1024) - resp.close() - except Exception as ex: - return f"FAIL {name}: {ex}" - if code == 206: - return f"PASS {name}: 206 Partial Content (detected as OnDemand)" - return f"FAIL {name}: got {code}, not 206 — will be treated as LIVE" - - -def main(): - ap = argparse.ArgumentParser() - ap.add_argument("--host", default="localhost") - ap.add_argument("filters", nargs="*", help="only lanes whose name contains a filter") - args = ap.parse_args() - - results = [] - for name, kind, tmpl, threshold in LANES: - if args.filters and not any(f in name for f in args.filters): - continue - url = tmpl.format(host=args.host) - if kind == "rtsp": - results.append(probe_rtsp(name, url, threshold)) - elif kind == "http": - results.append(probe_http(name, url, threshold)) - else: - results.append(probe_vod(name, url)) - print(results[-1], flush=True) - - fails = sum(1 for r in results if r.startswith("FAIL")) - print(f"\n{len(results)} lanes probed, {fails} failing") - raise SystemExit(1 if fails else 0) - - -if __name__ == "__main__": - main() diff --git a/tools/media-test-streams/scripts/prepare-assets.sh b/tools/media-test-streams/scripts/prepare-assets.sh deleted file mode 100644 index c76c89508..000000000 --- a/tools/media-test-streams/scripts/prepare-assets.sh +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env bash -# Prepare the ./assets content the test-stream stack serves. -# -# Usage: scripts/prepare-assets.sh -# -# is your own test clip. Prefer real footage with visible speech -# (lip-sync moments make A/V drift visible; synthetic patterns hide it) and, -# for the multichannel lanes, a source with 6 or 8 audio channels. Everything -# is derived from this one file. -# -# Needs ffmpeg/ffprobe on PATH. The LPCM lane needs a build with the -# pcm_bluray encoder and the caption fixture needs python3 (both optional — -# skipped with a warning if unavailable). -set -euo pipefail - -IN="${1:?usage: prepare-assets.sh }" -HERE="$(cd "$(dirname "$0")/.." && pwd)" -OUT="$HERE/assets" -mkdir -p "$OUT" - -channels=$(ffprobe -v error -select_streams a:0 -show_entries stream=channels \ - -of default=nw=1:nk=1 "$IN" 2>/dev/null || echo 0) -echo "== input: $IN (audio channels: $channels)" - -# Canonical live mezzanine: fixed 2 s keyframe grid so live joins land a -# decodable frame within ~2 s. Publishers -c copy from this; encode once here. -echo "== mezzanine.mp4 (2s GOP)" -ffmpeg -y -hide_banner -loglevel warning -i "$IN" \ - -c:v libx264 -crf 18 -g 48 -keyint_min 48 -sc_threshold 0 -r 24 \ - -c:a aac -b:a 384k \ - "$OUT/mezzanine.mp4" - -echo "== silent.mp4 (video + silent stereo)" -ffmpeg -y -hide_banner -loglevel warning -i "$OUT/mezzanine.mp4" \ - -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=48000 \ - -map 0:v -map 1:a -c:v copy -c:a aac -shortest \ - "$OUT/silent.mp4" - -# Adversarial long-GOP variant: joins mid-GOP wait up to ~10 s for an IDR. -echo "== slowjoin.mp4 (10s GOP)" -ffmpeg -y -hide_banner -loglevel warning -i "$IN" \ - -c:v libx264 -crf 18 -g 240 -keyint_min 240 -sc_threshold 0 -r 24 \ - -c:a aac -b:a 384k \ - "$OUT/slowjoin.mp4" - -echo "== hls/ (HLS VOD packaging)" -mkdir -p "$OUT/hls" -ffmpeg -y -hide_banner -loglevel warning -i "$OUT/mezzanine.mp4" \ - -c copy -f hls -hls_time 4 -hls_playlist_type vod \ - -hls_segment_filename "$OUT/hls/seg%04d.ts" \ - "$OUT/hls/index.m3u8" - -# Split-stream pair (video-only + audio-only) for the AudioUri lane. -echo "== videoonly.mp4 / audioonly.mp4" -ffmpeg -y -hide_banner -loglevel warning -i "$OUT/mezzanine.mp4" \ - -map 0:v -c copy -an "$OUT/videoonly.mp4" -ffmpeg -y -hide_banner -loglevel warning -i "$OUT/mezzanine.mp4" \ - -map 0:a -c copy -vn "$OUT/audioonly.mp4" - -if [ "$channels" -ge 6 ]; then - # LPCM over M2TS: the full-multichannel lane (AAC on Windows caps at 5.1; - # LPCM plays all 8 lanes discretely). - if ffmpeg -hide_banner -encoders 2>/dev/null | grep -q pcm_bluray; then - echo "== lpcm.m2ts (LPCM ${channels}ch over M2TS)" - ffmpeg -y -hide_banner -loglevel warning -i "$IN" \ - -c:v libx264 -crf 18 -g 48 -keyint_min 48 -sc_threshold 0 -r 24 \ - -c:a pcm_bluray -ar 48000 \ - -f mpegts "$OUT/lpcm.m2ts" - else - echo "!! skipping lpcm.m2ts: this ffmpeg lacks the pcm_bluray encoder (use a full build)" - fi - - echo "== w${channels}.wav (multichannel WAV, 24-bit)" - ffmpeg -y -hide_banner -loglevel warning -i "$IN" \ - -map 0:a -c:a pcm_s24le -ar 48000 -vn "$OUT/w${channels}.wav" -else - echo "!! input has <6 audio channels: skipping LPCM/multichannel-WAV lanes" - echo "== wav (stereo, 24-bit)" - ffmpeg -y -hide_banner -loglevel warning -i "$IN" \ - -map 0:a -c:a pcm_s24le -ar 48000 -vn "$OUT/stereo.wav" -fi - -if command -v python3 >/dev/null 2>&1; then - echo "== test_cc.ts (CEA-608 caption fixture)" - python3 "$HERE/scripts/gen_cc_ts.py" "$OUT/test_cc.ts" -else - echo "!! skipping test_cc.ts: python3 not found" -fi - -echo "== done. assets in $OUT:" -ls -lh "$OUT" From 6bb70b9d628d3e80ea09f3a3d588524160bd209d Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:12:15 +0100 Subject: [PATCH 14/17] docs(mediaplayer): freshness pass on TESTING.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drop a stray backlog-ID reference (a private planning ID that shouldn't be in a committed doc); note that rtmps is allowlisted but the player rejects it (RTMP-over-TLS unsupported) and rist needs the -DBASIS_WITH_RIST build — passing the URL gate isn't the same as playable; and widen the always-blocked address row to the full IANA non-global-unicast set the guards now enforce (TEST-NET / benchmarking / 6to4 relay), matching basis_io.c and BasisMediaPlayerSecurity.cs. --- Basis/Packages/com.basis.mediaplayer/TESTING.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/TESTING.md b/Basis/Packages/com.basis.mediaplayer/TESTING.md index 705f70167..2e0c82ef2 100644 --- a/Basis/Packages/com.basis.mediaplayer/TESTING.md +++ b/Basis/Packages/com.basis.mediaplayer/TESTING.md @@ -56,9 +56,9 @@ mis-configured feed wastes far more time than the 30 seconds a probe takes. | Rule | Effect on testing | | --- | --- | | Loopback allowed **in the Editor only** | `localhost` streams work for fast in-editor iteration; the same URL is refused in a build | -| RFC1918 / CGNAT / link-local always blocked | LAN servers (`192.168.*`, `10.*`, …) never work, Editor included — don't bother | -| Hostnames are DNS-validated, fail-closed | A name that resolves to a private address (or doesn't resolve) is refused | -| Scheme allowlist | `http`, `https`, `rtsp`, `rtspt`, `rtmp`, `rtmps`, `rist` — anything else (incl. `file://`) is refused | +| Non-global-unicast addresses always blocked | RFC1918 (`192.168.*`, `10.*`, `172.16-31.*`), CGNAT, loopback, link-local, and the IANA special-use reserves (TEST-NET, benchmarking, 6to4 relay). LAN servers never work, Editor included — don't bother | +| Hostnames are DNS-validated, fail-closed | A name that resolves to any of the above (or doesn't resolve) is refused | +| Scheme allowlist | `http`, `https`, `rtsp`, `rtspt`, `rtmp`, `rtmps`, `rist` — anything else (incl. `file://`) is refused. Passing the gate isn't the same as playable, though: `rtmps` (RTMP-over-TLS) is allowlisted but the player rejects it (use `rtmp://`, or an https fMP4/TS URL), and `rist` only works in the opt-in `-DBASIS_WITH_RIST=ON` build | Practical consequences: @@ -382,8 +382,8 @@ crash, hang, or corrupt does. scanner, the URL parser (`fuzz_url`), the HLS playlist source (`fuzz_hls`), and the RTSP/RTMP parsers (`fuzz_rtsp`/`fuzz_rtmp` — their harness `#include`s the real `.c` and stubs `basis_io`, byte-serving the read paths; `parse_sdp`/`depkt_*`/`amf_*`/FLV tag parsers are driven directly). - Deeper full-session coverage (a scripted handshake or an injected transport vtable) is tracked as - backlog **B76**. Still exercise all of these with the adversarial live-server rows above + Deeper full-session coverage (a scripted handshake or an injected transport vtable) is a documented + follow-up. Still exercise all of these with the adversarial live-server rows above (truncated/oversized headers, a server that never sets the RTP marker) — fuzzing complements the matrix, it doesn't replace it. - **Keep every crash's repro as a permanent fixture.** When a malformed stream is found to From ec472c45c0482beeef9e41e99646c9a044374b1d Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:24:56 +0100 Subject: [PATCH 15/17] docs(mediaplayer): use public/CC sources and ffmpeg recipes for codec fixtures Drop the non-public fixture URLs from the codec matrix and the fMP4/WebM seek rows. The common lanes keep their license-clean public endpoints (VRCDN, Blender, Mux, Fraunhofer); the codec-specific fixtures now come with an ffmpeg recipe to generate them from a CC clip (Big Buck Bunny / any Blender open movie), which is more durable than a hosted file and matches the bring-your-own approach the rest of the guide takes. Demux is already covered by the CI conformance gate, so these rows are the real decode + present pass. --- .../Packages/com.basis.mediaplayer/TESTING.md | 45 +++++++++++-------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/TESTING.md b/Basis/Packages/com.basis.mediaplayer/TESTING.md index 2e0c82ef2..772fbbc26 100644 --- a/Basis/Packages/com.basis.mediaplayer/TESTING.md +++ b/Basis/Packages/com.basis.mediaplayer/TESTING.md @@ -165,29 +165,34 @@ Run the rows your change plausibly touches; run everything before a release-boun ### Content and codecs +No public host carries every codec in every container flavour, so generate these from a CC +clip — Big Buck Bunny (full URL in the endpoints table above) or any Blender open movie — with +the `ffmpeg` recipe in each row. `in.mp4` below is that source clip. (The demux side is already +covered bit-for-bit by the CI conformance gate; these rows are the real decode + present pass.) + | Fixture | Verify | | --- | --- | | H.264 + AAC stereo | The baseline — everything else assumes this passes | -| H.265/HEVC | **Video actually appears** (`https://mr.town/vod/tos_hevc.mp4`, `hvc1` from stock libx265 — what most HEVC in the wild is). Check for frames, not for the absence of an error: `hvc1` keeps its parameter sets only in the `hvcC` box, so anything that loses them on the way to the decoder gives a black screen with no error raised and nothing in the Console. Absence of the codec is the other half of the row — without the HEVC Video Extension installed it must degrade cleanly, and testing only that half will pass while playback is comprehensively broken | -| VP9 in WebM (`https://mr.town/vod/tos_vp9.webm`) | Plays on Windows (Store "VP9 Video Extensions" + a GPU with hardware VP9 — the probe gates both) and Quest (hardware everywhere). The fixture is a two-pass encode carrying superframes, so whole-superframe feeding is exercised by playing it | -| VP9 in MP4 (`https://mr.town/vod/tos_vp9.mp4`) | The `vp09` sample-entry lane; same decode path as WebM | -| AV1 in progressive MP4 (`https://mr.town/vod/drip.mp4`) | Plays with video on Windows (Store "AV1 Video Extension" + a GPU with hardware AV1 — RTX 30+/RX 6000+/Arc; the probe gates both) and Quest 3. This file historically misplayed as silent audio-only | -| AV1 in fragmented MP4 (`https://mr.town/vod/tos_av1_frag.mp4`) | The `av1C`-in-`stsd` fMP4 walk with the configOBU first-AU prepend | -| AV1 4K (`https://mr.town/vod/bbb_av1_4k.mp4`) | 2160p decode + ring memory on both platforms | -| AV1 in WebM (`https://mr.town/vod/tos_av1.webm`) | The `V_AV1` CodecID lane (CodecPrivate = av1C record → configOBU extradata); duration + Cues seek work as for VP9 | +| H.265/HEVC | **Video actually appears** (`ffmpeg -i in.mp4 -c:v libx265 -tag:v hvc1 -c:a aac hevc.mp4` — `hvc1` from stock libx265, what most HEVC in the wild is). Check for frames, not for the absence of an error: `hvc1` keeps its parameter sets only in the `hvcC` box, so anything that loses them on the way to the decoder gives a black screen with no error raised and nothing in the Console. Absence of the codec is the other half of the row — without the HEVC Video Extension installed it must degrade cleanly, and testing only that half will pass while playback is comprehensively broken | +| VP9 in WebM (`ffmpeg -i in.mp4 -c:v libvpx-vp9 -b:v 0 -crf 32 -c:a libopus vp9.webm`; two-pass for superframes) | Plays on Windows (Store "VP9 Video Extensions" + a GPU with hardware VP9 — the probe gates both) and Quest (hardware everywhere). A two-pass encode carries superframes, so whole-superframe feeding is exercised by playing it | +| VP9 in MP4 (`ffmpeg -i in.mp4 -c:v libvpx-vp9 -c:a aac vp9.mp4`; modern ffmpeg writes the `vp09` sample entry) | The `vp09` sample-entry lane; same decode path as WebM | +| AV1 in progressive MP4 (`ffmpeg -i in.mp4 -c:v libaom-av1 -crf 30 -c:a aac av1.mp4`) | Plays with video on Windows (Store "AV1 Video Extension" + a GPU with hardware AV1 — RTX 30+/RX 6000+/Arc; the probe gates both) and Quest 3. AV1-in-MP4 historically misplayed as silent audio-only | +| AV1 in fragmented MP4 (the AV1 MP4 recipe + `-movflags frag_keyframe+empty_moov`) | The `av1C`-in-`stsd` fMP4 walk with the configOBU first-AU prepend | +| AV1 4K (a 2160p CC clip through the AV1 MP4 recipe) | 2160p decode + ring memory on both platforms | +| AV1 in WebM (the AV1 recipe with `av1.webm`) | The `V_AV1` CodecID lane (CodecPrivate = av1C record → configOBU extradata); duration + Cues seek work as for VP9 | | AV1 extension absent (Windows) | Uninstall/absent "AV1 Video Extension": a direct `av01` URL errors with the install hint, and the probe answers 0 so the resolver never offers AV1 | | AV1 on Quest 2 | No AV1 decoder on the device: a direct `av01` URL refuses cleanly, and YouTube resolution still succeeds via the VP9 lane (its probe passes there) | -| Opus in muxed WebM (`https://mr.town/vod/tos_vp9_opus.webm`) | VP9 video + Opus audio in one file: plays whole with audio on Windows and Quest. Exercises the two-track WebM demux (blocks routed to video vs audio by TrackNumber) | -| Opus audio-only WebM (`https://mr.town/vod/tos_opus.webm`) | An `A_OPUS`-only WebM (YouTube's audio itags 249/250/251): audio plays with no video, driven by the audio-only contract | +| Opus in muxed WebM (`ffmpeg -i in.mp4 -c:v libvpx-vp9 -c:a libopus vp9_opus.webm`) | VP9 video + Opus audio in one file: plays whole with audio on Windows and Quest. Exercises the two-track WebM demux (blocks routed to video vs audio by TrackNumber) | +| Opus audio-only WebM (`ffmpeg -i in.mp4 -vn -c:a libopus opus.webm`) | An `A_OPUS`-only WebM (YouTube's audio itags 249/250/251): audio plays with no video, driven by the audio-only contract | | Opus decode on Windows | Native via the libopus that `com.avionblock.opussharp` ships, runtime-loaded (no Store extension, unlike VP9/AV1). Confirm audio plays in the Editor (the library resolves from the opussharp `Packages/…` path) and in a build (`opus.dll` flattened beside the plugin). If opussharp is absent the format is refused: muted audio, video unaffected, never a crash | | Opus on Quest | Native `audio/opus` MediaCodec with OpusHead + pre-skip/pre-roll csd; gapless start sane, audio-only path works | | Ogg Opus file (`.opus`) | A `.opus` URL routes as directly-playable (no resolver) and plays: the Ogg demuxer walks pages/lacing, verifies each page CRC, reads OpusHead, and feeds the same Opus decoder. A `.opus` with a damaged page resyncs on the next `OggS` rather than failing | | Ogg Opus seek (`.opus`) | On a range/`206` host, a `.opus` file reports its duration (a seek bar appears) and seeks — Ogg has no index, so seek is granule bisection over the byte range; it lands at page granularity near the target and resumes. A live/no-range source has no seek bar (duration 0), which is correct. Check the Editor (Windows) | -| Unsupported video codec | `https://mr.town/vod/tos_vp8.webm` and `https://mr.town/vod/tos_mp4v.mp4` refuse with a clear "video codec 'x' is not supported" error naming the codec — never silent audio under a black screen | +| Unsupported video codec | VP8 (`ffmpeg -i in.mp4 -c:v libvpx vp8.webm`) and MPEG-4 Part 2 (`ffmpeg -i in.mp4 -c:v mpeg4 mp4v.mp4`) refuse with a clear "video codec 'x' is not supported" error naming the codec — never silent audio under a black screen | | VP9/AV1 software-fallback guard | On a GPU without hardware decode for the profile, a direct VP9/AV1 URL must produce the "video decoder produced software frames" error, not a black screen (the Store MFTs silently fall back to CPU — for AV1 that is the *majority* of pre-RTX-30 desktops; only reproducible on a no-hw box or with the extension's fallback forced) | | AAC decoder priming | Audio starts on the first real sample, not on the decoder's priming. AAC's encoder delay is one 1024-sample frame, which MP4 signals with an edit list (`elst media_time=1024` on anything `ffmpeg -c:a aac` produced); the samples ahead of that origin must not reach the output. **Do not try to hear this** — 21 ms of lag is below the lip-sync threshold, which is exactly why it went unnoticed for so long. Measure it: decode the file with `ffmpeg -i x.m4a -map a:0 -f f32le -acodec pcm_f32le ref.f32`, capture what the player served, and cross-correlate. Assert on the **peak's sample offset**, not a correlation value: aligned output peaks at offset 0, a stream still carrying its priming peaks at offset 1024 (the edit-list delay) — the actual defect, and reliable regardless of content, channels, or capture. (The absolute coefficient at offset 0 is content-dependent — a shifted stream reads roughly -0.07 on this fixture, but do not gate on that number.) An LPCM/WAV file is the control — no decoder, no priming, peaks at offset 0 | | AAC 5.1 | Windows MF decodes ≤ 5.1; correct channel mapping (use content with known channel placement, judge by ear per output speaker) | -| AAC 5.1 in a progressive MP4 (Android) | Decodes to discrete 5.1, not silence. The esds can carry an inert SBR sync extension the Android decoder otherwise rejects (`aacDecoder 0x1001` in logcat); fixture `https://mr.town/vod/scope.mp4` | +| AAC 5.1 in a progressive MP4 (Android) | Decodes to discrete 5.1, not silence. Generate a 5.1 AAC MP4 (`ffmpeg -i in.mp4 -c:a aac -ac 6 aac51.mp4`). The esds can carry an inert SBR sync extension the Android decoder otherwise rejects (`aacDecoder 0x1001` in logcat) — that extension is encoder-dependent, so use a clip that carries it when chasing that path | | MP3 bare stream (`.mp3`) | CBR and VBR play forward; a leading `ID3v2` tag is skipped and a Xing/Info/VBRI header frame is dropped (not heard as a click). Duration is reported from the header's frame count and the seek slider works. Windows uses the in-box Media Foundation MP3 decoder, Quest the `audio/mpeg` MediaCodec. Generate fixtures with `ffmpeg -i src.wav -c:a libmp3lame -b:a 192k cbr.mp3` and `-q:a 2 vbr.mp3` | | MP3 in MP4/M4A | An `mp4a` sample entry whose `esds` object-type-indication is `0x6B`/`0x69` plays as MP3, not misdetected as AAC (`ffmpeg -i cbr.mp3 -c copy out.m4a`) | | LPCM 7.1 M2TS | All 8 lanes audible and correctly placed — the only full-7.1 path on Windows | @@ -226,8 +231,9 @@ the demux leg re-anchors delivery pacing at the flushed boundary, so a mis-ancho Editor (Windows) and Quest. **Seek (integrated fMP4)** — on a self-contained fragmented MP4 (moof/mdat fragments indexed by a -`sidx`) served from a range/`206` host — e.g. -`https://zipline.space.superneko.net/raw/bbb_sunflower_1080p_30fps_normal_idfmp4.mp4` — confirm +top-level `sidx`) served from a range/`206` host. Produce one from a CC clip: +`ffmpeg -i in.mp4 -c copy -movflags +frag_keyframe+empty_moov+global_sidx out.mp4` (the `global_sidx` +box is what the byte-source seek indexes). Confirm `Delivery=Auto` detects OnDemand and seeks in both directions reposition cleanly and resume at the target with no decoder error. This is the `sidx`-driven byte-source reseek; it shares the byte-source seek path with progressive/trailing-moov MP4, so a regression here usually surfaces on @@ -240,12 +246,13 @@ can't resynchronise the box parser. Check the Editor (Windows) and Quest. > MP4, and integrated fMP4 qualify; a live source can't seek, so those clients converge > independently to the live edge rather than using playhead-seek correction. -**Seek (WebM Cues)** — on `https://mr.town/vod/tos_vp9.webm` and the trailing-Cues variant, -seek both directions: playback lands at or just before the target (cue/cluster granularity, on -a keyframe) and resumes paced at 1x — the same stall-forward / flood-backward failure shapes as -the HLS row apply. Seek near the very end of the file as well (EOS race). The cueless variant -must show no seek bar at all. `https://mr.town/vod/tos_av1.webm` rides the same cue walk with -the AV1 branch — one both-directions pass there covers it. Check the Editor (Windows) and Quest. +**Seek (WebM Cues)** — on your VP9 WebM fixture (the codec-row recipe; a `libvpx-vp9` encode +carries Cues) served from a range/`206` host, seek both directions: playback lands at or just +before the target (cue/cluster granularity, on a keyframe) and resumes paced at 1x — the same +stall-forward / flood-backward failure shapes as the HLS row apply. Seek near the very end of the +file as well (EOS race). A cueless variant (`-cues_to_front 0`, or strip the Cues) must show no +seek bar at all. Your AV1 WebM fixture rides the same cue walk with the AV1 branch — one +both-directions pass there covers it. Check the Editor (Windows) and Quest. **Seek (MP3)** — on a `.mp3` VOD over a range/`206` server, seek both directions and near the end. MP3 seek is inherently approximate (no per-frame timestamps): CBR lands within a frame via From b9be97b5b51f4790c529d08198eac9eba610911a Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:33:55 +0100 Subject: [PATCH 16/17] docs(mediaplayer): name CC dialogue sources for A/V-sync testing The A/V-sync row asks for footage with visible speech, but the baseline endpoint (Big Buck Bunny) has none. Point at the Blender Studio films page and name Sintel/Spring (both CC-BY, clear lip-sync) as good sources for that row. --- Basis/Packages/com.basis.mediaplayer/TESTING.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/TESTING.md b/Basis/Packages/com.basis.mediaplayer/TESTING.md index 772fbbc26..37fd91a00 100644 --- a/Basis/Packages/com.basis.mediaplayer/TESTING.md +++ b/Basis/Packages/com.basis.mediaplayer/TESTING.md @@ -290,9 +290,12 @@ request). A playlist that reaches an internal host is a security regression, not bug. (Editor testing of the legitimate localhost lane needs `BASIS_MEDIA_ALLOW_LOCAL` — see the security-gates section above.) -**A/V sync judgement** — use real footage with visible speech; synthetic patterns hide sync -drift. Watch a full minute at the live edge, not five seconds. For anything subtle, capture -diagnostics (below) rather than trusting perception. +**A/V sync judgement** — use real footage with **visible speech**; synthetic patterns hide sync +drift, and Big Buck Bunny (the baseline endpoint) has no dialogue at all. A CC-BY Blender open +movie with clear lip-sync is a good source — Sintel and Spring both work; download from +[Blender Studio films](https://studio.blender.org/films/) and re-encode/serve as needed. Watch a +full minute at the live edge, not five seconds. For anything subtle, capture diagnostics (below) +rather than trusting perception. Know what this row cannot do, and do not treat audibility as the pass bar. A fixed offset below roughly 45 ms is still a real A/V-sync regression — it is just below the threshold where From 4e5315ea6977c6b6bb857f08167277c14dc71a89 Mon Sep 17 00:00:00 2001 From: towneh <25694892+towneh@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:37:21 +0100 Subject: [PATCH 17/17] docs(mediaplayer): point the 4K row at Sintel 4K on media.xiph.org media.xiph.org mirrors the Blender films as lossless/4K masters on a stable host. Name Sintel 4K (media.xiph.org/sintel/sintel-4k.y4m.xz + 4K frame sets) as the 4K source and note cutting a short segment, so the AV1-4K row has a concrete, license-clean 4K clip to encode from. --- Basis/Packages/com.basis.mediaplayer/TESTING.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Basis/Packages/com.basis.mediaplayer/TESTING.md b/Basis/Packages/com.basis.mediaplayer/TESTING.md index 37fd91a00..1ee63f128 100644 --- a/Basis/Packages/com.basis.mediaplayer/TESTING.md +++ b/Basis/Packages/com.basis.mediaplayer/TESTING.md @@ -167,7 +167,10 @@ Run the rows your change plausibly touches; run everything before a release-boun No public host carries every codec in every container flavour, so generate these from a CC clip — Big Buck Bunny (full URL in the endpoints table above) or any Blender open movie — with -the `ffmpeg` recipe in each row. `in.mp4` below is that source clip. (The demux side is already +the `ffmpeg` recipe in each row. `in.mp4` below is that source clip. For higher-res / 4K masters, +[media.xiph.org](https://media.xiph.org/) mirrors the Blender films losslessly (e.g. Sintel 4K at +`https://media.xiph.org/sintel/sintel-4k.y4m.xz`, and `sintel-4k-png/` frame sets) — grab one and +cut a short segment (`ffmpeg -i sintel-4k.y4m -t 20 -c copy in4k.y4m`). (The demux side is already covered bit-for-bit by the CI conformance gate; these rows are the real decode + present pass.) | Fixture | Verify | @@ -178,7 +181,7 @@ covered bit-for-bit by the CI conformance gate; these rows are the real decode + | VP9 in MP4 (`ffmpeg -i in.mp4 -c:v libvpx-vp9 -c:a aac vp9.mp4`; modern ffmpeg writes the `vp09` sample entry) | The `vp09` sample-entry lane; same decode path as WebM | | AV1 in progressive MP4 (`ffmpeg -i in.mp4 -c:v libaom-av1 -crf 30 -c:a aac av1.mp4`) | Plays with video on Windows (Store "AV1 Video Extension" + a GPU with hardware AV1 — RTX 30+/RX 6000+/Arc; the probe gates both) and Quest 3. AV1-in-MP4 historically misplayed as silent audio-only | | AV1 in fragmented MP4 (the AV1 MP4 recipe + `-movflags frag_keyframe+empty_moov`) | The `av1C`-in-`stsd` fMP4 walk with the configOBU first-AU prepend | -| AV1 4K (a 2160p CC clip through the AV1 MP4 recipe) | 2160p decode + ring memory on both platforms | +| AV1 4K (a 2160p slice of Sintel 4K — see the intro above — through the AV1 MP4 recipe) | 2160p decode + ring memory on both platforms | | AV1 in WebM (the AV1 recipe with `av1.webm`) | The `V_AV1` CodecID lane (CodecPrivate = av1C record → configOBU extradata); duration + Cues seek work as for VP9 | | AV1 extension absent (Windows) | Uninstall/absent "AV1 Video Extension": a direct `av01` URL errors with the install hint, and the probe answers 0 so the resolver never offers AV1 | | AV1 on Quest 2 | No AV1 decoder on the device: a direct `av01` URL refuses cleanly, and YouTube resolution still succeeds via the VP9 lane (its probe passes there) |