mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-19 02:20:20 +00:00
55 lines
2.6 KiB
Text
55 lines
2.6 KiB
Text
|
set-globals, media_dir="$(test_dir)/../../medias/defaults"
|
||
|
meta,
|
||
|
seek=true,
|
||
|
handles-states=true,
|
||
|
needs_preroll=true,
|
||
|
tool = "ges-launch-$(gst_api_version)",
|
||
|
args = {
|
||
|
"--track-types=video",
|
||
|
--videosink, "$(videosink) sync=true name=videosink",
|
||
|
--video-caps, "video/x-raw,format=I420,chroma-site=mpeg2,colorimetry=bt709",
|
||
|
},
|
||
|
configs = {
|
||
|
"$(validateflow), pad=videosink:sink, record-buffers=true,
|
||
|
ignored-fields=\"stream-start={stream-id,group-id,stream},buffer={meta},segment={position}\",
|
||
|
caps-properties={height,width,framerate}",
|
||
|
},
|
||
|
expected-issues = {
|
||
|
# Sometimes the segment arrives before the caps, and sometimes the other way around
|
||
|
"expected-issue, issue-id=validateflow::mismatch, details=\".*event segment:.*\\\\n.*\\\\n.*event caps:.*\", sometimes=true",
|
||
|
}
|
||
|
|
||
|
set-vars,
|
||
|
nested_timeline_uri="file://$(logsdir)/ges/scenarios/$(test_name)/nested_timeline.xges",
|
||
|
nested_timeline_depth2_uri="file://$(logsdir)/ges/scenarios/$(test_name)/nested_timeline_depth2.xges",
|
||
|
project_uri="file://$(logsdir)/ges/scenarios/$(test_name)/project.xges"
|
||
|
|
||
|
set-track-restriction-caps, track-type="video", caps="video/x-raw,width=1080,height=720,format=I420"
|
||
|
# Make sure the asset ID is the project_uri and serialize the empty timeline for each nested projects uris
|
||
|
serialize-project, uri="$(project_uri)"
|
||
|
serialize-project, uri="$(nested_timeline_uri)"
|
||
|
serialize-project, uri="$(nested_timeline_depth2_uri)"
|
||
|
|
||
|
add-clip, name=clip, asset-id="file://$(media_dir)/matroska/timed_frames_video_only_1fps.mkv", layer-priority=0, type=GESUriClip, duration=4.0, project-uri="$(nested_timeline_uri)"
|
||
|
add-clip, name=nested-clip1, asset-id="$(nested_timeline_uri)", layer-priority=0, type=GESUriClip, project-uri="$(nested_timeline_depth2_uri)"
|
||
|
add-clip, name=nested-timeline1, asset-id="$(nested_timeline_depth2_uri)", layer-priority=0, type=GESUriClip, inpoint=0, duration=4.0
|
||
|
add-asset, id="$(nested_timeline_depth2_uri)", type="GESTimeline"
|
||
|
serialize-project, uri="$(project_uri)"
|
||
|
|
||
|
pause
|
||
|
seek, start=3.0, flags="accurate+flush"
|
||
|
|
||
|
checkpoint, text="Paused pipeline, now editing nested timeline and committing."
|
||
|
|
||
|
# Trim the nested timeline clip in a way that the nested timeline would be too short to check that gesdemux handles that by adding
|
||
|
# an SMPTE75 test clip.
|
||
|
edit-container, project-uri="$(nested_timeline_uri)", container-name="clip", position=1.0, edit-mode="edit_trim", edge="edge_end"
|
||
|
commit
|
||
|
play
|
||
|
crank-clock
|
||
|
check-position, expected-position=3.0
|
||
|
crank-clock, repeat=30
|
||
|
check-position, expected-position=4.0
|
||
|
crank-clock
|
||
|
stop, on-message=eos
|