diff options
author | Seungha Yang <seungha@centricular.com> | 2020-07-31 20:57:29 +0900 |
---|---|---|
committer | Seungha Yang <seungha@centricular.com> | 2020-07-31 21:50:16 +0900 |
commit | fc49886c612f5c84baff9a536bd2282bc55ce58b (patch) | |
tree | 914bc4a906fb1ef157fd6a219952311c528a4c76 | |
parent | 265128e7f7a24a9d4ecd07f4db10c2eb8b3eecc3 (diff) | |
download | gstreamer-plugins-bad-fc49886c612f5c84baff9a536bd2282bc55ce58b.tar.gz |
wasapi2, mfvideosrc: Update "dispatcher" property to be only writable
Disallow getting dispatcher pointer, since it doesn't seem to be useful
and might not be safe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1480>
-rw-r--r-- | sys/mediafoundation/gstmfvideosrc.c | 19 | ||||
-rw-r--r-- | sys/wasapi2/gstwasapi2sink.c | 18 | ||||
-rw-r--r-- | sys/wasapi2/gstwasapi2src.c | 18 |
3 files changed, 36 insertions, 19 deletions
diff --git a/sys/mediafoundation/gstmfvideosrc.c b/sys/mediafoundation/gstmfvideosrc.c index ed67ddfdb..8db9c6945 100644 --- a/sys/mediafoundation/gstmfvideosrc.c +++ b/sys/mediafoundation/gstmfvideosrc.c @@ -144,13 +144,23 @@ gst_mf_video_src_class_init (GstMFVideoSrcClass * klass) G_PARAM_READWRITE | GST_PARAM_MUTABLE_READY | G_PARAM_STATIC_STRINGS)); #if GST_MF_WINAPI_APP + /** + * GstMFVideoSrc:dispatcher: + * + * ICoreDispatcher COM object used for activating device from UI thread. + * + * Since: 1.18 + */ g_object_class_install_property (gobject_class, PROP_DISPATCHER, g_param_spec_pointer ("dispatcher", "Dispatcher", "ICoreDispatcher COM object to use. In order for application to ask " "permission of capture device, device activation should be running " - "on UI thread via ICoreDispatcher", + "on UI thread via ICoreDispatcher. This element will increase " + "the reference count of given ICoreDispatcher and release it after " + "use. Therefore, caller does not need to consider additional " + "reference count management", GST_PARAM_CONDITIONALLY_AVAILABLE | GST_PARAM_MUTABLE_READY | - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); #endif gst_element_class_set_static_metadata (element_class, @@ -212,11 +222,6 @@ gst_mf_video_src_get_property (GObject * object, guint prop_id, GValue * value, case PROP_DEVICE_INDEX: g_value_set_int (value, self->device_index); break; -#if GST_MF_WINAPI_APP - case PROP_DISPATCHER: - g_value_set_pointer (value, self->dispatcher); - break; -#endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; diff --git a/sys/wasapi2/gstwasapi2sink.c b/sys/wasapi2/gstwasapi2sink.c index 4471105f3..031a6f361 100644 --- a/sys/wasapi2/gstwasapi2sink.c +++ b/sys/wasapi2/gstwasapi2sink.c @@ -159,13 +159,22 @@ gst_wasapi2_sink_class_init (GstWasapi2SinkClass * klass) GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + /** + * GstWasapi2Sink:dispatcher: + * + * ICoreDispatcher COM object used for activating device from UI thread. + * + * Since: 1.18 + */ g_object_class_install_property (gobject_class, PROP_DISPATCHER, g_param_spec_pointer ("dispatcher", "Dispatcher", "ICoreDispatcher COM object to use. In order for application to ask " "permission of audio device, device activation should be running " - "on UI thread via ICoreDispatcher", - GST_PARAM_MUTABLE_READY | G_PARAM_READWRITE | - G_PARAM_STATIC_STRINGS)); + "on UI thread via ICoreDispatcher. This element will increase " + "the reference count of given ICoreDispatcher and release it after " + "use. Therefore, caller does not need to consider additional " + "reference count management", + GST_PARAM_MUTABLE_READY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); gst_element_class_add_static_pad_template (element_class, &sink_template); gst_element_class_set_static_metadata (element_class, "Wasapi2Sink", @@ -271,9 +280,6 @@ gst_wasapi2_sink_get_property (GObject * object, guint prop_id, case PROP_VOLUME: g_value_set_double (value, gst_wasapi2_sink_get_volume (self)); break; - case PROP_DISPATCHER: - g_value_set_pointer (value, self->dispatcher); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; diff --git a/sys/wasapi2/gstwasapi2src.c b/sys/wasapi2/gstwasapi2src.c index 6d2e7907a..3ab695678 100644 --- a/sys/wasapi2/gstwasapi2src.c +++ b/sys/wasapi2/gstwasapi2src.c @@ -156,13 +156,22 @@ gst_wasapi2_src_class_init (GstWasapi2SrcClass * klass) GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + /** + * GstWasapi2Src:dispatcher: + * + * ICoreDispatcher COM object used for activating device from UI thread. + * + * Since: 1.18 + */ g_object_class_install_property (gobject_class, PROP_DISPATCHER, g_param_spec_pointer ("dispatcher", "Dispatcher", "ICoreDispatcher COM object to use. In order for application to ask " "permission of audio device, device activation should be running " - "on UI thread via ICoreDispatcher", - GST_PARAM_MUTABLE_READY | G_PARAM_READWRITE | - G_PARAM_STATIC_STRINGS)); + "on UI thread via ICoreDispatcher. This element will increase " + "the reference count of given ICoreDispatcher and release it after " + "use. Therefore, caller does not need to consider additional " + "reference count management", + GST_PARAM_MUTABLE_READY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); gst_element_class_add_static_pad_template (element_class, &src_template); gst_element_class_set_static_metadata (element_class, "Wasapi2Src", @@ -268,9 +277,6 @@ gst_wasapi2_src_get_property (GObject * object, guint prop_id, case PROP_VOLUME: g_value_set_double (value, gst_wasapi2_src_get_volume (self)); break; - case PROP_DISPATCHER: - g_value_set_pointer (value, self->dispatcher); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; |