summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sub: fix frame based subtitle timestamp handlingwm42014-01-091-1/+1
| | | | | | 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.
* options: don't reset pause mode when switching to next filewm42014-01-092-4/+3
| | | | | | 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.
* command: don't access VO for output parameterswm42014-01-091-12/+18
| | | | | | 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.
* wayland: properly empty output listAlexander Preisinger2014-01-081-4/+4
|
* wayland/shm: don't crash if initialization failedAlexander Preisinger2014-01-081-3/+1
|
* wayland: fix crash when initialization failswm42014-01-081-1/+2
| | | | | | 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.
* player: strip 'file://' from filenames on playback startwm42014-01-083-13/+34
| | | | | | | | | | | | 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.
* screenshot: add format specifiers to get file directory pathwm42014-01-082-0/+27
| | | | | Useful if you want to put the screenshot into the same directory as the file that is being played.
* wayland/shm: tone down warningsAlexander Preisinger2014-01-081-2/+2
| | | | Those warnings are printed far too often and actually aren't usefull at all.
* wayland: fix memory leaksAlexander Preisinger2014-01-083-2/+24
| | | | | There are still some leaks from wayland-cursor stuff, but there is no way to free the memory as user of the cursor library.
* player: fix setting smaller timeout on Windows systemswm42014-01-081-1/+1
| | | | | | | 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.
* waf: do not use TaskGen for PDF build ruleMartin Herkt2014-01-081-14/+6
| | | | No longer necessary.
* wayland: cleanup registry_handle_globalAlexander Preisinger2014-01-081-2/+1
| | | | | The wl_registry object is already passed as a parameter. No need to create a temporary variable.
* wayland: remove set_user_data from seat_listenerAlexander Preisinger2014-01-081-2/+0
| | | | | | | | | 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.
* wayland: use static consistentlyAlexander Preisinger2014-01-081-4/+4
| | | | Declare everything that is only needed inside wayland_common.c as static.
* Switch PDF manual generation to rst2pdfMartin Herkt2014-01-086-58/+17
| | | | | | | 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.
* terminal: don't initialize termcap etc. if stdout is not a terminalwm42014-01-071-2/+6
| | | | | Otherwise, it seems one of the term* libraries will write escape sequences to stdout, for whatever reason.
* ao_pulse: lower default buffer size from 1000ms to 250mswm42014-01-072-2/+2
| | | | | | | | | | 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.
* ao_pulse: add suboption to control buffer sizewm42014-01-072-1/+14
|
* wayland: fix fullscreen & resizing for goodAlexander Preisinger2014-01-073-12/+34
| | | | | | | 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.
* manpage: mention how to get a list of codecs for use with --hwdec-codecswm42014-01-071-0/+3
|
* wayland: silence annoying libwayland-client messagewm42014-01-071-0/+3
| | | | | | | | | | | | | | | | | 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)
* wayland: fix some memory leaks on initialization failurewm42014-01-071-6/+13
| | | | | | | | | | | 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.
* demux_lavf: fix minor memory leakwm42014-01-071-1/+1
|
* audio: fix previous commitwm42014-01-061-1/+1
|
* Fix audio delay inversionMartin Herkt2014-01-063-6/+6
|
* sub: fix previous commitwm42014-01-061-2/+2
| | | | sub_seek and sub_step were broken.
* Fix subtitle delay inversionMartin Herkt2014-01-062-2/+2
|
* w32_common: reformat yet againMartin Herkt2014-01-061-208/+208
| | | | | I've been told mpv prefers switch/case on the same indent level. Sorry about the noise :P
* cocoa: don't reset window size when the video size doesn't changeStefano Pigozzi2014-01-061-15/+14
| | | | Fixes #459
* w32_common: don't force topmost on fullscreenMartin Herkt2014-01-061-1/+2
| | | | Fixes #457, #444.
* Windows: use roaming AppData instead of localMartin Herkt2014-01-061-1/+1
| | | | Whatever. Fixes #458.
* win32-console-wrapper: use child process exit codeMartin Herkt2014-01-061-4/+6
|
* win32-console-wrapper: remove command line manglingMartin Herkt2014-01-061-11/+2
| | | | This wasn't really necessary and caused a lot of problems.
* w32_common: reformat slightlyMartin Herkt2014-01-061-68/+99
| | | | This really needs more whitespace.
* w32_common: use OLE DnD for text/uri-list supportxnoreq2014-01-061-39/+203
| | | | Signed-off-by: Martin Herkt <lachs0r@srsfckn.biz>
* win32-console-wrapper: Fix heap corruptionMartin Herkt2014-01-061-1/+1
| | | | FUCK the Windows API.
* build: don't depend on both libavresample and libswresamplewm42014-01-051-0/+1
| | | | | | 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.
* quvi: add option to not fetch subtitlesAndre D2014-01-054-1/+11
| | | | Signed-off-by: wm4 <wm4@nowhere>
* player: always ise [statusline] for terminal OSDwm42014-01-051-3/+3
| | | | | | 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.
* player: print an error message if run command failswm42014-01-051-1/+5
| | | | | | | | | | | 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.
* manpage: fix typowm42014-01-051-1/+1
|
* player: don't select subtitles added from quvi by defaultwm42014-01-052-5/+10
| | | | | | | | | | 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.
* Revert "wayland/egl: use redraw callback"Alexander Preisinger2014-01-042-28/+1
| | | | | | | | | | | 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
* wayland: remove workaroundAlexander Preisinger2014-01-041-6/+3
| | | | | | | | 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.
* wayland: fix obvious bug in dnd codeAlexander Preisinger2014-01-041-1/+1
| | | | I still don't think this is the right approach.
* input: change mp_input_run_cmd signaturewm42014-01-043-8/+6
| | | | | | | | 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?
* video/out: remove some code duplication between X11 and waylandwm42014-01-044-45/+35
| | | | | | 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: reject file if not opened by --subwm42014-01-043-0/+5
| | | | | | | 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.
* build: fix build on old build systemStefano Pigozzi2014-01-041-0/+1
| | | | Regression from 082c5c19
* cocoa: handle files drag and drop on the player video viewStefano Pigozzi2014-01-045-1/+30
|
* cocoa: refactor files drag and drop on the Dock iconStefano Pigozzi2014-01-041-24/+16
| | | | | Use the newly added `mp_event_drop_files` core function instead of having logic in the platform dependent code.
* input: move files drag and drop to a new event.c fileStefano Pigozzi2014-01-048-43/+89
| | | | | 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.
* wayland/egl: misc fixes and cleanupsAlexander Preisinger2014-01-042-6/+1
|
* wayland/egl: use redraw callbackAlexander Preisinger2014-01-042-1/+32
| | | | | | | 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.
* wayland/egl: add egl_context to the wayland stateAlexander Preisinger2014-01-042-67/+73
| | | | | | | | | | | 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.
* wayland: Remove nonsense comment and add warningAlexander Preisinger2014-01-041-4/+2
| | | | | | | | | 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.
* wayland: move workaround to fullscreen codeAlexander Preisinger2014-01-041-4/+5
| | | | | Because of this workaround there was a bug in the wayland vo. Now it works on both vos (opengl and shm) as it should.
* wayland: implement dropping files on the VO windowAlexander Preisinger2014-01-042-2/+190
| | | | Needs some proper testing.
* vo: dropping subtitle files on the VO window adds them as subtitle fileswm42014-01-043-11/+36
| | | | | | | 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.
* x11: implement dropping files on the VO windowwm42014-01-042-6/+192
| | | | | | | | | | | | | | | | | | | | 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
* vo: add vo_drop_files()wm42014-01-042-0/+26
| | | | Intended to be used for GUI drag & drop.
* manpage: mention --pauseMartin Herkt2014-01-031-0/+3
|
* dvdnav: set correct stride for fake highlightswm42014-01-031-1/+1
| | | | | This didn't really matter, because the fake highlight rectangle is in a single color, and every pixel has the same color value.
* stream_pvr: fix crash on initializationwm42014-01-031-0/+1
| | | | Fallout from the mp_msg conversions.
* audio: check for overflowswm42014-01-031-0/+5
|
* bstr: check for overflow in buffer allocationwm42014-01-031-0/+4
| | | | | 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.
* ta: check overflow in array realloc macroswm42014-01-023-3/+18
|
* vda: fix build on OS X 10.7Stefano Pigozzi2014-01-022-0/+2
| | | | | 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.
* ao_alsa: remove 9 year old typowm42014-01-021-1/+0
| | | | | Actually, remove the whole comment, because it's outdated and get_space() returns the number of free samples now.
* build: fix cocoa configure check on OS X 10.7Stefano Pigozzi2014-01-023-6/+15
| | | | | It failed because the 10.7 SDK doesn't natively support array and dictionary subscripting.
* wayland/opengl: fix garbage bordersAlexander Preisinger2014-01-022-22/+22
| | | | | It seems mpv draws garbage in those regions. Now we calculate the aspect and let weston draw the black borders.
* wayland/shm: only commit new framesAlexander Preisinger2014-01-021-36/+40
| | | | | Only attach and commit new buffers. This also increases performance when paused.
* wayland: don't change set fullscreen twiceAlexander Preisinger2014-01-021-1/+1
| | | | | Newest weston chrashes if we call set_fullscreen twice. This is a major bug I which I should probably report.
* ao_alsa: Unbreak pause/resumeMartin Herkt2014-01-021-11/+10
| | | | Well that was dumb.
* ao_alsa: Fix PCM resume after suspendMartin Herkt2014-01-021-15/+15
| | | | Fixes #324
* Add Windows console wrapper program (mpv.com)Martin Herkt2014-01-022-0/+96
|
* Windows: use the GUI subsystem, attach to consoleMartin Herkt2014-01-024-1/+25
| | | | | | | | 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