-
Notifications
You must be signed in to change notification settings - Fork 12
Description
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.