NotSupportedError: Operation is not supported
Categories
(Core :: Audio/Video: Playback, defect)
Tracking
()
People
(Reporter: utyfua, Unassigned)
Details
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36
Steps to reproduce:
Sandbox: https://codesandbox.io/s/record-play-case-v7080
I use MediaRecorder for record voice. Then i convert data to array, like i send them no another client. Another client want to listen using MediaSource.
Until now, everything works in chrome.
But, if user connected to stream recorded voice after start record, hes cant play data.
Issue comment with that problem what i do https://github.com/w3c/mediacapture-record/issues/178#issuecomment-566350319
Actual results:
In Firefox we have troubles when we use mediaSource.addSourceBuffer(recType):
[Error] NotSupportedError: Operation is not supported
[Warning] Cannot play media. No decoders for requested formats: audio/ogg; codecs=opus
When we launch same code in chrome we have another format: audio/webm;codecs=opus
Expected results:
Should happen like in chrome i think.
I will be glad if you can help with the main problem that arose: if user connected to stream recorded voice after start record, hes cant play data.
Comment 1•5 years ago
|
||
FWIW if you set the recorded mime type to "audio/webm" a source buffer can be created. I forked your sandbox with this change: https://codesandbox.io/s/record-play-case-3r40c
Still doesn't play more than one chunk of recorded audio so we should look into that.
Comment 3•5 years ago
|
||
"No decoders for requested formats: audio/ogg; codecs=opus" ogg isn't a supported container with MediaSource. (https://w3c.github.io/media-source/byte-stream-format-registry.html)
Per spec, any MSE errors are fatal.
You can use audio/webm just like Chrome, Why do differently in Firefox?
Comment 4•5 years ago
|
||
Very cool, I got a chance to play with MSE a bit. With mode "sequence" on the SourceBuffer it works as expected with subsequent recordings/chunks.
See https://codesandbox.io/s/record-play-case-3r40c -- Start starts a recording, Stop stops it. Restart Stops then Starts in the same task. So if you Stop, the audio element will play what is buffered and then stall, if you again Start it will continue anew. Restart reveals a tiny bit of a glitch but in general it works well.
Description
•