gstreamer: Add raw support to libcamerasrc stream-role property

The current definition of the stream-role property of libcamerasrc
element does not allow for the Raw (0) value to be assigned.
That property is used to query the pipeline handlers through
generateConfiguration(roles) to retrieve the formats exposed to
the user. Not being able to specify the raw stream-role, bayer
formats are not reported so can not be used for caps negotiation.

Adding value stream-role=raw enables usage of bayer GStreamer pipelines
like:

`gst-launch-1.0 libcamerasrc camera-name=<name> src::stream-role=raw !
    video/x-bayer, format=bggr16le ! ...`

Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Julien Vuillaumier
2025-12-15 15:53:05 +01:00
committed by Kieran Bingham
parent e44fb8f440
commit 34c5cf2480

View File

@@ -95,6 +95,10 @@ gst_libcamera_stream_role_get_type()
static GType type = 0;
static const GEnumValue values[] = {
{
static_cast<gint>(StreamRole::Raw),
"libcamera::Raw",
"raw",
}, {
static_cast<gint>(StreamRole::StillCapture),
"libcamera::StillCapture",
"still-capture",