gstreamer/subprojects/gst-integration-testsuites/ges/scenarios/timelineelement.set_child_prop_on_all_instances.validatetest
Thibault Saunier a342d14ba9 ges: Add support for sources reverse playback
It introduces a `reverse` property at the `nlesource` level which will
basically reverse playback of the clip.

We guarantee that outside that clip, the data flow looks like it was
playing forward as we add an 'identity' element with `single-segment=true`.

This start making use of the newly introduced concept of
`CHILD_PROP_FLAG_SET_ON_ALL_INSTANCES` as it is natural that
doing `source_clip.set_child_property("reverse", True)` will make
the whole clip go reverse, meaning that all the GESSource children
properties will be set. To set an individual source "reverse" child
property as the desired effect.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/24
Depends on: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/451

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/918>
2024-04-18 00:19:31 +00:00

40 lines
1.9 KiB
Plaintext

meta,
tool = "ges-launch-$(gst_api_version)",
handles-states = true
add-clip, name=c0, asset-id="time-overlay", layer-priority=0, type=GESTestClip, start=0, duration=1.0
check-child-properties, element-name=videotestsource0, reverse=false
check-child-properties, element-name=audiotestsource0, reverse=false
set-child-properties, element-name=c0, pattern=blue, valignment=center, halignment=center, reverse=true
check-child-properties, element-name=videotestsource0, reverse=true
check-child-properties, element-name=audiotestsource0, reverse=true
set-child-properties, element-name=videotestsource0, reverse=false
check-child-properties, element-name=videotestsource0, reverse=false
check-child-properties, element-name=audiotestsource0, reverse=true
add-clip, name=c1, asset-id=GESTestClip, layer-priority=0, type=GESTestClip, start=1.0, duration=2.0
group, containers={c0, c1}, container-name=g0
set-child-properties, element-name=g0, reverse=true
check-child-properties, element-name=videotestsource0, reverse=true
check-child-properties, element-name=audiotestsource0, reverse=true
check-child-properties, element-name=videotestsource1, reverse=true
check-child-properties, element-name=audiotestsource1, reverse=true
set-child-properties, element-name=audiotestsource1, reverse=false
check-child-properties, element-name=videotestsource0, reverse=true
check-child-properties, element-name=audiotestsource0, reverse=true
check-child-properties, element-name=videotestsource1, reverse=true
check-child-properties, element-name=audiotestsource1, reverse=false
ungroup-container, container-name=g0
check-child-properties, element-name=videotestsource0, reverse=true
check-child-properties, element-name=audiotestsource0, reverse=true
check-child-properties, element-name=videotestsource1, reverse=true
check-child-properties, element-name=audiotestsource1, reverse=false
stop