mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-15 12:56:33 +00:00
eb0272e210
While the suspend modes NONE and PAUSED provided a low startup latency for connecting clients they did not ensure that streams started on fresh data. With this property we can maintain the low startup latency of those suspend modes while also ensuring that a stream starts on a key unit. Furthermore, by modifying the value of a new property, ensure-keyunit-on-start-timeout, it is possible to accept a keyunit of a certain age but discard it if too much time has passed and instead force a new keyunit. Fixes #2443 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4334>
68 lines
2.2 KiB
Meson
68 lines
2.2 KiB
Meson
pluginsdirs = []
|
|
if gst_dep.type_name() == 'pkgconfig'
|
|
pbase = dependency('gstreamer-plugins-base-' + api_version, required: true)
|
|
pbad = dependency('gstreamer-plugins-bad-' + api_version, required: true)
|
|
|
|
pluginsdirs = [gst_dep.get_variable('pluginsdir'),
|
|
pbase.get_variable('pluginsdir'),
|
|
pbad.get_variable('pluginsdir')]
|
|
|
|
gst_plugin_scanner_dir = gst_dep.get_variable('pluginscannerdir')
|
|
else
|
|
gst_plugin_scanner_dir = subproject('gstreamer').get_variable('gst_scanner_dir')
|
|
endif
|
|
gst_plugin_scanner_path = join_paths(gst_plugin_scanner_dir, 'gst-plugin-scanner')
|
|
|
|
fsmod = import('fs')
|
|
test_c_args = [
|
|
'-UG_DISABLE_ASSERT',
|
|
'-UG_DISABLE_CAST_CHECKS',
|
|
'-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_PLUGIN_LOADING_WHITELIST"',
|
|
'-DGST_TEST_FILES_PATH="' + fsmod.as_posix(meson.current_source_dir()) + '/../files"',
|
|
]
|
|
|
|
rtsp_server_tests = [
|
|
'gst/addresspool',
|
|
'gst/client',
|
|
'gst/mountpoints',
|
|
'gst/mediafactory',
|
|
'gst/media',
|
|
'gst/permissions',
|
|
'gst/rtspserver',
|
|
'gst/sessionmedia',
|
|
'gst/sessionpool',
|
|
'gst/stream',
|
|
'gst/threadpool',
|
|
'gst/token',
|
|
'gst/onvif',
|
|
]
|
|
|
|
if not get_option('rtspclientsink').disabled()
|
|
rtsp_server_tests += ['gst/rtspclientsink']
|
|
endif
|
|
|
|
foreach test_name : rtsp_server_tests
|
|
fname = '@0@.c'.format(test_name)
|
|
test_name = test_name.underscorify()
|
|
|
|
env = environment()
|
|
env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
|
|
env.set('GST_STATE_IGNORE_ELEMENTS', '')
|
|
env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer:gst-plugins-base:gst-plugins-good:gst-plugins-bad:gst-rtsp-server@' + meson.project_build_root())
|
|
env.set('CK_DEFAULT_TIMEOUT', '120')
|
|
env.set('GST_REGISTRY', join_paths(meson.current_build_dir(), '@0@.registry'.format(test_name)))
|
|
env.set('GST_PLUGIN_PATH_1_0', [meson.global_build_root()] + pluginsdirs)
|
|
env.set('GST_PLUGIN_SCANNER_1_0', gst_plugin_scanner_path)
|
|
|
|
exe = executable(test_name, fname,
|
|
include_directories : rtspserver_incs,
|
|
c_args : rtspserver_args + test_c_args,
|
|
dependencies : [gstcheck_dep, gstrtsp_dep, gstrtp_dep, gst_rtsp_server_dep,
|
|
gstvideo_dep]
|
|
)
|
|
test(test_name, exe,
|
|
env : env,
|
|
timeout : 120,
|
|
is_parallel: false
|
|
)
|
|
endforeach
|