Skip to content

SCTE-35 splice information signalling in EventType#55

Open
Vltnrch wants to merge 1 commit into
Eyevinn:mainfrom
fubotv:eventtype-signal
Open

SCTE-35 splice information signalling in EventType#55
Vltnrch wants to merge 1 commit into
Eyevinn:mainfrom
fubotv:eventtype-signal

Conversation

@Vltnrch

@Vltnrch Vltnrch commented Jun 9, 2026

Copy link
Copy Markdown

What

Add Signal and SpliceInfoSection fields to EventType, with full type coverage for ANSI/SCTE 35 2023r2 splice information sections (XSD scte_35_20230713.xsd).

Why

DASH events carrying SCTE-35 signalling appear under two bindings in the wild and both are now first-class:

  • <Signal> wrapper specified by SCTE 214-1 — Unified Streaming, Broadpeak, …
  • <SpliceInfoSection> directly under <Event> — AWS MediaTailor and others, valid because SpliceInfoSection is a global element in the SCTE-35 XSD
    (*EventType).SpliceInfo() returns whichever the source manifest populated.

Coverage

  • Splice commands: SpliceNull, SpliceSchedule, SpliceInsert, TimeSignal, BandwidthReservation, PrivateCommand
  • Splice descriptors: Avail, DTMF, Segmentation, Time, Audio, Private
  • Binary, Ext and anyAttribute extensibility
  • Exported constants: SCTE35Namespace, SCTE35Namespace2016, SCTE35SchemeIdXML/XMLBin/Bin, and the Table 23 segmentation type IDs

XML namespace round-trip

Two URIs are seen in the wild for the same schema:

  • http://www.scte.org/schemas/35 — canonical, declared targetNamespace since 2020
  • http://www.scte.org/schemas/35/2016 — legacy, still produced by a large fraction of packagers
    Each SCTE-35 type embeds an unnamed XMLName xml.Name: the URI seen on unmarshal is replayed verbatim on marshal, so a round trip preserves whichever the input used. Deliberate exception to the "output names are fixed" rule listed in the README, called out there explicitly. New* constructors default XMLName to the canonical URI for programmatic use.

@tobbee tobbee self-requested a review June 12, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant