Dear All,
on our custom dm8148 hw I'm trying to put together a v4l2 source (vin0, 1080p60) with a h264 (/usr/share/ti/data/videos/dm816x_1080p_demo.264 provided with EZSDK) with gstreamer by using omx_videomixer component.
I can successfully use omx_videomixer with two h264, as following:
gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_00::outX=0 sink_00::outY=0 sink_00::outWidth=1920 sink_00::outHeight=816 sink_01::outX=0 sink_01::outY=0 sink_01::outWidth=848 sink_01::outHeight=360 ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink sync=false filesrc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix.
but when I try to substitute one of the with v4l2src it just hang
gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_0
0::outX=0 sink_00::outY=0 sink_00::outWidth=1920 sink_00::outHeight=816 sink_01
::outX=0 sink_01::outY=0 sink_01::outWidth=1920 sink_01::outHeight=816 ! omx_ctr
l display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false filesrc location=
/usr/share/ti/data/videos/dm816x_1080p_demo.264 ! 'video/x-h264' ! h264parse acc
ess-unit=true ! omx_h264dec ! mix. v4l2src device="/dev/video2" always-copy=fals
e queue-size=6 num-buffers=-1 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,wid
th=1920,height=1080,framerate=(fraction)50/1' ! omxbufferalloc silent=false numB
uffers=6 ! mix.
request pad!!
creating pad with name:sink_00
pad class init!!
Setting sink pad:0
request pad done ret!!
request pad!!
creating pad with name:sink_01
Setting sink pad:1
request pad done ret!!
Setting pipeline to PAUSED ...
[ 345.950000] ti81xxvin ti81xxvin: Invalid input index
Video mixer acti[ 345.980000] ti81xxvin ti81xxvin: Invalid format index
vate push!!
Mode set is 1080
allocating 6 buffers of size:3110400!!
allocated outbuf:0x44a85080
allocated outbuf:0x44d7c680
allocated outbuf:0x45073c80
allocated outbuf:0x4536b280
allocated outbuf:0x45662880
allocated outbuf:0x45959e80
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
In sink set caps:video/x-raw-yuv-strided, format=(fourcc)NV12, rowstride=(int)1920, framerate=(fraction)50/1, width=(int)1920, height=(int)1080
ip width:1920, ip height: 1080, ip stride:1920
Starting input thread...num sink pads:2
ip zorder - starting from lowest: 0, 1
In sink set caps:video/x-raw-yuv-strided, width=(int)1920, height=(int)1080, format=(fourcc)NV12, rowstride=(int)2048, interlaced=(boolean)false, framerate=(fraction)0/1
ip width:1920, ip height: 1080, ip stride:2048
created output caps:video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)25/1
In src set caps:video/x-raw-yuv, width=(int)1920, height=(int)1080, format=(fourcc)YUY2, framerate=(fraction)25/1
set src_setcaps height:1080, width:1920
Any clue?