Commit Graph

124 Commits

Author SHA1 Message Date
Paul Adenot
cf5a18b6c8 Bug 882543 - Actually run offline MSG offline. r=roc 2013-07-19 16:40:57 +02:00
Paul Adenot
53a2f501c5 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
97ebf79d0c 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
3e059c7221 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
051c5b560a 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
a0cab146b1 Bug 884459 - Do not check mCurrentTaskMessageQueue's emptiness needlessly; r=ehsan 2013-06-21 22:07:39 +02:00
Ehsan Akhgari
7a5e66b1f7 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
fe67aae17b 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
57ba9bd76f 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
340ed556b3 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
823b717452 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
5cb0162f45 Bug 865257 - Implement MediaStreamAudioDestinationNode. r=ehsan,roc 2013-05-21 15:17:47 -04:00
Mike Habicher
572d8a584b 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
507a189f9d 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
6569fc1a08 Bug 868405. Support 'enabled' attribute on MediaStreamTrack. r=jesup
--HG--
extra : rebase_source : ec29ae2e45979baaf1b6a085549755ba86cadd40
2013-05-30 16:44:43 +12:00
Ehsan Akhgari
f093c0091d 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
2e93916b83 Bug 875402 - Delete MediaInputPort objects using normal refcounting semantics; r=roc 2013-05-25 10:01:08 -04:00
Ehsan Akhgari
4655043378 Bug 875911 - Clean up OfflineAudioContexts which have never been rendered; r=roc 2013-05-25 09:59:59 -04:00
Ehsan Akhgari
3d0d70af3e Backed out changeset dc96b4762676 (bug 875402) because of crashtest leaks 2013-05-24 15:28:28 -04:00
Ehsan Akhgari
4d8cc1f041 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
4aab55dc3c 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
5e74778928 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
8d5f66955c 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
a79c431418 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
9d8f56046a Bug 836599 - Part 7: Implement a non-realtime API in MediaStreamGraph; r=roc 2013-05-08 07:44:07 -04:00
Robert O'Callahan
2d103b824c 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
829a481dde Bug 866514. Part 1: Add DOMMediaStream::OnTracksAvailableCallback. r=jesup
--HG--
extra : rebase_source : 8d8da0bc2a55fa14f837cb85f35236ca33d2437d
2013-05-03 17:02:55 +12:00
Ehsan Akhgari
5045ad9ced 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
164bfd91dd 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
91714f5737 Bug 868406. Shut down MediaStreamGraph's thread. r=jesup 2013-05-05 18:20:11 +12:00
Robert O'Callahan
6d42b1300e Bug 866514. Part 1: Add DOMMediaStream::OnTracksAvailableCallback. r=jesup 2013-05-03 17:02:55 +12:00
Ehsan Akhgari
85820ff13a 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
db6a4e8298 Bug 865234 - Part 2: Send the channel mixing information to the AudioNodeStream; r=roc 2013-04-27 19:25:23 -04:00
Ehsan Akhgari
14378dc8ce 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
21b6d807c6 Bug 834513 - Part 3: Implement ScriptProcessorNode; r=roc 2013-04-13 21:37:04 -04:00
Randell Jesup
7079f90b91 Bug 845741: Set mUpdateFinished under lock r=roc 2013-04-08 08:03:33 -04:00
Robert O'Callahan
6939bc3c12 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
ddf63292e4 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
32de0d2510 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
c812c5d9f0 Backed out changeset be1ee54becf4 (bug 839650) for build failures 2013-03-07 09:10:47 +00:00
Randell Jesup
7364d8f8e9 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
0c0072ee92 Bug 846103: Make MediaStream::RemoveListener() callable on Destroy()ed streams r=roc 2013-02-28 14:53:38 -05:00
Robert O'Callahan
2a0a9d9363 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
d9ab95bc30 Backed out changeset dba7a059ed22 (bug 843214) 2013-02-27 12:49:26 +00:00
Robert O'Callahan
3e2e757ae7 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
a019386f6d 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
2aa183ac51 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
b82b93b9cf 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
0df983d37e Bug 836599 - Part 4: Make MediaStreamGraphStableStateRunnable know about its owner graph; r=roc 2013-02-01 15:20:32 -05:00
Ehsan Akhgari
cb20e06c0d Bug 836599 - Part 3: Make MediaStreamGraphThreadRunnable know about its owner graph; r=roc 2013-02-01 15:13:32 -05:00