Releases: streaming-video-technology-alliance/common-media-library
Releases · streaming-video-technology-alliance/common-media-library
@svta/cml-request v1.0.13
Changed
- Update
@svta/cml-cmcdto 2.4.0
@svta/cml-cmcd v2.4.0
Added
CmcdEventType.PLAYBACK_RATE(token'pr') for playback-rate-change events, per CTA-5004-B.CmcdReportRecorder— test helper that records CMCD-bearing
reports across XHR and fetch transports for assertion in e2e tests.
IncludeswaitForReports,waitForManifest,waitForSegments,
andwaitForEventswait primitives that accept aCmcdReportRecorderWaitOptionsobject ({ count?, timeout? },countdefaults to1, reject on timeout) plus awaitTimeout
attach option that sets the per-recorder default timeout, and
event-target POST stubbing.CmcdRecordedRequestTypeconst-enum and supporting types
(CmcdRecordedReport,CmcdRecordedReportMode,CmcdTransportAdapter,CmcdReportRecorderOptions,CmcdReportRecorderWaitOptions).createXhrTransportandcreateFetchTransportdefault adapter
factories.
Changed
CmcdReporter.update()now auto-fires the corresponding state-change event (PLAY_STATE,PLAYBACK_RATE,CONTENT_ID,BACKGROUNDED_MODE,BITRATE_CHANGE) when a tracked field's value changes. The two-stepupdate()+recordEvent()pattern still works and is harmlessly deduplicated.CmcdReporter.recordEvent()with a state-change event now persists the dedup field from itsdataargument into the persistent data store (write-through), keepingthis.dataconsistent with the most recently reported value.- Consecutive state-change events with the same effective field value are now suppressed, matching CTA-5004-B's definition of these events as state transitions.
Fixed
prepareCmcdDatanow force-includes the required field (sta,pr,cid,bg,br) for state-change events (ps,pr,c,b,bc) after the per-targetenabledKeysfilter, preventing CTA-5004-B-non-compliant payloads likee=pswith nosta(#368).prepareCmcdDatapreservespr=1when encoding ane=prstate-change event in event mode. The v1 default-omission forpr=1still applies in request mode and in non-prevent-mode payloads.prepareCmcdDatanow emits an explicit?0token forbg: falseon a backgrounded-mode (e=b) state-change event in event mode. Previously the field was stripped by theisValidfilter, producing a CTA-5004-B-non-compliant payload on backgrounded-mode exit. The carve-out is scoped tightly to this case (bgis the only state-change required field typed as boolean);''/nullish/NaNandfalseon other state-change required fields remain stripped, and request-mode default-omission is unchanged (#372).validateCmcdStructurenow reports missing required fields for all five state-change events; previously onlye=pswas checked forsta.
@svta/cml-xml v1.1.4
Changed
- Update
@svta/cml-utilsto 1.5.0
@svta/cml-webvtt v1.0.6
Changed
- Update
@svta/cml-utilsto 1.5.0
@svta/cml-utils v1.5.0
Added
- Add
getBaseUrl(fullUrl)to extract the origin and directory path from a full URL
Fixed
urlToRelativePathnow returns the input unchanged when it is already a relative path, instead of throwingTypeError: Invalid URL(#364)
@svta/cml-throughput v1.0.6
Changed
- Update
@svta/cml-utilsto 1.5.0
@svta/cml-structured-field-values v1.1.3
Changed
- Update
@svta/cml-utilsto 1.5.0
@svta/cml-request v1.0.12
Changed
- Update
@svta/cml-cmcdto 2.3.2 - Update
@svta/cml-xmlto 1.1.4 - Update
@svta/cml-utilsto 1.5.0
@svta/cml-iso-bmff v1.0.2
Changed
- Update
@svta/cml-utilsto 1.5.0
@svta/cml-id3 v1.0.6
Changed
- Update
@svta/cml-utilsto 1.5.0