Closed Bug 1179498 Opened 6 years ago Closed 6 years ago

Make all of MediaDecoder run on the main thread

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: bholley, Unassigned)

References

Details

There's a mostly-trivial long-tail of methods on MediaDecoder that run on other threads. Everything on MediaDecoder needs to run on the main thread.

Here's a quick list of what remains to be fixed:

QueueMetadata
IsExpectingMoreData
IsSameOriginMedia
GetStatistics
ComputePlaybackRate
SetMediaSeekable/IsTransportSeekable/IsMediaSeekable
{Start,Stop}ProgressUpdates
UpdatePlaybackOffset
GetImageContainer/InvalidateWithFlags/Invalidate
IsShutdown
CanPlayThrough
GetCDMProxy
Depends on: 1179499
Depends on: 1183518
Depends on: 1185892
Depends on: 1191173
Depends on: 1195158
Here's a quick list of what remains to be fixed:

GetStatistics
ComputePlaybackRate
SetMediaSeekable/IsTransportSeekable/IsMediaSeekable
UpdatePlaybackOffset
GetImageContainer/InvalidateWithFlags/Invalidate
IsShutdown
CanPlayThrough
GetCDMProxy
Depends on: 1203374
Depends on: 1203418
Depends on: 1203877
What remains after bug 1203877 is fixed:
SetMediaSeekable/IsTransportSeekable/IsMediaSeekable
GetImageContainer/InvalidateWithFlags/Invalidate
IsShutdown
CanPlayThrough
GetCDMProxy
mVideoFrameContainer assigned in MediaDecoder::Init and will not change again so it is thread safe. We don't have to fix GetImageContainer/InvalidateWithFlags/Invalidate.

What remians:
SetMediaSeekable/IsTransportSeekable/IsMediaSeekable
IsShutdown
CanPlayThrough
GetCDMProxy
Depends on: 1204413
Depends on: 1204430
Depends on: 1206574
What remians: GetCDMProxy
The last one!
(In reply to JW Wang [:jwwang] from comment #4)
> What remians: GetCDMProxy
> The last one!

\o/
Depends on: 1208922
Resolved as all dependents are fixed.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.