Commit Graph

88 Commits

Author SHA1 Message Date
Robert O'Callahan
727fa86a21 Bug 779715. Part 6: Rework capturing MediaStreams from media elements to use TrackUnionStreams. r=cpearce,jesup
Moves to a new setup where a decoder manages a single SourceMediaStream internally. Each stream
returned from mozCaptureStream(UntilEnded) is a TrackUnionStream which is fed by the
decoder's SourceMediaStream.
We want the captured streams to be blocked while the media element is not playing. We do that
by blocking any captured stream that has no SourceMediaStream feeding into it, and blocking
any SourceMediaStream while its decoder is not playing.
We arrange for the decoders's PlaybackEnded to be delayed until its SourceMediaStream has
finished according to the media stream graph. This ensures the state of captured media streams
corresponds more closely to the media element state.

--HG--
extra : rebase_source : 3324ff0e9bdce9c71a23c0f5f2032815e9046081
2012-08-01 00:17:22 +12:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -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 PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Robert O'Callahan
cdb5480e47 Backing out parts 6 and 7 of bug 779715 (5a87f1d1807d, 5a87f1d1807d) due to crashtest orange.
--HG--
extra : rebase_source : bb7acb9958452850bd9d36f8e58f956d065d4935
2012-08-21 00:44:32 +12:00
Robert O'Callahan
bcd9f63ad8 Bug 779715. Part 6: Rework capturing MediaStreams from media elements to use TrackUnionStreams. r=cpearce,jesup
Moves to a new setup where a decoder manages a single SourceMediaStream internally. Each stream
returned from mozCaptureStream(UntilEnded) is a TrackUnionStream which is fed by the
decoder's SourceMediaStream.
We want the captured streams to be blocked while the media element is not playing. We do that
by blocking any captured stream that has no SourceMediaStream feeding into it, and blocking
any SourceMediaStream while its decoder is not playing.
We arrange for the decoders's PlaybackEnded to be delayed until its SourceMediaStream has
finished according to the media stream graph. This ensures the state of captured media streams
corresponds more closely to the media element state.

--HG--
extra : rebase_source : a301714fad57a3b7c963530a3da99c54bc8ac436
2012-08-01 00:17:22 +12:00
Matthew Gregan
70f8167360 Bug 783179 - Remove unused mCbCrSize and mCbCrBuffer members from nsBuiltinDecoderStateMachine. r=doublec 2012-08-16 18:07:26 +12:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Paul Adenot
8558f22925 Bug 760336 - Set nsBuiltinDecoderStateMachine::mBufferingWait to be seconds instead of milliseconds r=chris.double 2012-06-07 11:43:25 +12:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Paul Adenot
67bfe4f064 Bug 756372 - Change |seeking| to prevent seeking in WebM livestream. r=kinetik 2012-05-18 13:35:43 -04:00
Robert O'Callahan
233d852e79 Bug 664918. Part 12: Finish SourceMediaStreams when the media decoder is destroyed, to avoid late low-audio/low-video notifications and issues when multiple decoders write to the same stream. r=cpearce,rjesup 2012-04-30 15:13:42 +12:00
Robert O'Callahan
0fab284fc7 Bug 664918. Part 8: Add mozCaptureStream()/mozCaptureStreamUntilEnded() APIs to HTML media elements, returning a MediaStream representing the contents of the media element. r=cpearce,jesup
This is currently not fully functional. The MediaStream always ends when the underlying resource ends. You can't use these APIs on a media element
whose src is a MediaStream. Seeking or pausing the resource will cause problems. The media element does not play back in sync with the MediaStream.
2012-04-30 15:12:42 +12:00
Robert O'Callahan
1e90444bb6 Bug 708116. Factor out logic for updating the current frame of a video element into a helper object. r=doublec 2012-02-15 17:35:01 +13:00
Chris DeCairos
6a271f929d Bug 715323 - Make offset paramater in NotifyDataArrived PRInt64 r=cpearce 2012-02-01 11:05:51 +13:00
Chris Pearce
0fa5e90cfa Bug 713381 - Queue media decode thread creation when limit reached. r=roc 2012-01-20 07:30:29 +13:00
Chris Pearce
841966d0b2 Bug Bug 713381 - backout 38271572005b,d5ebbc25b4b8,6435f51dd10d. r=backout 2012-01-19 11:56:54 +13:00
Chris Pearce
b748373b98 Bug 713381 - Queue media decode thread creation when limit reached. r=roc 2012-01-19 09:15:57 +13:00
Chris Pearce
4128f6843e Bug 712738 - Cap seeking outside of buffered data in live streams to end of buffered data. r=kinetik 2012-01-06 19:40:51 +13:00
Chris Pearce
b01fd7d70f Bug 604682 - Remove unnecessary copy of audio data when there's no MozAudioAvailable event listener. r=smaug,kinetik 2011-11-22 13:34:21 +13:00
Chris Double
a973f49a80 Bug 691096 - Provide hard limit to number of media elements that can be decoded in parallel - r=cpearce
--HG--
extra : rebase_source : b82ea2e14028f625ea247e93ca6be427e5db815d
2011-11-08 14:38:17 +13:00
Marco Bonardo
7db3b9061d Backout 12744c5b688d, edefcb820429 to investigate Android C1 permaorange. 2011-11-03 09:24:02 +01:00
Chris Double
bb113c8974 Bug 691096 - Provide hard limit to number of media elements that can be decoded in parallel - r=cpearce
--HG--
extra : rebase_source : 23bc74b97aa678f47e812351a9443cbf223f808e
2011-11-03 14:58:54 +13:00
Matthew Gregan
b91f76289a Bug 690603 - Remove PR_TRUE/PR_FALSE from media code. r=doublec 2011-09-30 12:34:37 +13:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Matthew Gregan
bd4295528f Bug 689432 - Disambiguate use of "samples" by introducing "frames" in a number of places. r=doublec 2011-09-27 16:31:18 +13:00
Fabrice Desré
710899e3ab Bug 659188 - Android and media parts [r=blassey] [r=cpearce] 2011-09-26 17:25:41 -07:00
Matthew Gregan
49589fa033 Bug 682593 - Avoid possible null dereference during state machine shutdown. r=cpearce 2011-09-21 19:01:00 +12:00
Chris Double
1e5e4609a1 Bug 648595 - Part 1/2: Implement temporal dimension portion of Media Fragments URI specification for video/audio - r=cpearce
--HG--
extra : rebase_source : f9b5986e739a091c37caeb882904434f21fb6d81
2011-08-25 11:42:23 +12:00
Matthew Gregan
1eaa941a74 Bug 679269 - Rename SoundData{,Value} to AudioData{,Value} and fix inconsistent use of "sound" vs "audio". r=doublec 2011-08-16 17:19:51 +12:00
Paul ADENOT
36cf6a91a7 Bug 462960 - Implement nsIDOMHTMLMediaElement::GetSeekable() + seeking algorithm part 7. r=cpearce 2011-08-09 12:10:48 +02:00
Matthew Gregan
db3428cfec Bug 672755 - Add memory reporters for decoded video and audio queues. r=cpearce r=joe 2011-07-22 15:17:23 +12:00
Chris Pearce
94901f979a Bug 592833 - Update comments for new video decoder thread model. r=roc 2011-07-12 15:39:39 +12:00
Chris Pearce
ea5c48904a Bug 592833 - Shutdown inactive media decode threads, don't start audio thread until needed. r=roc 2011-07-12 15:39:37 +12:00
Chris Pearce
f75f5e57e5 Bug 592833 - Merge all media state machines into a single thread. r=roc 2011-07-12 15:39:34 +12:00
Chris Pearce
09f21e3e39 Bug 592833 - Run media state machine as a series of events. r=roc 2011-07-12 15:39:32 +12:00
Chris Pearce
8505e98e72 Bug 592833 - Move audio stream management to audio thread. r=? 2011-07-12 15:39:30 +12:00
Chris Pearce
1e2942a0a5 Bug 592833 - Move seeking to the decode thread. r=roc 2011-07-12 15:39:25 +12:00
Chris Pearce
b6b4964da4 Bug 592833 - Move metadata decoding to decode thread. r=roc 2011-07-12 15:39:23 +12:00
Chris Pearce
41ca01723d Bug 592833 - Split StartDecodeThreads() into StartDecodeThread() and StartAudioThread() for finer control. r=roc 2011-07-12 15:39:10 +12:00
Chris Pearce
b364e365c4 Bug 661456 - Scale WebM video frames to display size. r=kinetik 2011-06-24 10:08:54 +12:00
Chris Pearce
6d6e37a982 Bug 651023 - Round up wait times to 1ms to ensure we drop the decoder monitor when presenting video frames. r=kinetik 2011-05-12 14:02:34 +12:00
Chris Pearce
c47b80f93b Bug 566779 - Clean up media start and end time calculation. r=doublec 2011-05-09 09:10:28 +12:00
Chris Jones
ed22df8f64 Bug 556214, parts 1 and 1.1: Rename Monitor to ReentrantMonitor and fix existing Monitor users. r=roc
--HG--
rename : xpcom/glue/Monitor.h => xpcom/glue/ReentrantMonitor.h
2011-04-29 14:21:57 -05:00
Chris Pearce
a259c20cba Bug 641718 - Convert to using microseconds for internal video timestamps. r=kinetik 2011-04-14 10:12:23 +12:00
Yury
7aad392535 Bug 638807 - Data race on nsBuiltinDecoder::mFrameBufferLength; r=chris.double 2011-04-11 17:15:45 -04:00
Ehsan Akhgari
19700d3af2 Backout changeset c51a334e99d9 (bug 638807) because of crashtest orange 2011-04-10 02:01:36 -04:00
Yury
07d8571fef Bug 638807 - Data race on nsBuiltinDecoder::mFrameBufferLength; r=chris.double 2011-04-09 23:35:12 -04:00
Chris Double
bf27fe5198 Bug 639721 - Fix data race on nsBuiltinDecoderReader::mInfo - r=kinetik
--HG--
extra : rebase_source : 5e58af70c75f563ae7dd7d62e3be897a3c244e85
2011-03-24 16:53:03 +13:00
Chris Pearce
7e89e95619 Bug 693391 - Pin nsMediaStream while determining buffered ranges. r=roc 2011-03-24 11:28:58 +13:00
Chris Pearce
2f263be1cb Bug 628665 - Supress warnings in nsBuiltinDecoderStateMachine. r=roc 2011-03-24 11:28:58 +13:00
Chris Pearce
edfec66da5 Bug 628665 - Exit media buffering state quicker if we entered it too soon after starting decode. r=roc 2011-03-24 11:28:57 +13:00