mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
9d703439f1
Add pitch tests with different forward and backward playback rates. Those tests depend on the libSoundTouch version to validate the buffers checksums. The actual version uses libSoundTouch 2.3.2, use the `--force-fallback-for=soundtouch` meson option to build using the same version. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>
43 lines
2 KiB
Meson
43 lines
2 KiB
Meson
gst_tester = find_program('gst-tester-@0@'.format(api_version), required: get_option('tests'))
|
|
if not gst_tester.found()
|
|
subdir_done()
|
|
endif
|
|
|
|
tests = [
|
|
{'path': 'opencv/cvtracker'},
|
|
{'path': 'testsrcbin/caps_spec'},
|
|
{'path': 'codectimestamper/h264_propagate_caps'},
|
|
{'path': 'wpe/load_bytes_first', 'skip': not building_wpe},
|
|
{'path': 'vtenc/vtenc_h264', 'skip': not applemedia_found_deps},
|
|
{'path': 'vtenc/vtenc_h264_b_frames', 'skip': not applemedia_found_deps},
|
|
{'path': 'vtenc/vtenc_h265', 'skip': not applemedia_found_deps},
|
|
{'path': 'vtenc/vtenc_h265_b_frames', 'skip': not applemedia_found_deps},
|
|
{'path': 'autovideoconvert/renegotiate'},
|
|
{'path': 'pitch/maintain_pitch_with_variable_playback_rates', 'skip': not soundtouch_dep.found()},
|
|
{'path': 'pitch/reverse.maintain_pitch_with_variable_playback_rates', 'skip': not soundtouch_dep.found()},
|
|
{'path': 'pitch/change_pitch_properties', 'skip': not soundtouch_dep.found()},
|
|
{'path': 'pitch/reverse.change_pitch_properties', 'skip': not soundtouch_dep.found()},
|
|
]
|
|
|
|
env = environment()
|
|
env.set('GST_PLUGIN_PATH_1_0', meson.global_build_root(), pluginsdirs)
|
|
env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
|
|
env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), 'validate'))
|
|
env.set('GST_PLUGIN_SCANNER_1_0', gst_plugin_scanner_path)
|
|
env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer', 'gst-validate', 'gst-plugins-base',
|
|
'gst-plugins-bad@' + meson.project_build_root())
|
|
|
|
foreach t: tests
|
|
if not t.get('skip', false)
|
|
test_dir_name = t.get('path').split('/')
|
|
test_name = 'validate'
|
|
foreach c: test_dir_name
|
|
test_name += '.' + c
|
|
endforeach
|
|
test_env = env
|
|
test_env.set('GST_VALIDATE_LOGSDIR', join_paths(meson.current_build_dir(), test_name))
|
|
test_file = join_paths(meson.current_source_dir(), t.get('path') + '.validatetest')
|
|
test(test_name, gst_tester, args: [test_file, '--use-fakesinks'],
|
|
env: test_env, timeout : 3 * 60, protocol: 'tap')
|
|
endif
|
|
endforeach
|