Just did: ``` gst-validate-1.0 --inspect-action-type all > docs/gst-validate-action-types.md ```
20 KiB
GstValidate action types
description
description,
[summary=(string)],
[is-config=(boolean)],
[handles-states=(boolean)],
[seek=(boolean)],
[reverse-playback=(boolean)],
[need-clock-sync=(boolean)],
[min-media-duration=(double)],
[min-audio-track=(int)],
[min-video-track=(int)],
[duration=(double, int)],
[pipeline-name=(string)];
Allows to describe the scenario in various ways
- Implementer namespace: core
- Is config action (meaning it will be executing right at the beginning of the execution of the pipeline)
Parameters
-
summary
:(optional): Whether the scenario is a config only scenario (ie. explain what it does)Possible types:
string
Default: 'Nothing'
-
is-config
:(optional): Whether the scenario is a config only scenarioPossible types:
boolean
Default: false
-
handles-states
:(optional): Whether the scenario handles pipeline state changes from the beginning in that case the application should not set the state of the pipeline to anything and the scenario action will be executed from the beginningPossible types:
boolean
Default: false
-
seek
:(optional): Whether the scenario executes seek actions or notPossible types:
boolean
Default: false
-
reverse-playback
:(optional): Whether the scenario plays the stream backwardPossible types:
boolean
Default: false
-
need-clock-sync
:(optional): Whether the scenario needs the execution to be synchronized with the pipeline's clock. Letting the user know if it can be used with a 'fakesink sync=false' sinkPossible types:
boolean
Default: false
-
min-media-duration
:(optional): Lets the user know the minimum duration of the stream for the scenario to be usablePossible types:
double
Default: 0.0
-
min-audio-track
:(optional): Lets the user know the minimum number of audio tracks the stream needs to contain for the scenario to be usablePossible types:
int
Default: 0
-
min-video-track
:(optional): Lets the user know the minimum number of video tracks the stream needs to contain for the scenario to be usablePossible types:
int
Default: 0
-
duration
:(optional): Lets the user know the time the scenario needs to be fully executedPossible types:
double, int
Default: infinite (GST_CLOCK_TIME_NONE)
-
pipeline-name
:(optional): The name of the GstPipeline on which the scenario should be executed. It has the same effect as setting the pipeline using pipeline_name->scenario_name.Possible types:
string
Default: NULL
seek
seek,
[playback-time=(double,string)],
start=(double or string),
flags=(string describing the GstSeekFlags to set),
[rate=(double)],
[start_type=(string)],
[stop_type=(string)],
[stop=(double or string)];
Seeks into the stream. This is an example of a seek happening when the stream reaches 5 seconds or 1 eighth of its duration and seeks to 10s or 2 eighths of its duration: seek, playback-time="min(5.0, (duration/8))", start="min(10, 2*(duration/8))", flags=accurate+flush
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
start
:(mandatory): The starting value of the seekPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double or string
-
-
flags
:(mandatory): The GstSeekFlags to usePossible types:
string describing the GstSeekFlags to set
-
rate
:(optional): The rate value of the seekPossible types:
double
Default: 1.0
-
start_type
:(optional): The GstSeekType to use for the start of the seek, in: [none, set, end]Possible types:
string
Default: set
-
stop_type
:(optional): The GstSeekType to use for the stop of the seek, in: [none, set, end]Possible types:
string
Default: set
-
stop
:(optional): The stop value of the seekPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the streamGST_CLOCK_TIME_NONE
Possible types:
double or string
Default: (null)
-
pause
pause,
[playback-time=(double,string)],
[duration=(double)];
Sets pipeline to PAUSED. You can add a 'duration' parameter so the pipeline goes back to playing after that duration (in second)
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
duration
:(optional): The duration during which the stream will be pausedPossible types:
double
Default: 0.0
play
play,
[playback-time=(double,string)];
Sets the pipeline state to PLAYING
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
stop
stop,
[playback-time=(double,string)];
Stops the execution of the scenario. It will post a 'request-state' message on the bus with NULL as a requested state and the application is responsible for stopping itself. If you override that action type, make sure to link up.
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
eos
eos,
[playback-time=(double,string)];
Sends an EOS event to the pipeline
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
switch-track
switch-track,
[playback-time=(double,string)],
[type=(string)],
[index=(string: to switch track relatively
int: To use the actual index to use)];
The 'switch-track' command can be used to switch tracks.
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
type
:(optional): Selects which track type to change (can be 'audio', 'video', or 'text').Possible types:
string
Default: audio
-
index
:(optional): Selects which track of this type to use: it can be either a number, which will be the Nth track of the given type, or a number with a '+' or '-' prefix, which means a relative change (eg, '+1' means 'next track', '-1' means 'previous track')Possible types:
string: to switch track relatively int: To use the actual index to use
Default: +1
wait
wait,
[playback-time=(double,string)],
[duration],
[target-element-name=(string)],
[signal-name=(string)],
[message-type=(string)];
Waits for signal 'signal-name', message 'message-type', or during 'duration' seconds
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
duration
:(optional): the duration while no other action will be executedDefault: (null)
-
target-element-name
:(optional): The name of the GstElement to wait @signal-name on.Possible types:
string
Default: (null)
-
signal-name
:(optional): The name of the signal to wait for on @target-element-namePossible types:
string
Default: (null)
-
message-type
:(optional): The name of the message type to wait for (on @target-element-name if specified)Possible types:
string
Default: (null)
dot-pipeline
dot-pipeline,
[playback-time=(double,string)];
Dots the pipeline (the 'name' property will be used in the dot filename). For more information have a look at the GST_DEBUG_BIN_TO_DOT_FILE documentation. Note that the GST_DEBUG_DUMP_DOT_DIR env variable needs to be set
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
set-rank
set-rank,
name=(string),
rank=(string, int);
Changes the ranking of a particular plugin feature(s)
- Implementer namespace: core
- Is config action (meaning it will be executing right at the beginning of the execution of the pipeline)
Parameters
-
name
:(mandatory): The name of a GstFeature or GstPluginPossible types:
string
-
rank
:(mandatory): The GstRank to set on @namePossible types:
string, int
set-feature-rank
set-feature-rank,
feature-name=(string),
rank=(string, int);
Changes the ranking of a particular plugin feature
- Implementer namespace: core
- Is config action (meaning it will be executing right at the beginning of the execution of the pipeline)
Parameters
-
feature-name
:(mandatory): The name of a GstFeaturePossible types:
string
-
rank
:(mandatory): The GstRank to set on @feature-namePossible types:
string, int
set-state
set-state,
[playback-time=(double,string)],
state=(string);
Changes the state of the pipeline to any GstState
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
state
:(mandatory): A GstState as a string, should be in:- ['null', 'ready', 'paused', 'playing']
Possible types:
string
define-consts
define-consts,
[playback-time=(double,string)];
Define constants to be used in other actions. For example you can define constants for buffer checksum to be used in the "check-last-sample" action type as follow:
define-consts, frame1=SomeRandomHash1,frame2=Anotherhash...
check-last-sample, checksum=frame1
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
set-property
set-property,
[playback-time=(double,string)],
[target-element-name=(string)],
[target-element-factory-name=(string)],
[target-element-klass=(string)],
property-name=(string),
property-value=(The same type of @property-name);
Sets a property of an element or klass of elements in the pipeline. Besides property-name and value, either 'target-element-name' or 'target-element-klass' needs to be defined
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
target-element-name
:(optional): The name of the GstElement to set a property onPossible types:
string
Default: (null)
-
target-element-factory-name
:(optional): The name factory for which to set a property on built elementsPossible types:
string
Default: (null)
-
target-element-klass
:(optional): The klass of the GstElements to set a property onPossible types:
string
Default: (null)
-
property-name
:(mandatory): The name of the property to set on @target-element-namePossible types:
string
-
property-value
:(mandatory): The value of @property-name to be set on the elementPossible types:
The same type of @property-name
optional : Don't raise an error if this action hasn't been executed or failed ### Possible types: boolean Default: false
set-debug-threshold
set-debug-threshold,
[playback-time=(double,string)],
debug-threshold=(string);
Sets the debug level to be used, same format as setting the GST_DEBUG env variable
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
debug-threshold
:(mandatory): String defining debug threshold See gst_debug_set_threshold_from_stringPossible types:
string
include
include,
[playback-time=(double,string)],
location=(string);
Include a sub scenario file.
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
location
:(mandatory): The location of the sub scenario to include.Possible types:
string
emit-signal
emit-signal,
[playback-time=(double,string)],
target-element-name=(string),
signal-name=(string);
Emits a signal to an element in the pipeline
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
target-element-name
:(mandatory): The name of the GstElement to emit a signal onPossible types:
string
-
signal-name
:(mandatory): The name of the signal to emit on @target-element-namePossible types:
string
disable-plugin
disable-plugin,
[playback-time=(double,string)],
plugin-name=(string),
[as-config=(boolean)];
Disables a GstPlugin
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
plugin-name
:(mandatory): The name of the GstPlugin to disablePossible types:
string
-
as-config
:(optional): Execute action as a config action (meaning when loading the scenario)Possible types:
boolean
Default: false
check-last-sample
check-last-sample,
[playback-time=(double,string)],
[sink-name=(string)],
[sink-factory-name=(string)],
[sinkpad-caps=(string)],
checksum=(string);
Checks the last-sample checksum on declared Sink element. This allows checking the checksum of a buffer after a 'seek' or after a GESTimeline 'commit' for example
- Implementer namespace: core
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
sink-name
:(optional): The name of the sink element to check sample on.Possible types:
string
Default: (null)
-
sink-factory-name
:(optional): The name of the factory of the sink element to check sample on.Possible types:
string
Default: (null)
-
sinkpad-caps
:(optional): The caps (as string) of the sink to check.Possible types:
string
Default: (null)
-
checksum
:(mandatory): The reference checksum of the buffer.Possible types:
string
corrupt-socket-recv
corrupt-socket-recv,
[playback-time=(double,string)],
port=(int),
errno=(string),
[times=(int)];
corrupt the next socket receive
- Implementer namespace: validatefaultinjection
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
port
:(mandatory): The port the socket to be corrupted listens onPossible types:
int
-
errno
:(mandatory): errno to set when failingPossible types:
string
-
times
:(optional): Number of times to corrupt recv, default is onePossible types:
int
Default: 1
gtk-put-event
gtk-put-event,
[playback-time=(double,string)],
[keys=(string)],
[string=(string)],
[type=(string)],
[widget-name=(string)];
Put a GdkEvent on the event list using gdk_put_event
- Implementer namespace: validategtk
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
keys
:(optional): The keyboard keys to be used for the event, parsed with gtk_accelerator_parse_with_keycode, so refer to its documentation for more informationPossible types:
string
Default: (null)
-
string
:(optional): The string to be 'written' by the keyboard sending KEY_PRESS GdkEventsPossible types:
string
Default: (null)
-
type
:(optional): The event type to get executed. the string should look like the ones in GdkEventType but without the leading 'GDK_'. It is not mandatory as it can be computed from other present fields (e.g, an action with 'keys' will consider the type as 'key_pressed' by default).Possible types:
string
Default: (null)
-
widget-name
:(optional): The name of the target GdkWidget of the GdkEvent. That widget has to contain a GdkWindow. If not specified, the event will be sent to the first toplevel windowPossible types:
string
Default: (null)
set-subtitle
set-subtitle,
[playback-time=(double,string)],
subtitle-file=(string (A URI));
Action to set a subtitle file to use on a playbin pipeline. The subtitles file that will be used should be specified relative to the playbin URI in use thanks to the subtitle-file action property. You can also specify a folder with subtitle-dir For example if playbin.uri='file://some/uri.mov' and action looks like 'set-subtitle, subtitle-file=en.srt' the subtitle URI will be set to 'file:///some/uri.mov.en.srt'
- Implementer namespace: validate-launcher
Parameters
-
playback-time
:(optional): The playback time at which the action will be executedPossible variables:
-
position
: The current position in the stream -
duration
: The duration of the stream
Possible types:
double,string
Default: 0.0
-
-
subtitle-file
:(mandatory): Sets a subtitles file on a playbin pipelinePossible types:
string (A URI)