summaryrefslogtreecommitdiffstats
path: root/abs/extra/community/gstreamer0.10/bgo555631.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/community/gstreamer0.10/bgo555631.patch')
-rw-r--r--abs/extra/community/gstreamer0.10/bgo555631.patch88
1 files changed, 0 insertions, 88 deletions
diff --git a/abs/extra/community/gstreamer0.10/bgo555631.patch b/abs/extra/community/gstreamer0.10/bgo555631.patch
deleted file mode 100644
index b9a18f4..0000000
--- a/abs/extra/community/gstreamer0.10/bgo555631.patch
+++ /dev/null
@@ -1,88 +0,0 @@
---- libs/gst/base/gstbasetransform.c 2008/10/20 13:29:06 1.126
-+++ libs/gst/base/gstbasetransform.c 2008/10/21 16:30:41 1.127
-@@ -251,7 +251,7 @@
- /* upstream caps and size suggestions */
- GstCaps *sink_suggest;
- guint size_suggest;
-- gint suggest_pending;
-+ gboolean suggest_pending;
-
- gboolean reconfigure;
- };
-@@ -1224,7 +1224,7 @@
- gst_caps_unref (priv->sink_suggest);
- priv->sink_suggest = gst_caps_ref (othercaps);
- priv->size_suggest = size_suggest;
-- g_atomic_int_set (&trans->priv->suggest_pending, 1);
-+ trans->priv->suggest_pending = TRUE;
- GST_OBJECT_UNLOCK (trans->sinkpad);
- }
- gst_caps_unref (othercaps);
-@@ -1366,7 +1366,7 @@
- GstBaseTransform *trans;
- GstBaseTransformPrivate *priv;
- GstFlowReturn res;
-- gboolean proxy, suggest;
-+ gboolean proxy, suggest, same_caps;
- GstCaps *sink_suggest;
- guint size_suggest;
-
-@@ -1384,8 +1384,12 @@
-
- /* we remember our previous alloc request to quickly see if we can proxy or
- * not. We skip this check if we have a pending suggestion. */
-- if (g_atomic_int_get (&priv->suggest_pending) == 0 && caps &&
-- gst_caps_is_equal (priv->sink_alloc, caps)) {
-+ GST_OBJECT_LOCK (pad);
-+ same_caps = !priv->suggest_pending && caps &&
-+ gst_caps_is_equal (priv->sink_alloc, caps);
-+ GST_OBJECT_UNLOCK (pad);
-+
-+ if (same_caps) {
- /* we have seen this before, see below if we need to proxy */
- GST_DEBUG_OBJECT (trans, "have old caps");
- sink_suggest = caps;
-@@ -1414,7 +1418,7 @@
- size_suggest = size;
- suggest = FALSE;
- }
-- g_atomic_int_set (&priv->suggest_pending, 0);
-+ priv->suggest_pending = FALSE;
- GST_OBJECT_UNLOCK (pad);
-
- /* check if we actually handle this format on the sinkpad */
-@@ -1462,7 +1466,10 @@
- }
- }
- /* remember the new caps */
-+ GST_OBJECT_LOCK (pad);
- gst_caps_replace (&priv->sink_alloc, sink_suggest);
-+ GST_OBJECT_UNLOCK (pad);
-+
- proxy = priv->proxy_alloc;
- GST_DEBUG_OBJECT (trans, "doing default alloc, proxy %d", proxy);
-
-@@ -1487,11 +1494,13 @@
- if (!gst_caps_is_equal (newcaps, caps)) {
- GST_DEBUG_OBJECT (trans, "caps are new");
- /* we have new caps, see if we can proxy downstream */
-- if (gst_pad_peer_accept_caps (trans->sinkpad, newcaps)) {
-+ if (gst_pad_peer_accept_caps (pad, newcaps)) {
- /* peer accepts the caps, return a buffer in this format */
- GST_DEBUG_OBJECT (trans, "peer accepted new caps");
- /* remember the format */
-+ GST_OBJECT_LOCK (pad);
- gst_caps_replace (&priv->sink_alloc, newcaps);
-+ GST_OBJECT_UNLOCK (pad);
- } else {
- GST_DEBUG_OBJECT (trans, "peer did not accept new caps");
- /* peer does not accept the caps, free the buffer we received and
-@@ -2306,7 +2315,7 @@
- caps = gst_caps_copy (caps);
- trans->priv->sink_suggest = caps;
- trans->priv->size_suggest = size;
-- g_atomic_int_set (&trans->priv->suggest_pending, 1);
-+ trans->priv->suggest_pending = TRUE;
- GST_DEBUG_OBJECT (trans, "new suggest %" GST_PTR_FORMAT, caps);
- GST_OBJECT_UNLOCK (trans->sinkpad);
- }