Commit Graph

131 Commits

Author SHA1 Message Date
Chris Pearce
f47aca5c47 Bug 973408 - Split innards of MediaDecoderStateMachine::DecodeLoop() into sub DecodeAudio/DecodeVideo functions. r=kinetik 2014-03-11 11:44:09 +08:00
Chris Pearce
119004ae36 Bug 973408 - Don't block a decode thread while awaiting resources. r=kinetik 2014-03-11 11:44:09 +08:00
Chris Pearce
c9460aacab Bug 973408 - Split DecodeThreadRun() into separate decode tasks. r=kinetik 2014-03-11 11:44:09 +08:00
Chris Pearce
db1a16e2eb Bug 973408 - Remove MediaDecoderStateMachine::GetAmpleVideoFrames(), and MediaOMXStateMachine. r=kinetik 2014-03-11 11:44:08 +08:00
Chris Pearce
32baf29589 Bug 973408 - Move MediaDecoderStateMachine::DecodeLoop()'s local variables to class members so the function can be made reentrant in future. r=kinetik 2014-03-11 11:44:08 +08:00
Matthew Gregan
7057ebee8f Bug 962353 - Remove totalFrameDelay from VideoPlaybackQuality. r=chris.double
It's not implemented by other vendors and marked as "at risk" in the spec.
Easy to add back if there's real demand/a concrete spec.
2014-03-04 15:31:57 +13:00
Chris Pearce
90ce6f9982 Bug 861136 - Strip whitespace from MediaDecoderStateMachine.cpp that was introduced in previous changeset. r=whitespace DONTBUILD 2014-03-03 14:55:33 +13:00
Chris Pearce
5cb3716d25 Bug 861136 - Don't start buffering media state machine when we don't need to. r=roc 2014-03-03 14:49:52 +13:00
Chris Pearce
99ce9b8784 Bug 634747 - Set MediaQueue's to Finished() when we reach end of stream while decoding after seeking and while finding first frame. r=kinetik 2014-02-25 18:45:03 +13:00
Chris Pearce
52ed9bf4f7 Bug 968016 - Wait until decode has finished before releasing resources when decoder becomes dormant. r=kinetik 2014-02-18 11:53:53 +13:00
Chris Pearce
fac79bb3b6 Bug 968016 - Call MediaDecoderReader::OnDecodeThreadStart/Finish() in DecodeLoop(). r=kinetik 2014-02-18 11:53:53 +13:00
Chris Pearce
7d0d4ce011 Bug 968016 - Use a SharedThreadPool of size 1 for the Media State Machine thread. r=kinetik
This makes it easy to share the state machine thread, and for it to shut down
automatically when the last reference is dropped to it.
2014-02-18 11:53:53 +13:00
Chris Pearce
f9a2ec07b3 Bug 968016 - Use SharedThreadPool instead of manually managed threads for the media decoding. r=kinetik 2014-02-18 11:53:52 +13:00
Paul Adenot
1a67837967 Bug 960057 - When an HTMLMediaElement outputs to a MediaStream, make sure to install the refill callback in any case. r=roc DONTBUILD 2014-02-14 10:38:58 -08:00
Paul Adenot
2e473cb641 Backed out changeset 4d0197840932 (bug 960057) for invalid bug number in the commit message. 2014-02-17 13:54:17 +01:00
Paul Adenot
7dfb0b37a6 Bug 960059 - When an HTMLMediaElement outputs to a MediaStream, make sure to install the refill callback in any case. r=roc 2014-02-14 10:38:58 -08:00
Ms2ger
845130e23d Bug 952033 - Part e: Use IntSize in VideoSegment; r=roc 2014-02-09 09:04:38 +01:00
Ms2ger
7de0308a23 Bug 952033 - Part d: Use IntSize in MediaDecoder; r=roc 2014-02-09 09:04:38 +01:00
Ms2ger
77d335da23 Bug 952033 - Part c: Use IntSize and IntRect in VideoData; r=roc 2014-02-09 09:04:38 +01:00
Ben Kelly
6576188c82 Bug 960873: Part 2: Create AudioCompactor class to minimize allocation slop. r=cpearce
Based on original patch written by :gal.
2014-02-05 18:11:25 -05:00
Phil Ringnalda
da1ac7893f Backed out 6 changesets (bug 960873) for Win64 build bustage
Backed out changeset 33d8989841ac (bug 960873)
Backed out changeset 6c9e404aeb3f (bug 960873)
Backed out changeset 36c8b10b0a31 (bug 960873)
Backed out changeset 29c36a7acfb0 (bug 960873)
Backed out changeset 6e3966e0eb40 (bug 960873)
Backed out changeset 612db692256b (bug 960873)
2014-02-05 09:28:14 -08:00
Ben Kelly
34917f9eb8 Bug 960873: Part 2: Create AudioCompactor class to minimize allocation slop. r=cpearce
Based on original patch written by :gal.
2014-02-04 23:10:43 -05:00
Robert O'Callahan
850f07b634 Bug 943461. Part 17: MediaDecoderStateMachine::StopPlayback should not set mPlayDuration based on real time, but on whatever we're using for GetClock. r=cpearce 2013-12-13 01:33:01 +13:00
Robert O'Callahan
db780d5a68 Bug 943461. Part 15: Make MediaDecoder set its currentTime based on the decoded stream's time directly, if we are decoding to a stream. r=cpearce 2013-12-13 01:33:00 +13:00
Robert O'Callahan
c75ffcc208 Bug 943461. Part 8: When a MediaDecoder is decoding to a stream, run PlaybackEnded when the stream finishes. r=padenot 2013-12-07 01:01:33 +13:00
Robert O'Callahan
74adba2149 Bug 943461. Part 7: DecodedStreamData::mNextVideoTime is not relative to mStartTime. r=cpearce 2013-12-06 18:39:49 +13:00
Wes Kocher
880947ecc0 Backed out changeset 2e2c930a960c (bug 948269) for android 4.0 mochitest-2 permaorange 2013-12-19 19:24:42 -08:00
Matthew Gregan
fd10545b97 Bug 948269 - Split MediaDecoderStateMachine::AudioLoop out into new AudioSink class. r=cpearce 2013-12-20 13:52:06 +13:00
Chris Pearce
afc24a114b Bug 938107 - Wait for media state machine thread to shutdown during XPCOM shutdown before returning. r=roc
Add a MediaShutdownManager and have that as the only xpcom-shutdown
observer. This then shutsdown the MediaDecoders, and blocks waiting for
the media state machine's shared thread to complete shutdown before
exiting from the xpcom-shutdown observer. This ensures that the
MediaDecoder infrastructure does not use XPCOM on any thread after XPCOM
has shutdown, which is a logical error.
2013-12-18 16:59:11 +13:00
Alexandros Chronopoulos
6bc47dfac9 Bug 911482 - Perform audio downmix inside AudioStream class. r=rillian 2013-09-26 22:06:59 +03:00
Phil Ringnalda
ca95c2f2a3 Back out 377f51d0e354 (bug 938108) for crashtest shutdown crashes 2013-12-15 19:56:24 -08:00
Chris Pearce
2f0f069beb Bug 938108 - Wait for media state machine thread to shutdown during XPCOM shutdown before returning. r=roc
Add a MediaShutdownManager and have that as the only xpcom-shutdown
observer. This then shutsdown the MediaDecoders, and blocks waiting for
the media state machine's shared thread to complete shutdown before
exiting from the xpcom-shutdown observer. This ensures that the
MediaDecoder infrastructure does not use XPCOM on any thread after XPCOM
has shutdown, which is a logical error.
2013-12-16 15:52:59 +13:00
Chris Pearce
5ab5f6a4b2 Bug 938107 - Backed out changeset 7aff3ce81046 for bustage. r=bustage. 2013-12-16 13:48:54 +13:00
Chris Pearce
71f498a6bc Bug 938107 - Wait for media state machine thread to shutdown during XPCOM shutdown before returning. r=roc
Add a MediaShutdownManager and have that as the only xpcom-shutdown
observer. This then shutsdown the MediaDecoders, and blocks waiting for
the media state machine's shared thread to complete shutdown before
exiting from the xpcom-shutdown observer. This ensures that the
MediaDecoder infrastructure does not use XPCOM on any thread after XPCOM
has shutdown, which is a logical error.
2013-12-16 13:31:03 +13:00
Robert O'Callahan
293c76a40a Bug 938022. Part 6: Have MediaDecoder/MediaDecoderStateMachine that's producing a MediaStream use that stream's current time as the media clock. r=padenot
We monitor the stream's output current time via a new MediaStreamListener
owned by DecodedStreamData. We also track its main-thread Finished status.
While we're writing to a DecodedStreamData stream that hasn't finished its
output, we stay in the DECODER_STATE_COMPLETED state so we can keep updating
video and firing timeupdates.

GetClock() uses the DecodedStreamData stream's current time as the source for
the clock if there is one.
2013-12-02 10:09:06 +13:00
Robert O'Callahan
af3bd7e27a Bug 938022. Part 2: Block captured MediaStream when the MediaDecoderStateMachine is not playing. r=cpearce 2013-11-23 22:48:24 +13:00
Robert O'Callahan
692e34dba0 Bug 938022. Part 1: Update mAudioEndTime from SendStreamData. r=cpearce 2013-11-23 00:33:24 +13:00
Matthew Gregan
94ba21e990 Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Benjamin Peterson
54f4964645 backout dc9ebdf27e98 (bug 942657) for bustage 2013-11-28 20:50:16 -06:00
Matthew Gregan
ebffb26bda Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Ehsan Akhgari
4c2481be82 Bug 939582 - Part 1: Rework the NSPR logging in content/media to use different macro names for different logs; r=doublec 2013-11-20 22:02:42 -05:00
Ehsan Akhgari
07b4b59e89 Backed out 2 changesets (bug 939582) because of build bustage
Backed out changeset 2079c828645a (bug 939582)
Backed out changeset af472e590088 (bug 939582)
2013-11-20 21:41:40 -05:00
Ehsan Akhgari
b0be913fb5 Bug 939582 - Part 1: Rework the NSPR logging in content/media to use different macro names for different logs; r=doublec 2013-11-20 21:11:54 -05:00
Ryan VanderMeulen
a90e18f21c Merge m-c to inbound. 2013-11-19 13:54:20 -05:00
Matthew Gregan
1a80839aef Bug 939662 - Remove "using namespace mozilla::dom;" from MediaDecoder.h and fix fallout. r=cpearce 2013-11-18 17:22:47 +13:00
Sotaro Ikeda
0ce3a4a72a Bug 935118 - Allow buffering to be triggered when we're low on decoded audio or video. r=roc 2013-11-19 09:01:14 -05:00
Matthew Gregan
d461e6e387 Bug 939601 - Refactor current thread assert into helper. r=cpearce 2013-11-04 11:11:09 +13:00
Phil Ringnalda
cf567e22c2 Back out 4fd2bf2ec8db (bug 939662) for Windows build bustage
CLOSED TREE
2013-11-18 21:34:48 -08:00
Matthew Gregan
a21a08aa27 Bug 939662 - Remove "using namespace mozilla::dom;" from MediaDecoder.h and fix fallout. r=cpearce 2013-11-18 17:22:47 +13:00
Ms2ger
4617cc5629 Bug 928741 - Stop using PR_STATIC_ASSERT in content; r=jst 2013-11-11 09:03:59 +01:00