| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Subtitle formats with frame based timing require using the video FPS to
compute proper subtitle timestamps. But it looks like the calculation to
do that was inversed.
|
|
|
|
|
|
| |
This basically reverts the default as set by commit 812798c5. This seems
to be a matter of taste, but personally I think keeping the pause
setting is better.
|
|
|
|
|
|
| |
Use the video chain for this instead. This is for facilitating coming
changes, which will clean up the vo->aspdat stuff, and this code would
be in the way.
|
| |
|
| |
|
|
|
|
|
|
| |
On X11, if no wayland compositor is running, wl_list_init() will never
be called. This will cause destroy_display() to segfault when trying to
iterate over the list.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes two things:
1. Dropping files on the VO window will auto-load subtitles (since most
drag & drop code prefixes the filenames with 'file://', and the
subtitle auto-load code considers 'file://' non-local)
2. Fix behavior of the %x screenshot filename template (similar problem)
One could force all that code to special-case 'file://' URLs, but just
replacing the filename on playback start is simpler.
|
|
|
|
|
| |
Useful if you want to put the screenshot into the same directory as the
file that is being played.
|
|
|
|
| |
Those warnings are printed far too often and actually aren't usefull at all.
|
|
|
|
|
| |
There are still some leaks from wayland-cursor stuff, but there is no way to
free the memory as user of the cursor library.
|
|
|
|
|
|
|
| |
On Windows, we don't have proper input event wakeup handling, so we
need to lower the playloop timeout in order to react fast to input.
Closes #387.
|
|
|
|
| |
No longer necessary.
|
|
|
|
|
| |
The wl_registry object is already passed as a parameter. No need to create
a temporary variable.
|
|
|
|
|
|
|
|
|
| |
The user_data is passed on add_listener and can later be changed with
set_user_data. But because we don't want to change it later and because it is
the same object remove the set_user_data call.
This might be a copy&paste leftover from the initial draft for the wayland
backend.
|
|
|
|
| |
Declare everything that is only needed inside wayland_common.c as static.
|
|
|
|
|
|
|
| |
This finally gets rid of the LaTeX dependency.
We should actually be using docultils directly here, but I didn't
do this because of all the potential Python 2/3 breakage.
|
|
|
|
|
| |
Otherwise, it seems one of the term* libraries will write escape
sequences to stdout, for whatever reason.
|
|
|
|
|
|
|
|
|
|
| |
1000ms is a bit insane. It makes behavior on playback speed changes
worse (because the player has to catch up the dropped audio due to
audio-chain reset), and perhaps makes seeking slower.
Note that the problem of playback speed changes misbehaving will be
fixed in the future, but even then we don't want to have a buffer that
large.
|
| |
|
|
|
|
|
|
|
| |
I added enough logic to never set ontop or fullscreen twitce.
This commit keeps also the size of the video if multiple videos are played.
If the ratio differs the width will be kept at the same size and only the
height changes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libwayland-client contains the following code [1]:
runtime_dir = getenv("XDG_RUNTIME_DIR");
if (!runtime_dir) {
fprintf(stderr,
"error: XDG_RUNTIME_DIR not set in the environment.\n");
This means this message will unconditionally and unavoidably be printed
if XDG_RUNTIME_DIR is not set. Since mpv is a terminal program, and we
want to avoid unnecessary output, work it around by not attempting to
use wayland if this environment variable is not set.
[1] http://cgit.freedesktop.org/wayland/wayland/tree/src/wayland-client.c#n636
(cd0dccd01e16fa404e03974d30ded3aebdb1c4bc)
|
|
|
|
|
|
|
|
|
|
|
| |
This commonly happens when initializing vo_opengl on a X11-only system.
Unfortunately, most wl_*_destroy() functions appear not to accept NULL
pointers, making partial deinitialization a pain: you have to add your
own NULL checks everywhere to avoid crashes.
xkb.context is uninitialized separately, because you can initialize it
just fine, even if the rest of input initialization fails.
|
| |
|
| |
|
| |
|
|
|
|
| |
sub_seek and sub_step were broken.
|
| |
|
|
|
|
|
| |
I've been told mpv prefers switch/case on the same indent level.
Sorry about the noise :P
|
|
|
|
| |
Fixes #459
|
|
|
|
| |
Fixes #457, #444.
|
|
|
|
| |
Whatever. Fixes #458.
|
| |
|
|
|
|
| |
This wasn't really necessary and caused a lot of problems.
|
|
|
|
| |
This really needs more whitespace.
|
|
|
|
| |
Signed-off-by: Martin Herkt <lachs0r@srsfckn.biz>
|
|
|
|
| |
FUCK the Windows API.
|
|
|
|
|
|
| |
When both libavresample and libswresample were detected, the script
enabled both at the same time. This is not supported; although nothing
bad happened apparently. Make the dependencies both mutually exclusive.
|
|
|
|
| |
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
|
| |
This was inconsistent: the actual statusline used [statusline] as
message prefix, while other parts of the terminal OSD used [cplayer]
(and MSGL_STATUS). This commit makes it consistent.
|
|
|
|
|
|
|
|
|
|
|
| |
Note that we can't use mp_msg, because it's not async-signal safe (we
might be running other threads while forking, so only functions
specified to be async-signal safe can be called, and this doesn't
include stdio; mp_msg acquires a mutex too).
Also, always print a \n before running the program to flush the status
line. The effect is that a program running successfully as well as the
error message will effectively start on a new line.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Quvi subtitles are considered external subtitles (simply because they're
separate from the audio/video stream), but for the sake of subtitle
auto-selection, they should not be considered external.
Change this so that quvi subtitles are treated like muxed subtitles
(with default flag never set). This means subtitles won't be selected by
default, unless explicitly requested with --sid or --slang.
|
|
|
|
|
|
|
|
|
|
|
| |
Because of this commit there were problems displaying the frmase in their right
order.
This reverts commit 96e75d234a4df1a09f38eaf932d00d79dccdc324.
Conflicts:
video/out/gl_wayland.c
video/out/wayland_common.h
|
|
|
|
|
|
|
|
| |
The changes in the vo_wayland_ontop function have no effect on the workaround.
Somehow the problem just disappeared. I guess it is because of the new control
function in gl_wayland.c where the resize happens immediatly after the event
dispatch/flush.
|
|
|
|
| |
I still don't think this is the right approach.
|
|
|
|
|
|
|
|
| |
I don't like this function at all, but it's basically a trick to get the
input's mp_log instance in a case the mp_input_parse_cmd_strv() is
almost certainly not going to output anything. But still make it
somewhat more consistent with mp_input_parse_cmd_strv() - why force the
caller to always use MP_ON_OSD_AUTO?
|
|
|
|
|
|
| |
Both X11 and Wayland support the same format for drag & drop operations
(text/uri-list), and the code for that was copied from x11_common.c to
wayland_common.c. Factor it out.
|
|
|
|
|
|
|
| |
demux_subreader.c contains the old MPlayer subtitle parser, and I have
absolutely no confidence in this (very crappy) code. There might be
one or two security risks associated with running that code on
arbitrary input.
|
|
|
|
| |
Regression from 082c5c19
|
| |
|
|
|
|
|
| |
Use the newly added `mp_event_drop_files` core function instead of having
logic in the platform dependent code.
|
|
|
|
|
| |
event.c will be used to feed the input queue with 'global' events that don't
mesh well with the usual check_events path in mpv.
|
| |
|
|
|
|
|
|
|
| |
This solves the issue where we would not receive any frame events. The
difference to my earlier tests is that now it looks like eglSwapBuffers uses
it's own event queue or something similiar along the lines. Becaues the
performance is the same as without any redraw callback.
|
|
|
|
|
|
|
|
|
|
|
| |
At the moment there are visual glitches when we resize the window. This happens
because in wayland there a special function for resizing EGL windows.
To prevent the glitches move the egl_context to the wayland state in
wayland_common.h and add a new control function to gl_wayland.c to wrap the
vo_wayland_control function to check for resize events.
With the new control wrapper the glitches are gone and the resizing is fluid.
|
|
|
|
|
|
|
|
|
| |
The reason a segmentation happend here was because we couldn't get the
requested minor version. The major version is enough for differentiating
between OpenGL 3 and OpenGL 2. If it fails there is still a fallback to any
version available.
Also add a warning if we use the fallback.
|
|
|
|
|
| |
Because of this workaround there was a bug in the wayland vo.
Now it works on both vos (opengl and shm) as it should.
|
|
|
|
| |
Needs some proper testing.
|
|
|
|
|
|
|
| |
Note that we don't try to be clever about detecting the files as
subtitles: we just check the file extension. We could go all the way and
check the files by opening them with a demuxer, but that would probably
do more bad than good.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Drag and drop is pretty complicated (just note how the number of Atoms
in use almost doubles), so I'm not sure whether this works everywhere.
This has been written by looking at the specification [1] or what looks
like the specification, and some external example code [2]. (The latter
one has no code license, but we didn't copy any code.)
We completely ignore the "requirement" of the spec. that the filename
"must" include username and hostname, e.g. "file://user@host/path/file".
In theory, this is required because X is network transparent, but at
this point the so called network transparency is a complete joke, and
Konqueror for one didn't include hostnames in "file://" URIs.
Tested with konqueror as drop source.
[1] http://www.newplanetsoftware.com/xdnd/
[2] http://www.edwardrosten.com/code/dist/x_clipboard-1.1/paste.cc
|
|
|
|
| |
Intended to be used for GUI drag & drop.
|
| |
|
|
|
|
|
| |
This didn't really matter, because the fake highlight rectangle is in a
single color, and every pixel has the same color value.
|
|
|
|
| |
Fallout from the mp_msg conversions.
|
| |
|
|
|
|
|
| |
We're being a little bit lazy here and limit the max allocation to
SIZE_MAX/2, which is practically infinite anyway on 64 bit systems.
|
| |
|
|
|
|
|
| |
Looks like on 10.8 OpenGL.h recursively includes CGLIOSurface.h. That is not
the case for 10.7 so the build was broken on that version of OS X.
|
|
|
|
|
| |
Actually, remove the whole comment, because it's outdated and
get_space() returns the number of free samples now.
|
|
|
|
|
| |
It failed because the 10.7 SDK doesn't natively support array and dictionary
subscripting.
|
|
|
|
|
| |
It seems mpv draws garbage in those regions. Now we calculate the aspect and
let weston draw the black borders.
|
|
|
|
|
| |
Only attach and commit new buffers. This also increases performance when
paused.
|
|
|
|
|
| |
Newest weston chrashes if we call set_fullscreen twice. This is a major bug
I which I should probably report.
|
|
|
|
| |
Well that was dumb.
|
|
|
|
| |
Fixes #324
|
| |
|
|
|
|
|
|
|
|
| |
This is necessary to start mpv without forcing a console window,
but also breaks console usability. A workaround is to call mpv
from a wrapper process that uses the console subsystem and helps
redirecting the standard streams and WriteConsole output t |