Skip to content

Commit e1cc28d

Browse files
ntrrgctsaunier
authored andcommitted
First batch of validateflow tests
1 parent 23746eb commit e1cc28d

File tree

22 files changed

+571
-1
lines changed

22 files changed

+571
-1
lines changed

.gitignore

+12
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,14 @@
11
testsuites/tags
22
*.pyc
3+
medias/fragments/car-20120827-86.mp4/init.mp4
4+
medias/fragments/car-20120827-86.mp4/media2.mp4
5+
medias/fragments/car-20120827-86.mp4/media1.mp4
6+
medias/fragments/car-20120827-85.mp4/init.mp4
7+
medias/fragments/car-20120827-85.mp4/media2.mp4
8+
medias/fragments/car-20120827-85.mp4/media1.mp4
9+
medias/fragments/feelings_vp9-20130806-242.webm/init.webm
10+
medias/fragments/feelings_vp9-20130806-242.webm/media2.webm
11+
medias/fragments/feelings_vp9-20130806-242.webm/media1.webm
12+
medias/fragments/feelings_vp9-20130806-247.webm/init.webm
13+
medias/fragments/feelings_vp9-20130806-247.webm/media2.webm
14+
medias/fragments/feelings_vp9-20130806-247.webm/media1.webm
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1;
2+
event caps: video/foo, variant=(string)test-custom;
3+
event segment: format=BYTES, start=0, offset=0, stop=18446744073709551615, time=0, base=0, position=0
4+
buffer: dts=0:00:00.000000000, pts=0:00:00.000000000, flags=discont
5+
event eos: (no structure)

flow-expectations/appsrc_simple_test/log-fakesink0:sink-expected

+307
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1;
2+
event caps: video/x-raw, width=(int)320, height=(int)240;
3+
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000
4+
buffer: pts=0:00:00.000000000, dur=0:00:00.033333333, flags=discont
5+
buffer: pts=0:00:00.033333333, dur=0:00:00.033333333
6+
buffer: pts=0:00:00.066666666, dur=0:00:00.033333334
7+
event eos: (no structure)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_SELECT, group-id=(uint)1;
2+
event caps: video/x-vp9, width=(int)426, height=(int)240, framerate=(fraction)0/1;
3+
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000, duration=0:02:15.469000000
4+
event tag: GstTagList-global, taglist=(taglist)"taglist\,\ container-format\=\(string\)Matroska\;";
5+
event tag: GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)\"On2\\\ VP9\"\;";
6+
buffer: pts=0:00:00.000000000, flags=discont tag-memory
7+
buffer: pts=0:00:00.033000000, flags=delta-unit tag-memory
8+
buffer: pts=0:00:00.067000000, flags=delta-unit tag-memory
9+
buffer: pts=0:00:00.100000000, flags=delta-unit tag-memory
10+
buffer: pts=0:00:00.133000000, flags=delta-unit tag-memory
11+
buffer: pts=0:00:00.167000000, flags=delta-unit tag-memory
12+
buffer: pts=0:00:00.200000000, flags=delta-unit tag-memory
13+
buffer: pts=0:00:00.234000000, flags=delta-unit tag-memory
14+
buffer: pts=0:00:00.267000000, flags=delta-unit tag-memory
15+
buffer: pts=0:00:00.300000000, flags=delta-unit tag-memory
16+
buffer: pts=0:00:00.334000000, flags=delta-unit tag-memory
17+
buffer: pts=0:00:00.367000000, flags=delta-unit tag-memory
18+
buffer: pts=0:00:00.400000000, flags=delta-unit tag-memory
19+
buffer: pts=0:00:00.434000000, flags=delta-unit tag-memory
20+
buffer: pts=0:00:00.467000000, flags=delta-unit tag-memory
21+
buffer: pts=0:00:00.501000000, flags=delta-unit tag-memory
22+
event flush-start: (no structure)
23+
event flush-stop: GstEventFlushStop, reset-time=(boolean)true;
24+
25+
CHECKPOINT: A different cluster is pushed
26+
27+
event segment: format=TIME, start=0:00:05.005000000, offset=0:00:00.000000000, stop=none, time=0:00:05.005000000, base=0:00:00.000000000, position=0:00:05.005000000, duration=0:02:15.469000000
28+
buffer: pts=0:00:05.005000000, flags=discont tag-memory
29+
buffer: pts=0:00:05.038000000, flags=delta-unit tag-memory
30+
buffer: pts=0:00:05.072000000, flags=delta-unit tag-memory
31+
buffer: pts=0:00:05.105000000, flags=delta-unit tag-memory
32+
buffer: pts=0:00:05.138000000, flags=delta-unit tag-memory
33+
buffer: pts=0:00:05.172000000, flags=delta-unit tag-memory
34+
buffer: pts=0:00:05.205000000, flags=delta-unit tag-memory
35+
buffer: pts=0:00:05.239000000, flags=delta-unit tag-memory
36+
buffer: pts=0:00:05.272000000, flags=delta-unit tag-memory
37+
buffer: pts=0:00:05.305000000, flags=delta-unit tag-memory
38+
buffer: pts=0:00:05.339000000, flags=delta-unit tag-memory
39+
buffer: pts=0:00:05.372000000, flags=delta-unit tag-memory
40+
buffer: pts=0:00:05.405000000, flags=delta-unit tag-memory
41+
buffer: pts=0:00:05.439000000, flags=delta-unit tag-memory
42+
buffer: pts=0:00:05.472000000, flags=delta-unit tag-memory
43+
buffer: pts=0:00:05.506000000, flags=delta-unit tag-memory
44+
buffer: pts=0:00:05.539000000, flags=delta-unit tag-memory
45+
buffer: pts=0:00:05.572000000, flags=delta-unit tag-memory
46+
buffer: pts=0:00:05.606000000, flags=delta-unit tag-memory
47+
buffer: pts=0:00:05.639000000, flags=delta-unit tag-memory
48+
buffer: pts=0:00:05.672000000, flags=delta-unit tag-memory
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1;
2+
event caps: video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)2.1, profile=(string)main, codec_data=(buffer)014d4015ffe10016674d4015d901b1fe4e1000003e90000bb800f162e48001000468eb8f20, width=(int)426, height=(int)240, pixel-aspect-ratio=(fraction)1/1;
3+
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000
4+
event tag: GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)\"H.264\\\ /\\\ AVC\"\;";
5+
event tag: GstTagList-global, taglist=(taglist)"taglist\,\ datetime\=\(datetime\)2012-08-27T01:00:50Z\,\ container-format\=\(string\)\"ISO\\\ fMP4\"\;";
6+
event tag: GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)\"H.264\\\ /\\\ AVC\"\;";
7+
event caps: video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)2.1, profile=(string)main, codec_data=(buffer)014d4015ffe10016674d4015d901b1fe4e1000003e90000bb800f162e48001000468eb8f20, width=(int)426, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24000/1001;
8+
9+
CHECKPOINT: A moov with a different edit list is now pushed
10+
11+
event caps: video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3, profile=(string)main, codec_data=(buffer)014d401effe10016674d401ee8805017fcb0800001f480005dc0078b168901000468ebaf20, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1;
12+
event segment: format=TIME, start=0:00:00.041711111, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.041711111
13+
event tag: GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)\"H.264\\\ /\\\ AVC\"\;";
14+
event tag: GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)\"H.264\\\ /\\\ AVC\"\;";
15+
event caps: video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3, profile=(string)main, codec_data=(buffer)014d401effe10016674d401ee8805017fcb0800001f480005dc0078b168901000468ebaf20, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24000/1001;

medias/files.json

+48
Original file line numberDiff line numberDiff line change
@@ -970,5 +970,53 @@
970970
[
971971
"extras-ges/pitivi-0.91-motivational-export/projets/pitivi/gource/gource.mp4",
972972
565616365
973+
],
974+
[
975+
"fragments/car-20120827-85.mp4/init.mp4",
976+
1148
977+
],
978+
[
979+
"fragments/car-20120827-85.mp4/media1.mp4",
980+
170726
981+
],
982+
[
983+
"fragments/car-20120827-85.mp4/media2.mp4",
984+
169400
985+
],
986+
[
987+
"fragments/car-20120827-86.mp4/init.mp4",
988+
1184
989+
],
990+
[
991+
"fragments/car-20120827-86.mp4/media1.mp4",
992+
695313
993+
],
994+
[
995+
"fragments/car-20120827-86.mp4/media2.mp4",
996+
686458
997+
],
998+
[
999+
"fragments/feelings_vp9-20130806-242.webm/init.webm",
1000+
683
1001+
],
1002+
[
1003+
"fragments/feelings_vp9-20130806-242.webm/media1.webm",
1004+
110558
1005+
],
1006+
[
1007+
"fragments/feelings_vp9-20130806-242.webm/media2.webm",
1008+
129946
1009+
],
1010+
[
1011+
"fragments/feelings_vp9-20130806-247.webm/init.webm",
1012+
696
1013+
],
1014+
[
1015+
"fragments/feelings_vp9-20130806-247.webm/media1.webm",
1016+
828645
1017+
],
1018+
[
1019+
"fragments/feelings_vp9-20130806-247.webm/media2.webm",
1020+
876080
9731021
]
9741022
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:a703101e41d56e427a88e7b05fa17233a704c37189c6bb044bc4532f1323eca6
3+
size 1148
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:691b7a30fd7489da6aa539d76c3824bb08ce071836b4b525002c41c440d9f511
3+
size 170726
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:0ccec06b227aabcb8647306e74392263de463c85a75aa2d24c3330f007430748
3+
size 169400
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:8d92385caef277dc90e53d6499d753c7c56fbcf6426a7cefa4f0a1f96ceddbb7
3+
size 1184
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:f51ec3cc1b27a027496a3b815cde681724364bd29a641e6c15050140ae3e7234
3+
size 695313
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:369a7c948ade447bd29ee31b8594701496ab7cb89e6365e0615e5250dbffde18
3+
size 686458
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:a33df8705645441a57a35e8555c1948b026031046467ef0abf74b33c65bdc9b6
3+
size 683
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:da06102d8b5163b4003a725efbd1f26d5c6cc7518fd81dfa5d83e2d079d812af
3+
size 110558
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:99c0214f81571c53dec5c0a53c806f3bbe2c3c6da9730f6e5cc6dc8221cd0c82
3+
size 129946
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:c72dfa868dc6382e667b8284ba438d9ea13fb2befdfae86e89435f00248a1e7f
3+
size 696
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:30374d4017c03efd4b1ad8d6f29f1ecfdca8baa4c70f5641f4060085c6d75405
3+
size 828645
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:ccea3f5b65d8f8fd29928233799f119e4754d233d2832b218fdf6c0cf3042da1
3+
size 876080

testsuites/pipelines.json

+82
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,87 @@
1919
{
2020
"pipeline": "uridecodebin uri='file://%(config_path)s/../medias/defaults/flv/819290236.flv' caps=audio/x-raw expose-all-streams=FALSE ! queue ! audioconvert ! audioresample ! %(audiosink)s",
2121
"scenarios": ["play_15s"]
22+
},
23+
"flow_simple_test":
24+
{
25+
"pipeline": "videotestsrc num-buffers=3 ! fakesink",
26+
"config": [
27+
"%(validateflow)s, pad=fakesink0:sink, record-buffers=true, caps-properties={ width, height };"
28+
]
29+
},
30+
"appsrc_simple_test":
31+
{
32+
"pipeline": "appsrc ! qtdemux name=demux ! video/x-h264 ! fakesink async=false demux. ! audio/x-raw ! fakesink async=false",
33+
"config": [
34+
"%(validateflow)s, pad=fakesink0:sink, record-buffers=true"
35+
],
36+
"scenarios": [
37+
{
38+
"name": "single_push",
39+
"actions": [
40+
"description, seek=false, handles-states=false",
41+
"appsrc-push, target-element-name=appsrc0, file-name=\"%(medias)s/defaults/mp4/raw_h264.0.mp4\""
42+
]
43+
}
44+
]
45+
},
46+
"appsrc_custom_caps":
47+
{
48+
"pipeline": "appsrc ! fakesink async=false",
49+
"config": [
50+
"%(validateflow)s, pad=fakesink0:sink, record-buffers=true"
51+
],
52+
"scenarios": [
53+
{
54+
"name": "single_push",
55+
"actions": [
56+
"description, seek=false, handles-states=false",
57+
"appsrc-push, target-element-name=appsrc0, file-name=\"%(medias)s/defaults/mp4/raw_h264.0.mp4\", caps=(GstCaps)\"video/foo\\,\\ variant\\=\\\"test-custom\\\"\"",
58+
"appsrc-eos, target-element-name=appsrc0"
59+
]
60+
}
61+
]
62+
},
63+
"qtdemux_change_edit_list":
64+
{
65+
"pipeline": "appsrc ! qtdemux ! fakesink async=false",
66+
"config": [
67+
"%(validateflow)s, pad=fakesink0:sink, record-buffers=false"
68+
],
69+
"scenarios": [
70+
{
71+
"name": "default",
72+
"actions": [
73+
"description, seek=false, handles-states=false",
74+
"appsrc-push, target-element-name=appsrc0, file-name=\"%(medias)s/fragments/car-20120827-85.mp4/init.mp4\"",
75+
"appsrc-push, target-element-name=appsrc0, file-name=\"%(medias)s/fragments/car-20120827-85.mp4/media1.mp4\"",
76+
"checkpoint, text=\"A moov with a different edit list is now pushed\"",
77+
"appsrc-push, target-element-name=appsrc0, file-name=\"%(medias)s/fragments/car-20120827-86.mp4/init.mp4\"",
78+
"appsrc-push, target-element-name=appsrc0, file-name=\"%(medias)s/fragments/car-20120827-86.mp4/media2.mp4\"",
79+
"stop"
80+
]
81+
}
82+
]
83+
},
84+
"matroskademux_flush_within_cluster":
85+
{
86+
"pipeline": "appsrc ! matroskademux ! fakesink async=false",
87+
"config": [
88+
"%(validateflow)s, pad=fakesink0:sink, record-buffers=true"
89+
],
90+
"scenarios": [
91+
{
92+
"name": "default",
93+
"actions": [
94+
"description, seek=false, handles-states=false",
95+
"appsrc-push, target-element-name=appsrc0, file-name=\"%(medias)s/fragments/feelings_vp9-20130806-242.webm/init.webm\"",
96+
"appsrc-push, target-element-name=appsrc0, file-name=\"%(medias)s/fragments/feelings_vp9-20130806-242.webm/media1.webm\", size=5000",
97+
"flush, target-element-name=appsrc0",
98+
"checkpoint, text=\"A different cluster is pushed\"",
99+
"appsrc-push, target-element-name=appsrc0, file-name=\"%(medias)s/fragments/feelings_vp9-20130806-242.webm/media2.webm\", size=10000",
100+
"stop"
101+
]
102+
}
103+
]
22104
}
23105
}

testsuites/validate.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,13 @@ def setup_tests(test_manager, options):
161161
test_manager.set_default_blacklist(BLACKLIST)
162162

163163
pipelines_tests = os.path.join(testsuite_dir, 'pipelines.json')
164+
164165
test_manager.add_generators(
165-
test_manager.GstValidatePipelineTestsGenerator.from_json(test_manager, pipelines_tests)
166+
test_manager.GstValidatePipelineTestsGenerator.from_json(test_manager, pipelines_tests, extra_data={
167+
"medias": os.path.join(testsuite_dir, os.path.pardir, "medias"),
168+
"validate-flow-expectations-dir": os.path.join(testsuite_dir, os.path.pardir, "flow-expectations"),
169+
"validate-flow-actual-results-dir": test_manager.options.logsdir,
170+
})
166171
)
167172

168173
test_manager.add_expected_issues(EXPECTED_ISSUES)

testsuites/validate.testslist

+5
Original file line numberDiff line numberDiff line change
@@ -467,8 +467,13 @@ validate.http.transcode.to_vorbis_and_vp8_in_webm.raw_video_mkv
467467
validate.http.transcode.to_vorbis_and_vp8_in_webm.raw_video_mov
468468
validate.http.transcode.to_vorbis_and_vp8_in_webm.vorbis_theora_1_ogg
469469
validate.http.transcode.to_vorbis_and_vp8_in_webm.vorbis_vp8_1_webm
470+
validate.launch_pipeline.appsrc_custom_caps.single_push
471+
validate.launch_pipeline.appsrc_simple_test.single_push
470472
validate.launch_pipeline.aspectcropratio.set_aspect_ratio_in_paused
471473
validate.launch_pipeline.flvdemux.audio_only.play_15s
474+
validate.launch_pipeline.matroskademux_flush_within_cluster.default
475+
validate.launch_pipeline.pipelines.flow_simple_test
476+
validate.launch_pipeline.qtdemux_change_edit_list.default
472477
validate.pushfile.media_check.qtdemux-test-frag-basic_zero_dur_no_mehd_mp4
473478
~validate.rtsp.playback.change_state_intensive.GH1_00094_1920x1280_MTS
474479
~validate.rtsp.playback.change_state_intensive.bowlerhatdancer_sleepytom_SGP_mjpeg_avi

0 commit comments

Comments
 (0)