Skip to content

id3-emsg and ISO/IEC 23001-18 timed metadata tracks #45

@jsaxton

Description

@jsaxton

I hope this is the right forum for this conversation.

There is a section in the specification describing the carriage of ID3 tags in DASHEventMessageBoxes. I want to suggest adding a section to the specification describing the carriage of ID3 tags in EventMessageInstanceBoxes. This would standardize the carriage of ID3 tags in ISO/IEC 23001-18 event message tracks.

This new section (proposed naming: “ID3 Metadata in an Event Message Instance Box”) would be very similar to the existing “ID3 Metadata in an Event Message Box” section. The one difference I want to propose is that the event_duration for a durationless ID3 tag should be 0 in an event message instance box (‘emib’). The 0xFFFFFFFF value works well in ‘emsg’ boxes, but doesn’t generalize well to ISO/IEC 23001-18 event message tracks.

Specifically, the ISO/IEC 23001-18 specification introduces the notion of an active interval for each event. Section 7.4 of the specification states:

Each EventMessageInstanceBox documents an event message which has or will have an active interval. If the media presentation time of the containing sample is T, the active interval is defined to run: from (T + presentation_time_delta) to, but not including (T + presentation_time_delta + event_duration).

Each event has an event duration, represented by the event_duration field. Each sample in the track also has a duration D.

Each sample shall contain all events that have an active interval that overlaps the sample's time interval [T, T+D).

The problem is that an event_duration of 0xFFFFFFFF will result in the active interval for the event being 0xFFFFFFFF ticks long, which is not what we want for a durationless ID3 tag.

If there is support for this proposal, I’m happy to put up a PR. I’m also interested in alternative suggestions. I’m also interested in any concerns about client-side handling of a 0 tick event.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions