Linaro(Debian)でGStreamerを使ってウェブカメラを表示してみました。このパイプラインを使用すると、予期しない XShm 画像サイズ エラーが発生しました。
gst-launch-1.0 -v v4l2src device="/dev/video5" ! video/x-raw,width=640,height=480 ! videoconvert ! autovideosink
videotestsrc を使用すると問題なく動作します。
これはエラー出力です:
0:00:00.863472927 4364 0x55988b8940 WARN xvimagepool xvimagepool.c:200:xvimage_buffer_pool_alloc:<xvimagebufferpool1> can't create image: unexpected XShm image size (got 921600, expected 1228800)
0:00:00.863580550 4364 0x55988b8940 WARN bufferpool gstbufferpool.c:310:do_alloc_buffer:<xvimagebufferpool1> alloc function failed
0:00:00.863609424 4364 0x55988b8940 WARN bufferpool gstbufferpool.c:343:default_start:<xvimagebufferpool1> failed to allocate buffer
0:00:00.863636549 4364 0x55988b8940 ERROR bufferpool gstbufferpool.c:564:gst_buffer_pool_set_active:<xvimagebufferpool1> start failed
0:00:00.863670090 4364 0x55988b8940 WARN basetransform gstbasetransform.c:1670:default_prepare_output_buffer:<videoconvert0> error: failed to activate bufferpool
0:00:00.863686715 4364 0x55988b8940 WARN basetransform gstbasetransform.c:1670:default_prepare_output_buffer:<videoconvert0> error: failed to activate bufferpool
0:00:00.863853837 4364 0x55988b8940 WARN basetransform gstbasetransform.c:2159:default_generate_output:<videoconvert0> could not get buffer from pool: error
0:00:00.863917711 4364 0x55988b8940 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
0:00:00.863932586 4364 0x55988b8940 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPipeline:pipeline0/GstVideoConvert:videoconvert0: failed to activate bufferpool
Additional debug info:
gstbasetransform.c(1670): default_prepare_output_buffer (): /GstPipeline:pipeline0/GstVideoConvert:videoconvert0:
failed to activate bufferpool
Execution ended after 0:00:00.553725186
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...