Closed Bug 1641161 Opened 8 months ago Closed 8 months ago

Preparation for Linearize AudioContextOperation resolution


(Core :: Audio/Video: MediaStreamGraph, task)




Tracking Status
firefox78 --- fixed


(Reporter: karlt, Assigned: karlt)




(6 files, 1 obsolete file)

Some clean-up to prepare for fixing bug 1285290.

Apparently this pref is already set when the tests are run on CI,
but it is not being set when running a single test or subdir.

Tracks remove themselves from the graph after DestroyImpl() and so should not
be added again after this.

These methods are now invoked only on the MediaTrack removing the possibility
of calling the wrong method.

Depends on D76797

This will permit passing an AudioContextOperationControlMessage* to other

Depends on D76798

There is a small logic change here when
!audioTrackPresent && audioCallbackDriver && !IsStarted() &&
graphOutputChannelCount != audioCallbackDriver->OutputChannelCount()
Now, no driver change is scheduled in that situation.

Depends on D76802

On the graph thread, mLifecycleState is known to be LIFECYCLE_RUNNING.
OpenAudioInputImpl(), CloseAudioInputImpl(), AddAudioOutputImpl() are called
only from ControlMessage::Run(), not RunDuringShutdown().

These conditions were first added in
but I don't know why.

Comment on attachment 9151998 [details]
Bug 1285290 move code to choose the next GraphDriver to CheckDriver() r?padenot

Revision D76803 was moved to bug 1285290. Setting attachment 9151998 [details] to obsolete.

Attachment #9151998 - Attachment is obsolete: true
Pushed by
Bug 1285290 set prefs on two crashtests to allow autoplay r=padenot
Bug 1285290 don't add destroyed tracks to graph from Increment/DecrementSuspendCount r=padenot
Bug 1285290 move AudioContextOperationControlMessage out of function scope r=padenot
Bug 1285290 alias move() to std::move() in MediaTrackGraph.cpp and AudioContext.cpp r=padenot
remove some graph-thread LIFECYCLE_RUNNING conditions r=padenot
Bug 1285290 Document suspend/resume accounting wrt ApplyAudioContextOperation() r=padenot
You need to log in before you can comment on or make changes to this bug.