code wiki / _hdl_build / nx_dash_parse.nx

nx_dash_parse.nx

buildroot/runtime/_hdl_build/nx_dash_parse.nx

6800 B141 linesdepth 2pulls 2 transitivereach 3 importersview sourcekind librarytopic dash
docsdependenciesstructsconstsfunctions

about

nx_dash_parse.nx -- MPEG-DASH (.mpd) manifest -> segment URL list, the DASH parallel to nx_hls_parse (so the sniffer's `.mpd` route can go from "dash-todo" to a real download: expand -> fetch each -> concat, same shape as nx_hls_get). Scope v1 = the DOMINANT case: SegmentTemplate with $RepresentationID$/$Number$ + a SegmentTimeline (VOD). Picks the highest-bandwidth video Representation. SegmentList / SegmentBase / $Time$ / multi-Period = later rungs (declined cleanly = 0 segments). license_tier: ORIGINAL

dependencies 1 imports · 3 importers

nx_syscalls.nx nx_dash_parse.nx nx_dash_get.nx nx_dash_get_gate.nx nx_dash_parse_gate.nx

imports: nx_syscalls.nx

imported by: nx_dash_get.nxnx_dash_get_gate.nxnx_dash_parse_gate.nx

structs

none

consts

none

functions

8func dp_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n }
called by 1: dp_attr
10func dp_find(hay: *u8, hl: i64, needle: *u8, nl: i64, from: i64) -> i64
19func dp_attr(xml: *u8, xl: i64, tagstart: i64, attr: *u8, out: *u8, cap: i64) -> i64
called by 1: dash_parse calls 3: dp_slensys_mmapdp_find
42func dp_atoi(s: *u8, n: i64) -> i64 { var v: i64=0; var i: i64=0; while i<n { let c: i64=s[i]&0xff; if c>=48 { if c<=57 { v=v*10+(c-48) } } i=i+1 } return v }
called by 1: dash_parse
43func dp_putn(dst: *u8, off: i64, v: i64) -> i64 { var m: i64=v; if m==0 { dst[off]=48 as u8; return off+1 } let t: *u8=sys_mmap(24); var k: i64=0; while m>0 { t[k]=(48+(m%10)) as u8; m=m/10; k=k+1 } var j: i64=0; while j<k { dst[off]=t[k-1-j]; off=off+1; j=j+1 } return off }
called by 1: dp_subst calls 1: sys_mmap
45func dp_at(s: *u8, sl: i64, pos: i64, lit: *u8, litlen: i64) -> i64
called by 1: dp_subst
52func dp_subst(tmpl: *u8, tl: i64, id: *u8, idl: i64, num: i64, out: *u8, cap: i64) -> i64
called by 1: dash_parse calls 2: dp_atdp_putn
66func dash_parse(mpd: *u8, ml: i64, out: *u8, cap: i64) -> i64