Commit Graph

883 Commits

Author SHA1 Message Date
Steve Lhomme
f1a06922f1 meson: add update-check option 2024-11-22 10:43:46 +00:00
Thomas Guillem
d1e483cc75 preparser: thumbnailer: add hw_dec configuration
Disabled by default, but can be forced with the new configuration
option.
2024-11-21 13:28:21 +00:00
Thomas Guillem
22ea9da7f5 preparser: rename/rework vlc_preparser_seek_arg
So that we can add more thumbnailer arguments in the future.
2024-11-21 13:28:21 +00:00
Steve Lhomme
2ca91b7dd6 meson: disable opengl tests if there is no opengl
As in UWP.
2024-11-16 08:41:34 +00:00
Steve Lhomme
b6ad458368 meson: disable TLS tests on Windows
It lacks the rand_r() function.
2024-11-14 08:56:06 +00:00
Steve Lhomme
4099c4313f meson: disable input stream tests on Windows
It lacks the rand_r() function.
2024-11-14 08:56:06 +00:00
Steve Lhomme
8259f08128 meson: disable medialibrary test on Windows
It lacks the mkdtemp() function.
2024-11-14 08:56:06 +00:00
Steve Lhomme
90f06dc9f2 packetizer: fix bogus format for pointer difference
Use the same cast as below.

Co-authored-by: Alexandre Janniaux <ajanni@videolabs.io>
2024-11-13 10:54:10 +00:00
Steve Lhomme
ba8fccf9b8 meson: create hxxxhelper_lib to share with other modules 2024-11-13 07:58:44 +00:00
François Cartegnie
58106d711f tests: hxxx_helper: check for configuration change on SPS update 2024-11-10 08:49:14 +00:00
François Cartegnie
042b30c923 tests: packetizer: hxxx: check stripping 2024-11-10 08:49:14 +00:00
Thomas Guillem
dcea76e41a preparser: add a struct to configure the preparser 2024-11-09 15:24:26 +00:00
Thomas Guillem
5942c80be2 test: move input/thumbnail.c 2024-11-09 15:24:26 +00:00
Thomas Guillem
a4a0514ecc preparser: merge with the thumbnailer API
You should now use a preparser to generate thumbnails.

One single preparser is able to:
 - Parse
 - Fetch meta
 - Generate thumbnails

Using 3 different queues. It is also possible to create a preparser for
only one type of processing.
2024-11-09 15:24:26 +00:00
Thomas Guillem
d2a0c1de2e thumbnailer: report status from callback
Imitate the preparser callback.
2024-11-09 15:24:26 +00:00
Thomas Guillem
da62fe9bbb test: thumbnailer: remove sleep and wrong comments
A callback is now called when cancelled.
2024-11-09 15:24:26 +00:00
Thomas Guillem
b0843bee21 preparser: rework option and type flags
Separate Push options from creation types. use defines.
2024-11-09 15:24:26 +00:00
Thomas Guillem
b2883408be thumbnailer: notify on_ended when cancelled
Like the preparser is doing.
2024-11-01 06:11:06 +00:00
Thomas Guillem
aad952ea38 preparser: notify on_ended with -EINTR when cancelled 2024-11-01 06:11:06 +00:00
Thomas Guillem
7e22dbe1d3 thumbnailer: use a struct of callbacks
In order to behave like the vlc_preparser.h API.
2024-10-29 10:01:22 +00:00
Thomas Guillem
bb94b3b123 thumbnailer: use a struct for seek arguments
And merge vlc_thumbnailer_RequestByTime and vlc_thumbnailer_RequestByPos
into vlc_thumbnailer_Request.
2024-10-29 10:01:22 +00:00
Thomas Guillem
50f830c0f9 thumbnailer: rename vlc_thumbnailer_Release
The thumbnailer is not refcounted, so the name was misleading.
2024-10-29 10:01:22 +00:00
Thomas Guillem
fb47943787 thumbnailer: move timeout from request to creator
In order to behave like the vlc_preparser.h API.

vlc_thumbnailer_SetTimeout Will be used by libvlc_media_t, temporarily,
waiting for the future libvlc_parser_t API.
2024-10-29 10:01:22 +00:00
Steve Lhomme
2b9fbb84de test: bits: fix printf formatting warning
We cast to the biggest signed integer size so it works in all used cases
(uint64_t is not used)
2024-10-19 08:02:09 +00:00
Thomas Guillem
a9fdd37fef thumbnailer: use an unsigned for the request identification
This id can be used to cancel a task.

vlc_thumbnailer_DestroyRequest() had been renamed to
vlc_thumbnailer_Cancel(). The new function is optional and can be used
to cancel a task. The user doesn't have the responsibility to free the
request anymore.
2024-10-17 14:54:27 +00:00
Thomas Guillem
7bf413130d preparser: return the number of tasks cancelled 2024-10-17 14:54:27 +00:00
Thomas Guillem
3d4af3b72a preparser: use an unsigned for the request identification
This id can be used to cancel a task.
2024-10-17 14:54:27 +00:00
Thomas Guillem
999e53e3c6 test: configure the preparser for parsing + local fetch 2024-10-15 07:56:44 +00:00
Thomas Guillem
0129f10ebe preparse: configure executor domain
Don't create parser/fetchers if not needed (and create local/network one
accordingly).
2024-10-15 07:56:44 +00:00
Thomas Guillem
1b1ca7925b preparser: remove the timeout argument
The timeout is now setup once when creating the preparer.
2024-10-13 09:25:42 +00:00
Thomas Guillem
cdeea03920 preparser: use input_item_parser_cbs_t for callbacks 2024-10-11 17:08:24 +00:00
Thomas Guillem
1b15986763 preparse: use int for status
This will allow to use the same struct of callbacks for preparser and
parser.

The VLC_ETIMEOUT usage will be documented in next commits.
2024-10-11 17:08:24 +00:00
Thomas Guillem
e0a892ee82 preparser: remove item skip handling
And rework input_item_meta_request_option_t:
 - META_REQUEST_OPTION_SCOPE_LOCAL and META_REQUEST_OPTION_SCOPE_NETWORK
   are merged into META_REQUEST_OPTION_PARSE

A preparser API that does not preparse item is weird...
2024-10-11 17:08:24 +00:00
Pierre Lamot
b3dfa3f716 meson: allow qt tests to moc .cpp files 2024-10-11 12:38:52 +00:00
Thomas Guillem
b3fb32b0ba test: use vlc_preparser_New directly 2024-10-10 14:46:20 +00:00
Thomas Guillem
b16dd8c307 test: libvlc: use vlc_preparser API directly 2024-10-09 09:46:32 +00:00
Thomas Guillem
9b03cf9e13 player: rework timer.on_discontinuity callback
Signaling discontinuity had 2 purposes:

 - To handle seek requests, but it could not really work, hence the new
   on_seek() callback.
 - Signal when the player is paused or stopping

Therefore, replace this event with on_paused().
2024-10-01 14:38:36 +00:00
Steve Lhomme
8ff8e77c88 test: add mandatory control callback in vlc_display_operations 2024-09-21 08:13:50 +00:00
Thomas Guillem
8e50335ec7 test: decoder: fix fmt_in leaks
Regression from 08b24866dc

```
==1851678==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x55ab52726322 in malloc (/home/tom/work/git/vlc/build-fuzzer-asan/test/vlc-demux-dec-libfuzzer+0xf5322) (BuildId: e44569652285bf8bd3c1b21a8e857c36a2185e73)
    #1 0x7fac6d4ed649 in es_format_Copy /home/tom/work/git/vlc/build-fuzzer-asan/src/../../src/misc/es_format.c:350:24
    #2 0x7fac6d3c2fc9 in decoder_Init /home/tom/work/git/vlc/build-fuzzer-asan/src/../../src/input/decoder_helpers.c:49:5
    #3 0x55ab52764362 in decoder_load /home/tom/work/git/vlc/build-fuzzer-asan/test/../../test/src/input/decoder.c:103:5
    #4 0x55ab52764362 in test_decoder_create /home/tom/work/git/vlc/build-fuzzer-asan/test/../../test/src/input/decoder.c:196:9
    #5 0x55ab52762fe5 in EsOutAdd /home/tom/work/git/vlc/build-fuzzer-asan/test/../../test/src/input/demux-run.c:86:19
    #6 0x7fac59c9d0a4 in es_out_Add /home/tom/work/git/vlc/build-fuzzer-asan/modules/../../include/vlc_es_out.h:144:12
    #7 0x7fac59c9d0a4 in avformat_OpenDemux /home/tom/work/git/vlc/build-fuzzer-asan/modules/../../modules/demux/avformat/demux.c:702:29
    #8 0x7fac6d3c5d0a in demux_Probe /home/tom/work/git/vlc/build-fuzzer-asan/src/../../src/input/demux.c:112:15
    #9 0x7fac6d368128 in vlc_module_load /home/tom/work/git/vlc/build-fuzzer-asan/src/../../src/modules/modules.c:230:15
    #10 0x7fac6d3c5250 in demux_NewAdvanced /home/tom/work/git/vlc/build-fuzzer-asan/src/../../src/input/demux.c:196:20
    #11 0x7fac6d3c48b3 in demux_New /home/tom/work/git/vlc/build-fuzzer-asan/src/../../src/input/demux.c:77:12
    #12 0x55ab527620d9 in demux_process_stream /home/tom/work/git/vlc/build-fuzzer-asan/test/../../test/src/input/demux-run.c:294:22
    #13 0x55ab52761c03 in LLVMFuzzerTestOneInput /home/tom/work/git/vlc/build-fuzzer-asan/test/../../test/vlc-demux-libfuzzer.c:54:5
    #14 0x55ab52672134 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/tom/work/git/vlc/build-fuzzer-asan/test/vlc-demux-dec-libfuzzer+0x41134) (BuildId: e44569652285bf8bd3c1b21a8e857c36a2185e73)
    #15 0x55ab5265b083 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) (/home/tom/work/git/vlc/build-fuzzer-asan/test/vlc-demux-dec-libfuzzer+0x2a083) (BuildId: e44569652285bf8bd3c1b21a8e857c36a2185e73)
    #16 0x55ab52660ca6 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/tom/work/git/vlc/build-fuzzer-asan/test/vlc-demux-dec-libfuzzer+0x2fca6) (BuildId: e44569652285bf8bd3c1b21a8e857c36a2185e73)
    #17 0x55ab5268b796 in main (/home/tom/work/git/vlc/build-fuzzer-asan/test/vlc-demux-dec-libfuzzer+0x5a796) (BuildId: e44569652285bf8bd3c1b21a8e857c36a2185e73)
    #18 0x7fac6cf2ddb9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
```
2024-09-16 07:51:16 +00:00
Thomas Guillem
0285de2a9f test: decoder: refactor decoder creation 2024-09-13 09:49:49 +00:00
Thomas Guillem
5f57257eed test: decoder: use an owner for the packetizer
To access the fmt_in private member.

Regression from 08b24866dc

Fixes #28770
2024-09-13 09:49:49 +00:00
Alexandre Janniaux
9d84c7fa2b test: meson: simplify test depending on modules
Now that we can express module dependencies directly, there's no need to
remove the test if some of the modules are not present. In the future,
we'll be able to inject this module list to mark the test as skipped
instead of disabling it.
2024-09-08 15:52:43 +00:00
Thomas Guillem
65bd25b037 test: media_callback: fix read_blocking assert
After waiting that the previous media is terminated
(vlc_sem_wait(&imem->done)), nothing can predict when the next media
will be opened, therefore, the read_blocking sem could be in any states
when it was checked with an assert. Ensure that each access use their
own semaphores to fix this issue.

Fixes #28633
2024-08-02 08:06:25 +00:00
François Cartegnie
c1854cca36 test: hls: fix include 2024-07-18 05:08:48 +00:00
Thomas Guillem
f8b6c4e451 test: clock: test contexts
Check the clock API when using several clock contexts.
2024-07-13 11:29:36 +00:00
Thomas Guillem
b2a86a28f3 test: player: add test_clock_discontinuities
Check that the audio output receive all discontinuities triggered by
clock contexts switch.
2024-07-13 11:29:36 +00:00
Thomas Guillem
1f7bac2b92 test: player: report aout first pts 2024-07-13 11:29:36 +00:00
Thomas Guillem
a769f57a2c test: player: rename REPORT_LIST 2024-07-13 11:29:36 +00:00
Thomas Guillem
028c6847d7 test: player: add AUDIO_INSTANT_DRAIN flag 2024-07-13 11:29:36 +00:00
Thomas Guillem
d3ee6c48a6 test: player: forward ctx to submodules 2024-07-13 11:29:36 +00:00