This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMDSCM572X: GStreamer pipeline issue

Part Number: TMDSCM572X
Other Parts Discussed in Thread: AM5728

Hi,

EVM: Ti AM5728 evm
Kernel: 4.4.41

I tested the pipeline indicate in this web page:
processors.wiki.ti.com/.../Processor_Training:_Multimedia

Pipeline:
Gst-launch-1.0 -v v4l2src device = / dev / video1 num-buffers = 900 io-mode = 4! 'Video / x-raw, \
Format = (string) YUY2, width = (int) 1280, height = (int) 720 '! Vpe num-input-buffers = 8! Tail! kmssink

In fact it does not work, here is the error that I met after execution:

Root @ am57xx-evm: ~ # gst-launch-1.0 -v v4l2src device = / dev / video1 num-buffers = 900 io-mode = 4! 'Video / x-raw, \
> Format = (string) YUY2, width = (int) 1280, height = (int) 720 '! Vpe num-input-buffers = 8! Tail! kmssink


Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element / GstPipeline: pipeline0 / GstV4l2Src: v4l2src0: Internal data flow error.
Additional debug info:
../../../../gstreamer-1.6.3/libs/gst/base/gstbasesrc.c(2943): gst_base_src_loop (): / GstPipeline: pipeline0 / GstV4l2Src: v4l2src0:
Streaming task paused, reason not-negotiated (4)
Execution after 0: 00: 00.012880597
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

                                                Best regards,

  • The software team have been notified. They will respond here.
  • Hello,

    What is this tail element?
    I can not allocate such element in the gstreamer's plugins.
    Could you try with the pipeline as in the multimedia guide like:
    gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, \
    format=(string)YUY2, width=(int)1280, height=(int)720' ! vpe num-input-buffers=8 ! queue ! kmssink

    I would also recommend you to add -v --gst-debug=2 for more debug prints or --gst-debug=v4l2src:5. You could also raise the debug level.

    BR
    Margarita

  • Ok I will wait for the response of the software team ^^.
    Thank you,
  • Hello,

    Check the previous post.
    One more note keep in mind that the gstreamer is sensitive to uppercase and lowercase letter.

    BR
    Margarita
  • Hi,
    It dosn't work, here is the error that I met after execution the recommended pipeline :

    root@am57xx-evm:~# gst-launch-1.0 -v --gst-debug=2 v4l2src device=/dev/video1 num-buffers=900 io-mode=4 ! 'video/x-raw, \
    > format=(string)YUY2, width=(int)1280, height=(int)720' ! vpe num-input-buffers=8 ! queue ! kmssink

    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    0:00:00.293702311 1290 0x143e90 WARN basesrc gstbasesrc.c:2943:gst_base_src_loop:<v4l2src0> error: Internal data flow error.
    0:00:00.293772095 1290 0x143e90 WARN basesrc gstbasesrc.c:2943:gst_base_src_loop:<v4l2src0> error: streaming task paused, reason not-negotiated (-4)
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
    Additional debug info:
    ../../../../gstreamer-1.6.3/libs/gst/base/gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming task paused, reason not-negotiated (-4)
    Execution ended after 0:00:00.012945501
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am57xx-evm:~#
  • Hi Margarita,

    I used the recommended pipeline and i have this issue after execution:

    root@am57xx-evm:~# gst-launch-1.0 --gst-debug=v4l2src:5 v4l2src device=/dev/video1 num-buffers=900 io-mode=4 ! 'video/x-raw, \
    > format=(string)YUY2, width=(int)1280, height=(int)720' ! vpe num-input-buffers=8 ! queue ! kmssink

    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    0:00:00.308860405 1302 0x143e90 DEBUG v4l2src gstv4l2src.c:300:gst_v4l2src_negotiate:<v4l2src0> caps of src: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspe1
    0:00:00.309065527 1302 0x143e90 DEBUG v4l2src gstv4l2src.c:301:gst_v4l2src_negotiate:<v4l2src0> thiscaps: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-1
    0:00:00.309242346 1302 0x143e90 DEBUG v4l2src gstv4l2src.c:309:gst_v4l2src_negotiate:<v4l2src0> caps of peer: video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerat]
    0:00:00.309297490 1302 0x143e90 DEBUG v4l2src gstv4l2src.c:310:gst_v4l2src_negotiate:<v4l2src0> peercaps: video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(f]
    0:00:00.309358490 1302 0x143e90 DEBUG v4l2src gstv4l2src.c:320:gst_v4l2src_negotiate:<v4l2src0> peer: video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fract]
    0:00:00.309408917 1302 0x143e90 DEBUG v4l2src gstv4l2src.c:321:gst_v4l2src_negotiate:<v4l2src0> ipcaps: video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fra]
    0:00:00.309485858 1302 0x143e90 DEBUG v4l2src gstv4l2src.c:333:gst_v4l2src_negotiate:<v4l2src0> intersect: (NULL)
    0:00:00.309514487 1302 0x143e90 DEBUG v4l2src gstv4l2src.c:334:gst_v4l2src_negotiate:<v4l2src0> icaps: (NULL)
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
    Additional debug info:
    ../../../../gstreamer-1.6.3/libs/gst/base/gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming task paused, reason not-negotiated (-4)
    Execution ended after 0:00:00.013195032
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am57xx-evm:~#
  • Hello,

    Streaming task paused, reason not-negotiated (-4) most of the cases means the video format or resolution you get from your video source is not compatible with the sink.
    Are you using EVM with the camera module or you are using custom board?

    BR
    Margarita

  • I use the Ti 5728 EVM with the usb camera.
    BR :)
    Faiez
  • Hello,

    What is the resolution, format that your camera provides?
    If it provides 640x480 you should change this 'video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720' to 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480'

    BR
    Margarita
  • Hi,

    The resolution of the usb camera is 640x480 and I restarted the modified pipeline and after execution the error has changed:

    root@am57xx-evm:~# ls /dev/video*
    /dev/video0 /dev/video1 /dev/video10 /dev/video11

    root@am57xx-evm:~# gst-launch-1.0 --gst-debug=v4l2src:5 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, \
    > format=(string)YUY2, width=(int)640, height=(int)480' ! vpe num-input-buffers=8 ! queue ! kmssink

    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    0:00:00.301562202 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:300:gst_v4l2src_negotiate:<v4l2src0> caps of src: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspe1
    0:00:00.301763583 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:301:gst_v4l2src_negotiate:<v4l2src0> thiscaps: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-1
    0:00:00.301941866 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:309:gst_v4l2src_negotiate:<v4l2src0> caps of peer: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate]
    0:00:00.301997986 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:310:gst_v4l2src_negotiate:<v4l2src0> peercaps: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=(fr]
    0:00:00.302059311 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:320:gst_v4l2src_negotiate:<v4l2src0> peer: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=(fracti]
    0:00:00.302108925 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:321:gst_v4l2src_negotiate:<v4l2src0> ipcaps: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=(frac]
    0:00:00.302194975 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:333:gst_v4l2src_negotiate:<v4l2src0> intersect: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect1
    0:00:00.302248005 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:334:gst_v4l2src_negotiate:<v4l2src0> icaps: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-rat1
    0:00:00.302306239 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:256:gst_v4l2src_fixate:<v4l2src0> fixating caps video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect1
    0:00:00.636182662 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:282:gst_v4l2src_fixate:<v4l2src0> fixated caps video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-1
    0:00:00.636265948 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:384:gst_v4l2src_negotiate:<v4l2src0> fixated to: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspec1
    0:00:00.636330201 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:385:gst_v4l2src_negotiate:<v4l2src0> caps: video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-rati1
    0:00:01.021887776 1332 0x143e90 DEBUG v4l2src gstv4l2src.c:774:gst_v4l2src_create:<v4l2src0> ts: 0:28:10.769349000 now 0:28:11.117730564 delay 0:00:00.348381564[ 1691.131986] contiguous b

    0:00:01.021992533 1332 0x143e90 INFO v4l2src gstv4l2src.c:810:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.033333333 out ts 0:00:00.384480568
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
    Additional debug info:
    ../../../../gstreamer-1.6.3/libs/gst/base/gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming task paused, reason error (-5)
    Execution ended after 0:00:00.760007457
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am57xx-evm:~#

    BR :)
    Faiez
  • Hi,

    This time i used -v --gst-debug = 2 element in the pipeline, and here's the result:

    root@am57xx-evm:~# ls /dev/video*

    /dev/video0 /dev/video1 /dev/video10 /dev/video11

    root@am57xx-evm:~# gst-launch-1.0 --gst-debug=2 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, \
    > format=(string)YUY2, width=(int)640, height=(int)480' ! vpe num-input-buffers=8 ! queue ! kmssink

    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    0:00:00.682598945 1244 0x144090 WARN vpe gstvpebufferpool.c:462:gst_vpe_buffer_pool_import: Allocating a new input buffer index: 0/128, 0[ 1180.783615] contiguous chunk is too smallb

    0:00:00.705014574 1244 0x144090 ERROR vpe gstvpebufferpool.c:376:gst_vpe_buffer_pool_queue: vpebufferpool: QBUF failed: Bad address, index = 31
    0:00:00.705172361 1244 0x143f50 WARN bufferpool gstbufferpool.c:300:do_alloc_buffer:<vpebufferpool1> alloc function failed
    0:00:00.705301193 1244 0x144090 WARN basesrc gstbasesrc.c:2943:gst_base_src_loop:<v4l2src0> error: Internal data flow error.
    0:00:00.705346252 1244 0x144090 WARN basesrc gstbasesrc.c:2943:gst_base_src_loop:<v4l2src0> error: streaming task paused, reason error (-5)
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
    Additional debug info:
    ../../../../gstreamer-1.6.3/libs/gst/base/gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming task paused, reason error (-5)
    Execution ended after 0:00:00.419910823
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am57xx-evm:~#

    BR :)
    Faiez
  • Hello,

    Please check this thread for USB capture:
    e2e.ti.com/.../2023362

    BR
    Margarita
  • Hello,

    By the way, i need to know how to run the patch for usb capture.
    Thank you,

    BR :)
    Faiez
  • Hello,

    I would recommend you to search over the internet how you could apply patch in linux.
    You could apply it manually in both cases I would recommend you to check are the changes applied.
    When the patch is applied you must rebuild the patched source.

    BR
    Margarita