Switching to a designated initializer structure means that optional
callbacks don't need to be specified during initialization. This
simplify a lot adding and removing callbacks to the virtual tables since
we don't need to modify every files using the table at the same time as
changing the table itself.
It was only used by the display modules rendering (scaled) regions.
That was always set to the video placement dimensions in the display, which they already know about.
Move the media_provider.get_next callback to
vlc_player_cbs.request_next_media.
This callback does not need a special handling since it doesn't
wait for a result anymore.
It's using a compat version on Windows/Android/OS2 which is not available
to external modules.
This new header can't be used directly from external modules on Windows.
This makes vlc_threads.h usable from external modules on Windows.
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.