Title: [285022] trunk/Source/WebCore
- Revision
- 285022
- Author
- [email protected]
- Date
- 2021-10-29 02:15:15 -0700 (Fri, 29 Oct 2021)
Log Message
AudioMediaStreamTrackRendererUnit::render should handle the case of failing to pull samples from the first source
https://bugs.webkit.org/show_bug.cgi?id=232429
Reviewed by Eric Carlson.
In case we fail to pull samples from the first source, we should copy the data of the second source,
and so on until we actually copy data. Then we can start mixing data.
In case all pulls fail, we now output silence.
* platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (285021 => 285022)
--- trunk/Source/WebCore/ChangeLog 2021-10-29 09:13:24 UTC (rev 285021)
+++ trunk/Source/WebCore/ChangeLog 2021-10-29 09:15:15 UTC (rev 285022)
@@ -1,3 +1,16 @@
+2021-10-29 Youenn Fablet <[email protected]>
+
+ AudioMediaStreamTrackRendererUnit::render should handle the case of failing to pull samples from the first source
+ https://bugs.webkit.org/show_bug.cgi?id=232429
+
+ Reviewed by Eric Carlson.
+
+ In case we fail to pull samples from the first source, we should copy the data of the second source,
+ and so on until we actually copy data. Then we can start mixing data.
+ In case all pulls fail, we now output silence.
+
+ * platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:
+
2021-10-29 Martin Robinson <[email protected]>
opacity should flatten when combined with transform-style: preserve-3d
Modified: trunk/Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp (285021 => 285022)
--- trunk/Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp 2021-10-29 09:13:24 UTC (rev 285021)
+++ trunk/Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp 2021-10-29 09:15:15 UTC (rev 285022)
@@ -176,18 +176,14 @@
updateRenderSourcesIfNecessary();
- if (m_renderSources.isEmpty()) {
- actionFlags = kAudioUnitRenderAction_OutputIsSilence;
- return;
- }
-
// Mix all sources.
- bool isFirstSource = true;
+ bool hasCopiedData = false;
for (auto& source : m_renderSources) {
- source->pullSamples(ioData, sampleCount, sampleTime, hostTime, isFirstSource ? AudioSampleDataSource::Copy : AudioSampleDataSource::Mix);
- isFirstSource = false;
+ if (source->pullSamples(ioData, sampleCount, sampleTime, hostTime, hasCopiedData ? AudioSampleDataSource::Mix : AudioSampleDataSource::Copy))
+ hasCopiedData = true;
}
- return;
+ if (!hasCopiedData)
+ actionFlags = kAudioUnitRenderAction_OutputIsSilence;
}
} // namespace WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes