Original commit message from CVS:
Backport of #109069
This commit is contained in:
Ronald S. Bultje 2003-06-10 16:22:41 +00:00
parent b036fe4fda
commit c64c58bd11

View file

@ -193,9 +193,33 @@ gst_videotestsrc_srcconnect (GstPad * pad, GstCaps * caps)
GST_DEBUG (0, "gst_videotestsrc_srcconnect"); GST_DEBUG (0, "gst_videotestsrc_srcconnect");
videotestsrc = GST_VIDEOTESTSRC (gst_pad_get_parent (pad)); videotestsrc = GST_VIDEOTESTSRC (gst_pad_get_parent (pad));
videotestsrc->fourcc = paintinfo_find_by_caps(caps); for ( ; caps != NULL; caps = caps->next) {
if(!videotestsrc->fourcc){ GstCaps *caps1 = gst_caps_copy_1(caps);
return GST_PAD_LINK_DELAYED; GstPadLinkReturn ret;
ret = gst_pad_try_set_caps(pad, caps1);
if (ret != GST_PAD_LINK_OK &&
ret != GST_PAD_LINK_DONE) {
gst_caps_unref(caps1);
continue;
}
videotestsrc->fourcc = paintinfo_find_by_caps(caps1);
if (!videotestsrc->fourcc) {
gst_caps_unref(caps1);
continue;
}
/* if we get here, it's allright */
gst_caps_unref(caps1);
break;
}
if (caps == NULL) {
GST_DEBUG (GST_CAT_PLUGIN_ERRORS,
"videotestsrc: no suitable opposite-side caps found");
return GST_PAD_LINK_REFUSED;
} }
GST_DEBUG (0,"videotestsrc: using fourcc element %p %s\n", GST_DEBUG (0,"videotestsrc: using fourcc element %p %s\n",
@ -208,7 +232,7 @@ gst_videotestsrc_srcconnect (GstPad * pad, GstCaps * caps)
GST_DEBUG (0, "size %d x %d", videotestsrc->width, videotestsrc->height); GST_DEBUG (0, "size %d x %d", videotestsrc->width, videotestsrc->height);
return GST_PAD_LINK_OK; return GST_PAD_LINK_DONE;
} }
static GstElementStateReturn static GstElementStateReturn