Skip to content

Releases: streaming-video-technology-alliance/common-media-library

@svta/cml-request v1.0.13

24 May 05:17
5c4fa8d

Choose a tag to compare

Changed

  • Update @svta/cml-cmcd to 2.4.0

@svta/cml-cmcd v2.4.0

24 May 05:17
5c4fa8d

Choose a tag to compare

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.
    Includes waitForReports, waitForManifest, waitForSegments,
    and waitForEvents wait primitives that accept a
    CmcdReportRecorderWaitOptions object ({ count?, timeout? },
    count defaults to 1, reject on timeout) plus a waitTimeout
    attach option that sets the per-recorder default timeout, and
    event-target POST stubbing.
  • CmcdRecordedRequestType const-enum and supporting types
    (CmcdRecordedReport, CmcdRecordedReportMode, CmcdTransportAdapter,
    CmcdReportRecorderOptions, CmcdReportRecorderWaitOptions).
  • createXhrTransport and createFetchTransport default 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-step update() + recordEvent() pattern still works and is harmlessly deduplicated.
  • CmcdReporter.recordEvent() with a state-change event now persists the dedup field from its data argument into the persistent data store (write-through), keeping this.data consistent 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

  • prepareCmcdData now force-includes the required field (sta, pr, cid, bg, br) for state-change events (ps, pr, c, b, bc) after the per-target enabledKeys filter, preventing CTA-5004-B-non-compliant payloads like e=ps with no sta (#368).
  • prepareCmcdData preserves pr=1 when encoding an e=pr state-change event in event mode. The v1 default-omission for pr=1 still applies in request mode and in non-pr event-mode payloads.
  • prepareCmcdData now emits an explicit ?0 token for bg: false on a backgrounded-mode (e=b) state-change event in event mode. Previously the field was stripped by the isValid filter, producing a CTA-5004-B-non-compliant payload on backgrounded-mode exit. The carve-out is scoped tightly to this case (bg is the only state-change required field typed as boolean); ''/nullish/NaN and false on other state-change required fields remain stripped, and request-mode default-omission is unchanged (#372).
  • validateCmcdStructure now reports missing required fields for all five state-change events; previously only e=ps was checked for sta.

@svta/cml-xml v1.1.4

13 May 21:23
244ecf0

Choose a tag to compare

Changed

  • Update @svta/cml-utils to 1.5.0

@svta/cml-webvtt v1.0.6

13 May 21:24
244ecf0

Choose a tag to compare

Changed

  • Update @svta/cml-utils to 1.5.0

@svta/cml-utils v1.5.0

13 May 21:23
244ecf0

Choose a tag to compare

Added

  • Add getBaseUrl(fullUrl) to extract the origin and directory path from a full URL

Fixed

  • urlToRelativePath now returns the input unchanged when it is already a relative path, instead of throwing TypeError: Invalid URL (#364)

@svta/cml-throughput v1.0.6

13 May 21:24
244ecf0

Choose a tag to compare

Changed

  • Update @svta/cml-utils to 1.5.0

@svta/cml-structured-field-values v1.1.3

13 May 21:23
244ecf0

Choose a tag to compare

Changed

  • Update @svta/cml-utils to 1.5.0

@svta/cml-request v1.0.12

13 May 21:24
244ecf0

Choose a tag to compare

Changed

  • Update @svta/cml-cmcd to 2.3.2
  • Update @svta/cml-xml to 1.1.4
  • Update @svta/cml-utils to 1.5.0

@svta/cml-iso-bmff v1.0.2

13 May 21:24
244ecf0

Choose a tag to compare

Changed

  • Update @svta/cml-utils to 1.5.0

@svta/cml-id3 v1.0.6

13 May 21:24
244ecf0

Choose a tag to compare

Changed

  • Update @svta/cml-utils to 1.5.0