diff options
author | Thibault Saunier <tsaunier@igalia.com> | 2020-06-09 00:03:57 -0400 |
---|---|---|
committer | Thibault Saunier <tsaunier@igalia.com> | 2020-06-17 10:48:41 -0400 |
commit | c09de963be0fbfc1bc9f3e310421e64a22074b89 (patch) | |
tree | 9d58d026163994b0b748bba34da1731b0a8d0cc5 /tests | |
parent | c217346fa01817e9e38612ff57eebfbb3cb0ae83 (diff) |
ges: Refactor the way we plug converters in effects
Stopping to do it at the bin description level but properly
plugging them where they are needed and cleanly ghosting the pads
where it makes most sense.
This introduces support for GES to request pads on the most upstream
element in case no static pad can be ghosted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/187>
Diffstat (limited to 'tests')
3 files changed, 35 insertions, 1 deletions
diff --git a/tests/check/meson.build b/tests/check/meson.build index 7c27bf35..b377cb1d 100644 --- a/tests/check/meson.build +++ b/tests/check/meson.build @@ -82,6 +82,7 @@ if gstvalidate_dep.found() 'seek_with_stop': true, 'seek_with_stop.check_clock_sync': true, 'edit_while_seeked_with_stop': true, + 'complex_effect_bin_desc': true, } foreach scenario, is_validatetest: scenarios @@ -107,7 +108,7 @@ if gstvalidate_dep.found() endif if build_gir - # Make sure to use the subproject gst-validate-launcher if avalaible. + # Make sure to use the subproject gst-validate-launcher if available. if gstvalidate_dep.found() and gstvalidate_dep.type_name() == 'internal' runtests = subproject('gst-devtools').get_variable('launcher') else diff --git a/tests/check/scenarios/complex_effect_bin_desc.validatetest b/tests/check/scenarios/complex_effect_bin_desc.validatetest new file mode 100644 index 00000000..d9585445 --- /dev/null +++ b/tests/check/scenarios/complex_effect_bin_desc.validatetest @@ -0,0 +1,24 @@ +# Check that we can have effect with sources integrated where GES will request a pad on some elements +# In that example, we are blending a green rectangle on top of a blue GESVideoTestSource using an effect +meta, + tool = "ges-launch-$(gst_api_version)", + handles-states=true, + args = { + "--track-types", "video", + "--videosink", "$(videosink) name=videosink", + "--video-caps", "video/x-raw, format=I420, width=1280, height=720, framerate=30/1, chroma-site=jpeg, colorimetry=bt601", + }, + configs = { + "$(validateflow), pad=videosink:sink, buffers-checksum=true, ignored-fields=\"stream-start={stream-id,group-id,stream}, segment={position,}\", ignored-event-types={gap}", + } + + +add-clip, name=c0, asset-id=GESTestClip, layer-priority=0, type=GESTestClip, start=0, duration=0.1 +set-child-properties, element-name=c0, pattern=blue + +container-add-child, + container-name=c0, + asset-id="videotestsrc pattern=green ! video/x-raw,width=640,height=360 ! compositor sink_0::xpos=320 sink_0::ypos=180 sink_0::zorder=500", + child-type=GESEffect, + child-name=effect +play
\ No newline at end of file diff --git a/tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected b/tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected new file mode 100644 index 00000000..7541dda0 --- /dev/null +++ b/tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected @@ -0,0 +1,9 @@ +event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE; +event caps: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, chroma-site=(string)jpeg, colorimetry=(string)bt601; +event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:00.100000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000 +buffer: checksum=d2d49287a7d0ddd7b5fadbb60c3220623119fea8, pts=0:00:00.000000000, dur=0:00:00.033333333 +buffer: checksum=d2d49287a7d0ddd7b5fadbb60c3220623119fea8, pts=0:00:00.033333333, dur=0:00:00.033333334 +buffer: checksum=d2d49287a7d0ddd7b5fadbb60c3220623119fea8, pts=0:00:00.066666667, dur=0:00:00.033333333 +event segment: format=TIME, start=0:00:00.100000000, offset=0:00:00.000000000, stop=0:00:00.100000001, flags=0x01, time=0:00:00.100000000, base=0:00:00.100000000 +buffer: checksum=b4a126ab26f314a74ef860a9af457327a28d680b, pts=0:00:00.100000000, dur=0:00:00.000000001 +event eos: (no structure) |