Граф коммитов

88 Коммитов

Автор SHA1 Сообщение Дата
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