| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As a result of the work I did the explicitly check for formats
supported by the vo in the f_autoconvert logic, I introduced a
regression in the handling of the rpi4_8 and rpi4_10 formats. These
require special handling because they only exist in the rpi forks and
not upstream ffmpeg, which means they don't have stable pix fmt values
that we can use directly.
Previously, we simply didn't declare them as supported, which was ok,
as nothing was really enforcing the list of supported formats, but that
has changed.
As we still can't simply use the pix fmts, I had to do a slightly
ridiculous dance to look them up by name, and if they exist, then
register them as supported.
Good times.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's conceptually broken for an hw format to be identified as a
supported sw format for an hwdec, but in the case of the drm hwdec,
we have no choice but to do so for the weird rpi formats, as these
are declared, incorrectly, as hw formats in their forked ffmpegs.
This means we can't reject such formats as a matter of principle,
as we do today. Instead let's just assume that such formats can always
be accepted as-is, and will never require conversion. In practice, this
is either true or it will fail in the VO, which is the old behaviour
from before I introduced the conversion filter capability.
|
|
|
|
|
| |
57367377505b6b2edc87004fa3192d831d515aa5 mistakenly changed the mode
from 644 to 755. Change it back.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Clear completion suggestions from functions that move the cursor, so
that you can't insert suggestions at the wrong spot by pressing Tab
again after moving the cursor,
Also clear suggestions from some editing functions that were never
updated. It is not actually necessary to clear suggestions from
functions that remove text in front of the cursor, but since
handle_del() already clears them, let's just clear them everywhere.
|
|
|
|
|
|
| |
Also inline option-info's sub-properties so we don't have to define
sub-properties at the top of the function for every one we decide to
complete.
|
|
|
|
|
|
| |
This is useful for completing files and more rarely for profiles. It
will also be useful to third-party scripts interacting with the console
once the API to do it is merged.
|
|
|
|
| |
returns the NSWindow
|
|
|
|
|
|
| |
Add .jxl as a file extension that maps to an image codec. Note that
this will include animated JXL files, but .gif is also on that list so
they are not different in that regard.
|
|
|
|
| |
The default value is 0 (on the top of the screen)
|
|
|
|
|
| |
This reverts commit af2635d8c9389504cb0b07a78f3999096d80a1ab, and
restores feature parity with VLC.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I honestly don’t care either way but I also don’t believe this innocent
and cute hat is worth repeatedly having people show up on the issue
tracker to aggressively virtue signal and then shit-talk the project
elsewhere when their “concerns” are ignored and made fun of.
For the record, I approve of neither brand of childish nonsense.
If your workflow depends on December festivities, feel free to use an
alternative OSC implementation.
Fixes #13082 and #9548
|
|
|
|
|
|
|
|
|
|
| |
When using the --playlist option on the commandline, it would mark all
entries on the command as having the playlist-path of the value of that
passed option, not just the ones that were expanded from it. Fix this by
moving the playlist_populate_playlist_path to the same place where the
playlist file gets expanded.
Ref https://github.com/mpv-player/mpv/issues/13075#issuecomment-1852179164
|
|
|
|
| |
"behavior" is written in US English form in all templates except here.
|
|
|
|
|
|
|
|
|
| |
https://0x0.st/ has a maximum retention period of 1 year, and much less
for larger files. Uploading them directly to github issue avoids this,
which most people are already doing anyway because of greater convenience.
log file: don't request 0x0.st.
sample files: recommend github first.
|
|
|
|
|
|
|
|
|
|
|
| |
Add more and unify requested information:
windows, linux, others: request GPU model to provide more info about
known hardware limitations and hardware/driver combo bugs.
windows, others: request general GPU info.
build: request meson version.
windows, linux, others: request backtrace in case of crash.
all: clarify the language of not attaching a log file.
|
|
|
|
|
|
|
|
|
| |
When updating subtitles while paused, mpv waits until a packet is
available. However in the case of a network stream, it is possible that
mpv will pause itself when buffering for cache reasons. This makes that
particular loop do a busy loop and can take a long time depending on
network streams. Simply just don't do the loop here if we are paused for
cache reasons. Fixes #13077.
|
| |
|
| |
|
|
|
|
|
|
|
| |
The dragging hack can cause unwanted aero shake activation.
Prevent this by saving the window arrangement state before dragging,
temporarily disable it while dragging hack is active, and restore to
the original state after dragging ends.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The mouse down handler checks w32->current_fs to determine whether
to begin the dragging hack. Unfortunately, the w32->current_fs value
is stale, because the input is handled asynchronously, and we cannot
wait for an up-to-date value if dragging needs to be kept resonsive.
As a result, when the fullscreen state changes after the dragging
model loop is entered, the opposite value is used, so the window stays
draggable after entering fullscreen, and becomes undraggable after
exiting fullscreen.
With the resonsiveness and model loop constraints, the up-to-date
state must be queried inside WM_MOVING messages which are sent while
dragging. The message handler now checks if the dragging hack is active
while the window is in fullscreen, and overrides the new window position
with the current one, in effect prevents the window from being moved.
The old check is also removed, so the window is now draggable after
exiting fullscreen while dragging hack is active.
|
|
|
|
|
|
|
|
|
|
|
| |
Compose key doesn't function in X11 because XFilterEvent() isn't called,
and XNInputStyle is set to a wrong value. This results in KeyPress events
for the separate keyboard inputs in the compose key input sequence
instead of the composed character, making it impossible to input certain
characters which require compose key.
Fix this by calling the required XFilterEvent() and set XNInputStyle
to the correct value.
|
|
|
|
|
| |
Since these are technically parentheses, we'll treat them the same way
as normal parenthesis. Fixes #11155.
|
|
|
|
|
|
|
|
|
|
|
| |
This filter is a bit complicated, but one of the essential parts of it
is removing text enclosed by particular set of characters (e.g. text
inbetween []). This was previously hardcoded to only take into account
parenthesis and brackets, but people may want to filter more things so
make this customizable. The option only takes "left hand characters" so
the right pair is mapped internally if applicable. If not, then we just
use the same character. Fixes #8268 since the unicode character in
question can just be passed to this option.
|
|
|
|
|
|
|
|
|
|
| |
These two functions are almost exactly the same. The parenthesis variant
is essentially just a special case with more conditions to not remove
text. These can easily be combined together into one generic
skip_enclosed function to handle both cases. We also use char * instead
of char for the character comparison here since not everything is
neccesarily 1 byte and can fit into a char. This will be useful for the
following commits where we extend this logic further.
|
|
|
|
| |
fixes: 4754bd54c7ab22c6c98283d81e22d219b3b64ade
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A simplified version of the text width estimation code from uosc.
An osd_overlay is created with compute_bounds=true for measuring the
width of the lower case alphabet at what's estimated to be the largest
font size possible without clipping.
The lower case alphabet was chosen to get decent results for proportional
fonts, even if they aren't officially supported.
|
|
|
|
| |
The navigation key is renamed to avoid conflict with MP_KEY_FORWARD.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to MS documentation, an application should return TRUE from
WM_XBUTTONUP and WM_XBUTTONDOWN if it processes these messages.
DefWindowProc generates the WM_APPCOMMAND message when it processes the
WM_XBUTTONUP message, so if an application properly handles WM_XBUTTONUP
messages, extra WM_APPCOMMAND messages won't be generated.
Because mpv doesn't properly handle these messages,
WM_XBUTTONUP causes APPCOMMAND_BROWSER_BACKWARD to be generated, resulting
in duplicated keys and improper fix 438ead7a, which prevents the processing
of the appcommand from sources other than mouse clicks.
Fix this by following the documentation, and the back and forward
appcommands can be added.
|
|
|
|
|
|
|
|
|
| |
XF86Back and XF86Forward are mostly used to navigate file and web browsers
to go back/forward in history. XF86Forward isn't recognized right now,
so add it.
Because XF86AudioForward already takes the "FORWARD" name, rename the
browse keys to GO_BACK and GO_FORWARD instead.
|
|
|
|
|
| |
This was a simpler fix to not print the console log to the OSD while
switching VO.
|
|
|
|
| |
Apparently we never did this
|
| |
|
|
|
|
|
| |
Also change the example to crf=23. crf=32 is pretty bad quality, don't
give users bad usage ideas.
|
|
|
|
|
|
|
| |
Fixes chroma location for screenshots.
Also set the crop to full frame to not trip mp_image_params_equal check
if not necessary.
|
|
|
|
| |
It is useful information, not only for debugging.
|
|
|
|
| |
--screenshot-avif-pixfmt no longer defaults to yuv420p.
|
|
|
|
| |
This reverts commit 67aa5684379d42ad1e9b8cc66a04d63394e63994.
|
|
|
|
| |
This reverts commit 9d8dfc7b49380b8c03546ed4fad2385c42438a50.
|
| |
|
|
|
|
|
| |
Add ifndefs to define only when needed and remove some already defined
ones in mingw.
|
|
|
|
|
|
|
| |
While CEA-861 defines MP2 as 0x5 and MP3 as 0x4, the GUIDs defined in
ksmedia.h are in reverse order.
See: https://github.com/MicrosoftDocs/windows-driver-docs/pull/3742
|
|
|
|
|
|
|
|
|
|
| |
On practically all platforms and GUI toolkits, a triggered double click
event clears the mouse input buffer so that the next click won't
trigger another double click event. mpv doesn't do this, so a third click
results in another double click event.
Fix this by resetting the double click timer after a double click event
is triggered which achieves the same effect.
|
|
|
|
|
|
| |
modifier keys weren't reported when using the trackpad to scroll.
Fixes #11195
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the case the window was already set to a maximized size via geometry
or related options (100%x100%) the maximize function would try to
maximize the window again. this reset the position and slightly
increased the size further.
to prevent this only maximize on init if we really want to maximize. in
the reverse case make a noop call by passing the current zoom state.
Fixes #11193
|
|
|
|
|
|
|
| |
msys added xxhash has a makedep for libplacebo* which means we need to
install it in the CI as well if we want to build against it.
*: https://github.com/msys2/MINGW-packages/commit/07f4c34d22fda0284a1857ac5006d784fe058075
|
|
|
|
|
|
|
|
|
| |
ca2b05c0fb changed the window size with --force-window and no video
tracks to be closer to 16:9, but I don't see why we shouldn't have an
actual 16:9 ratio. The advantage is that subtitles with fullscreen and
no video tracks will have the same size and position (depending on the
values of --sub-scale-with-window and --sub-use-margins) as with 16:9
videos, because there will be no (invisible) black bars.
|
|
|
|
|
|
|
|
|
|
|
|
| |
As it is now, the FreeBSD CI is failing because meson can't find the
dvb headers.
FreeBSD puts the relevant headers into /usr/local which is bothersome
and in fact required a workaround to be added to the Wayland detection
already (3bdf702b1de8b0d0e0fb700b234b0fc69e04a630) but this should be
addressed by us adding the path to CFLAGS already.
With a more minimal example the detection works fine in my FreeBSD VM.
I'm at my wits end debugging this so just disable it for now.
|
|
|
|
|
|
|
| |
This was disabled by default in 99cef59fc9a (from 2017)
due to build issues with old kernel headers.
Whatever was considered old at that time will be ancient now
and with the last commit there should be no isses auto-detecting it.
|
| |
|
|
|
|
|
| |
It only ever had any real affect on windows so with the previous build
change, enabling it cannot work.
|
|
|
|
|
|
|
| |
See 1b035402a688a5d116a9014e8930d7863481eeed. This is only relevant if
you are using d3d11 on --vo=gpu which is windows-only. For all other
platforms, vulkan uses libplacebo which uses shaderc. mpv itself doesn't
need it in those cases.
|
|
|
|
|
|
|
|
| |
281b1d89994e3e3a9950d32fc451dff990c2320d introduced a stack use after
scope because dest_fbo can be reassigned a new pointer and then be used
by pass_draw_to_screen outside of that scope where the pointer is no
longer valid. Fix this by rearranging the variables so the assignment is
done in the same scope as the pass_draw_to_screen call instead.
|
|
|
|
|
|
| |
- don't use 4KiB stack array
- keep one bstr allocation for lifetime of the log
- avoid dummy strlen
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
- read directly to bstr
- use talloc for OOM checks
- don't parent temporary allocation
- don't check for NULL buffer after already writting to it
|
|
|
|
| |
No longer needed after 079f67268f6f5a2ecfd12277b246b1937493c092.
|
|
|
|
| |
It makes no sense to force function call for simple check.
|
| |
|
| |
|
| |
|
|
|
|
| |
Make it easier on compiler, no need to alloca and copy things around.
|
|
|
|
|
|
|
| |
It's not actually related to libplacebo wrap stuff and the swift compile
command needs this to get the right libplacebo include path.
This reverts commit b9d392ecd9543aecdfd6e6a06aa2f9585950ac27.
|
|
|
|
|
|
|
| |
This is not needed since we removed the libplacebo wrap not too long
after this commit.
This reverts commit 4de76ce87a545cd86ef493129b4cfeafe10e8e98.
|
|
|
|
|