Changeset 228265 in webkit


Ignore:
Timestamp:
Feb 8, 2018 2:14:01 AM (6 years ago)
Author:
Philippe Normand
Message:

[GStreamer][WebAudio] No need for version check in each loop iteration
https://bugs.webkit.org/show_bug.cgi?id=182577

Reviewed by Xabier Rodriguez Calvar.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webkit_web_audio_src_init): Detect version once only, when creating the element.
(webKitWebAudioSrcLoop): Use boolean variable instead of checking the version every time.

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r228264 r228265  
     12018-02-08  Philippe Normand  <pnormand@igalia.com>
     2
     3        [GStreamer][WebAudio] No need for version check in each loop iteration
     4        https://bugs.webkit.org/show_bug.cgi?id=182577
     5
     6        Reviewed by Xabier Rodriguez Calvar.
     7
     8        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
     9        (webkit_web_audio_src_init): Detect version once only, when creating the element.
     10        (webKitWebAudioSrcLoop): Use boolean variable instead of checking the version every time.
     11
    1122018-02-08  Frederic Wang  <fwang@igalia.com>
    213
  • trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp

    r227902 r228265  
    7070
    7171    GRefPtr<GstBufferPool> pool;
     72
     73    bool enableGapBufferSupport;
    7274};
    7375
     
    193195    g_rec_mutex_init(&priv->mutex);
    194196    priv->task = adoptGRef(gst_task_new(reinterpret_cast<GstTaskFunction>(webKitWebAudioSrcLoop), src, nullptr));
     197
     198    // GAP buffer support is enabled only for GStreamer 1.12.5 because of a
     199    // memory leak that was fixed in that version.
     200    // https://bugzilla.gnome.org/show_bug.cgi?id=793067
     201    priv->enableGapBufferSupport = webkitGstCheckVersion(1, 12, 5);
    195202
    196203    gst_task_set_lock(priv->task.get(), &priv->mutex);
     
    354361        unmapGstBuffer(buffer.get());
    355362
    356         // This is enabled only for GStreamer 1.12.5 because of a memory leak that was fixed in that version.
    357         // https://bugzilla.gnome.org/show_bug.cgi?id=793067
    358         if (webkitGstCheckVersion(1, 12, 5)) {
    359             if (priv->bus->channel(i)->isSilent())
    360                 GST_BUFFER_FLAG_SET(buffer.get(), GST_BUFFER_FLAG_GAP);
    361         }
     363        if (priv->enableGapBufferSupport && priv->bus->channel(i)->isSilent())
     364            GST_BUFFER_FLAG_SET(buffer.get(), GST_BUFFER_FLAG_GAP);
    362365
    363366        if (failed)
Note: See TracChangeset for help on using the changeset viewer.