![]() | ![]() | ![]() | GStreamer 0.9 Library Reference Manual | ![]() |
---|
GstControllerGstController — |
#include <gst/controller/gstcontroller.h> GstController; enum GstInterpolateMode; gboolean gst_controller_init (int *argc, char ***argv); GstController* gst_controller_new (GObject *object, ...); GstController* gst_controller_new_list (GObject *object, GList *list); GstController* gst_controller_new_valist (GObject *object, va_list var_args); gboolean gst_controller_remove_properties (GstController *self, ...); gboolean gst_controller_remove_properties_valist (GstController *self, va_list var_args); gboolean gst_controller_set (GstController *self, gchar *property_name, GstClockTime timestamp, GValue *value); gboolean gst_controller_set_from_list (GstController *self, gchar *property_name, GSList *timedvalues); gboolean gst_controller_unset (GstController *self, gchar *property_name, GstClockTime timestamp); GValue* gst_controller_get (GstController *self, gchar *property_name, GstClockTime timestamp); const GList* gst_controller_get_all (GstController *self, gchar *property_name); gboolean gst_controller_sync_values (GstController *self, GstClockTime timestamp); gboolean gst_controller_get_value_arrays (GstController *self, GstClockTime timestamp, GSList *value_arrays); gboolean gst_controller_get_value_array (GstController *self, GstClockTime timestamp, GstValueArray *value_array); gboolean gst_controller_set_interpolation_mode (GstController *self, gchar *property_name, GstInterpolateMode mode); #define GST_PARAM_CONTROLLABLE
typedef enum { GST_INTERPOLATE_NONE, GST_INTERPOLATE_TRIGGER, GST_INTERPOLATE_LINEAR, GST_INTERPOLATE_QUADRATIC, GST_INTERPOLATE_CUBIC, GST_INTERPOLATE_USER } GstInterpolateMode;
The various interpolation modes available.
GST_INTERPOLATE_NONE | steps-like interpolation, default |
GST_INTERPOLATE_TRIGGER | returns the default value of the property, except for times with specific values |
GST_INTERPOLATE_LINEAR | linear interpolation |
GST_INTERPOLATE_QUADRATIC | square interpolation |
GST_INTERPOLATE_CUBIC | cubic interpolation |
GST_INTERPOLATE_USER | user-provided interpolation |
gboolean gst_controller_init (int *argc, char ***argv);
Initializes the use of the controller library. Suggested to be called right
after gst_init()
.
argc : | pointer to the commandline argument count |
argv : | pointer to the commandline argument values |
Returns : | the TRUE for success.
|
GstController* gst_controller_new (GObject *object, ...);
Creates a new GstController for the given object's properties
object : | the object of which some properties should be controlled |
... : | NULL terminated list of property names that should be controlled
|
Returns : | the new controller. |
Since 0.9
GstController* gst_controller_new_list (GObject *object, GList *list);
Creates a new GstController for the given object's properties
object : | the object of which some properties should be controlled |
list : | list of property names that should be controlled |
Returns : | the new controller. |
Since 0.9
GstController* gst_controller_new_valist (GObject *object, va_list var_args);
Creates a new GstController for the given object's properties
object : | the object of which some properties should be controlled |
var_args : | NULL terminated list of property names that should be controlled
|
Returns : | the new controller. |
Since 0.9
gboolean gst_controller_remove_properties (GstController *self, ...);
Removes the given object properties from the controller
self : | the controller object from which some properties should be removed |
... : | NULL terminated list of property names that should be removed
|
Returns : | FALSE if one of the given property isn't handled by the controller, TRUE otherwise
|
Since 0.9
gboolean gst_controller_remove_properties_valist (GstController *self, va_list var_args);
Removes the given object properties from the controller
self : | the controller object from which some properties should be removed |
var_args : | NULL terminated list of property names that should be removed
|
Returns : | FALSE if one of the given property isn't handled by the controller, TRUE otherwise
|
Since 0.9
gboolean gst_controller_set (GstController *self, gchar *property_name, GstClockTime timestamp, GValue *value);
Set the value of given controller-handled property at a certain time.
self : | the controller object which handles the properties |
property_name : | the name of the property to set |
timestamp : | the time the control-change is schedules for |
value : | the control-value |
Returns : | FALSE if the values couldn't be set (ex : properties not handled by controller), TRUE otherwise |
Since 0.9
gboolean gst_controller_set_from_list (GstController *self, gchar *property_name, GSList *timedvalues);
Sets multiple timed values at once.
self : | the controller object which handles the properties |
property_name : | the name of the property to set |
timedvalues : | a list with GstTimedValue items |
Returns : | FALSE if the values couldn't be set (ex : properties not handled by controller), TRUE otherwise
|
Since 0.9
gboolean gst_controller_unset (GstController *self, gchar *property_name, GstClockTime timestamp);
Used to remove the value of given controller-handled property at a certain time.
self : | the controller object which handles the properties |
property_name : | the name of the property to unset |
timestamp : | the time the control-change should be removed from |
Returns : | FALSE if the values couldn't be unset (ex : properties not handled by controller), TRUE otherwise
|
Since 0.9
GValue* gst_controller_get (GstController *self, gchar *property_name, GstClockTime timestamp);
Gets the value for the given controller-handled property at the requested time.
self : | the controller object which handles the properties |
property_name : | the name of the property to get |
timestamp : | the time the control-change should be read from |
Returns : | the GValue of the property at the given time, or NULL if the property isn't handled by the controller
|
Since 0.9
const GList* gst_controller_get_all (GstController *self, gchar *property_name);
Returns a read-only copy of the list of GstTimedValue for the given property. Free the list after done with it.
self : | the controller to get the list from |
property_name : | the name of the property to get the list for |
Returns : | a copy of the list, or NULL if the property isn't handled by the controller
|
Since 0.9
gboolean gst_controller_sync_values (GstController *self, GstClockTime timestamp);
Sets the properties of the element, according to the controller that (maybe) handles them and for the given timestamp.
self : | the controller that handles the values |
timestamp : | the time that should be processed |
Returns : | TRUE if the controller values could be applied to the object
properties, FALSE otherwise
|
Since 0.9
gboolean gst_controller_get_value_arrays (GstController *self, GstClockTime timestamp, GSList *value_arrays);
Function to be able to get an array of values for one or more given element properties.
If the GstValueArray->values array in list nodes 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.
self : | the controller that handles the values |
timestamp : | the time that should be processed |
value_arrays : | list to return the control-values in |
Returns : | TRUE if the given array(s) could be filled, FALSE otherwise
|
Since 0.9
gboolean gst_controller_get_value_array (GstController *self, GstClockTime timestamp, GstValueArray *value_array);
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.
self : | the controller that handles the values |
timestamp : | the time that should be processed |
value_array : | array to put control-values in |
Returns : | TRUE if the given array(s) could be filled, FALSE otherwise
|
Since 0.9
gboolean gst_controller_set_interpolation_mode (GstController *self, gchar *property_name, GstInterpolateMode mode);
Sets the given interpolation mode on the given property.
self : | the controller object |
property_name : | the name of the property for which to change the interpolation |
mode : | interpolation mode |
Returns : | TRUE if the property is handled by the controller, FALSE otherwise
|
Since 0.9
<< gstcontrol | GstControllerGObject >> |