multifilesrc error

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

multifilesrc error

Aleph Beth
Hej,

I'm trying to launch the following pipeline on an IMX6 board to convert four png images to an mp4 movie using hardware accelerated encoding:


GST_DEBUG="*:2" gst-launch-1.0 -v -e multifilesrc location="image%05d.png" index=0 stop-index=3 caps="image/png,width=960,height=540,framerate=1/1" ! pngdec ! queue ! videoconvert ! imxvpuenc_h264 ! h264parse ! mp4mux ! filesink location=images.mp4

I obtain the output:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.189972820 26707  0x12f0380 WARN                 basesrc gstbasesrc.c:2943:gst_base_src_loop:<multifilesrc0> error: Internal data flow error.
0:00:00.190759558 26707  0x12f0380 WARN                 basesrc gstbasesrc.c:2943:gst_base_src_loop:<multifilesrc0> error: streaming task paused, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstMultiFileSrc:multifilesrc0: Internal data flow error.
Additional debug info:
/path/to/yocto_guf/build-imx6guf/tmp/work/cortexa9hf-vfp-neon-guf-linux-gnueabi/gstreamer1.0/1.6.0-r0/gstreamer-1.6.0/libs/gst/base/gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:pipeline0/GstMultiFileSrc:multifilesrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

When investigating I found that the following successfully runs:

gst-launch-1.0 -v -e multifilesrc location="image%05d.png" index=0 stop-index=3 caps="image/png,width=960,height=540,framerate=1/1" ! pngdec ! queue ! videoconvert ! filesink location=foo

Also this works (could play the mp4 with playbin):

gst-launch-1.0 videotestsrc num-buffers=1 ! imxvpuenc_h264 ! h264parse ! mp4mux ! filesink location=i.mp4

Using GST_DEBUG="*:4" on the first command (full pipeline) reveals:

Pipeline is PREROLLING ...                                                                                                                                                         
0:00:00.263635740 29136   0xd931b0 INFO        GST_ELEMENT_PADS gstelement.c:894:gst_element_get_static_pad: no such pad 'sink' in element "multifilesrc0"                            
0:00:00.264714837 29136   0xd931b0 FIXME                default gstutils.c:3766:gst_pad_create_stream_id_internal:<multifilesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.265199547 29136   0xd931b0 FIXME           videodecoder gstvideodecoder.c:1057:gst_video_decoder_drain_out:<pngdec0> Sub-class should implement drain()       
0:00:00.267156057 29136   0xd931b0 WARN                 basesrc gstbasesrc.c:2943:gst_base_src_loop:<multifilesrc0> error: Internal data flow error.                                        
0:00:00.267523090 29136   0xd931b0 WARN                 basesrc gstbasesrc.c:2943:gst_base_src_loop:<multifilesrc0> error: streaming task paused, reason not-negotiated (-4)
0:00:00.267856120 29136   0xd931b0 INFO        GST_ERROR_SYSTEM gstelement.c:1837:gst_element_message_full:<multifilesrc0> posting message: Internal data flow error.    

I'm happy about any suggestions on how to fix this. Thanks in advance.
Regards, Phil

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: multifilesrc error

rachelgomez161999
The error message "no such pad 'sink' in element 'multifilesrc0'" indicates that the multifilesrc element is not linking correctly to the downstream elements in the pipeline. This error can occur if the caps (image/png,width=960,height=540,framerate=1/1) specified for multifilesrc do not match the format required by downstream elements. To fix this error, try modifying the caps to match the format required by pngdec element. For example, try changing the caps to "video/x-raw,format=RGBA,width=960,height=540,framerate=1/1" instead of "image/png,width=960,height=540,framerate=1/1". Also, make sure that all the elements in the pipeline are available and installed correctly on the target system.

Regards,
Rachel Gomez