Gstreamer resets focus on new pipeline

I have a loop where I start a gstreamer pipeline and then manually set the camera focus value on the first pass through of the loop. The images produced in this first pass of the loop are clean and high resolution. On the second pass through of the loop, I restart the gstreamer pipeline because I want to create a new video. When I try to record a new video, the image quality is blurry and low resolution. I believe this is because gstreamer reinitializes the focus value of the camera during a pipeline restart. Refocusing the camera adds about 1 second per loop pass through so I would like to avoid this. Is there any way to prevent gstreamer from reinitializing the focus value of the camera?


Hi Colin,

Welcome to our forum!

It’s an interesting observation of GStreamer pipelines behavior. It looks to me that you need to perform the changes in the source code so that issue could disappear. Probably, it’s somehow related to your camera capabilities. Still, I’m not really experienced with the GStreamer topic, and maybe you can do something in the configuration to change it.

As I know, GStreamer doesn’t have support forums, but I see that there are lots of users on the ArduPilot forum that worked with it. I believe you may ask the users there about the particular issue.