Commit Graph

201546 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
d716c30b2f Backed out changeset 5a044fb75b4b (bug 1036653) 2014-08-27 09:20:35 +02:00
Carsten "Tomcat" Book
920b1edf3c Backed out changeset 79d402a25984 (bug 1036653) 2014-08-27 09:20:32 +02:00
Carsten "Tomcat" Book
a8d6b89a03 Backed out changeset 8328bc2054d1 (bug 1058944) 2014-08-27 09:20:14 +02:00
Carsten "Tomcat" Book
6a55c0aec3 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
75c2551865 Backed out changeset ef1c321a4a32 (bug 1057955) 2014-08-27 08:40:11 +02:00
Carsten "Tomcat" Book
35276ee64f Backed out changeset 0edf5afdc13c (bug 1057955) 2014-08-27 08:40:09 +02:00
Matthew A. Miller
41e73be4c2 Bug 1058944 - Crash in webrtc::ViEInputManager::CreateCaptureDevice r=jesup 2014-08-26 17:10:42 -06:00
Matthew A. Miller
2fc1298da9 Bug 1036653 - fix missing includes in shared_x_util, r=jesup 2014-08-25 13:42:21 -06:00
Matthew A. Miller
05d3690220 Bug 1036653 - X11-specific support, r=rjesup,gcp 2014-08-20 15:49:28 -06:00
Matthew A. Miller
66cf58c269 Bug 1036653 - Windows-specific support for app sharing, r=jesup,jimm 2014-08-21 11:24:15 -06:00
Matthew A. Miller
7977ce94ee Bug 1036653 - Mac-specific support for app sharing, r=jesup,gcp 2014-08-20 16:05:59 -06:00
Matthew A. Miller
980bd450ec Bug 1036653 - updates to basic framework for app sharing, r=jesup,gcp 2014-08-20 16:05:23 -06:00
Matthew A. Miller
932d84d992 Bug 1036653 - changes to webrtcUI to support applications r=florian 2014-08-19 13:05:39 -06:00
Nicholas Nethercote
9ada84d5a5 Bug 1058335 (part 2) - Remove unneeded comments and always-ignored warnings about chaining. r=roc.
--HG--
extra : rebase_source : d96d6beabd48da66ae991274b66e93f5d193c61e
2014-08-25 17:43:57 -07:00
Nicholas Nethercote
ff98b37df5 Bug 1058335 (part 1) - Used |mFoo| form for PLDHashTable's private members. r=roc.
--HG--
extra : rebase_source : d5aed65f2c9dcbe288062599282e71ed458872bf
2014-08-25 17:29:14 -07:00
Randell Jesup
7825fcc830 Bug 1058829: enable users to enable window/screensharing on WinXP and 10.6 via pref r=jib 2014-08-27 01:09:38 -04:00
Jan-Ivar Bruaroey
29092024ce Bug 1032839 - update RtpSender.track when replaceTrack succeeds r=jesup 2014-08-26 19:31:51 -04:00
Randell Jesup
2c65768ded Bug 1057955: Stop the backend capture when the MSG track is stopped r=jib 2014-08-27 01:03:50 -04:00
Randell Jesup
3cf28a0949 Bug 1057955: Support MediaStreamTrack.stop() r=roc,smaug 2014-08-27 01:03:49 -04:00
Robert O'Callahan
cab8e88478 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
Douglas Crosher
293d1f43ee Bug 1041079 - IonMonkey: guard against there being no TLS PerThreadData when flushing the icache. r=luke 2014-08-12 11:17:49 +10:00
Timothy Nikkel
3d9579c0cd Bug 1051531. When requesting decode of an image and not asking for some synchronous decoding check is some bytes have been decoding before acquiring the lock in order to avoid waiting on the decoding thread. r=seth
We also need to move the check for if there is work done and subsequent FinishedSomeDecoding call to before acquiring the lock so that we notify if there is work done to notify about.

The pointer value of mDecodeRequest can only be changed on the main thread (and we are on the main thread). It's okay to read the request status without locking it, if the request status changes it shouldn't cause any problems since this FinishedSomeDecoding call is just an optimization.
2014-08-26 23:02:10 -05:00
Ralph Giles
ecfb261d77 Bug 1043696 - Enable fragmented mp4 on osx for HTML video. r=cpearce 2014-08-26 13:58:00 -07:00
Randell Jesup
5d75646bd9 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
ba39d0e7ab 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
7dc8dd9b1e 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
709c9d60a7 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
4d9c2e35fb 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
1e9aca6c1d 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
e8039f0369 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
031bd0f622 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
621ed597e2 Bug 848954 - Part 25 - Add documentation on some driver's members. r=roc 2014-08-26 17:02:31 +02:00
Paul Adenot
e686bd4763 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
5f32ebf427 Bug 848954 - Part 23 - Refcount the AudioOutputObserver. r=jesup 2014-08-26 17:02:31 +02:00
Paul Adenot
0b444838eb 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
6628654530 Bug 848954 - Part 21 - Fix sleep/wake up code for the MSG. r=roc 2014-08-26 17:02:30 +02:00
Paul Adenot
7846782ef2 Bug 848954 - Part 20 - Remove the now useless DriverHolder class. r=roc 2014-08-26 17:02:28 +02:00
Paul Adenot
f871e58c1b Bug 848954 - Part 19 - Delete the mixer callbacks on removal. r=roc 2014-08-26 17:02:09 +02:00
Paul Adenot
6da931e7d6 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
c48a9d66e7 Bug 848954 - 17 - Increase the size of the stack for the audio threads on Windows. r=kinetik 2014-08-26 17:02:08 +02:00
Paul Adenot
c66ac1d38b Bug 848954 - Part 16 - Make AudioCallbackDriver respect the AudioChannelType. r=roc 2014-08-26 17:02:08 +02:00
Paul Adenot
3bfd993eac Bug 848954 - Part 15 - Allow an AudioCallbackDriver to sleep to save power. r=roc 2014-08-26 17:02:08 +02:00
Paul Adenot
ee5c66a26b Bug 848954 - Part 14 - Run all blocking cubeb operations off-main-thread. r=roc 2014-08-26 17:02:07 +02:00
Paul Adenot
12a686451d 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
2b1a855d81 Bug 848954 - Part 12 - Make sure COM is initialized when calling into WASAPI functions. r=kinetik 2014-08-26 17:01:35 +02:00
Paul Adenot
5b06f66f01 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
6c0f9e38fb 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
b76a30bb3f 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
159e08eece Bug 848954 - Part 8 - Implement classes to ensure safe audio buffer manipulation. r=roc 2014-08-25 15:26:34 +02:00
Paul Adenot
679fac5442 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