Commit Graph

159 Commits

Author SHA1 Message Date
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
Barbara Guida
f213302a3b Bug 1122586 - Unbreak build on platforms missing std::llabs since bug 1073716. r=dholbert 2015-01-16 17:50:00 +01:00
Bobby Holley
0543af5e36 Bug 1121692 - Make seeks cancelable. r=cpearce,r=mattwoodrow 2015-01-16 10:58:00 -08:00
Bobby Holley
816c9448e1 Bug 1121692 - Move the interesting seek state logic into DecodeSeek. r=mattwoodrow,r=cpearce
This is necessary so that we can call CancelSeek at the same moment we determine
that it needs to be called without round-tripping between threads.
2015-01-16 10:58:00 -08:00
Bobby Holley
8cf395a4df Bug 1121692 - Remove unnecessary arguments to ::Seek. r=mattwoodrow,sr=cpearce 2015-01-16 10:57:59 -08:00
Sotaro Ikeda
04667ffe4e Bug 1110343 - Suppress redundant loadedmetadata event when dormant exit r=cpearce 2015-01-16 07:56:19 -08:00
Sotaro Ikeda
44d6849b1f Bug 1121658 - Remove DestroyDecodedStream() from MediaDecoder::SetDormantIfNecessary() r=roc 2015-01-16 06:56:14 -08:00
Jean-Yves Avenard
d1d00bac1e 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
2015-01-16 23:49:01 +11:00
Jean-Yves Avenard
99ead71f00 Bug 1121342: Re-Request audio or video to decode first frame after a failed attempt. r=cpearce 2015-01-16 15:48:40 +11:00
Julian Seward
7f60b29038 Bug 1119803 - Uninitialised value use in StopPrerollingVideo. r=bobbyholley. 2015-01-13 12:56:38 +01:00
Chris Pearce
36cf4f60b3 Bug 1112445 - Ignore the audio stream when determining whether we should skip-t-o-next-keyframe for async readers. r=mattwoodrow 2015-01-13 22:31:03 +13:00
Andreas Pehrson
c2f0836424 Bug 1113600 - Part 4. Handle switching directly from audio clock to stream clock. r=roc 2015-01-13 03:23:48 +08:00
Andreas Pehrson
3d98568e67 Bug 1113600 - Part 2. Handle setting a MediaStream sync point mid-playback. r=roc 2015-01-08 13:37:22 +08:00
Andreas Pehrson
e53268fdfb Bug 1113600 - Part 1. Send stream data right away after adding an output stream. r=roc 2015-01-08 13:36:29 +08:00
Sotaro Ikeda
5169987308 Bug 1112410 - Handle set dormant during seeking r=cpearce 2015-01-12 15:08:55 -08:00
JW Wang
2477e1b89f Bug 1115505 - keep decoding to ensure the stream is initialized in the decode-to-stream case. r=roc 2014-12-25 01:26:00 +01:00
Matt Woodrow
3244395897 Bug 1105066 - Make SeekPromise return the time we actually seeked to; r=kentuckyfriedtakahe 2015-01-12 10:57:14 +13:00
Chris Peterson
ad426f785b Bug 1118076 - Remove MOZ_THIS_IN_INITIALIZER_LIST. r=Waldo 2015-01-06 21:39:46 -08:00
Bobby Holley
223bb6c072 Bug 1120017 - Make the DispatchDecodeTasksIfNeeded path handle DECODER_STATE_DECODING_FIRSTFRAME. r=cpearce
Once we make MP4Reader reject with WAITING_FOR_DATA, we end up with the following scenario:

DecodeFirstFrame requests audio data, and then it gets rejected with WAITING_FOR_DATA.
So OnAudioNotDecided does WaitForData, which eventually causes us to be called back in
MediaDecoderStateMachine::WaitForDataResolved. That does DispatchDecodeTasksIfNeeded, which
currently bails out of our state is DECODER_STATE_DECODING_FIRSTFRAME.

The other way to do this would be to add a separate specialized path through all this
asynchronicity for DECODER_STATE_DECODING_FIRSTFRAME. But it's not clear to me what that
buys us.
2015-01-09 17:20:58 -08:00
Jonathan Hao
8717727117 Bug 1080461 - Part 2: Fix RTSP autoplay. r=bechen, r=jwwang 2015-01-06 09:58:04 +08:00
Jonathan Hao
d55a63d300 Bug 1080461 - Part 1: Add IsRealTime() in MediaDecoderStateMachine. r=bechen, r=jwwang 2015-01-06 09:57:53 +08:00
Bobby Holley
faa470a9ee Bug 1114840 - Don't start playback during prerolling. r=cpearce 2014-12-29 23:16:48 -08:00
Bobby Holley
15a6c9a0e2 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
6adcea2d4a Bug 1114840 - Hoist arms-length conditions and rename StartPlayback() to MaybeStartPlayback(). r=cpearce 2014-12-29 23:16:48 -08:00
Bobby Holley
6145b5ebfc Bug 1114840 - Use StartDecoding() rather than SetState in PlayInternal. r=cpearce
This makes sure that decode tasks are dispatched and that all the preroll state
is appropriately set up.
2014-12-29 23:16:48 -08:00
Bobby Holley
0394f54262 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
5eb688e802 Bug 1114830 - Only enter buffering mode when the pending request is waiting for data. r=cpearce a=philor 2014-12-22 20:54:01 -08:00
Bobby Holley
02a415f058 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
eb3e42b32b Bug 1109437 - Implement non-polling buffering. r=cpearce 2014-12-22 00:20:31 -08:00
Bobby Holley
96f16e3108 Bug 1109437 - Switch m{Audio,Video}RequestPending to a tri-state. r=cpearce 2014-12-22 00:20:31 -08:00
Bobby Holley
be63325f27 Bug 1109437 - Stop using buffering heuristics when they're not requested. r=cpearce
Given that we set the buffering wait to 0 in this case already, the only practical
impact on our behavior of this change is that we'll no longer ping-pong between
states.
2014-12-22 00:20:30 -08:00
Bobby Holley
65bc7db2f5 Bug 1109437 - Generalize GetBufferingWait to UseBufferingHeuristics. r=cpearce 2014-12-22 00:20:30 -08:00
Benjamin Chen
06b6591c1a 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
99b49f2c85 Bug 1112446 - Add logging for media queue lengths. r=ajones 2014-12-18 12:41:19 +13:00
Matt Woodrow
b9a8658da4 Bug 1111413 - Part 2: Remove RequestSampleCallback. r=bholley 2014-12-16 23:08:42 +13:00
Matt Woodrow
36e48314cd Bug 1111413 - Part 1: Use MediaPromises for seeking. r=bholley 2014-12-16 22:52:57 +13:00
Alfredo Yang
9b4de7b06c Bug 1105209 - Add media resource request API. r=kentuckyfriedtakahe 2014-12-15 22:25:00 -05:00
Alastor Wu
1db869e3b4 Bug 1100803 - Re-create a decoded media stream if necessary. r=roc 2014-12-15 09:22:15 +08:00
Sotaro Ikeda
85d38bacc5 Bug 1108728 - Remove dormant related state from MediaDecoder r=cpearce 2014-12-12 17:29:24 -08:00
Bobby Holley
78c59198d9 Bug 1109954 - Make resolve/reject values optional in callback signatures. r=cpearce 2014-12-12 14:22:23 -08:00
Bobby Holley
3b908e6f30 Backed out changeset 89c9d42ef78e (bug 1109954) for colliding with bug 1108701 on a CLOSED TREE. 2014-12-10 22:56:09 -08:00
Bobby Holley
7b1c6496e6 Bug 1109954 - Make resolve/reject values optional in callback signatures. r=cpearce 2014-12-10 22:38:33 -08:00