From 07dc1e5b49580a89bfef27ff27476d51fb3ce2c2 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Thu, 6 May 2010 17:02:49 +0300 Subject: [PATCH] pad: don't check twice for changed caps per push gst_pad_chain_data_unchecked() does the same check already. --- gst/gstpad.c | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/gst/gstpad.c b/gst/gstpad.c index 00dca74..3d1c520 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -4307,8 +4307,6 @@ gst_pad_push_data (GstPad * pad, gboolean is_buffer, void *data) { GstPad *peer; GstFlowReturn ret; - GstCaps *caps; - gboolean caps_changed; GST_OBJECT_LOCK (pad); @@ -4339,25 +4337,11 @@ gst_pad_push_data (GstPad * pad, gboolean is_buffer, void *data) if (G_UNLIKELY ((peer = GST_PAD_PEER (pad)) == NULL)) goto not_linked; - /* Before pushing the buffer to the peer pad, ensure that caps - * are set on this pad */ - caps = gst_pad_data_get_caps (is_buffer, data); - caps_changed = caps && caps != GST_PAD_CAPS (pad); - /* take ref to peer pad before releasing the lock */ gst_object_ref (peer); GST_OBJECT_UNLOCK (pad); - /* we got a new datatype from the pad, it had better handle it */ - if (G_UNLIKELY (caps_changed)) { - GST_DEBUG_OBJECT (pad, - "caps changed from %" GST_PTR_FORMAT " to %p %" GST_PTR_FORMAT, - GST_PAD_CAPS (pad), caps, caps); - if (G_UNLIKELY (!gst_pad_set_caps (pad, caps))) - goto not_negotiated; - } - ret = gst_pad_chain_data_unchecked (peer, is_buffer, data); gst_object_unref (peer); @@ -4419,14 +4403,6 @@ not_linked: GST_OBJECT_UNLOCK (pad); return GST_FLOW_NOT_LINKED; } -not_negotiated: - { - gst_pad_data_unref (is_buffer, data); - gst_object_unref (peer); - GST_CAT_DEBUG_OBJECT (GST_CAT_SCHEDULING, pad, - "element pushed data then refused to accept the caps"); - return GST_FLOW_NOT_NEGOTIATED; - } } /** -- 2.7.4