summaryrefslogtreecommitdiff
path: root/libcheese
diff options
context:
space:
mode:
Diffstat (limited to 'libcheese')
-rw-r--r--libcheese/cheese-camera-device.c38
1 files changed, 21 insertions, 17 deletions
diff --git a/libcheese/cheese-camera-device.c b/libcheese/cheese-camera-device.c
index 34b846a5..efcb0459 100644
--- a/libcheese/cheese-camera-device.c
+++ b/libcheese/cheese-camera-device.c
@@ -893,10 +893,9 @@ cheese_camera_device_get_caps_for_format (CheeseCameraDevice *device,
CheeseVideoFormat *format)
{
CheeseCameraDevicePrivate *priv;
- CheeseVideoFormatFull *full_format;
- GstCaps *desired_caps;
- GstCaps *subset_caps;
- gsize i;
+ CheeseVideoFormatFull *full_format;
+ GstCaps *result_caps;
+ gsize i;
g_return_val_if_fail (CHEESE_IS_CAMERA_DEVICE (device), NULL);
@@ -913,21 +912,26 @@ cheese_camera_device_get_caps_for_format (CheeseCameraDevice *device,
full_format->width, full_format->height,
full_format->fr_numerator, full_format->fr_denominator);
- desired_caps = gst_caps_new_empty ();
+ priv = cheese_camera_device_get_instance_private (device);
- for (i = 0; supported_formats[i] != NULL; i++)
- {
- gst_caps_append (desired_caps,
- cheese_camera_device_format_to_caps (supported_formats[i],
- full_format));
- }
+ result_caps = gst_caps_new_empty ();
- priv = cheese_camera_device_get_instance_private (device);
- subset_caps = gst_caps_intersect (desired_caps, priv->caps);
- subset_caps = gst_caps_simplify (subset_caps);
- gst_caps_unref (desired_caps);
+ for (i = 0; supported_formats[i] != NULL; i++)
+ {
+ GstCaps *desired_caps;
+ GstCaps *subset_caps;
+
+ desired_caps = cheese_camera_device_format_to_caps (supported_formats[i],
+ full_format);
+ subset_caps = gst_caps_intersect (desired_caps, priv->caps);
+ subset_caps = gst_caps_simplify (subset_caps);
+
+ gst_caps_append (result_caps, subset_caps);
+
+ gst_caps_unref (desired_caps);
+ }
- GST_INFO ("Got %" GST_PTR_FORMAT, subset_caps);
+ GST_INFO ("Got %" GST_PTR_FORMAT, result_caps);
- return subset_caps;
+ return result_caps;
}