ros_astra_camera
ros_astra_camera copied to clipboard
Change to image_transport to allow compressed images + fix deadlock
I've changed the publishers to image_transport::publisher, to allow for compressed image transport to save bandwidth.
It works on my Orange Pi 3B running Armbian with ROS noetic and a Astra Pro Plus camera.
Also fixes deadlock in the UVCCameraDriver::frameCallback when unsubscribing the last subscriber:
The uvc_stop_streaming call would wait for the frameCallback, which is waiting on the device_lock_, held by the imageUnsubscribedCallback (waiting on uvc_stop_streaming)