We are now using imxg2dcompositor to compositing camera and videotestsrc.Using gstreamer1.0 as bellows.All videotestsrc is ok,but add imxv4l2videosrc or imxv4l2src is err as bellows.
Kernel 4.9.88 and using the latest gst-imx plugins...
gst-launch-1.0 \
imxg2dcompositor name=c background-color=0x223344 \
sink_0::xpos=0 sink_0::ypos=0 sink_0::width=400 sink_0::height=300 sink_0::fill_color=0x00000000 \
sink_1::xpos=400 sink_1::ypos=0 sink_1::width=400 sink_1::height=300 sink_1::fill_color=0x11111111 \
sink_2::xpos=200 sink_4::ypos=150 sink_4::width=400 sink_4::height=300 sink_4::fill_color=0x44444444 sink_4::alpha=0.5 ! \
queue2 ! video/x-raw, width=800, height=600 ! imxg2dvideosink \
videotestsrc pattern=2 ! queue2 ! c.sink_0 \
videotestsrc pattern=1 ! queue2 ! c.sink_1 \
imxv4l2videosrc device=/dev/video1 ! queue2 ! c.sink_2
----------------------------------------------------------------------------------------------------------------------------------------
errors:
(gst-launch-1.0:972): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
(gst-launch-1.0:972): GStreamer-CRITICAL **: invalid unclassed object pointer for value type 'GstAllocator'
0:00:01.266664334 972 0x271d50 ERROR imxphysmembufferpool phys_mem_buffer_pool.c:110:gst_imx_phys_mem_buffer_pool_set_config:<imxphysmembufferpool8> pool configuration has NULL allocator set
(gst-launch-1.0:972): GStreamer-CRITICAL **: gst_object_unref: assertion '((GObject *) object)->ref_count > 0' failed
0:00:01.267518000 972 0x271d50 ERROR bufferpool gstbufferpool.c:555:gst_buffer_pool_set_active:<imxphysmembufferpool8> pool was not configured
0:00:01.267892667 972 0x271d50 ERROR imxblitter blitter.c:240:gst_imx_blitter_set_input_frame_internal:<imxg2dblitter1> error acquiring input frame buffer: unknown
0:00:01.268273334 972 0x271d50 ERROR imxvideocompositor compositor.c:873:gst_imx_video_compositor_aggregate_frames:<c> error while drawing composition frame
Solved! Go to Solution.
tht plugin imxg2dcompositor ony support as follows in my device imx6q:
imxv4l2videosrc device=/dev/video0 ! c.sink_0 \
imxv4l2videosrc device=/dev/video1 ! c.sink_1
or
videotestsrc ! c.sink_0 \
videotestsrc ! c.sink_1
and videosrc to imxg2dcompositor should be directely,not support data filter between them.
tht plugin imxg2dcompositor ony support as follows in my device imx6q:
imxv4l2videosrc device=/dev/video0 ! c.sink_0 \
imxv4l2videosrc device=/dev/video1 ! c.sink_1
or
videotestsrc ! c.sink_0 \
videotestsrc ! c.sink_1
and videosrc to imxg2dcompositor should be directely,not support data filter between them.