Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
luzpaz
gstreamer
Commits
62f6207e
Commit
62f6207e
authored
Jul 17, 2015
by
Wim Taymans
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
devicemonitor: get a list of currently monitored providers
Get a list of the currently monitored providers.
parent
794a08d7
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
0 deletions
+48
-0
gst/gstdevicemonitor.c
gst/gstdevicemonitor.c
+45
-0
gst/gstdevicemonitor.h
gst/gstdevicemonitor.h
+2
-0
win32/common/libgstreamer.def
win32/common/libgstreamer.def
+1
-0
No files found.
gst/gstdevicemonitor.c
View file @
62f6207e
...
@@ -671,3 +671,48 @@ gst_device_monitor_get_bus (GstDeviceMonitor * monitor)
...
@@ -671,3 +671,48 @@ gst_device_monitor_get_bus (GstDeviceMonitor * monitor)
return
gst_object_ref
(
monitor
->
priv
->
bus
);
return
gst_object_ref
(
monitor
->
priv
->
bus
);
}
}
/**
* gst_device_monitor_get_providers:
* @monitor: a #GstDeviceMonitor
*
* Get a list of the currently selected device provider factories.
*
* This
*
* Returns: (transfer full) (array zero-terminated=1) (element-type gchar*):
* A list of device provider factory names that are currently being
* monitored by @monitor or %NULL when nothing is being monitored.
*
* Since: 1.6
*/
gchar
**
gst_device_monitor_get_providers
(
GstDeviceMonitor
*
monitor
)
{
guint
i
,
len
;
gchar
**
res
=
NULL
;
g_return_val_if_fail
(
GST_IS_DEVICE_MONITOR
(
monitor
),
NULL
);
GST_OBJECT_LOCK
(
monitor
);
len
=
monitor
->
priv
->
providers
->
len
;
if
(
len
==
0
)
goto
done
;
res
=
g_new
(
gchar
*
,
len
+
1
);
for
(
i
=
0
;
i
<
len
;
i
++
)
{
GstDeviceProvider
*
provider
=
g_ptr_array_index
(
monitor
->
priv
->
providers
,
i
);
GstDeviceProviderFactory
*
factory
=
gst_device_provider_get_factory
(
provider
);
res
[
i
]
=
g_strdup
(
GST_OBJECT_NAME
(
factory
));
}
res
[
i
]
=
NULL
;
done:
GST_OBJECT_UNLOCK
(
monitor
);
return
res
;
}
gst/gstdevicemonitor.h
View file @
62f6207e
...
@@ -95,6 +95,8 @@ guint gst_device_monitor_add_filter (GstDeviceMonitor * monitor,
...
@@ -95,6 +95,8 @@ guint gst_device_monitor_add_filter (GstDeviceMonitor * monitor,
gboolean
gst_device_monitor_remove_filter
(
GstDeviceMonitor
*
monitor
,
gboolean
gst_device_monitor_remove_filter
(
GstDeviceMonitor
*
monitor
,
guint
filter_id
);
guint
filter_id
);
gchar
**
gst_device_monitor_get_providers
(
GstDeviceMonitor
*
monitor
);
G_END_DECLS
G_END_DECLS
#endif
/* __GST_DEVICE_MONITOR_H__ */
#endif
/* __GST_DEVICE_MONITOR_H__ */
win32/common/libgstreamer.def
View file @
62f6207e
...
@@ -435,6 +435,7 @@ EXPORTS
...
@@ -435,6 +435,7 @@ EXPORTS
gst_device_monitor_add_filter
gst_device_monitor_add_filter
gst_device_monitor_get_bus
gst_device_monitor_get_bus
gst_device_monitor_get_devices
gst_device_monitor_get_devices
gst_device_monitor_get_providers
gst_device_monitor_get_type
gst_device_monitor_get_type
gst_device_monitor_new
gst_device_monitor_new
gst_device_monitor_remove_filter
gst_device_monitor_remove_filter
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment