searching for reviewer(karlt)
b5e88a86b165f296f9cda3f05f3cbb3bee71d38e: Bug 969322 - make :-moz-window-inactive state follow GDK_WINDOW_STATE_FOCUSED when drawing in titlebar r=karlt,stransky
Jim Mason <jmason@ibinx.com> - Wed, 06 Nov 2019 20:49:07 +0000 - rev 500968
Push
114166 by apavel@mozilla.com at Thu, 07 Nov 2019 10:04:01 +0000
Bug 969322 - make :-moz-window-inactive state follow GDK_WINDOW_STATE_FOCUSED when drawing in titlebar r=karlt,stransky
This patch fixes activation of the :-moz-window-inactive pseudoclass in client side decoration during drag operations. It depends on and complements the fixes provided in support of
Bug 1491808.
Obsoletes D50445
Differential Revision:
https://phabricator.services.mozilla.com/D51307
1f23e415ca9aba5f18a9511d78914150a2d5f692: Bug 1586293 - simplify thread passing after merging PVideoDecoderManager into PRemoteDecoderManager. r=karlt
Michael Froman <mfroman@mozilla.com> - Thu, 31 Oct 2019 01:19:16 +0000 - rev 499914
Push
114163 by aiakab@mozilla.com at Thu, 31 Oct 2019 10:03:38 +0000
Bug 1586293 - simplify thread passing after merging PVideoDecoderManager into PRemoteDecoderManager. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D49021
e2a1281e7b8e0ed9e4a57e689e65c77114ac7c65: Bug 1591810 - Restore deleted wpt metadata after wpt-sync. r=karlt
Cosmin Sabou <csabou@mozilla.com> - Tue, 29 Oct 2019 05:40:08 +0000 - rev 499561
Push
114161 by ncsoregi@mozilla.com at Tue, 29 Oct 2019 21:34:24 +0000
Bug 1591810 - Restore deleted wpt metadata after wpt-sync. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D50897
9705aa1abff2ca780090165b1e6fb7e8b776c325: Bug 1587244 - Allow NaN in IIR filter output. r=karlt
Paul Adenot <paul@paul.cx> - Sun, 20 Oct 2019 21:52:31 +0000 - rev 498309
Push
114157 by nbeleuzu@mozilla.com at Mon, 21 Oct 2019 22:00:13 +0000
Bug 1587244 - Allow NaN in IIR filter output. r=karlt
It's perfectly possible to create unstable filter, that can easily go to
infinity, so this assert is not valid.
Differential Revision:
https://phabricator.services.mozilla.com/D49608
6ecf31593df4637e62d0e053fe9ce1d8885258b2: Bug 1499597 - Don't clamp the Q of a BiquadFilterNode when in low-pass and high-pass mode. r=karlt
Paul Adenot <paul@paul.cx> - Fri, 18 Oct 2019 01:52:39 +0000 - rev 498171
Push
114157 by nbeleuzu@mozilla.com at Mon, 21 Oct 2019 22:00:13 +0000
Bug 1499597 - Don't clamp the Q of a BiquadFilterNode when in low-pass and high-pass mode. r=karlt
Bug 1265395 implemented the new filter equations from
https://github.com/webaudio/web-audio-api/commit/a6842f2f733911a8ac6b330a405eac19878adc15,
but missed removing the clamping.
Differential Revision:
https://phabricator.services.mozilla.com/D49600
bd3e04ade52aa7a1cd9847672cc91633154f3961: Bug 1587622 - Use MOZ_ASSERT_UNREACHABLE() instead of double-conversion's UNREACHABLE() in DOM media code. r=karlt
Ryan VanderMeulen <ryanvm@gmail.com> - Fri, 18 Oct 2019 01:49:06 +0000 - rev 498170
Push
114157 by nbeleuzu@mozilla.com at Mon, 21 Oct 2019 22:00:13 +0000
Bug 1587622 - Use MOZ_ASSERT_UNREACHABLE() instead of double-conversion's UNREACHABLE() in DOM media code. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D48880
c21e289239ec32eddf142203956f6b3d230a98ec: Bug 1585671 - Add a WPT to test that the delayTime of a DelayNode in a cycle is clamped to 128 samples. r=karlt
Paul Adenot <paul@paul.cx> - Thu, 03 Oct 2019 10:02:56 +0000 - rev 496155
Push
114143 by rgurzau@mozilla.com at Mon, 07 Oct 2019 09:35:08 +0000
Bug 1585671 - Add a WPT to test that the delayTime of a DelayNode in a cycle is clamped to 128 samples. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D47931
aa300ad3651452f203d4a66a2609eafb3035bfb2: Bug 1585671 - Add a WPT to test the minimum duration of cycles with a DelayNode in a feedback loop. r=karlt
Paul Adenot <paul@paul.cx> - Thu, 03 Oct 2019 10:04:04 +0000 - rev 496154
Push
114143 by rgurzau@mozilla.com at Mon, 07 Oct 2019 09:35:08 +0000
Bug 1585671 - Add a WPT to test the minimum duration of cycles with a DelayNode in a feedback loop. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D47930
3be5bafbf1bc30fb415259813f2dee6413f3682e: Bug 1585671 - Add a WPT to test that cycles without DelayNodes are muted. r=karlt
Paul Adenot <paul@paul.cx> - Thu, 03 Oct 2019 10:03:58 +0000 - rev 496153
Push
114143 by rgurzau@mozilla.com at Mon, 07 Oct 2019 09:35:08 +0000
Bug 1585671 - Add a WPT to test that cycles without DelayNodes are muted. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D47929
9ea7aabf10fbf326e43daaa88b30f477b4ee3c32: Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 10:23:02 +0000 - rev 495984
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
This renames the following (in alphabetical order, non-exhaustive):
AudioCaptureStream -> AudioCaptureTrack
AudioNodeStream -> AudioNodeTrack
AudioNodeExternalInputStream -> AudioNodeExternalInputTrack
DirectMediaStreamTrackListener -> DirectMediaTrackListener
MediaStream -> MediaTrack
- Note that there's also dom::MediaTrack. Namespaces differentiate them.
MediaStreamGraph -> MediaTrackGraph
MediaStreamTrackListener -> MediaTrackListener
MSG -> MTG (in comments)
ProcessedMediaStream -> ProcessedMediaTrack
SharedDummyStream -> SharedDummyTrack
SourceMediaStream -> SourceMediaTrack
StreamTime -> TrackTime
TrackUnionStream -> ForwardedInputTrack
- Because this no longer takes a union of anything, but only a single track
as input.
Other minor classes, members and comments have been updated to reflect these
name changes.
Differential Revision:
https://phabricator.services.mozilla.com/D46146
6a9a41e0bf240b95c454922542fc2cbdd0d2afd1: Bug 1454998 - Remove AudioNodeStream::SampleRate(). r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 10:22:55 +0000 - rev 495983
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Remove AudioNodeStream::SampleRate(). r=karlt
AudioNodeStream is a subclass of MediaStream, which now exposes a
public const mSampleRate member.
Differential Revision:
https://phabricator.services.mozilla.com/D47688
7cd5ea4167b6a84da615d02ab362507ac507ab8a: Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 10:22:53 +0000 - rev 495982
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
This change mainly removes the `mTracks` member from MediaStream and moves all
associated members up a level, so that a MediaStream in practice represents a
single track.
Classes will be renamed in a future patch to reflect this.
Other changes include:
The new `mEnded` member of MediaStream changes meaning to only become true when
all data in the stream has been processed. It stems from
StreamTracks::Track::mEnded which used to become true as soon as the last bit of
data had been added to a track, and there could still be data in the track that
would get processed in future iterations. We are moving towards not having any
future data in tracks, which is why this change is ok to make -- keeping the old
behavior will soon not make sense.
TrackUnionStream is changed to no longer take a list of streams as input and
forward the union of their tracks to itself. Instead it's limited to having one
track as input at a time.
The autofinishing functionality that TrackUnionStream had before has been
transformed into an autoending functionality to allow it to defer ending until
its been told that it's ok to end through the control API. This lets a single
TrackUnionStream span the lifetime of multiple inputs, which will be useful for
making DecodedStream spec compliant with HTMLMediaElement::CaptureStream(), and
for implementing the currently discussed MediaRecorder::ReplaceTrack(), to name
a few potential use cases.
AudioNodeStreams used to only have a track (and thus an AudioSegment) if the
EXTERNAL_OUTPUT flag was enabled on them. With all MediaStreams now representing
a track, AudioNodeStreams inherently have an AudioSegment as a member. It is
however only used with data if the EXTERNAL_OUTPUT flag is enabled.
Differential Revision:
https://phabricator.services.mozilla.com/D45821
3f763ede55c323688602bfac7dead71f31ec4fb5: Bug 1454998 - Remove calls to SetStreamOrderDirty() after affecting MediaStreams' finished state. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 10:22:51 +0000 - rev 495981
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Remove calls to SetStreamOrderDirty() after affecting MediaStreams' finished state. r=karlt
The stream order does not depend on streams' finished state, so these calls are
unnecessary.
Differential Revision:
https://phabricator.services.mozilla.com/D47687
398d147851684faa0f397a2e206e83f6b0b98f02: Bug 1454998 - Remove track blocking from MediaInputPort. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 10:22:49 +0000 - rev 495980
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Remove track blocking from MediaInputPort. r=karlt
This functionality is not used since we moved to only having a single track per
MediaStream (
bug 1493613).
Differential Revision:
https://phabricator.services.mozilla.com/D47686
b310c9ac5d35190a51972cc85e0d0b90956e8a7a: Bug 1454998 - Move TrackInfo::mTrackId away from TrackID as they're independent. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 10:22:46 +0000 - rev 495978
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Move TrackInfo::mTrackId away from TrackID as they're independent. r=karlt
TrackID has been used to denote tracks that are part of MediaStreams in the
MediaStreamGraph. The TrackInfo::mTrackId IDs are no longer used in the
MediaStream APIs and as such it's not necessary that they have the type TrackID.
This patch changes TrackInfo::mTrackId to be of type uint32_t instead, as that
is the type of Mp4parseTrackInfo::track_id, which is assigned to
TrackInfo::mTrackId as the sole remaining non-static user.
Other users set a static trackId of `1` or `2`, and as such remain supported by
this change.
Differential Revision:
https://phabricator.services.mozilla.com/D46763
80417bdfa72112c6f9472c29ce49e8ff81e8c688: Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 08:18:16 +0000 - rev 495965
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
This renames the following (in alphabetical order, non-exhaustive):
AudioCaptureStream -> AudioCaptureTrack
AudioNodeStream -> AudioNodeTrack
AudioNodeExternalInputStream -> AudioNodeExternalInputTrack
DirectMediaStreamTrackListener -> DirectMediaTrackListener
MediaStream -> MediaTrack
- Note that there's also dom::MediaTrack. Namespaces differentiate them.
MediaStreamGraph -> MediaTrackGraph
MediaStreamTrackListener -> MediaTrackListener
MSG -> MTG (in comments)
ProcessedMediaStream -> ProcessedMediaTrack
SharedDummyStream -> SharedDummyTrack
SourceMediaStream -> SourceMediaTrack
StreamTime -> TrackTime
TrackUnionStream -> ForwardedInputTrack
- Because this no longer takes a union of anything, but only a single track
as input.
Other minor classes, members and comments have been updated to reflect these
name changes.
Differential Revision:
https://phabricator.services.mozilla.com/D46146
8ff03f2f4ca2da0761fb285f8c403b51765a19cf: Bug 1454998 - Remove AudioNodeStream::SampleRate(). r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 08:17:59 +0000 - rev 495964
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Remove AudioNodeStream::SampleRate(). r=karlt
AudioNodeStream is a subclass of MediaStream, which now exposes a
public const mSampleRate member.
Differential Revision:
https://phabricator.services.mozilla.com/D47688
ae6056b748d1eb640cfe5d457f39054d66346a8e: Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 08:17:51 +0000 - rev 495963
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
This change mainly removes the `mTracks` member from MediaStream and moves all
associated members up a level, so that a MediaStream in practice represents a
single track.
Classes will be renamed in a future patch to reflect this.
Other changes include:
The new `mEnded` member of MediaStream changes meaning to only become true when
all data in the stream has been processed. It stems from
StreamTracks::Track::mEnded which used to become true as soon as the last bit of
data had been added to a track, and there could still be data in the track that
would get processed in future iterations. We are moving towards not having any
future data in tracks, which is why this change is ok to make -- keeping the old
behavior will soon not make sense.
TrackUnionStream is changed to no longer take a list of streams as input and
forward the union of their tracks to itself. Instead it's limited to having one
track as input at a time.
The autofinishing functionality that TrackUnionStream had before has been
transformed into an autoending functionality to allow it to defer ending until
its been told that it's ok to end through the control API. This lets a single
TrackUnionStream span the lifetime of multiple inputs, which will be useful for
making DecodedStream spec compliant with HTMLMediaElement::CaptureStream(), and
for implementing the currently discussed MediaRecorder::ReplaceTrack(), to name
a few potential use cases.
AudioNodeStreams used to only have a track (and thus an AudioSegment) if the
EXTERNAL_OUTPUT flag was enabled on them. With all MediaStreams now representing
a track, AudioNodeStreams inherently have an AudioSegment as a member. It is
however only used with data if the EXTERNAL_OUTPUT flag is enabled.
Differential Revision:
https://phabricator.services.mozilla.com/D45821
ab721cb2066b9c2635734723121d433735f5317c: Bug 1454998 - Remove calls to SetStreamOrderDirty() after affecting MediaStreams' finished state. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 08:12:42 +0000 - rev 495962
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Remove calls to SetStreamOrderDirty() after affecting MediaStreams' finished state. r=karlt
The stream order does not depend on streams' finished state, so these calls are
unnecessary.
Differential Revision:
https://phabricator.services.mozilla.com/D47687
d0e8d413cd1c6aa414cf167b085f635ae857e408: Bug 1454998 - Remove track blocking from MediaInputPort. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 08:12:28 +0000 - rev 495961
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Remove track blocking from MediaInputPort. r=karlt
This functionality is not used since we moved to only having a single track per
MediaStream (
bug 1493613).
Differential Revision:
https://phabricator.services.mozilla.com/D47686
6105a4176729d7f05462aa6a32eaf0c1617752ce: Bug 1454998 - Move TrackInfo::mTrackId away from TrackID as they're independent. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Wed, 02 Oct 2019 08:12:09 +0000 - rev 495959
Push
114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1454998 - Move TrackInfo::mTrackId away from TrackID as they're independent. r=karlt
TrackID has been used to denote tracks that are part of MediaStreams in the
MediaStreamGraph. The TrackInfo::mTrackId IDs are no longer used in the
MediaStream APIs and as such it's not necessary that they have the type TrackID.
This patch changes TrackInfo::mTrackId to be of type uint32_t instead, as that
is the type of Mp4parseTrackInfo::track_id, which is assigned to
TrackInfo::mTrackId as the sole remaining non-static user.
Other users set a static trackId of `1` or `2`, and as such remain supported by
this change.
Differential Revision:
https://phabricator.services.mozilla.com/D46763
c01855ea7c2daabc3ded72eddd2fb3e3e0cc55a2: Bug 1583512 - Remove remaining references to doppler shift from AudioBufferSourceNode. r=karlt
Paul Adenot <paul@paul.cx> - Tue, 24 Sep 2019 23:52:21 +0000 - rev 494890
Push
114131 by dluca@mozilla.com at Thu, 26 Sep 2019 09:47:34 +0000
Bug 1583512 - Remove remaining references to doppler shift from AudioBufferSourceNode. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D46934
c4bc95efde9a5741833abe92febd7ad1875cc070: Bug 1580659 - part5 : stop audio capturing explicitly. r=chunmin,karlt
Alastor Wu <alwu@mozilla.com> - Tue, 24 Sep 2019 06:55:39 +0000 - rev 494862
Push
114131 by dluca@mozilla.com at Thu, 26 Sep 2019 09:47:34 +0000
Bug 1580659 - part5 : stop audio capturing explicitly. r=chunmin,karlt
As we start audio capturing explicitly, we should also take responsibility to stop audio capturing when we don't need it.
We were hiding too many details on `AudioChannelAgent` before, which allow us hard to know who and where we handle audio capturing.
Differential Revision:
https://phabricator.services.mozilla.com/D45752
91381001afa54790caacf130b273ff04d62f877f: Bug 1580659 - part3.5 : suspend nsNPAPIPluginInstance should not affect its muted state. r=karlt
alwu <alwu@mozilla.com> - Tue, 24 Sep 2019 21:17:30 +0000 - rev 494860
Push
114131 by dluca@mozilla.com at Thu, 26 Sep 2019 09:47:34 +0000
Bug 1580659 - part3.5 : suspend nsNPAPIPluginInstance should not affect its muted state. r=karlt
The suspend state and muted state are two different things, so changing the suspended state should not affect on the muted state.
As nsAPI doesn't provide suspending API, both muting and suspending are actually sharing the same implementation, which is to mute/unmute nsAPI.
Although we have used two separate variables to store muted and suspended state, in order to make them independent, we still don't want to unexpectedly unmute nsAPI when resuming from suspended state.
Therefore, before unmuting nsAPI, we should consider both states.
Differential Revision:
https://phabricator.services.mozilla.com/D46319
b52d87d498b845c4b095c1d6db587b5955ce2554: Bug 1580659 - part3 : call 'WindowAudioCaptureChanged()' explicitly. r=chunmin,karlt
Alastor Wu <alwu@mozilla.com> - Tue, 24 Sep 2019 06:55:43 +0000 - rev 494859
Push
114131 by dluca@mozilla.com at Thu, 26 Sep 2019 09:47:34 +0000
Bug 1580659 - part3 : call 'WindowAudioCaptureChanged()' explicitly. r=chunmin,karlt
Previously `AudioChannelService` called `WindowAudioCaptureChanged()` implicitly whenever we added the agent to the service [1], which made the audio capturing callback happen before finishing registration.
There are two drawbacks,
(1) it's hard to be aware of that the audio capturing callback would be called before finishing `AudioChannelAgent::NotifyStartedPlaying()` [2], which causes unclear call flow.
(2) If someone checks `AudioChannelAgent::IsPlayingStarted()` [3] inside audio capturing callback, then we would find that the `mIsRegToService` is false even if we have registered the agent to `AudioChannelService` because `mIsRegToService` is updated in the last line in the `AudioChannelAgent::NotifyStartedPlaying()`, but the audio capturing callback could be executed before that.
[1] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelService.cpp#723
[2] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelAgent.cpp#144
[3] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelAgent.cpp#285
Differential Revision:
https://phabricator.services.mozilla.com/D45750
276827f54c71887dd4ef53ddaa7342d670f34838: Bug 1580659 - part5 : stop audio capturing explicitly. r=chunmin,karlt
Alastor Wu <alwu@mozilla.com> - Sat, 21 Sep 2019 02:21:58 +0000 - rev 494630
Push
114125 by cbrindusan@mozilla.com at Tue, 24 Sep 2019 16:12:51 +0000
Bug 1580659 - part5 : stop audio capturing explicitly. r=chunmin,karlt
As we start audio capturing explicitly, we should also take responsibility to stop audio capturing when we don't need it.
We were hiding too many details on `AudioChannelAgent` before, which allow us hard to know who and where we handle audio capturing.
Differential Revision:
https://phabricator.services.mozilla.com/D45752
b712f15af6196e5263a1724297f76e1f7c74718d: Bug 1580659 - part3.5 : suspend nsNPAPIPluginInstance should not affect its muted state. r=karlt
Alastor Wu <alwu@mozilla.com> - Mon, 23 Sep 2019 22:22:15 +0000 - rev 494628
Push
114125 by cbrindusan@mozilla.com at Tue, 24 Sep 2019 16:12:51 +0000
Bug 1580659 - part3.5 : suspend nsNPAPIPluginInstance should not affect its muted state. r=karlt
The suspend state and muted state are two different things, so changing the suspended state should not affect on the muted state.
As nsAPI doesn't provide suspending API, both muting and suspending are actually sharing the same implementation, which is to mute/unmute nsAPI.
Although we have used two separate variables to store muted and suspended state, in order to make them independent, we still don't want to unexpectedly unmute nsAPI when resuming from suspended state.
Therefore, before unmuting nsAPI, we should consider both states.
Differential Revision:
https://phabricator.services.mozilla.com/D46319
c25bfc8b31b12a96bddf1b71e54542d1082764ae: Bug 1580659 - part3 : call 'WindowAudioCaptureChanged()' explicitly. r=chunmin,karlt
Alastor Wu <alwu@mozilla.com> - Wed, 18 Sep 2019 21:59:32 +0000 - rev 494627
Push
114125 by cbrindusan@mozilla.com at Tue, 24 Sep 2019 16:12:51 +0000
Bug 1580659 - part3 : call 'WindowAudioCaptureChanged()' explicitly. r=chunmin,karlt
Previously `AudioChannelService` called `WindowAudioCaptureChanged()` implicitly whenever we added the agent to the service [1], which made the audio capturing callback happen before finishing registration.
There are two drawbacks,
(1) it's hard to be aware of that the audio capturing callback would be called before finishing `AudioChannelAgent::NotifyStartedPlaying()` [2], which causes unclear call flow.
(2) If someone checks `AudioChannelAgent::IsPlayingStarted()` [3] inside audio capturing callback, then we would find that the `mIsRegToService` is false even if we have registered the agent to `AudioChannelService` because `mIsRegToService` is updated in the last line in the `AudioChannelAgent::NotifyStartedPlaying()`, but the audio capturing callback could be executed before that.
[1] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelService.cpp#723
[2] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelAgent.cpp#144
[3] https://searchfox.org/mozilla-central/rev/a777ff11b6d700a698c61e5bd17e73b044304494/dom/audiochannel/AudioChannelAgent.cpp#285
Differential Revision:
https://phabricator.services.mozilla.com/D45750
be26864d5a00f770c8c5f4da0a65d259326b13df: Bug 1581315 part 2. Fix incorrect behavior of PannerNode::SetRolloffFactor. r=karlt
Boris Zbarsky <bzbarsky@mit.edu> - Tue, 17 Sep 2019 22:15:54 +0000 - rev 494499
Push
114122 by csabou@mozilla.com at Mon, 23 Sep 2019 21:59:47 +0000
Bug 1581315 part 2. Fix incorrect behavior of PannerNode::SetRolloffFactor. r=karlt
Our implementation modified the state, in addition to throwing the exception.
And the tests not only didn't test for this, but wouldn't have reached that
code anyway, due to the harness giving up as soon as anything failed.
Differential Revision:
https://phabricator.services.mozilla.com/D46106
c0ff29989db1ec1e500ced76b38feb67390a685d: Bug 1547063 - fix advance scaling for emoji. r=karlt
Lee Salzman <lsalzman@mozilla.com> - Mon, 16 Sep 2019 16:46:27 +0000 - rev 493435
Push
114090 by rgurzau@mozilla.com at Tue, 17 Sep 2019 09:38:30 +0000
Bug 1547063 - fix advance scaling for emoji. r=karlt
This fixes the regression in reftests/text/color-opacity-rtl-[12].html.
Differential Revision:
https://phabricator.services.mozilla.com/D45956
7b54bb7c31f67cb2e15b7720ab47c675bb001a00: Bug 1547063 - fix advance scaling for emoji. r=karlt
Lee Salzman <lsalzman@mozilla.com> - Mon, 16 Sep 2019 01:20:33 +0000 - rev 493307
Push
114087 by csabou@mozilla.com at Mon, 16 Sep 2019 09:47:02 +0000
Bug 1547063 - fix advance scaling for emoji. r=karlt
This fixes the regression in reftests/text/color-opacity-rtl-[12].html.
This also reverts an earlier erroneous change to WPT content-counter-004.xht
that was done in https://hg.mozilla.org/mozilla-central/rev/c969a93b0ca7
to silence an unexpected-pass that accidentally arose because of matching
failures in test/ref when we switched to GetFTGlyphExtents in
https://hg.mozilla.org/mozilla-central/rev/003f5a79c6a7. Now that the
actual scaling issue is fixed, the behavior is again consistent with Cairo
metrics causing the failure to reappear like before with Cairo metrics.
Differential Revision:
https://phabricator.services.mozilla.com/D45956
7a17b2a9a3d45e61ee3f074815d2d609721b2308: Bug 1575271 - Keep a SharedDummyStream in MediaEncoder for access to the MediaStreamGraph. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Thu, 12 Sep 2019 11:26:46 +0000 - rev 492835
Push
114078 by nerli@mozilla.com at Thu, 12 Sep 2019 22:41:47 +0000
Bug 1575271 - Keep a SharedDummyStream in MediaEncoder for access to the MediaStreamGraph. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D45195
9e517b69b1b69bb9f1a7d1150539a0f036cc4631: Bug 1575271 - Add crashtest. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Tue, 10 Sep 2019 05:29:36 +0000 - rev 492834
Push
114078 by nerli@mozilla.com at Thu, 12 Sep 2019 22:41:47 +0000
0d51d763ed327b1bd1bce29426f918f3034d95bf: Bug 1577184 - Guard against a shutting down AudioContext in MediaElementAudioSourceNode. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Tue, 03 Sep 2019 23:33:54 +0000 - rev 491640
Push
114031 by cbrindusan@mozilla.com at Wed, 04 Sep 2019 16:40:14 +0000
Bug 1577184 - Guard against a shutting down AudioContext in MediaElementAudioSourceNode. r=karlt
Depends on D44486
Differential Revision:
https://phabricator.services.mozilla.com/D44487
de9dfc1b30b02f5da547fa333736021afdc609dd: Bug 1577184 - Add crashtest. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Tue, 03 Sep 2019 23:31:25 +0000 - rev 491639
Push
114031 by cbrindusan@mozilla.com at Wed, 04 Sep 2019 16:40:14 +0000
4feb20ebb67d7315aa24d5e1e02fd84579600f98: Bug 1577534 - Give MediaStreamGraphs individual ShutdownBlockers. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Mon, 02 Sep 2019 23:51:18 +0000 - rev 491268
Push
114020 by rmaries@mozilla.com at Tue, 03 Sep 2019 09:51:48 +0000
Bug 1577534 - Give MediaStreamGraphs individual ShutdownBlockers. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D44380
5f1b0d254f435998f9c30d5ef366c53b6652774e: Bug 1577537 - Catch AppendMessage calls that could be too late. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Mon, 02 Sep 2019 14:57:47 +0000 - rev 491205
Push
114017 by dluca@mozilla.com at Mon, 02 Sep 2019 21:47:39 +0000
Bug 1577537 - Catch AppendMessage calls that could be too late. r=karlt
If all streams and all ports have been destroyed, there's no guarantee that the
graph is still alive. By forbidding AppendMessage calls after this point, we can
catch bugs with the offending callsite still being in the stack.
Differential Revision:
https://phabricator.services.mozilla.com/D44223
b209136a5ca8a352cd9e8a79723af73b2f01175c: Bug 1576656 - Only allow setting an AudioBuffer as convolution impulse if it has the same sample-rate than the associated AudioContext. r=karlt
Paul Adenot <paul@paul.cx> - Mon, 02 Sep 2019 13:06:29 +0000 - rev 491193
Push
114017 by dluca@mozilla.com at Mon, 02 Sep 2019 21:47:39 +0000
Bug 1576656 - Only allow setting an AudioBuffer as convolution impulse if it has the same sample-rate than the associated AudioContext. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D43477
3291687c7cf75dd2b7cf64d722aa974757d044ee: Bug 1572878 - Compute the reverb on the main thread. r=karlt
Paul Adenot <paul@paul.cx> - Mon, 02 Sep 2019 12:58:51 +0000 - rev 491192
Push
114017 by dluca@mozilla.com at Mon, 02 Sep 2019 21:47:39 +0000
Bug 1572878 - Compute the reverb on the main thread. r=karlt
This is necessary to keep the invariant that once the setter returns, the reverb
is ready to process.
Differential Revision:
https://phabricator.services.mozilla.com/D43476
af6f58a905731171e5bbd6cf746537df4e658c71: Bug 1572878 - Add a new method on AudioNodeStream, to be able to set a Reverb object on a ConvolverNode, from the main thread, using a ControlMessage. r=karlt
Paul Adenot <paul@paul.cx> - Mon, 02 Sep 2019 12:58:40 +0000 - rev 491191
Push
114017 by dluca@mozilla.com at Mon, 02 Sep 2019 21:47:39 +0000
Bug 1572878 - Add a new method on AudioNodeStream, to be able to set a Reverb object on a ConvolverNode, from the main thread, using a ControlMessage. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D42900
4aa6364cc6e8cec0aa885a1bb0e623eb9f672c02: Bug 1577537 - Catch AppendMessage calls that could be too late. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Mon, 02 Sep 2019 12:39:12 +0000 - rev 491151
Push
114017 by dluca@mozilla.com at Mon, 02 Sep 2019 21:47:39 +0000
Bug 1577537 - Catch AppendMessage calls that could be too late. r=karlt
If all streams and all ports have been destroyed, there's no guarantee that the
graph is still alive. By forbidding AppendMessage calls after this point, we can
catch bugs with the offending callsite still being in the stack.
Differential Revision:
https://phabricator.services.mozilla.com/D44223
087b063910da4bb4d7d346e4a75404bf55de6da7: Bug 1576938 - Make MediaInputPort::Init work on an already-disconnected port. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Thu, 29 Aug 2019 23:45:02 +0000 - rev 490854
Push
114006 by malexandru@mozilla.com at Fri, 30 Aug 2019 22:01:27 +0000
Bug 1576938 - Make MediaInputPort::Init work on an already-disconnected port. r=karlt
Depends on D44020
Differential Revision:
https://phabricator.services.mozilla.com/D44021
2f4ccf9252b971b8dc165ea86848d91a5d274acf: Bug 1576938 - Allow a live MediaStreamTrack to be created with a destroyed input stream. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Thu, 29 Aug 2019 23:45:04 +0000 - rev 490853
Push
114006 by malexandru@mozilla.com at Fri, 30 Aug 2019 22:01:27 +0000
Bug 1576938 - Allow a live MediaStreamTrack to be created with a destroyed input stream. r=karlt
This is a valid use case when cloning a MediaStreamTrack, if the source track of
the clone has had its input stream destroyed out-of-band and that change hasn't
been asynchronously communicated to the source track yet, i.e., it's still live.
Depends on D44019
Differential Revision:
https://phabricator.services.mozilla.com/D44020
e830fea4c442f23ee56f4c33ddb42666df0f6e7a: Bug 1576938 - Add crashtest. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Thu, 29 Aug 2019 23:26:37 +0000 - rev 490852
Push
114006 by malexandru@mozilla.com at Fri, 30 Aug 2019 22:01:27 +0000
6bf377de1057cd0bbdbe888e8e20693f926c7d03: Bug 1577495 - Use a single SharedDummyStream per HTMLMediaElement. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Thu, 29 Aug 2019 23:11:19 +0000 - rev 490851
Push
114006 by malexandru@mozilla.com at Fri, 30 Aug 2019 22:01:27 +0000
Bug 1577495 - Use a single SharedDummyStream per HTMLMediaElement. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D43982
47561c3ad75bf98d8f3d7845e1cbfd0717026c5f: Bug 1562827 - [Linux] Merge nsWindow::ReparentNativeWidgetInternal() to nsWindow::SetParent() and use nsWindow::ReparentNativeWidget() for toplevel windows only, r=karlt
Martin Stransky <stransky@redhat.com> - Wed, 28 Aug 2019 23:48:44 +0000 - rev 490728
Push
114001 by csabou@mozilla.com at Fri, 30 Aug 2019 04:44:11 +0000
Bug 1562827 - [Linux] Merge nsWindow::ReparentNativeWidgetInternal() to nsWindow::SetParent() and use nsWindow::ReparentNativeWidget() for toplevel windows only, r=karlt
- Use former ReparentNativeWidgetInternal() code in nsWindow::SetParent().
Also update mToplevelParentWindow for Wayland to hold default toplevel window.
- Make nsWindow::ReparentNativeWidget() to work on toplevel windows only and use only gtk_window_set_transient_for() to reparent
a toplevel window. Also update mToplevelParentWindow for Wayland.
Differential Revision:
https://phabricator.services.mozilla.com/D43600
08faaf9d4ef714eea2daea43c137cd02609830e5: Bug 1573102 - Remove MediaStreamGraphImpl strong-refs from MediaEngineWebRTCAudio. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Thu, 29 Aug 2019 13:33:08 +0000 - rev 490701
Push
114000 by csabou@mozilla.com at Thu, 29 Aug 2019 22:00:33 +0000
Bug 1573102 - Remove MediaStreamGraphImpl strong-refs from MediaEngineWebRTCAudio. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D43668
c9807cc4506756639c2d48803fa5fc302871bab6: Bug 1573102 - Remove mGraph from MediaStreamTrack::MSGListener. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Thu, 29 Aug 2019 13:32:59 +0000 - rev 490700
Push
114000 by csabou@mozilla.com at Thu, 29 Aug 2019 22:00:33 +0000
Bug 1573102 - Remove mGraph from MediaStreamTrack::MSGListener. r=karlt
To accomodate this, MediaStreamTrackListener::NotifyEnded/Removed get an
additional aGraph argument. NotifyEnabledStateChanged is getting it too, for
completion.
Differential Revision:
https://phabricator.services.mozilla.com/D43667
85ef72ebde439c5de258af43faa9bd83a6e23b26: Bug 1573102 - Remove mGraph from HTMLMediaElement::OutputMediaStream and OutputStreamManager. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Thu, 29 Aug 2019 13:32:50 +0000 - rev 490699
Push
114000 by csabou@mozilla.com at Thu, 29 Aug 2019 22:00:33 +0000
Bug 1573102 - Remove mGraph from HTMLMediaElement::OutputMediaStream and OutputStreamManager. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D43666
f61dd73cac3a8fde46b76f20c7da192471a0b26e: Bug 1573102 - Remove mGraph from HTMLMediaElement::MediaStreamRenderer. r=karlt
Andreas Pehrson <apehrson@mozilla.com> - Thu, 29 Aug 2019 13:32:31 +0000 - rev 490698
Push
114000 by csabou@mozilla.com at Thu, 29 Aug 2019 22:00:33 +0000
Bug 1573102 - Remove mGraph from HTMLMediaElement::MediaStreamRenderer. r=karlt
Differential Revision:
https://phabricator.services.mozilla.com/D43665