basevideocodec: By default don't allow caps changes on the srcpad
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 26 Jun 2009 13:17:21 +0000 (15:17 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 26 Jun 2009 13:20:09 +0000 (15:20 +0200)
This fixed playback of Dirac files with schrodec when upstream wants
a different width/height, basevideocodec accepts this and then
pushes buffers with new caps but content of the old caps.
In the best case this will just result in wrong unit size and a
failure in basestransform elements.

gst-libs/gst/video/gstbasevideocodec.c

index 42349f0..9cddc3b 100644 (file)
@@ -92,6 +92,7 @@ gst_base_video_codec_init (GstBaseVideoCodec * base_video_codec,
   g_return_if_fail (pad_template != NULL);
 
   base_video_codec->srcpad = gst_pad_new_from_template (pad_template, "src");
+  gst_pad_use_fixed_caps (base_video_codec->srcpad);
   gst_element_add_pad (GST_ELEMENT (base_video_codec),
       base_video_codec->srcpad);