MSE Inband Event Dispatch for DASH and CMAF Playback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Media Source Extensions (MSE) specifications do not support parsing and processing inband events embedded in Moving Picture Experts Group (MPEG) Dynamic Adaptive Streaming over HTTP (DASH) or Common Media Application Format (CMAF) media segments, preventing browsers or user agents from natively processing these events and dispatching them to the respective application.

Innovation Solution

Extensions to the MSE are introduced to enable native processing of DASH and CMAF inband event boxes, including media and event buffers, synchronizers, and dispatchers, allowing events to be processed and dispatched based on specific modes and timing criteria.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current MSE specifications are used, then browser compatibility is maintained, but inband event processing capability is lost

Engineering Contradiction:
Improveinband event processing capabilityVSAvoidMSE specification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the event processing functionality into distinct components: event detection within media segments, event message box parsing, and event dispatching to applications. This modular approach allows the MSE to process inband events without requiring complete redesign of the specification, thereby improving adaptability while managing complexity through structured organization of processing functions.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If inband event processing is added to MSE, then event dispatch functionality is improved, but specification complexity increases

Engineering Contradiction:
Improveevent dispatch functionalityVSAvoidMSE specification complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary event processing layer within the MSE that acts as a mediator between the incoming media segments containing inband events and the application layer. This intermediary component parses event message boxes, extracts event information, and dispatches events to appropriate applications, thereby improving ease of operation without requiring direct modification of the core MSE specification structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If native inband event processing is implemented, then application integration is enhanced, but implementation complexity increases

Engineering Contradiction:
Improveapplication integrationVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-defining event message box structures, event types, and dispatching mechanisms within the MSE specification before actual media playback occurs. Event processing rules, parsing templates, and application dispatch protocols are established in advance, enabling reliable application integration without requiring complex runtime decision-making or adaptive processing logic during media playback.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4327536B1W3c media extensions for processing dash and CMAF inband events
Publication Date: 2026.01.21 TENCENT AMERICA LLC
  • EP4327536B1 patent drawingFigure 1
  • EP4327536B1 patent drawingFigure 2
  • EP4327536B1 patent drawingFigure 3

AI summary

A method and apparatus for processing events in a media stream may be provided. The method may include obtaining media data; generating, from the media data, one or more event segments and one or more media segments; parsing a respective event from the one or more event segments to determine an event start time, event end time, and dispatch mode; appending the respective event from the one or more event segments to an event dispatch buffer based on a comparison of the event start time and a current playback position, and a determination that the respective event is not present in an already dispatched buffer; and dispatching the respective event based on the position associated with the respective event in the event dispatch buffer, the event start time, the event end time, and the current playback position.