mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
libs/gst/controller/gstcontroller.*: Added GList* version of _remove_properties() in order to be able to wrap it in b...
Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): * libs/gst/controller/gstcontroller.h: Added GList* version of _remove_properties() in order to be able to wrap it in bindings.
This commit is contained in:
parent
fd1a66e8b5
commit
8986d3f33e
4 changed files with 48 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2005-10-11 Edward Hervey <edward@fluendo.com>
|
||||
|
||||
* libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
|
||||
* libs/gst/controller/gstcontroller.h:
|
||||
Added GList* version of _remove_properties() in order to be able to wrap
|
||||
it in bindings.
|
||||
|
||||
2005-10-11 Wim Taymans <wim@fluendo.com>
|
||||
|
||||
* docs/design/part-states.txt:
|
||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
|||
Subproject commit 221ccc0dc85b2d38bc5e2fc3f21cd80971777791
|
||||
Subproject commit 54920e38c65eaf03ea52c21b14a6d104a56581a9
|
|
@ -556,6 +556,44 @@ gst_controller_remove_properties_valist (GstController * self, va_list var_args)
|
|||
return (res);
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_controller_remove_properties_list:
|
||||
* @self: the controller object from which some properties should be removed
|
||||
* @list: #GList of property names that should be removed
|
||||
*
|
||||
* Removes the given object properties from the controller
|
||||
*
|
||||
* Returns: %FALSE if one of the given property isn't handled by the controller, %TRUE otherwise
|
||||
* Since: 0.9
|
||||
*/
|
||||
gboolean
|
||||
gst_controller_remove_properties_list (GstController * self, GList * list)
|
||||
{
|
||||
gboolean res = TRUE;
|
||||
GstControlledProperty *prop;
|
||||
gchar *name;
|
||||
GList *tmp;
|
||||
|
||||
g_return_val_if_fail (GST_IS_CONTROLLER (self), FALSE);
|
||||
|
||||
for (tmp = list; tmp; tmp = g_list_next (tmp)) {
|
||||
name = (gchar *) tmp->data;
|
||||
|
||||
/* find the property in the properties list of the controller, remove and free it */
|
||||
g_mutex_lock (self->lock);
|
||||
if ((prop = gst_controller_find_controlled_property (self, name))) {
|
||||
self->properties = g_list_remove (self->properties, prop);
|
||||
g_signal_handler_disconnect (self->object, prop->notify_handler_id);
|
||||
gst_controlled_property_free (prop);
|
||||
} else {
|
||||
res = FALSE;
|
||||
}
|
||||
g_mutex_unlock (self->lock);
|
||||
}
|
||||
|
||||
return (res);
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_controller_remove_properties:
|
||||
* @self: the controller object from which some properties should be removed
|
||||
|
|
|
@ -207,6 +207,8 @@ GstController *gst_controller_new (GObject * object, ...);
|
|||
|
||||
gboolean gst_controller_remove_properties_valist (GstController * self,
|
||||
va_list var_args);
|
||||
gboolean gst_controller_remove_properties_list (GstController * self,
|
||||
GList *list);
|
||||
gboolean gst_controller_remove_properties (GstController * self, ...);
|
||||
|
||||
gboolean gst_controller_set (GstController * self, gchar * property_name,
|
||||
|
|
Loading…
Reference in a new issue