Commit Graph

96181 Commits

Author SHA1 Message Date
Steve Lhomme f3da50cde9 windows: use inline functions to redirect POSIX file API
Depend on _CRT_INTERNAL_NONSTDC_NAMES to detect if the aliases are
missing or not.
2023-03-03 13:57:15 +00:00
Fatih Uzunoglu 11538a1e0f qml: add horizontal ScrollBar to localMenuView 2023-03-02 17:36:48 +00:00
Fatih Uzunoglu 1302c05fad qml: add D&D functionality to the Playqueue button 2023-03-02 17:11:01 +00:00
Fatih Uzunoglu ecbea8c907 qml: don't reuse the end position for DragItem on the subsequent drag 2023-03-02 17:11:01 +00:00
Steve Lhomme 4ff98ff54e win32: don't use SetThreadErrorMode in XBOX builds
LoadLibraryExW is available, but not SetThreadErrorMode.
DLL dependencies/errors need to be managed by the host app.

This is a sandboxed environment where the library dependencies
need to be managed manually per platform.
2023-03-02 12:30:32 +00:00
Steve Lhomme de4b18ebf4 media_player: add missing "equalizer-preset"
The core loads it as an inherited value, like "equalizer-bands" but it's not
defined anywhere.
2023-03-02 11:41:16 +00:00
Pierre Lamot 705f53e985 qml: fix race condition while initializing FlickableScrollHandler
fix: #27890
2023-03-02 10:35:56 +00:00
Thomas Guillem 71c6ce8d05 interop_android: fix Wunused-variable 2023-03-02 09:59:13 +00:00
Thomas Guillem b1e64df7c0 interop_android: fix Wincompatible-function-pointer-types 2023-03-02 09:59:13 +00:00
Steve Lhomme e3f623c019 vlc_fixups: turn MSVC CPU defines into GCC CPU defines
For x64, x86, arm and arm64.

See https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros
2023-03-02 09:36:51 +00:00
Steve Lhomme f0a5c5c350 cpu: support cpuid with MSVC 2023-03-02 09:36:51 +00:00
Steve Lhomme 772080a5d8 cpu: explicitely initialize the atomic_uint with a negative value
This is the same value used to compare from fd7857126a
2023-03-02 09:15:59 +00:00
Steve Lhomme 1fbc426bae logger/json: remove unused strings 2023-03-02 09:15:59 +00:00
Steve Lhomme 8e66aa6b62 include: don't include vlc_actions.h from vlc_vout_display.h
Nothing from that header is needed in vlc_vout_display.h.
2023-03-02 09:15:59 +00:00
Steve Lhomme 2ff4c82bb8 meson: remove unused HAVE_STATIC_ASSERT
We assume C11 compilers have support for static_assert() and _Static_assert
since 6be0e8af6b.
2023-03-02 07:06:47 +00:00
Tristan Matthews 6bdb0bc002 codec: vpx: use same chroma lookup logic as dav1d
This was done in dav1d in commit f28a4b2b34.

No functional change.
2023-03-01 15:25:13 +00:00
Tristan Matthews cf69a7c6f8 codec: aom: use same chroma lookup logic as dav1d
This was done in dav1d in commit f28a4b2b34.

No functional change.
2023-03-01 15:25:13 +00:00
Pierre Lamot 47105d950e qml: make the playlist button checked when the playlist is visible 2023-02-28 15:38:29 +00:00
Pierre Lamot cb95bc643f qt: remove old palette system 2023-02-28 15:38:29 +00:00
Pierre Lamot 50e660d845 qml: move setColorAlpha and blendColors to VLCStyle
VLCColors will be gone
We can't put them in Helpers.js as pure js files can't access QML singletons
2023-02-28 15:38:29 +00:00
Pierre Lamot eb0932bea2 qml: remove default color form Label 2023-02-28 15:38:29 +00:00
Pierre Lamot 140d9193f1 qml: remove unnecessary ControlCheckButton specialisation 2023-02-28 15:38:29 +00:00
Pierre Lamot 58248c4ec1 qml: use ColorContext to define colors in the application 2023-02-28 15:38:29 +00:00
Pierre Lamot 2408b38aec qt: provide Qt system theme for ColorContext 2023-02-28 15:38:29 +00:00
Pierre Lamot 874a80a850 qt: provide Gtk theme for ColorContext 2023-02-28 15:38:29 +00:00
Pierre Lamot 90071f504a qt: provide default light/dark palette for ColorContext 2023-02-28 15:38:29 +00:00
Pierre Lamot b451e973e2 qml: introduce ColorContext
System themes are temporary disabled

Theses Contexts defines what palette they use (the standard one of the dark one
in the player), what color set they should use (is it a button, a slider,
etc..), and the state of the widget (hovered, focused, pressed, disabled). The
context defines some color properties that may be usable in the current widgets
(different colors for foregrounds, backgrounds, and decorations)


* For each color, we build a key representing the color, the key is build from
  the color set (button, window, view, tabbutton, etc..), the section
  (background/foreground), the name (primary/secondary/...) and the state
  (normal, hovered, focused, pressed, disabled).

* all colors are stored in a map associating the color key to its value

* When a color is required for a particular context, we look in the table for
  the key. There is a fallback mechanism, if the key doesn't exists for a given
  state, we try to rebuild the key for the `Normal` state. then if the key
  doesn't exist for this component we rebuild the key for the `View` component
  (first with the actual state then with the `Normal` State). if every thing
  fails we return a crappy color (magenta) to visually indicate that something
  needs to be fixed.

* On the QML Side, we instantiate a ColorContext object for each component we
  want to theme, and we extract colors from it. there are 3 main sets of colors:

  * `fg` for foreground colors, the sub colors are `primary` (the main color),
    `secondary` (for component that requires a second color), `hightlight` (for
    selection), `link` (for links), positive/neutral/

  * `bg` expose the same set of color but for background

  * decoration colors. theses are directly accessible in the `ColorContext`
    object. `border`, `separator`, `accent`, `shadow` and `visualFocus`

  ColorContext have a palette property that defines which palette should be use
  (dark palette for the player or default palette), a `colorset` to define what
  is the current color set (Button/View/Item/Slider/etc...) and some state
  (enabled, focused, hovered, pressed)

  When a color change due to either a state change or a palette change, the
  color property change is signaled and the color will be changed through
  property bindings
2023-02-28 15:38:29 +00:00
Pierre Lamot 1cb094cad5 qt: change the way system palettes use VLC dark/light variants 2023-02-28 15:38:29 +00:00
Pierre Lamot 27707e3e2f qml: allow to inhibit animation in AnimatedBackground
this allows to avoid transitioning to undefined colors
2023-02-28 15:38:29 +00:00
Pierre Lamot 218e0bb559 qml: rename VLCStyle.theme in VLCStyle.palette 2023-02-28 15:38:29 +00:00
Steve Lhomme 847fa924a0 win32: use the proper signature for lpfnWndProc callbacks
No need to cast for that.
2023-02-28 15:10:02 +00:00
Steve Lhomme 37f7d8b35e vlc_codecs: assert that our WAVE_FORMAT values match the SDK ones 2023-02-28 13:51:20 +00:00
Johannes Kauffmann cc3a2e818a contrib: use videolan git URL variable
This switches the FFmpeg URL from http to https, and switches the
x262 URL from git to https. No changes for nvcodec.
2023-02-28 12:00:39 +00:00
Johannes Kauffmann 3eedba28a9 contrib: add videolan git URL variable 2023-02-28 12:00:39 +00:00
Johannes Kauffmann 1cf1654612 contrib: breakpad: use videolan contrib URL 2023-02-28 12:00:39 +00:00
Steve Lhomme 105babe317 windows: use the native read/write/etc calls
When compiling with the GDK the POSIX variants are defined but not available
for linking. We can just the Windows variants that are always available.

Do the proper redirection in our custom unistd.h used with the Platform SDK.
2023-02-28 10:10:27 +00:00
Steve Lhomme cedea4d018 configure: don't the check presence of stricmp
_stricmp a Windows thing that is present in all the CRT, even in UCRT.
The stricmp() deprecated variant doesn't seem to exist elsewhere.

In some configuration it's not possible to link with stricmp() even though
_stricmp() is available.
2023-02-28 10:10:27 +00:00
Steve Lhomme 6946b06a17 vlc_fixups: do warn about "deprecated" ANSI calls on Windows GDK
These functions are not available when linking, so we should avoid using them.
Also mingw-w64 understands _CRT_NONSTDC_NO_DEPRECATE but not
_CRT_NONSTDC_NO_WARNINGS.
2023-02-28 10:10:27 +00:00
Pierre Lamot f8cd81e4f5 meson: fix dcomp.h detection
dcomp.h is not a valid C header
2023-02-28 09:39:43 +00:00
Steve Lhomme 589006857e http: remove uneeded cast
psz_meta is already a char*
2023-02-28 09:06:57 +00:00
Steve Lhomme caca6ffbc3 input: don't compile local ControlInsertDemuxFilter without sout support
Just as the function above, it's never called in that case.
2023-02-28 09:06:57 +00:00
Steve Lhomme f16b63f75f es_out_timeshift: avoid forward declaration of GetTmpFile 2023-02-28 09:06:57 +00:00
Steve Lhomme 7e43a19a52 es_out_timeshift: avoid static const forward declarations
No functional changes.
2023-02-28 09:06:57 +00:00
Steve Lhomme 5c96e6c593 es_out: avoid static const forward declarations
No functional changes.
2023-02-28 09:06:57 +00:00
Steve Lhomme eb8ddf30d5 adaptive/mp4: don't force all included headers to be C files
Only functions exported from libmp4.h need to be in C.
2023-02-28 08:52:01 +00:00
Steve Lhomme c254ee46ea packetizers: allow inclusion HXXX NAL helpers from C++ code 2023-02-28 07:35:45 +00:00
Claudio Cambra 4f02040ace macosx: Don't hide controls if video is paused
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-02-27 15:05:32 +00:00
Claudio Cambra 34b7ffe120 macosx: Fix flickering of titlebar on VLCFullVideoViewWindow
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-02-27 15:05:32 +00:00
Claudio Cambra 8dc1e02b0f macosx: Expose if mouse is hovering controls as a property on VLCMainVideoViewController
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-02-27 15:05:32 +00:00
Claudio Cambra 12f34b7ecd macosx: Don't hide video controls if mouse is hovering on them
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-02-27 15:05:32 +00:00