1 # GstValidate action types
8 [duration=(double, int)],
9 [handles-states=(boolean)],
10 [ignore-eos=(boolean)],
11 [is-config=(boolean)],
13 [max-latency=(double, int)],
14 [min-audio-track=(int)],
15 [min-media-duration=(double)],
16 [min-video-track=(int)],
17 [need-clock-sync=(boolean)],
18 [pipeline-name=(string)],
19 [reverse-playback=(boolean)],
25 NOTE: it used to be called "description"
26 * Implementer namespace: core
27 * Is config action (meaning it will be executing right at the beginning of the execution of the pipeline)
31 * `duration`:(optional): Lets the user know the time the scenario needs to be fully executed
33 Possible types: `double, int`
35 Default: infinite (GST_CLOCK_TIME_NONE)
37 * `handles-states`:(optional): Whether the scenario handles pipeline state changes from the beginning
38 in that case the application should not set the state of the pipeline to anything
39 and the scenario action will be executed from the beginning
41 Possible types: `boolean`
45 * `ignore-eos`:(optional): Ignore EOS and keep executing the scenario when it happens.
46 By default a 'stop' action is generated one EOS
48 Possible types: `boolean`
52 * `is-config`:(optional): Whether the scenario is a config only scenario
54 Possible types: `boolean`
58 * `max-dropped`:(optional): The maximum number of buffers which can be dropped by the QoS system allowed for this pipeline.
59 It can be overridden using core configuration, like for example by defining the env variable GST_VALIDATE_CONFIG=core,max-dropped=100
63 Default: infinite (-1)
65 * `max-latency`:(optional): The maximum latency in nanoseconds allowed for this pipeline.
66 It can be overridden using core configuration, like for example by defining the env variable GST_VALIDATE_CONFIG=core,max-latency=33000000
68 Possible types: `double, int`
70 Default: infinite (GST_CLOCK_TIME_NONE)
72 * `min-audio-track`:(optional): Lets the user know the minimum number of audio tracks the stream needs to contain
73 for the scenario to be usable
79 * `min-media-duration`:(optional): Lets the user know the minimum duration of the stream for the scenario
82 Possible types: `double`
86 * `min-video-track`:(optional): Lets the user know the minimum number of video tracks the stream needs to contain
87 for the scenario to be usable
93 * `need-clock-sync`:(optional): Whether the scenario needs the execution to be synchronized with the pipeline's
94 clock. Letting the user know if it can be used with a 'fakesink sync=false' sink
96 Possible types: `boolean`
98 Default: true if some action requires a playback-time false otherwise
100 * `pipeline-name`:(optional): The name of the GstPipeline on which the scenario should be executed.
101 It has the same effect as setting the pipeline using pipeline_name->scenario_name.
103 Possible types: `string`
107 * `reverse-playback`:(optional): Whether the scenario plays the stream backward
109 Possible types: `boolean`
113 * `seek`:(optional): Whether the scenario executes seek actions or not
115 Possible types: `boolean`
119 * `summary`:(optional): Whether the scenario is a config only scenario (ie. explain what it does)
121 Possible types: `string`
128 ``` validate-scenario
130 flags=(string describing the GstSeekFlags to set),
131 start=(double or string (GstClockTime)),
133 [start_type=(string)],
134 [stop=(double or string (GstClockTime))],
135 [stop_type=(string)],
136 [playback-time=(double,string)];
139 Seeks into the stream. This is an example of a seek happening when the stream reaches 5 seconds
140 or 1 eighth of its duration and seeks to 10s or 2 eighths of its duration:
141 seek, playback-time="min(5.0, (duration/8))", start="min(10, 2*(duration/8))", flags=accurate+flush
142 * Implementer namespace: core
146 * `flags`:(mandatory): The GstSeekFlags to use
148 Possible types: `string describing the GstSeekFlags to set`
150 * `start`:(mandatory): The starting value of the seek
154 * `position`: The current position in the stream
156 * `duration`: The duration of the stream
158 Possible types: `double or string (GstClockTime)`
160 * `rate`:(optional): The rate value of the seek
162 Possible types: `double`
166 * `start_type`:(optional): The GstSeekType to use for the start of the seek, in:
169 Possible types: `string`
173 * `stop`:(optional): The stop value of the seek
177 * `position`: The current position in the stream
179 * `duration`: The duration of the stream
181 Possible types: `double or string (GstClockTime)`
183 Default: GST_CLOCK_TIME_NONE
185 * `stop_type`:(optional): The GstSeekType to use for the stop of the seek, in:
188 Possible types: `string`
192 * `playback-time`:(optional): The playback time at which the action will be executed
196 * `position`: The current position in the stream
198 * `duration`: The duration of the stream
200 Possible types: `double,string`
204 * `on-message`:(optional): Specify on what message type the action will be executed.
205 If both 'playback-time' and 'on-message' is specified, the action will be executed
206 on whatever happens first.
208 Possible types: `string`
215 ``` validate-scenario
217 [duration=(double or string (GstClockTime))],
218 [playback-time=(double,string)];
221 Sets pipeline to PAUSED. You can add a 'duration'
222 parameter so the pipeline goes back to playing after that duration
224 * Implementer namespace: core
228 * `duration`:(optional): The duration during which the stream will be paused
230 Possible types: `double or string (GstClockTime)`
234 * `playback-time`:(optional): The playback time at which the action will be executed
238 * `position`: The current position in the stream
240 * `duration`: The duration of the stream
242 Possible types: `double,string`
246 * `on-message`:(optional): Specify on what message type the action will be executed.
247 If both 'playback-time' and 'on-message' is specified, the action will be executed
248 on whatever happens first.
250 Possible types: `string`
257 ``` validate-scenario
259 [playback-time=(double,string)];
262 Sets the pipeline state to PLAYING
263 * Implementer namespace: core
267 * `playback-time`:(optional): The playback time at which the action will be executed
271 * `position`: The current position in the stream
273 * `duration`: The duration of the stream
275 Possible types: `double,string`
279 * `on-message`:(optional): Specify on what message type the action will be executed.
280 If both 'playback-time' and 'on-message' is specified, the action will be executed
281 on whatever happens first.
283 Possible types: `string`
290 ``` validate-scenario
292 [playback-time=(double,string)];
295 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.
296 * Implementer namespace: core
300 * `playback-time`:(optional): The playback time at which the action will be executed
304 * `position`: The current position in the stream
306 * `duration`: The duration of the stream
308 Possible types: `double,string`
312 * `on-message`:(optional): Specify on what message type the action will be executed.
313 If both 'playback-time' and 'on-message' is specified, the action will be executed
314 on whatever happens first.
316 Possible types: `string`
323 ``` validate-scenario
325 [playback-time=(double,string)];
328 Sends an EOS event to the pipeline
329 * Implementer namespace: core
333 * `playback-time`:(optional): The playback time at which the action will be executed
337 * `position`: The current position in the stream
339 * `duration`: The duration of the stream
341 Possible types: `double,string`
345 * `on-message`:(optional): Specify on what message type the action will be executed.
346 If both 'playback-time' and 'on-message' is specified, the action will be executed
347 on whatever happens first.
349 Possible types: `string`
356 ``` validate-scenario
358 [index=(string: to switch track relatively
359 int: To use the actual index to use)],
361 [playback-time=(double,string)];
364 The 'switch-track' command can be used to switch tracks.
365 * Implementer namespace: core
369 * `index`:(optional): Selects which track of this type to use: it can be either a number,
370 which will be the Nth track of the given type, or a number with a '+' or
371 '-' prefix, which means a relative change (eg, '+1' means 'next track',
372 '-1' means 'previous track')
374 Possible types: `string: to switch track relatively
375 int: To use the actual index to use`
379 * `type`:(optional): Selects which track type to change (can be 'audio', 'video', or 'text').
381 Possible types: `string`
385 * `playback-time`:(optional): The playback time at which the action will be executed
389 * `position`: The current position in the stream
391 * `duration`: The duration of the stream
393 Possible types: `double,string`
397 * `on-message`:(optional): Specify on what message type the action will be executed.
398 If both 'playback-time' and 'on-message' is specified, the action will be executed
399 on whatever happens first.
401 Possible types: `string`
408 ``` validate-scenario
410 [duration=(double or string (GstClockTime))],
411 [message-type=(string)],
412 [signal-name=(string)],
413 [target-element-name=(string)],
414 [playback-time=(double,string)];
417 Waits for signal 'signal-name', message 'message-type', or during 'duration' seconds
418 * Implementer namespace: core
422 * `duration`:(optional): the duration while no other action will be executed
424 Possible types: `double or string (GstClockTime)`
428 * `message-type`:(optional): The name of the message type to wait for (on @target-element-name if specified)
430 Possible types: `string`
434 * `signal-name`:(optional): The name of the signal to wait for on @target-element-name
436 Possible types: `string`
440 * `target-element-name`:(optional): The name of the GstElement to wait @signal-name on.
442 Possible types: `string`
446 * `playback-time`:(optional): The playback time at which the action will be executed
450 * `position`: The current position in the stream
452 * `duration`: The duration of the stream
454 Possible types: `double,string`
458 * `on-message`:(optional): Specify on what message type the action will be executed.
459 If both 'playback-time' and 'on-message' is specified, the action will be executed
460 on whatever happens first.
462 Possible types: `string`
469 ``` validate-scenario
471 [playback-time=(double,string)];
474 Dots the pipeline (the 'name' property will be used in the dot filename).
475 For more information have a look at the GST_DEBUG_BIN_TO_DOT_FILE documentation.
476 Note that the GST_DEBUG_DUMP_DOT_DIR env variable needs to be set
477 * Implementer namespace: core
481 * `playback-time`:(optional): The playback time at which the action will be executed
485 * `position`: The current position in the stream
487 * `duration`: The duration of the stream
489 Possible types: `double,string`
493 * `on-message`:(optional): Specify on what message type the action will be executed.
494 If both 'playback-time' and 'on-message' is specified, the action will be executed
495 on whatever happens first.
497 Possible types: `string`
504 ``` validate-scenario
510 Changes the ranking of a particular plugin feature(s)
511 * Implementer namespace: core
512 * Is config action (meaning it will be executing right at the beginning of the execution of the pipeline)
516 * `name`:(mandatory): The name of a GstFeature or GstPlugin
518 Possible types: `string`
520 * `rank`:(mandatory): The GstRank to set on @name
522 Possible types: `string, int`
527 ``` validate-scenario
529 feature-name=(string),
533 Changes the ranking of a particular plugin feature
534 * Implementer namespace: core
535 * Is config action (meaning it will be executing right at the beginning of the execution of the pipeline)
539 * `feature-name`:(mandatory): The name of a GstFeature
541 Possible types: `string`
543 * `rank`:(mandatory): The GstRank to set on @feature-name
545 Possible types: `string, int`
550 ``` validate-scenario
553 [playback-time=(double,string)];
556 Changes the state of the pipeline to any GstState
557 * Implementer namespace: core
561 * `state`:(mandatory): A GstState as a string, should be in:
562 * ['null', 'ready', 'paused', 'playing']
564 Possible types: `string`
566 * `playback-time`:(optional): The playback time at which the action will be executed
570 * `position`: The current position in the stream
572 * `duration`: The duration of the stream
574 Possible types: `double,string`
578 * `on-message`:(optional): Specify on what message type the action will be executed.
579 If both 'playback-time' and 'on-message' is specified, the action will be executed
580 on whatever happens first.
582 Possible types: `string`
589 ``` validate-scenario
591 [playback-time=(double,string)];
594 Define vars to be used in other actions.
595 For example you can define vars for buffer checksum to be used in the "check-last-sample" action type as follow:
598 set-vars, frame1=SomeRandomHash1,frame2=Anotherhash...
599 check-last-sample, checksum=frame1
602 * Implementer namespace: core
606 * `playback-time`:(optional): The playback time at which the action will be executed
610 * `position`: The current position in the stream
612 * `duration`: The duration of the stream
614 Possible types: `double,string`
618 * `on-message`:(optional): Specify on what message type the action will be executed.
619 If both 'playback-time' and 'on-message' is specified, the action will be executed
620 on whatever happens first.
622 Possible types: `string`
629 ``` validate-scenario
631 property-name=(string),
632 property-value=(The same type of @property-name),
633 [target-element-factory-name=(string)],
634 [target-element-klass=(string)],
635 [target-element-name=(string)],
636 [playback-time=(double,string)];
639 Sets a property of an element or klass of elements in the pipeline.
640 Besides property-name and value, either 'target-element-name' or
641 'target-element-klass' needs to be defined
642 * Implementer namespace: core
646 * `property-name`:(mandatory): The name of the property to set on @target-element-name
648 Possible types: `string`
650 * `property-value`:(mandatory): The value of @property-name to be set on the element
652 Possible types: `The same type of @property-name`
654 * `target-element-factory-name`:(optional): The name factory for which to set a property on built elements
656 Possible types: `string`
660 * `target-element-klass`:(optional): The klass of the GstElements to set a property on
662 Possible types: `string`
666 * `target-element-name`:(optional): The name of the GstElement to set a property on
668 Possible types: `string`
672 * `playback-time`:(optional): The playback time at which the action will be executed
676 * `position`: The current position in the stream
678 * `duration`: The duration of the stream
680 Possible types: `double,string`
684 * `on-message`:(optional): Specify on what message type the action will be executed.
685 If both 'playback-time' and 'on-message' is specified, the action will be executed
686 on whatever happens first.
688 Possible types: `string`
691 optional : Don't raise an error if this action hasn't been executed or failed
699 ``` validate-scenario
701 property-name=(string),
702 property-value=(The same type of @property-name),
703 [target-element-factory-name=(string)],
704 [target-element-klass=(string)],
705 [target-element-name=(string)],
706 [playback-time=(double,string)];
709 Check the value of property of an element or klass of elements in the pipeline.
710 Besides property-name and value, either 'target-element-name' or
711 'target-element-klass' needs to be defined
712 * Implementer namespace: core
716 * `property-name`:(mandatory): The name of the property to set on @target-element-name
718 Possible types: `string`
720 * `property-value`:(mandatory): The expected value of @property-name
722 Possible types: `The same type of @property-name`
724 * `target-element-factory-name`:(optional): The name factory for which to check a property value on built elements
726 Possible types: `string`
730 * `target-element-klass`:(optional): The klass of the GstElements to check a property on
732 Possible types: `string`
736 * `target-element-name`:(optional): The name of the GstElement to check a property value
738 Possible types: `string`
742 * `playback-time`:(optional): The playback time at which the action will be executed
746 * `position`: The current position in the stream
748 * `duration`: The duration of the stream
750 Possible types: `double,string`
754 * `on-message`:(optional): Specify on what message type the action will be executed.
755 If both 'playback-time' and 'on-message' is specified, the action will be executed
756 on whatever happens first.
758 Possible types: `string`
762 ## set-debug-threshold
765 ``` validate-scenario
767 debug-threshold=(string),
768 [playback-time=(double,string)];
771 Sets the debug level to be used, same format as
772 setting the GST_DEBUG env variable
773 * Implementer namespace: core
777 * `debug-threshold`:(mandatory): String defining debug threshold
778 See gst_debug_set_threshold_from_string
780 Possible types: `string`
782 * `playback-time`:(optional): The playback time at which the action will be executed
786 * `position`: The current position in the stream
788 * `duration`: The duration of the stream
790 Possible types: `double,string`
794 * `on-message`:(optional): Specify on what message type the action will be executed.
795 If both 'playback-time' and 'on-message' is specified, the action will be executed
796 on whatever happens first.
798 Possible types: `string`
805 ``` validate-scenario
807 signal-name=(string),
808 target-element-name=(string),
809 [playback-time=(double,string)];
812 Emits a signal to an element in the pipeline
813 * Implementer namespace: core
817 * `signal-name`:(mandatory): The name of the signal to emit on @target-element-name
819 Possible types: `string`
821 * `target-element-name`:(mandatory): The name of the GstElement to emit a signal on
823 Possible types: `string`
825 * `playback-time`:(optional): The playback time at which the action will be executed
829 * `position`: The current position in the stream
831 * `duration`: The duration of the stream
833 Possible types: `double,string`
837 * `on-message`:(optional): Specify on what message type the action will be executed.
838 If both 'playback-time' and 'on-message' is specified, the action will be executed
839 on whatever happens first.
841 Possible types: `string`
848 ``` validate-scenario
851 target-element-name=(string),
855 [playback-time=(double,string)];
858 Queues a buffer in an appsrc. If the pipeline state allows flow of buffers, the next action is not run until the buffer has been pushed.
859 * Implementer namespace: core
863 * `file-name`:(mandatory): Relative path to a file whose contents will be pushed as a buffer
865 Possible types: `string`
867 * `target-element-name`:(mandatory): The name of the appsrc to push data on
869 Possible types: `string`
871 * `caps`:(optional): Caps for the buffer to be pushed
873 Possible types: `caps`
877 * `offset`:(optional): Offset within the file where the buffer will start
879 Possible types: `uint64`
883 * `size`:(optional): Number of bytes from the file that will be pushed as a buffer
885 Possible types: `uint64`
889 * `playback-time`:(optional): The playback time at which the action will be executed
893 * `position`: The current position in the stream
895 * `duration`: The duration of the stream
897 Possible types: `double,string`
901 * `on-message`:(optional): Specify on what message type the action will be executed.
902 If both 'playback-time' and 'on-message' is specified, the action will be executed
903 on whatever happens first.
905 Possible types: `string`
912 ``` validate-scenario
914 target-element-name=(string),
915 [playback-time=(double,string)];
918 Queues a EOS event in an appsrc.
919 * Implementer namespace: core
923 * `target-element-name`:(mandatory): The name of the appsrc to emit EOS on
925 Possible types: `string`
927 * `playback-time`:(optional): The playback time at which the action will be executed
931 * `position`: The current position in the stream
933 * `duration`: The duration of the stream
935 Possible types: `double,string`
939 * `on-message`:(optional): Specify on what message type the action will be executed.
940 If both 'playback-time' and 'on-message' is specified, the action will be executed
941 on whatever happens first.
943 Possible types: `string`
950 ``` validate-scenario
952 target-element-name=(string),
953 [reset-time=(boolean)],
954 [playback-time=(double,string)];
957 Sends FLUSH_START and FLUSH_STOP events.
958 * Implementer namespace: core
962 * `target-element-name`:(mandatory): The name of the appsrc to flush on
964 Possible types: `string`
966 * `reset-time`:(optional): Whether the flush should reset running time
968 Possible types: `boolean`
972 * `playback-time`:(optional): The playback time at which the action will be executed
976 * `position`: The current position in the stream
978 * `duration`: The duration of the stream
980 Possible types: `double,string`
984 * `on-message`:(optional): Specify on what message type the action will be executed.
985 If both 'playback-time' and 'on-message' is specified, the action will be executed
986 on whatever happens first.
988 Possible types: `string`
995 ``` validate-scenario
997 plugin-name=(string),
998 [as-config=(boolean)],
999 [playback-time=(double,string)];
1002 Disables a GstPlugin
1003 * Implementer namespace: core
1007 * `plugin-name`:(mandatory): The name of the GstPlugin to disable
1009 Possible types: `string`
1011 * `as-config`:(optional): Execute action as a config action (meaning when loading the scenario)
1013 Possible types: `boolean`
1017 * `playback-time`:(optional): The playback time at which the action will be executed
1021 * `position`: The current position in the stream
1023 * `duration`: The duration of the stream
1025 Possible types: `double,string`
1029 * `on-message`:(optional): Specify on what message type the action will be executed.
1030 If both 'playback-time' and 'on-message' is specified, the action will be executed
1031 on whatever happens first.
1033 Possible types: `string`
1037 ## check-last-sample
1040 ``` validate-scenario
1042 [checksum=(string)],
1043 [sink-factory-name=(string)],
1044 [sink-name=(string)],
1045 [sinkpad-caps=(string)],
1046 [timecode-frame-number=(string)],
1047 [playback-time=(double,string)];
1050 Checks the last-sample checksum or frame number (set on its GstVideoTimeCodeMeta) on declared Sink element. This allows checking the checksum of a buffer after a 'seek' or after a GESTimeline 'commit' for example
1051 * Implementer namespace: core
1055 * `checksum`:(optional): The reference checksum of the buffer.
1057 Possible types: `string`
1061 * `sink-factory-name`:(optional): The name of the factory of the sink element to check sample on.
1063 Possible types: `string`
1067 * `sink-name`:(optional): The name of the sink element to check sample on.
1069 Possible types: `string`
1073 * `sinkpad-caps`:(optional): The caps (as string) of the sink to check.
1075 Possible types: `string`
1079 * `timecode-frame-number`:(optional): The frame number of the buffer as specified on its GstVideoTimeCodeMeta
1081 Possible types: `string`
1085 * `playback-time`:(optional): The playback time at which the action will be executed
1089 * `position`: The current position in the stream
1091 * `duration`: The duration of the stream
1093 Possible types: `double,string`
1097 * `on-message`:(optional): Specify on what message type the action will be executed.
1098 If both 'playback-time' and 'on-message' is specified, the action will be executed
1099 on whatever happens first.
1101 Possible types: `string`
1108 ``` validate-scenario
1110 [checksum=(string)],
1111 [expected-elapsed-time=(GstClockTime)],
1112 [expected-time=(GstClockTime)],
1113 [sinkpad-caps=(string)],
1114 [timecode-frame-number=(string)],
1115 [playback-time=(double,string)];
1118 Crank the clock, possibly checking how much time was supposed to be waited on the clock and/or the clock running time after the crank. Using one `crank-clock` action in a scenario implies that the scenario is driving the clock and a #GstTestClock will be used. The user will need to crank it the number of time required (using the `repeat` parameter comes handy here).
1119 * Implementer namespace: core
1123 * `checksum`:(optional): The reference checksum of the buffer.
1125 Possible types: `string`
1129 * `expected-elapsed-time`:(optional): Check time elapsed during the clock cranking
1131 Possible types: `GstClockTime`
1135 * `expected-time`:(optional): Expected clock time after cranking
1137 Possible types: `GstClockTime`
1141 * `sinkpad-caps`:(optional): The caps (as string) of the sink to check.
1143 Possible types: `string`
1147 * `timecode-frame-number`:(optional): The frame number of the buffer as specified on its GstVideoTimeCodeMeta
1149 Possible types: `string`
1153 * `playback-time`:(optional): The playback time at which the action will be executed
1157 * `position`: The current position in the stream
1159 * `duration`: The duration of the stream
1161 Possible types: `double,string`
1165 * `on-message`:(optional): Specify on what message type the action will be executed.
1166 If both 'playback-time' and 'on-message' is specified, the action will be executed
1167 on whatever happens first.
1169 Possible types: `string`
1173 ## video-request-key-unit
1176 ``` validate-scenario
1177 video-request-key-unit,
1179 [all-headers=(boolean)],
1182 [running-time=(double or string)],
1184 [target-element-factory-name=(string)],
1185 [target-element-klass=(string)],
1186 [target-element-name=(string)],
1187 [playback-time=(double,string)];
1190 Request a video key unit
1191 * Implementer namespace: core
1195 * `direction`:(mandatory): The direction for the event to travel, should be in
1196 * [upstream, downstream]
1198 Possible types: `string`
1200 * `all-headers`:(optional): TRUE to produce headers when starting a new key unit
1202 Possible types: `boolean`
1206 * `count`:(optional): integer that can be used to number key units
1208 Possible types: `int`
1212 * `pad`:(optional): The name of the GstPad to send a send force-key-unit to
1214 Possible types: `string`
1218 * `running-time`:(optional): The running_time can be set to request a new key unit at a specific running_time.
1219 If not set, GST_CLOCK_TIME_NONE will be used so upstream elements will produce a new key unit as soon as possible.
1223 * position: The current position in the stream
1225 * duration: The duration of the stream
1227 Possible types: `double or string`
1231 * `srcpad`:(optional): The name of the GstPad to send a send force-key-unit to
1233 Possible types: `string`
1237 * `target-element-factory-name`:(optional): The factory name of the GstElements to send a send force-key-unit to
1239 Possible types: `string`
1243 * `target-element-klass`:(optional): The klass of the GstElements to send a send force-key-unit to
1245 Possible types: `string`
1247 Default: Video/Encoder
1249 * `target-element-name`:(optional): The name of the GstElement to send a send force-key-unit to
1251 Possible types: `string`
1255 * `playback-time`:(optional): The playback time at which the action will be executed
1259 * `position`: The current position in the stream
1261 * `duration`: The duration of the stream
1263 Possible types: `double,string`
1267 * `on-message`:(optional): Specify on what message type the action will be executed.
1268 If both 'playback-time' and 'on-message' is specified, the action will be executed
1269 on whatever happens first.
1271 Possible types: `string`
1278 ``` validate-scenario
1280 expected-position=(GstClockTime),
1281 [all-headers=(boolean)],
1284 [running-time=(double or string)],
1286 [target-element-factory-name=(string)],
1287 [target-element-klass=(string)],
1288 [target-element-name=(string)],
1289 [playback-time=(double,string)];
1292 Check current pipeline position.
1294 * Implementer namespace: core
1298 * `expected-position`:(mandatory): The expected pipeline position
1300 Possible types: `GstClockTime`
1302 * `all-headers`:(optional): TRUE to produce headers when starting a new key unit
1304 Possible types: `boolean`
1308 * `count`:(optional): integer that can be used to number key units
1310 Possible types: `int`
1314 * `pad`:(optional): The name of the GstPad to send a send force-key-unit to
1316 Possible types: `string`
1320 * `running-time`:(optional): The running_time can be set to request a new key unit at a specific running_time.
1321 If not set, GST_CLOCK_TIME_NONE will be used so upstream elements will produce a new key unit as soon as possible.
1325 * position: The current position in the stream
1327 * duration: The duration of the stream
1329 Possible types: `double or string`
1333 * `srcpad`:(optional): The name of the GstPad to send a send force-key-unit to
1335 Possible types: `string`
1339 * `target-element-factory-name`:(optional): The factory name of the GstElements to send a send force-key-unit to
1341 Possible types: `string`
1345 * `target-element-klass`:(optional): The klass of the GstElements to send a send force-key-unit to
1347 Possible types: `string`
1349 Default: Video/Encoder
1351 * `target-element-name`:(optional): The name of the GstElement to send a send force-key-unit to
1353 Possible types: `string`
1357 * `playback-time`:(optional): The playback time at which the action will be executed
1361 * `position`: The current position in the stream
1363 * `duration`: The duration of the stream
1365 Possible types: `double,string`
1369 * `on-message`:(optional): Specify on what message type the action will be executed.
1370 If both 'playback-time' and 'on-message' is specified, the action will be executed
1371 on whatever happens first.
1373 Possible types: `string`
1377 ## corrupt-socket-recv
1380 ``` validate-scenario
1381 corrupt-socket-recv,
1385 [playback-time=(double,string)];
1388 corrupt the next socket receive
1389 * Implementer namespace: validatefaultinjection
1393 * `errno`:(mandatory): errno to set when failing
1395 Possible types: `string`
1397 * `port`:(mandatory): The port the socket to be corrupted listens on
1399 Possible types: `int`
1401 * `times`:(optional): Number of times to corrupt recv, default is one
1403 Possible types: `int`
1407 * `playback-time`:(optional): The playback time at which the action will be executed
1411 * `position`: The current position in the stream
1413 * `duration`: The duration of the stream
1415 Possible types: `double,string`
1419 * `on-message`:(optional): Specify on what message type the action will be executed.
1420 If both 'playback-time' and 'on-message' is specified, the action will be executed
1421 on whatever happens first.
1423 Possible types: `string`
1430 ``` validate-scenario
1435 [widget-name=(string)],
1436 [playback-time=(double,string)];
1439 Put a GdkEvent on the event list using gdk_put_event
1440 * Implementer namespace: validategtk
1444 * `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 information
1446 Possible types: `string`
1450 * `string`:(optional): The string to be 'written' by the keyboard sending KEY_PRESS GdkEvents
1452 Possible types: `string`
1456 * `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).
1458 Possible types: `string`
1462 * `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 window
1464 Possible types: `string`
1468 * `playback-time`:(optional): The playback time at which the action will be executed
1472 * `position`: The current position in the stream
1474 * `duration`: The duration of the stream
1476 Possible types: `double,string`
1480 * `on-message`:(optional): Specify on what message type the action will be executed.
1481 If both 'playback-time' and 'on-message' is specified, the action will be executed
1482 on whatever happens first.
1484 Possible types: `string`
1491 ``` validate-scenario
1493 subtitle-file=(string (A URI)),
1494 [playback-time=(double,string)];
1497 Action to set a subtitle file to use on a playbin pipeline.
1498 The subtitles file that will be used should be specified
1499 relative to the playbin URI in use thanks to the subtitle-file
1500 action property. You can also specify a folder with subtitle-dir
1501 For example if playbin.uri='file://some/uri.mov'
1502 and action looks like 'set-subtitle, subtitle-file=en.srt'
1503 the subtitle URI will be set to 'file:///some/uri.mov.en.srt'
1505 * Implementer namespace: validate-launcher
1509 * `subtitle-file`:(mandatory): Sets a subtitles file on a playbin pipeline
1511 Possible types: `string (A URI)`
1513 * `playback-time`:(optional): The playback time at which the action will be executed
1517 * `position`: The current position in the stream
1519 * `duration`: The duration of the stream
1521 Possible types: `double,string`
1525 * `on-message`:(optional): Specify on what message type the action will be executed.
1526 If both 'playback-time' and 'on-message' is specified, the action will be executed
1527 on whatever happens first.
1529 Possible types: `string`