Hi,
I'm using Media Source Extensions (MSE) to playback video streams on the browser.
The source stream is in FMP4 format. Boxes/Atoms are sent over in the following sequence:
- FTYPE + MOOV
- MOOF
- MDAT
- MOOF
- MDAT
- ...
- ... and so on until the user grows tired and stops streaming.
The stream contains two tracks: video and audio.
Each MOOF box is designed to contain only one video and/or audio sample. Subsequently, each MDAT will only contain 1 video and/or audio sample depending on the MOOF.
When the player client starts receiving the data, it first waits to receive the FTYP and MOOV boxes, which it then feeds to the SourceBuffer. It it waits to receive the MOOF and MDAT, and then writes the MOOF+MDAT to the sourcebuffer, and so on and so forth.
Playback works okay with Chrome (68) and FireFox(62.0b11).
Unfortunately, I cannot say the same for MS Edge (42.17134.1.0). On Edge, the video plays back okay, but I get faint popping sounds on the audio. The audio popping does not occur on Chrome and FireFox.
Strangely enough, when I dump the same stream data to a file, and try to play that file directly in Edge, the audio popping goes away! I only get the audio popping when streaming using MSE on Edge.
Any idea what's causing this?
Is there a problem with who the MOOF+MDAT is structured? (i.e. one video and/or audio sample per MOOF+MDAT)
Thanks!