av-merge: Specify which of MediaSource, audio, or video are unsupported

Signed-off-by: Jesús <heckyel@hyperbola.info>
This commit is contained in:
James Taylor 2021-08-31 17:58:42 -07:00 committed by Jesús
parent 5bf4c284a5
commit 12561c0ed3
No known key found for this signature in database
GPG Key ID: F6EE7BC59A315766

View File

@ -39,16 +39,26 @@ function AVMerge(video, srcPair, startTime){
this.setup();
}
AVMerge.prototype.setup = function() {
if ('MediaSource' in window
&& MediaSource.isTypeSupported(this.audioSource['mime_codec'])
&& MediaSource.isTypeSupported(this.videoSource['mime_codec'])) {
if (!('MediaSource' in window)) {
reportError('MediaSource not supported.');
return;
}
var audioSupported = MediaSource.isTypeSupported(
this.audioSource['mime_codec']
)
var videoSupported = MediaSource.isTypeSupported(
this.videoSource['mime_codec']
)
if (!audioSupported)
reportError('Unsupported MIME type or codec: ',
this.audioSource['mime_codec']);
if (!videoSupported)
reportError('Unsupported MIME type or codec: ',
this.videoSource['mime_codec']);
if (audioSupported && videoSupported) {
this.mediaSource = new MediaSource();
this.video.src = URL.createObjectURL(this.mediaSource);
this.mediaSource.onsourceopen = this.sourceOpen.bind(this);
} else {
reportError('Unsupported MIME type or codec: ',
this.audioSource['mime_codec'],
this.videoSource['mime_codec']);
}
}