trav90
9227ffb4c9
Always seek audio to original seeking position
...
There's no guarantee that the audio stream will have the same buffered ranges as the video track; which could lead to a stall. It is up to the MediaDecoderStateMachine to ensure proper A/V sync following a sync.
2018-07-25 07:03:13 +08:00
trav90
bcbd26d984
Ensure we have up to date buffered time ranges when OnTaskQueue
2018-07-25 06:51:23 +08:00
trav90
d4c2af85da
Remove use of decoder's monitor in MFR::ResetDecode()
...
This prevents a potential deadlock.
2018-07-25 06:51:18 +08:00
trav90
69e5e7e7c5
Immediately resolve WaitingForDataPromise if we're not waiting for data
...
This prevents a potential stall in MSE streams.
2018-07-25 06:47:39 +08:00
trav90
fb24feea12
Prevent potential shutdown crash in MFR
2018-07-25 06:47:37 +08:00
trav90
58c5930a6e
Fix crash in MFR
...
The MediaFormatReader destructor is only called once all media task queues have shutdown.
However, the main thread demuxer always owned a reference to trackbuffer task queue.
2018-07-25 06:46:06 +08:00
trav90
9b30c70c1b
Remove "if (OnTaskQueue)()" from MediaFormatReader
2018-07-25 01:28:49 +08:00
trav90
83afdd0658
MediaFormatReader: returns error if no tracks are usable
2018-07-25 01:28:47 +08:00
trav90
7f7fdd1cac
Reject metadata promise on shutdown
2018-07-25 01:28:45 +08:00
trav90
baaba8abea
Fix typo
2018-07-25 01:28:28 +08:00
trav90
b838f29f01
Ensure buffered range referential starts at 0
2018-07-25 01:28:22 +08:00
trav90
e6da217c9c
Cache main thread buffered time range
2018-07-25 01:28:14 +08:00
trav90
27136f01b4
Crash fix: always check that track demuxer was successfully created
2018-07-25 01:28:08 +08:00
trav90
37c7767ffa
Don't reset demuxer when skipping to next keyframe
2018-07-25 01:28:04 +08:00
trav90
10b5821962
Small reorganization of Update() & remove need for StorensRefPtrPassByPtr.
2018-07-25 01:27:57 +08:00
trav90
9410bc7a49
Add MediaDecoderReader::NotifyDataRemoved method
2018-07-25 01:27:52 +08:00
trav90
b20b8dadab
Replace dom::TimeRanges with TimeIntervals object
2018-07-25 01:27:34 +08:00
trav90
6dd69a31f9
Fix build bustage: remove extra }
2018-07-25 01:27:01 +08:00
trav90
dfff91d033
Don't ignore DrainComplete() on first demux
2018-07-25 01:26:53 +08:00
trav90
2d83eaceb5
Remove most locking in MediaFormatReader
2018-07-25 01:26:51 +08:00
trav90
e1fbf7147a
Put new MediaFormatReader behind a pref
...
media.format-reader.mp4=true: Will enable the new format decoder for normal MP4
media.mediasource.format-reader.mp4=true: Will enable new format decoder for
MP4 within MSE.
Both are currently defaulted to false.
2018-07-25 01:26:47 +08:00
trav90
0eb8374c80
Add MediaFormatReader player
2018-07-25 01:26:45 +08:00