[gst-devel] missing caps in ffmpeg

Philip de Nier philip.denier at rd.bbc.co.uk
Tue Sep 6 07:53:24 CEST 2005

At 15:00 06/09/2005, Ronald S. Bultje wrote:
>On Tue, 2005-09-06 at 09:28 +0100, Philip de Nier wrote:
> > The ffmpeg ffenc_mpeg2video (and some others like ffenc_h263) are not
> > returning the correct caps and the negotiation of links is failing. For
> > example, the code below:
> >          Caps: video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16,
> > 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], 
> format=(fourcc)I420
> > It should return all 11 caps returned by "gst-inspect ffenc_mpeg2video"?
>No it should not. The template caps are an approximation of what
>encoders in ffmpeg can use as input. Most specific encoders, however,
>only understand a single format as input, and since this lookup is
>expensive, we do it only for elements that we actually use, so the
>template caps is an inexact match and the return value of the getcaps
>function is the exact match.
>Add a ffmpegcolorspace to your pipeline to make it work.

Ok, thanks.

I had tried adding ffmpegcolorspace before, but that resulted in a 
segmentation fault with my DV file (raw DV that mplayer can play) and I had 
(wrongly) assumed the problem related to the difference between the 
template caps and the getcaps caps; there is something else causing the 
segmentation fault. I've just tried it with some example MPEG files and 
that seems to work, although I now get gstreamer-Critical errors at the end 
of the pipeline iteration... I'll just have to try out some formats and see 
which ones work.


More information about the gstreamer-devel mailing list