This separates the region type from its container.
The drawback is that it makes the structure bigger. But we get plenty
of helpers. There might be other containers suitable but we use a mix of
append and prepend.
The test draws a 2x2 subpicture region on top of a 4x4 framebuffer. Each
pixel is different on the subpicture, which allows to check the
orientation and position of the subpicture according to the surface
orientation.
libplacebo is linked into the tests for now, since it seems the tests
need it transitively, but it should not be needed in the long run. See
the link error below:
/usr/bin/ld: ../modules/video_output/opengl/test_modules_video_output_opengl_sub_renderer-sub_renderer.o:(.data.rel.ro+0x8): undefined reference to `pl_filter_spline16'
/usr/bin/ld: ../modules/video_output/opengl/test_modules_video_output_opengl_sub_renderer-sub_renderer.o:(.data.rel.ro+0x10): undefined reference to `pl_filter_spline36'
/usr/bin/ld: ../modules/video_output/opengl/test_modules_video_output_opengl_sub_renderer-sub_renderer.o:(.data.rel.ro+0x18): undefined reference to `pl_filter_spline64'
/usr/bin/ld: ../modules/video_output/opengl/test_modules_video_output_opengl_sub_renderer-sub_renderer.o:(.data.rel.ro+0x20): undefined reference to `pl_filter_mitchell'
/usr/bin/ld: ../modules/video_output/opengl/test_modules_video_output_opengl_sub_renderer-sub_renderer.o:(.data.rel.ro+0x28): undefined reference to `pl_filter_bicubic'
...
Darwin platforms are not using XDG_DATA_DIR. With the override done in
src/config/dirs.c, every platform (now and then) will use the content of
VLC_USERDATA_PATH instead to create files.
It also changes the way the Lua extension dir is set to be simpler to
configure in buildsystem (TOP_SRCDIR is already forwarded) and resilient
to working directory change.
Refs #28343
Darwin platforms are not using XDG_DATA_DIR. With the override done in
src/config/dirs.c, every platform (now and then) will use the content of
VLC_USERDATA_PATH instead to create files.
Refs #28343
This fixes a warning since the code is not compiled in C2x yet.
../test/modules/video_output/opengl/filters.c:50:42: warning: '_Static_assert' with no message is a C2x extension [-Wc2x-extensions]
VLC_TEST_OPENGL_API == VLC_OPENGL_ES2);
^
, ""
The video_format_t structure was not initialized to zero and
video_format_Setup was not setting everything fields as expected,
leading to .lighting and .mastering being non-zero. After the bad
commit, those values were used and changing the values from the test
where zero was expected to non-zero.
First bad commit was 85a04a2ef8.
The new ES string ID was added initially in the core for playback
scenario allowing the user to have a readable and guaranteed unique
representation of each ES.
Introducing it in stream output will allow users to specify ESes to
stream out filters with more precision than with legacy ES ID.
ES ID has the disadvantage to only be unique per demux, hence, a
multiple demux scenario often provided multiple ES with the same ID.
Strings ID are guaranteed to be unique, regardless of the number of
demuxes the input manages.
This patch only prepare the `Add` wrapper to properly split the addition
of the unique and **non-null** string to the `pf_add` callback. This is
done in that order mainly not to break bisect in the next patches that
implement the ID forwarding logic for stream out filters.
Fix the following leak:
Direct leak of 440 byte(s) in 1 object(s) allocated from:
#0 0x7f16238e1369 in __interceptor_malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
#1 0x7f162362bb1b in picture_NewFromFormat ../../src/misc/picture.c:271
#2 0x55a72c5485c7 in test_opengl_offscreen ../../test/modules/video_output/opengl/filters.c:158
#3 0x55a72c547005 in main ../../test/modules/video_output/opengl/filters.c:294
#4 0x7f162314c84f (/usr/lib/libc.so.6+0x2384f) (BuildId: 2f005a79cd1a8e385972f5a102f16adba414d75e)
Test the different missing orientation:
- ORIENT_TRANSPOSED is ORIENT_ROTATED_270 + HFLIP
- ORIENT_ANTITRANSPOSED is ORIENT_ROTATED_90 + HFLIP
- ORIENT_HFLIP is ORIENT_NORMAL + HFLIP
- ORIENT_VFLIP is ORIENT_ROTATED_180 + HFLIP
This test is able to use any offscreen opengl implementation available
to run the opengl filters engine on both GL Core and GL ES, and will
skip the test for one of those targets if no implementations are
available.
It currently mainly smoke-test the filters engine, while checking that
orientation handling is correct, and uses glReadPixels to check the
resulting rendered picture in a multi-platform way.
We should not use names stating with underscore for our internal code.
This is almost the same name used in the makefile for more coherence.
HAVE_DYNAMIC_PLUGINS already exists in the core. We keep a different
name to separate the 2 usages. For now they mean exactly the same thing.
The vlc_player instance will become mandatory in following commits since
it will be used to bind the input / meta events for the different
extensions requiring it. Since it's not used yet, we can provide it in
the test right now, and really make use of it later.
Check that the activate and deactivate functions are correctly called
from the extension. Note that in this test, the code will wait for the
CMD_DEACTIVATE command to be executed before continuing towards
releasing the extensions_manager and all its extensions. It means that
it doesn't check the path where the extensions_manager is released
**before** the CMD_DEACTIVATE command is executed, which is more likely
to happen in the current UI scenario than the first.
The test included in this commit checks that lua will correctly probe
extension scripts, but without ensuring that it correctly follows the
data home. It only check that lua creates the correct access to load
the files.
In particular, the test fails to pass if the condition for loading .vle
files is not correct.
This assertion was too severe and deserve actual runtime handling.
The `pcr_helper` should just fail in case of inconsistent
input/output. This can happen in various case such as bogus encoder or
simply internal error in the `pcr_helper` code.
This patch is making sure the `pcr_helper` user can disable it in case
of failure.
Refs #27730
The test creates a libvlc instance with a medialibrary and check that
the medialibrary can generate a mock thumbnail for a given mock:// URL
with different parameters.
Multiple improvements can be done from here: in particular, the
medialibrary will insist in loading its discovery modules, whereas we
only need to check whether the thumbnailing work in this current test.
Some work needs to be done to evaluate whether it's interesting enough
to cut those discovery modules out for this test or extend the scenario
to other cases like testing those discovery modules.
Regression testing from #27749