Commit Graph

1064 Commits

Author SHA1 Message Date
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
29461b55a1 Bug 779715. Part 7: Update test_streams_element_capture_reset.html to test new functionality. r=cpearce
test_streams_element_capture_reset.html is updated to test that mozCaptureStreamUntilEnded actually stops
capturing when the stream ends. It also tests that seeking and reloading the media resource keep
feeding a mozCaptureStream stream, and feed the right amount of data.

--HG--
extra : rebase_source : 6d9e9631516cebbde148d301050c388e0e0019a8
2012-08-20 16:57:12 +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
Robert O'Callahan
93e5998248 Bug 779715. Part 4: Play all tracks of a media stream with multiple tracks. r=jesup
Until now we've identified the "first active track" of a stream and played only that. Instead,
it makes more sense to play all the tracks.
For video, we pick the last track that has a video frame for the current time, and display that.

--HG--
extra : rebase_source : 00ce3eb363df06c292232aa507e861639d10cff2
2012-08-01 00:17:22 +12:00
Robert O'Callahan
93fd59abf0 Bug 779715. Part 3: Add an API to get notifications of changes to the main-thread-visible state of a MediaStream. r=jesup
--HG--
extra : rebase_source : 24b7204d219612760b9d159fff5219c1960df51a
2012-08-20 16:20:44 +12:00
Robert O'Callahan
1bb17fbf04 Bug 779715. Part 2: Create TrackUnionStream. r=jesup
--HG--
extra : rebase_source : 29038fa1b93dcade3d762537bf510dc0901a9738
2012-08-01 00:17:21 +12:00
Robert O'Callahan
925835b996 Bug 779715. Part 1: Add basic support for ProcessedMediaStreams. r=jesup
The main thing this patch does is to add ProcessedMediaStream objects and
MediaInputPorts connecting streams. ProcessedMediaStreams are an abstract
class that doesn't constrain what processing is actually performed, except
that for now we assume a stream's processing depends only on its inputs
window of data between mCurrentTime and mStateComputedTime.
This patch reorganizes the way the blocking status of each stream is computed.
The streams are partitioned into groups so that every stream which can affect
the blocking status of another stream is in the same group as that other stream.
We also add a pass to order the streams by dependency so we can process the streams
in order of dependency; this pass also identifies the streams that form part of a
cycle.

--HG--
extra : rebase_source : c45c931a264e73f295642a934500bbeaa6448774
2012-08-01 00:17:21 +12:00
Matthew Gregan
48474f4d83 Bug 783940 - Remove unnecessary nsOggDecoderStateMachine class. r=cpearce 2012-08-20 15:59:25 +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
Matt Woodrow
7591d1ef12 Bug 782372 - Fix clang build. r=nical 2012-08-20 14:39:10 +12:00
Matthew Gregan
a1936af774 Bug 780490 - Re-enable test_seek, test_seek_out_of_range, and test_timeupdate_small_files on Linux. (Also bug 780491 and bug 780492). Test only. 2012-08-20 12:10:05 +12:00
Nicolas Silva
047b99ba78 Bug 782372 - Splits ImageLayers.h into ImageLayers.h ImageContainer.h and ImageTypes.h, r=bgirard 2012-08-19 15:33:25 -04:00
Chris Jones
d0eff0d38b Bug 776069: Disable remote audio for gonk. Sigh. r=kinetik 2012-08-18 16:14:37 -07:00
Ed Morley
46062461e7 Bug 608634 - Disable test_error_in_video_document.html for too many intermittent failures; r=philor 2012-08-18 23:59:34 +01:00
Paul Adenot
80b3876f46 Bug 762282 - Don't notify the HTMLMediaElement if we reach the end of the media while seeking for metadata. r=chris.double 2012-08-17 10:01:08 -07:00
Matthew Gregan
25a5e3ddb3 Bug 782876 - Remove unnecessary returns from event handlers in media tests. r=doublec 2012-08-15 16:41:24 +12:00
Matthew Gregan
2c8e9d8fe6 Bug 770945 - Simple media events shouldn't be cancelable. r=roc 2012-08-14 15:26:43 +12:00
Ehsan Akhgari
805b10b6d6 Merge removal of nsnull 2012-08-14 11:29:00 -04:00
Aryeh Gregor
6a9cec29c8 Bug 626472 part 3 - Remove nsnull for good; r=ehsan 2012-08-12 13:43:47 +03:00
Alexandros Chronopoulos
b42d0e9db4 Bug 748144 - Support multichannel Opus files. r=rillian
The Opus audio format supports multichannel (surround) audio, but our initial implementation used a simpler API which only supported mono and stereo output.

To handle these files gracefully, this patch uses the multichannel api and downmixes the output, if possible, to stereo, since we don't currently support surround sound playback.
2012-08-09 15:53:23 -07:00
Honza Bambas
541453729c Bug 215450: Allow uploading of files greater than 2gb in size. Involves making input streams 64-bit capable. Significant work done by Makoto Kato, finished by Honza Bambas. r=hbambas,bsmedberg,jdrew,sicking 2012-08-10 22:44:11 -04:00
Nicolas Silva
d0d69183bb Bug 773469 - Remove unnecessary layer transactions when using async-video. r=roc 2012-08-10 11:42:53 -04:00
Chris Double
a398908995 Bug 759945 - Part 4: MP4 test file - r=cpearce
--HG--
extra : rebase_source : 0aa155c4ebc60ddc8afe720161af345c555897a8
2012-08-10 20:15:24 +12:00
Chris Double
4e22a0f0ae Bug 759945 - Part 3: Android OS headers and stub files for software decoding using libstagefright on Android - r=cpearce
--HG--
extra : rebase_source : 0f5b9fed7dac3040a98af6dcc324407c4f8a9772
2012-08-10 20:15:20 +12:00
Chris Double
2e4abce09a Backed out changeset dcb9299974a0 due to audio issues on android and b2g
--HG--
extra : rebase_source : 7e2b937487c3df9a40406eadf250e6596b89664f
2012-08-10 17:30:01 +12:00
Aryeh Gregor
0923bf00ef Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Ed Morley
afd5340800 Merge mozilla-central to mozilla-inbound 2012-08-09 12:51:21 +01:00
Ed Morley
61bd42dc2d Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-08-09 12:46:05 +01:00
Robert O'Callahan
c686385674 Bug 779721. Part 6: Add a flag to track whether the main thread has called Destroy on a stream, and check that flag when sending a message to it. r=jesup 2012-08-09 23:30:09 +12:00
Robert O'Callahan
fd80974897 Bug 779721. Part 5: Add a comment explaining more about how MediaStream lifetimes are managed. r=jesup 2012-08-09 23:30:02 +12:00
Ms2ger
26217245c9 Bug 780387 - Part f: Stop using PRBool & PRPackedBool; r=bsmedberg 2012-08-09 09:10:13 +02:00
Ed Morley
66bb79039e Backout ec46cfa51bf8, 4a54f06efee8, de811fbd27b0 & 67ea1314c777 (bug 567077) for causing bug 781141 2012-08-08 13:11:34 +01:00
Robert O'Callahan
e768bf4202 Bug 779721. Part 4: Fix lock ordering inversion when running control messages during a forced shutdown. r=jesup 2012-08-01 00:17:22 +12:00
Robert O'Callahan
59bc291b5c Bug 779721. Part 3: Don't clean up streams on the MediaGraph thread during a forced shutdown. r=jesup
This is actually a better fix for bug 774597. We can rely on main thread code to call
Destroy on all the MediaStreams normally. These Destroy calls can be handled even when the
MediaGraph thread has been shut down, since MediaStreamGraphImpl::AppendMessage will
call RunDuringShutdown on the Destroy messages.
2012-08-09 23:29:47 +12:00
Robert O'Callahan
8b8f22d97d Bug 779721. Part 2: Don't block a stream just because it has no consumers. r=jesup
There is actually no reason to do this.
2012-08-01 00:17:21 +12:00
Robert O'Callahan
dbd1d7313b Bug 779721. Part 1: Simplify MediaStreamGraph's invariants around when messages are processed. r=jesup
Rename mBlockingDecisionsMadeUntilTime to mStateComputedTime. The invariant is that
all graph state is known up to mStateComputedTime but not beyond it (except for some
stream contents that may be buffered beyond it).
Get rid of mMessageAffectedTime and all the code around computing "affected times" and "action times".
Instead, all messages take effect at mStateComputedTime.
Get rid of the two-phase execution of messages. Everything can just happen in a single Run() method.
2012-08-01 00:17:21 +12:00
Bobby Holley
364da93593 Bug 778420 - Fix up tests that don't like the new enablePrivilege. r=jmaher
--HG--
extra : rebase_source : 1158df4a4eb917074204e649efd8f2b8e699f115
2012-08-03 22:19:54 +02:00
Paul Adenot
1f5d1a1b84 Bug 567077 - Sniff types of media files that are served with no Content-Type -- Tests r=cpearce 2012-08-07 15:56:25 -07:00
Paul Adenot
8ebb59c77f Bug 567077 - Avoid sniffing when recreating a channel. r=cpearce 2012-08-07 15:56:01 -07:00
Paul Adenot
6d3ce88e68 Bug 567077 - Sniff types of media files that are served with no Content-Type r=cpearce 2012-08-07 15:54:30 -07:00
Paul Adenot
0f3392ee19 Bug 775319 - Determine the sample format at compile time for all media code. r=kinetik
--HG--
extra : rebase_source : 4e8a2a4544895c9234ccd3992e1cafe82b8cf365
2012-08-07 16:01:02 -07:00
Paul Adenot
9d2a917ec5 Bug 778902 - When a video finished playing, "pause" should be fired, and |paused| should be true. r=cpearce
--HG--
extra : rebase_source : 2866707bd6b61d0225952ff49b858011d79e04ed
2012-08-06 10:27:55 -07:00
Paul Adenot
4b10295c06 Bug 774084 - Fix a crash in nsBuiltinDecoder::GetSeekable. r=kinetik
--HG--
extra : rebase_source : f05e051cc9ab850381d138e944f2cc3ea5b3e2f7
2012-07-15 10:57:41 -07:00
Matthew Gregan
e274db737a Bug 779187 - Fix nsBufferedAudioStream's sample format selection for big endian machines. r=doublec 2012-08-06 15:26:41 +12:00
David Zbarsky
d50e4a7565 [Bug 780428] Don't include nsIFrame.h in places where it's not necessary r=roc 2012-08-05 23:00:56 -04:00
Mike Hommey
6173fa297f Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Ed Morley
f55d9d2db2 Bug 760770 - Mark test_timeupdate_small_files.html's "got unexpected stalled after ended" as todo for seek.webm, for frequent intermittent failures; r=cpearce 2012-08-03 11:28:12 +01:00
Ed Morley
1175eb7c52 Bug 620598, Bug 661076 & Bug 687972 - Disable frequently intermittent media tests on Linux; r=cpearce 2012-08-03 11:28:12 +01:00
Robert O'Callahan
84ab035abb Bug 646331. Specify correct duration for 320x240.ogv. r=cpearce 2012-08-03 15:22:24 +12:00
Matthew Gregan
fc44cc213c Bug 779412 - Iterate over correct test array in test_info_leak. r=cpearce 2012-08-01 17:58:09 +12:00