-
-
Notifications
You must be signed in to change notification settings - Fork 380
Description
Describe the bug
Not able to use aravissrc as a source when triggering the camera by hardware. The pipeline does not send the buffer downstream. The goal is to generate snapshots when triggering the camera from the hardware.
To Reproduce
1 - Set the camera to generate frames on demand when triggered by hardware events:
arv-tool-0.8 -n 'BALLUFF GmbH-BVS CA-GX0-0032AC-GX301282' control AcquisitionMode='Continuous'
arv-tool-0.8 -n 'BALLUFF GmbH-BVS CA-GX0-0032AC-GX301282' control ExposureTime='200000'
arv-tool-0.8 -n 'BALLUFF GmbH-BVS CA-GX0-0032AC-GX301282' control TriggerSelector='FrameStart'
arv-tool-0.8 -n 'BALLUFF GmbH-BVS CA-GX0-0032AC-GX301282' control TriggerMode='On'
arv-tool-0.8 -n 'BALLUFF GmbH-BVS CA-GX0-0032AC-GX301282' control TriggerActivation='FallingEdge'
arv-tool-0.8 -n 'BALLUFF GmbH-BVS CA-GX0-0032AC-GX301282' control TriggerSource='Line4'
2 - Launch gstd client:
gstd -p 5000 -n 2
3 - In another terminal, create and play the pipeline:
gst-client pipeline_create test aravissrc name=balluff num-buffers=10 \
! video/x-bayer, format=rggb, width=1920, height=1080, framerate=0/1, pixel-aspect-ratio=1/1 ! bayer2rgb \
! video/x-raw, format=RGBA ! videoconvert ! jpegenc ! multifilesink async=false location=test.jpeg
gst-client debug_enable true
gst-client debug_color true
gst-client debug_threshold **:6
gst-client element_set test balluff camera-name "BALLUFF GmbH-BVS CA-GX0-0032AC-GX301282"
sleep 5
gst-client pipeline_play test
sleep 3
gst-client pipeline_play test
4 - Trigger the camera.
In our setup, we have a camera with pin 4 connected to a laser sensor. When the laser is interrupted, we have a failing edge that triggers the camera to capture an image. This behavior works very well when running the wxPropView provided by the Balluff SDK.
Expected behavior
Store a jpeg image in the filesystem when a frame is present in the pipeline.
Camera description:
- Manufacturer: Balluf
- Model: GmbH-BVS CA-GX0-0032AC-GX301282
- Interface: Gigabit M12 para Ethernet
Platform description:
- Aravis 0.8.10
- OS: Ubuntu 20.04
- Hardware x86_64
Additional context
GSTD Logs:
gstd_logs.txt
Multifilesink without async prop:
When running the pipeline without setting the multifilesink async prop to false we get the following output:
streamer | Setting pipeline to PAUSED ...
gstreamer | Pipeline is live and does not need PREROLL ...
gstreamer | Setting pipeline to PLAYING ...
gstreamer | ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Internal data stream error.
gstreamer | Additional debug info:
gstreamer | gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstAravis:aravis0:
gstreamer | streaming stopped, reason not-negotiated (-4)
gstreamer | Execution ended after 0:00:00.000038603
gstreamer | Setting pipeline to PAUSED ...
gstreamer | Setting pipeline to READY ...
gstreamer | Setting pipeline to NULL ...
gstreamer | Freeing pipeline ...
gstreamer exited with code 1
Balluff settings (wxPropView):
