Commit Graph

179 Commits

Author SHA1 Message Date
Karl Tomlinson
90952063bd bug 1223670 assert that connected streams have the same graph r=padenot 2015-12-03 17:38:34 +13:00
Paul Adenot
30cffb87bc Bug 1203585 - Update the MediaStreamGraph code to lock properly. r=jesup 2015-12-01 11:48:02 +01:00
Karl Tomlinson
1dc38a6c5b bug 1224022 produce memory report after processing main thread messages r=padenot
which may add new streams.
2015-11-13 18:58:16 +13:00
David Anderson
b8222ee457 Decouple SharedRGBImage and PlanarYCbCrImage from ImageContainer. (bug 1222910, r=mattwoodrow) 2015-11-17 00:09:01 -08:00
sajitk
1fe7d9c5ea Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-15 14:49:01 +01:00
Wes Kocher
5df00b60d3 Backed out changeset 1e5f3d1151d6 (bug 1219480) for cpp unittest bustage CLOSED TREE 2015-11-11 09:36:56 -08:00
sajitk
aec22fe652 Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-11 06:52:00 +01:00
Alastor Wu
427ecbec0e Bug 1218593 - switch back to the AudioCallbackDriver when there is new audio again. r=padenot 2015-11-09 16:32:00 +08:00
Paul Adenot
ff754370e2 Bug 1219403 - Remove MOZ_ASSERT for AssertOnGraphThreadOrNotRunning since it returns void and asserts inside, on a CLOSED TREE. 2015-11-05 11:28:00 +01:00
Paul Adenot
e758e73586 Bug 1219403 - Account for the fact that MediaStream::Destroy can be run safely
on the main thread during shutdown.
2015-11-05 11:10:22 +01:00
Paul Adenot
429a772dc9 Bug 1219403 - r=karlt 2015-11-05 09:36:25 +01:00
Karl Tomlinson
1b3fb0584f 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.
2015-10-22 22:14:46 +13:00
Karl Tomlinson
11a0bdaaa2 bug 1217625 add a means to schedule a callback after processing on the graph thread r=padenot 2015-10-22 18:47:57 +13:00
Birunthan Mohanathas
f6aa64ea3b Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Andreas Pehrson
cc10fa57e7 Bug 1216417 - Add logging for audio and video output changes in MSG. r=roc 2015-10-29 13:19:51 +08:00
Andreas Pehrson
d1a6cef904 Bug 1216417 - Make sure audio output streams are created after adding an audio output. r=baku,roc 2015-10-29 13:18:38 +08:00
Robert O'Callahan
31f1e9e87e Bug 1215699. Ensure that AudioGraphDriver uses the MediaStreamGraph's AudioChannel. r=padenot 2015-10-23 16:43:15 +13:00
Sebastian Hengst
4706bb3c8c Backed out 2 changesets (bug 1215699, bug 1209994) for web platform failures. r=backout
Backed out changeset a8adf1f9d366 (bug 1209994)
Backed out changeset f5ed98fdc16e (bug 1215699)
2015-10-24 15:38:03 +02:00
Robert O'Callahan
d7bd5491e6 Bug 1215699. Ensure that AudioGraphDriver uses the MediaStreamGraph's AudioChannel. r=padenot 2015-10-23 16:43:15 +13:00
Julian Seward
2cac2342c2 Bug 1216059 - SourceMediaStream::TrackData::mResamplerChannelCount is used uninitialised. r=padenot. 2015-10-20 12:01:08 +02:00
Nathan Froyd
9c5965b035 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
2015-10-18 01:24:48 -04:00
Bobby Holley
904a00b8f7 Bug 1208656 - Grab the tail dispatch each time in case the runnable spins the event loop. r=khuey
If the runnable spins the event loop, we may end up firing the tail dispatcher,
which causes the AutoTaskDispatcher to be destroyed, after which point invoking
methods on it will crash. We need to grab it each time so that it will be lazily
instantiated as-needed.
2015-10-04 22:46:16 -07:00
Sotaro Ikeda
5748b37831 Bug 1186813 - Replace nsBaseHashtable::EnumerateRead() calls in dom/media/ with iterators r=cpearce 2015-09-30 06:40:54 -07:00
Andreas Pehrson
25a62b5356 Bug 1170958 - Refactor DOMMediaStream to contain a 3-stage track chain. r=roc
This lets us separate tracks by ownership like so:
* Input    - Owned by the producer of the DOMMediaStream (gUM etc.)
* Owned    - Contains Input tracks (per above) or tracks cloned tracks
             if this DOMMediaStream is a clone.
* Playback - Contains Owned tracks plus tracks addTrack()ed to this
             DOMMediaStream minus tracks removeTrack()ed from this
             DOMMediaStream.
2015-09-30 09:31:54 +08:00
Andreas Pehrson
8983eda7d6 Bug 1170958 - Allow MediaInputPort to lock to a specific input track. r=roc
Locking to specific tracks lets us dynamically remove and add single
tracks to a ProcessedMediaStream.
2015-09-30 09:31:53 +08:00
Karl Tomlinson
0d5bdc5f68 bug 1208327 make enum AudioContextOperation strongly typed and forward declare instead of including AudioContext.h r=roc
AudioContext.h is now exported only under mozilla.dom.
2015-09-25 08:49:03 +12:00
Wes Kocher
f7b883adf5 Backed out 9 changesets (bug 1170958) for frequent test_getUserMedia_addTrackRemoveTrack.html failures
Backed out changeset 277c1f8098d1 (bug 1170958)
Backed out changeset aa86bb9eea95 (bug 1170958)
Backed out changeset 8af8b85a4b26 (bug 1170958)
Backed out changeset ec1bf225e9cb (bug 1170958)
Backed out changeset 4a04ddca2b6b (bug 1170958)
Backed out changeset e85c9977a311 (bug 1170958)
Backed out changeset 16b40ff04e8f (bug 1170958)
Backed out changeset ad206925c84a (bug 1170958)
Backed out changeset 2106eccec79b (bug 1170958)
2015-09-25 13:08:55 -07:00
Andreas Pehrson
d75a595290 Bug 1170958 - Refactor DOMMediaStream to contain a 3-stage track chain. r=roc
This lets us separate tracks by ownership like so:
* Input    - Owned by the producer of the DOMMediaStream (gUM etc.)
* Owned    - Contains Input tracks (per above) or tracks cloned tracks
             if this DOMMediaStream is a clone.
* Playback - Contains Owned tracks plus tracks addTrack()ed to this
             DOMMediaStream minus tracks removeTrack()ed from this
             DOMMediaStream.
2015-09-25 23:23:18 +08:00
Andreas Pehrson
4d5fdf6d5f Bug 1170958 - Allow MediaInputPort to lock to a specific input track. r=roc
Locking to specific tracks lets us dynamically remove and add single
tracks to a ProcessedMediaStream.
2015-09-25 23:23:18 +08:00
Karl Tomlinson
b1e4999979 bug 1205540 make source stream available during RemoveInput r=padenot 2015-09-09 14:19:05 +12:00
Carsten "Tomcat" Book
2f26ad4c09 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
d1b165181f bug 1205540 make source stream available during RemoveInput r=padenot 2015-09-09 14:19:05 +12:00
Robert O'Callahan
a8ca01ae7c Bug 1189506. Make PlayAudio use GraphTimeToStreamTime. r=karlt 2015-09-08 17:19:03 +12:00
Robert O'Callahan
f48607cd58 Bug 1189506. Make PlayVideo use GraphTimeToStreamTime/StreamTimeToGraphTime and remove StreamTimeToGraphTimeWithBlocking. r=karlt 2015-09-08 17:18:01 +12:00
Robert O'Callahan
07e43466ca Bug 1189506. Relax assertions a bit. karlt 2015-09-08 17:14:43 +12:00
Robert O'Callahan
676bf564bc Bug 1189506. Use GraphTimeToStreamTime in PrepareUpdatesToMainThreadState. r=karlt 2015-09-08 17:12:01 +12:00
Robert O'Callahan
681077a383 Bug 1189506. Use mProcessedTime/mStateComputedTime in ProduceDataForStreamsBlockByBlock. karlt 2015-09-16 16:24:10 +12:00
Robert O'Callahan
b26b675bce Bug 1189506. Use mStateComputedTime in some places instead of passing aTo. r=karlt 2015-09-08 16:58:19 +12:00
Robert O'Callahan
dd69695e95 Bug 1189506. Use mProcessedTime in some places instead of passing aFrom. r=karlt 2015-09-16 16:23:14 +12:00
Robert O'Callahan
65d3b35f9c Bug 1189506. Call GraphTimeToStreamTime in ExtractPendingInput since we know no blocking time has been determined yet. r=karlt 2015-09-08 16:50:55 +12:00
Robert O'Callahan
1e1607b960 Bug 1189506. Call StreamTimeToGraphTime in MediaStreamGraphImpl::UpdateCurrentTimeForStreams, since we know blocking has been taken account of already there. r=karlt 2015-09-08 16:38:40 +12:00
Robert O'Callahan
6a6a1ca6f2 Bug 1189506. Remove INCLUDE_TRAILING_BLOCKED_INTERVAL from PlayVideo. r=karlt
A video frame whose timestamp is right at mStartBlocking should just be
rendered then, not delayed until the end of blocking.
2015-09-08 16:42:42 +12:00
Robert O'Callahan
05252357e5 Bug 1189506. Create StreamTimeToGraphTime/GraphTimeToStreamTime that don't take account of blocking, and call them from AudioNodeStream. r=karlt 2015-09-16 16:35:16 +12:00
Robert O'Callahan
884e41f677 Bug 1189506. Set mStartBlocking in UpdateCurrentTimeForStreams to indicate that blocking time has been processed. r=karlt 2015-09-08 15:55:40 +12:00
Robert O'Callahan
180b783274 Bug 1189506. Rename StreamTimeToGraphTime/GraphTimeToStreamTime to ...WithBlocking. r=karlt 2015-09-08 15:41:00 +12:00
Robert O'Callahan
b57a7561f2 Bug 1189506. Inline StreamNotifyOutput/StreamNotifyFinished. r=karlt 2015-09-05 00:45:14 +12:00
Robert O'Callahan
a78cd682bb Bug 1189506. No need to pass aNextCurrentTime to UpdateCurrentTimeForStreams. r=karlt 2015-09-05 00:42:53 +12:00
Robert O'Callahan
126d65d956 Bug 1189506. Move setting of mStateComputedTime to OneIteration so it's near setting mProcessedTime. r=karlt 2015-09-05 00:41:15 +12:00
Robert O'Callahan
6d9ca357cf Bug 1189506. Factor out code from OneIteration into helper methods. r=karlt 2015-09-05 00:26:48 +12:00
Robert O'Callahan
bf86a1a2e3 Bug 1189506. Remove unused mFlushSourcesNow/mFlushSourcesOnNextIteration. r=karlt 2015-09-05 00:20:17 +12:00