-
Notifications
You must be signed in to change notification settings - Fork 0
Add safe Rust wrappers for VDO (Video Capture) API #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: vsem-azamat <[email protected]>
Co-authored-by: vsem-azamat <[email protected]>
Co-authored-by: vsem-azamat <[email protected]>
|
Reviewed PR AxisCommunications#153 comments in detail. Key improvements applied in 934042b:
Key learnings from PR AxisCommunications#153:
Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot Does this PR follow contribute rules? |
The repository doesn't have a formal The PR follows the existing project patterns:
If you want to contribute to the upstream AxisCommunications/acap-rs, you may want to open a PR there directly or discuss with the maintainers since they already have an ongoing VDO implementation in PR AxisCommunications#153. |
|
@copilot Is it possible to tests (make tests) those kind of updates? |
Testing VDO bindings is challenging because they require actual Axis camera hardware. The VDO library is only available on Axis devices. Looking at the project's testing infrastructure:
You could add device-based tests similar to For now, the code was verified with |
|
@copilot So, I have an Axis camera. Do we need make tests for camera tests or are it here? |
Currently there are no tests in the To run tests on your camera: # Set environment variables
export AXIS_DEVICE_IP=<your-camera-ip>
export AXIS_DEVICE_USER=root
export AXIS_DEVICE_PASS=<your-password>
# Run tests for a specific package
make test AXIS_PACKAGE=vdoWould you like me to add basic device tests for the VDO crate? I can create a test module similar to
These tests would only work when deployed to an Axis device with |
vdocrate with safe wrappers for VDO APIerror.rs)format.rs) - video formats and frame typesmap.rs) - configuration map with RAIIbuffer.rs) with RAII memory managementstream.rs) for stream managementvdo_buffer_get_data()instead of manualvdo_frame_memmap()for better mmap cachingresolution(width, height)method to prevent ill-formed configurationschannel(channel)method for camera channel selectionvdo_stream_buffer_unreffor buffer cleanup (enqueue is deprecated)cargo checkOriginal prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.