Bobby Holley
01705d6512
Bug 1145686 - Make MDSM::StartBuffering happen on the state machine thread. r=jww
2015-03-27 16:26:02 -07:00
Bobby Holley
896a455d03
Bug 1145686 - Make MDSM::Shutdown happen on the state machine thread. r=jww
2015-03-27 16:26:02 -07:00
Bobby Holley
bf4c9334cc
Bug 1144519 - Rename MDSM::OnDecodeThread to MDSM::OnDecodeTaskQueue. r=jya
2015-03-27 11:50:19 -07:00
Bobby Holley
aa048233f5
Bug 1144519 - Rename OnStateMachineThread-like functions to reflect the fact that it's a task queue. r=jya
2015-03-27 11:50:19 -07:00
Bobby Holley
4e510c7517
Bug 1136827 - Stop synchronously dispatching MediaDecoder::DecodeError from MDSM::DecodeError. r=mattwoodrow
...
MediaDecoder::DecodeError invokes MediaDecoder::Shutdown, which shuts down the
state machine. Given the sync dispatch, this means that this is basically already
what's happening.
2015-03-24 22:02:43 -07:00
Bobby Holley
e0a0c3cf07
Bug 1136827 - Stop proxying DecodeError to the decode thread. r=mattwoodrow
...
At this point, all the callers actually call it on the state machine thread,
where it belongs.
2015-03-24 22:02:36 -07:00
Bobby Holley
01abf4455d
Bug 1136827 - Call OnAudioSinkError on state machine thread. r=jww
2015-03-24 22:02:02 -07:00
Wes Kocher
82959e5df3
Backed out 2 changesets (bug 1136827) for crashtest assertions CLOSED TREE
...
Backed out changeset 998f44ed19fb (bug 1136827)
Backed out changeset 3eb419228c1f (bug 1136827)
2015-03-24 17:21:21 -07:00
Bobby Holley
bb1cc46dff
Bug 1136827 - Stop synchronously dispatching MediaDecoder::DecodeError from MDSM::DecodeError. r=mattwoodrow
...
MediaDecoder::DecodeError invokes MediaDecoder::Shutdown, which shuts down the
state machine. Given the sync dispatch, this means that this is basically already
what's happening.
2015-03-24 15:01:48 -07:00
Bobby Holley
6aa248ee60
Bug 1136827 - Stop proxying DecodeError to the decode thread. r=mattwoodrow
...
At this point, all the callers actually call it on the state machine thread,
where it belongs.
2015-03-24 15:01:47 -07:00
Bobby Holley
16efc5f196
Bug 1145203 - Unify FlushDecoding, ResetDecode, and ResetPlayback into a single Reset() method. r=mattwoodrow
2015-03-23 17:07:10 -07:00
Bobby Holley
9487e1743a
Bug 1136873 - Deliver NotifyWaitingForResourcesStatusChanged asynchronously on the state machine task queue. r=mattwoodrow
...
The previous setup is wacky, and can cause the notification to reach the state
machine before the promise rejection, which causes us to stall intermittently.
We also take the opportunity to be a bit less trigger happy when we fire it
in MediaSourceReader.cpp.
2015-03-23 13:17:52 -07:00
Bobby Holley
40a80320a6
Bug 1136873 - Use promises for metadata decoding. r=mattwoodrow
2015-03-23 13:17:51 -07:00
Edwin Flores
9a9b42ccdf
Bug 1134434 - Fire loadedmetadata before encrypted event on encrypted MP4s - r=cpearce
2015-03-23 15:31:15 +13:00
Ehsan Akhgari
883849ee32
Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
...
This patch was automatically generated using the following script:
function convert() {
echo "Converting $1 to $2..."
find . \
! -wholename "*/.git*" \
! -wholename "obj-ff-dbg*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Bobby Holley
53ad5b2a9c
Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow
2015-03-16 14:38:44 -07:00
Phil Ringnalda
345a4eca93
Back out 3 changesets (bug 1135424) on suspicion of causing frequent hangs in test_playback.html on mochitest-e10s
...
CLOSED TREE
Backed out changeset 584d91ffdf88 (bug 1135424)
Backed out changeset d86806ea63f4 (bug 1135424)
Backed out changeset e52401d30a67 (bug 1135424)
2015-03-12 23:05:11 -07:00
Bobby Holley
0563f41ef7
Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow
2015-03-12 17:54:35 -07:00
Matt Woodrow
10ced0676b
Bug 1131638 - Disable hardware decoding if too many frames are invalid. r=cpearce
2015-03-12 22:14:51 +13:00
Jean-Yves Avenard
3a14d38778
Bug 1128380: Make AmpleVideoFrames calculation dynamic. r=cpearce
2015-03-09 14:17:30 +11:00
Bobby Holley
578cad549e
Bug 1135170 - Rewrite the MediaDecoder-to-MediaDecoderStateMachine interface to be Promise-based. r=mattwoodrow
2015-03-06 19:17:07 -08:00
Bobby Holley
d846586729
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
bf69dac697
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
3b78e1ecfd
Bug 1135170 - Route queued seeks back through MDSM::Seek and eliminate MDSM::StartSeek. r=mattwoodrow
2015-03-06 19:16:54 -08:00
JW Wang
5adfdc7439
Bug 1127235 - refactor stream clock calculation in MediaDecoderStateMachine. r=roc.
2015-03-03 10:43:38 +08:00
Bobby Holley
8ecafb0e29
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
ba77f2e511
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
3c7f735460
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
Sotaro Ikeda
8d10939395
Bug 1133167 - Add CancelSeek call to FlushDecoding() r=cpearce,bholley
2015-02-17 07:50:49 -08:00
Bobby Holley
4209e9651f
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
41a5994f7f
Bug 1128811 - Reject data wait promises when we seek. r=cpearce
2015-02-04 17:33:40 -08:00
Bobby Holley
a15ce311b8
Bug 1129523 - Use ProxyMediaCall for video decode tasks. r=cpearce,r=mattwoodrow
2015-02-04 17:12:51 -08:00
JW Wang
99e95e2eff
Bug 1127171 - Put mozCaptureStream operations in the same lock. r=roc
2015-01-28 18:57:00 -05:00
Masatoshi Kimura
86502e6537
Bug 1111290 - Part 2: Non-mechanical changes. r=waldo
2015-01-26 07:22:08 +09:00
Bobby Holley
f2e2db81ac
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
986f783e03
Bug 1121692 - Make seeks cancelable. r=cpearce,r=mattwoodrow
2015-01-16 10:58:00 -08:00
Sotaro Ikeda
e662668d12
Bug 1110343 - Suppress redundant loadedmetadata event when dormant exit r=cpearce
2015-01-16 07:56:19 -08:00
Jean-Yves Avenard
b0638f45f3
Bug 1119757: Allow seeking on media with infinite duration. r=cpearce
...
MSE defines content to have infinite duration when no duration is defined.
And MSE is always seekable within the buffered range, regardless of the duration
--HG--
extra : rebase_source : 369cce10504b125716af0a60e07d1d1144117f59
2015-01-16 23:49:01 +11:00
Matt Woodrow
972dde5588
Bug 1105066 - Make SeekPromise return the time we actually seeked to; r=kentuckyfriedtakahe
2015-01-12 10:57:14 +13:00
Jonathan Hao
a29a94eff5
Bug 1080461 - Part 1: Add IsRealTime() in MediaDecoderStateMachine. r=bechen, r=jwwang
2015-01-06 09:57:53 +08:00
Bobby Holley
81fc7d1d4b
Bug 1114840 - Don't start playback during prerolling. r=cpearce
2014-12-29 23:16:48 -08:00
Bobby Holley
c3291e8b61
Bug 1114840 - Dynamically compute preroll thresholds. r=cpearce
...
Currently, the preroll threshold ends up higher than the ample threshold in the
audio-only case where we slash the audio thresholds by a factor of 8. The best
way to avoid these sorts of bugs is to compute the values dynamically.
2014-12-29 23:16:48 -08:00
Bobby Holley
01990f4d69
Bug 1114840 - Hoist arms-length conditions and rename StartPlayback() to MaybeStartPlayback(). r=cpearce
2014-12-29 23:16:48 -08:00
Bobby Holley
680cba307f
Bug 1114840 - Make MediaDecoderStateMachine::Play run on the state machine thread. r=cpearce
...
We want to invoke StartDecoding() from Play, but that calls into a bunch of stuff
that asserts that we're on the state machine thread. It's not clear to me whether
that's actually necessary, but this seems like the right thing to do regardless
given that this is all supposed to be async anyway.
2014-12-29 23:16:48 -08:00
Bobby Holley
f01bb671ea
Bug 1109437 - Only switch to buffering mode when the reader is waiting for data. r=cpearce
2014-12-22 00:20:31 -08:00
Bobby Holley
49601684ad
Bug 1109437 - Implement non-polling buffering. r=cpearce
2014-12-22 00:20:31 -08:00
Bobby Holley
17a26db299
Bug 1109437 - Switch m{Audio,Video}RequestPending to a tri-state. r=cpearce
2014-12-22 00:20:31 -08:00
Benjamin Chen
d676e9ef65
Bug 1091992 - fix the flag skipToNextKeyFrame in DecodeVideo can't be raised if the video is slower than audio. r=cpearce, r=jwwang
2014-12-22 11:32:31 +08:00
Matt Woodrow
646b842413
Bug 1111413 - Part 2: Remove RequestSampleCallback. r=bholley
2014-12-16 23:08:42 +13:00
Matt Woodrow
2c7e571767
Bug 1111413 - Part 1: Use MediaPromises for seeking. r=bholley
2014-12-16 22:52:57 +13:00