Bobby Holley
06bc6bbee6
Bug 1135170 - Reap some cleanup and assertions that were waiting on this bug. r=mattwoodrow
2015-03-06 19:17:01 -08:00
Bobby Holley
d3fdee2a44
Bug 1135170 - Streamline seek initiation logic and abolish manual seek cancels and retries. r=mattwoodrow
...
The model we're moving towards is one where the MDSM can just disconnect all of
its promises, send a ResetDecode down the pipe, and start doing something
unrelated.
2015-03-06 19:16:59 -08:00
Bobby Holley
a7e51c4ba3
Bug 1135170 - Stop doing sync dispatch for SeekingStarted. r=mattwoodrow
...
I can't see any reason why this should be necessary, and cursory archaeology
suggests that this too is a hand-me-down from previous threading models.
2015-03-06 19:16:57 -08:00
Bobby Holley
3a5daf79e0
Bug 1135170 - Remove silly special case for seeking to exactly the current time. r=mattwoodrow
...
I traced this back to something 2011 or earlier and then gave up. Given that we're
doing an exact microsecond comparison here this is almost certainly dead code in
every case except for the one where the media is paused and JS does
|el.currentTime = el.currentTime|. And in that case, I think running through the
regular seek machinery is probably fine.
2015-03-06 19:16:56 -08:00
Bobby Holley
545f9293f5
Bug 1135170 - Route queued seeks back through MDSM::Seek and eliminate MDSM::StartSeek. r=mattwoodrow
2015-03-06 19:16:54 -08:00
Carsten "Tomcat" Book
34a4cedda2
Backed out changeset 5d97bad42411 (bug 1128380)
2015-03-05 08:38:47 +01:00
Jean-Yves Avenard
7e2e009741
Bug 1128380: Make AmpleVideoFrames calculation dynamic. r=cpearce
2015-03-05 16:53:47 +11:00
Sotaro Ikeda
4578dd1889
Bug 1128357 patch 4: Asynchronize SetDormant() r=cpearce,bobbyholley
2015-03-04 17:34:46 -08:00
Sotaro Ikeda
dda4707d35
Bug 1128357 Patch 2: Don't dispatch seeking/seeked events when coming out of dormant mode r=cpearce
2015-03-04 17:33:40 -08:00
JW Wang
b31e140a2f
Bug 1128417 - handle playback ended in a consistent way for both file and stream case. r=roc.
2015-03-03 11:08:50 +08:00
JW Wang
6fae44a3df
Bug 1127235 - refactor stream clock calculation in MediaDecoderStateMachine. r=roc.
2015-03-03 10:43:38 +08:00
Andreas Pehrson
649f8b0b4f
Bug 1129263 - Part 3. Add tracks atomically when capturing from decoder. r=roc,jesup
2015-02-24 13:11:32 +08:00
Andreas Pehrson
0ec5a7d891
Bug 1129263 - Part 2. Put hardcoded numeric TrackIDs in MediaInfo instead of DOMMediaStream. r=roc,jesup
2015-02-24 13:06:54 +08:00
Anthony Jones
bf665307e1
Bug 1138253 - Count dropped frames directly; r=cpearce
2015-03-03 17:46:48 +13:00
Bobby Holley
6345b4db74
Bug 1135785 - Hoist some work onto the state machine thread and tighten down our assertions. r=cpearce
2015-03-01 19:33:53 -08:00
Bobby Holley
f1d939b48f
Bug 1135785 - Stop manually resetting mCurrentSeekTarget in MDSM::SeekCompleted and rely on the AutoSetOnScopeExit instead. r=cpearce
...
For some reason the current code is resetting it twice - once explicitly and
once with the AutoSetOnScopeExit. To make matters worse, we have a monitor drop
between the two. So when DecodeSeek runs on the decode task queue but SeekCompleted
runs on the state machine thread, we can start another DecodeSeek during the monitor
drop, and then clobber it with the AutoSeetOnScopeExit, causing us to hang.
This is a non-issue with the patches in bug 1135170, but necessary to make the
patches in this bug independently green.
2015-03-01 19:33:52 -08:00
Bobby Holley
fc4c8d47c6
Bug 1135785 - Stop invoking StopPlayback in SetDormant. r=cpearce
...
This already gets incoded in the DECODER_STATE_DORMANT case of RunStateMachine,
which will run momentarily on the state machine thread. Doing this allows us to
avoid calling StopPlayback on the main thread.
2015-03-01 19:33:50 -08:00
Bobby Holley
275f2cb96d
Bug 1135785 - Return samples on state machine thread. r=cpearce
...
This is necessary because we're going to want to start disconnecting sample
and seek requests directly from the state machine thread, and the machinery
asserts that disconnection happens on the same thread as resolution.
More generally, this is the right thing to do architecturally, and will help
wean us off the monitor.
2015-03-01 19:33:49 -08:00
Bobby Holley
ee97bdbdb4
Bug 1135785 - Make DecodeError safe to run on any thread. r=cpearce
...
This is necessary so that we can make On{Audio,Video}{,Not}Decoded run on the
state machine thread in the next patch.
2015-03-01 19:33:48 -08:00
Bobby Holley
ffbf0da2bf
Bug 1137511 - Account for audio frames already pushed to audio hardware but not yet played when computing OutOfDecodedAudio. r=kinetik
2015-02-27 16:07:44 -08:00
Kilik Kuo
b923ab49f2
Bug 1112438 - Make newCurrentFrameTime more accurate while seeking by checking audio & video timestamp boundary in addition. r=cpearce
2015-02-17 11:21:40 +08:00
Sotaro Ikeda
10ace60dae
Bug 1133167 - Add CancelSeek call to FlushDecoding() r=cpearce,bholley
2015-02-17 07:50:49 -08:00
Chris Pearce
4f203dc237
Bug 1125970 - Don't flush decode task queue in MediaDecoderStateMachine::FlushDecoding(). r=bholley
2015-02-16 09:03:26 -08:00
Bobby Holley
7ff1b574c4
Bug 1126723 - Bail out of HasLowUndecodedData if we don't have a duration. v1 r=cpearce
...
GetEstimatedBufferedTimeRanges returns an empty range if the duration is -1.
2015-02-13 12:09:51 -08:00
Bobby Holley
786b3150bc
Bug 1126723 - Don't store bogus durations. v1 r=cpearce
...
The apple MP3 decoder passes in garbage for this particular live stream. Let's
validate our inputs.
2015-02-13 12:09:50 -08:00
Jean-Yves Avenard
9b0ebf9ecb
Bug 1130839: Seek to end of media if duration changed. r=cpearce
...
If the duration is changed such that the current playback position ends up
being greater than the time of the end of the media resource, then the user
agent must also seek to the time of the end of the media resource.
2015-02-12 18:53:53 +11:00
Bobby Holley
0c558bb724
Bug 1129246 - Switch to MediaPromiseConsumerHolders for MDSM audio/video promises and remove RequestStatus. v3 r=cpearce
2015-02-09 11:34:38 -08:00
Bobby Holley
96255a35a8
Bug 1129523 - Use ProxyMediaCall for video decode tasks. r=cpearce,r=mattwoodrow
2015-02-04 17:12:51 -08:00
Chris Pearce
36b70391c4
Bug 1123535 - Make dormant ResetPlayback assertion more lenient. r=jwwang
2015-02-04 10:17:28 +13:00
Sotaro Ikeda
7ae333e866
Bug 1112519 - Clear mDropVideoUntilNextDiscontinuity when we do not seek r=cpearce
2015-02-03 12:53:12 -08:00
JW Wang
bdce4addb1
Bug 1128411. Part 2 - call SendStreamData() in AdvanceFrame() to simplify the code of SendStreamData(). r=roc.
2015-02-02 13:58:31 +08:00
JW Wang
9ac36a403c
Bug 1128411. Part 1 - fix some bugs in MediaDecoderStateMachine::SendStreamData(). r=roc.
2015-02-02 13:53:54 +08:00
Phil Ringnalda
cd68f5f83f
Back out d28c88e9705d (bug 1128411)
...
CLOSED TREE
2015-02-02 20:37:49 -08:00
JW Wang
4cd65c9c33
Bug 1128411. Part 2 - call SendStreamData() in AdvanceFrame() to simplify the code of SendStreamData(). r=roc.
2015-02-02 13:58:31 +08:00
Chris Pearce
d968d6cd56
Bug 1127641 - Reduce MDSM video frame queue length when hardware accelerated. r=kentuckyfriedtakahe
2015-02-02 09:28:41 +13:00
JW Wang
0ef698f6fe
Bug 1127171 - Put mozCaptureStream operations in the same lock. r=roc
2015-01-28 18:57:00 -05:00
Chris Pearce
7a53933a13
Bug 1123535 - Don't hold decoder monitor while calling PreReadMetadata. r=kentuckyfriedtakahe
2015-01-29 21:50:48 +13:00
Chris Pearce
c970f7788e
Bug 1123535 - Run MediaDecoderReader::ReleaseMediaResources on decode task queue. r=jwwang
2015-01-21 18:02:27 +08:00
Sotaro Ikeda
96044532c5
Bug 1125472 - Reset video request status on reset decode. r=cpearce
2015-01-29 21:50:20 +13:00
Carsten "Tomcat" Book
70e2f80449
Backed out changeset fde8a287433b (bug 1125472)
2015-01-27 09:39:06 +01:00
Carsten "Tomcat" Book
e606a0d697
Backed out changeset b6bec74def09 (bug 1123535)
2015-01-27 09:39:04 +01:00
Carsten "Tomcat" Book
0d0d4ba3db
Backed out changeset f6da914b2a93 (bug 1123535)
2015-01-27 09:38:56 +01:00
Chris Pearce
5233d4d7a4
Bug 1123535 - Don't hold decoder monitor while calling PreReadMetadata. r=kentuckyfriedtakahe
2015-01-27 19:30:11 +13:00
Chris Pearce
4808d55930
Bug 1123535 - Run MediaDecoderReader::ReleaseMediaResources on decode task queue. r=jwwang
2015-01-21 18:02:27 +08:00
Chris Pearce
45ff6d7c11
Bug 1125472 - Don't flush decode task queue in MediaDecoderStateMachine::FlushDecoding(). r=bholley
2015-01-27 19:30:11 +13:00
Bobby Holley
353bf8ad10
Bug 1124952 - Set request status to Pending in the special DecodeFirstFrame calls too. r=cpearce
2015-01-26 15:59:44 -08:00
Byron Campen [:bwc]
201934fa79
Bug 1123882: Fix case where offset != 0 r=derf
2015-01-21 08:56:36 -08:00
Bobby Holley
200ea370b0
Bug 1121148 - Make QUICK_BUFFERING_LOW_DATA_USECS a member variable and adjust it appropriately. r=cpearce
2015-01-21 21:53:04 -08:00
Bobby Holley
5062579829
Bug 1121148 - Move constants that we should not be using directly into a namespace. r=cpearce
...
This lets us avoid using them accidentally in place of their member-variable
equivalents.
2015-01-21 21:53:04 -08:00
Bobby Holley
077327225a
Bug 1123983 - Don't reset request status in MediaDecoderStateMachine::FlushDecoding. r=cpearce
2015-01-21 14:34:26 -08:00