ros-drivers / gscam

ROS Camera driver for GStreamer-based video streams.
136 stars 172 forks source link

Fixed incorrect unref for gstreamer >= 1.16. #61

Open kaarta-ttaylor opened 4 years ago

kaarta-ttaylor commented 4 years ago

The buffer is accessed through gst_sample_get_buffer. The buffer shouldn't be unrefed the sample should be, however, this doesn't seem work in gstreamer 1.14. If the buffer is unreffed in 1.16 it eventually causes a segfault.

I tested this fix with gstreamer 1.16 and 1.14, it works with both.

kaarta-ttaylor commented 4 years ago

The check is failing for PyYAML requires Python '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*' but the running Python is 3.4.6

It looks like PyYAML requires Python 2.7 or Python 3.5+. https://pyyaml.org/wiki/PyYAML

maxpolzin commented 2 years ago

This fix is required to use gscam with gstreamer>=1.16. Runs well on noetic, debian buster.

kylemallory commented 1 year ago

Is there a reason this PR hasn't been merged in yet? This has been held open for 2+ years now, and demonstrated to work. I appreciate that the PyYAML fix is failing, but that's not a Gstreamer/gscam issue, and nothing in this PR would cause that to break (ie, that failure is a result of outside issues). This PR really need to be accepted and merged. @wep21 is this something that you could can pull in, or is there another reason this is being held up?

rucha6198 commented 9 months ago

Hello guys! I am new to GStreamer and ROS. I have created a GStreamer pipeline in a C++ program to get an image stream from an IP camera. The source of the pipeline is RTSP while the sink is "autovideosink". My pipeline is working successfully and I get the video stream. Now, I want to publish and subscribe to this video stream using ROS Noetic. I believe that gscam is not available for noetic in ROS. What can I use? Your help is really appreciated. Thank you in advance.