1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-28 01:52:19 +00:00
Commit Graph

37247 Commits

Author SHA1 Message Date
Stefano Pigozzi
1e988c595b cocoa: handle files drag and drop on the player video view 2014-01-04 17:29:53 +01:00
Stefano Pigozzi
69d44d992c cocoa: refactor files drag and drop on the Dock icon
Use the newly added `mp_event_drop_files` core function instead of having
logic in the platform dependent code.
2014-01-04 17:29:41 +01:00
Stefano Pigozzi
082c5c19a1 input: move files drag and drop to a new event.c file
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.
2014-01-04 17:28:55 +01:00
Alexander Preisinger
bb3ea1580e wayland/egl: misc fixes and cleanups 2014-01-04 17:26:55 +01:00
Alexander Preisinger
96e75d234a wayland/egl: use redraw callback
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.
2014-01-04 17:23:35 +01:00
Alexander Preisinger
17b52cc4a9 wayland/egl: add egl_context to the wayland state
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.
2014-01-04 16:43:58 +01:00
Alexander Preisinger
f5565f33c7 wayland: Remove nonsense comment and add warning
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.
2014-01-04 15:37:45 +01:00
Alexander Preisinger
340ab6cd72 wayland: move workaround to fullscreen code
Because of this workaround there was a bug in the wayland vo.
Now it works on both vos (opengl and shm) as it should.
2014-01-04 13:57:47 +01:00
Alexander Preisinger
8f241998c0 wayland: implement dropping files on the VO window
Needs some proper testing.
2014-01-04 13:48:50 +01:00
wm4
7041d8cd37 vo: dropping subtitle files on the VO window adds them as subtitle files
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.
2014-01-04 01:27:29 +01:00
wm4
6a1b12158d x11: implement dropping files on the VO window
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
2014-01-04 01:27:28 +01:00
wm4
0702f642d5 vo: add vo_drop_files()
Intended to be used for GUI drag & drop.
2014-01-04 01:27:28 +01:00
Martin Herkt
e3ab2ac112 manpage: mention --pause 2014-01-03 20:35:10 +01:00
wm4
79a8018ca2 dvdnav: set correct stride for fake highlights
This didn't really matter, because the fake highlight rectangle is in a
single color, and every pixel has the same color value.
2014-01-03 16:45:59 +01:00
wm4
6e6291dcfd stream_pvr: fix crash on initialization
Fallout from the mp_msg conversions.
2014-01-03 16:44:44 +01:00
wm4
52ed634811 audio: check for overflows 2014-01-03 00:42:40 +01:00
wm4
7ed4ce91e8 bstr: check for overflow in buffer allocation
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.
2014-01-03 00:34:15 +01:00
wm4
2cad237f8b ta: check overflow in array realloc macros 2014-01-02 23:54:59 +01:00
Stefano Pigozzi
d4f37174a1 vda: fix build on OS X 10.7
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.
2014-01-02 22:45:39 +01:00
wm4
d4588bf577 ao_alsa: remove 9 year old typo
Actually, remove the whole comment, because it's outdated and
get_space() returns the number of free samples now.
2014-01-02 21:29:33 +01:00
Stefano Pigozzi
fb2d418327 build: fix cocoa configure check on OS X 10.7
It failed because the 10.7 SDK doesn't natively support array and dictionary
subscripting.
2014-01-02 20:42:03 +01:00
Alexander Preisinger
52fa38079d wayland/opengl: fix garbage borders
It seems mpv draws garbage in those regions. Now we calculate the aspect and
let weston draw the black borders.
2014-01-02 20:33:39 +01:00
Alexander Preisinger
ba101abfbe wayland/shm: only commit new frames
Only attach and commit new buffers. This also increases performance when
paused.
2014-01-02 20:33:31 +01:00
Alexander Preisinger
e947c72fe9 wayland: don't change set fullscreen twice
Newest weston chrashes if we call set_fullscreen twice. This is a major bug
I which I should probably report.
2014-01-02 20:33:06 +01:00
Martin Herkt
4350a76a01 ao_alsa: Unbreak pause/resume
Well that was dumb.
2014-01-02 18:46:11 +01:00
Martin Herkt
4083ae1de3 ao_alsa: Fix PCM resume after suspend
Fixes #324
2014-01-02 16:09:27 +01:00
Martin Herkt
1437d9b8bc Add Windows console wrapper program (mpv.com) 2014-01-02 05:30:49 +01:00
Martin Herkt
e9f577eb9a Windows: use the GUI subsystem, attach to console
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 to where
they belong.
2014-01-02 05:30:49 +01:00
Martin Herkt
fd89a75988 osdep/io, mp_vfprintf: split out console detection 2014-01-02 05:30:49 +01:00
wm4
b04b48fc10 stream: always respect sector_size, fixes cdda://
Streams like CDDA have special requirements in what quantities data can
be read: you can only read a sector at once, not more and not less. The
stream_peek() function didn't respect that and set less (used internal
buffer size of 2048 bytes, instead of CD sector size of 2352 bytes), so
no data was read and EOF was accidentally set, making playback with
cdda:// fail.

This is a regression since commit 9a723f, but that commit merely exposed
the issue (the redundant seek would clear the EOF flag).
2014-01-02 00:39:14 +01:00
Stefano Pigozzi
b467df073e build: fix typo 2014-01-01 21:44:05 +01:00
Stefano Pigozzi
e568299c2c build: make configure fail if both __atomic and __sync are not available 2014-01-01 20:52:54 +01:00
wm4
faf68f3b8e manpage: clarifications about bitmap subtitles and --secondary-sid 2014-01-01 19:45:34 +01:00
wm4
2214ee8472 options: make --msglevel=help print something helpful 2014-01-01 19:42:48 +01:00
wm4
cf4a110261 manpage: fix description on the slave mode msglevel 2014-01-01 19:28:17 +01:00
wm4
9169737a47 player: load encoding-profiles.conf before the main config
Otherwise one can't add profiles based on the encoding profiles.
2014-01-01 19:25:52 +01:00
Miro Hrončok
bbdd030a58 mpv.desktop: Add Czech translations 2014-01-01 18:53:33 +01:00
wm4
aeb9e6ddf5 player: fix DVD playback
Crashed in case of lazily added subtitle streams, which add tracks with
track->stream set to NULL.

Fixes gituhub issue #439.
2014-01-01 16:18:54 +01:00
wm4
66fe4f5713 Update copyright year 2014-01-01 00:00:00 +01:00
Alessandro Ghedini
4530d787d0 compat: use __atomic operations instead of __sync, when present
Fixes #434
Fixes #437
2013-12-31 10:53:36 +01:00
Alessandro Ghedini
e19060d89f build: check for libatomic and __atomic operations
Add check in old-configure as well. Reformat the check to use a maximum of 80
columns in the wscript.
Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
2013-12-31 10:53:36 +01:00
wm4
548aa81196 manpage: fix vf_noise parameter name 2013-12-30 22:50:01 +01:00
wm4
ec539dad2b common: drop mp_append_utf8_buffer() 2013-12-30 22:49:51 +01:00
wm4
7639e05ea8 bstr: use mp_append_utf8_bstr()
Drop usage of the ugly PUT_UTF8() macro.
2013-12-30 22:49:51 +01:00
wm4
b0efd3f36a input: use bstr_xappend()
To get rid of mp_append_utf8_buffer().
2013-12-30 22:49:51 +01:00
wm4
963a3d2c64 osd_libass: use bstr_xappend()
Partially, just enough to drop mp_append_utf8_buffer().
2013-12-30 22:49:50 +01:00
wm4
066ecfcbfb common: simplify and optimize string escape parsing
This code is shared between input.conf parser and option parser. Until
now, the performance didn't really matter. But I want to use this code
for JSON parsing too, and since JSON will have to be parsed a lot, it
should probably try to avoid realloc'ing too much.

This commit moves parsing of C-style escaped strings into a common
function, and allows using it in a way realloc can be completely
avoided, if the already allocated buffer is large enough.
2013-12-30 22:49:50 +01:00
wm4
097fe8ea6f bstr: add bstr_xappend function
Apparently this can be really useful when being paranoid and trying to
avoid too much malloc/realloc, since it can be used to appending into a
buffer (with transparent realloc only if the buffer is too small).
2013-12-30 22:49:50 +01:00
wm4
56ce2a39be video: fix --brightness etc. options
They were set before the VO was intitialized, which silently failed.
2013-12-29 22:18:27 +01:00
Stefano Pigozzi
f06a870b88 build: add flag for inline assembly
This is used to disable inline assembly (useful for old version of binutils
like the one in OpenBSD).
2013-12-29 17:39:18 +01:00