mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-18 20:25:25 +00:00
camerabin2: Add viewfinder-sink property
Adds a property to set the viewfinder's sink of camerabin2
This commit is contained in:
parent
64db3d805f
commit
060611b060
1 changed files with 17 additions and 1 deletions
|
@ -76,7 +76,8 @@ enum
|
||||||
PROP_IMAGE_FILTER,
|
PROP_IMAGE_FILTER,
|
||||||
PROP_VIDEO_FILTER,
|
PROP_VIDEO_FILTER,
|
||||||
PROP_VIEWFINDER_FILTER,
|
PROP_VIEWFINDER_FILTER,
|
||||||
PROP_PREVIEW_FILTER
|
PROP_PREVIEW_FILTER,
|
||||||
|
PROP_VIEWFINDER_SINK
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
@ -443,6 +444,10 @@ gst_camera_bin_class_init (GstCameraBinClass * klass)
|
||||||
" (Should be set on NULL state)",
|
" (Should be set on NULL state)",
|
||||||
GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
|
g_object_class_install_property (object_class, PROP_VIEWFINDER_SINK,
|
||||||
|
g_param_spec_object ("viewfinder-sink", "Viewfinder sink",
|
||||||
|
"The video sink of the viewfinder.",
|
||||||
|
GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstCameraBin::capture-start:
|
* GstCameraBin::capture-start:
|
||||||
|
@ -895,6 +900,10 @@ gst_camera_bin_set_property (GObject * object, guint prop_id,
|
||||||
g_object_set (camera->src, "preview-filter", camera->preview_filter,
|
g_object_set (camera->src, "preview-filter", camera->preview_filter,
|
||||||
NULL);
|
NULL);
|
||||||
break;
|
break;
|
||||||
|
case PROP_VIEWFINDER_SINK:
|
||||||
|
g_object_set (camera->viewfinderbin, "video-sink",
|
||||||
|
g_value_get_object (value), NULL);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
|
@ -999,6 +1008,13 @@ gst_camera_bin_get_property (GObject * object, guint prop_id,
|
||||||
if (camera->preview_filter)
|
if (camera->preview_filter)
|
||||||
g_value_set_object (value, camera->preview_filter);
|
g_value_set_object (value, camera->preview_filter);
|
||||||
break;
|
break;
|
||||||
|
case PROP_VIEWFINDER_SINK:{
|
||||||
|
GstElement *sink;
|
||||||
|
|
||||||
|
g_object_get (camera->viewfinderbin, "video-sink", &sink, NULL);
|
||||||
|
g_value_take_object (value, sink);
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue