Title: [216642] trunk/Source/WebCore
Revision
216642
Author
[email protected]
Date
2017-05-10 17:32:56 -0700 (Wed, 10 May 2017)

Log Message

Unreviewed, rolling out r216630.

This change caused assertion failures with webrtc LayoutTests.

Reverted changeset:

"RELEASE_ASSERT at
WebAudioSourceProviderAVFObjC::provideInput()"
https://bugs.webkit.org/show_bug.cgi?id=171711
http://trac.webkit.org/changeset/216630

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (216641 => 216642)


--- trunk/Source/WebCore/ChangeLog	2017-05-11 00:29:37 UTC (rev 216641)
+++ trunk/Source/WebCore/ChangeLog	2017-05-11 00:32:56 UTC (rev 216642)
@@ -1,3 +1,16 @@
+2017-05-10  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r216630.
+
+        This change caused assertion failures with webrtc LayoutTests.
+
+        Reverted changeset:
+
+        "RELEASE_ASSERT at
+        WebAudioSourceProviderAVFObjC::provideInput()"
+        https://bugs.webkit.org/show_bug.cgi?id=171711
+        http://trac.webkit.org/changeset/216630
+
 2017-05-09  Sam Weinig  <[email protected]>
 
         Remove support for legacy Notifications

Modified: trunk/Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm (216641 => 216642)


--- trunk/Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm	2017-05-11 00:29:37 UTC (rev 216641)
+++ trunk/Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm	2017-05-11 00:32:56 UTC (rev 216642)
@@ -80,9 +80,7 @@
     }
 
     WebAudioBufferList list { *m_outputDescription };
-    ASSERT(list.bufferCount() == bus->numberOfChannels());
-    unsigned channelCount = std::min(list.bufferCount(), bus->numberOfChannels());
-    for (unsigned i = 0; i < channelCount; ++i) {
+    for (unsigned i = 0; i < list.bufferCount(); ++i) {
         AudioChannel& channel = *bus->channel(i);
         auto* buffer = list.buffer(i);
         buffer->mNumberChannels = 1;
@@ -139,8 +137,11 @@
     m_dataSource->setInputFormat(*m_inputDescription);
     m_dataSource->setOutputFormat(*m_outputDescription);
 
-    if (m_client)
-        m_client->setFormat(numberOfChannels, sampleRate);
+    RefPtr<WebAudioSourceProviderAVFObjC> protectedThis = this;
+    callOnMainThread([protectedThis = WTFMove(protectedThis), numberOfChannels, sampleRate] {
+        if (protectedThis->m_client)
+            protectedThis->m_client->setFormat(numberOfChannels, sampleRate);
+    });
 }
 
 void WebAudioSourceProviderAVFObjC::unprepare()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to