| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Previously we didn't report events to the core, but still prevented the events
to travel on the responder chain.
|
|
|
|
|
| |
Actually doesn't remove the related flags so that one can still pass the
option with the option doing nothing.
|
| |
|
|
|
|
|
|
| |
Generally useless feature, and might be slightly dangerous if paths
can "escape" from the profile dir. (Normally this shouldn't be
possible, though.)
|
|
|
|
|
|
|
|
|
|
| |
Now requires newest libass git. Since this feature wasn't part of a
libass release yet, I'm not bothering making the mpv code compatible
with as how it was previously implemented (it will just be disabled
with any older libass).
CC: @mpv-player/stable (because mpv-build uses libass git, and this
breaks the feature)
|
|
|
|
|
|
|
| |
It possibly goes to sleep without actually starting to decode audio.
Possibly fixes a problem with --no-osc --no-video reported on IRC.
CC: @mpv-player/stable
|
|
|
|
| |
No idea what this was for. It has no purpose and looks weird.
|
|
|
|
|
|
| |
Fixes #1185.
CC: @mpv-player/stable
|
|
|
|
| |
See #1187.
|
|
|
|
|
|
| |
The previous commit was actually incorrect, and the change had
absolutely no effect. The two formats are (fortunately) the same. I'm
probably too tired.
|
|
|
|
|
|
|
|
|
| |
This would have been wrong for hw decoders which pass us NV12 or NV21.
The format the GL shader filter chain gets is stored in p->image_desc,
while p->image_format still contains the "real" input format (which in
case of hw decoding is an opsque hw accel format). Since no hw decoder
did this, this is really just a theoretical fix and doesn't fix any
actual bugs.
|
|
|
|
|
| |
This is slightly safer and without the resize redraw, should not cause any
deadlock.
|
|
|
|
|
|
| |
Otherwise, other magic Qt stuff can be magically broken.
(No, I don't know the real reasons for this.)
|
| |
|
|
|
|
|
| |
Leading percent sign is a quote indicator so it needs to be quoted
itself.
|
|
|
|
| |
This was rejecting correct escapes and accepting incorrect ones.
|
| |
|
|
|
|
| |
The change was made with faad40aad92d51290ef2fc4d94277eca89863873.
|
|
|
|
|
|
|
| |
Could crash when exiting playback in very early stages of
initialization.
CC: @mpv-player/stable
|
|
|
|
|
|
| |
This was probably commented as an oversight. Since the subtitle renderer
was uninitialized on reinitialization anyway, this had no negative
consequences, except a memory on exit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A vague idea to get something similar what libquvi did.
Undocumented because it might change a lot, or even be removed. To give
an idea what it does, a Lua script could do the following:
-- type ID priority
mp.commandv("hook_add", "on_load", 0, 0)
mp.register_script_message("hook_run", function(param, param2)
-- param is "0", the user-chosen ID from the hook_add command
-- param2 is the magic value that has to be passed to finish
-- the hook
mp.resume_all()
-- do something, maybe set options that are reset on end:
mp.set_property("file-local-options/name", "value")
-- or change the URL that's being opened:
local url = mp.get_property("stream-open-filename")
mp.set_property("stream-open-filename", url .. ".png")
-- let the player (or the next script) continue
mp.commandv("hook_ack", param2)
end)
|
|
|
|
|
| |
The intended use-case is for doing this at load time, after the load
command was issued. (See following commit.)
|
|
|
|
|
| |
Seems like this could theoretically happen in low buffer situations, but
I haven't spotted this behavior in the wild.
|
|
|
|
| |
This is already taken care of by Q_DISABLE_COPY().
|
|
|
|
|
|
|
|
|
|
|
| |
Normally, we pass libavformat demuxers a wrapped mpv stream. But in some
cases, such as HLS and RTSP, we let libavformat open the stream itself.
In these cases, set typical network properties like useragent according
to the mpv options.
(We still don't set it for the cases where libavformat opens other
streams on its own, e.g. when opening the companion .sub file for .idx
files - not sure if we maybe should always set these options.)
|
|
|
|
|
|
|
|
| |
Fixes opening some streams.
This means the HLS playlist will be opened twice, but that's not much of
a problem, considering it's pretty small, and HLS will make many other
http accesses anyway.
|
|
|
|
|
|
|
| |
OSD cycling attempted to remove the current message by setting an empty
message with duration 0. Duration 0 tripped up a corner case causing no
OSD to be displayed (until the next message was set), so exclude this
explicitly.
|
|
|
|
|
|
|
| |
Apparently there's an use for this; see #1178.
I won't redocument obscure FFmpeg features, so add a hint to the
manpage that some protocols are documented in FFmpeg instead.
|
| |
|
|
|
|
|
| |
I'm starting to think that being type-strict with this interface
actually sucks. This commit is a step towards being less strict.
|
|
|
|
|
|
|
|
|
| |
This could produce an extra frame, because reaching the maximum merely
signals the playloop to exit, without strictly enforcing the limit.
Fixes #1181.
CC: @mpv-player/stable
|
|
|
|
| |
Forgotten.
|
|
|
|
| |
Pretty dumb oversights.
|
|
|
|
|
|
| |
Dump chapters and track list to the log for demo purposes.
Compile in debug mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This provides some helper functions and classes for C++/Qt. As the top
of qthelper.hpp says, this is built on top of the client API, and is a
mere helper provided for convenience.
Maybe this should be a separate library, but on the other hand I don't
see much of a point in that. It's also header-only, but C++ people like
such things. This makes it easier for us, because we don't need to care
about ABI compatibility.
The client API doesn't change, but bump it so that those who are using
this header can declare a proper dependency.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also, don't set an empty string for the fallback device if an AO doesn't
list any devices.
|
|
|
|
|
|
|
| |
With some files, the extradata variable can remain uninitialized, but
will be used for memory access.
CC: @mpv-player/stable (with high priority)
|
|
|
|
|
| |
Some filters still (or will) behave badly on these errors, so explicitly
log when it happens.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of letting the window-scale property return the old value until
X11 actually executed the resize, just set the new assumed internal
window size immediately. This avoids a "lag" between setting and reading
the window-scale property, like OSD controls typically do.
Remove the additional calls from vo_x11_highlevel_resize() - they're
pointless and slightly wrong, and resize events will take care of
updating these things correctly anyway.
Fixes #1176.
("window-scale" works via VOCTRL_[S|G]ET_UNFS_WINDOW_SIZE.)
|
|
|
|
|
| |
Not all functions are for creating filters. Consider for example
LoadPlugin.
|
|
|
|
|
| |
This affects the script filename passed to the filter. Resolve "~" (and
some other variants) as described in the "Paths" section of mpv.rst.
|
|
|
|
| |
Don't refer to fields that were removed.
|
|
|
|
|
| |
The CoreAudio API is built around device IDs so we store the integer as string
and read it back.
|
|
|
|
|
|
|
|
| |
Oops.
Fixes #1172.
CC: @mpv-player/stable
|
| |
|
|
|
|
|
|
| |
This probably led to confusing output.
CC: @mpv-player/stable
|
| |
|
|
|
|
|
|
| |
In theory, vsscript should be doing it, but it's not there yet, neither
did there seem to be any interest in making it flexible enough to handle
more than 1 scripting language.
|
|
|
|
|
|
|
|
|
|
| |
This allows mpv's view to take key and send events to mpv's core.
To set key status correctly, clients must call -[NSWindow selectNextKeyView:]
during reconfig on the main thread. All is 'documented' in the cocoabasic
example.
If someone knows a better way to handle giving key to the embedded view,
let me know!
|
|
|
|
|
| |
Objective-C categories need special linker flags from the user when statically
linking (-ObjC LDFLAG), so make everyone's life simpler and remove them.
|
|
|
|
|
|
|
|
|
| |
Showed "Volume: (unavailable)%". That was dumb.
The message string is now a bit convoluted; mostly because the property
expand syntax can't do "if-else", just "if".
CC: @mpv-player/stable
|
|
|
|
|
|
|
|
|
|
| |
This does nothing good. This reverts a change made over a year ago - I
don't remember why this was originally done this way.
The main problem is that even if the volume option is set (something
like "--volume=75"), the volume property will always return "100" until
audio is initialized. If audio is uninitialized again, the volume
property will remain frozen at its last value.
|
| |
|
|
|
|
| |
Fixes #1164
|
|
|
|
|
|
| |
An attempt at fixing #1168.
I see black frames flashing, so it's certainly not perfect.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This can hang if the window was destroyed externally (or that's what I
suspect happens), and we somehow didn't receive the DestroyNotify event.
I'm not sure why we wouldn't receive this event (since it should just be
in the xlib event queue), but on the other hand there's no real need to
wait for window destruction.
This essentially reverts 97fc74e2.
|
|
|
|
|
| |
Users using binary packages don't have obvious access to them, so this
seems like a good idea.
|
|
|
|
| |
This follows the docs, which say the result parameter is optional.
|
| |
|
|
|
|
| |
Also, use the zsh default location (rather than the Debian one).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some VS filters will requests frames from their parent filters while
they're initialized. Thy do this in a blocking manner, and
initialization will not succeed until the frame request is satisfied.
This deadlocked mpv, because we can feed frames to the filter only after
initialization is finished.
Return an error instead of deadlocking.
Note that we (probably) can handle frames being requested during init
fine, as long as the requests don't block initialization. But we can
distinguish this situation, and a simple test seems to indicate VS
usually doesn't do this.
See #1168.
|
|
|
|
| |
This is the Lua equivalent of mpv_command_node().
|
|
|
|
|
|
|
|
|
| |
Allows passing native types as arguments.
Also some minor doc improvements, including giving some (natural)
improvements to mpv_free_node_contents().
Note: mpv_command_node_async() is completely untested.
|
|
|
|
|
|
|
|
|
| |
playlist-pos is 0-based, but everyone thinks it's 1-based. Stupid crap.
(The "not the same as MPlayer" refers to a playlist manipulation command
that doesn't exist anymore in mpv.)
CC: @mpv-player/stable
|
| |
|
| |
|
|
|
|
| |
Minor simplification, also drops some useless stuff.
|
|
|
|
| |
For future client API enhancements.
|