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.

Linux/TMS320DM8168: DM8168 EZSDK gstreamer XGA resolution problem

Part Number: TMS320DM8168

Tool/software: Linux

Hello all!

We've got a DM8168 evaluation board with ti-ezsdk_dm816x-evm_5_05_02_00

All examples using OMX_DC_MODE_1080P_60 but we need resolution 1024x768

For example, we try to play pipeline on HDMI Display:

gst-launch -v rtspsrc location="rtsp://172.16.5.203/axis-media/media.amp" ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false

On 1080P_60 mode this pipeline works fine!

Next we changed resolution in script /etc/init.d/load-hd-firware.sh:

#!/bin/sh
#
# manage HDVICP2 and HDVPSS Engine firmware

PATH=$PATH:/usr/share/ti/ti-media-controller-utils
HDVICP2_ID=1
HDVPSS_ID=2

case "$1" in
    start)
        echo "Loading HDVICP2 Firmware"
        prcm_config_app s
        modprobe syslink
        until [[ -e /dev/syslinkipc_ProcMgr && -e /dev/syslinkipc_ClientNotifyMgr ]]
        do
            sleep 0.5
        done
        firmware_loader $HDVICP2_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvicp.xem3 start
        echo "Loading HDVPSS Firmware"
        firmware_loader $HDVPSS_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvpss.xem3 start
        modprobe vpss sbufaddr=0xBFB00000 mode=hdmi:1024x768@60,dvo2:1024x768@60,hdcomp:1080p-60 i2c_mode=1
        modprobe ti81xxfb vram=0:24M,1:16M,2:6M
        fbset -depth 32 -rgba 8/16,8/8,8/0,0/0
        modprobe ti81xxhdmi
      ;;
    stop)
        echo "Unloading HDVICP2 Firmware"
        firmware_loader $HDVICP2_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvicp.xem3 stop
        echo "Unloading HDVPSS Firmware"
        rmmod ti81xxfb
        rmmod ti81xxhdmi
        rmmod vpss
        firmware_loader $HDVPSS_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvpss.xem3 stop
        rmmod syslink
      ;;
    *)
        echo "Usage: /etc/init.d/load-hd-firmware.sh {start|stop}"
        exit 1
        ;;
esac

exit 0

After saving we rebooted system.

We are 1024x768:

root@dm816x-evm:~# fbset

mode "1024x768-60"
    # D: 65.003 MHz, H: 48.365 kHz, V: 60.006 Hz
    geometry 1024 768 1024 768 32
    timings 15384 160 24 29 3 136 6
    rgba 8/16,8/8,8/0,8/24
endmode

But now all pipelines for display sink is NOT WORKING!

root@dm816x-evm:~# gst-launch -v rtspsrc location="rtsp://172.16.5.203/axis-medi
a/media.amp" ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! omx_sca
ler ! omx_ctrl display-mode=FVID2_STD_XGA_60 ! omx_videosink sync=false
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0: latency = 2000
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0: buffer-mode = slave (1)
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0: timeout = 5000000
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0: timeout = 0
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4d0029, sprop-parameter-sets=(string)\"Z00AKeKQCACjYC3AQEBpB4kRUA\\=\\=\\,aO48gA\\=\\=\", a-tool=(string)GStreamer, a-type=(string)broadcast, a-framerate=(string)5.000000, a-transform=(string)\"0.900000\\,0.000000\\,0.000000\\;0.000000\\,1.000000\\,0.000000\\;0.000000\\,0.000000\\,1.000000\", clock-base=(uint)2664626438, seqnum-base=(uint)8044, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_0_3225713374_96: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4d0029, sprop-parameter-sets=(string)\"Z00AKeKQCACjYC3AQEBpB4kRUA\\=\\=\\,aO48gA\\=\\=\", a-tool=(string)GStreamer, a-type=(string)broadcast, a-framerate=(string)5.000000, a-transform=(string)\"0.900000\\,0.000000\\,0.000000\\;0.000000\\,1.000000\\,0.000000\\;0.000000\\,0.000000\\,1.000000\", clock-base=(uint)2664626438, seqnum-base=(uint)8044, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_0_3225713374_96.GstProxyPad:proxypad4: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4d0029, sprop-parameter-sets=(string)\"Z00AKeKQCACjYC3AQEBpB4kRUA\\=\\=\\,aO48gA\\=\\=\", a-tool=(string)GStreamer, a-type=(string)broadcast, a-framerate=(string)5.000000, a-transform=(string)\"0.900000\\,0.000000\\,0.000000\\;0.000000\\,1.000000\\,0.000000\\;0.000000\\,0.000000\\,1.000000\", clock-base=(uint)2664626438, seqnum-base=(uint)8044, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_3225713374_96.GstProxyPad:proxypad3: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4d0029, sprop-parameter-sets=(string)\"Z00AKeKQCACjYC3AQEBpB4kRUA\\=\\=\\,aO48gA\\=\\=\", a-tool=(string)GStreamer, a-type=(string)broadcast, a-framerate=(string)5.000000, a-transform=(string)\"0.900000\\,0.000000\\,0.000000\\;0.000000\\,1.000000\\,0.000000\\;0.000000\\,0.000000\\,1.000000\", clock-base=(uint)2664626438, seqnum-base=(uint)8044, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1024, height=(int)640
/GstPipeline:pipeline0/GstOmxH264Dec:omxh264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1024, height=(int)640
/GstPipeline:pipeline0/GstOmxH264Dec:omxh264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1024, height=(int)640
/GstPipeline:pipeline0/GstOmxH264Dec:omxh264dec0.GstPad:src: caps = video/x-raw-yuv-strided, width=(int)1024, height=(int)640, format=(fourcc)NV12, rowstride=(int)1152, interlaced=(boolean)false, framerate=(fraction)0/1

(gst-launch-0.10:1270): GStreamer-CRITICAL **: _gst_util_uint64_scale_int: assertion `denom > 0' failed
/GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:sink: caps = video/x-raw-yuv-strided, width=(int)1024, height=(int)640, format=(fourcc)NV12, rowstride=(int)1152, interlaced=(boolean)false, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:sink: caps = video/x-raw-yuv-strided, width=(int)1024, height=(int)640, format=(fourcc)NV12, rowstride=(int)1152, interlaced=(boolean)false, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstOmxScaler:omxscaler0.GstPad:src: caps = video/x-raw-yuv, width=(int)1024, height=(int)640, format=(fourcc)YUY2, framerate=(fraction)0/1, interlaced=(boolean)false
/GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:src: caps = video/x-raw-yuv, width=(int)1024, height=(int)640, format=(fourcc)YUY2, framerate=(fraction)0/1, interlaced=(boolean)false
/GstPipeline:pipeline0/GstOmxBaseCtrl:omxbasectrl0.GstPad:sink: caps = video/x-raw-yuv, width=(int)1024, height=(int)640, format=(fourcc)YUY2, framerate=(fraction)0/1, interlaced=(boolean)false
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_-1069253922: caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSink:udpsink1.GstPad:sink: caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2: caps = application/x-rtcp

This is hangs on this point and no video on display.

Could you please provide some way to display rtsp video for HDMI display 1024x768?

Thanks a lot!

  • Hello,

    I would recommend you to use pipeline with v4l2sink element instead of omx_videosink.
    Here is example :

    gst-launch 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=1024,height=768' ! v4l2sink device="/dev/video1" show-preroll-frame=false sync=false min-queued-bufs=2

    For this use case you should load v4l2 firmware.
    You could use this steps :
    /etc/init.d/matrix-gui-e stop
    /etc/init.d/pvr-init stop
    cd /usr/share/ti/ti-media-controller-utils
    load-hd-firmware.sh stop
    load-hd-v4l2-firmware.sh start


    or

    cd /usr/share/ti/ti-media-controller-utils
    cp load-hd-v4l2-firmware.sh /etc/init.d/load-hd-firmware.sh
    sync

    You should set the HDMI resolution also please check this example:

    root@dm816x-evm:~# /etc/init.d/matrix-gui-e stop
    Stopping Matrix GUI application.
    root@dm816x-evm:~# /etc/init.d/pvr-init stop
    Stopping PVR
    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/display0/enabled
    root@dm816x-evm:~# echo 33500,800/164/89/10,480/10/23/10,1 > /sys/devices/platform/vpss/display0/timings
    root@dm816x-evm:~# echo 1 > /sys/devices/platform/vpss/display0/enabled
    root@dm816x-evm:~# fbset -xres 800 -yres 480 -vxres 800 -vyres 480
    root@dm816x-evm:~# /etc/init.d/matrix-gui-e start
    Starting Matrix GUI application.
    root@dm816x-evm:~# cat /sys/devices/platform/vpss/display0/mode
    800x480@60

    You could check these guides:
    DM816x_EZ_Software_Developers_Guide.pdf - for how to change OMX to v4l2 firmware
    processors.wiki.ti.com/.../DM814X_AM387X_VPSS_Video_Driver_User_Guide

    Hope this helps.

    BR
    Margarita
  • Margarita,
    After changing of resolution for hdmi matrix_gui always works fine but gstreamer can't display any data on display. This is very big problem.
  • Hello,

    Please, could you try with v4l2sink element (check my previous post). In this case v4l2 display drive is used. OMX control and OMX display component are replaced with v4l2.

    I would recommend you to set the caps filter after scaler(with the resolution).
    Please check this file also:
    gstomx_base_ctrl.c (this is the control component), omx_videsink (display component),
    You could allocate these files in component-sources/gst-openmax_GST_DM81XX_00_07_00_00/omx


    BR
    Margarita
  • Margarita,

    We can't using v4l2 because pipeline that we need working only on omx_videosink.

    This is fine working on omx_videosink and 1080_P-60 mode:

    gst-launch --gst-debug=2 videomixer name=mix ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=true filesrc location=2.png ! pngdec ! queue ! ffmpegcolorspace ! imagefreeze ! mix.

    But the same pipeline in v4l2 firmware don't working:

    gst-launch --gst-debug=2 videomixer name=mix ! omx_ctrl ! v4l2sink sync=true device=/dev/video1 filesrc location=2.png ! pngdec ! imagefreeze ! ffmpegcolorspace ! omx_scaler ! 'video/x-raw-yuv, width=64, height=64' ! mix.
    
    root@dm816x-evm:~/bvi/png# gst-launch --gst-debug=2 videomixer name=mix ! omx_ct
    rl ! v4l2sink sync=true device=/dev/video1 filesrc location=2.png ! pngdec ! ima
    gefreeze ! ffmpegcolorspace ! omx_scaler ! 'video/x-raw-yuv, width=64, height=64
    ' ! mix.
    Setting pipeline to PAUSED ...
    
    ** (gst-launch-0.10:1446): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    
    ** (gst-launch-0.10:1446): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    
    ** (gst-launch-0.10:1446): CRITICAL **: gst_v4l2sink_sync_flip: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    Pipeline is PREROLLING ...
    t81xx_vidout t81xx_vidout: VIDOUT0: buffer size wrong 8192 : 0
    t81xx_vidout t81xx_vidout: VIDOUT0: buffer size wrong 8192 : 0
    0:00:01.372735519  1446   0x19f3d0 WARN                    v4l2 gstv4l2bufferpool.c:215:gst_v4l2_buffer_new: Failed to mmap: Invalid argument
    

    And it's hangs on this point with no picture on display. We are see that some problem with buffers but we can't solve this.

    On other hand without mix v4l2 pipe works fine:

    gst-launch -v filesrc location=2.png ! pngdec ! imagefreeze ! ffmpegcolorspace ! omx_scaler ! 'video/x-raw-yuv, width=64, height=64' ! omx_ctrl ! gstperf ! v4l2sink sync=false device=/dev/video1

    But it's problem because we need pipeline with mix four rtsp video and png image overlay on display with resolution 1024x768.

    Whether this problem has some decision?

  • Hello,

    Please check this guide there is an example with v4l2sink and omx_videomixer.
    processors.wiki.ti.com/.../DM81xx_Gstreamer_Pipelines

    If you must use omx_videosink please check the files in my previous post.

    BR
    Margarita
  • Margarita,

    If we are using pipeline from your link and we are replace pngdec instead one of rtsp source so this pipeline is not working:

    root@dm816x-evm:~/bvi/png# gst-launch --gst-debug=2 omx_videomixer port-index=0
    name=mix !gstperf! v4l2sink device=/dev/video1 filesrc location=2.png ! pngdec !
     imagefreeze ! ffmpegcolorspace ! mix. rtspsrc location="rtsp://172.16.5.203/axi
    s-media/media.amp" ! rtph264depay ! h264parse access-unit=true ! omx_h264dec mix
    .
    0:00:00.235482543  1325    0x16050 WARN                 default ./grammar.y:889:_gst_parse_yyerror: Error during parsing: syntax error, unexpected $end, expecting LINK
    request pad!!
    creating pad with name:sink_00
    pad class init!!
    Setting sink pad:0
    request pad done ret!!
    Setting pipeline to PAUSED ...
    
    ** (gst-launch-0.10:1325): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    
    ** (gst-launch-0.10:1325): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    
    ** (gst-launch-0.10:1325): CRITICAL **: gst_v4l2sink_sync_flip: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    Video mixer activate push!!
    In sink set caps:video/x-raw-yuv, format=(fourcc)NV12, width=(int)64, height=(int)64, framerate=(fraction)25/1
    ip width:64, ip height: 64, ip stride:64
    Starting input thread...num sink pads:1
    ip zorder - starting from lowest: 0
    
    (gst-launch-0.10:1325): GLib-GObject-WARNING **: invalid cast from `GstBuffer' to `GstOmxBufferTransport'
    Caught SIGSEGV accessing address 0x1
    Spinning.  Please run 'gdb gst-launch 1325' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    0:00:01.717479358  1325    0x16050 WARN                     bin gstbin.c:2379:gst_bin_do_latency_func:<pipeline0> failed to query latency
    New clock: GstSystemClock
    0:00:01.988244876  1325   0x1a2fd8 WARN                     omx gstomx_base_filter.c:871:buffer_alloc:<omxh264dec0> faking settings changed notification
    
    (gst-launch-0.10:1325): GStreamer-CRITICAL **: gst_caps_intersect: assertion `GST_IS_CAPS (caps2)' failed
    
    (gst-launch-0.10:1325): GStreamer-CRITICAL **: gst_caps_is_fixed: assertion `GST_IS_CAPS (caps)' failed
    
    (gst-launch-0.10:1325): GStreamer-CRITICAL **: gst_caps_do_simplify: assertion `caps != NULL' failed
    
    (gst-launch-0.10:1325): GStreamer-CRITICAL **: gst_pad_fixate_caps: assertion `caps != NULL' failed
    Floating point exception
    root@dm816x-evm:~/bvi/png#
    

    Please provide us pipeline that are working with 1024x768 display resolution and mix rtsp and png sources (png overlay over rtsp video).

    Thanks a lot!

  • Hello,

    Is the pipeline working when you are using the branch with the png decode only?


    If you have not tried it, could you try it?

    gst-launch --gst-debug=2 omx_videomixer port-index=0
    name=mix ! ffmpegcolorspace ! v4l2sink device=/dev/video1 filesrc location=2.png ! pngdec !
    imagefreeze ! ffmpegcolorspace ! mix.

    or

    gst-launch --gst-debug=2 omx_videomixer port-index=0
    name=mix !gstperf!omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink filesrc location=2.png ! pngdec !
    imagefreeze ! ffmpegcolorspace ! mix.



    You could try something like:
    gst-launch filesrc location=12664924405.png ! pngdec ! ffmpegcolorspace ! queue ! videomixer name=mix ! ffmpegcolorspace ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink videotestsrc ! video/x-raw-yuv, width=320, height=240 ! mix.

    gst-launch -v videomixer name=mix sink_1::xpos=520 sink_1::ypos=960 sink_1::alpha=0.3 sink_1::zorder=3 sink_2::xpos=400 sink_2::ypos=100 sink_2::zorder=2 ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink filesrc location=12664924405.png ! queue max-size-buffers=100 max-size-time=100 max-size-bytes=0 ! pngdec ! queue max-size-buffers=100 max-size-time=100 max-size-bytes=0 ! ffmpegcolorspace ! imagefreeze ! mix. filesrc location=sample2.mp4 ! qtdemux ! h264parse ! queue max-size-buffers=100 max-size-time=100 max-size-bytes=0 ! omx_h264dec ! queue ! omx_scaler ! queue max-size-buffers=100 max-size-time=100 max-size-bytes=0 ! ffmpegcolorspace ! mix.


    BR
    Margarita
  • Margarita,

    This pipeline is not working:

    gst-launch --gst-debug=2 omx_videomixer port-index=0 name=mix ! ffmpegcolorspace ! v4l2sink device=/dev/video1 filesrc location=2.png ! pngdec ! imagefreeze ! ffmpegcolorspace ! mix. 

    Below output:

    root@dm816x-evm:~/bvi/png# gst-launch --gst-debug=2 omx_videomixer port-index=0
    name=mix ! ffmpegcolorspace ! v4l2sink device=/dev/video1 filesrc location=2.png
    ! pngdec ! imagefreeze ! ffmpegcolorspace ! mix.
    request pad!!
    creating pad with name:sink_00
    pad class init!!
    Setting sink pad:0
    request pad done ret!!
    Setting pipeline to PAUSED ...

    ** (gst-launch-0.10:1321): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed

    ** (gst-launch-0.10:1321): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed

    ** (gst-launch-0.10:1321): CRITICAL **: gst_v4l2sink_sync_flip: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    Video mixer activate push!!
    Pipeline is PREROLLING ...
    In sink set caps:video/x-raw-yuv, format=(fourcc)NV12, width=(int)64, height=(int)64, framerate=(fraction)25/1
    ip width:64, ip height: 64, ip stride:64
    Starting input thread...num sink pads:1
    ip zorder - starting from lowest: 0

    (gst-launch-0.10:1321): GLib-GObject-WARNING **: invalid cast from `GstBuffer' to `GstOmxBufferTransport'
    Caught SIGSEGV accessing address 0x1
    Spinning. Please run 'gdb gst-launch 1321' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...

    !!!!!!!!!unreference all the remaining buffers!!!!!!!!!Video mixer activate push!!
    paused to ready...done!!
    calling g_omx_core_deinit
    Freeing pipeline ...

  • Whether correctly we understand that it is impossible to play rtsp video via omx_videosink plugin on display with resolution 1024x768@60? Many necessary tasks are impossible on DM8168 processor and TI doing nothing for solve this many problems. Why the processor for which nothing works is necessary?
  • Hello,

    Could you try the same pipeline but with omx_ctrl component and omx_videosink?

    Also check this pipeline:

    gst-launch filesrc location=12664924405.png ! pngdec ! ffmpegcolorspace ! queue ! videomixer name=mix ! ffmpegcolorspace ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink videotestsrc ! video/x-raw-yuv, width=320, height=240 ! mix.


    BR
    Margarita

  • Hello,

    Sammy Grinfields said:
    Whether correctly we understand that it is impossible to play rtsp video via omx_videosink plugin on display with resolution 1024x768@60? Many necessary tasks are impossible on DM8168 processor and TI doing nothing for solve this many problems. Why the processor for which nothing works is necessary?

    This resolution is not tested. As you could check the resolution are when omx_ctrl is used:

    static int
    gst_omx_display_string_to_mode (char *str)
    {
        if (!strcmp (str, "OMX_DC_MODE_1080P_30"))
            return OMX_DC_MODE_1080P_30;

        if (!strcmp (str, "OMX_DC_MODE_1080I_60"))
            return OMX_DC_MODE_1080I_60;

        if (!strcmp (str, "OMX_DC_MODE_720P_60"))
            return OMX_DC_MODE_720P_60;

        if (!strcmp (str, "OMX_DC_MODE_1080P_60"))
            return OMX_DC_MODE_1080P_60;
       
        if (!strcmp (str, "OMX_DC_MODE_PAL"))
            return OMX_DC_MODE_PAL;

        if (!strcmp (str, "OMX_DC_MODE_NTSC"))
            return OMX_DC_MODE_NTSC;

        return -1;
    }

    #define LCD_WIDTH         (800)
    #define LCD_HEIGHT        (480)
    #define LCD_PIXEL_CLOCK   (33500)
    #define LCD_H_FRONT_PORCH (164)
    #define LCD_H_BACK_PORCH  (89)
    #define LCD_H_SYNC_LENGTH (10)
    #define LCD_V_FRONT_PORCH (10)
    #define LCD_V_BACK_PORCH  (23)
    #define LCD_V_SYNC_LENGTH (10)

    I would recommend you:

    1. Make sure  vmalloc=500M  in your boot args.

    2. Try with simple decoding pipeline with v4l2sink element to display at resolution for your use case (set caps filter after omx_scaler element).

    3. Check this e2e thread:

    https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/245285#pi317334=1

    regarding mixer element and png decoding.

    4. You could try to debug by adding --gst-debug=3 to the pipeline and you could run also ./loggerSMDump.out 0x9e400000 0x100000 all.

    5. Check this thread also:

    https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/426680

    BR
    Margarita