Closed
Bug 1097375
Opened 10 years ago
Closed 10 years ago
Implement MediaSource::SetDuration
Categories
(Core :: Audio/Video, defect)
Tracking
()
RESOLVED
FIXED
mozilla36
People
(Reporter: mattwoodrow, Assigned: mattwoodrow)
References
Details
Attachments
(1 file)
(deleted),
patch
|
kinetik
:
review+
|
Details | Diff | Splinter Review |
Splitting this off from bug 896884 because I've only implemented part of what that bug covers.
The Dashif player example video doesn't decode a duration, and it just sets on using MediaSource.duration.
I had to move the mDuration value from MediaSource into MediaSourceDecoder so that it can be protected by the monitor and accessed from multiple threads.
This is because MediaSourceReader::ReadMetadata needs to update the duration value in MDSM immediately, but we're only supposed to use it if a value hasn't already been set using setDuration. Since this happens off the main-thread, we need to lock accesses to mDuration.
Assignee | ||
Comment 1•10 years ago
|
||
This fixes the dashif player use case, and *almost* passes the MediaSourceDuration test from the conformance test suite (with both mp4 and webm).
I've filed bug 1097381 for the remaining work to get the test to pass.
Attachment #8521039 -
Flags: review?(kinetik)
Updated•10 years ago
|
Comment 2•10 years ago
|
||
Comment on attachment 8521039 [details] [diff] [review]
Implement setDuration properly.
Review of attachment 8521039 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/media/mediasource/MediaSourceDecoder.h
@@ +77,5 @@
> dom::MediaSource* mMediaSource;
> nsRefPtr<MediaSourceReader> mReader;
> +
> + // Protected by GetReentrantMonitor()
> + double mDuration;
This shadows |int64_t mDuration| on the base class. It could be confusing, maybe rename it if you can think of a good name?
Attachment #8521039 -
Flags: review?(kinetik) → review+
Assignee | ||
Comment 3•10 years ago
|
||
Comment 4•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
You need to log in
before you can comment on or make changes to this bug.
Description
•