Commit Graph

33445 Commits

Author SHA1 Message Date
Andrea Marchesini
00a821edf6 Bug 1059215 - Get rid of nsIDOMFile::GetInternalUrl, r=bz 2014-08-27 17:16:31 +01:00
Randell Jesup
f4e1c39bb7 Bug 1057955: Stop the backend capture when the MSG track is stopped r=jib 2014-08-27 01:03:50 -04:00
Randell Jesup
029d04d8e4 Bug 1057955: Support MediaStreamTrack.stop() r=roc,smaug 2014-08-27 01:03:49 -04:00
Robert O'Callahan
8170bc9501 Bug 1057955: Adjust TrackUnion TrackID mapping to be 1:1 whenever possible with source tracks r=jesup,padenot 2014-08-27 01:03:49 -04:00
Jacek Caban
319bc9cc73 Bug 1042426 - Added --disable-sandbox option that disables building sandbox code. r=glandium 2014-08-27 16:32:55 +02:00
Blake Wu
b0b1364786 Bug 1057172 - Add one more length check for valid decoded frame. r=sotaro 2014-08-26 10:57:19 +08:00
JW Wang
1352a84f62 Bug 1057978 - do nothing in MediaDecoderStateMachine::Seek() while shutting down. r=cpearce 2014-08-25 00:58:00 +02:00
Chris Pearce
96c25b7728 Bug 1057171 - Implement MediaKeySession.getUsableKeyIds. r=bz 2014-08-27 20:46:56 +12:00
Chris Pearce
2e05a3f6ba Bug 1057170 - Update MediaKey* Uint8Arrays to be ArrayBuffer. r=bz 2014-08-27 20:46:56 +12:00
Chris Pearce
e753a1dd45 Bug 1057173 - Rename MediaKeyNeededEvent to MediaEncryptedEvent. r=bz
--HG--
rename : content/media/eme/MediaKeyNeededEvent.cpp => content/media/eme/MediaEncryptedEvent.cpp
rename : content/media/eme/MediaKeyNeededEvent.h => content/media/eme/MediaEncryptedEvent.h
rename : dom/webidl/MediaKeyNeededEvent.webidl => dom/webidl/MediaEncryptedEvent.webidl
2014-08-27 20:46:56 +12:00
Ahmed Kachkach
6b3a8a8b37 Bug 1057558 - Fix IPC test results not being reported in first iframe. r=drno 2014-08-26 15:53:00 +02:00
Alexandre Poirot
ba2baecf47 Bug 848954 - Disable webaudio tests on mulet on CLOSED TREE. r=jesup a=tomcat
--HG--
extra : amend_source : 448213f90bc8e4929aa1e98b2606d2c906cfba5e
2014-08-27 00:22:00 +02:00
Carsten "Tomcat" Book
cc333b7b8f Backed out changeset a7e4ef74441d (bug 1057955) for Crashtest failures (crashes/assertions) on a CLOSED TREE 2014-08-27 08:40:50 +02:00
Carsten "Tomcat" Book
ea7d74a01c Backed out changeset ef1c321a4a32 (bug 1057955) 2014-08-27 08:40:11 +02:00
Carsten "Tomcat" Book
3717cdb2c7 Backed out changeset 0edf5afdc13c (bug 1057955) 2014-08-27 08:40:09 +02:00
Randell Jesup
cb5632ec09 Bug 1057955: Stop the backend capture when the MSG track is stopped r=jib 2014-08-27 01:03:50 -04:00
Randell Jesup
485ac49e04 Bug 1057955: Support MediaStreamTrack.stop() r=roc,smaug 2014-08-27 01:03:49 -04:00
Robert O'Callahan
5031235171 Bug 1057955: Adjust TrackUnion TrackID mapping to be 1:1 whenever possible with source tracks r=jesup 2014-08-27 01:03:49 -04:00
Randell Jesup
e6fa29bd01 Bug 848954 - Part 32 - Disable MSG sleep. r=padenot
This has a race somewhere, so we disable it for now.

The real fix will come from the Web Audio API Suspend API [0]

[0]: https://github.com/WebAudio/web-audio-api/issues/317
2014-08-26 17:12:41 +02:00
Randell Jesup
4ce3c4269e Bug 848954 - Part 31 - Temporarily disable a web audio api test. r=padenot
This will be reenabled in bug 1058586
2014-08-26 17:04:39 +02:00
Randell Jesup
61652f721c Bug 848954 - Part 29 - Make the MSG in stable state event ref counted. r=padenot 2014-08-26 17:04:39 +02:00
Randell Jesup
fadcfae452 Bug 848954 - Part 29 - Make sure to clear the right boolean flag when dispatching a stable state event. r=padenot 2014-08-25 14:13:14 +02:00
Paul Adenot
2d2000e11a Bug 848954 - Part 28 - Properly stop the driver when shutting down the graph. r=jesup
(this was originaly present, probably caused by a bad rebase)
2014-08-26 17:04:38 +02:00
Paul Adenot
120af395c2 Bug 848954 - Part 28 - Allow to set a driver twice per iteration iff the second driver is an audio driver. r=jesup
This should not happen, but does. Somehow, we detect that there is no track with
audio in the graph, during the graph updates (after having ran the messages),
and then, during CreateOrDestroyAudioStream, there is a track with audio.
2014-08-26 17:04:38 +02:00
Paul Adenot
fe687bd537 Bug 848954 - Part 27 - Only attempt to sleep if the graph is still running. r=jesup 2014-08-26 17:04:36 +02:00
Paul Adenot
8c90fe46b5 Bug 848954 - Part 26 - Prevent a race when the MSG is going to sleep mode. r=roc 2014-08-26 17:02:31 +02:00
Paul Adenot
1f6d49a3b7 Bug 848954 - Part 25 - Add documentation on some driver's members. r=roc 2014-08-26 17:02:31 +02:00
Paul Adenot
f408b70e40 Bug 848954 - Part 24 - Clean up the clock getter, because the right thing is now done by the GraphDriver. r=roc 2014-08-26 17:02:31 +02:00
Paul Adenot
e2c00fc640 Bug 848954 - Part 23 - Refcount the AudioOutputObserver. r=jesup 2014-08-26 17:02:31 +02:00
Paul Adenot
a487cecd3f Bug 848954 - Part 22 - Port the osx panning code to live in the AudioCallbackDriver. r=jesup 2014-08-26 17:02:31 +02:00
Paul Adenot
2618f0a77f Bug 848954 - Part 21 - Fix sleep/wake up code for the MSG. r=roc 2014-08-26 17:02:30 +02:00
Paul Adenot
a3533d7c93 Bug 848954 - Part 20 - Remove the now useless DriverHolder class. r=roc 2014-08-26 17:02:28 +02:00
Paul Adenot
633b616eea Bug 848954 - Part 19 - Delete the mixer callbacks on removal. r=roc 2014-08-26 17:02:09 +02:00
Paul Adenot
86c51354d2 Bug 848954 - Part 18 - Start the thread after having processed the messages to make sure there are messages in the queue when processing starts. r=roc 2014-08-26 17:02:09 +02:00
Paul Adenot
2dc4962f29 Bug 848954 - Part 16 - Make AudioCallbackDriver respect the AudioChannelType. r=roc 2014-08-26 17:02:08 +02:00
Paul Adenot
4dffa09424 Bug 848954 - Part 15 - Allow an AudioCallbackDriver to sleep to save power. r=roc 2014-08-26 17:02:08 +02:00
Paul Adenot
a61c50b315 Bug 848954 - Part 14 - Run all blocking cubeb operations off-main-thread. r=roc 2014-08-26 17:02:07 +02:00
Paul Adenot
d73a6771b0 Bug 848954 - Part 13 - Add an RAII class to ensure another thread is not in the audio callback when shutting down. r=roc 2014-08-26 17:01:35 +02:00
Paul Adenot
94dff88eb5 Bug 848954 - Part 11 - When deciding to block a MediaStream due to a speculative data underrun, don't block if we have exactly the right number of frames buffered. r=roc 2014-08-26 17:01:35 +02:00
Paul Adenot
d410cae05a Bug 848954 - Part 10 - Add a MediaStreamGraph driver based on an audio callback. r=roc 2014-08-26 17:01:33 +02:00
Paul Adenot
64e239b778 Bug 848954 - Part 9 - Allow to pass in hints when getting a reference to a MediaStreamGraph to get the right driver started as soon as possible. r=roc
This is useful because some platform have rather slow audio stream
initialization time, especially the first time an audio stream is created for
the process.

We put in telemetry probes to measure that:
First stream opened for the process:
http://telemetry.mozilla.org/#filter=nightly%2F33%2FAUDIOSTREAM_FIRST_OPEN_MS&aggregates=multiselect-all!Submissions!Mean!5th%20percentile!25th%20percentile!median!75th%20percentile!95th%20percentile&evoOver=Builds&locked=true&sanitize=true&renderhistogram=Graph

Subsequent streams:
http://telemetry.mozilla.org/#filter=nightly%2F33%2FAUDIOSTREAM_LATER_OPEN_MS&aggregates=multiselect-all!Submissions!Mean!5th%20percentile!25th%20percentile!median!75th%20percentile!95th%20percentile&evoOver=Builds&locked=true&sanitize=true&renderhistogram=Graph
2014-08-25 15:27:25 +02:00
Paul Adenot
499c632d13 Bug 848954 - Part 8 - Implement classes to ensure safe audio buffer manipulation. r=roc 2014-08-25 15:26:34 +02:00
Paul Adenot
5856b1e3a4 Bug 848954 - Part 7 - Get rid of the stack allocated message queue. r=roc
In the next patches, when the AudioDriver will be implemented, the audio backend
thread (that we don't control), will return from the stack frame where the
nsTArray that allows the MSG thread to exchange message queues in a efficient
manner with the main thread. We put it in the MediaStreamGraph to avoid adding
an allocation/deallocation per iteration on the MSG thread.

In addition, the graph will be able to run on different threads during its
lifetime, so we can't guarantee a stable stack frame to allocate things on
anymore.

The array are renamed with meaningful names, explaining the double-buffering
pattern: the back queue is filled by the main thread, and is swapped with the
front queue that is processed by the MSG thread.

Arrays accesses are synchronized using the driver's monitor.
2014-08-25 15:26:21 +02:00
Paul Adenot
bf1afe6d99 Bug 848954 - Part 6 - Put cubeb-related static functions in their own file. r=kinetik 2014-08-25 15:26:09 +02:00
Paul Adenot
735258f143 Bug 848954 - Part 5 - Mix down all audio and only output a single stream. r=roc 2014-08-25 15:25:49 +02:00
Paul Adenot
7e987d0735 Bug 848954 - Part 4 - Factor behavior for drivers that manage their thread. r=roc 2014-04-25 18:04:53 +02:00
Paul Adenot
f6e2e2b753 Bug 848954 - Part 3 - Separate interval time calculation and actual processing, and give an audio-callback compatible interface to the Process function. r=roc 2014-04-25 18:04:23 +02:00
Paul Adenot
abc95a4adc Bug 848954 - Part 2 - Put the thread management in the driver. r=roc 2014-04-25 18:03:04 +02:00
Paul Adenot
f4c5b13dbd Bug 848954 - Part 1 - Factor out clocks and scheduling of MSG iterations. r=roc 2014-04-25 16:09:30 +02:00
Paul Adenot
6010fdc4cd Bug 989921 - Allow the MediaStreamGraph mixer to send data back to multiple consumers. r=jesup 2014-08-25 14:13:08 +02:00