Open
Bug 1194088
Opened 10 years ago
Updated 2 years ago
Remove DECODER_STATE_WAIT_FOR_RESOURCES from MDSM
Categories
(Core :: Audio/Video: Playback, defect, P5)
Core
Audio/Video: Playback
Tracking
()
NEW
People
(Reporter: ayang, Unassigned)
References
Details
After bug 1146086, it doesn't need to wait for resource on decoder based on PlatformDecoderModule. Except for some old playback engines, the WAIT_FOR_RESOURCE state can be removed from MDSM.
https://dxr.mozilla.org/mozilla-central/rev/9a6b1cc80245cb5a71d89bc9abd268a5ff20d53e/dom/media/MediaDecoderStateMachine.h#139
Updated•10 years ago
|
Priority: -- → P5
Reporter | ||
Comment 1•9 years ago
|
||
MSE uses WAITING_FOR_RESOURCES when a/v data is not available [1].
That causes problem when removing this state from MDSM.
Any suggestion?
[1] https://dxr.mozilla.org/mozilla-central/source/dom/media/MediaFormatReader.cpp#419
Flags: needinfo?(jyavenard)
Comment 2•9 years ago
|
||
We need to either:
1- rework the MediaDataDemuxer API so it doesn't resolve the init promise until it has all the data it needs
2- Implement a mechanism between the MediaSourceDemuxer and TrackBuffersManager so it can tell it when enough data is available to start processing the metadata. The difficulty here is that we do not want to introduce a reference cycle as this will cause massive leaks.
My guess is that 1 is the most elegant approach, albeit more work.
Let me take this one while I think about it a bit more
Assignee: nobody → jyavenard
Flags: needinfo?(jyavenard)
Comment 3•9 years ago
|
||
Actually we could have option 3:
Have the MediaFormatReader not resolve the metadata promise and have it wait until new data is available which would then re-attempt to init the demuxer.
This is likely the easiest and quickest solution.
Updated•9 years ago
|
Updated•9 years ago
|
Assignee: jyavenard → nobody
Comment 4•9 years ago
|
||
Not taking it directly, as the remaining use for is for EME and waiting for the CDM to be ready.
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•