Commit Graph

53 Commits

Author SHA1 Message Date
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
Karl Tomlinson
8f279eaba8 Bug 1484046 reset variables for main thread buffer dropping logic on the same thread r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D3580

--HG--
extra : moz-landing-system : lando
2018-08-17 12:24:51 +00:00
Jeff Gilbert
5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Boris Zbarsky
9bdcffc985 Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8
The change to RootAccessible.cpp fixes an obvious bug introduced in bug 741707.

The visibility changes in gfx/thebes are because NS_DECL_ISUPPORTS has a
trailing "public:" that those classes were relying on to have public
constructors.

MozReview-Commit-ID: IeB8KIJCGhU
2018-02-12 15:44:40 -05:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Jean-Yves Avenard
9349efba14 Bug 1396515: Fix incorrect && and || operator placements. r=sylvestre
Includes some side 80 columns fix.

MozReview-Commit-ID: IXRoQfM0Hjc

--HG--
extra : rebase_source : 918cf87b2ce82c8de245dcb23cc359289ac5f21f
2017-09-04 11:27:43 +02:00
Karl Tomlinson
6ffb9a235f bug 1391482 generalize shared channel data from AudioBuffer as AudioChunk r=padenot
Although the AudioChunk buffer is still always a
ThreadSharedFloatArrayBufferList, 16 bit buffers will be permitted in a future
patch.

MozReview-Commit-ID: FPZ6VcX4C1q

--HG--
extra : rebase_source : dc0d82d5495383ab2aaca37a09d282dd3c747e83
2017-08-09 16:39:40 +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
a372b3e655 bug 1391482 generalize shared channel data from AudioBuffer as AudioChunk r=padenot
Although the AudioChunk buffer is still always a
ThreadSharedFloatArrayBufferList, 16 bit buffers will be permitted in a future
patch.

MozReview-Commit-ID: FPZ6VcX4C1q

--HG--
extra : rebase_source : dc0d82d5495383ab2aaca37a09d282dd3c747e83
2017-08-09 16:39:40 +12: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
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book
8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey
6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey
4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Paul Adenot
57ca60efa3 Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm
MozReview-Commit-ID: 1SG1KoVjivS

--HG--
extra : rebase_source : 3a4eb33a3402eca8a6fce31cd90e8edcc81c3eda
2017-04-04 13:47:47 +02:00
Andrea Marchesini
2abf88ce1f Bug 1329744 - AudioBuffer ctor updated, r=padenot 2017-01-10 21:30:28 +00: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
Andrea Marchesini
60ab8339e0 Bug 1288736 - Add some missing rv.SuppressException(), r=smaug 2016-07-22 16:50:10 +02:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Kyle Huey
c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Boris Zbarsky
20514713f3 Bug 1255718. Remove the unused JSContext argument of AudioBuffer::Create. r=ehsan 2016-03-11 16:43:31 -05: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
5620614cf8 bug 1221855 null-check mInputBuffer in SizeOfExcludingThis() r=padenot
--HG--
extra : rebase_source : bd3574578981a8dad9263aedf38a4331364e4d57
2015-11-06 15:00:17 +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
cc26ca0fff bug 1205558 remove unnecessary ScriptProcessorNodeEngine::mSource r=padenot
--HG--
extra : rebase_source : 11eb2a10320e4e8028266730f3208f2b8cbc314f
2015-09-29 14:30:40 +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
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
57f288f403 bug 1205540 provide querying whether engines need to continue processing even without input r=padenot
--HG--
extra : rebase_source : 08dfd9685c49b93a9ca113434f62d92de26f58e7
2015-09-09 08:54:03 +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
ee25bfb081 bug 1205540 provide querying whether engines need to continue processing even without input r=padenot
--HG--
extra : rebase_source : 76545deae4cdc929f1b3ce4d10065f99f21a2ec3
2015-09-09 08:54:03 +12:00
Robert O'Callahan
a320393b12 Bug 1189506. Pass AudioContext to AudioNodeStream::Create. r=karlt
--HG--
extra : commitid : 2WtlMxxGnj1
extra : rebase_source : 31d3c936c139df1348249df1f34e5206d38647db
2015-09-09 01:22:16 +12:00
Karl Tomlinson
e74d20e2da bug 1197028 use AudioBlock for web audio processing to reuse buffers shared downstream r=padenot
--HG--
extra : rebase_source : d2e403ae64a314177cba4d596ea235eb351ad3bc
2015-09-03 19:01:50 +12:00
Karl Tomlinson
e32bdd4030 bug 1197028 use AudioChunk::ChannelCount() r=padenot
--HG--
extra : rebase_source : 033220c221f33fb4230f1384427d24e9b0b01213
2015-09-03 17:30:16 +12:00
Karl Tomlinson
306e3b5c38 bug 1199559 write audioprocess input buffer in a format suitable for direct use by AudioBuffer r=padenot
saving copying.

This also avoids graph thread allocations when input is null.

--HG--
extra : rebase_source : f9d2d987076fd23ecf2ff37ab0008ef7eb50a278
2015-08-28 18:30:17 +12:00
Karl Tomlinson
46ff786925 bug 1197043 use flags to distinguish between external streams and events r=padenot
MediaStreamAudioDestinationNode does not need any main thread events because
mDOMStream provides GetCurrentTime to consumers.

MediaRecoder also does not use main thread current time.

--HG--
extra : rebase_source : e022dc12e8a0e67c70d4a617449e28e76288b57e
2015-08-13 16:13:34 +12:00
Karl Tomlinson
330a9459ea bug 1197043 move AudioNodeStream creation to stream class r=padenot
--HG--
extra : rebase_source : 2e399f5d59b057a0cca6a423481ac86f6fa2c507
2015-08-12 11:26:24 +12:00
Karl Tomlinson
3a15b165c6 bug 916387 keep ScriptProcessorNode alive after input is GCed r=padenot
--HG--
extra : rebase_source : a9f5d8f4c33845d1548c2daf53d7aced6d6e668b
2015-08-06 17:56:06 +12:00
Karl Tomlinson
487efc8f27 bug 1191649 determine ScriptProcessor connected status on main thread r=padenot
because stream inputs may be removed when only providing null data.

The ScriptProcessor is also kept alive when it has only input nodes so that it
is not garbage collected when its input nodes are collected.

--HG--
extra : rebase_source : ee70db1b3e13b212107e048620880b929c662ad6
2015-08-06 16:22:56 +12:00
Karl Tomlinson
b78f6f2712 bug 1191648 don't create audioprocess event when there is no listener r=padenot
Creating the event added a reference to the ScriptProcessorNode, which wasn't
released until the AudioProcessingEvent was destroyed in
nsCycleCollector::FreeSnowWhite().

If another event is dispatched before cycle collection considers the
ScriptProcessorNode, then the node will not be collected.

Also, the reference count of the ScriptProcessorNode is no longer toggled
because this seemed to interfere with the cycle collection process.

--HG--
extra : rebase_source : 41878e716fe3fcc8f46f518be2a50d050b8ed14c
2015-08-10 12:51:37 +12:00
Karl Tomlinson
d03299a57a bug 1191648 don't keep ScriptProcessorNode alive when it has no audioprocess listener r=padenot
--HG--
extra : rebase_source : 49b8c338a3cd645a67937a7584cba666512b31b6
2015-08-06 19:28:10 +12:00
Nicholas Nethercote
87b80f8c66 Bug 1188745 - Rename nsTArray::SizeOfExcludingThis() as ShallowSizeOfExcludingThis(). r=froydnj.
This makes it clearer that, unlike how SizeOf*() functions usually work, this
doesn't measure any children hanging off the array.

And do likewise for nsTObserverArray.

--HG--
extra : rebase_source : 6a8c8d8ffb53ad51b5773afea77126cdd767f149
2015-07-28 23:24:24 -07:00
Karl Tomlinson
7ca1ccc3cc bug 914392 don't check engine's Node existence in ProcessBlock r=padenot
If DestroyMediaStream() has cleared the node on the engine, then it will call
MediaStream::Destroy().  I doubt the additional code and cost of repeatedly
checking this is worth the savings in no-op events dispatched to main thread
between MediaStream::Destroy() on the main thread and destruction on the graph
thread.

Also ScriptProcessorNode should not be potentially ignoring its output buffer
immediately when the ScriptProcessor loses its last reference.  At least the
block currently being processed should output the output buffer.
(Deterministically playing the remainder of the output buffer would be best.)

--HG--
extra : rebase_source : 279f08808f4fbdbb41d67da0c3e495b65fdb24de
2015-07-14 23:11:59 +12:00
Karl Tomlinson
c9fab7e34e bug 914392 move mSharedBuffers ownership to engine r=padenot
so that it is always available.

--HG--
extra : rebase_source : b30ba835c2048a1316f436525fc98b695f7233bc
2015-07-14 22:51:44 +12:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Karl Tomlinson
7f8f4121f7 bug 1179662 specify AudioNode::mStream as AudioNodeStream r=padenot
--HG--
extra : rebase_source : 30cbe8f0b513063acf0e1c62078474f8f147a0ae
2015-07-02 17:36:07 +12:00
Andrea Marchesini
c1020e6762 Bug 1159290 - "Add final/override to WebAudio classes". r=padenot
--HG--
extra : rebase_source : 85f0d2997fdfefed17456d086c98c6f28d68fa26
2015-04-28 08:42:00 +02:00
Andreas Pehrson
442468bc0f Bug 1157137 - Fix WebAudio ScriptProcessorNode sometimes gaining high latency. r=padenot
--HG--
extra : rebase_source : f709358e82c59e898590cfb788a7c7d800fd5ada
2015-04-22 18:41:04 +08:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00