aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* dxva2: fix crash on initialization failureGravatar wm42014-10-26
| | | | If dxva2_init() fails, dxva2_uninit() will be called twice.
* TOOLS/lua/autoload: fix operation outside of working dirGravatar wm42014-10-26
| | | | Fixes #1222. (This commit is based on a patch posted there.)
* TOOLS/lua/autoload: don't shadow local variableGravatar wm42014-10-26
| | | | "dir" is already used somewhere above. This was ok, but not nice.
* manpage: options: various fixesGravatar Alessandro Ghedini2014-10-26
|
* dxva2: gpu_memcpy: fix build for GCC 4.8.3Gravatar James Ross-Gowan2014-10-26
|
* vo_direct3d: support nv12/nv21 directlyGravatar wm42014-10-26
|
* video: clarify what IMFMT_DXVA2 isGravatar wm42014-10-26
|
* dxva2: use optimized memcpyGravatar James Ross-Gowan2014-10-26
| | | | | | At least on my machine, reading back the frame with system memcpy is slower than just using software rendering. Use the optimized gpu_memcpy from LAV to speed things up.
* lua: subprocess: fix dumbGravatar wm42014-10-26
|
* lua: subprocess: tunnel stderr through mp_logGravatar wm42014-10-26
| | | | | | | | | | | Pretty much a fringe-feature, but also it's awkward if something appears on the terminal with no indication for the source. This is made quite awkward by the fact that stderr and stdout could be closed at different times, and that poll() doesn't accept "holes" in its FD list. Invalid (.e.g negative) FDs just make it return immediately, as required by the standard. So sparse_poll() takes care of the messy details.
* osdep: add helper for creating a sane pipe()Gravatar wm42014-10-26
| | | | | Or in other words, a pipe that has the CLOEXEC flag set. Needed since Linux' pipe2() is not in POSIX yet.
* lua: parse_json(): fix inverted condition for trail argumentGravatar wm42014-10-26
| | | | It accidentally had the opposite meaning.
* lua: subprocess: don't distinguish pipe errors/EOFGravatar wm42014-10-26
| | | | | | | What was the purpose of that? Probably none. Also simplify another thing: if we get the cancel signal through FD, there's no reason to check it separately.
* build: fix Lua detectionGravatar Stefano Pigozzi2014-10-25
| | | | | | | | | | | | | We need to manually define the flag since we are using a separate identifier for each of the Lua checks. This was done before 9b45b48 by the composed check with a define_key (see waftools/checks/generic.py). The pkg-config check was the only one to not redefine a define key because Waf already does that automatically when we call the generated function with the same identifier as the generator function. Now if they are called with two different arguments we will get two different definitions. Fixes #1218
* Drop libquvi supportGravatar wm42014-10-25
| | | | | | | | | | | No development activity (or even any sign of life) for almost a year. A replacement based on youtube-dl will probably be provided before the next mpv release. Ask on the IRC channel if you want to test. Simplify the Lua check too: libquvi linking against a different Lua version than mpv was a frequent issue, but with libquvi gone, no direct dependency uses Lua, and such a clash is rather unlikely.
* video: initial dxva2 supportGravatar wm42014-10-25
| | | | | Shamelessly stolen from ffmpeg. It probably doesn't work - you can debug it yourself.
* manpage: use the proper environment variable for CSIDL_APPDATAGravatar wm42014-10-25
|
* tv: remove some differences between immediate/normal modeGravatar wm42014-10-25
| | | | | | | | | | | The immediate mode (which is the default) uses a tiny ringbuffer and doesn't grab timestamps. This leads to quite bad behavior due to the fact that there's an additional buffer between playloop and TV code (the demuxer thread, which doesn't exist in MPlayer). Always grab the timestamps and use a decently-sized buffer. I still have no clue what I'm doing, and hacked it until it appeared to work. Report regressions if you experience any.
* tv: reduce waiting loop from 10ms to 1msGravatar wm42014-10-25
| | | | | | | | | | | | I can't believe how shitty this (MPlayer-derived) code is. Maybe it should be fixed or be replaced with using libavdevice, but that doesn't seem worth the effort. Anyway, for now reduce the time it's blocking to wait for new frames from 10ms to 1ms, because 10ms might be a bit too tight: it could deliver the frame up to 10ms late - now it's only up to 1ms. (And yes, it does that instead of using condition variables. It also abuses volatile variables as atomics. It's hilarious.)
* lua: fix some more lua_tostring() mistakesGravatar wm42014-10-25
| | | | Why can't it just raise an error?
* build: enable cdda:// by default againGravatar wm42014-10-25
| | | | | | Apparently people want this. (???) See #1214.
* stream: fix --stream-dump dropping the file headerGravatar wm42014-10-25
| | | | | | | | | | | | | | | | | | stream_rar.c peeks the first few bytes when trying to open, which means that opening any stream reads at least 2KB of data (internal buffer size) on opening. This broke --stream-dump, which saved only the data following this initial buffer. Hack it around by writing the current buffer to the capture file too, and move stream_capture_write() above stream_set_capture_file() for this purpose. Cleaner solutions might include: handling the terrible rar thing differently, or using the "proper" stream API for dumping. (The latter is not done, because --stream-dump shares code with the --stream-capture misfeature.) Fixes #1215.
* stream: remove duplicate messageGravatar wm42014-10-25
|
* tv: remove duplicated crapGravatar wm42014-10-25
| | | | | The logging functions already add a prefix. Original MPlayer devs must have liked code duplication a lot.
* tv: unqueue buffers correctly (maybe, maybe not)Gravatar wm42014-10-25
| | | | | I clue no idea what I'm doing, but at least it doesn't hang anymore when closing a tv:// stream using a v4l2 loopback device.
* lua: lua_tostring() on an error value can return NULLGravatar wm42014-10-24
| | | | | Lua is so clever it allows values that can't be converted to strings, in which case lua_tostring() returns NULL. Trigger undefined behavior.
* command: finish hook execution if client failsGravatar wm42014-10-24
| | | | | Translation: if the (to be added) youtube-dl Lua script crashes, don't wait forever when opening something.
* input: resolve ~ and similar for --input-fileGravatar wm42014-10-24
| | | | Because why not.
* TOOLS/umpv: create FIFO in user directoryGravatar wm42014-10-24
| | | | Makes these security measures unnecessary.
* cocoa: perform VOCTRL_SET_UNFS_WINDOW_SIZE asyncronouslyGravatar Stefano Pigozzi2014-10-24
| | | | | | | | Apparently if resizing a NSWindow from a secondary thread Cocoa will automatically protect itself using NSViewHierarchyLock and in our case, cause a deadlock. Fixes #1210
* demux: don't access stream while lock is heldGravatar wm42014-10-24
| | | | | | | | | | Although this is fine when the stream cache is active (which caches these and returns the result immediately), it seems cleaner not to rely on this detail. Remove the update_cache() call from demux_thread(), because it's sort of in the way. I forgot why it exists, and there's probably no good reason for it to exist anyway.
* demux: cache STREAM_CTRL_GET_BASE_FILENAMEGravatar wm42014-10-24
| | | | | | | | It's needed for some obscure feature in combination with .rar reading. However, it's unconditionally used by the subtitle loader code, so take care of not blocking the main thread unnecessarily. (Untested.)
* command: add vo-configured propertyGravatar wm42014-10-24
| | | | | | | | | So a client API user can know when a window is created or destroyed. Also might be useful for the OSC: it could disable itself if video is disabled. Before this commit, there were only indirect ways of detecting this.
* player: disable --force-window if VO failsGravatar wm42014-10-24
| | | | Otherwise, it'd retry creating the window all the time.
* video: send MPV_EVENT_VIDEO_RECONFIG on uninitGravatar wm42014-10-24
| | | | | This event basically means "something about video changed", and uninit is certainly an important change.
* player: adjust uninit order of componentsGravatar wm42014-10-24
| | | | | | | | Most things should be allowed to access the client API unconditionally (for example for sending events), so move destroying the client API down. Also, mp_uninit_ipc() should happen before the point at which all clients are shutdown, or there will be a small time window in which new clients can be created after destroying them all.
* command: fix debug outputGravatar wm42014-10-24
| | | | It was a bit ugly/annoying.
* osc: make text squuezing layout dependentGravatar ChrisK22014-10-24
| | | | | | | | | | | Wether and when the text of a button should be squeezed when it gets too long can now be configured in the layout: lo.button.maxchars = <number> nil = no squeezing (default) If the button text has more than <maxchars> characters, it will be squeezed to the estimated width of <maxchars>.
* osc: make tooltip_an default propertyGravatar ChrisK22014-10-24
|
* terminal: drop ncurses/terminfo/termcap supportGravatar wm42014-10-23
| | | | | | It was disabled since the last release, and nobody complained loudly. Further details see commit 4b5c3ea7.
* terminal: strictly don't read terminal input if stdout is not a terminalGravatar wm42014-10-23
| | | | | | | | | | | | | Doing that doesn't make sense anyway: it's meant for interactive input, and if the output of the player is not on the terminal, how will you interact with it? It was also quite in the way when trying to read verbose output with e.g. less while the player was running, because the player would grab half of all input meant for less (simply because stdin is still connected to the terminal). Remove the now redundant special-casing of pipe input.
* player: fix exiting if both audio and video fail initializingGravatar wm42014-10-23
| | | | | | | | | | | | | The player was supposed to exit playback if both video and audio failed to initialize (or if one of the streams was not selected when the other stream failed). This didn't work; for one this check was missing from one of the failure paths. And more importantly, both checked the current_track array incorrectly. Fix these issues, and move the failure handling code into a common function. CC: @mpv-player/stable
* ao_alsa: move parameter append code to a functionGravatar wm42014-10-23
| | | | | Why not. (I thought I needed this, but my other experiments failed. So this is merely a minor cleanup.)
* lua: fix non-senseGravatar wm42014-10-23
| | | | Let's actually test our code next time.
* client API: print properties set with -vGravatar wm42014-10-23
| | | | | Useful for debugging. Considered doing this in command.c, but it's easier here.
* m_option: format mpv_node as jsonGravatar wm42014-10-23
| | | | | Useful for debugging and informational purposes. Not sure if it's sane in any form.
* command: print executed commands with -vGravatar wm42014-10-23
|
* osd: slightly change default styleGravatar Martin Herkt2014-10-23
| | | | | Wider vertical margins, slightly thicker border and larger font size should be an improvement.
* command: add a "cached" mode to sub_addGravatar wm42014-10-23
| | | | | This avoids reloading a subtitle if it was already added. In all cases, the subtitle is selected.
* osc.lua: add “bottombar” and “topbar” layoutsGravatar Martin Herkt2014-10-23
|