summaryrefslogtreecommitdiff
path: root/sys/wasapi2
diff options
context:
space:
mode:
authorSeungha Yang <seungha@centricular.com>2020-07-31 20:57:29 +0900
committerSeungha Yang <seungha@centricular.com>2020-07-31 21:50:16 +0900
commitfc49886c612f5c84baff9a536bd2282bc55ce58b (patch)
tree914bc4a906fb1ef157fd6a219952311c528a4c76 /sys/wasapi2
parent265128e7f7a24a9d4ecd07f4db10c2eb8b3eecc3 (diff)
downloadgstreamer-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>
Diffstat (limited to 'sys/wasapi2')
-rw-r--r--sys/wasapi2/gstwasapi2sink.c18
-rw-r--r--sys/wasapi2/gstwasapi2src.c18
2 files changed, 24 insertions, 12 deletions
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;