Commit Graph

127 Commits

Author SHA1 Message Date
Chris Pearce
75c8af6426 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
1ee282dbfe 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
5eb79ee405 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
1495cd8f94 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
93f42ad1bf 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
f9e134fdb9 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
0400ec187a Bug 968016 - Call MediaDecoderReader::OnDecodeThreadStart/Finish() in DecodeLoop(). r=kinetik 2014-02-18 11:53:53 +13:00
Chris Pearce
2d67a1b332 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
6dda7a817e 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
ff2b4ee7e8 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
2cbaed0d76 Backed out changeset 4d0197840932 (bug 960057) for invalid bug number in the commit message. 2014-02-17 13:54:17 +01:00
Paul Adenot
38770e3cf4 Bug 960059 - When an HTMLMediaElement outputs to a MediaStream, make sure to install the refill callback in any case. r=roc
--HG--
extra : rebase_source : a690159d6395ed7bab2a053bbb1cc65e11bb8be6
2014-02-14 10:38:58 -08:00
Ms2ger
31c7d64437 Bug 952033 - Part e: Use IntSize in VideoSegment; r=roc 2014-02-09 09:04:38 +01:00
Ms2ger
0ae39bb1aa Bug 952033 - Part d: Use IntSize in MediaDecoder; r=roc 2014-02-09 09:04:38 +01:00
Ms2ger
176399514a Bug 952033 - Part c: Use IntSize and IntRect in VideoData; r=roc 2014-02-09 09:04:38 +01:00
Ben Kelly
110ff07411 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
1af4f7e752 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
ceb8a27ae2 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
a2e908e72a Bug 943461. Part 17: MediaDecoderStateMachine::StopPlayback should not set mPlayDuration based on real time, but on whatever we're using for GetClock. r=cpearce
--HG--
extra : rebase_source : 855fd9cb87cfc5824676697cc73dee12ab816c16
2013-12-13 01:33:01 +13:00
Robert O'Callahan
81d72a6306 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
--HG--
extra : rebase_source : 35fe51dbec3107d7dae801a5a179c5ef5fa53725
2013-12-13 01:33:00 +13:00
Robert O'Callahan
d4e6ad4a05 Bug 943461. Part 8: When a MediaDecoder is decoding to a stream, run PlaybackEnded when the stream finishes. r=padenot
--HG--
extra : rebase_source : 92c8b55c5d8330bcf8242d379bc608fa3d30bc6b
2013-12-07 01:01:33 +13:00
Robert O'Callahan
e156997b45 Bug 943461. Part 7: DecodedStreamData::mNextVideoTime is not relative to mStartTime. r=cpearce
--HG--
extra : rebase_source : 63b4fe1859c362683b3d3192114263dd7910b183
2013-12-06 18:39:49 +13:00
Wes Kocher
e20ec0842c Backed out changeset 2e2c930a960c (bug 948269) for android 4.0 mochitest-2 permaorange 2013-12-19 19:24:42 -08:00
Matthew Gregan
4ae6fd0723 Bug 948269 - Split MediaDecoderStateMachine::AudioLoop out into new AudioSink class. r=cpearce 2013-12-20 13:52:06 +13:00
Chris Pearce
822f12eb46 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
abe5d773d2 Bug 911482 - Perform audio downmix inside AudioStream class. r=rillian 2013-09-26 22:06:59 +03:00
Phil Ringnalda
a89c244f90 Back out 377f51d0e354 (bug 938108) for crashtest shutdown crashes 2013-12-15 19:56:24 -08:00
Chris Pearce
0c05712284 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
e9d0605f33 Bug 938107 - Backed out changeset 7aff3ce81046 for bustage. r=bustage. 2013-12-16 13:48:54 +13:00
Chris Pearce
a584c56a17 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
b2d1fa5018 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.

--HG--
extra : rebase_source : aba1d092d3d347e26ebd823d61fcbfa40a8cd1fe
2013-12-02 10:09:06 +13:00
Robert O'Callahan
161ce6418f Bug 938022. Part 2: Block captured MediaStream when the MediaDecoderStateMachine is not playing. r=cpearce
--HG--
extra : rebase_source : 01d887b3b5917b7c51a286d61feb10e7b2426d9a
2013-11-23 22:48:24 +13:00
Robert O'Callahan
2fff5d7da8 Bug 938022. Part 1: Update mAudioEndTime from SendStreamData. r=cpearce
--HG--
extra : rebase_source : 2cbb5dcbe4d97e21f276559c5fb7dac99d919a2b
2013-11-23 00:33:24 +13:00
Matthew Gregan
96b0a6e352 Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Benjamin Peterson
479abf96d4 backout dc9ebdf27e98 (bug 942657) for bustage 2013-11-28 20:50:16 -06:00
Matthew Gregan
8ed6660e86 Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Ehsan Akhgari
8ab03a33ee 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
7092b111ba 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
258944b4d5 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
7db9c39392 Merge m-c to inbound.
--HG--
rename : dom/contacts/tests/test_contacts_upgrade.html => dom/contacts/tests/test_contacts_upgrade.xul
rename : dom/indexedDB/test/test_globalObjects.xul => dom/indexedDB/test/test_globalObjects_chrome.xul
rename : dom/indexedDB/test/test_globalObjects.html => dom/indexedDB/test/test_globalObjects_content.html
rename : dom/indexedDB/test/unit/test_globalObjects.js => dom/indexedDB/test/unit/test_globalObjects_xpc.js
2013-11-19 13:54:20 -05:00
Matthew Gregan
aca39c9f09 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
7b5305a24c 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
81e39fb050 Bug 939601 - Refactor current thread assert into helper. r=cpearce 2013-11-04 11:11:09 +13:00
Phil Ringnalda
aa4f4a9e99 Back out 4fd2bf2ec8db (bug 939662) for Windows build bustage
CLOSED TREE
2013-11-18 21:34:48 -08:00
Matthew Gregan
fdcb4e1cac Bug 939662 - Remove "using namespace mozilla::dom;" from MediaDecoder.h and fix fallout. r=cpearce
--HG--
extra : rebase_source : 922db8de8e9103e3001c26f23ed7402efa8237f5
2013-11-18 17:22:47 +13:00
Ms2ger
18114993ff Bug 928741 - Stop using PR_STATIC_ASSERT in content; r=jst 2013-11-11 09:03:59 +01:00
Matthew Gregan
15ae6a844f Bug 935349 - Remove remaining disabled DASH code. r=doublec 2013-11-07 17:08:42 +13:00
Matthew Gregan
3c153f450d Bug 848812 - Remove incorrect on-thread assertion from StopPlayback. r=cpearce 2013-11-05 17:12:01 +13:00
Chris Pearce
3f98cc2f01 Bug 930829 - Add MediaData class as base for VideoData and AudioData to simplify writing a generic stream decoder. r=kinetik 2013-10-25 15:44:58 +13:00
Paul Adenot
2cd152d0cc Bug 907817 - Allow AudioStream users to pass-in latency requirements. r=kinetik
--HG--
extra : rebase_source : 3cf1971913b3cfd8000c58614b0d0be8b7805af0
2013-10-17 15:44:52 +02:00