From: Wim Taymans Date: Tue, 7 Feb 2012 08:42:04 +0000 (+0100) Subject: y4m: fix negotiation X-Git-Tag: RELEASE-0.11.1~32 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9196e0a3d6fdfb494a4ae71401b732576130f5bf;p=platform%2Fupstream%2Fgst-plugins-good.git y4m: fix negotiation --- diff --git a/gst/y4m/gsty4mencode.c b/gst/y4m/gsty4mencode.c index d05a4ae..1107144 100644 --- a/gst/y4m/gsty4mencode.c +++ b/gst/y4m/gsty4mencode.c @@ -155,9 +155,7 @@ gst_y4m_encode_setcaps (GstPad * pad, GstCaps * vscaps) if (!gst_video_info_from_caps (&info, vscaps)) goto invalid_format; - filter->info = info; - - switch (GST_VIDEO_INFO_FORMAT (&filter->info)) { + switch (GST_VIDEO_INFO_FORMAT (&info)) { case GST_VIDEO_FORMAT_I420: filter->colorspace = "420"; break; @@ -174,6 +172,8 @@ gst_y4m_encode_setcaps (GstPad * pad, GstCaps * vscaps) goto invalid_format; } + filter->info = info; + /* the template caps will do for the src pad, should always accept */ ret = gst_pad_set_caps (filter->srcpad, gst_static_pad_template_get_caps (&y4mencode_src_factory)); @@ -270,7 +270,7 @@ gst_y4m_encode_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) GstClockTime timestamp; /* check we got some decent info from caps */ - if (GST_VIDEO_INFO_FORMAT (&filter->info) != GST_VIDEO_FORMAT_UNKNOWN) + if (GST_VIDEO_INFO_FORMAT (&filter->info) == GST_VIDEO_FORMAT_UNKNOWN) goto not_negotiated; timestamp = GST_BUFFER_TIMESTAMP (buf); @@ -299,7 +299,7 @@ gst_y4m_encode_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) /* ERRORS */ not_negotiated: { - GST_ELEMENT_ERROR ("filter", CORE, NEGOTIATION, (NULL), + GST_ELEMENT_ERROR (filter, CORE, NEGOTIATION, (NULL), ("format wasn't negotiated before chain function")); gst_buffer_unref (buf); return GST_FLOW_NOT_NEGOTIATED;