Supporting Dynamic Parameters

Sometimes object properties are not powerful enough to control the parameters that affect the behaviour of your element. When this is the case you can expose these parameters as Dynamic Parameters which can be manipulated by any Dynamic Parameters aware application.

Throughout this section, the term dparams will be used as an abbreviation for "Dynamic Parameters".

Comparing Dynamic Parameters with GObject Properties

Your first exposure to dparams may be to convert an existing element from using object properties to using dparams. The following table gives an overview of the difference between these approaches. The significance of these differences should become apparent later on.

 Object PropertiesDynamic Parameters
Parameter definitionClass level at compile timeAny level at run time
Getting and settingImplemented by element subclass as functionsHandled entirely by dparams subsystem
Extra objects requiredNone - all functionality is derived from base GObjectElement needs to create and store a GstDParamManager at object creation
Frequency and resolution of updatesObject properties will only be updated between calls to _get, _chain or _loopdparams can be updated at any rate independent of calls to _get, _chain or _loop up to sample-level accuracy