GigE write_memory error for BayerGR8 frames

Hello @Emmanuel,

I am trying to read BayerGR8 frames from a GigE camera. Below is the pipeline I tried:

gst-launch-1.0 aravissrc ! video/x-bayer,format=grbg,width=1280,height=720 ! bayer2rgb ! video/x-raw,format=RGBx ! videoconvert ! video/x-raw,format = YUY2 ! queue ! v4l2sink device=/dev/video0

I get the following error:
ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Could not set caps on camera “”: GigEVision write_memory error (invalid-parameter)

When I try ‘arv-camera-test-0.8 --debug all:3’, I get the following error message:
** (arv-camera-test-0.8:8878): CRITICAL **: 18:56:07.161: arv_gc_integer_get_value: assertion ‘error==NULL || *error == NULL’ failed
gv packet size = 0 bytes
Can’t create stream thread: GigEVision write_memory error (invalid-parameter)

  1. Can I get some help to retrieve the BayerGR8 frames?
  2. Is there a way for aravissrc to read YCbCr709_422_8_CbYCrY frames?

Thank you!

Hi,

Are you able to view the video stream using arv-viewer ?

Did you try to power cycle you camera ?

Thank you for your reply!

My camera outputs 4 possible formats: Mono8, BayerGR8, YCbCr709_411_8_CbYYCrYY and YCbCr709_422_8_CbYCrY.

Using arv-viewer, the first 2 formats are selectable from the drop-down, but I get a white screen when I hit the play button. The last 2 formats are greyed out and cannot be selected. Does this mean that the camera is not supported by aravis?

Power cycling the camera does not help.

There is an issue while receiving the frames. Could you attach the output of arv-camera-test-0.8 -d all --duration 1 please ?

Below is the output:

Looking for the first available camera
[18:53:01.940] 🅸 interface> Found 0 USB3Vision device (among 6 USB devices)
[18:53:01.941] 🅸 interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1)
[18:53:01.942] 🅸 interface> [GvDiscoverSocket::new] Add interface 192.168.5.99 (192.168.5.255)
[18:53:01.952] 🅸 interface> [GvInterface::discovery] Device ‘Pleora Technologies Inc.-iPORT-SB-GigE-PT01-SN4IP01-128x-XX:XX:XX:XX:XX:XX’ found (interface 192.168.5.99) user_id ‘’ - MAC ‘XX:XX:XX:XX:XX:XX’
[18:53:01.953] 🅸 device> [GvDevice::new] Interface address = 192.168.5.99
[18:53:01.953] 🅸 device> [GvDevice::new] Device address = 192.168.5.31
[18:53:01.962] 🅸 device> [GvDevice::load_genicam] xml url = ‘Local:iport_sb_gige_pt01_sn4ip01_128xg_1_0_0_01246F9B.zip;3fff8000;e68d’ at 0x200
[18:53:01.962] 🅸 device> [GvDevice::load_genicam] Xml address = 0x3fff8000 - size = 0xe68d - iport_sb_gige_pt01_sn4ip01_128xg_1_0_0_01246F9B.zip
[18:53:03.223] 🅸 device> [GvDevice::load_genicam] Zipped xml data
[18:53:03.526] 🅸 genicam> [Gc::set_default_node_data] Add ‘GevSCPAddrCalc’
[18:53:03.551] 🅸 device> [GvDevice::new] Device endianness = big
[18:53:03.551] 🅸 device> [GvDevice::new] Packet resend = yes
[18:53:03.551] 🅸 device> [GvDevice::new] Write memory = yes
[18:53:03.551] 🅸 device> [GvDevice::new] Legacy endianness handling = no
vendor name = Pleora Technologies Inc.
model name = iPORT-SB-GigE-PT01-SN4IP01-128x
device serial number =
image width = 1280
image height = 720
exposure = 0.04 µs
gain = 0 dB
payload = 921600 bytes
gv n_stream channels = 1
gv current channel = 0
gv packet delay = 0 ns
[18:53:03.711] 🅸 device> [GvDevice::create_stream] Number of stream channels = 1
[18:53:03.931] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 1476
[18:53:04.111] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 55
[18:53:04.161] 🅸 device> [GvDevice::auto_packet_size] Packet size set to 1476 bytes

** (arv-camera-test-0.8:9422): CRITICAL **: 18:53:04.181: arv_gc_integer_get_value: assertion ‘error == NULL || *error == NULL’ failed
gv packet size = 0 bytes
Can’t create stream thread: GigEVision write_memory error (invalid-parameter)

May be another occurrence of the Genicam legacy mode: Problems Using Pleora iPORT CL-GigE · Issue #179 · AravisProject/aravis · GitHub ?

I read the thread and tried to change _use_legacy_endianness_mechanism function (in aravis/src/arvgcport.c) to always return true. However, I still cannot view the stream in arv-viewer-0.8, and get the same error for arv-camera-test-0.8.

I also found that GevSupportedOptionSelector=SingleLink and GevSupportedOption=true. When I tried to change GevSupportedOptionSelector=WriteMem, it changes momentarily before defaulting back to SingleLink.

Please advise.