GES.Effect¶
- Subclasses:
None
Methods¶
- Inherited:
GES.BaseEffect (3), GES.TrackElement (22), GES.TimelineElement (38), GObject.Object (37), GES.Extractable (3), GES.MetaContainer (40)
- Structs:
class |
|
class |
|
Virtual Methods¶
Properties¶
- Inherited:
Name |
Type |
Flags |
Short Description |
|---|---|---|---|
r/w/co |
Bin description of the effect |
Signals¶
Fields¶
Name |
Type |
Access |
Description |
|---|---|---|---|
parent |
r |
Class Details¶
- class GES.Effect(**kwargs)¶
- Bases:
- Abstract:
No
- Structure:
Any GStreamer filter can be used as effects in GES. The only restriction we have is that effects element should have a single sinkpad (which will be requested if necessary) and a single srcpad.
Note that
gesaudiomixerandgescompositorcan be used as effects even though they can have several sinkpads.- GES specific effects:
**``gesvideoscale``**: GES implements a specific scaling bin that allows specifying where scaling will happen inside the chain of effects. By default scaling can happen either in the source (if the source doesn’t have a specific size, like
videotestsrcor mixing has been disabled) or in the mixing element otherwise, when adding that element as an effect, GES guarantees that the scaling will happen in it. This can be useful for example if you want to crop the video before scaling or apply rounding corners to the video after scaling, etc…
Note: GES always adds converters (
audioconvert ! audioresample ! audioconvertfor audio effects andvideoconvertfor video effects) to make it simpler for end users.- classmethod new(bin_description)[source]¶
- Parameters:
bin_description (
str) – The gst-launch like bin description of the effect- Returns:
a newly created
GES.Effect, orNoneif something went wrong.- Return type:
GES.EffectorNone
Creates a new
GES.Effectfrom the description of the bin. It should be possible to determine the type of the effect through the element ‘klass’ metadata of the GstElements that will be created. In that corner case, you should use:GES.Asset.request(GES_TYPE_EFFECT, “audio your ! bin ! description”,None); and extract that asset to be in full control.
- classmethod register_rate_property(element_name, property_name)¶
- Parameters:
element_name (
str) – TheGst.ElementFactoryname of the element that changes the rateproperty_name (
str) – The name of the property that changes the rate
- Returns:
Trueif the rate property was successfully registered. When this method returnsFalse, a warning is emitted with more information.- Return type:
Register an element that can change the rate at which media is playing. The property type must be float or double, and must be a factor of the rate, i.e. a value of 2.0 must mean that the media plays twice as fast. Several properties may be registered for a single element type, provided they all contribute to the rate as independent factors. For example, this is true for the “GstPitch::rate” and “GstPitch::tempo” properties. These are already registered by default in GES, along with #videorate:rate for #videorate and #scaletempo:rate for #scaletempo.
If such a rate property becomes a child property of a
GES.Effectupon its creation (the element is part of itsGES.Effect:bin-description), it will be automatically registered as a time property (seeGES.BaseEffect.register_time_property()) and will have its time translation functions set (seeGES.BaseEffect.set_time_translation_funcs()) to use the overall rate of the rate properties. Note that if an effect contains a rate property as well as a non-rate time property, you should ensure to set the time translation functions to some other methods usingGES.BaseEffect.set_time_translation_funcs().Note, you can obtain a reference to the
GES.EffectClassusing- ``
GES_EFFECT_CLASS (g_type_class_ref (GES_TYPE_EFFECT));