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(); this.setup();
} }
AVMerge.prototype.setup = function() { AVMerge.prototype.setup = function() {
if ('MediaSource' in window if (!('MediaSource' in window)) {
&& MediaSource.isTypeSupported(this.audioSource['mime_codec']) reportError('MediaSource not supported.');
&& MediaSource.isTypeSupported(this.videoSource['mime_codec'])) { 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.mediaSource = new MediaSource();
this.video.src = URL.createObjectURL(this.mediaSource); this.video.src = URL.createObjectURL(this.mediaSource);
this.mediaSource.onsourceopen = this.sourceOpen.bind(this); this.mediaSource.onsourceopen = this.sourceOpen.bind(this);
} else {
reportError('Unsupported MIME type or codec: ',
this.audioSource['mime_codec'],
this.videoSource['mime_codec']);
} }
} }