mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
camerabin: add api to query supported image capture resolution
Adds new property 'image-capture-supported-caps' to GstPhotography to query the supported image capture caps. Also implement it in camerabin.
This commit is contained in:
parent
e2438e6cf1
commit
2c05df08b2
5 changed files with 28 additions and 1 deletions
|
@ -500,4 +500,11 @@ gst_photography_iface_class_init (gpointer g_class)
|
||||||
"Exposure time in milliseconds",
|
"Exposure time in milliseconds",
|
||||||
"Exposure time defines how long the shutter will stay open (0 = auto)",
|
"Exposure time defines how long the shutter will stay open (0 = auto)",
|
||||||
0, G_MAXUINT32, 0, G_PARAM_READWRITE));
|
0, G_MAXUINT32, 0, G_PARAM_READWRITE));
|
||||||
|
|
||||||
|
/* Image capture caps */
|
||||||
|
g_object_interface_install_property (g_class,
|
||||||
|
g_param_spec_boxed (GST_PHOTOGRAPHY_PROP_IMAGE_CAPTURE_SUPPORTED_CAPS,
|
||||||
|
"Image capture supported caps",
|
||||||
|
"Caps describing supported image capture formats", GST_TYPE_CAPS,
|
||||||
|
G_PARAM_READABLE));
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,6 +63,8 @@ G_BEGIN_DECLS
|
||||||
#define GST_PHOTOGRAPHY_PROP_ISO_SPEED "iso-speed"
|
#define GST_PHOTOGRAPHY_PROP_ISO_SPEED "iso-speed"
|
||||||
#define GST_PHOTOGRAPHY_PROP_APERTURE "aperture"
|
#define GST_PHOTOGRAPHY_PROP_APERTURE "aperture"
|
||||||
#define GST_PHOTOGRAPHY_PROP_EXPOSURE "exposure"
|
#define GST_PHOTOGRAPHY_PROP_EXPOSURE "exposure"
|
||||||
|
#define GST_PHOTOGRAPHY_PROP_IMAGE_CAPTURE_SUPPORTED_CAPS \
|
||||||
|
"image-capture-supported-caps"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstPhotography:
|
* GstPhotography:
|
||||||
|
@ -196,6 +198,7 @@ typedef void (*GstPhotoCapturePrepared) (gpointer data,
|
||||||
* @set_autofocus: vmethod to set autofocus on/off
|
* @set_autofocus: vmethod to set autofocus on/off
|
||||||
* @set_config: vmethod to set all configuration parameters at once
|
* @set_config: vmethod to set all configuration parameters at once
|
||||||
* @get_config: vmethod to get all configuration parameters at once
|
* @get_config: vmethod to get all configuration parameters at once
|
||||||
|
* @get_image_capture_supported_caps: vmethod to get caps describing supported image capture formats
|
||||||
*
|
*
|
||||||
* #GstPhotographyInterface interface.
|
* #GstPhotographyInterface interface.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -56,7 +56,8 @@ enum
|
||||||
ARG_ISO_SPEED,
|
ARG_ISO_SPEED,
|
||||||
ARG_APERTURE,
|
ARG_APERTURE,
|
||||||
ARG_EXPOSURE,
|
ARG_EXPOSURE,
|
||||||
ARG_VIDEO_SOURCE_FILTER
|
ARG_VIDEO_SOURCE_FILTER,
|
||||||
|
ARG_IMAGE_CAPTURE_SUPPORTED_CAPS
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2926,6 +2926,10 @@ gst_camerabin_override_photo_properties (GObjectClass * gobject_class)
|
||||||
|
|
||||||
g_object_class_override_property (gobject_class, ARG_EXPOSURE,
|
g_object_class_override_property (gobject_class, ARG_EXPOSURE,
|
||||||
GST_PHOTOGRAPHY_PROP_EXPOSURE);
|
GST_PHOTOGRAPHY_PROP_EXPOSURE);
|
||||||
|
|
||||||
|
g_object_class_override_property (gobject_class,
|
||||||
|
ARG_IMAGE_CAPTURE_SUPPORTED_CAPS,
|
||||||
|
GST_PHOTOGRAPHY_PROP_IMAGE_CAPTURE_SUPPORTED_CAPS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -544,6 +544,18 @@ gst_camerabin_photography_get_property (GstCameraBin * camera, guint prop_id,
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case ARG_IMAGE_CAPTURE_SUPPORTED_CAPS:
|
||||||
|
{
|
||||||
|
GST_DEBUG_OBJECT (camera, "==== GETTING PROP_IMAGE_CAPTURE_CAPS ====");
|
||||||
|
if (PHOTOGRAPHY_IS_OK (camera->src_vid_src)) {
|
||||||
|
g_object_get_property (G_OBJECT (camera->src_vid_src),
|
||||||
|
"image-capture-supported-caps", value);
|
||||||
|
} else {
|
||||||
|
g_object_get_property (G_OBJECT (camera), "video-source-caps", value);
|
||||||
|
}
|
||||||
|
ret = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue