Commit Graph

54 Commits

Author SHA1 Message Date
Karl Tomlinson
a4b9a3c57e b=1023697 use audio ticks for graph time units r=roc
--HG--
extra : transplant_source : 8%BA%9D%5C%E32%05x%A79K%08TH%A7%F4%F2tg%EC
2014-06-12 16:45:00 +12:00
Karl Tomlinson
1fdee32d25 b=1023697 add functions to convert between track ticks and seconds, and remove global MediaTime/second conversion functions r=roc
--HG--
extra : transplant_source : %F3%D8%C168%B7%A3%13%B2p%3Ee%89TkGlD%A8%A7
2014-06-12 16:45:00 +12:00
Karl Tomlinson
d8be06bf30 b=1023697 add functions to convert between track rates and remove global StreamTime/tick conversion functions r=roc
--HG--
extra : transplant_source : %B6%BC%83%17%22%EE%5D%BEl%B6%17m%1C%D0N%D1C%97%60%E1
2014-06-12 16:44:59 +12:00
Karl Tomlinson
b0bb0ef6be b=1023697 record the graph tick rate on StreamBuffer and its Tracks for StreamTime calculations r=roc
--HG--
extra : transplant_source : 8%B4%DB%A4%FE%2C%B7%235%7F%7D5%2C%FA%BA%0D%9E%CC%7E%11
2014-06-12 16:44:59 +12:00
Karl Tomlinson
4fbb1323cc b=1015025 use a consistent reference timestamp for graph time to avoid accumulating drift from rounding to MediaTime r=roc
--HG--
extra : transplant_source : 2%B9y%D4%80%DA/qqx%C5%F5%86%8CoT%B9S%19%D9
2014-05-26 11:26:52 +12:00
Paul Adenot
9a84687a23 Bug 998179 - Refactor how MediaStreamGraph get and use their sample rate. r=roc
Use the sample rate passed to the OfflineAudioContext constructor in
MediaStreamGraph::CreateOfflineInstance, and pass the preferred mixer sample
rate to the (real time) MediaStreamGraph constructor.

Then, always use this sample rate for the lifetime of the graph.

This patch needed to pass the sample rate to the AudioMixer class to avoid
relying on globals like it was done before.

--HG--
extra : rebase_source : 2802208819887605fe26a7040998fc328b3c9a57
2014-04-23 11:20:56 +02:00
Eric Rahm
0c4d54b70f Bug 967817 - Finish memory reporters for Web Audio. r=roc, njn 2014-04-13 11:08:10 -07:00
Paul Adenot
c92abbdb27 Bug 982490 - Ensure for MSG cycle that each MediaStream write the same number of frames to their AudioStream. r=jesup,roc 2014-03-24 11:06:06 +01:00
Paul Adenot
ce58cb728c Bug 818822 - Resample all inputs of the MediaStreamGraph to the ideal audio rate. r=roc 2014-03-24 11:06:05 +01:00
Randell Jesup
8da8e8d53a Backed out changeset 5349ecd9c313 (bug 818822) 2014-04-07 15:40:55 -04:00
Randell Jesup
e5b76be31d Backed out changeset 87f437be7de5 (bug 982490) 2014-04-07 15:37:56 -04:00
Paul Adenot
07df38f7df Bug 982490 - Ensure for MSG cycle that each MediaStream write the same number of frames to their AudioStream. r=jesup,roc 2014-03-24 11:06:06 +01:00
Paul Adenot
bd6d91c746 Bug 818822 - Resample all inputs of the MediaStreamGraph to the ideal audio rate. r=roc 2014-03-24 11:06:05 +01:00
Randell Jesup
beb3941cd7 Backed out 965c62289427:cb894b5d342f for perma-orange on b2g emulator M10 r=backout 2014-04-02 17:11:12 -04:00
Paul Adenot
61d2f3b535 Bug 982490 - Ensure for MSG cycle that each MediaStream write the same number of frames to their AudioStream. r=jesup,roc 2014-03-24 11:06:06 +01:00
Paul Adenot
8b3bed64f3 Bug 818822 - Resample all inputs of the MediaStreamGraph to the ideal audio rate. r=roc 2014-03-24 11:06:05 +01:00
Karl Tomlinson
7bfe15413c b=969089 allow an offline graph to shutdown before it's AudioDestinationNode is unlinked r=roc
A non-realtime graph does not start up again after finished processing, so it
can safely enter LIFECYCLE_WAITING_FOR_STREAM_DESTRUCTION.

--HG--
extra : transplant_source : %AF%98D%D5%EE%CA7zfv.%B4%F4%D8%05Q7%C2%8D%A7
2014-02-11 13:04:58 +13:00
Robert O'Callahan
de915bf668 Bug 952893. Part 2: When all streams in the MSG are blocked, allow the MSG to suspend indefinitely and pause AudioStream outputs while suspended. r=padenot 2014-01-16 00:13:07 +13:00
Ryan VanderMeulen
a5b81a765d Backed out changesets ac4e6f145b9a, 91c572ac5ee1, f501606dc1d3, and 15fc5d1cb10e (bug 952893) for test failures on a CLOSED TREE. 2014-01-29 14:34:08 -05:00
Robert O'Callahan
d08dd6d58f Bug 952893. Part 2: When all streams in the MSG are blocked, allow the MSG to suspend indefinitely and pause AudioStream outputs while suspended. r=padenot 2014-01-16 00:13:07 +13:00
Paul Adenot
8ae42d79f9 Bug 952893 - Backout changesets 780cba0f9f59, 887fe3a09c3d and fb04a4252ea3 for bad commit message, DONTBUILD. 2014-01-29 17:36:56 +01:00
Robert O'Callahan
032c9337eb Bug 952389. Part 2: When all streams in the MSG are blocked, allow the MSG to suspend indefinitely and pause AudioStream outputs while suspended. r=padenot 2014-01-16 00:13:07 +13:00
Karl Tomlinson
58b73ce9c7 b=957468 remove unused mNonRealtimeIsRunning r=ehsan
--HG--
extra : transplant_source : %F1%A1%5DT%21%AE%B0%AAh%1F%BB%06X%80F%9C%BBe%15U
2014-01-28 18:14:22 +13:00
Robert O'Callahan
f2979e9489 Bug 943461. Part 11: Don't tear down an OfflineAudioContext until its current time has actually reached its end, to ensure that all relevant stream state changes have been forwarded to the main thread. r=padenot
--HG--
extra : rebase_source : 32b9a4cf4c39edfabf5be17cec50a676f1ad4641
2013-12-09 18:08:02 +13:00
Paul Adenot
58cae1ed05 Bug 944707 - Stop locking when getting the preferred samplerate from the AudioStream. r=kinetik
--HG--
extra : rebase_source : bbf7b305d13f252e7c743bb9abf12da078db865b
2013-12-09 20:54:49 +01:00
Paul Adenot
8d8f7eeda7 Bug 916384 and 944707 - Backed out fa872452b89d and 012b1baf2b19 for crashes on a CLOSED TREE. 2013-12-11 16:31:35 +01:00
Paul Adenot
2b28bb15ba Bug 944707 - Stop locking when getting the preferred sample rate from the AudioStream. r=kinetik
--HG--
extra : rebase_source : f2b5be30c25d71cfdb259cb5035335fb4e8a415c
2013-12-09 20:54:49 +01:00
Chris Double
4ab99de3f6 Bug 939716 - Destructor for MediaStreamGraph should be virtual - r=roc
The destructor for MediaStreamGraph is non-virtual but it has a
derived class, MediaStreamGraphImpl, that overrides the destructor.
This destructor won't be called if an instance is deleted using a
pointer type of MediaStreamGraph.

It's unclear whether this actually happens but MediaStreamGraph.cpp
has code that creates a MediaStreamGraphImpl and returns it as a
MediaStreamGraph.

--HG--
extra : rebase_source : 9d006e5bf9bb056b5a54fc7aec159c26376c1459
2013-11-19 02:09:47 +13:00
Chris Double
cf4ed28111 Bug 939655 - Remove LOG macro definition from MediaStreamGraphImpl.h - r=roc
Removing this reduces opportunity for macro name clashes and using
the wrong log object if this header file is included out of order
in a .cpp file.

--HG--
rename : browser/themes/linux/Toolbar-inverted.png => browser/themes/windows/Toolbar-inverted.png
extra : rebase_source : 053384512e0f3a70d07ebe9ca0a07dc0f39d9b5b
2013-11-19 00:48:04 +13:00
Karl Tomlinson
a6013a6638 b=923301 add MediaStreamGraph::RunAfterPendingUpdates() r=roc
--HG--
extra : transplant_source : %89%21%AE%87%C7%9C%07%28%3D%60T%83%16n%DC%C9O%87iy
2013-10-25 12:07:29 +13:00
Randell Jesup
f6a1a85cec Bug 917491: Guarantee cleanup of AsyncLatencyLogger on xpcom-shutdown r=bsmedberg 2013-09-24 22:10:24 -04:00
Ehsan Akhgari
fae6b888e6 Bug 881959 - Tell the MediaStreamGraph when changes to the graph occur. r=roc
--HG--
extra : rebase_source : f5c0021e35fa0b66cc45434b5d23742ff3cc3019
2013-09-13 18:12:07 +02:00
Ed Morley
f2619af990 Backed out changeset fe576415129e (bug 881959) 2013-09-17 17:14:52 +01:00
Ed Morley
845ddef04c Backed out changeset 5e5d5e42f6c2 (bug 881959) 2013-09-17 17:14:49 +01:00
Paul Adenot
d6d78f2064 Bug 881959 - Warn the author when a cycle in a WebAudio graph does not contain a DelayNode. r=ehsan
--HG--
extra : rebase_source : 9383abcce03d0f70208983c22eef051b84560f08
2013-09-13 18:13:37 +02:00
Ehsan Akhgari
e5c162769f Bug 881959 - Tell the MediaStreamGraph when changes to the graph occur. r=roc
--HG--
extra : rebase_source : b71feb43da4f1f86e251dce73f87864af24b61c0
2013-09-13 18:12:07 +02: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
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
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
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
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
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
Ehsan Akhgari
9cb96b3472 Bug 836599 - Part 7: Implement a non-realtime API in MediaStreamGraph; r=roc 2013-05-08 07:44:07 -04:00
Ehsan Akhgari
c7fbc3c48c Bug 853721 - Part 2: Hook up DelayNode to the media streams graph and implement delaying of incoming audio; r=roc 2013-03-25 08:34:59 -04:00
Robert O'Callahan
f76919f8a0 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
32ddb352da 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
a83ff07d2b 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