[gst-devel] caps-nego halting state change

Matthew Romaine mromaine at parc.com
Fri Aug 2 23:34:33 CEST 2002


Hello again,

	I think I managed to fix the immediate problem.  I don't know how well
this fix will scale further down the line, but the problem boiled down
to the fact that gst_pad_try_set_caps would only return a boolean,
whilst the real function that would try to set the caps
(gst_pad_try_set_cap_func) would return a GstPadConnectReturn.  So the
following check:

if (peer && (gst_pad_try_set_caps_func (peer, caps, TRUE) !=
GST_PAD_CONNECT_OK))

should actually be:

if (peer && ((gst_pad_try_set_caps_func (peer, caps, TRUE) !=
               GST_PAD_CONNECT_OK) &&
             (gst_pad_try_set_caps_func (peer, caps, TRUE) !=
               GST_PAD_CONNECT_DELAYED)))

I view this more as a hack-fix than a good fix since it seems better to
me that gst_pad_try_set_caps return a GstPadConnectReturn, but the above
seems to work for now...

could others critique and verify?

thanks,
matt





More information about the gstreamer-devel mailing list