Title: [267486] trunk
Revision
267486
Author
[email protected]
Date
2020-09-23 10:07:18 -0700 (Wed, 23 Sep 2020)

Log Message

webaudio/AudioBufferSource/audiobuffersource-playbackrate.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=216827

Reviewed by Darin Adler.

Source/WebCore:

AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping() would hit an assertion inside
finish() because finish() was already called earlier when calling updateSchedulingInfo().
updateSchedulingInfo() already takes care of calling finish() when we're done playing.
Address the issue by only calling finish() if hasFinished() returns false.

No new tests, unskipped existing test.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):

LayoutTests:

Unskip test that is no longer crashing.

* TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (267485 => 267486)


--- trunk/LayoutTests/ChangeLog	2020-09-23 17:00:06 UTC (rev 267485)
+++ trunk/LayoutTests/ChangeLog	2020-09-23 17:07:18 UTC (rev 267486)
@@ -1,3 +1,14 @@
+2020-09-23  Chris Dumez  <[email protected]>
+
+        webaudio/AudioBufferSource/audiobuffersource-playbackrate.html is crashing
+        https://bugs.webkit.org/show_bug.cgi?id=216827
+
+        Reviewed by Darin Adler.
+
+        Unskip test that is no longer crashing.
+
+        * TestExpectations:
+
 2020-09-23  Philippe Normand  <[email protected]>
 
         Unreviewed, add ios baseline for media/media-can-play-av1.html

Modified: trunk/LayoutTests/TestExpectations (267485 => 267486)


--- trunk/LayoutTests/TestExpectations	2020-09-23 17:00:06 UTC (rev 267485)
+++ trunk/LayoutTests/TestExpectations	2020-09-23 17:07:18 UTC (rev 267486)
@@ -333,9 +333,6 @@
 webaudio/AudioBufferSource/audiobuffersource-detune-modulation.html [ Pass Failure ]
 webaudio/AudioBufferSource/audiobuffersource-playbackrate-modulation.html [ Pass Failure ]
 
-# This WebAudio test is crashing in debug since its import from Blink.
-[ Debug ] webaudio/AudioBufferSource/audiobuffersource-playbackrate.html [ Crash ]
-
 webkit.org/b/176929 imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html [ Pass Failure ]
 
 # Requires BroadcastChannel.

Modified: trunk/Source/WebCore/ChangeLog (267485 => 267486)


--- trunk/Source/WebCore/ChangeLog	2020-09-23 17:00:06 UTC (rev 267485)
+++ trunk/Source/WebCore/ChangeLog	2020-09-23 17:07:18 UTC (rev 267486)
@@ -1,3 +1,20 @@
+2020-09-23  Chris Dumez  <[email protected]>
+
+        webaudio/AudioBufferSource/audiobuffersource-playbackrate.html is crashing
+        https://bugs.webkit.org/show_bug.cgi?id=216827
+
+        Reviewed by Darin Adler.
+
+        AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping() would hit an assertion inside
+        finish() because finish() was already called earlier when calling updateSchedulingInfo().
+        updateSchedulingInfo() already takes care of calling finish() when we're done playing.
+        Address the issue by only calling finish() if hasFinished() returns false.
+
+        No new tests, unskipped existing test.
+
+        * Modules/webaudio/AudioBufferSourceNode.cpp:
+        (WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):
+
 2020-09-23  Andres Gonzalez  <[email protected]>
 
         Fix for accessibility/aria-combobox-control-owns-elements.html in isolated tree mode.

Modified: trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp (267485 => 267486)


--- trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp	2020-09-23 17:00:06 UTC (rev 267485)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp	2020-09-23 17:07:18 UTC (rev 267486)
@@ -176,7 +176,8 @@
                 memset(m_destinationChannels[i] + index, 0, sizeof(float) * framesToProcess);
         }
 
-        finish();
+        if (!hasFinished())
+            finish();
         return true;
     }
     return false;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to