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.

TI Gstreamer Demo Problem

Other Parts Discussed in Thread: TVP7002

Hi,

I am using the DVSDK_DM368_EVM_4_01_00_09 for my DM368 board. Since I am new to all this, I followed the DM368 Developers Guide to get everything set up.  I tried out all the example commands. I was able to encode/decode video files and images, but I was having problems with all the gstreamer examples.  I have tried google the error messages, but I was unable to find any solutions. Any help from you guys here are much appreciated! 

 

Command: To decode 1000 frames of AAC audio to headphone output execute:

# ./audio_decode1_dm368.x470MV -c aac_dec  -n 1000 -i /usr/share/ti/data/sounds/davincieffect.aac

Output:
 Sample rate 44100 detected
################################Failed to write audio buffer
End of application.

 

Command: This pipeline decodes MPEG-4 video decode to 720P component output:
target # gst-launch filesrc location=/usr/share/ti/data/videos\
/davincieffect.mpeg4 ! TIViddec2 codecName=mpeg4dec engineName=codecServer ! \
queue max-size-buffers=2 max-size-time=0 max-size-bytes=0 ! TIDmaiVideoSink \
videoStd=720P_60 videoOutput=component sync=false hideOSD=true numBufs=3 \
useUserptrBufs=TRUE
Output:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
davinci_v4l2 davinci_v4l2.1: Display Manager failed to allocate the other layer:vidwin 3
ERROR: from element /GstPipeline:pipeline0/GstTIDmaiVideoSink:tidmaivideosink0: Unable to initialize display
Additional debug info:
gsttidmaivideosink.c(1657): gst_tidmaivideosink_render (): /GstPipeline:pipeline0/GstTIDmaiVideoSink:tidmaivideosink0
Execution ended after 168985458 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Command: mp4 decode pipeline using GStreamer peer buffer allocation to play non-720P resolution clip 
gst-launch filesrc location=/usr/share/ti/data/videos\
/davincieffect_h264_aac.mp4 ! qtdemux name=demux demux.audio_00 ! queue \
max-size-buffers=8000 max-size-time=0 max-size-bytes=0 ! TIAuddec1 ! alsasink \
demux.video_00 ! queue ! TIViddec2 ! queue max-size-buffers=2 max-size-time=0 \
max-size-bytes=0 ! TIDmaiVideoSink videoStd=720P_60 videoOutput=component \
numBufs=5 hideOSD=true useUserptrBufs=TRUE -v
Output:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/x-h264, profile=(string)high, level=(string)3.1, codec_data=(buffer)0164001fffe1001967640011
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/x-h264, profile=(string)high, level=(string)3.1, codec_data=(buffer)0164001fffe100196764001f1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buff2
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffe2
/GstPipeline:pipeline0/GstTIAuddec1:tiauddec10.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_da2
/GstPipeline:pipeline0/GstTIAuddec1:tiauddec10.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16,2
/GstPipeline:pipeline0/GstAlsaSink:alsasink0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, 2
/GstPipeline:pipeline0/GstTIViddec2:tividdec20.GstPad:sink: caps = video/x-h264, profile=(string)high, level=(string)3.1, codec_data=(buffer)0164001fffe10011
/GstPipeline:pipeline0/GstTIViddec2:tividdec20.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, framerate=(fraction)30/1, width=(int)1280, height=(i0
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, framerate=(fraction)30/1, width=(int)1280, height=(int)720
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, framerate=(fraction)30/1, width=(int)1280, height=(int)720
/GstPipeline:pipeline0/GstTIDmaiVideoSink:tidmaivideosink0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, framerate=(fraction)30/1, width=(int)120
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
ERROR: from element /GstPipeline:pipeline0/GstTIDmaiVideoSink:tidmaivideosink0: Unable to initialize display
Additional debug info:
gsttidmaivideosink.c(1657): gst_tidmaivideosink_render (): /GstPipeline:pipeline0/GstTIDmaiVideoSink:tidmaivideosink0
Execution ended after 270518168 ns.
Setting pipeline to PAUSED ...
Command: display test pattern on the composite output.
gst-launch videotestsrc  peer-alloc=false ! TIDmaiVideoSink useUserptrBufs=true numBufs=3 videoStd=D1_NTSC videoOutput=composite sync=false autoselect=TRUE
Output:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
davinci_v4l2 davinci_v4l2.1: Display Manager failed to allocate layer
davinci_v4l2 davinci_v4l2.1: Unable to configure video layer for id = 0
delay stream on ....
davinci_v4l2 davinci_v4l2.1: Display Manager failed to allocate layer
davinci_v4l2 davinci_v4l2.1: Unable to configure video layer for id = 0
delay stream on ....
Thank you for your help!
Thanks,
Comson

  • shake hands, I got a lot of trouble using gstreamer on DM368 board too.

    What's working on my DM368EVM running DVSDK4.02:

    gst-launch videotestsrc  peer-alloc=false ! TIDmaiVideoSink useUserptrBufs=true numBufs=3 videoStd=720P_60 videoOutput=component

    gst-launch filesrc location=/usr/share/ti/data/videos/davincieffect.mpeg4 ! TIViddec2 codecName=mpeg4dec engineName=codecServer ! queue max-size-buffers=2 max-size-time=0 max-size-bytes=0 ! TIDmaiVideoSink videoStd=720P_60 videoOutput=component sync=false hideOSD=true numBufs=3 useUserptrBufs=TRUE

    What's not working:

    gst-launch v4l2src always-copy=false num-buffers=1 ! video/x-raw-yuv,width=640,height=480 ! filesink location=test.raw

    Stuck at: New clock: GstSystemClock

  • Hello,

    Please note the current v4l2src does not support capturing from camera, whereas it has been patched to work with component and composite input. So you are trying  to use camera then you may need to patch it a bit further. And if you are using composite or component input then make sure your bootargs are set right.

    Thanks

    Brijesh

     

  • Brijesh:

    Can you point me to the source files I should look into?

    Thanks.

    Hongfeng

  • I have exactly the same problem as HongFeng had with DM368. I have a DM365 EVM. I was able to run the encode/decode demo to 720P camera input to a file and play it back. I was also able to play the recorded file using gstreamer. But when I tried:

    gst-launch -v v4l2src always-copy=FALSE num-buffers=800 input-src=component ! 'video/x-raw-yuv,format=(fourcc)NV12,widt                                                                                        
    h=1280,height=720' ! filesink location=xxx      

    I got the following output:     

    Setting pipeline to PAUSED ...                                                                                                                                          
    davinci_resizer davinci_resizer.2: RSZ_G_CONFIG:0:1:124                                                                                                                 
    davinci_previewer davinci_previewer.2: ipipe_set_preview_config                                                                                                         
    vpfe-capture vpfe-capture: IPIPE Chained                                                                                                                                
    vpfe-capture vpfe-capture: Resizer present                                                                                                                              
    EVM: switch to tvp7002 HD video input                                                                                                                                   
    tvp7002 1-005c: querystd, erorxxx, val = 1, val1 = 2                                                                                                                    
    vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 2                                                                                                               
    vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64                                                                  
    vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 2                                                                                                       
    vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672                                                      
    vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 1                                                                                                               
    vpfe-capture vpfe-capture: adjusted width = 32, height = 2, bpp = 1, bytesperline = 32, sizeimage = 96                                                                  
    vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 1                                                                                                       
    vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 1, bytesperline = 2176, sizeimage = 5013504                                                      
    vpfe-capture vpfe-capture: width = 1280, height = 720, bpp = 1                                                                                                          
    vpfe-capture vpfe-capture: adjusted width = 1280, height = 720, bpp = 1, bytesperline = 1280, sizeimage = 1382400                                                       
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: queue-size = 3                                                                                                              
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, framerate=(fraction)30000/1001, width=(int)1280, height=(int)720    
    Pipeline is live and does not need PREROLL ...                                                                                                                          
    Setting pipeline to PLAYING ...                                                                                                                                         
    New clock: GstSystemClock           

    But the file "xxx" has 0 bytes. Does this mean I'll need to extend v4l2src to be able to capture camera inputs, is there any alternatives I can try?

    -- Pearl Wang

    pwang@ipvideosys.com