Commit Graph

302 Commits

Author SHA1 Message Date
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
d402f626fe b=957359 change failing output + finished assertion to warning r=padenot
--HG--
extra : transplant_source : %9A%B8%EE7h7PV%A9%E3P%B9%29%C1%FFz%40%DBPH
2014-01-28 18:14:24 +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
Paul Adenot
9002ff9c6c Bug 961787 - Buffer more data when using MediaElementAudioSourceNode / mozCaptureStream from a media decoder. r=roc 2014-01-27 19:10:48 +01:00
Paul Adenot
d3576156a7 Bug 955911 - r=roc 2014-01-13 17:38:30 +01:00
Karl Tomlinson
c1a929b109 b=957468 don't unset mNonRealtimeProcessing after offline graph completion r=roc
--HG--
extra : transplant_source : %D1%17%20%079%82%2B%91ES%B5%CC%83%E3t%8B%F9%A8%D6%E7
2014-01-08 17:04:36 +13:00
Karl Tomlinson
a54f7ad79d b=943461 don't move messages from mCurrentTaskMessageQueue after it has been emptied r=roc
--HG--
extra : transplant_source : a%27%91%24%A5%1Fe%82%B5%5B%82%AF%17%1A%BA%D8%9DRai
2014-01-08 16:58:14 +13:00
Robert O'Callahan
fd765faad2 Bug 943461. Part 20: Don't revive an offline MediaStreamGraph that has finished. Instead, process any pending events using their RunInShutdown sequence. r=padenot
--HG--
extra : rebase_source : 7d2d6282418cf0a339684ad651f8c29876acf496
2014-01-07 09:09:29 +13:00
Robert O'Callahan
bf4755a6bc Bug 943461. Part 13: Keep producing silence in AudioNodeStreams' mLastChunks even after they've finished r=padenot
Without this the last before-finished audio block gets picked up by downstream
ObtainInputBlock calls.

--HG--
extra : rebase_source : d7f804cea59454bdb0aa5931d19bcc123e0d16cb
2013-12-10 13:49:03 +13:00
Robert O'Callahan
12db69ee00 Bug 947796. Must convert milliseconds to MediaTime correctly. r=padenot
--HG--
extra : rebase_source : 8cbe26ea9f5189df38985a57fdd447e858885b18
2013-12-09 18:08:02 +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
Robert O'Callahan
88e187e686 Bug 943461. Part 10: Fix and simplify setting of mNextMainThreadFinished. r=padenot
--HG--
extra : rebase_source : 4530688441600d6538cd9a9662466762ca845ff9
2013-12-09 18:08:02 +13:00
Robert O'Callahan
b6d480e7cc Bug 943461. Part 9: Handle absence of INCLUDE_TRAILING_BLOCKED_INTERVAL flag correctly. r=padenot
--HG--
extra : rebase_source : b7bf3e56e0332dcf1357f959891ff39a86f89cd1
2013-12-09 18:08:02 +13:00
Robert O'Callahan
731720a05d Bug 943461. Part 5: Don't allow a stream to finish before it has produced output up to mStateComputedTime. r=padenot
--HG--
extra : rebase_source : 9bf003c246b63b1dd64665024533fda74a8e1fa4
2013-12-06 09:23:57 +13:00
Robert O'Callahan
fb73d01388 Bug 943461. Part 3: Like part 1, blocking calculations should note that a stream is only fully ended whenall of its tracks have finished playing out. r=padenot
--HG--
extra : rebase_source : 892cd92396e317d1c46a2f67d0061dc3d513de98
2013-12-04 19:00:26 +13:00
Robert O'Callahan
6b2d666ee4 Bug 943461. Part 2: Add assertion to catch cases where we NotifyOuput after NotifyFinished. r=padenot
--HG--
extra : rebase_source : 8653b45d9f1dde5ff40bd2621ee9cda527bb6be1
2013-12-04 18:59:14 +13:00
Robert O'Callahan
0606ce8b72 Bug 943461. Part 1: A stream is fully finished when all its tracks have finished playing out. r=padenot
--HG--
extra : rebase_source : 0efa4353ea22ffd52d550331623098d275382148
2013-12-04 14:08:12 +13:00
Karl Tomlinson
7460ccc406 b=956611 remove costly atomic reference counting from ProduceDataForStreamsBlockByBlock r=padenot
--HG--
extra : transplant_source : %D7bP%80%E1zKym%0A6%E2w%FB%22%3Cy%00%23V
2014-01-07 12:53:49 +13:00
Ehsan Akhgari
ebd358dfd7 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Ms2ger
9b8e245bf9 Bug 950143 - Remove the implicit conversion operator from nsIntSize to IntSize; r=roc 2013-12-31 10:06:12 +01: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
Robert O'Callahan
81716d992d Bug 938022. Part 5: Add aCurrentTime parameter to MediaStreamListener::NotifyOutput and fire notifications when the MediaStreamGraph is in a good state. r=padenot
--HG--
extra : rebase_source : 79edce8650fdb7af315df5006ec3b91dc9fd869f
2013-11-26 00:59:49 +13:00
Matthew Gregan
358b7e64f0 Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Benjamin Peterson
168ae22e9f backout dc9ebdf27e98 (bug 942657) for bustage 2013-11-28 20:50:16 -06:00
Matthew Gregan
647694fec9 Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Ehsan Akhgari
2f9d8a7309 Bug 939582 - Part 1: Rework the NSPR logging in content/media to use different macro names for different logs; r=doublec 2013-11-20 22:02:42 -05:00
Ehsan Akhgari
e7936b0d93 Backed out 2 changesets (bug 939582) because of build bustage
Backed out changeset 2079c828645a (bug 939582)
Backed out changeset af472e590088 (bug 939582)
2013-11-20 21:41:40 -05:00
Ehsan Akhgari
3c5450530e Bug 939582 - Part 1: Rework the NSPR logging in content/media to use different macro names for different logs; r=doublec 2013-11-20 21:11:54 -05: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
Randell Jesup
ee8e35ca44 Bug 920325: Add WebRTC latency logging from capture to RTP and from RTP to speakers r=padenot 2013-10-25 18:13:42 -04:00
Randell Jesup
345ac3892d backout 5f38b1bd3358 for bustage CLOSED TREE 2013-10-25 19:25:54 -04:00
Randell Jesup
2e3491f74c Bug 920325: Add WebRTC latency logging from capture to RTP and from RTP to speakers r=padenot 2013-10-25 18:13:42 -04:00
Karl Tomlinson
5ffa06990a b=926619 check for non-AudioNodeStreams in MediaStream cycles r=padenot
--HG--
extra : transplant_source : %2B%F4%EEG%BD%17%2A/%B7%80%F6%22%04%9F%F4E%1FD%F0%A5
2013-10-25 14:05:41 +13:00
Karl Tomlinson
68a062c577 b=923301 remove now-unused GetCurrentGraphUpdateIndex() and rename mGraphUpdatesSent to mNextGraphUpdateIndex r=roc
--HG--
extra : transplant_source : %B6%E8%FF%F8%CA%CCWo%D0%82s%FC%92C%F5L%D9%3D%81%88
2013-10-25 12:12:00 +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
Karl Tomlinson
ddaab5d1c5 b=914016 always dispatch main thread updates after non-realtime graph finishes r=padenot
--HG--
extra : transplant_source : %0B%0C%93%05k%3F%3A%AEfT9%C9u%8D%C5pa%9F%11%0D
2013-10-24 07:21:33 +13:00
Paul Adenot
2ecd0a5c7e Bug 907817 - Allow AudioStream users to pass-in latency requirements. r=kinetik
--HG--
extra : rebase_source : 3cf1971913b3cfd8000c58614b0d0be8b7805af0
2013-10-17 15:44:52 +02:00
Robert O'Callahan
e2de87eee6 Bug 922601. Use StreamTimeToGraphTime to get the correct conversion to graph time. r=padenot
--HG--
extra : rebase_source : 148da9b3fdc1cd6fb12489ad20d724218fcd75d1
2013-10-01 22:28:49 -04:00
Nicolas Silva
8605f47406 Bug 922202 - Make PlanarYCbCrImage::Data forward-declarable and remove some header includes. r=bjacob 2013-10-01 17:57:50 -07:00
Randell Jesup
f6a1a85cec Bug 917491: Guarantee cleanup of AsyncLatencyLogger on xpcom-shutdown r=bsmedberg 2013-09-24 22:10:24 -04:00
Paul Adenot
b4ee1e68de Bug 881959 - Handle self-connection. r=ehsan
--HG--
extra : rebase_source : f2d4a0a28cb85668f80c58d1a56926f65ea40e72
2013-09-16 17:37:27 +02: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
Paul Adenot
7c95321d67 Bug 881959 - Mute WebAudio nodes that are part of a cycle that contains no DelayNode, and make cycles work. r=ehsan
--HG--
extra : rebase_source : d4bc378128cf15f8d8395b45b4443ca6b06c5bd2
2013-08-26 19:19:36 +02:00
Ed Morley
6a8bde5bc5 Backed out changeset fb89f2090779 (bug 881959) 2013-09-17 17:14:55 +01: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
Ed Morley
b566ba4f8e Backed out changeset ade49a801461 (bug 881959) 2013-09-17 17:14:36 +01:00
Ed Morley
8ff05e11a4 Backed out changeset 924b0619e616 (bug 881959) 2013-09-17 17:14:29 +01:00
Paul Adenot
136940c8bc Bug 881959 - Fix inbound bustage on XP. 2013-09-17 16:25:13 +02:00
Paul Adenot
d4d8b9bcb9 Bug 881959 - Handle self-connection. r=ehsan
--HG--
extra : rebase_source : 02ef02b921df39dcb647096a10a1fa4e85161c70
2013-09-16 17:37:27 +02: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
f4a229fbf9 Bug 881959 - Mute WebAudio nodes that are part of a cycle that contains no DelayNode, and make cycles work. r=ehsan
--HG--
extra : rebase_source : a92e90a2fb08f784d3a1b7d0701a5dd20595c4ef
2013-08-26 19:19:36 +02:00
Paul Adenot
7a97c91578 Bug 904617: Part 3 - Log latency, and adds a python script to understand the log r=padenot,jesup,ehugg 2013-01-28 19:22:37 +01:00
Ed Morley
504f2b3fae Backed out changeset 81cee5ae7973 (bug 904617) 2013-09-16 08:43:47 +01:00
Paul Adenot
ea33beeb7a Bug 904617: Part 3 - Log latency, and adds a python script to understand the log r=padenot,jesup 2013-01-28 19:22:37 +01:00
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
Ehsan Akhgari
412d5ef7d7 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
e6ef206ecb Bug 834513 - Part 3: Implement ScriptProcessorNode; r=roc 2013-04-13 21:37:04 -04:00
Randell Jesup
a15d1c6211 Bug 845741: Set mUpdateFinished under lock r=roc 2013-04-08 08:03:33 -04:00
Robert O'Callahan
2d9ba0737e 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
c704fae974 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
8161849c3d 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
b360848aef Backed out changeset be1ee54becf4 (bug 839650) for build failures 2013-03-07 09:10:47 +00:00
Randell Jesup
07aff4ee8e 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
748cbd01e5 Bug 846103: Make MediaStream::RemoveListener() callable on Destroy()ed streams r=roc 2013-02-28 14:53:38 -05:00
Robert O'Callahan
d96eb1e910 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
94361edb30 Backed out changeset dba7a059ed22 (bug 843214) 2013-02-27 12:49:26 +00:00
Robert O'Callahan
4dd110ae0a 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
ca6fcfb8f3 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
b5d92eaf5e 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
661babfc7c 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
11dc6d17d3 Bug 836599 - Part 4: Make MediaStreamGraphStableStateRunnable know about its owner graph; r=roc 2013-02-01 15:20:32 -05:00
Ehsan Akhgari
9de9f6ffbe Bug 836599 - Part 3: Make MediaStreamGraphThreadRunnable know about its owner graph; r=roc 2013-02-01 15:13:32 -05:00
Ehsan Akhgari
2d219bdba7 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
8a790ac960 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
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
edc4fc64a2 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
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
Robert O'Callahan
2785a28dd0 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
96c21b198b 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
631b308649 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
f4306b8a20 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
6a9acef289 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
05be93cc6b Bug 804387. Part 5: Add MediaStream::GraphTimeToStreamTimeOptimistic and MediaStream::StreamTimeToGraphTime. r=jesup 2013-02-04 23:04:26 +13:00
Robert O'Callahan
be9e936592 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
Robert O'Callahan
5350b6e757 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 2013-02-04 23:04:25 +13:00
Robert O'Callahan
11a2cb4a33 Bug 804387. Part 1: Make AllocateInputPort addref the returned port. r=jesup 2012-11-23 11:25:05 +13:00
Robert O'Callahan
0cc85c72c1 Bug 830707. Part 3: Don't constrain AudioSegment to a fixed number of channels. r=jesup
--HG--
extra : rebase_source : feacede00821b6673ce04c886a9c3727a4989404
2013-01-21 09:44:44 +13:00
Mats Palmgren
6c53161814 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Randell Jesup
307173aba3 Bug 827007: Implement Stop for UserMediaStreams; add NotifyRemoved for MediaStream listeners r=roc 2013-01-06 21:31:30 -05:00
Robert O'Callahan
6cd2aebe3a Bug 814718. Explicitly store the blocking state that we last delivered to MediaStreamListeners. r=jesup 2013-01-02 14:49:18 +01:00
Ms2ger
020367e2ed Backout bug 814718, bug 717178 for exceptions in test_text.html on Windows. 2013-01-01 13:34:34 +01:00
Robert O'Callahan
a4f7d11c72 Bug 814718. Explicitly store the blocking state that we last delivered to MediaStreamListeners. r=jesup 2013-01-01 16:45:43 +13:00
Robert O'Callahan
6b30f6daf1 Bug 816664. Don't call NotifyPull if we already have all the data buffered in the stream that we need. r=jesup 2012-12-08 00:06:55 +13:00