mux.js icon indicating copy to clipboard operation
mux.js copied to clipboard

Ensure that the `done` event is triggered even if the segment does not contain audio/video data

Open mjneil opened this issue 7 years ago • 3 comments

Fixes videojs/mux.js#194

This PR also makes the output type of the data events more consistent. If remux === true and both audio and video are specified as tracks in the PMT, the output type will always be combined even if the particular segment is missing audio or video data.

This change primarily makes sure that the transmuxer doesn't get stuck in a state waiting for content that will never come. It doesn't necessarily guarantee the outputted fmp4 will play in the browser without issue because the init segment will say that the fragment will contain both tracks even if one has no data.

e.g. chrome://media-internals may have an error similar to

Media segment did not contain any coded frames for track 257, mismatching initialization segment. Therefore, MSE coded frame processing may not interoperably detect discontinuities in appended media.

mjneil avatar Oct 16 '18 18:10 mjneil

Woohoo! Thank you!

joeyparrish avatar Oct 16 '18 20:10 joeyparrish

@mjneil can you find a spare minute and add a test?

gkatsev avatar Mar 22 '19 20:03 gkatsev

The issue seems to still exist - was this PR abandoned or just postponed?

perqa avatar Oct 07 '22 08:10 perqa