GNOME Bugzilla – Bug 89568
gst_pad_try_set_caps should return more than boolean
Last modified: 2009-08-15 18:40:50 UTC
gstpad.c:gst_pad_try_set_caps currently only returns boolean. The function however will also call gst_pad_try_set_caps_func, which returns a GstPadConnectReturn with more information. If elements are in a READY state and a caps nego trys to happen, even if _set_caps_func returns a GST_PAD_CONNECT_DELAYED, gst_pad_try_set_caps (the function that called _caps_func) will return FALSE and the pipeline will later have trouble running (at least it does on my setup :) could someone look at this? thanks
hee's a diff on gstpad.c (bottom one is corrected version). I sent out a few emails about this hackish-fix, so hopefully someone read them. do a search for emails from me if you need to know what's going on. 1343c1343,1345 < GST_PAD_CONNECT_OK)) --- > GST_PAD_CONNECT_OK) && > (gst_pad_try_set_caps_func (peer, caps, TRUE) != > GST_PAD_CONNECT_DELAYED))
Capsnego in READY should work now (that was yet another bug), but this still applies. gst_pad_try_set_caps() should give a GstPadConnectReturn.
Okay, the change in API is in CVS now. gst_pad_try_set_caps returns a GstPadConnectReturn now.