[gnome-continuous] Revert "Revert "manifest: add webkit patch""



commit 77824a2848a2d48015d5e1403bd7535cf5081197
Author: Vadim Rutkovsky <vrutkovs redhat com>
Date:   Wed Mar 18 17:48:11 2015 +0100

    Revert "Revert "manifest: add webkit patch""
    
    Webkitgtk3 cannot be built without that patch
    This reverts commit bbe9d63e453cef08649cc2dfe11bd64fe44af705.

 manifest.json                              |    1 +
 patches/webkitgtk-2.4.8-gmutexlocker.patch |  296 ++++++++++++++++++++++++++++
 2 files changed, 297 insertions(+), 0 deletions(-)
---
diff --git a/manifest.json b/manifest.json
index 88245aa..651630c 100644
--- a/manifest.json
+++ b/manifest.json
@@ -758,6 +758,7 @@
                {"src": "tarball:http://www.webkitgtk.org/releases/webkitgtk-2.4.6.tar.xz";,
                 "name": "webkitgtk3",
                 "checksum": "6fef4aa8d4a2668e03ea15472a71396ea7b776bbe56ad9459a4124b823c11457",
+                "patches": ["webkitgtk-2.4.8-gmutexlocker.patch"],
                 "config-opts": ["--enable-introspection",
                                 "--enable-debug-symbols=min",
                                 "--disable-maintainer-mode"]},
diff --git a/patches/webkitgtk-2.4.8-gmutexlocker.patch b/patches/webkitgtk-2.4.8-gmutexlocker.patch
new file mode 100644
index 0000000..c2d7fb3
--- /dev/null
+++ b/patches/webkitgtk-2.4.8-gmutexlocker.patch
@@ -0,0 +1,296 @@
+From 54ebdfb51731ce81d8c93156439ca40b8b99f3af Mon Sep 17 00:00:00 2001
+From: Your Name <you example com>
+Date: Fri, 13 Mar 2015 11:18:57 +0000
+Subject: [PATCH] GMutextLocker fix
+
+---
+ .../gstreamer/MediaPlayerPrivateGStreamerBase.cpp  |  6 +--
+ .../graphics/gstreamer/VideoSinkGStreamer.cpp      | 10 ++---
+ .../gstreamer/WebKitWebSourceGStreamer.cpp         | 44 +++++++++++-----------
+ 3 files changed, 30 insertions(+), 30 deletions(-)
+
+diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp 
b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
+index b6069b9..8dffe15 100644
+--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
++++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
+@@ -316,7 +316,7 @@ void MediaPlayerPrivateGStreamerBase::muteChanged()
+ #if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL) && !USE(COORDINATED_GRAPHICS)
+ PassRefPtr<BitmapTexture> MediaPlayerPrivateGStreamerBase::updateTexture(TextureMapper* textureMapper)
+ {
+-    GMutexLocker lock(m_bufferMutex);
++    WebCore::GMutexLocker lock(m_bufferMutex);
+     if (!m_buffer)
+         return nullptr;
+ 
+@@ -366,7 +366,7 @@ void MediaPlayerPrivateGStreamerBase::triggerRepaint(GstBuffer* buffer)
+     g_return_if_fail(GST_IS_BUFFER(buffer));
+ 
+     {
+-        GMutexLocker lock(m_bufferMutex);
++        WebCore::GMutexLocker lock(m_bufferMutex);
+         gst_buffer_replace(&m_buffer, buffer);
+     }
+ 
+@@ -398,7 +398,7 @@ void MediaPlayerPrivateGStreamerBase::paint(GraphicsContext* context, const IntR
+     if (!m_player->visible())
+         return;
+ 
+-    GMutexLocker lock(m_bufferMutex);
++    WebCore::GMutexLocker lock(m_bufferMutex);
+     if (!m_buffer)
+         return;
+ 
+diff --git a/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp 
b/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
+index 651c7f4..325ea20 100644
+--- a/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
++++ b/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
+@@ -118,7 +118,7 @@ static gboolean webkitVideoSinkTimeoutCallback(gpointer data)
+     WebKitVideoSink* sink = reinterpret_cast<WebKitVideoSink*>(data);
+     WebKitVideoSinkPrivate* priv = sink->priv;
+ 
+-    GMutexLocker lock(priv->bufferMutex);
++    WebCore::GMutexLocker lock(priv->bufferMutex);
+     GstBuffer* buffer = priv->buffer;
+     priv->buffer = 0;
+     priv->timeoutId = 0;
+@@ -140,7 +140,7 @@ static GstFlowReturn webkitVideoSinkRender(GstBaseSink* baseSink, GstBuffer* buf
+     WebKitVideoSink* sink = WEBKIT_VIDEO_SINK(baseSink);
+     WebKitVideoSinkPrivate* priv = sink->priv;
+ 
+-    GMutexLocker lock(priv->bufferMutex);
++    WebCore::GMutexLocker lock(priv->bufferMutex);
+ 
+     if (priv->unlocked)
+         return GST_FLOW_OK;
+@@ -279,7 +279,7 @@ static void webkitVideoSinkGetProperty(GObject* object, guint propertyId, GValue
+ 
+ static void unlockBufferMutex(WebKitVideoSinkPrivate* priv)
+ {
+-    GMutexLocker lock(priv->bufferMutex);
++    WebCore::GMutexLocker lock(priv->bufferMutex);
+ 
+     if (priv->buffer) {
+         gst_buffer_unref(priv->buffer);
+@@ -305,7 +305,7 @@ static gboolean webkitVideoSinkUnlockStop(GstBaseSink* baseSink)
+     WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv;
+ 
+     {
+-        GMutexLocker lock(priv->bufferMutex);
++        WebCore::GMutexLocker lock(priv->bufferMutex);
+         priv->unlocked = false;
+     }
+ 
+@@ -330,7 +330,7 @@ static gboolean webkitVideoSinkStart(GstBaseSink* baseSink)
+ {
+     WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv;
+ 
+-    GMutexLocker lock(priv->bufferMutex);
++    WebCore::GMutexLocker lock(priv->bufferMutex);
+     priv->unlocked = false;
+     return TRUE;
+ }
+diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 
b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+index ab9b3f5..57b817f 100644
+--- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
++++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+@@ -346,7 +346,7 @@ static void webKitWebSrcSetProperty(GObject* object, guint propID, const GValue*
+ 
+     switch (propID) {
+     case PROP_IRADIO_MODE: {
+-        GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++        WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+         priv->iradioMode = g_value_get_boolean(value);
+         break;
+     }
+@@ -364,7 +364,7 @@ static void webKitWebSrcGetProperty(GObject* object, guint propID, GValue* value
+     WebKitWebSrc* src = WEBKIT_WEB_SRC(object);
+     WebKitWebSrcPrivate* priv = src->priv;
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     switch (propID) {
+     case PROP_IRADIO_MODE:
+         g_value_set_boolean(value, priv->iradioMode);
+@@ -417,7 +417,7 @@ static gboolean webKitWebSrcStop(WebKitWebSrc* src)
+ 
+     ASSERT(isMainThread());
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+ 
+     bool seeking = priv->seekID;
+ 
+@@ -476,7 +476,7 @@ static gboolean webKitWebSrcStart(WebKitWebSrc* src)
+ 
+     ASSERT(isMainThread());
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+ 
+     priv->startID = 0;
+     priv->corsAccessCheck = CORSNoCheck;
+@@ -573,7 +573,7 @@ static GstStateChangeReturn webKitWebSrcChangeState(GstElement* element, GstStat
+         return ret;
+     }
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     switch (transition) {
+     case GST_STATE_CHANGE_READY_TO_PAUSED:
+         GST_DEBUG_OBJECT(src, "READY->PAUSED");
+@@ -604,7 +604,7 @@ static gboolean webKitWebSrcQueryWithParent(GstPad* pad, GstObject* parent, GstQ
+         gst_query_parse_duration(query, &format, NULL);
+ 
+         GST_DEBUG_OBJECT(src, "duration query in format %s", gst_format_get_name(format));
+-        GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++        WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+         if (format == GST_FORMAT_BYTES && src->priv->size > 0) {
+             gst_query_set_duration(query, format, src->priv->size);
+             result = TRUE;
+@@ -612,7 +612,7 @@ static gboolean webKitWebSrcQueryWithParent(GstPad* pad, GstObject* parent, GstQ
+         break;
+     }
+     case GST_QUERY_URI: {
+-        GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++        WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+         gst_query_set_uri(query, src->priv->uri);
+         result = TRUE;
+         break;
+@@ -653,7 +653,7 @@ static gchar* webKitWebSrcGetUri(GstURIHandler* handler)
+     WebKitWebSrc* src = WEBKIT_WEB_SRC(handler);
+     gchar* ret;
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     ret = g_strdup(src->priv->uri);
+     return ret;
+ }
+@@ -668,7 +668,7 @@ static gboolean webKitWebSrcSetUri(GstURIHandler* handler, const gchar* uri, GEr
+         return FALSE;
+     }
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+ 
+     g_free(priv->uri);
+     priv->uri = 0;
+@@ -704,7 +704,7 @@ static gboolean webKitWebSrcNeedDataMainCb(WebKitWebSrc* src)
+ 
+     ASSERT(isMainThread());
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     // already stopped
+     if (!priv->needDataID)
+         return FALSE;
+@@ -725,7 +725,7 @@ static void webKitWebSrcNeedDataCb(GstAppSrc*, guint length, gpointer userData)
+ 
+     GST_DEBUG_OBJECT(src, "Need more data: %u", length);
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     if (priv->needDataID || !priv->paused) {
+         return;
+     }
+@@ -739,7 +739,7 @@ static gboolean webKitWebSrcEnoughDataMainCb(WebKitWebSrc* src)
+ 
+     ASSERT(isMainThread());
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     // already stopped
+     if (!priv->enoughDataID)
+         return FALSE;
+@@ -760,7 +760,7 @@ static void webKitWebSrcEnoughDataCb(GstAppSrc*, gpointer userData)
+ 
+     GST_DEBUG_OBJECT(src, "Have enough data");
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     if (priv->enoughDataID || priv->paused) {
+         return;
+     }
+@@ -774,7 +774,7 @@ static gboolean webKitWebSrcSeekMainCb(WebKitWebSrc* src)
+ 
+     ASSERT(isMainThread());
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     // already stopped
+     if (!priv->seekID)
+         return FALSE;
+@@ -792,7 +792,7 @@ static gboolean webKitWebSrcSeekDataCb(GstAppSrc*, guint64 offset, gpointer user
+     WebKitWebSrcPrivate* priv = src->priv;
+ 
+     GST_DEBUG_OBJECT(src, "Seeking to offset: %" G_GUINT64_FORMAT, offset);
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     if (offset == priv->offset && priv->requestedOffset == priv->offset)
+         return TRUE;
+ 
+@@ -811,7 +811,7 @@ static gboolean webKitWebSrcSeekDataCb(GstAppSrc*, guint64 offset, gpointer user
+ void webKitWebSrcSetMediaPlayer(WebKitWebSrc* src, WebCore::MediaPlayer* player)
+ {
+     ASSERT(player);
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     src->priv->player = player;
+ }
+ 
+@@ -841,7 +841,7 @@ char* StreamingClient::createReadBuffer(size_t requestedSize, size_t& actualSize
+ 
+     mapGstBuffer(buffer);
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     priv->buffer = adoptGRef(buffer);
+     locker.unlock();
+ 
+@@ -867,7 +867,7 @@ void StreamingClient::handleResponseReceived(const ResourceResponse& response, C
+         return;
+     }
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+ 
+     priv->corsAccessCheck = corsAccessCheck;
+ 
+@@ -966,7 +966,7 @@ void StreamingClient::handleDataReceived(const char* data, int length)
+     WebKitWebSrc* src = WEBKIT_WEB_SRC(m_src);
+     WebKitWebSrcPrivate* priv = src->priv;
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+ 
+     GST_LOG_OBJECT(src, "Have %lld bytes of data", priv->buffer ? static_cast<long 
long>(gst_buffer_get_size(priv->buffer.get())) : length);
+ 
+@@ -1035,7 +1035,7 @@ void StreamingClient::handleNotifyFinished()
+ 
+     GST_DEBUG_OBJECT(src, "Have EOS");
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     if (!priv->seekID) {
+         locker.unlock();
+         gst_app_src_end_of_stream(priv->appsrc);
+@@ -1194,7 +1194,7 @@ void ResourceHandleStreamingClient::wasBlocked(ResourceHandle*)
+ 
+     GST_ERROR_OBJECT(src, "Request was blocked");
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     uri.reset(g_strdup(src->priv->uri));
+     locker.unlock();
+ 
+@@ -1208,7 +1208,7 @@ void ResourceHandleStreamingClient::cannotShowURL(ResourceHandle*)
+ 
+     GST_ERROR_OBJECT(src, "Cannot show URL");
+ 
+-    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
++    WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
+     uri.reset(g_strdup(src->priv->uri));
+     locker.unlock();
+ 
+-- 
+2.1.0
+


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]