Karl Tomlinson
7a48a1f657
b=914030 shut down an AudioDestinationNode's graph on destruction, if not already r=ehsan
...
This means that the graph will be shutdown properly, even if the
AudioDestinationNode is unlinked before AudioContext::Shutdown() is called.
Making MediaStreamGraph::DestroyNonRealtimeInstance() idempotent also makes
AudioContext::Shutdown() idempotent.
--HG--
extra : transplant_source : jZ%86%C5%C2n%17%EF%C2%C0y%ED%14%0E%17_dt%0C%07
2013-09-10 17:05:22 +12:00
Ehsan Akhgari
143454cc1a
Bug 912702 - Minimize the #includes in content/media; r=roc
2013-09-05 16:25:17 -04:00
Ehsan Akhgari
92ad73ef93
Backed out changeset 2f15518f566e (bug 912702) because of B2G JB Emulator build bustage
...
--HG--
extra : rebase_source : 6c01ad3bc2f91b0e7e3edab84aedbfe064310a8b
2013-09-05 13:29:38 -04:00
Ehsan Akhgari
be1e68caf3
Bug 912702 - Minimize the #includes in content/media; r=roc
2013-09-04 17:58:14 -04:00
Randell Jesup
31b3d54567
Bug 909187: Part 1-Refactor MediaStreamTrack disabling so we can call it directly and access from other threads r=roc (reland)
2013-08-26 02:07:17 -04:00
Wes Kocher
be6c9d6c51
Backed out 2 changesets (bug 909187)
...
Backed out changeset 79b1a4a62635 (bug 909187)
Backed out changeset 0601038e2a31 (bug 909187)
2013-08-26 02:29:55 -07:00
Randell Jesup
c0dd7b1862
Bug 909187: Part 1-Refactor MediaStreamTrack disabling so we can call it directly and access from other threads r=roc
2013-08-26 02:07:17 -04:00
Randell Jesup
58feac255e
Bug 884365: Deliver gUM data directly to PeerConnection to avoid delay buildup and resampling r=roc
2013-08-24 09:53:11 -04:00
Randell Jesup
1d408c2924
Bug 884365: Add method to return the amount of buffered data on a SourceMediaStream r=roc
2013-08-24 09:53:01 -04:00
Robert O'Callahan
0d79f2baf9
Bug 902197. Don't allow multiple MediaStreams to share the same DOMMediaStream wrapper. r=ehsan
...
--HG--
extra : rebase_source : 60de0aaff391bcabae6c281036e4ab82589e2707
2013-08-07 10:14:35 +12:00
Robert O'Callahan
3f1bcdc18d
Bug 856361. Part 6: Make MediaStreamAudioSourceNode keep its DOMMediaStream alive, and make the DOMMediaStream keep the MediaStreamAudioSourceNode alive. r=ehsan
...
--HG--
extra : rebase_source : 0e3b5108d8ced8b1f1f427c9fd4f87e97c46921d
2013-07-25 14:07:34 +12:00
secretrobotron
4535b91abc
Bug 856361. Part 5: Implement MediaStreamAudioSourceNode. r=ehsan
...
--HG--
extra : rebase_source : 265f31edda31a2f749eacc568919304622446748
2013-07-24 23:29:39 +12:00
Robert O'Callahan
107806bd3b
Bug 856361. Part 3: Refactor AudioNodeStream to create ComputeFinalOuputChannelCount, AccumulateInputChunk and AdvanceOutputSegment, and make AudioNodeStreams be treated as always consumed by the MediaStreamGraph. r=ehsan
...
--HG--
extra : rebase_source : ef176c629f16a00042d2a281bfffbe75c31d6002
2013-07-24 22:11:35 +12:00
Robert O'Callahan
4108f3f1ec
Bug 878015. Make RoundUpToAudioBlock always advance to the next audio block. r=padenot
...
--HG--
extra : rebase_source : d931a0f144579bd7f7f57bd9e2c7d4ecc1700b27
2013-08-02 21:27:58 +12:00
Paul Adenot
c1209fd32c
Bug 882543 - Use a linked list for ordering stream instead of an array. r=ehsan
2013-07-19 16:40:58 +02:00
Paul Adenot
8978ed9178
Bug 882543 - Register the MSG thread for in the profiler. r=benwa
2013-07-19 16:40:57 +02:00
Paul Adenot
3f5580c2da
Bug 882543 - Don't spam the main thread when rendering an offline graph. r=ehsan,roc
2013-07-19 16:40:57 +02:00
Paul Adenot
3a1bbd5d18
Bug 882543 - Actually run offline MSG offline. r=roc
2013-07-19 16:40:57 +02:00
Paul Adenot
77d11314c9
Bug 882543 - Retain storage for media streams accross iterations instead of reallocating. r=jlebar,roc
2013-07-19 16:40:56 +02:00
Robert O'Callahan
56ffa35ac0
Bug 890248. Avoid situations where adding a new input to an AudioNode can race with a message telling the AudioNode to release its mPlayingRef. r=ehsan
...
--HG--
extra : rebase_source : 913683cc16a717bf73f9976292af965aba6b7758
2013-07-05 13:49:53 +12:00
Justin Lebar
6c46d0633d
Bug 820686 - Remove code after MOZ_CRASH or MOZ_ASSUME_NOT_REACHED. r=(see below)
...
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=waldo for js
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
2013-06-28 18:38:32 -07:00
Justin Lebar
75c400493b
Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
...
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
This is a mechanical change made with sed. Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Paul Adenot
6ee09460b3
Bug 884459 - Do not check mCurrentTaskMessageQueue's emptiness needlessly; r=ehsan
2013-06-21 22:07:39 +02:00
Ehsan Akhgari
59b2836b47
Bug 883011 - Optimize PrepareUpdatesToMainThread to avoid re-allocating memory as much as possible; r=roc
2013-06-18 23:10:04 -04:00
Ehsan Akhgari
e15c82a1f2
Bug 884632 - Optimize MediaStreamGraphImpl::PrepareUpdatesToMainThreadState in order to only include AudioNodeStreams that the main thread is interested in; r=roc
2013-06-18 23:09:44 -04:00
Ehsan Akhgari
2597f4b33d
Backed out changeset 07708c9fc5ef (bug 883010) because of test failures
...
Landed on a CLOSED TREE
2013-06-17 13:13:08 -04:00
Ehsan Akhgari
80d5ef963a
Bug 883010 - Part 1: Optimize MediaStreamGraphImpl::UpdateStreamOrder in order to optimize away how much time we spend on it in every iteration of the MSG; r=roc
...
--HG--
extra : rebase_source : 4af5f42054407ad42ebe1752e01178d454c865ed
2013-06-17 11:29:47 -04:00
Ehsan Akhgari
6b0129c018
Bug 883010 - Part 2: Don't bombard the main thread with MSG update messages which are not going to result in any actual work; r=roc
2013-06-17 09:06:34 -04:00
Josh Matthews
9ea183ce8d
Bug 865257 - Implement MediaStreamAudioDestinationNode. r=ehsan,roc
2013-05-21 15:17:47 -04:00
Mike Habicher
a4ff9b75f8
Bug 879478 - fix regressions when starting camera (crash and de-virtualized functions -- see also bug 880780), r=roc
2013-06-10 15:01:19 -04:00
Ehsan Akhgari
6f0d7033ca
Bug 876273 - Only attempt to delete the media graph when the last stream goes away if we're waiting for all streams to be destroyed; r=roc
2013-05-30 20:53:51 -04:00
Robert O'Callahan
cc51ef48ef
Bug 868405. Support 'enabled' attribute on MediaStreamTrack. r=jesup
...
--HG--
extra : rebase_source : ec29ae2e45979baaf1b6a085549755ba86cadd40
2013-05-30 16:44:43 +12:00
Ehsan Akhgari
de94a9e96b
Bug 875221 - Make sure to balance the creation and destruction of streams for media graphs; r=roc
2013-05-29 11:38:39 -04:00
Ehsan Akhgari
ac9c045ad1
Bug 875402 - Delete MediaInputPort objects using normal refcounting semantics; r=roc
2013-05-25 10:01:08 -04:00
Ehsan Akhgari
3f01774938
Bug 875911 - Clean up OfflineAudioContexts which have never been rendered; r=roc
2013-05-25 09:59:59 -04:00
Ehsan Akhgari
d418ca71a3
Backed out changeset dc96b4762676 (bug 875402) because of crashtest leaks
2013-05-24 15:28:28 -04:00
Ehsan Akhgari
22b9d20d59
Bug 873553 - Part 2: Teach each AudioNodeStream about its sampling rate, and store the value inside AudioContext; r=roc
...
--HG--
extra : rebase_source : beed6a6f965acdff307b7d4861d5f336c224d498
2013-05-24 13:09:29 -04:00
Ehsan Akhgari
b70a070b62
Bug 875402 - Do the work for initializing a MediaInputPort even if the message is handled during graph shutdown; r=roc
2013-05-24 12:53:41 -04:00
Ehsan Akhgari
d2c63bc836
Bug 836599 - Part 12: Fix the lifetime management of the Web Audio graph in presence of OfflineAudioContexts; r=roc
...
Here we make the non-realtime graphs to go to sleep until they're shut down
from the main thread. This allows us to use the common forced shutdown code
path in MediaStreamGraphImpl::RunThread. We also need to delete the graph
object when the last message is dispatched to it.
In addition, we need to make sure that the AudioNodes also get released when
they're no longer needed. To do this, we need for force the SelfReference of
AudioBufferSourceNodes to be released when the context is shut down, and also
trigger the destruction of the graph there.
2013-05-16 19:31:08 -04:00
Ehsan Akhgari
a8cb458faf
Bug 836599 - Part 8: Add a non-realtime media graph API to produce a given number of ticks; r=roc
2013-05-16 19:30:41 -04:00
Randell Jesup
cd37853e8c
Bug 870002: move data-processing debugs in MSG to level 5 to allow granular logging r=roc
2013-05-09 02:05:03 -04:00
Ehsan Akhgari
9cb96b3472
Bug 836599 - Part 7: Implement a non-realtime API in MediaStreamGraph; r=roc
2013-05-08 07:44:07 -04:00
Robert O'Callahan
ae6ba16f63
Bug 868406. Shut down MediaStreamGraph's thread. r=jesup
...
--HG--
extra : rebase_source : 0d5801b271d1658dba172cb5b156186052651990
2013-05-07 22:16:35 -07:00
Robert O'Callahan
9faaae5b1a
Bug 866514. Part 1: Add DOMMediaStream::OnTracksAvailableCallback. r=jesup
...
--HG--
extra : rebase_source : 8d8da0bc2a55fa14f837cb85f35236ca33d2437d
2013-05-03 17:02:55 +12:00
Ehsan Akhgari
14aa167f4e
Bug 865247 - Part 1: Give MediaInputPort the notion of an input and output port number; r=roc
2013-05-05 11:47:36 -04:00
Ms2ger
c74b574718
Backout changesets f309dacf4010:be3cef4b69e3 for thread safety assertions on Windows and test failures on OSX.
2013-05-05 11:51:47 +02:00
Robert O'Callahan
354566db70
Bug 868406. Shut down MediaStreamGraph's thread. r=jesup
2013-05-05 18:20:11 +12:00
Robert O'Callahan
9fcec03506
Bug 866514. Part 1: Add DOMMediaStream::OnTracksAvailableCallback. r=jesup
2013-05-03 17:02:55 +12:00
Ehsan Akhgari
1cff2c39cc
Bug 866434 - Part 2: Give each AudioParam that is connected to an AudioNode an AudioNodeStream; r=roc
...
These MediaStreams are used as a way to down-mix the input AudioChunks, and
also as a way to get proper stream processing ordering. The MediaStream for
the source AudioNode is an input to these streams, and these streams in turn
are inputs to the MediaStream that the AudioNode that owns the AudioParam owns.
This way, the Media Streams Graph processing code will order the streams so
that by the time that the MediaStream for a given node is processed, all of the
MediaStreams belonging to the AudioNode(s) feeding into the AudioParam have
been processed.
This has a tricky side-effect that those streams also being considered when
determining the input block for the AudioNodeStream belonging to the
AudioParam's owner AudioNode. In order to fix that, we simply special case
those streams and make AudioNodeStream::ObtainInputBlock ignore them.
2013-05-01 21:02:31 -04:00
Ehsan Akhgari
6b4953320e
Bug 865234 - Part 2: Send the channel mixing information to the AudioNodeStream; r=roc
2013-04-27 19:25:23 -04:00