Bug 155228 - [GStreamer] webaudio playback improvements
Summary: [GStreamer] webaudio playback improvements
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-09 01:55 PST by Philippe Normand
Modified: 2016-05-18 07:44 PDT (History)
2 users (show)

See Also:


Attachments
patch (4.17 KB, patch)
2016-03-09 02:08 PST, Philippe Normand
mcatanzaro: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews117 for mac-yosemite (856.34 KB, application/zip)
2016-03-09 03:08 PST, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 2016-03-09 01:55:07 PST
By default in Linux/PulseAudio the sink latency is 200ms, reducing this to 100ms in the WebAudio playback pipeline showed some good improvements. Another small improvement we can have one the webaudiosrc element is to configure the appsrc blocksize property according to the buffer size set on the webaudiosrc element.
Comment 1 Philippe Normand 2016-03-09 02:08:17 PST
Created attachment 273416 [details]
patch
Comment 2 Build Bot 2016-03-09 03:08:05 PST
Comment on attachment 273416 [details]
patch

Attachment 273416 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/946579

New failing tests:
js/function-apply.html
Comment 3 Build Bot 2016-03-09 03:08:09 PST
Created attachment 273420 [details]
Archive of layout-test-results from ews117 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews117  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 4 Philippe Normand 2016-03-09 03:10:34 PST
False positive :)
Comment 5 Michael Catanzaro 2016-05-17 08:22:59 PDT
Comment on attachment 273416 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=273416&action=review

> Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:232
> +        g_object_set(appsrc, "max-bytes", static_cast<guint64>(2 * priv->bufferSize), "block", TRUE,

Indeed, we always have to cast ints when using g_object_set with anything other than a gint, as the compiler cannot know the right size on its own. This would ideally be committed separately to draw attention to it, since it's a crash fix snuck into a performance improvement commit.
Comment 6 Philippe Normand 2016-05-18 07:39:14 PDT
Committed r201077: <http://trac.webkit.org/changeset/201077>