- May 12, 2021
-
-
Lyndon Brown authored
-
Lyndon Brown authored
-
Lyndon Brown authored
-
Lyndon Brown authored
these will be used by: - plugin descriptors specifying module capability. - plugin/core option sets specifying capability for module list type options. - core and plugins when using functions like `module_need()`. intended to help avoid mistakes. these have been placed into a new header, since vlc_plugin.h is already rather messy, and we do not want to force parts of the core to import all of that just to get these defines. thus, these will be available to plugin descriptors through vlc_plugins.h, and to everything else via vlc_modules.h.
-
Historically, only local slaves or one added via the "input-slave" are automatically selected. This commit adds autoselection for slaves found by a network directory demuxer. To avoid false positives, only perfectly matched slaves are auto-selected. There is still a difference between local and network slaves: - Any matched local slaves will be auto-selected - Only perfectly matched network slaves will be auto-selected Fixes #25673
-
We can add more than one forced slave, the es_out will only select the first one (or all, depending on the es out mode option).
-
-
-
vlc_player_AddAssociatedMedia() was only accepting audio and spu.
-
Indeed, video slaves are also valid.
-
Since it's not used anymore.
-
No need to store the forced state per category as the es_out won't select track over the previous one.
-
far too long and no doubt problematic for prefs interfaces. move the text to longtext (tooltip) and add a shorter shorttext.
-
-
longtext should add something of value, otherwise results in useless tooltips and a waste of translator time. in the ball case, feedback was that the longtext was better than the existing shorttext.
-
where identical to shorttext, or near enough. bad because: - wastes resources. - useless tooltips in prefs GUI (poor UX) - tooltip longtext should add something of value. - useless repetition of text in certain help output. in some cases they differed only in full-stop, creating unnecessary extra burden on translators.
-
was mistakenly using shorttext instead of the defined longtext.
-
- May 11, 2021
-
-
Chunks in chunked transfer-encoding are supposed to be ended with \r\n. Without that, servers can be confused on how to parse the next chunk size, and are typically returning a 400 Bad Request. This can be seen in the Mozilla developer documentation[1], or more exhaustively in the document RFC[2] section 4.1. This is in particular needed to signal that no other headers are exposed in the chunk. [1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding#chunked_encoding [2]: https://datatracker.ietf.org/doc/html/rfc7230#section-4.1
-
-
- May 10, 2021
-
-
-
... as done in logo.
-
with the x/y defaults being zero, for video filtering, any specified relative position would always be overwritten with absolute positioning by a condition check. this fixes the problem by using `-1` for defaults, as with the logo plugin.
-
(non-functional change) flip of logic from a negative align-[top|left] check to a positive one, duplicating order things are done in `SpuRegionPlace()`, for better readability. also, compacted the condition block in the logo case by dropping unnecessary braces.
-
the condition check with the comment "Ignore aligment if a position is given for video filter" is meant to force absolute mode if positive x/y values are given (in video filtering mode), causing a separate condition block to skip calculations for x/y. (it seems x/y offsets from relative positions are not supported in video filtering mode). problematically though, the condition check set the position value to `0` instead of `-1`, and the x/y calculation block condition checked for a non-zero value, which meant that: - center,center relative positioning was not possible (pos=0). - if position was set to `-1` (as per default) to signal absolute, and x/y were not both positive, the x/y calculation block would set about trying to calculate x/y based upon incorrectly reading alignment flags from the `-1` position value, thus calculating a bogus position. this commit fixes these issues by correctly signalling and checking for absolute mode.
-
in audiobargraph it's never even initialised. it is unnecessary since `i_pos` being `-1` suffices to signal absolute positioning mode within the module, and the copy into `p_spu->b_absolute` gets overwritten a few lines further down.
-
i believe that this is an entirely non-functional change upon the belief that this property is not used in absolute mode (and thus is actually rather pointlessly being set). i'm just changing it out of pedantic correctness. the top-right setting did not match the positioning done by absolute mode (see `SpuRegionPlace()` in vout_subpictures.c), and was inconsistent with what was set in marq and rss plugins. this originates for logo with 5a33cfd2 whereby the author decided for no apparent reason to change the property to reflect the previous position default of 6 (top-right). this seems to have then been inherited through copy & paste i guess into the creation of audiobargraph_v in 0e3ec227.
-
for consistency with options of the other spu plugins. the meaning of the range of values appears to be identical, the only difference was the option name.
-
note that in the logo case, an extra note is added to the end of the pos x/y longtext, requiring an override. position texts tweaked to make generic.
-
... bringing better consistency and reducing translator burden. some simplified by removing unnecessary plugin name. fixed typo of "eg" instead of "e.g.", and inconsistent use of ',' vs. ';' in same text.
-
- offsets can be used for both absolute and relative positioning (except offsetting from center). - the `i_pos` attribute holds indication of absolute mode, not just relative, which was incorrectly stated in marq and rss. (note that logo and bargraph have an `i_absolute` attribute, but this is actually unneeded and can be removed later). labels are synchronised across plugins to reduce translator burden and improve consistency.
-
the default value (`-1`) did not correspond to any choice list entry, thus causing buggy behaviour wrt. saving preferences. (which is very noticeable in a new preferences interface i have built). this adds the `-1` choice list entry for 'absolute' to fix that. --- i questioned whether adding such an entry was correct in terms of it possibly being redundant alongside top-left + offsets. i noted that there is a specific code path for absolute mode involving marking the spu as positioned absolutely. i am not certain whether or not this is actually redundant for these plugins, and thus did not implement the alternative solution of ripping out those absolute mode bits and changing the default to `5` (top-left). my understanding, from spending time researching git history and the current codebase (without a great understanding of the spu code yet though) is that the absolute property comes into play when there are multiple spus, being to do with prevention of overlaps. absolute mode forces position, whilst non-absolute allows moving spus to fix overlap.
-
Hugo Beauzée-Luyssen authored
-
- May 09, 2021
-
-
Tidy up the struct and comments, and also remove redundant forward declarations.
-
I can't think of a use case for this ever being refcounted. It made more sense back when it held the actual instance, but the platform/surface is only ever going to be used by whatever also owns the vout_window_t.
-
With the removal of the actual vulkan instance from this abstraction in 883a865a, calling this "instance" is confusing and misleading. It should be called "platform", because the only thing the abstraction is designed to contain is platform-specific state and operations. Rename it, and the associated type, for clarity. This frees up the name `vlc_vk_t` to be used for an actual Vulkan instance, if we ever decide we need one in the future. (e.g. for GPU filters)
-
This affects OpenGL.
-
Supports both GL and GLES2, configurably.
-
Needed for OpenGL API support, at least on versions of libplacebo prior to v3.128. It's worth pointing out that this logic is therefore only temporary - once the libplacebo version is bumped past v3.128, this can be removed again. This commit only adds the API, with the OpenGL implementation coming in a following commit.
-
-
The old settings names were not properly namespaced. Since this is technically a new vout, use the opportunity to break existing configurations in order to namespace all of the settings.
-