mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-06 23:48:53 +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>
|
2005-10-11 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* docs/design/part-states.txt:
|
* 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);
|
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:
|
* gst_controller_remove_properties:
|
||||||
* @self: the controller object from which some properties should be removed
|
* @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,
|
gboolean gst_controller_remove_properties_valist (GstController * self,
|
||||||
va_list var_args);
|
va_list var_args);
|
||||||
|
gboolean gst_controller_remove_properties_list (GstController * self,
|
||||||
|
GList *list);
|
||||||
gboolean gst_controller_remove_properties (GstController * self, ...);
|
gboolean gst_controller_remove_properties (GstController * self, ...);
|
||||||
|
|
||||||
gboolean gst_controller_set (GstController * self, gchar * property_name,
|
gboolean gst_controller_set (GstController * self, gchar * property_name,
|
||||||
|
|
Loading…
Reference in a new issue