gst-plugin-toupcam
gst-plugin-toupcam copied to clipboard
Investigate failed start
$ GST_DEBUG=3,toupcamsrc:5,GST_TOUPCAMSRC_INFO=Y gst-launch-1.0 toupcamsrc
0:00:00.036867304 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:168:gst_toupcam_src_class_init: Using gst_toupcam_src_fill
Setting pipeline to PAUSED ...
0:00:00.037012792 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:780:gst_toupcam_src_start:<toupcamsrc0> start
0:00:00.037028150 275779 0x558db2ee2f80 INFO toupcamsrc gsttoupcamsrc.c:787:gst_toupcam_src_start:<toupcamsrc0> ToupCam Library Ver 53.21907.20221218
0:00:00.037431023 275779 0x558db2ee2f80 INFO toupcamsrc gsttoupcamsrc.c:792:gst_toupcam_src_start:<toupcamsrc0> Found 1 devices
0:00:00.037439815 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:798:gst_toupcam_src_start:<toupcamsrc0> Toupcam_Open
0:00:00.372837037 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:879:gst_toupcam_src_start:<toupcamsrc0> setup image mode: regular
0:00:00.374345781 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:924:gst_toupcam_src_start:<toupcamsrc0> Image 4928 w x 4928 h, in 3 bytes / pix => 72855552 bytes (72.9 MB), out 3 bytes / pix => 72855552 bytes (72.9 MB)
0:00:00.519099712 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:667:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) begin, want 4
0:00:00.519141691 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:674:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) end, images now 0
0:00:00.553884882 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:667:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) begin, want 4
0:00:00.553932768 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:674:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) end, images now 0
0:00:00.647302287 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:667:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) begin, want 4
0:00:00.647358596 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:674:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) end, images now 0
0:00:00.653176631 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:667:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) begin, want 4
0:00:00.653231878 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:674:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) end, images now 0
0:00:00.665004318 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:942:gst_toupcam_src_start:<toupcamsrc0> gst_toupcam_src_start(): ok
Pipeline is live and does not need PREROLL ...
0:00:00.665503885 275779 0x558db2e18aa0 FIXME default gstutils.c:3980:gst_pad_create_stream_id_internal:<toupcamsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Setting pipeline to PLAYING ...
0:00:00.665853449 275779 0x558db2e18aa0 WARN video-info video-info.c:727:gst_video_info_to_caps: invalid matrix 0 for RGB format, using RGB
0:00:00.665952418 275779 0x558db2e18aa0 INFO toupcamsrc gsttoupcamsrc.c:1030:gst_toupcam_src_set_caps:<toupcamsrc0> The caps being set are video/x-raw, format=(string)RGB, width=(int)4928, height=(int)4928, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)0:1:0:0, framerate=(fraction)0/1
New clock: GstSystemClock
0:00:00.666077443 275779 0x558db2e18aa0 DEBUG toupcamsrc gsttoupcamsrc.c:1291:gst_toupcam_src_fill:<toupcamsrc0> gst_toupcam_src_fill()
0:00:00.666095312 275779 0x558db2e18aa0 DEBUG toupcamsrc gsttoupcamsrc.c:1303:gst_toupcam_src_fill:<toupcamsrc0>
0:00:00.666106437 275779 0x558db2e18aa0 DEBUG toupcamsrc gsttoupcamsrc.c:1304:gst_toupcam_src_fill:<toupcamsrc0> waiting for new image
0:00:00.801306710 275779 0x7fdbec002320 DEBUG toupcamsrc gsttoupcamsrc.c:667:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) begin, want 4
0:00:00.801372474 275779 0x7fdbec002320 DEBUG toupcamsrc gsttoupcamsrc.c:674:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=1) end, images now 0
0:00:00.899989996 275779 0x7fdbf40038d0 DEBUG toupcamsrc gsttoupcamsrc.c:667:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=4) begin, want 4
0:00:00.900015579 275779 0x7fdbf40038d0 DEBUG toupcamsrc gsttoupcamsrc.c:674:sdk_callback_PullMode:<toupcamsrc0> sdk_callback_PullMode(nEvent=4) end, images now 1
0:00:00.900070779 275779 0x558db2e18aa0 DEBUG toupcamsrc gsttoupcamsrc.c:1171:pull_decode_frame:<toupcamsrc0> minfo size 72855552, maxsize 72855559, flags 0x00000002
0:00:00.900081216 275779 0x558db2e18aa0 DEBUG toupcamsrc gsttoupcamsrc.c:1240:pull_decode_frame:<toupcamsrc0> pulling x8 image
0:00:00.927148819 275779 0x558db2e18aa0 DEBUG toupcamsrc gsttoupcamsrc.c:1255:pull_decode_frame:<toupcamsrc0> pull image ok, total = 1, resolution = 4928 x 4928
0:00:00.927164442 275779 0x558db2e18aa0 DEBUG toupcamsrc gsttoupcamsrc.c:1258:pull_decode_frame:<toupcamsrc0> flag 3, seq 1, us 128917
0:00:00.930580316 275779 0x558db2e18aa0 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop:<toupcamsrc0> error: Internal data stream error.
0:00:00.930589100 275779 0x558db2e18aa0 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop:<toupcamsrc0> error: streaming stopped, reason not-linked (-1)
ERROR: from element /GstPipeline:pipeline0/GstToupCamSrc:toupcamsrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstToupCamSrc:toupcamsrc0:
streaming stopped, reason not-linked (-1)
Execution ended after 0:00:00.264674767
Setting pipeline to NULL ...
0:00:00.930798068 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:960:gst_toupcam_src_stop:<toupcamsrc0> gst_toupcam_src_stop()
Freeing pipeline ...
0:00:00.988219855 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:643:gst_toupcam_src_dispose:<toupcamsrc0> dispose
0:00:00.988243797 275779 0x558db2ee2f80 DEBUG toupcamsrc gsttoupcamsrc.c:657:gst_toupcam_src_finalize:<toupcamsrc0> finalize
Maybe somewhat related to https://github.com/JohnDMcMaster/gst-plugin-toupcam/issues/28
Looks like its a race condition related to the pipeline not having a sink. it can be fixed by doing something more like this:
gst-launch-1.0 toupcamsrc num-buffers=1 ! fakesink
GST_PLUGIN_PATH=$PWD/src/.libs/ gst-launch-1.0 toupcamsrc ! videoconvert ! jpegenc snapshot=true ! fakesink
Will close once I verify this a bit more