gst-plugins-bad: dvdspu: Fix pad templates

Tim-Philipp Müller t.i.m at zen.co.uk
Sun May 29 11:02:02 PDT 2011


On Sun, 2011-05-29 at 09:18 -0700, Edward Hervey wrote:

Hi,

> Module: gst-plugins-bad
> Branch: master
> Commit: 732828e31cbace59e6ce4f262b8339e43ed0c631
> URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=732828e31cbace59e6ce4f262b8339e43ed0c631
> 
> Author: Edward Hervey <bilboed at bilboed.com>
> Date:   Sun May 29 18:16:49 2011 +0200
> 
> dvdspu: Fix pad templates
> 
> Our caps intersection code is a bit too touchy about what an element
> returns compared to its pad templates.

What was the exact problem here? The change doesn't look like it should
be necessary at first glance: additional optional fields in the actual
caps shouldn't be a problem, and neither should the single-value list.

I think there may have been a regression with caps subset/intersection
handling in git core. I've seen a few other weird issues and
not-negotiated errors lately (but haven't investigated yet).

Cheers
 -Tim

> ---
> 
>  gst/dvdspu/gstdvdspu.c |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/gst/dvdspu/gstdvdspu.c b/gst/dvdspu/gstdvdspu.c
> index 89b63d8..a68cdd5 100644
> --- a/gst/dvdspu/gstdvdspu.c
> +++ b/gst/dvdspu/gstdvdspu.c
> @@ -55,16 +55,18 @@ static GstStaticPadTemplate video_sink_factory =
>  GST_STATIC_PAD_TEMPLATE ("video",
>      GST_PAD_SINK,
>      GST_PAD_ALWAYS,
> -    GST_STATIC_CAPS ("video/x-raw-yuv, " "format = (fourcc) { I420 }, "
> -        "width = (int) [ 16, 4096 ], " "height = (int) [ 16, 4096 ]")
> +    GST_STATIC_CAPS ("video/x-raw-yuv, " "format = (fourcc)I420, "
> +        "width = (int) [ 16, 4096 ], " "height = (int) [ 16, 4096 ],"
> +        "framerate = " GST_VIDEO_FPS_RANGE)
>      /* FIXME: Can support YV12 one day too */
>      );
>  
>  static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
>      GST_PAD_SRC,
>      GST_PAD_ALWAYS,
> -    GST_STATIC_CAPS ("video/x-raw-yuv, " "format = (fourcc) { I420 }, "
> -        "width = (int) [ 16, 4096 ], " "height = (int) [ 16, 4096 ]")
> +    GST_STATIC_CAPS ("video/x-raw-yuv, " "format = (fourcc)I420, "
> +        "width = (int) [ 16, 4096 ], " "height = (int) [ 16, 4096 ],"
> +        "framerate = " GST_VIDEO_FPS_RANGE)
>      /* FIXME: Can support YV12 one day too */
>      );
>  
> 
> _______________________________________________
> gstreamer-commits mailing list
> gstreamer-commits at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits




More information about the gstreamer-devel mailing list