mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-05 07:56:35 +00:00
11b83fb2fc
The scenario is what we try in the tests: - we have a segment with .stop set - some frame(s) flow - we get a CAPS event - we get an EOS (before getting buffers after the CAPS event) in that case, without that patch, the segment is not properly closed which is not correct. In this patch we keep track of previous caps until a new buffer arrives, this way in that situation we set previous caps again, and close the segment with the previous buffer. Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1352 in this specific case Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3059>
49 lines
1.8 KiB
Meson
49 lines
1.8 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 = [
|
|
'audiotestsrc/reverse',
|
|
'videorate/10_to_1fps',
|
|
'videorate/reverse.10_to_1fps',
|
|
'videorate/reverse.10_to_30fps',
|
|
'videorate/reverse.1_to_10fps',
|
|
'videorate/reverse.30fps',
|
|
'videorate/reverse.variable_to_10fps',
|
|
'videorate/change_rate_while_playing',
|
|
'videorate/change_rate_reverse_playback',
|
|
'videorate/rate_0_5',
|
|
'videorate/rate_0_5_with_decoder',
|
|
'videorate/rate_2_0',
|
|
'videorate/rate_2_0_with_decoder',
|
|
'videorate/duplicate_on_eos',
|
|
'videorate/duplicate_on_eos_disbaled',
|
|
'videorate/duplicate_on_eos_half_sec',
|
|
'videorate/fill_segment_after_caps_changed_before_eos',
|
|
'compositor/renogotiate_failing_unsupported_src_format',
|
|
'giosrc/read-growing-file',
|
|
'encodebin/set-encoder-properties',
|
|
'uridecodebin/expose_raw_pad_caps',
|
|
]
|
|
|
|
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@' + meson.project_build_root())
|
|
|
|
foreach t: tests
|
|
test_dir_name = t.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 + '.validatetest')
|
|
test(test_name, gst_tester, args: [test_file, '--use-fakesinks'],
|
|
env: test_env, timeout : 3 * 60, protocol: 'tap')
|
|
endforeach
|