Title: [258840] trunk/Source/WebCore
Revision
258840
Author
[email protected]
Date
2020-03-23 07:35:25 -0700 (Mon, 23 Mar 2020)

Log Message

AudioTrackPrivateMediaStream recovers from a muted track very late
https://bugs.webkit.org/show_bug.cgi?id=209411

Reviewed by Eric Carlson.

In case of a muted track, the AudioSampleDataSource is not pushed any new sample.
When unmuting the tracks, pulled samples will be zeroes for some time until the newly pushed samples are used.
To fix this, we pause the audio player whenever muted/disabled/ended and restart playing when unmuted/enabled.
Manually tested.

* platform/mediastream/AudioTrackPrivateMediaStream.cpp:
(WebCore::AudioTrackPrivateMediaStream::updateRendererMutedState):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (258839 => 258840)


--- trunk/Source/WebCore/ChangeLog	2020-03-23 14:33:42 UTC (rev 258839)
+++ trunk/Source/WebCore/ChangeLog	2020-03-23 14:35:25 UTC (rev 258840)
@@ -1,5 +1,20 @@
 2020-03-23  Youenn Fablet  <[email protected]>
 
+        AudioTrackPrivateMediaStream recovers from a muted track very late
+        https://bugs.webkit.org/show_bug.cgi?id=209411
+
+        Reviewed by Eric Carlson.
+
+        In case of a muted track, the AudioSampleDataSource is not pushed any new sample.
+        When unmuting the tracks, pulled samples will be zeroes for some time until the newly pushed samples are used.
+        To fix this, we pause the audio player whenever muted/disabled/ended and restart playing when unmuted/enabled.
+        Manually tested.
+
+        * platform/mediastream/AudioTrackPrivateMediaStream.cpp:
+        (WebCore::AudioTrackPrivateMediaStream::updateRendererMutedState):
+
+2020-03-23  Youenn Fablet  <[email protected]>
+
         AudioMediaStreamTrackRendererCocoa does not recover from AudioSession interruption
         https://bugs.webkit.org/show_bug.cgi?id=209412
 

Modified: trunk/Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.cpp (258839 => 258840)


--- trunk/Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.cpp	2020-03-23 14:33:42 UTC (rev 258839)
+++ trunk/Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.cpp	2020-03-23 14:35:25 UTC (rev 258840)
@@ -139,7 +139,11 @@
 
 void AudioTrackPrivateMediaStream::updateRendererMutedState()
 {
-    m_renderer->setMuted(streamTrack().muted() || streamTrack().ended() || !streamTrack().enabled());
+    if (streamTrack().muted() || streamTrack().ended() || !streamTrack().enabled()) {
+        pause();
+        return;
+    }
+    play();
 }
 
 void AudioTrackPrivateMediaStream::trackEnded(MediaStreamTrackPrivate&)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to