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.

Streaming between TI8148 and linux laptop...

In TI8148 we have use the following command for both encoding to linux and decode from linux system..For streaming we have use the following C code in TI8148...

#GSTREAMER APPLICATION PROGRAM

#include<stdio.h>
#include <unistd.h>
#include<stdlib.h>
main()
{
 int i,j,k;

 printf("Stop the matrix application launcher before running any gstreamer pipeline\n");

 system("/etc/init.d/matrix-

gui-e stop");
 system("echo 0 > /sys/devices/platform/vpss/graphics0/enabled");
 system("echo 0 > /sys/devices/platform/vpss/graphics1/enabled");
 system("echo 0 > /sys/devices/platform/vpss/graphics2/enabled");

 printf("\n\n Setup READY..........\n");


if(fork()==0)
 {
 printf("Video source start\n");
 system("gst-launch-0.10 -v v4l2src ! image/jpeg, width=1024, height=768 ! omx_mjpegdec ! omx_h264enc force-idr-period=60 ! tcpserversink  host=192.168.0.130 port=5000");
 }
else
 {
     sleep(30);     
 printf("\n\n\n\n\nReceive start\n");
     system("gst-launch -v tcpclientsrc host=192.168.0.126 port=5000 ! h264parse ! omx_h264dec !  omx_scaler ! video/x-raw-yuv,width=800,height=480 ! omx_ctrl display-mode=OMX_DC_MODE_1080_60 display-device=LCD ! omx_videosink sync=false display-device=LCD");

  }

In linux laptop we have use  the following command for both decoding and encode video to TI8148 EVM using gstreamer...

gst-launch-0.10 -v tcpclientsrc host=192.168.0.130 port=5000 ! h264parse ! ffdec_h264 ! autovideosink . -v v4l2src ! video/x-raw-yuv, width=320, height=240 ! ffmpegcolorspace ! jpegenc ! tcpserversink host=192.168.0.126 port=5000

In linux system we can see the  streaming....But we got  the following error in TI8148-EVM while decode video from linux system...

root@dm814x-evm:/media# ./gstream1
Stop the matrix application launcher before running any gstreamer pipeline
Stopping Matrix GUI application.
VPSS_GRPX : please open fb1 node first.
VPSS_GRPX : please open fb2 node first.


 Setup READY..........
Video source start
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = image/jpeg, width=(int)1024, height=(int)768, framerate=(fraction)30/1
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = image/jpeg, width=(int)1024, height=(int)768, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = image/jpeg, width=(int)1024, height=(int)768, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstOmxMJPEGDec:omxmjpegdec0.GstPad:sink: caps = image/jpeg, width=(int)1024, height=(int)768, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstOmxMJPEGDec:omxmjpegdec0.GstPad:sink: caps = image/jpeg, width=(int)1024, height=(int)768, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstOmxMJPEGDec:omxmjpegdec0.GstPad:src: caps = video/x-raw-yuv-strided, width=(int)1024, height=(int)768, format=(fourcc)NV12, rowstride=(int)10e
/GstPipeline:pipeline0/GstOmxH264Enc:omxh264enc0.GstPad:sink: caps = video/x-raw-yuv-strided, width=(int)1024, height=(int)768, format=(fourcc)NV12, rowstride=(int)102e
/GstPipeline:pipeline0/GstOmxH264Enc:omxh264enc0.GstPad:src: caps = video/x-h264, width=(int)1024, height=(int)768, framerate=(fraction)30/1, stream-format=(string)bytu
/GstPipeline:pipeline0/GstTCPServerSink:tcpserversink0.GstPad:sink: caps = video/x-h264, width=(int)1024, height=(int)768, framerate=(fraction)30/1, stream-format=(stru





Receive start
Assertion at Line no: 1239 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/ipc/hlod
Assertion at Line no: 695 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/ipc/hlosd
ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
Assertion at Line no: 1239 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/ipc/hlod
Assertion at Line no: 695 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/ipc/hlosd
ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
Assertion at Line no: 1239 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/ipc/hlod
Assertion at Line no: 695 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/ipc/hlosd
ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
Assertion at Line no: 1239 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/ipc/hlod
Assertion at Line no: 695 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/ipc/hlosd
ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
Assertion at Line no: 1239 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/ipc/hlod
Assertion at Line no: 695 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/ipc/hlosd
ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
Assertion at Line no: 1239 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/ipc/hlod
Assertion at Line no: 761 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/ipc/hlosd
Caught SIGSEGV accessing address 0xe
ServiceMgr_rxThreadFxn: bind() failed with errno = 98
Spinning.  Please run 'gdb gst-launch 1383' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
Assertion at Line no: 500 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/ipc/hlosd
Assertion at Line no: 695 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/ipc/hlosd
ServiceMgr_stop: MessageQ_put failed: status = 0xfffffffe

  • Hello,

    I will try to check this. I will let you know.

    Best Regards,

    Margarita

  • Hello,

    I can not setup the scenario to check at this moment. Sorry for the inconvenience.

    Moorthi Jayaraman said:
    Assertion at Line no: 1239 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/ipc/hlod
    Assertion at Line no: 695 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/ipc/hlosd
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe

    Regarding the error I could say, the assertion is indeed from Syslink layer:  a call to MessageQ_put() call passing a NULL messageQ handle.

    What is the EZSDK and Gstreamer version that your are using here?

    Best Regards,

    Margarita


  • We are using the following version for EZSDK,Gstreamer...

    ti-ezsdk_dm814x-evm_5_05_02_00

    gst-openmax_GST_DM81XX_00_07_00_00

  • Hello,

    You can not run two pipelines almost in the same time on board side, that is why you are seeing the error.

    You could try one pipeline on board side like for example:

    gst-launch -v tcpclientsrc host=192.168.1.1 port=4953 typefind=true ! mpegvideoparse ! queue ! omx_mpeg2dec ! omx_scaler ! queue ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink filesrc location=/usr/share/ti/data/videos/sample5.ts typefind=true ! mpegtsdemux ! queue max-size-buffers=1200 max-size-time=0 max-size-bytes=0 ! mpegvideoparse !  gstperf  ! tcpserversink host=192.168.1.1

    But I think you should separate the pipelines on PC side. 

    You could check this topic too:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/218725.aspx

    Let me know the results.

    Best Regards,

    Margarita