mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
basecamerabinsrc: Check if set preview caps are the same
Checks if the new received preview-caps are equal to what is already in use, skips the preview-caps setting logic in case new caps are same as current ones.
This commit is contained in:
parent
19429aa797
commit
2da37d966d
1 changed files with 10 additions and 5 deletions
|
@ -343,11 +343,16 @@ gst_base_camera_src_set_property (GObject * object,
|
||||||
case PROP_POST_PREVIEW:
|
case PROP_POST_PREVIEW:
|
||||||
self->post_preview = g_value_get_boolean (value);
|
self->post_preview = g_value_get_boolean (value);
|
||||||
break;
|
break;
|
||||||
case PROP_PREVIEW_CAPS:
|
case PROP_PREVIEW_CAPS:{
|
||||||
gst_caps_replace (&self->preview_caps,
|
GstCaps *new_caps = NULL;
|
||||||
(GstCaps *) gst_value_get_caps (value));
|
new_caps = (GstCaps *) gst_value_get_caps (value);
|
||||||
gst_base_camera_src_setup_preview (self,
|
if (!gst_caps_is_equal (self->preview_caps, new_caps)) {
|
||||||
(GstCaps *) gst_value_get_caps (value));
|
gst_caps_replace (&self->preview_caps, new_caps);
|
||||||
|
gst_base_camera_src_setup_preview (self, new_caps);
|
||||||
|
} else {
|
||||||
|
GST_DEBUG_OBJECT (self, "New preview caps equal current preview caps");
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case PROP_PREVIEW_FILTER:
|
case PROP_PREVIEW_FILTER:
|
||||||
if (self->preview_filter)
|
if (self->preview_filter)
|
||||||
|
|
Loading…
Reference in a new issue