GNOME Bugzilla – Bug 148479
[ffenc_mpeg4] broken
Last modified: 2004-12-22 21:47:04 UTC
A simple pipeline just fails. I'm not sure if I'm doing something (eg missing colorspace). If so this is still a bug, since it should say something useful. Same applies to msmpeg4v1 and v2. pipeline: videotestsrc ! ffenc_mpeg4 ! fakesink output: RUNNING pipeline ... /pipeline0/videotestsrc0.src: active = TRUE ERROR: pipeline doesn't want to play. /pipeline0/videotestsrc0.src: active = FALSE (process:14550): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>' in cast to `GstObject' (process:14550): GStreamer-CRITICAL **: file gstelement.c: line 3309 (gst_element_get_scheduler): assertion `GST_IS_ELEMENT (element)' failed (process:14550): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GstObject' (process:14550): GStreamer-CRITICAL **: file gstelement.c: line 3309 (gst_element_get_scheduler): assertion `GST_IS_ELEMENT (element)' failed
Most ff-encoders are broken in that way. The error is correct: "ERROR: pipeline doesn't want to play.", that's what every pipeline will tell you. The problem is indeed that colorspace selection in the encoder is fairly broken. This worked for the old capsnego system (because that allowed multiple _link() calls), but fails here. The proper fix is to fake-initialize the given encoder in the _init() function, read the element's preferred input colorspace and only advertize that on the sinkpad.
Fixed. All of the above have been tested to work.