| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Using vulkan with --hwdec crashed because of this.
|
| |
|
| |
|
|
|
|
|
|
|
| |
To match the new Lua helper introduced in
1afdeee1ad8bca1c703e741002fa3b882d162968
Add documentation for both.
|
| |
|
|
|
|
| |
This now logs -v -v by default, instead of -v.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've decided that MP_TRACE means “noisy spam per frame”, whereas
MP_DBG just means “more verbose debugging messages than MSGL_V”.
Basically, MSGL_DBG shouldn't create spam per frame like it currently
does, and MSGL_V should make sense to the end-user and provide mostly
additional informational output.
MP_DBG is basically what I want to make the new default for --log-file,
so the cut-off point for MP_DBG is if we probably want to know if for
debugging purposes but the user most likely doesn't care about on the
terminal.
Also, the debug callbacks for libass and ffmpeg got bumped in their
verbosity levels slightly, because being external components they're a
bit less relevant to mpv debugging, and a bit too over-eager in what
they consider to be relevant information.
I exclusively used the "try it on my machine and remove messages from
MSGL_* until it does what I want it to" approach of refactoring, so
YMMV.
|
| |
|
|
|
|
|
| |
Add missing sections, make order consistent, create a new section for external
links and rename "Manual" link.
|
| |
|
|
|
|
|
|
| |
The same idea as in 3723e61 but for OPT_SIZE_BOX now.
Affects options `autofit`, `autofit-larger` and `autofit-smaller`.
|
|
|
|
|
| |
This can happen when ctr->client_api->shutting_down is set to true,
or when there are over 1000 clients with the same name passed to mp_new_client().
|
|
|
|
|
|
| |
Annoying exception that makes no sense to keep. Normally, users or
client applications will either use --hwdec=auto, or not set the option
at all, which both leads to the expected result.
|
|
|
|
|
| |
This removes the need to keep an explicit list and to attempt to parse
codec names. Needs latest FFmpeg git.
|
| |
|
| |
|
|
|
|
|
|
| |
By default the CreateProcess changes the mouse cursor to
IDC_APPSTARTING. The new flag added to STARTUPINFOEXW prevents
changing the cursor from default arrow on creating a new process.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces mp.utils.file_info() for querying information
on file paths, implemented for both Lua and Javascript.
The function takes a file path as an argument and returns a Lua table /
JS object upon success. The table/object will contain the values:
mode, size, atime, mtime, ctime and the convenience booleans is_file, is_dir.
On error, the Lua side will return `nil, error` and the Javascript side
will return `undefined` (and mark the last error).
This feature utilizes the already existing cross-platform `mp_stat()`
function.
|
|
|
|
|
|
|
| |
The OpenType Font File specification recommends that "Collection fonts
that use CFF or CFF2 outlines should have an .OTC extension." mpv
should accept .otc as a fallback extension for font detection should
the mimetype detection fail.
|
|
|
|
|
|
|
|
|
|
| |
IETF RFC8081 added the "font" top-level media type,
including font/ttf, font/otf, font/sfnt, and also
font/collection. These font formats are all supported
by mpv/libass but they are not accepted as valid
Matroska mime types. mpv can load them via file extension
and they work as expected, so files using the new types
should not trigger a warning from mpv.
|
|
|
|
|
| |
It has been deprecated for a while and is 100% useless. It was forgotten
in the recent filter purge. Get rid of it.
|
|
|
|
| |
The same idea as in 3723e61 but for OPT_GEOMETRY now.
|
|
|
|
|
| |
The same idea as in 3723e61 but for OPT_COLOR now.
Added missing closing bracket in the help message.
|
|
|
|
| |
The same idea as in 3723e61 but for OPT_FLAG now.
|
|
|
|
|
| |
mpv doesn't use WM_USER for wakeup events since 91079c0
Updated the comment.
|
|
|
|
|
|
|
|
|
|
| |
Full range YUV causes problems everywhere. For example it's usually the
wrong choice when using encoding mode, and libswscale sometimes messes
up when converting to full range too. (In this partricular case, we
found that converting rgba->yuv420p16 full range actually seems to
output limited range.)
This actually restores a similar heueristic from the late vf_scale.c.
|
|
|
|
|
|
|
|
|
|
| |
When autoprobing the hwdec interops (which now happens to all compiled
interops if hardware decoding is used), failure to load an interop
should not print an error in the normal case. So hide it.
(We could make the log level conditional on whether autoprobing is used,
but directly loading it without autoprobing is obscure, and most other
interops don't do this either.)
|
|
|
|
| |
Add the "all" value to the --gpu-hwdec-interop help output.
|
|
|
|
|
| |
Make gl_video_load_hwdecs() call gl_video_load_hwdecs_all() when
all HW decoders should be loaded.
|
|
|
|
| |
Don't reset --gpu-hwdec-interop if vo_gpu uses dumb mode.
|
|
|
|
|
|
|
|
| |
For METHOD_INTERNAL hwdecs (non-copy cases), make sure the VO interops
are always loaded, because those decoders will output hardware pixel
formats, which will need special support in vo_gpu. Otherwise,
initialization will fail, complaining that it can't convert the output
format to something the VO supports.
|
| |
|
| |
|
|
|
|
| |
Allows to get the hwdec picked up properly by mpv on rockchip devices
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems like there's nothing stopping from sub-demuxers from keeping
packets in the cache, even if it's completely pointless. The top-most
demuxer (demux_timeline) already takes care of caching, so sub-demuxers
only waste space and time with this.
Add a function that can disable the packet cache even at runtime and
after packets are read. (It's not clear whether it really can happen
that packets are read before demux_timeline gets the sub-demuxers, but
there's no reason to make it too fragile.) Call it on all sub-demuxers.
For this to work, it seems we have to move the code for setting the
seekable_cache flag to before demux_timeline is potentially initialized,
because otherwise the cache would be reenabled if the demuxer triggering
timeline support is a timeline segment itself (e.g. ordered chapters).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes missing audio when cycling through audio tracks with anything
that uses nested demuxers, such as demux_timeline, which us used for
EDL, --merge-files, ordered chapters, and youtube-dl pseudo DASH
support. When this bug happened, reenabling an audio track would lead to
silence for the duration of the readahead amount.
The underlying reason is the incorrectly updated buffered range on track
switch. It accidentally included the amount covered by the deselected
stream. But the cause of the observed effect was that demux_timeline
issued a refresh seek to the underlying slave demuxer, which in turn
thought it could do a cache seek, because the seek range still included
everything.
update_stream_selection_state() calls update_seek_ranges() to update the
seek ranges after a track switch. When reenabling the track, ds->eager
was set to false during update_seek_ranges(), which made it think the
stream was sparse, and thus it didn't restrict the current seek range
(making later code think everything was buffered). Fix this by moving
some code, so we first update the ds->eager flag, then the seek ranges.
Also verbose log the low level stream selection calls.
|
|
|
|
| |
This commit fixes the "reomve" typo in the Javascript docs.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling do_deactivate_getch2 before joining the terminal thread could
lead to breakage if the terminal thread got another interation in before
it was signaled to stop.
This also addresses a minor error with the order in which things are
initialized - getch2_poll would previously call tcgetpgrp(tty_in) before
tty_in was initialized, which did not lead to broken behavior, but was
not correct either.
Fixes #5195
|
|
|
|
|
| |
This leverages the new polldev shim which lets us "poll" device files on
macOS with select and use the genuine article on other platforms.
|
|
|
|
|
|
|
| |
This implements a poll-compatible interface, backed by select on macOS,
suitable for polling on device files - which are not supported by
macOS's implementation of poll. This is a (long-standing) bug in macOS,
so hopefully we can eventually remove this shim.
|
|
|
|
|
| |
Broken in f19797dea62a. It seems like the Git server on git.ffmpeg.org
doesn't like clone --depth=1, so use the GitHub mirror instead.
|
|
|
|
|
|
|
|
|
|
| |
Apparently timestamp queries are optional for 10level9 devices. Check
for support when creating the device rather than spamming error messages
during rendering. CreateQuery can be used to check for support by
passing NULL as the final parameter.
See:
https://msdn.microsoft.com/en-us/library/windows/desktop/ff476150.aspx#ID3D11Device_CreateQuery
|
|
|
|
|
|
|
| |
'help' is a valid value for a lot of mpv options, such as `hwdec`
or `vo` for printing available values, so this change makes the
output of OPT_CHOICE options like `--video-sync=help` more
consistent by not reporting an error about invalid value 'help'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
update_subtitles() makes sure all subtitle packets at/before the given
PTS have been read and processed. Normally, this function is only called
before sending a frame to the VO. This is too late for vf_sub, which
expects the subtitles to be updated before feeding a frame to the
filters.
Apparently this was specifically a problem for the first frame.
Subsequent frames might have been ok due to general prefetching.
(This will fail anyway, should a filter dare to add an offset to the
timestamps of the filered frames before they pass to vf_sub.)
Fixes #5194.
|
|
|
|
|
|
|
| |
POSIX permits select() to modify the timeout, which can happen on the
Linux implementation. This can reset the timeout, which spins this into
a tight loop. A timeout isn't necessary in the first place, so just use
NULL instead.
|
|
|
|
|
|
| |
This was a bit confused, and I bet nobody understood whether to use
--sub-file or --sub-files, and what the difference is. Explicitly
mention that both variants exist, and how they are related.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now, using --sub-file would add only subtitle tracks from the
given file. (E.g. if you passed a video file, only the subtitle tracks
from it were added, not the video or audio tracks.)
This is slightly messy (because streams are hidden), and users don't
even want it, as shown by #5132. Change it to always add all streams.
But if there's no stream of the wanted type, we still report an error
and do not add any streams. It's also made sure none of the other track
types are autoselected.
Also adjust the error messages on load failure slightly.
Fixes #5132.
|
|
|
|
|
|
|
| |
It appears libavformat never sets the file start time for subtitles, so
this special check is not needed. The original idea was probably that
_if_ the demuxer set the start time to the first subtitle packet, the
subtitles would be shifted incorrectly.
|
|
|
|
|
|
|
| |
Fixes #4190
This allows you to use terminal input even if you've piped something
into mpv.
|
|
|
|
|
|
|
|
| |
* Distinguish between the window being moved or not.
* Skip trying to snap if currently in full screen or an embedded
window.
* Exit snapped state if the size changed when the window was being
moved.
|
|
|
|
|
|
| |
Check the expected width and height against up-to-date
window placement. If they do not match, we will consider snapping
to have happened on Windows' side.
|
|
|
|
|
|
| |
Apparently, this breaks youtube live and possibly other things.
This reverts commit 06519aae5837312437b07e8bfef10c025ec2f688.
|
|
|
|
|
| |
Using youtube-dl's metadata ends up with stupid things like missing
variant streams, or missing audio streams entirely.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously when using a libmpv instance to play multiple videos,
once --start was set there was no clear way to unset it. You could
use --start=0, but 0 does not always mean the beginning of the file
(especially when using --rebase-start-time=no). Looking up the start
timestamp and passing that in also does not always work, particularly
when the first timestamp is negative (since negative values to --start
have a special meaning).
This commit adds a new "none" value which maps to the internal
REL_TIME_NONE, matching the default value of the play_start option.
|
| |
|
|
|
|
| |
fixes #5134
|
|
|
|
| |
I missed an ab-loop check in ff7e294. It should now work as expected.
|
|
|
|
|
| |
I missed a check for MP_NOPTS_VALUE in 4efe330. Now
it should work as expected.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes display-sync (though if you change virtual desktops you'll need to seek
to re-enable display-sync) partially under wayland.
As an advantage, rendering is completely disabled if you change desktops or
alt+tab so you lose no performance if you leave mpv running elsewhere as long
as it isn't visible.
This could also be ported to other VOs which supports it.
|
|
|
|
|
|
| |
- replace the incorrect reference to --opengl-shader
- document a caveat when using --image-display-duration
- add some documentation on --vf=lavfi=
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Most options that change the playback endpoint coexist and playback
stops when it reaches any of them. (e.g. --ab-loop-b, --end, or
--chapter). This patch extends that behavior to --length so it isn't
automatically trumped by --end if both are present. These two will
interact now as the other options do.
This change is also documented in DOCS/man/options.rst.
|
|
|
|
|
| |
The old format was definitely misleading, since it used an 0x prefix and
formatted the device IDs with %d.
|
|
|
|
|
|
|
| |
Using --loop-file should now seek to the position denoted by --start
or equivalent option, rather than always seeking to the beginning as
it had done before. --loop-playlist already behaves this way, so
this brings --loop-file in line for added consistency.
|
|
|
|
|
|
|
| |
If --ab-loop-b is present, then ab-looping will be enabled and will
attempt to seek to the beginning of the file. This patch changes it
so it will instead seek to the start of playback, either via --start
or some equivalent, rather than always to the beginning of the file.
|
|
|
|
|
|
|
|
|
|
| |
Added a get_play_start_pts function to coincide with the
already-existing get_play_end_pts. This prevents code duplication
and also serves to make it so code that probes the start time
(such as get_current_pos_ratio) will work correctly with chapters.
Included is a bug fix for misc.c/rel_time_to_abs that makes it work
correctly with chapters when --rebase-start-time=no is set.
|
|
|
|
|
| |
* duplicated 'ogv' renamed to 'ogm'
* 'ogg' and 'opus' added as common audio file extensions
|