GNOME Bugzilla – Bug 351736
ERROR: pipeline doesn't want to preroll.
Last modified: 2006-08-18 00:11:55 UTC
I faced the below problem while trying to play a raw yuv file with I420 format on sdlvideosink. The os for testing is Fedora Core2. I hoping your wise answer :-) [root]$ gst-launch -v filesrc location=bus_cif.yuv ! sdlvideosink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /pipeline0/sdlvideosink0: Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. Additional debug info: sdlvideosink.c(837): gst_sdlvideosink_show_frame (): /pipeline0/sdlvideosink0: not negotiated. ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... FREEING pipeline ...
This is not a bug, this is wrong use. (a) buffers coming out of filesrc don't have caps set on them. You can force caps on them by puttin a capsfilter into the pipeline, like: filesrc location=foo ! video/x-raw-yuv,format=\(fourcc\)I420,width=320,height=240 ! sdlvideosink It's impossible to recognise raw video or audio data, so you must specify the format yourself. (b) you will also need to set the blocksize property on filesrc to the correct frame size for the raw YUV frames (115200 in the above case). This will only work if strides and plane offsets match the ones used in GStreamer. (c) generally it's a bad idea to feed raw YUV/RGB into a pipeline unless you _really_ know what you're doing.
I'm trying to examine the new video encoder plugin with yuv input. It's possible to use videotestsrc as input but i want to use yuv sequence for test. I hoping you inform me the exact experimentation.