/** * gst_object_get_value_array: * @object: the object that has controlled properties * @timestamp: the time that should be processed * @value_array: array to put control-values in * * Function to be able to get an array of values for one element properties * * If the GstValueArray->values array is NULL, it will be created by the function. * The type of the values in the array are the same as the property's type. * * The g_object_* functions are just convenience functions for GObject * * Returns: %TRUE if the given array(s) could be filled, %FALSE otherwise * Since: 0.9 */ gboolean gst_object_get_value_array (GObject * object, GstClockTime timestamp, GstValueArray * value_array) { GstController *ctrl; g_return_val_if_fail (G_IS_OBJECT (object), FALSE); g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp), FALSE); if ((ctrl = g_object_get_qdata (object, priv_gst_controller_key))) { return gst_controller_get_value_array (ctrl, timestamp, value_array); } return (FALSE); }
/** * gst_controller_get_value_arrays: * @self: the controller that handles the values * @timestamp: the time that should be processed * @value_arrays: list to return the control-values in * * Function to be able to get an array of values for one or more given element * properties. * * All fields of the %GstValueArray in the list must be filled correctly. * Especially the GstValueArray->values arrays must be big enough to keep * the requested amount of values. * * The types of the values in the array are the same as the property's type. * * <note><para>This doesn't modify the controlled GObject properties!</para></note> * * Returns: %TRUE if the given array(s) could be filled, %FALSE otherwise */ gboolean gst_controller_get_value_arrays (GstController * self, GstClockTime timestamp, GSList * value_arrays) { gboolean res = TRUE; GSList *node; g_return_val_if_fail (GST_IS_CONTROLLER (self), FALSE); g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp), FALSE); g_return_val_if_fail (value_arrays, FALSE); for (node = value_arrays; (res && node); node = g_slist_next (node)) { res = gst_controller_get_value_array (self, timestamp, node->data); } return (res); }