Closed Bug 1140965 Opened 9 years ago Closed 6 years ago

Test file bipbopinit.mp4 contains multiple edits

Categories

(Core :: Audio/Video: Playback, defect)

defect
Not set
normal

Tracking

()

RESOLVED INACTIVE

People

(Reporter: mozbugz, Unassigned)

References

Details

Bug 1120266 introduces fragmented MP4 files for MSE testing.

bipbopinit.mp4 contains multiple edits, see `mp4dump bipbopinit.mp4`:
[moov]
  [trak]
    [edts]
      [elst]
        entry count = 2
        entry/segment duration = 95
        entry/media time = -1
        entry/media rate = 1
        entry/segment duration = 0
        entry/media time = 0
        entry/media rate = 1

According to https://w3c.github.io/media-source/isobmff-byte-stream-format.html#iso-init-segments :
"The user agent must support setting the offset from media composition time to movie presentation time by handling an Edit Box (edts) containing a single Edit List Box (elst) that contains a single edit with media rate one."

If used in tests, it will probably result in a non-crashing assertion, e.g. "Can't handle videos with multiple edits: 'entryCount == 1', file media/libstagefright/binding/MoofParser.cpp, line 604"

This is probably minor, as in this case the edts box is just ignored and the video plays fine.

Nevertheless, for MSE tests, if used this file should be modified to remove the multiple edits; either remove the edts box completely or replace it with a neutral version (duration=0, time=0, rate=1), making sure that the video itself plays the same way. In particular the first 'empty' elst may introduce a small delay before the track should be played?

The other init files 'bipbop_audioinit.mp4' and 'bipbop_videoinit.mp4' only have one edit and therefore should be fine to use as-is. However their edit box looks neutral (duration=0, time=0), while the original bipbopinit.mp4 edit box had some non-0 values. It might be wise to verify that nothing was lost in the conversion to separate audio&video streams, and these streams are correctly synchronized.
We should test whether other MSE browers allow multiple edit boxes (presumably by just ignoring additional ones). If they do, then we probably should too (and update the spec). If not, we should change our implementation to fail safely in those cases, and use the current init segment as a test.
Component: Audio/Video → Audio/Video: Playback
Mass closing do to inactivity.
Feel free to re-open if still needed.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.