Thomas Guillem
df5039d94d
test: player: pause: ensure outputs are paused via timers
And that no frame is rendered once we receive the PAUSED event.
4 months ago
Thomas Guillem
d0036e7677
test: player: timers: add smpte.on_paused
4 months ago
Thomas Guillem
3eceb8cce0
test: player: timers: add wait helpers
Current timer tests are fetching reports when the player is stopped and
does not require any lock or wait mechanism. Add lock/cond and helpers
in order to allow fetching timer reports when the player is running.
4 months ago
Ayush Dey
c08a9690dc
test: preparser: release thumbnail request after cancel test case
4 months ago
Ayush Dey
67a5adb2f7
test: preparser: rename request names to avoid variable shadowing
4 months ago
Thomas Guillem
170bd5d785
test: player: check AtoBLoop
4 months ago
Thomas Guillem
34795f64ff
test: player: timers: use helpers
4 months ago
Thomas Guillem
07b397eaf9
test: player: add more timers helpers
Helper to create and listen to timer events.
4 months ago
Thomas Guillem
d7d8e95e41
test: player: common: handle report_length
4 months ago
Thomas Guillem
f623496026
test: player: handle timer on_seek events
4 months ago
Thomas Guillem
f5acff75a9
test: player: add eof.c
Test vlc_player_SetPlayAndPause() and vlc_player_SetRepeatCount()
4 months ago
Thomas Guillem
0d51bf0445
test: player: modules: fix data-race
```
WARNING: ThreadSanitizer: data race (pid=1482710)
Write of size 8 at 0x7ffc083eeec8 by thread T3:
#0 vlc_vector_reallocdata_ ../../include/vlc_vector.h:181 (test_src_player_discontinuities+0x28ab) (BuildId: 4aa32e859ff1646a7434510b5302b07861d62271)
#1 aout_Play ../../test/src/player/modules.c:36 (test_src_player_discontinuities+0x2a1e) (BuildId: 4aa32e859ff1646a7434510b5302b07861d62271)
#2 vlc_aout_stream_Play ../../src/audio_output/dec.c:957 (libvlccore.so.9+0xaa396) (BuildId: 13da3aaa6541ff90a630e0bc4c2f079a7b6d6061)
#3 ModuleThread_PlayAudio ../../src/input/decoder.c:1523 (libvlccore.so.9+0x62512) (BuildId: 13da3aaa6541ff90a630e0bc4c2f079a7b6d6061)
#4 ModuleThread_QueueAudio ../../src/input/decoder.c:1554 (libvlccore.so.9+0x62735) (BuildId: 13da3aaa6541ff90a630e0bc4c2f079a7b6d6061)
#5 decoder_QueueAudio ../../include/vlc_codec.h:476 (libaraw_plugin.so+0x29c5) (BuildId: 1aad6e313df15de1f486a181f90e037a012de0fa)
#6 DecodeBlock ../../modules/codec/araw.c:362 (libaraw_plugin.so+0x3449) (BuildId: 1aad6e313df15de1f486a181f90e037a012de0fa)
#7 DecoderThread_DecodeBlock ../../src/input/decoder.c:1636 (libvlccore.so.9+0x608af) (BuildId: 13da3aaa6541ff90a630e0bc4c2f079a7b6d6061)
#8 DecoderThread_ProcessInput ../../src/input/decoder.c:1762 (libvlccore.so.9+0x60d91) (BuildId: 13da3aaa6541ff90a630e0bc4c2f079a7b6d6061)
#9 DecoderThread ../../src/input/decoder.c:1876 (libvlccore.so.9+0x61002) (BuildId: 13da3aaa6541ff90a630e0bc4c2f079a7b6d6061)
Previous read of size 8 at 0x7ffc083eeec8 by main thread:
#0 test_clock_discontinuities ../../test/src/player/discontinuities.c:27 (test_src_player_discontinuities+0x9ab0) (BuildId: 4aa32e859ff1646a7434510b5302b07861d62271)
#1 main ../../test/src/player/discontinuities.c:44 (test_src_player_discontinuities+0x9eff) (BuildId: 4aa32e859ff1646a7434510b5302b07861d62271)
```
4 months ago
Thomas Guillem
3156e78b59
test: add checkplayer rules
To make and run all player tests
4 months ago
Thomas Guillem
55329bd5a0
test: player: split all tests
Move each tests in a separate file/program.
- This will make debugging from the CI easier.
- This will allow running player tests in parallel
- This will fix timeout will one very long test, that could last more
than 10 seconds
- This will allow adding more tests, that could take more time
Fixes #27105
4 months ago
Thomas Guillem
993a1bde7d
test: player: split code, add modules.c
To ease test split in a future commit.
No functional changes.
Refs #27105
4 months ago
Thomas Guillem
9645376942
test: player: split code, add timers.h
To ease test split in a future commit.
No functional changes.
Refs #27105
4 months ago
Thomas Guillem
1d808e109c
test: player: split code, add common.h
To ease test split in a future commit.
No functional changes.
Refs #27105
4 months ago
Thomas Guillem
45daec8d82
test: player: run test_init() from ctx_init()
This will save one test_init() line in upcoming split player tests.
Refs #27105
4 months ago
Thomas Guillem
03ac251f66
test: player: remove optimisation
This won't be possible when player tests will be split into several
programs.
Refs #27105
4 months ago
Thomas Guillem
608a1d9ef6
test: player: re-indent after the previous commit
No functional changes.
Refs #27105
4 months ago
Thomas Guillem
1b4fafd4fc
test: player: use a flag to test the monotonic clock
And not a specific test/define
Refs #27105
4 months ago
Steve Lhomme
461f77f599
tests: meson: allow setting extra link_args
4 months ago
Pierre Lamot
3bf92cc6c7
test: add test for rbga picture format
5 months ago
Ayush Dey
52c61546c2
preparser: add vlc_preparser_req_Release API
Explicit API to release vlc_preparser_req* from user side.
Safe to call this from within the on_ended callback.
6 months ago
Ayush Dey
984301285e
preparser: expose vlc_preparser_req in callbacks
Add struct vlc_preparser_cbs. The vlc_preparser_req* is now
exposed to identify the request associated with each callback.
It will also be used by the upcoming vlc_preparser_req_Release
API in the next commit.
input_item_t* argument is removed as it can be retrieved using
vlc_preparser_req_GetItem.
6 months ago
Ayush Dey
1f31130e16
preparser: use vlc_preparser_req pointer for request identification
Remove vlc_preparser_req_id
6 months ago
Steve Lhomme
898a147a5c
test: support vlc-demux-run on macOS
7 months ago
Steve Lhomme
6382d1e41a
test: only add zvbi/telx plugin to demux runner in static build
7 months ago
Steve Lhomme
a4273d63e5
test: fix check_POTFILES.sh folder
So it can be called manually.
7 months ago
Thomas Guillem
194d837677
test: demux-run: always print error (on stderr)
9 months ago
Thomas Guillem
0463a37586
core: load packetizers by type
Check less modules when loading a packetizer and ensure the
audio/video/spu union in es_format_t is correctly initialized for a
given category.
9 months ago
Thomas Guillem
7fccaac4f5
test: use decoder_LoadModule()
9 months ago
Steve Lhomme
32d5d04642
meson: fix relative path of libvlc_internal.h
10 months ago
Steve Lhomme
24a72c2840
meson: only enable OpenGL ES2 tests if OpenGL ES2 is found
10 months ago
Alexandre Janniaux
88e3c3344a
test: meson: add vlc-window executable
The test driver allows testing vlc_window module implementations, but
was not compiled by the meson subsystem yet.
Tested on Windows 11.
11 months ago
Gabriel Lafond Thenaille
43484fdea4
player: change `on_media_subitems_changed` callbacks argument type
* change `vlc_player_cbs::on_media_subitems_changed` callback argument
type from `input_item_node_t *` to `const input_item_node_t *`.
11 months ago
François Cartegnie
caf3ea133a
demux: ts: fix multiple wrapping
refs streams/ts/1fps93hours.ts
12 months ago
François Cartegnie
56b1956461
tests: add timestamps wrapping check
12 months ago
François Cartegnie
0a5bd92c52
demux: ts: change stime_t for ts_90khz_t
12 months ago
Alexandre Janniaux
4d1fcf5614
test: clock: adapt after previous changes
Clock must now be started from a dedicated input vlc_clock. The start is
not yet mandatory but is available and will be mandatory after next
patches.
Previously, the clock was driven by two values: coeff and offset. The
idea was that since the clock is supposed to look like an affine line,
we could extrapolate any `ts` media point into `ts * coeff + offset` in
system time.
It meant that offset could take any value depending on the difference
between system time and media time, reducing the interpretability of the
values.
After this patch, offset is computed from the start of the stream in the
test, so it will basically only include the difference between the
timestamp computation and the real clock.
Co-authored-by: Thomas Guillem <thomas@gllm.fr>
2 years ago
Alexandre Janniaux
b48fc809e6
test: clock: call SetFirstPCR in convert_paused_common
The initialization of the clock was missing in the test, which was not
an issue before but will be in the next commits.
2 years ago
Alexandre Janniaux
324d1a551d
test: add clock_start test
The test is extending the current clock.c test but is specifically
designed to check the clock startup scenarios. Those tests are also
matching with the "SCENARIO_RUN" case in the clock.c test.
It doesn't need the tracer infrastructure to run.
Co-authored-by: Thomas Guillem <thomas@gllm.fr>
2 years ago
Alexandre Janniaux
f0e427894b
test_log: move to stderr
Logging to stdout makes weird log interlacing with console logger which
outputs to stderr, and makes it less easy to track synchronize in the
test log file.
2 years ago
Alexandre Janniaux
eabf767ad7
test: clock: add logging
2 years ago
Alexandre Janniaux
02e7a863ea
test: clock: increase time difference
Using 100 ticks instead of 1 tick allows differentiating
off-by-VLC_TICK_0 errors from pause not working correctly.
2 years ago
Alexandre Janniaux
5fa84df1aa
test: store input vlc_clock
The input vlc_clock will be used to define start_date for the playback
timeline, when vlc_clock_Start() operation will be introduced.
2 years ago
Alexandre Janniaux
ea2750ffda
test: clock: specify start date for run tests
Make sure the start date is always defined for CLOCK_SCENARIO_RUN tests
so that the proper first PCR is defined.
2 years ago
Brad Smith
67f900c7d5
meson: fix building OpenGL video output on OpenBSD / NetBSD
[135/1731] Compiling C object modules/video_output/opengl/libvlc_opengl.a.p/filter.c.o
FAILED: modules/video_output/opengl/libvlc_opengl.a.p/filter.c.o
cc -Imodules/video_output/opengl/libvlc_opengl.a.p -Imodules/video_output/opengl -I../modules/video_output/opengl -I. -I.. -Iinclude -I../include -I../compat/stdbit -I../compat/stdckdint -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu17 -O0 -g -DHAVE_CONFIG_H=1 -Wno-deprecated-copy -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -Wformat -Wformat-security -Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Werror-implicit-function-declaration -Winit-self -pipe -mbranch-protection=standard -Wall -Werror-implicit-function-declaration -fvisibility=hidden -fPIC -MD -MQ modules/video_output/opengl/libvlc_opengl.a.p/filter.c.o -MF modules/video_output/opengl/libvlc_opengl.a.p/filter.c.o.d -o modules/video_output/opengl/libvlc_opengl.a.p/filter.c.o -c ../modules/video_output/opengl/filter.c
In file included from ../modules/video_output/opengl/filter.c:26:
In file included from ../modules/video_output/opengl/filter_priv.h:30:
In file included from ../modules/video_output/opengl/picture.h:30:
../modules/video_output/opengl/gl_common.h:47:12: fatal error: 'GL/gl.h' file not found
^~~~~~~~~
1 error generated.
[136/1731] Compiling C object modules/video_output/opengl/libvlc_opengl.a.p/gl_api.c.o
FAILED: modules/video_output/opengl/libvlc_opengl.a.p/gl_api.c.o
cc -Imodules/video_output/opengl/libvlc_opengl.a.p -Imodules/video_output/opengl -I../modules/video_output/opengl -I. -I.. -Iinclude -I../include -I../compat/stdbit -I../compat/stdckdint -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu17 -O0 -g -DHAVE_CONFIG_H=1 -Wno-deprecated-copy -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -Wformat -Wformat-security -Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Werror-implicit-function-declaration -Winit-self -pipe -mbranch-protection=standard -Wall -Werror-implicit-function-declaration -fvisibility=hidden -fPIC -MD -MQ modules/video_output/opengl/libvlc_opengl.a.p/gl_api.c.o -MF modules/video_output/opengl/libvlc_opengl.a.p/gl_api.c.o.d -o modules/video_output/opengl/libvlc_opengl.a.p/gl_api.c.o -c ../modules/video_output/opengl/gl_api.c
In file included from ../modules/video_output/opengl/gl_api.c:26:
In file included from ../modules/video_output/opengl/gl_api.h:33:
../modules/video_output/opengl/gl_common.h:47:12: fatal error: 'GL/gl.h' file not found
^~~~~~~~~
1 error generated.
[138/1731] Compiling C object modules/video_output/opengl/libvlc_opengl.a.p/gl_util.c.o
FAILED: modules/video_output/opengl/libvlc_opengl.a.p/gl_util.c.o
cc -Imodules/video_output/opengl/libvlc_opengl.a.p -Imodules/video_output/opengl -I../modules/video_output/opengl -I. -I.. -Iinclude -I../include -I../compat/stdbit -I../compat/stdckdint -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu17 -O0 -g -DHAVE_CONFIG_H=1 -Wno-deprecated-copy -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -Wformat -Wformat-security -Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Werror-implicit-function-declaration -Winit-self -pipe -mbranch-protection=standard -Wall -Werror-implicit-function-declaration -fvisibility=hidden -fPIC -MD -MQ modules/video_output/opengl/libvlc_opengl.a.p/gl_util.c.o -MF modules/video_output/opengl/libvlc_opengl.a.p/gl_util.c.o.d -o modules/video_output/opengl/libvlc_opengl.a.p/gl_util.c.o -c ../modules/video_output/opengl/gl_util.c
In file included from ../modules/video_output/opengl/gl_util.c:26:
In file included from ../modules/video_output/opengl/gl_util.h:31:
../modules/video_output/opengl/gl_common.h:47:12: fatal error: 'GL/gl.h' file not found
^~~~~~~~~
1 error generated.
[139/1731] Compiling C object modules/video_output/opengl/libvlc_opengl.a.p/importer.c.o
FAILED: modules/video_output/opengl/libvlc_opengl.a.p/importer.c.o
cc -Imodules/video_output/opengl/libvlc_opengl.a.p -Imodules/video_output/opengl -I../modules/video_output/opengl -I. -I.. -Iinclude -I../include -I../compat/stdbit -I../compat/stdckdint -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu17 -O0 -g -DHAVE_CONFIG_H=1 -Wno-deprecated-copy -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -Wformat -Wformat-security -Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Werror-implicit-function-declaration -Winit-self -pipe -mbranch-protection=standard -Wall -Werror-implicit-function-declaration -fvisibility=hidden -fPIC -MD -MQ modules/video_output/opengl/libvlc_opengl.a.p/importer.c.o -MF modules/video_output/opengl/libvlc_opengl.a.p/importer.c.o.d -o modules/video_output/opengl/libvlc_opengl.a.p/importer.c.o -c ../modules/video_output/opengl/importer.c
In file included from ../modules/video_output/opengl/importer.c:29:
In file included from ../modules/video_output/opengl/importer_priv.h:26:
In file included from ../modules/video_output/opengl/gl_api.h:33:
../modules/video_output/opengl/gl_common.h:47:12: fatal error: 'GL/gl.h' file not found
^~~~~~~~~
1 error generated.
[140/1731] Compiling C object modules/video_output/opengl/libvlc_opengl.a.p/interop.c.o
FAILED: modules/video_output/opengl/libvlc_opengl.a.p/interop.c.o
cc -Imodules/video_output/opengl/libvlc_opengl.a.p -Imodules/video_output/opengl -I../modules/video_output/opengl -I. -I.. -Iinclude -I../include -I../compat/stdbit -I../compat/stdckdint -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu17 -O0 -g -DHAVE_CONFIG_H=1 -Wno-deprecated-copy -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -Wformat -Wformat-security -Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Werror-implicit-function-declaration -Winit-self -pipe -mbranch-protection=standard -Wall -Werror-implicit-function-declaration -fvisibility=hidden -fPIC -MD -MQ modules/video_output/opengl/libvlc_opengl.a.p/interop.c.o -MF modules/video_output/opengl/libvlc_opengl.a.p/interop.c.o.d -o modules/video_output/opengl/libvlc_opengl.a.p/interop.c.o -c ../modules/video_output/opengl/interop.c
In file included from ../modules/video_output/opengl/interop.c:28:
In file included from ../modules/video_output/opengl/gl_util.h:31:
../modules/video_output/opengl/gl_common.h:47:12: fatal error: 'GL/gl.h' file not found
^~~~~~~~~
1 error generated.
1 year ago
Steve Lhomme
42163de65c
vlc_subpicture: add a flag telling if a region is placed in the window
...rather than in the video.
It's off by default for now.
This effectively disables "subtitles in black bars" as no SPU source is
setting this flag yet.
1 year ago
Steve Lhomme
17e3bbbb1a
test: meson: allow setting some environment variables when testing
1 year ago