- Feb 06, 2020
-
-
Romain Vimont authored
Initialize the main renderer, then the sub renderer. Because.
-
Romain Vimont authored
Extract the main rendering into a separate component.
-
Romain Vimont authored
Some renderer clean up was done after the call to DeleteRenderer(). Move it to DeleteRenderer to simplify further refactorings.
-
Romain Vimont authored
Some renderer initialization was done after the call to CreateRenderer(). Move it to CreateRenderer to simplify further refactorings.
-
Romain Vimont authored
Replace opengl_init_program() and opengl_deinit_program() by CreateRenderer() and DeleteRenderer(), independant of vout_display_opengl_t.
-
Romain Vimont authored
Use struct vlc_gl_renderer directly instead of vout_display_opengl_t when possible. This paves the way to extract the renderer into a separate component.
-
Romain Vimont authored
The field is an array of textures.
-
Romain Vimont authored
Move fields related to the renderer from vout_display_opengl_t to vlc_gl_renderer. This paves the way to move rendering to a separate renderer component.
-
Romain Vimont authored
The struct prgm contains some locations of the program, the struct vlc_gl_renderer contains some others. There are no reason to keep two separate structures.
-
Romain Vimont authored
Rename renderer callbacks from tc_ to renderer_. There is no tex converter (tc) anymore.
-
Romain Vimont authored
The opengl_tex_converter_t is not a converter anymore: it is only used to communicate between the renderer (currently managed in vout_helper.c) and the fragment shader generation code (fragment_shaders.c).
-
Romain Vimont authored
The field was used only from vout_display_opengl_New().
-
Romain Vimont authored
The vout_helper now only manages the rendering of the "main" pictures, so it never renders subpictures anymore (this has been moved to vlc_gl_sub_renderer).
-
Romain Vimont authored
The new subpictures renderer did not apply the alpha value.
-
Romain Vimont authored
Extract the subpictures rendering into a separate component, using its own simplified vertex and fragment shaders. This simplifies vout_helper.c.
-
Romain Vimont authored
The functions GenerateTextures() and DeleteTextures() apply to interop, move them to the relevant file.
-
Romain Vimont authored
These util functions will be called from other files.
-
Romain Vimont authored
Expose a function to align a value to the next power of 2. It will be called from other files.
-
Romain Vimont authored
Move subpictures rendering to separate functions.
-
Romain Vimont authored
The macro will be used from several files.
-
Romain Vimont authored
Expose functions to create and delete a vlc_gl_interop. This avoids the callers to handle internal details about interop creation and destruction.
-
Romain Vimont authored
Extract interop creation into a separate function. This will allow to create an interop without an opengl_tex_converter_t.
-
Romain Vimont authored
Do not pass extensions to opengl_init_program(). This was an optimization not to retrieve the extensions list twice. However, since the initialization will be moved into a separate component (the renderer), we don't want to expose this internal detail.
-
Romain Vimont authored
-
Romain Vimont authored
Use a callback to close an interop instead of relying on closing the module. This allows to properly close interop_sw, which is not a module.
-
Romain Vimont authored
Since vlc_gl_interop has been introduced, the fragment shader is built by vout_helper instead of the converter module. Therefore, there is no need to keep it exposed in the opengl_tex_converter_t instance.
-
Romain Vimont authored
-
Romain Vimont authored
In the initial patchset, vlc_gl_interop was named vlc_gl_importer. It had been incorrectly replaced.
-
Romain Vimont authored
The transform matrix provided by Android was applied only on the first plane.
-
Thomas Guillem authored
cf. 28f8c56d
-
- Feb 05, 2020
-
-
Rémi Denis-Courmont authored
Fixes: modules/codec/webvtt/webvtt.c:155:33: warning: implicit conversion from ‘enum <anonymous>’ to ‘enum webvtt_header_line_e’
-
- Feb 04, 2020
-
-
Rémi Denis-Courmont authored
A lock is overkill to swap a variable: use an atomic variable. Also fix a corner case double free (and racy memory read) at exit, by freeing the outstanding title only after the thread exits.
-
Rémi Denis-Courmont authored
Use ToWide() which converts from UTF-8 provide by the core to UTF-16 expected by the Win32 GUI. mbstowcs() converts from the local 8-bit character set, which is typically not UTF-8 on Windows. While at it, avoid one string copy.
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
It was written (and signaled) without proper locking, and it duplicated the thread-join anyway since it was the very last observable action.
-
Rémi Denis-Courmont authored
This is the 21st century. The C run-time threading subsystem knows better than you how to optimise condition variables.
-
Rémi Denis-Courmont authored
This is the 21st century. The C run-time threading subsystem knows better than you how to optimise condition variables.
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
Use C++20 draft-like names instead of custom neither-Linux-nor-Windows ones. Note though that C++ has no timed variant for its atomic wait method.
-
Rémi Denis-Courmont authored
As things stood, it works on Android (where the code is actually used) but not on desktop. There is a latent bug where cancellation is not acted up, leading to dead locks.
-