<div dir="ltr"><div dir="ltr"><br></div><div class="gmail_quote">Hi Kieran,<br><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> I see this commit referenced from Umang Jain's slide deck:<br>
> <a href="https://gitlab.collabora.com/nicolas/libcamera/-/commit/83d67744" rel="noreferrer" target="_blank">https://gitlab.collabora.com/nicolas/libcamera/-/commit/83d67744</a><br>
<br>
I think we're still waiting for something like that to get posted.<br>
<br>
Ideally based on some autogeneration from the control definitions yaml<br>
file perhaps.<br></blockquote><div><br></div><div>I can assist with building a cpp tool that transforms src/libcamera/control_ids.yaml into src/gstreamer/gstlibcamera-controls*.<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> I'm looking at Pipewire use cases.<br>
<br>
I'm not sure if that helps Pipewire though as I think PW uses the<br>
libcamera API directly?<br>
<br>
Pipewire could probably be more suited to reporting controls through a<br>
more introspection type handling and expose those based on their type<br>
and information in the ControlInfo that it can identify at runtime?<br></blockquote><div><br></div>Consider this pipeline:<br><br> gst-launch-1.0 libcamerasrc ! 'video/x-raw,width=640,height=360' ! queue leaky=downstream max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! pipewiresink stream-properties="p,node.description=camera_out,<a href="http://node.name">node.name</a>=camera_out" mode=provide sync=false<br><br></div><div class="gmail_quote">* It represents an input node on a PipeWire Helvum graph.<br></div><div class="gmail_quote">* It's a standalone process.<br></div><div class="gmail_quote">* Control for this pipeline should cover libcamerasrc (setup/controls/properties) and the pipeline itself, allowing runtime adjustments.<br></div><div class="gmail_quote"></div><div class="gmail_quote"></div><br><div class="gmail_quote">The gaps I'm interested in are:<br></div><div class="gmail_quote">* passing parameters back to libcamerasrc to properly configure libcamerasrc from a GST pipeline instance.<br></div><div class="gmail_quote">* iterate get/set libcamerasrc properties at runtime from the same code that controls the GST pipeline instance.<br></div><div class="gmail_quote">* Enabling some form of node control directly in Helvum. <a href="https://gitlab.freedesktop.org/pipewire/helvum">https://gitlab.freedesktop.org/pipewire/helvum</a></div><div class="gmail_quote"><br></div><div class="gmail_quote">Cheers,<br></div><div class="gmail_quote">Joel<br></div><div class="gmail_quote"><br></div></div>