Commit Graph

79 Commits

Author SHA1 Message Date
Karl Tomlinson
d5065c1a5d Bug 1513722 run AudioWorklet for OfflineAudioContext on MSG thread r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D13220

--HG--
extra : moz-landing-system : lando
2018-12-20 07:58:13 +00:00
Andreea Pavel
d5f0aa2919 Backed out 2 changesets (bug 1513722) for build bustages
Backed out changeset 8e2c3015fc95 (bug 1513722)
Backed out changeset 0c454fd1dbcb (bug 1513722)
2018-12-20 06:57:15 +02:00
Karl Tomlinson
880bb5a5a9 Bug 1513722 run AudioWorklet for OfflineAudioContext on MSG thread r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D13220

--HG--
extra : moz-landing-system : lando
2018-12-20 04:22:15 +00:00
Andreas Pehrson
a02fa011f0 Bug 1509548 - Remove the concept of a known tracks time from MediaStreamGraph. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D12923

--HG--
extra : moz-landing-system : lando
2018-11-29 17:37:06 +00:00
Andreas Pehrson
60f5d461f2 Bug 1423241 - Remove MediaStreamListener \o/. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D12284

--HG--
extra : moz-landing-system : lando
2018-11-23 15:03:00 +00:00
Andreas Pehrson
e6f44b02af Bug 1423241 - Fix MediaStreamTrackListener::NotifyEnded. r=padenot
Without this, NotifyEnded() happens before the track has been played out, at the
time it's marked ended by its producer. This change will actually make us wait
until the last chunk has been played out and then notify listeners.

Differential Revision: https://phabricator.services.mozilla.com/D12269

--HG--
extra : moz-landing-system : lando
2018-11-23 15:00:26 +00:00
Sylvestre Ledru
804b8b8883 Bug 1204606 - Reformat of dom/media r=jya
# skip-blame

Differential Revision: https://phabricator.services.mozilla.com/D12251

--HG--
extra : moz-landing-system : lando
2018-11-19 13:25:37 +00:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Andreas Pehrson
db32c9cf6a Bug 1296531 - Make AudioNodeStream work with track listeners. r=padenot
MozReview-Commit-ID: ArJiDLh4kle

--HG--
extra : rebase_source : e982b02903f8b36637702aa249234c2557a63aad
extra : source : b9c08f42fc44fb00ce87b35f499929a0455b818e
2016-11-17 10:19:12 +01:00
Karl Tomlinson
7f4db3ca56 bug 1391482 remove now-unused ThreadSharedFloatArrayBufferList SetBuffer() variant r=padenot
MozReview-Commit-ID: 184qw9JUONH

--HG--
extra : rebase_source : c8f603d043c094e28eb2403e5b1bf2747a5ee129
2017-08-10 17:49:38 +12:00
Karl Tomlinson
3e8252b5b1 bug 1391482 add a mechanism to pass an AudioChunk from node to engine r=padenot
MozReview-Commit-ID: Akfy9xDKzXg

--HG--
extra : rebase_source : 97830e6e2b134c049439c3a0ed5f2684df1f7ee5
2017-08-01 20:04:56 +12:00
Phil Ringnalda
2f26d0e9a4 Backed out 15 changesets (bug 1391482) for rooting hazard
Backed out changeset 4d4ed9b64bdb (bug 1391482)
Backed out changeset c02da061fc56 (bug 1391482)
Backed out changeset 7f096b0d1d0e (bug 1391482)
Backed out changeset 497e04031fc3 (bug 1391482)
Backed out changeset cb6ac4267562 (bug 1391482)
Backed out changeset b9a522cc88c9 (bug 1391482)
Backed out changeset 6feba222e86b (bug 1391482)
Backed out changeset ee13302be6c8 (bug 1391482)
Backed out changeset 0e12a1bdb2fa (bug 1391482)
Backed out changeset 7ffc044e742a (bug 1391482)
Backed out changeset fc35c12c815f (bug 1391482)
Backed out changeset 527ea972cdf3 (bug 1391482)
Backed out changeset a9c7abf92455 (bug 1391482)
Backed out changeset fea3e5cd3590 (bug 1391482)
Backed out changeset ca07d3a43b11 (bug 1391482)

MozReview-Commit-ID: 9Cq8e7pr2SP
2017-08-28 20:40:11 -07:00
Karl Tomlinson
c15b836577 bug 1391482 remove now-unused ThreadSharedFloatArrayBufferList SetBuffer() variant r=padenot
MozReview-Commit-ID: 184qw9JUONH

--HG--
extra : rebase_source : 38c0e3765770fd08b94a22e144f604e416661eef
2017-08-10 17:49:38 +12:00
Karl Tomlinson
18eaddeade bug 1391482 add a mechanism to pass an AudioChunk from node to engine r=padenot
MozReview-Commit-ID: Akfy9xDKzXg

--HG--
extra : rebase_source : 97830e6e2b134c049439c3a0ed5f2684df1f7ee5
2017-08-01 20:04:56 +12:00
Chris Pearce
843a107185 Bug 1388288 - Make dom/media/webaudio build non-Unified. r=padenot
MozReview-Commit-ID: Dihfqa9URpl

--HG--
extra : rebase_source : 0e1346919ada98b78481ced311940248cffd6d86
2017-08-08 11:38:02 +08:00
Dan Minor
a99713bbf7 Bug 1373727 - Annotate Web Audio pointer to RefPtr use; r=karlt
MozReview-Commit-ID: FZwvw1YW1EM

--HG--
extra : rebase_source : d6ca04fa96f65981ca5294cda498a1f35d2798e9
2017-06-15 11:51:28 -04:00
Paul Adenot
404c800005 Bug 1341555 - Consolidate use of the MSG's AbstractMainThread, and stop having AbstractMainThread on MediaStreams. r=pehrsons
MozReview-Commit-ID: 5hGDQcfpH6a

--HG--
extra : rebase_source : 41bb678f37cfcdbc9912a25f45a5ca488084aabe
2017-06-29 11:30:57 -07:00
Bevis Tseng
72d516ef01 Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang
MozReview-Commit-ID: 1KgE3uKu4CG

--HG--
extra : rebase_source : 2ad950afe84675fb9bc4c449e53e7c0d52270175
2016-12-07 22:00:12 -10:00
Xidorn Quan
a8e64a94e1 Bug 1298756 - Use uint8_t/uint16_t as underlying type for enums from webidl. r=bz
MozReview-Commit-ID: 3uS9s5ZrPFd

--HG--
extra : rebase_source : ff64b4468ee99ba08fd8638298a27711b7fb6393
2017-01-12 12:23:37 +11:00
Andreas Pehrson
5c882b1fe8 Bug 1300529 - Remove default arguments from AudioNodeStream::Create. r=padenot
MozReview-Commit-ID: KG8PtBbJrc2

--HG--
extra : rebase_source : 4be41a0dff23a62dfa43699a1e0ebd8c429b41b7
2016-09-05 17:25:41 +02:00
Andreas Pehrson
9a907cfbfc Bug 1259788 - Add a new disabled mode for MSG tracks. r=jesup
MozReview-Commit-ID: 1dMTR4Wmcd8

--HG--
extra : rebase_source : 8c2ea262d53901a11ec5c0e5067f328461dee8f2
2016-08-15 14:19:42 +02:00
ctai
fd36b32d94 Bug 1266646 - Move group of MediaStreamListener to a new header file. r=pehrsons
This can reduce the include header dependency. MediaStreamVideoSink will inherit from DirectMediaStreamTrackListener. But we can't use forward declaration on MediaStreamListener because the usage of nsTArray<RefPtr<MediaStreamVideoSink>>.

MozReview-Commit-ID: 328s4Kw9NvW

--HG--
extra : transplant_source : %D2%18%E3%3B%0C%D8%F04%F3%EB%EB%A0%A7%8B%B1%A9%AB%97rY
2016-06-30 15:07:48 +08:00
Andreas Pehrson
e028368c0f Bug 1280445 - Remove wrapper from MediaStream. r=jesup, r=padenot
MozReview-Commit-ID: CTCFloIUXKa

--HG--
extra : rebase_source : b1c2073c638bb65c19a0f40e8d17e9a5bae15c98
extra : source : c6d854b3209e7de7d97153c0bfc492c1d5f1e6b5
2016-06-29 12:27:13 +02:00
Dan Minor
967be91752 Bug 1261168 - Add AlignedAutoTArray type in Web Audio; r=padenot
MozReview-Commit-ID: uQfTWkzKKB

--HG--
extra : rebase_source : c733e8bd17db57acaa0f0be4eefbf144ed2629af
2016-05-17 15:47:56 -04:00
ctai
8fcb64e480 Bug 1266644 - Rename StreamBuffer to StreamTracks. r=jesup r=pehrsons
Rename StreamBuffer to StreamTracks. We still need a place to keep the track information in every MediaStream, even the StreamBuffer::Track::mSegment is empty.

--HG--
rename : dom/media/StreamBuffer.cpp => StreamTracks.cpp
rename : dom/media/StreamBuffer.h => StreamTracks.h
2016-01-26 10:49:01 +08:00
Dan Minor
8c7cbbbf79 Bug 877662 - Align audio buffer allocations to 16 byte boundaries r=padenot
To be able to use SSE2 routines, we need to audio buffers to be allocated
on 16 byte boundaries.

MozReview-Commit-ID: 2mjxMWqysFd

--HG--
extra : rebase_source : 8bd7d48b767b7bcfa5874061586b9b41c26a18ae
2016-04-13 15:31:50 -04:00
Nathan Froyd
778b4efbe3 Bug 1247395 - use UniquePtr for control messages in MediaStreamGraphImpl; r=roc 2016-01-20 16:14:33 -05:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Jean-Yves Avenard
d822675be4 Bug 1240411: P1. Clean up webaudio headers. r=cpearce
Remove redundant virtual keyword and add missing override if any.
2016-01-19 19:47:28 +11:00
Karl Tomlinson
409ab8ea16 bug 1230406 remove invalid assertion of equality between float and int32_t r=padenot
--HG--
extra : rebase_source : 659172cf1d400c45a0ddd09345a9a1a6f193975b
2016-01-06 20:05:41 +13:00
Karl Tomlinson
e2c3511d96 bug 1217625 suspend inactive AudioNodeStreams r=padenot
--HG--
extra : rebase_source : c005e06d4fb233f7b68d192be6dd154450f01428
2015-10-23 11:38:11 +13:00
Karl Tomlinson
3c93b81fd5 bug 1217625 remove ADD_STREAM_SUSPENDED r=padenot
Sometimes we'll need an initial suspended count of 2, which is not supported
by this API, but this is not necessary anyway.

--HG--
extra : rebase_source : 56ecca7c14025ea7e18ba9a20e0b7725a610b429
2015-10-22 22:14:46 +13:00
Karl Tomlinson
e6e2a0f9e8 bug 1217625 perform checks for transition to inactive outside of stream processing r=padenot
This will allow streams to be suspended when they are discovered inactive.
Suspending is not possible while iterating over stream lists for processing.

The approach of delaying the transition to inactive state may result in a
couple of extra processing iterations, but can save on the number of messages
that need to be created when compared to the approach of traversing downstream
nodes during stream processing.

--HG--
extra : rebase_source : b6707da5afa9323058b3f70b7743c13380618dad
2015-10-23 09:37:45 +13:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Karl Tomlinson
8d75533f8d bug 1210280 use nullptr for silent channels in UpMixDownMixChunk r=padenot
so that AccumulateInputChunk can optimize for silent channels.

--HG--
extra : rebase_source : 43228733d8586f16bab00737ffb381fbd8127fd3
2015-09-05 11:01:54 +12:00
Karl Tomlinson
23b10a8cba bug 1205558 remove DelayNodeEngine::mSource r=padenot
--HG--
extra : rebase_source : 2bc303e258a0d00ff3cf03ac3cb649046c05c0fb
2015-09-29 14:39:28 +13:00
Karl Tomlinson
24b8c43a95 bug 1205558 use destination stream for audio node engine time r=padenot
--HG--
extra : rebase_source : 19fa80f48fac673c13345002cd8e01d1b7a5ed3d
2015-09-22 16:34:45 +12:00
Karl Tomlinson
884c5a6d1f bug 1209286 remove now unnecessary StreamTimeToDOMTime and DOMTimeToStreamTime r=padenot
--HG--
extra : rebase_source : 7da869260707220259ef804f4b3cc6237a3d5843
2015-09-29 10:46:43 +13:00
Karl Tomlinson
dc7019feef bug 864171 move "extra" time accounting for AudioContext with no nodes to destination stream r=padenot
--HG--
extra : rebase_source : 28cb7a858721e80d68603c4adeaea55eb17f13ba
2015-09-23 19:05:46 +12:00
Paul Adenot
cb424cc5a1 Bug 1200579 - Stop copying AudioParam timelines. r=karlt
--HG--
extra : rebase_source : 3acc85754acb096843c45d5ad12e8e3f7954ecdc
2015-09-25 15:57:55 +02:00
Karl Tomlinson
cbf602ece7 bug 1207003 only create track for external AudioNodeStreams r=padenot
IsFinishedOnGraphThread() was unnecessary due to the !mFinished test.

--HG--
extra : rebase_source : 6dd493c1b87e0f2f16b897f537990f1ac7abba31
2015-09-18 17:07:40 +12:00
Karl Tomlinson
7fe490cca6 bug 1207003 add GraphTime parameter to ProcessBlock() and remove GetCurrentPosition() r=padenot
This is immediately useful for making the track unnecessary, but will also be
required when switching to the destination node stream for tracking time (bug
1205558) because using GetCurrentPosition() on the destination node stream
would give different results depending on the stream processing order (when
called during processing of streams not strictly upstream from the destination
node).

--HG--
extra : rebase_source : 7a3432b2e6a20fa3f42be05776c178dfda64d166
2015-09-18 17:05:25 +12:00
Karl Tomlinson
49d09f7fa2 bug 1207003 coallesce external output chunks when silent r=padenot
AppendAndConsumeChunk() will always append a new chunk, but AppendNullData()
will use an existing null chunk if possible.

--HG--
extra : rebase_source : b00a131433e5548d2d5bb90303cf4d2e9568419b
2015-09-09 20:07:19 +12:00
Karl Tomlinson
1dcbc7744e bug 1207003 remove unnecessary EnsureTrack() call r=padenot
EnsureTrack() will be called in AdvanceOutputSegment(), if not blocked.

--HG--
extra : rebase_source : 1fe290135e2314bc518e8f67b6a98eddc6cf7768
2015-09-09 18:41:50 +12:00
Karl Tomlinson
026a99369a bug 1205540 account for active inputs and skip processing when streams are inactive r=padenot
--HG--
extra : rebase_source : 20eca7c13b9757fc9c79ee414a7b4c2c8da26be2
2015-09-18 00:03:00 +12:00
Carsten "Tomcat" Book
1ae732f5ba Backed out 5 changesets (bug 1205540) for Assertion Failurs in m2-e10s tests on a CLOSED TREE
Backed out changeset e89d8182d588 (bug 1205540)
Backed out changeset abace4cdec06 (bug 1205540)
Backed out changeset b3f6e1db7233 (bug 1205540)
Backed out changeset 0d122cb34921 (bug 1205540)
Backed out changeset 4de5f87180fb (bug 1205540)
2015-09-18 16:36:33 +02:00
Karl Tomlinson
abcc44d6d5 bug 1205540 account for active inputs and skip processing when streams are inactive r=padenot
--HG--
extra : rebase_source : ad55142a54728e7ed2dab8edefbe87547e09d85a
2015-09-18 00:03:00 +12:00
Robert O'Callahan
f8eee03d38 Bug 1189506. Remove invalid assertion. r=karlt
That's nothing stopping someone passing an AudioContext time of (e.g.)
zero to AudioBufferSourceNode::Stop and OscillatorNode::Start/Stop, which
can get turned into a negative time here. Those nodes can handle negative
start/stop times just fine.

--HG--
extra : commitid : I6TtkZTlLRg
extra : rebase_source : 64e73f9ff30572f789cf4887acad97116aba33f3
2015-09-16 16:31:12 +12:00