Title: [147278] trunk/Source/WebCore
- Revision
- 147278
- Author
- [email protected]
- Date
- 2013-03-30 03:41:17 -0700 (Sat, 30 Mar 2013)
Log Message
g_slist_reverse() may not be required in webKitWebAudioSrcLoop
https://bugs.webkit.org/show_bug.cgi?id=113568
Patch by Praveen R Jadhav <[email protected]> on 2013-03-30
Reviewed by Philippe Normand.
Decremental 'for' loop logic implemented to avoid using g_slist_reverse().
Original code - 2.025230 micro seconds per loop
Original code + patch - 1.964759 micro seconds per loop
This patch is covered by existing webaudio tests.
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcLoop):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (147277 => 147278)
--- trunk/Source/WebCore/ChangeLog 2013-03-30 08:59:54 UTC (rev 147277)
+++ trunk/Source/WebCore/ChangeLog 2013-03-30 10:41:17 UTC (rev 147278)
@@ -1,3 +1,20 @@
+2013-03-30 Praveen R Jadhav <[email protected]>
+
+ g_slist_reverse() may not be required in webKitWebAudioSrcLoop
+ https://bugs.webkit.org/show_bug.cgi?id=113568
+
+ Reviewed by Philippe Normand.
+
+ Decremental 'for' loop logic implemented to avoid using g_slist_reverse().
+
+ Original code - 2.025230 micro seconds per loop
+ Original code + patch - 1.964759 micro seconds per loop
+
+ This patch is covered by existing webaudio tests.
+
+ * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
+ (webKitWebAudioSrcLoop):
+
2013-03-30 Alexei Filippov <[email protected]>
Web Inspector: Fonts refactoring
Modified: trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp (147277 => 147278)
--- trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp 2013-03-30 08:59:54 UTC (rev 147277)
+++ trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp 2013-03-30 10:41:17 UTC (rev 147278)
@@ -355,7 +355,7 @@
GSList* channelBufferList = 0;
unsigned bufferSize = priv->framesToPull * sizeof(float);
- for (unsigned i = 0; i < g_slist_length(priv->pads); i++) {
+ for (int i = g_slist_length(priv->pads) - 1; i >= 0; i--) {
GstBuffer* channelBuffer = gst_buffer_new_and_alloc(bufferSize);
ASSERT(channelBuffer);
channelBufferList = g_slist_prepend(channelBufferList, channelBuffer);
@@ -368,12 +368,11 @@
priv->bus->setChannelMemory(i, reinterpret_cast<float*>(GST_BUFFER_DATA(channelBuffer)), priv->framesToPull);
#endif
}
- channelBufferList = g_slist_reverse(channelBufferList);
// FIXME: Add support for local/live audio input.
priv->provider->render(0, priv->bus, priv->framesToPull);
- for (unsigned i = 0; i < g_slist_length(priv->pads); i++) {
+ for (int i = g_slist_length(priv->pads) - 1; i >= 0; i--) {
GstPad* pad = static_cast<GstPad*>(g_slist_nth_data(priv->pads, i));
GstBuffer* channelBuffer = static_cast<GstBuffer*>(g_slist_nth_data(channelBufferList, i));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes