From eaf6361f23d2f3e628e2f5cf06de3f658dfde299 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Thu, 4 May 2006 16:34:20 +0000 Subject: [PATCH] gst/gstpad.c: Restore acceptcaps checking behaviour now that good plugins have been released. Original commit message from CVS: * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink), (gst_pad_configure_src), (gst_pad_push): Restore acceptcaps checking behaviour now that good plugins have been released. --- ChangeLog | 7 +++++++ gst/gstpad.c | 28 +++++----------------------- 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index cd96c4f..31b99b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-05-04 Jan Schmidt + + * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink), + (gst_pad_configure_src), (gst_pad_push): + Restore acceptcaps checking behaviour now that good plugins have + been released. + 2006-05-04 Tim-Philipp Müller Patch by: James Andrewartha diff --git a/gst/gstpad.c b/gst/gstpad.c index 00cdd42..526e298 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -341,9 +341,7 @@ gst_pad_init (GstPad * pad) pad->querytypefunc = GST_DEBUG_FUNCPTR (gst_pad_get_query_types_default); pad->queryfunc = GST_DEBUG_FUNCPTR (gst_pad_query_default); pad->intlinkfunc = GST_DEBUG_FUNCPTR (gst_pad_get_internal_links_default); -#if 0 GST_PAD_ACCEPTCAPSFUNC (pad) = GST_DEBUG_FUNCPTR (gst_pad_acceptcaps_default); -#endif pad->do_buffer_signals = 0; pad->do_event_signals = 0; @@ -1337,9 +1335,7 @@ gst_pad_set_getcaps_function (GstPad * pad, GstPadGetCapsFunction getcaps) * @acceptcaps: the #GstPadAcceptCapsFunction to set. * * Sets the given acceptcaps function for the pad. The acceptcaps function - * will be called to check if the pad can accept the given caps. - */ -/* Setting the + * will be called to check if the pad can accept the given caps. Setting the * acceptcaps function to NULL restores the default behaviour of allowing * any caps that matches the caps from gst_pad_get_caps. */ @@ -2266,17 +2262,15 @@ could_not_set: static gboolean gst_pad_configure_sink (GstPad * pad, GstCaps * caps) { - GstPadAcceptCapsFunction acceptcaps; GstPadSetCapsFunction setcaps; gboolean res; - acceptcaps = GST_PAD_ACCEPTCAPSFUNC (pad); setcaps = GST_PAD_SETCAPSFUNC (pad); /* See if pad accepts the caps - only needed if * no setcaps function */ - if (setcaps == NULL && acceptcaps != NULL) - if (!acceptcaps (pad, caps)) + if (setcaps == NULL) + if (!gst_pad_accept_caps (pad, caps)) goto not_accepted; /* set caps on pad if call succeeds */ @@ -2297,17 +2291,15 @@ not_accepted: static gboolean gst_pad_configure_src (GstPad * pad, GstCaps * caps, gboolean dosetcaps) { - GstPadAcceptCapsFunction acceptcaps; GstPadSetCapsFunction setcaps; gboolean res; - acceptcaps = GST_PAD_ACCEPTCAPSFUNC (pad); setcaps = GST_PAD_SETCAPSFUNC (pad); /* See if pad accepts the caps - only needed if * no setcaps function */ - if (setcaps == NULL && acceptcaps != NULL) - if (!acceptcaps (pad, caps)) + if (setcaps == NULL) + if (!gst_pad_accept_caps (pad, caps)) goto not_accepted; if (dosetcaps) @@ -3296,10 +3288,8 @@ gst_pad_push (GstPad * pad, GstBuffer * buffer) GstPad *peer; GstFlowReturn ret; -#if 0 GstCaps *caps; gboolean caps_changed; -#endif g_return_val_if_fail (GST_IS_PAD (pad), GST_FLOW_ERROR); g_return_val_if_fail (GST_PAD_DIRECTION (pad) == GST_PAD_SRC, GST_FLOW_ERROR); @@ -3332,25 +3322,19 @@ gst_pad_push (GstPad * pad, GstBuffer * buffer) goto not_linked; gst_object_ref (peer); -#if 0 - /* FIXME, disabled for 0.10.5 release because it caused to much - * regressions */ /* Before pushing the buffer to the peer pad, ensure that caps * are set on this pad */ caps = GST_BUFFER_CAPS (buffer); caps_changed = caps && caps != GST_PAD_CAPS (pad); -#endif GST_OBJECT_UNLOCK (pad); -#if 0 /* we got a new datatype from the pad, it had better handle it */ if (G_UNLIKELY (caps_changed)) { GST_DEBUG_OBJECT (pad, "caps changed to %" GST_PTR_FORMAT, caps); if (G_UNLIKELY (!gst_pad_configure_src (pad, caps, TRUE))) goto not_negotiated; } -#endif ret = gst_pad_chain (peer, buffer); @@ -3380,7 +3364,6 @@ not_linked: GST_OBJECT_UNLOCK (pad); return GST_FLOW_NOT_LINKED; } -#if 0 not_negotiated: { gst_buffer_unref (buffer); @@ -3389,7 +3372,6 @@ not_negotiated: "element pushed buffer then refused to accept the caps"); return GST_FLOW_NOT_NEGOTIATED; } -#endif } /** -- 2.7.4