[gst-devel] missing caps in ffmpeg

Philip de Nier philip.denier at rd.bbc.co.uk
Tue Sep 6 01:29:03 CEST 2005


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:
         GstElement* encoder = gst_element_factory_make 
("ffenc_mpeg2video", "encoder");
         GstPad* pad = gst_element_get_pad(encoder, "sink");
         GstCaps* caps = gst_pad_get_caps(pad);
         printf("Caps: %s\n", gst_caps_to_string(caps));
returns:
         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"?

I've tried a simple pipeline such as "gst-launch filesrc location=test.dv ! 
decodebin ! ffenc_mpeg2video ! filesink location=test-output" and that also 
fails.

I've tried various combinations of gstreamer, plugins and ffmpeg and none 
seem to work. The last combination I tried was gstreamer 8.11, plugins 8.11 
and ffmpeg 8.3. I'm using gcc 3.3.5. I failed to compile ffmpeg > 8.3 with 
gstreamer/plugins 8.10. Compiling ffmpeg 8.6 with gstreamer 8.11 works but 
the caps problem is still there, although "gst-inspect ffenc_mpeg2video" 
returns just 2 caps (rather than 11) with no properties.

Any idea what could be wrong?

Thanks,
Philip







More information about the gstreamer-devel mailing list