Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
jsaxton opened this issue Mar 7, 2024 · 0 comments
Open

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

jsaxton opened this issue Mar 7, 2024 · 0 comments

Comments

@jsaxton
Copy link

jsaxton commented Mar 7, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant