Ehsan Akhgari
cfd4629d99
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
64eba24b0f
Bug 868405. Support 'enabled' attribute on MediaStreamTrack. r=jesup
...
--HG--
extra : rebase_source : ec29ae2e45979baaf1b6a085549755ba86cadd40
2013-05-30 16:44:43 +12:00
Ehsan Akhgari
fd9088c5e1
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
ee46ea7758
Bug 875402 - Delete MediaInputPort objects using normal refcounting semantics; r=roc
2013-05-25 10:01:08 -04:00
Ehsan Akhgari
6692ca8d19
Bug 875911 - Clean up OfflineAudioContexts which have never been rendered; r=roc
2013-05-25 09:59:59 -04:00
Ehsan Akhgari
0ddc1881c1
Backed out changeset dc96b4762676 (bug 875402) because of crashtest leaks
2013-05-24 15:28:28 -04:00
Ehsan Akhgari
d0bcd953b7
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
be5a9d6aef
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
e5e74aa411
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
aecaa516ae
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
bc8d616d6a
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
01f8840085
Bug 836599 - Part 7: Implement a non-realtime API in MediaStreamGraph; r=roc
2013-05-08 07:44:07 -04:00
Robert O'Callahan
ae47081ea9
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
1a83121546
Bug 866514. Part 1: Add DOMMediaStream::OnTracksAvailableCallback. r=jesup
...
--HG--
extra : rebase_source : 8d8da0bc2a55fa14f837cb85f35236ca33d2437d
2013-05-03 17:02:55 +12:00
Ehsan Akhgari
68870fa8ce
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
fe38e416ee
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
dc425a880b
Bug 868406. Shut down MediaStreamGraph's thread. r=jesup
2013-05-05 18:20:11 +12:00
Robert O'Callahan
640305cda9
Bug 866514. Part 1: Add DOMMediaStream::OnTracksAvailableCallback. r=jesup
2013-05-03 17:02:55 +12:00
Ehsan Akhgari
670b091738
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
9c26dbc68f
Bug 865234 - Part 2: Send the channel mixing information to the AudioNodeStream; r=roc
2013-04-27 19:25:23 -04:00
Ehsan Akhgari
be9574366b
Bug 864709 - Part 1: Hold a strong reference to the AudioNodeStream before calling ProduceOutput on it; r=padenot
2013-04-24 11:52:16 -04:00
Ehsan Akhgari
51c4aebe76
Bug 834513 - Part 3: Implement ScriptProcessorNode; r=roc
2013-04-13 21:37:04 -04:00
Randell Jesup
891656c111
Bug 845741: Set mUpdateFinished under lock r=roc
2013-04-08 08:03:33 -04:00
Robert O'Callahan
3490a03af3
Bug 850587. Part 2: Make NotifyHasCurrentData fire when a stream would be able to produce data if it was not blocked. r=jesup
...
Also removes NotifyHasCurrentData's boolean parameter; we just fire this
once and treat a stream that has once had current data as always
having current data (since we block a stream that would advance
beyond its available data).
2013-03-21 00:19:39 +13:00
Ehsan Akhgari
60ab45fb40
Bug 851966 - Only store the produced AudioChunks for AudioNodeStreams that will result in playback; r=roc
2013-03-17 20:37:47 -04:00
Randell Jesup
82afed2e43
Bug 839650: Add debugs to MediaStreamGraph to ease investigation of issues in the future r=roc
2013-03-07 03:53:45 -05:00
Ed Morley
f16c99acd7
Backed out changeset be1ee54becf4 (bug 839650) for build failures
2013-03-07 09:10:47 +00:00
Randell Jesup
1d6e4a068a
Bug 839650: Add debugs to MediaStreamGraph to ease investigation of issues in the future r=roc
2013-03-07 03:53:45 -05:00
Randell Jesup
a6d2f2247d
Bug 846103: Make MediaStream::RemoveListener() callable on Destroy()ed streams r=roc
2013-02-28 14:53:38 -05:00
Robert O'Callahan
d2391664ce
Bug 843214. Make SourceMediaStream::AddTrack/AppendToTrack/HaveEnoughBuffered/DispatchWhenNotEnoughBuffered/EndTrack smoothly handle cases where track does not exist. r=jesup
2013-02-25 22:25:07 +13:00
Ed Morley
48a74b755b
Backed out changeset dba7a059ed22 (bug 843214)
2013-02-27 12:49:26 +00:00
Robert O'Callahan
de4bc36a35
Bug 843214. Make SourceMediaStream::AddTrack/AppendToTrack/HaveEnoughBuffered/DispatchWhenNotEnoughBuffered/EndTrack smoothly handle cases where track does not exist. r=jesup
...
--HG--
extra : rebase_source : adcfa0e92b5e498c597e16e013fdcba2dae4b8e5
2013-02-25 22:25:07 +13:00
Robert O'Callahan
009ce30b8d
Bug 837034. Part 1: Rename nsDOM(Local)MediaStream to DOM(Local)MediaStream and put them in the mozilla namespace. r=jesup
...
--HG--
rename : content/media/nsDOMMediaStream.cpp => content/media/DOMMediaStream.cpp
rename : content/media/nsDOMMediaStream.h => content/media/DOMMediaStream.h
extra : rebase_source : 6fd3f71779b4ecb9d3b053b6cd844c2ff0c25f80
2013-02-15 21:01:58 +13:00
Ehsan Akhgari
94e4ec56db
Bug 836599 - Part 6: Make MediaStreamGraphImpl::AppendMessage not assume that it's the only graph; r=roc
2013-02-04 12:29:14 -05:00
Ehsan Akhgari
cf993195fa
Bug 836599 - Part 5: Make MediaStreamGraphImpl::RunInStableState not assume that it's the only graph; r=roc
2013-02-04 12:27:54 -05:00
Ehsan Akhgari
076bf1509f
Bug 836599 - Part 4: Make MediaStreamGraphStableStateRunnable know about its owner graph; r=roc
2013-02-01 15:20:32 -05:00
Ehsan Akhgari
695f0ba22e
Bug 836599 - Part 3: Make MediaStreamGraphThreadRunnable know about its owner graph; r=roc
2013-02-01 15:13:32 -05:00
Ehsan Akhgari
0ec5861e6a
Bug 836599 - Part 2: Make MediaInputPort aware of its owner graph; r=roc
...
We need to make sure that MediaStream doesn't assume that it belongs
to the global graph so that we can have multiple graphs coexisting.
2013-02-01 14:49:58 -05:00
Ehsan Akhgari
0722f5e1a7
Bug 836599 - Part 1: Make MediaStream aware of its owner graph; r=roc
...
We need to make sure that MediaStream doesn't assume that it belongs
to the global graph so that we can have multiple graphs coexisting.
2013-02-01 14:43:36 -05:00
Robert O'Callahan
5d60f92b6f
Bug 804387. Part 8: Create AudioNodeEngine and AudioNodeStream. r=jesup
...
Modifies MediaStreamGraph to always advance its time by a multiple of
WEBAUDIO_BLOCK_SIZE.
--HG--
extra : rebase_source : 99524b09edd4ac0e1bc6607f2ba14925bc2f11c2
2013-01-14 11:46:57 +13:00
Robert O'Callahan
a2cc2eaf26
Bug 804387. Part 7: Use a static_cast instead of dynamic check when processing ProcessedMediaStream message. r=jesup
...
--HG--
extra : rebase_source : 3eb9264b706e19ac19ebf2377a33871be4cbe981
2013-02-04 23:04:26 +13:00
Robert O'Callahan
316b23fcb6
Bug 804387. Part 5: Add MediaStream::GraphTimeToStreamTimeOptimistic and MediaStream::StreamTimeToGraphTime. r=jesup
...
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : 0e08f9bb0c544b44ab4953a0f00cae233cd488c7
2013-02-04 23:04:26 +13:00
Robert O'Callahan
142a2a401e
Bug 804387. Part 4: Move MediaStreamGraphImpl to its own header file. r=jesup
...
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : 3413667aa3a11c634f703db4031e3c2b0b1e018e
2013-02-04 23:04:25 +13:00
Robert O'Callahan
6719ce2ae8
Bug 804387. Part 3: When a global underrun happens, don't insert blocked time, just cut that time out of the entire MediaStreamGraph timeline instead. r=jesup
...
--HG--
extra : rebase_source : 94f166e66f5401130b27867dd2b5ca039c704f14
2013-02-04 23:04:25 +13:00
Robert O'Callahan
9a5950d3c6
Bug 804387. Part 1: Make AllocateInputPort addref the returned port. r=jesup
...
--HG--
extra : rebase_source : a0e4d7889598577a540f132f4190225ecf12fdfb
2012-11-23 11:25:05 +13:00
Ehsan Akhgari
598f705578
Backed out 14 changesets (bug 804387) because of Android M2 crashes
...
Backed out changeset 80e8530f06ea (bug 804387)
Backed out changeset 3de2271ad47f (bug 804387)
Backed out changeset 00f86870931c (bug 804837)
Backed out changeset 0e3f20927c50 (bug 804387)
Backed out changeset e6ef90038007 (bug 804387)
Backed out changeset 0ad6f67a95f9 (bug 804387)
Backed out changeset d0772aba503c (bug 804387)
Backed out changeset 5477b87ff03e (bug 804387)
Backed out changeset 1d7ec5adc49f (bug 804387)
Backed out changeset 11f4d740cd6c (bug 804387)
Backed out changeset e6254d8997ab (bug 804387)
Backed out changeset 372322f3264d (bug 804387)
Backed out changeset 53d5ed687612 (bug 804387)
Backed out changeset 000b88ac40a7 (bug 804387)
2013-02-05 01:29:28 -05:00
Robert O'Callahan
85199704c0
Bug 804387. Part 8: Create AudioNodeEngine and AudioNodeStream. r=jesup
...
Modifies MediaStreamGraph to always advance its time by a multiple of
WEBAUDIO_BLOCK_SIZE.
2013-01-14 11:46:57 +13:00
Robert O'Callahan
a0af077494
Bug 804387. Part 7: Use a static_cast instead of dynamic check when processing ProcessedMediaStream message. r=jesup
2013-02-04 23:04:26 +13:00
Robert O'Callahan
ed7a406d75
Bug 804387. Part 5: Add MediaStream::GraphTimeToStreamTimeOptimistic and MediaStream::StreamTimeToGraphTime. r=jesup
2013-02-04 23:04:26 +13:00
Robert O'Callahan
3fad0bb120
Bug 804387. Part 4: Move MediaStreamGraphImpl to its own header file. r=jesup
...
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
2013-02-04 23:04:25 +13:00