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.

gstreamer, v4l2 capture/display: omx assertion failed



Dear All,

I'm working with a custom dm814x hardware capturing a 1080p60 stream over VIN0 with gstreamer (builded from SVN with tag

TAG_GST_DM81XX_00_05_00_00)

Whenever I would like to stop acquisition, either by pressing CTRL+C or by limiting num-buffer v4l2src parameter, I get the following output

/GstPipeline:pipeline0/GstOmxVideoSink:omxvideosink0.GstPad:sink: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)50/1, interlaced=(boolean)false
Caught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 11231461850 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstOmxVideoSink:omxvideosink0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...
gst-launch-0.10: OmxRpcStub.c:1432: OmxRpc_stubGetState: Assertion `(1 == OmxRpc_module->localCoreRcmServer.initDone)' failed.
Aborted

The mail problem is that the above assertion prevent me from running another omx application (e.g. another gstreamer pipeline, with or without v4l2src):

root@:~# gst-launch -v v4l2src device="/dev/video0" always-copy=false queue-size=12 num-buffers=-1 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,width=1920
,height=1080,framerate=(fraction)60/1' ! omxbufferalloc silent=false numBuffers=12 ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false
[  810.330000] Assertion at Line no: 419 in /{snip}/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Linux/MessageQDrv.c: (cargs.args.create.handle != NULL) : failed
gst-launch-0.10: OmxRpc.c:624: OmxRpc_Instance_init: Assertion `(OmxRpc_errorNone == retVal)' failed.
Aborted

Please note that the first assertion does not rise if I just run the decode-display example:

    gst-launch -v filesrc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264 \
    ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec !  omx_scaler \
    ! 'video/x-raw-yuv,width=800,height=480' ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 display-device=LCD \
    ! omx_videosink sync=false display-device=LCD

Any clue in how to solve this issue?

Best Regards,

Andrea

  • Andrea,

    I have the same problem.  Have you made any progress on this?

    -Mike

  • Hi Mike,

    unfortunately I have made no progress until now, and, as you can see, no answer for TI guys too.

    However thanks for tell me that also someone else has the same problem like mine.

    Best Regards,

    Andrea

  • Hello,

    Try to add -e to pipeline ( gst-launch -e ... ). This option force an EOS event on sources before shutting the pipeline down.

    Keep me posted on result.

    Best Regards

    Margarita

  • Margarita,

    thanks for you answer and sorry for the later response (I've been busy with other tasks)

    I try it but without success:

    root@naon:~# gst-launch -e -v v4l2src device="/dev/video0" always-copy=false que
    ue-size=6 num-buffers=600 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,width=1
    920,height=1080,framerate=(fraction)60/1' ! omxbufferalloc silent=false numBuffe
    rs=6 ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_v
    ideosink sync=false
    Setting pipeline to PAUSED ...

     Mode set is 1080
    allocating 6 buffers of size:3110400!!
    allocated outbuf:0x44ac0080
    allocated outbuf:0x44db7680
    allocated outbuf:0x450aec80
    allocated outbuf:0x453a6280
    allocated outbuf:0x4569d880
    allocated outbuf:0x45994e80
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:src: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:sink: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:sink: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:sink: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:src: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    /GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:src: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    /GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:sink: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:src: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:sink: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    /GstPipeline:pipeline0/GstOmxVideoSink:omxvideosink0.GstPad:sink: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    perf0: frames: 61       current: 60.51   average: 60.51 arm-load: 16
    perf0: frames: 121      current: 60.00   average: 60.26 arm-load: 1
    perf0: frames: 182      current: 60.01   average: 60.17 arm-load: 0
    perf0: frames: 243      current: 59.99   average: 60.13 arm-load: 0
    perf0: frames: 303      current: 60.00   average: 60.10 arm-load: 1
    perf0: frames: 364      current: 60.01   average: 60.08 arm-load: 0
    perf0: frames: 425      current: 60.01   average: 60.07 arm-load: 0
    perf0: frames: 485      current: 60.00   average: 60.06 arm-load: 1
    perf0: frames: 546      current: 60.00   average: 60.06 arm-load: 0
    Recieved EOS event, press <CTRL+C> to terminate pipeline.
    Got EOS from element "pipeline0".
    Execution ended after 10068534400 ns.
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    /GstPipeline:pipeline0/GstOmxVideoSink:omxvideosink0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL
    Setting pipeline to NULL ...
    Freeing pipeline ...
    gst-launch-0.10: OmxRpcStub.c:1432: OmxRpc_stubGetState: Assertion `(1 == OmxRpc_module->localCoreRcmServer.initDone)' failed.
    Aborted

  • Hello Andrea,

    Could you please try this with latest EZSDK 5.05?

    And let me know the result.

    Best Regards,

    Margarita

  • Margarita,

    Yes I can do it, with a bit of work.

    "Where" do you think there's the fix?

    a) M3 code?

    b) gstreamer?

    c) Linux?

    I'm asking this because for b) and c) I'm already using the latest svn/git available. For a) I'm still looking for new M3 source code, so I will not be able to test this so soon (we run a customized version of M3 code)

    Thanks in advance,

    Andrea

  • Hello

    This seems to be a problem with Gstreamer.

    Best Regards,

    Margarita

  • Margarita,

    thanks for your answer.

    I've just seen that, together with sdk 5.05, a new release of gst has been tagged (TAG_GST_DM81XX_00_06_00_00). Now I'm currently using TAG_GST_DM81XX_00_05_00_00 so maybe the problem is here.

    I'll take a look at the last one and come back with a feedback soon.

    Best Regards,

    Andrea

  • Sorry for the late response but I've been able to run TAG_GST_DM81XX_00_06_00_00 with V4L2 source only today.

    However I get the same problem as with its previous versions (even with the -e switch).

    Any other clue?

    Best Regards,

    Andrea

  • Is there any update to this issue?  I'm running SDK 5.05 with gstreamer 0.6, and I haven't been able to find any way around this problem yet.

    As with the original poster, the pipeline works correctly exactly one time, and after that I have to reboot the platform because all subsequent gstreamer commands fail.  Clearly something isn't being shutdown properly.

    Devin

  • Hello Devin,

    Devin Heitmueller said:
    As with the original poster, the pipeline works correctly exactly one time, and after that I have to reboot the platform because all subsequent gstreamer commands fail.

    Could you posting the pipeline?

    When you  observed the error: after ctrl+c ?

    Could you posting  the error?

    Best Regards,

    Magy

  • Hello Magy,

    Thanks for taking the time to reply.

    It looks like it has something to do with using pipelines that include omxbufferalloc.  For example, the following pipeline works fine:

    /opt/gstreamer/bin/gst-launch videotestsrc  ! "video/x-raw-yuv, format=(fourcc)NV12, width=640, height=480, framerate=30/1, buffer-count-requested=4" ! omx_mdeiscaler name=d d.src_00 !  'video/x-raw-yuv, width=(int)800, height=(int)480' ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 display-device=LCD ! gstperf print-fps=true print-arm-load=true  ! omx_videosink display-device=LCD sync=false d.src_01  ! omx_h264enc ! fakesink silent=true -v

    However, as soon as omxbufferalloc is added, the pipeline will fail as soon as you hit ctrl-c or if you let the pipeline exit on its own:

    /opt/gstreamer/bin/gst-launch -v v4l2src num-buffers=60 always-copy=FALSE ! 'video/x-raw-yuv,width=640,height=480,format=(fourcc)YUY2,framerate=(fraction)30000/1001' ! omxbufferalloc numBuffers=3 ! omx_noisefilter ! omx_mdeiscaler name=d framerate-divisor=2 d.src_00 !  'video/x-raw-yuv, width=(int)800, height=(int)480' ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 display-device=LCD ! omx_videosink display-device=LCD sync=false d.src_01 ! gstperf ! queue ! fakesink silent=true
    Setting pipeline to PAUSED ...
    Mode set is 0
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=(int)41
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height1
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640,1
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)6401
    /GstPipeline:pipeline0/GstOmxNoiseFilter:omxnoisefilter0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)6401
    /GstPipeline:pipeline0/GstOmxNoiseFilter:omxnoisefilter0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)6401
    /GstPipeline:pipeline0/GstOmxNoiseFilter:omxnoisefilter0.GstPad:src: caps = video/x-raw-yuv, width=(int)640, height=(int)480, for1
    /GstPipeline:pipeline0/GstOmxMDeiScaler:d.GstPad:sink: caps = video/x-raw-yuv, width=(int)640, height=(int)480, format=(fourcc)NV1
    /GstPipeline:pipeline0/GstOmxMDeiScaler:d.GstPad:sink: caps = video/x-raw-yuv, width=(int)640, height=(int)480, format=(fourcc)NV1
    /GstPipeline:pipeline0/GstOmxMDeiScaler:d.GstPad:src_00: caps = video/x-raw-yuv, width=(int)800, height=(int)480, format=(fourcc)e
    /GstPipeline:pipeline0/GstOmxMDeiScaler:d.GstPad:src_01: caps = video/x-raw-yuv, width=(int)640, height=(int)480, format=(fourcc)e
    this input params: 640x240,640 460800 1
    incoming buffer: nFilledLen: 460800, nOffset: 0 nFlags: 200
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-raw-yuv, width=(int)800, height=(int)480, format=(foue
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-raw-yuv, width=(int)800, height=(int)480, format=(foe
    /GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:src: caps = video/x-raw-yuv, width=(int)800, height=(int)480, format=(fe
    /GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:sink: caps = video/x-raw-yuv, width=(int)800, height=(int)480, format=(e
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:src: caps = video/x-raw-yuv, width=(int)640, height=(int)480, format=(fourcc)NV12, fre
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:sink: caps = video/x-raw-yuv, width=(int)640, height=(int)480, format=(fourcc)NV12, fe
    /GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw-yuv, width=(int)640, height=(int)480, format=(fourcc)NV12,e
    /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw-yuv, width=(int)640, height=(int)480, format=(fourcc)NV12, e
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw-yuv, width=(int)640, height=(int)480, format=(fourcce
    /GstPipeline:pipeline0/GstOmxVideoSink:omxvideosink0.GstPad:sink: caps = video/x-raw-yuv, width=(int)800, height=(int)480, formate
    basefilter:OMX.TI.VPSSM3.VFPC.NF: Received src event 289, latency (nil) (nil)
    basefilter:OMX.TI.VPSSM3.VFPC.NF: Received src event 289, latency (nil) (nil)
    perf0: frames: 32 current: 31.85 average: 31.85 arm-load: 31
    Recieved EOS event, press <CTRL+C> to terminate pipeline.
    Recieved EOS event, press <CTRL+C> to terminate pipeline.
    Got EOS from element "pipeline0".
    Execution ended after 2086739049 ns.
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstOmxVideoSink:omxvideosink0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstOmxMDeiScaler:d.GstPad:src_01: caps = NULL
    /GstPipeline:pipeline0/GstOmxMDeiScaler:d.GstPad:src_00: caps = NULL
    /GstPipeline:pipeline0/GstOmxMDeiScaler:d.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstOmxNoiseFilter:omxnoisefilter0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstOmxNoiseFilter:omxnoisefilter0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL
    Setting pipeline to NULL ...
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Freeing pipeline ...
    gst-launch-0.10: OmxRpcStub.c:1432: OmxRpc_stubGetState: Assertion `(1 == OmxRpc_module->localCoreRcmServer.initDone)' failed.
    Aborted

    I'm trying to find a simpler pipeline that demonstrates the problem, but since omxbufferalloc doesn't appear to actually work with videotestsrc that is proving quite difficult.  Hence I'm forced to use v4l2src, which in my environment requires some additional colorspace conversion done via omx_noisefilter.

    In fact, while the following pipeline doesn't actually work, it does demonstrate the same basic behavior in terms of the assertion being thrown as soon as you hit ctrl-c:

    /opt/gstreamer/bin/gst-launch videotestsrc  ! "video/x-raw-yuv, format=(fourcc)YUY2, width=640, height=480, framerate=30/1, buffer-count-requested=4" ! omxbufferalloc numBuffers=3 ! omx_noisefilter ! omx_mdeiscaler name=d d.src_00 !  'video/x-raw-yuv, width=(int)800, height=(int)480' ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 display-device=LCD ! gstperf ! omx_videosink display-device=LCD sync=false d.src_01  ! gstperf ! queue ! fakesink silent=true
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/.d
    Freeing pipeline ...
    gst-launch-0.10: OmxRpcStub.c:1432: OmxRpc_stubGetState: Assertion `(1 == OmxRpc_module->localCoreRcmServer.initDone)' failed.
    Aborted

    I'm mentioning the above case since it's trivial to reproduce without the custom v4l2src setup I have.

  • Hello,

    Could you try :

    root@dm814x-evm:~# gst-launch -v  videotestsrc  ! 'video/x-raw-yuv, format=(fourcc)YUY2, width=640, height=480, framerate=30/1' !  omxbufferalloc numBuffers=12
    ! omx_noisefilter  ! omx_mdeiscaler name=d d.src_00 ! 'video/x-raw-yuv, width=(int)800, height=(int)480' ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 !  gstperf
     ! fakesink
    Setting pipeline to PAUSED ...
    /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)YUY2, color-matrix=(string)sdtv, chroma-site=(string)mpeg2, width=(int)640, height=(int)480, framerate=(fraction)30/1
    Pipeline is PREROLLING ...
    allocating 12 buffers of size:614400!!
    allocated outbuf:0x4219b080
    allocated outbuf:0x42231080
    allocated outbuf:0x422c7080
    allocated outbuf:0x4235d080
    allocated outbuf:0x423f3080
    allocated outbuf:0x42489080
    allocated outbuf:0x4251f080
    allocated outbuf:0x425b5080
    allocated outbuf:0x4264b080
    allocated outbuf:0x426e1080
    allocated outbuf:0x42777080
    allocated outbuf:0x4280d080
    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = NULL
    Freeing pipeline ...

    I will continue  investigate the issue.

    Best Regards,

    Magy

  • That fails as well:

    dm814x-evm login: root
    root@dm814x-evm:~# /opt/gstreamer/bin/gst-launch videotestsrc ! "video/x-raw-yu
    v, format=(fourcc)YUY2, width=640, height=480, framerate=30/1" ! omxbufferalloc
    numBuffers=12 ! omx_noisefilter ! omx_mdeiscaler name=d d.src_00 ! 'video/x-raw
    -yuv, width=(int)800, height=(int)480' ! omx_ctrl display-mode=OMX_DC_MODE_1080P
    _60 display-device=LCD ! gstperf ! omx_videosink display-device=LCD sync=false d
    .src_01 ! gstperf ! queue ! fakesink silent=true
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    allocating 12 buffers of size:614400!!
    allocated outbuf:0x40bf5080
    allocated outbuf:0x40c8b080
    allocated outbuf:0x40d21080
    allocated outbuf:0x40db7080
    allocated outbuf:0x40e4d080
    allocated outbuf:0x40ee3080
    allocated outbuf:0x40f79080
    allocated outbuf:0x4100f080
    allocated outbuf:0x410a5080
    allocated outbuf:0x4113b080
    allocated outbuf:0x411d1080
    allocated outbuf:0x41267080
    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 377 in /home/devin/ezsdk505/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Freeing pipeline ...
    gst-launch-0.10: OmxRpcStub.c:1432: OmxRpc_stubGetState: Assertion `(1 == OmxRpc_module->localCoreRcmServer.initDone)' failed.
    Aborted

    One thing that may be worth noting:  I have a patch to my omxbufferalloc, as a result of an unrelated crash:

    ===================================================================
    --- gst-openmax-dm81xx.orig/src/omx/gstomxbufferalloc.c 2012-11-14 16:15:41.392143697 -0600
    +++ gst-openmax-dm81xx/src/omx/gstomxbufferalloc.c 2012-11-14 16:17:40.760145714 -0600
    @@ -190,6 +190,7 @@
    gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
    gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
    + filter->out_port.portptr = gst_omxportptr_new(&filter->out_port);
    filter->silent = FALSE;
    filter->out_port.num_buffers = 10;
    filter->out_port.always_copy = FALSE
    ===================================================================

    This was a patch provided by TI in the following thread:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/228258/812203.aspx

  • Hello Devin,

    I will check. I will let you know, when I have something.

    Best Regards,

    Margarita

  • Hello,

    Could you try:

    V4L2src capture + V4L2 sink display:

    gst-launch v4l2src always-copy=false queue-size=12 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,width=1920,height=1080,framerate=(fraction)60/1' ! omxbufferalloc numBuffers=12 ! omx_scaler ! gstperf ! v4l2sink sync=false

    V4L2src capture + V4L2 sink display:

    gst-launch v4l2src always-copy=false queue-size=12 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,width=1920,height=1080,framerate=(fraction)60/1' ! omxbufferalloc numBuffers=12 ! gstperf ! v4l2sink sync=false

    V4L2src capture + OMX sink display:

    gst-launch v4l2src always-copy=false queue-size=12 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,width=1920,height=1080,framerate=(fraction)60/1' ! omxbufferalloc numBuffers=12 ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink sync=false

    OMX camera capture + OMX sink display:

    gst-launch v4l2src  always-copy=false queue-size=12  ! "video/x-raw-yuv, format=(fourcc)NV12, width=1920, height=1080, framerate=60/1, buffer-count-requested=4" ! omx_scaler  !  omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf print-fps=true print-arm-load=true  ! omx_videosink sync=false

    Let me know, the result.


    Devin Heitmueller said:
    gst-launch videotestsrc ! "video/x-raw-yu
    v, format=(fourcc)YUY2, width=640, height=480, framerate=30/1" ! omxbufferalloc
    numBuffers=12 ! omx_noisefilter ! omx_mdeiscaler name=d d.src_00 ! 'video/x-raw
    -yuv, width=(int)800, height=(int)480' ! omx_ctrl display-mode=OMX_DC_MODE_1080P
    _60 display-device=LCD ! gstperf ! omx_videosink display-device=LCD sync=false d
    .src_01 ! gstperf ! queue ! fakesink silent=true


    This pipeline isn't correct. It fails on CTRL.DC(OMX component).

    Best Regards,
    Margarita

  • Hello Margarita,

    I cannot test these use cases as described because I do not have any of the drivers installed for the EVK onboard capture source.

    What is wrong with the pipeline?  Please be more specific.  I certainly hope you are not suggesting that it is permissible that there be an improperly specified pipeline that results in crashing syslink.  I say that of course knowing full well that the code quality in TI's gstreamer implementation is so poor that I've practically worn out the power switch on my EVK from having to power cycle it so much during this project.

    Is there any way to do further testing without a real V4L2 source?  For example, the pipeline I provided that uses videotestsrc demonstrates the actual failure and doesn't require any actual capture driver.  Yes the pipeline doesn't work but it points out the faulty exception handling in TI's code, which should be good enough to debug the underlying issue.

    By the way, why doesn't omxbufferalloc work with videotestsrc?  That seems like it would have been really smart to make that use case work as it would allow users to exercise the complete pipeline with the OMX components without having a real capture source.

    Devin

  • Hello,

    gst-launch videotestsrc ! "video/x-raw-yuv, format=(fourcc)YUY2, width=640, height=480, framerate=30/1" ! omxbufferalloc numBuffers=12 ! omx_noisefilter ! omx_mdeiscaler name=d d.src_00 ! 'video/x-raw-yuv, width=(int)800, height=(int)480' ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 display-device=LC
    D ! gstperf ! omx_videosink display-device=LCD sync=false d.src_01 ! gstperf ! queue ! fakesink silent=true
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    allocating 12 buffers of size:614400!!
    allocated outbuf:0x40c1c080
    allocated outbuf:0x40cb2080
    allocated outbuf:0x40d48080
    allocated outbuf:0x40dde080
    allocated outbuf:0x40e74080
    allocated outbuf:0x40f0a080
    allocated outbuf:0x40fa0080
    allocated outbuf:0x41036080
    allocated outbuf:0x410cc080
    allocated outbuf:0x41162080
    allocated outbuf:0x411f8080
    allocated outbuf:0x4128e080
    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    Assertion at Line no: 380 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 380 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 380 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 380 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 380 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 380 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 380 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 380 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Assertion at Line no: 380 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed
    Freeing pipeline ...
    gst-launch-0.10: OmxRpcStub.c:1432: OmxRpc_stubGetState: Assertion `(1 == OmxRpc_module->localCoreRcmServer.initDone)' failed.
    Aborted

    Getting the assertion in ResTrack.c line 380, means you have either not deleted a MessageQ, a HeapBufMP, or failed to call Notify_unregister (or Notify_unregisterSingle).

    You could check this thread too:

    http://e2e.ti.com/support/embedded/linux/f/354/t/254951.aspx?pi239031349=2

    Best Regards,

    Margarita

  • Dear All,

    it seems that there's a problem in using omx_videosink.

    In my tests I've found the using v4l2sink instead of omx_videosink solve the problem.

    The following pipeline:

    gst-launch -e -v v4l2src device="/dev/video0" always-copy=false queue-size=8 num-buffers=-1 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,width=1920,height=1080,framerate=(fraction)60/1' ! omxbufferalloc silent=false numBuffers=8 ! omx_scaler ! gstperf ! v4l2sink device="/dev/video4" sync=false

    Has no problem in stopping and restarting gstreamer:

    root@dm814x-evm:~# source ./gst-nelk.sh; gst-launch -e -v v4l2src device="/dev/v
    ideo0" always-copy=false queue-size=8 num-buffers=-1 ! 'video/x-raw-yuv-strided,
    format=(fourcc)NV12,width=1920,height=1080,framerate=(fraction)60/1' ! omxbuffer
    alloc silent=false numBuffers=8 ! omx_scaler ! gstperf ! v4l2sink device="/dev/v
    ideo4" sync=false
    Setting pipeline to PAUSED ...
    ** (gst-launch-0.10:1502): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    ** (gst-launch-0.10:1502): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    ** (gst-launch-0.10:1502): CRITICAL **: gst_v4l2sink_sync_flip: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    [ 1668.950000] ti81xxvin ti81xxvin: Invalid input index
    [ 1668.960000] ti81xxvin ti81xxvin: Invalid format index
    [ 1668.970000] naon-evb-mid: detected preset: 18
    [ 1668.970000] naon-evb-mid: MBUS_FMT: Width - 1024, Height - 768
    [ 1668.980000] naon-evb-mid: MBUS_FMT: Width - 1024, Height - 768 Mode set is 1080
    allocating 8 buffers of size:3110400!!
    allocated outbuf:0x4824c080
    allocated outbuf:0x48543680
    allocated outbuf:0x4883ac80
    allocated outbuf:0x48b32280
    allocated outbuf:0x48e29880
    allocated outbuf:0x49120e80
    allocated outbuf:0x49418480
    allocated outbuf:0x4970fa80
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:src: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:sink: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:sink: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:sink: caps = video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)60/1, width=(int)1920, height=(int)1080
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:src: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:src: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:sink: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0.GstPad:sink: caps = video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)60/1, interlaced=(boolean)false
    perf0: frames: 60 current: 59.07 average: 59.07 arm-load: 1
    perf0: frames: 120 current: 60.00 average: 59.53 arm-load: 2
    perf0: frames: 181 current: 60.00 average: 59.69 arm-load: 0
    Caught interrupt -- perf0: frames: 242 current: 60.00 average: 59.77 arm-load: 0
    handling interrupt.
    Interrupt: Stopping pipeline ...
    EOS on shutdown enabled -- Forcing EOS on the pipeline
    Recieved EOS event, press <CTRL+C> to terminate pipeline.
    Waiting for EOS...
    Got EOS from element "pipeline0".
    EOS received - stopping pipeline...
    Execution ended after 4330846650 ns.
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    !!!!!!!!!unreference all the remaining buffers!!!!!!!!!/GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/Gstperf:perf0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:
    [ 1673.420000] t81xx_vidout t81xx_vidout: VIDOUT0: invalid dequeue
    src: caps = NULL
    /GstPipeline:pipeline0/GstomxBufferAlloc:omxbufferalloc0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL
    Setting pipeline to NULL ...
    Freeing pipeline ...
    
    

    Any comment on this?

    Best Regards,

    Andrea