Title: [178355] releases/WebKitGTK/webkit-2.6/Source/WebCore
- Revision
- 178355
- Author
- [email protected]
- Date
- 2015-01-13 03:40:38 -0800 (Tue, 13 Jan 2015)
Log Message
Merge r177279 - [GStreamer] the webkitwebsrc element can stale
https://bugs.webkit.org/show_bug.cgi?id=138425
Patch by Xavier Claessens <[email protected]> on 2014-12-15
Reviewed by Philippe Normand.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(removeTimeoutSources):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog (178354 => 178355)
--- releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog 2015-01-13 11:35:09 UTC (rev 178354)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog 2015-01-13 11:40:38 UTC (rev 178355)
@@ -1,3 +1,15 @@
+2014-12-15 Xavier Claessens <[email protected]>
+
+ [GStreamer] the webkitwebsrc element can stale
+ https://bugs.webkit.org/show_bug.cgi?id=138425
+
+ Reviewed by Philippe Normand.
+
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (removeTimeoutSources):
+ (webKitWebSrcStart):
+ (webKitWebSrcChangeState):
+
2014-12-14 Ryosuke Niwa <[email protected]>
REGRESSION(r160182): Fragment parser doesn't close a form element with a close tag
Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp (178354 => 178355)
--- releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 2015-01-13 11:35:09 UTC (rev 178354)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 2015-01-13 11:40:38 UTC (rev 178355)
@@ -139,6 +139,7 @@
guint64 requestedOffset;
+ gboolean pendingStart;
GThreadSafeMainLoopSource startSource;
GThreadSafeMainLoopSource stopSource;
GThreadSafeMainLoopSource needDataSource;
@@ -379,7 +380,8 @@
{
WebKitWebSrcPrivate* priv = src->priv;
- priv->startSource.cancel();
+ if (!priv->pendingStart)
+ priv->startSource.cancel();
priv->needDataSource.cancel();
priv->enoughDataSource.cancel();
priv->seekSource.cancel();
@@ -449,6 +451,7 @@
GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ priv->pendingStart = FALSE;
priv->corsAccessCheck = CORSNoCheck;
if (!priv->uri) {
@@ -543,12 +546,14 @@
switch (transition) {
case GST_STATE_CHANGE_READY_TO_PAUSED:
GST_DEBUG_OBJECT(src, "READY->PAUSED");
+ priv->pendingStart = TRUE;
gst_object_ref(src);
priv->startSource.schedule("[WebKit] webKitWebSrcStart", std::function<void()>(std::bind(webKitWebSrcStart, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
break;
case GST_STATE_CHANGE_PAUSED_TO_READY:
GST_DEBUG_OBJECT(src, "PAUSED->READY");
+ priv->pendingStart = FALSE;
// cancel pending sources
removeTimeoutSources(src);
gst_object_ref(src);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes