aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* demux: explicitly wake up playback thread on metadata change etc.Gravatar wm42014-12-04
| | | | Probably doesn't matter much in practice.
* demux: don't print message if replaygain tags were not foundGravatar wm42014-12-04
| | | | Even thouhg it was printed in verbose mode only, it was annoying.
* discnav: remove redundant callGravatar wm42014-12-04
| | | | This was made the default a while ago.
* dvd, bd: don't unnecessarily block on demuxer/stream all the timeGravatar wm42014-12-04
| | | | | | | | | | | | | | | | | | This was completely breaking any low-level caching. Change it so that at least demuxer caching will work. Do this by using the metadata cache mechanism to funnel through the menu commands. For some incomprehensible reason, I had to reorder the events (which affects their delivery priority), or they would be ignored. Probably some crap about the event state being cleared before it could be delivered. I don't give a shit. All this code sucks. It would probably be better to let discnav.c access the menu event "queue" directly, and to synchronize access with a mutex, instead of going through all the caching layers, making things complicated and slow.
* input: add a hack to fix keyboard navigation with dvd/bd menuGravatar wm42014-12-04
| | | | | | | | | | If the user has LEFT/RIGHT/etc. bound in his input.conf, then these were overriding the menu keys in dvdnav mode. This hack works because the dvdnav crap happens to be the only user of MP_INPUT_ON_TOP. If it finds a default key binding in the dvdnav menu section, it will use that, instead of continuing search and possibly finding the user key bindings meant for normal playback.
* build: update to waf 1.8.4Gravatar Stefano Pigozzi2014-12-04
|
* coreaudio: reject descriptions with too many channelsGravatar Stefano Pigozzi2014-12-04
| | | | This is a fix attempt for #1279 and #1249.
* coreaudio: fix more layout printsGravatar Stefano Pigozzi2014-12-04
|
* coreaudio: fix prints of uint32_t in log_layoutGravatar Stefano Pigozzi2014-12-04
|
* dvd, bd, osc: disable OSC while a menu is activeGravatar wm42014-12-04
| | | | | | | They interfere. It turns out that commit b6ca4a48 actually broke this in weird ways, but this solution is better anyway.
* build: showqscale was removedGravatar wm42014-12-04
|
* video: remove things forgotten in previous commitGravatar wm42014-12-03
| | | | Oops.
* video: remove internal QP passingGravatar wm42014-12-03
| | | | | | | | | | | This was required by vf_pp, which was just removed. vf_dlopen has this stuff in its API. This API is considered stable, so the related fields are not removed from it. But the fields are always 0 now, so there's no point in keeping the example program around. vf_pullup.c did some extremely awkward passthrough of this information, but didn't actually use it.
* video/filter: kill vf_pp (libpostproc)Gravatar wm42014-12-03
| | | | | | | | | This is an ancient filter, and we assume it's not useful anymore. If you really want this, it's still available in libavfilter (e.g. via --vf=lavfi=[pp...]). The disadvantage is that mpv doesn't pass through QP information to libavfilter. (This was probably the reason vf_pp still was part of mpv - it was slightly easier to pass QP internally.)
* lua: fully cleanup removed key bindingsGravatar wm42014-12-03
| | | | This is basically cosmetic; it was leaking the old handler functions.
* vo_opengl: make uninit idempotentGravatar wm42014-12-03
|
* vo_opengl: move hwdec parts into their own filesGravatar wm42014-12-03
| | | | | | This wasn't done before because there was no advantage in "abstracting" it. This changed, and putting this into its own files is better than messing it into gl_common.c/h.
* vdpau/GLX: don't access VO backendGravatar wm42014-12-03
| | | | | | | | | Same as with the previous commits. In theory, vdpau/x11 GL interop doesn't assume GLX. It could use EGL as well. But since it's always GLX in practice, so we're fine with this. Remove the gl_hwdec.mpgl field - it's unused now.
* vaapi/GLX: don't access VO backendGravatar wm42014-12-03
| | | | Same as with the VDA change.
* vda: make independent from cocoa backendGravatar wm42014-12-03
| | | | | | | | | Basically, don't access the vo field. There's also no reason anymore to access MPGLContext. We still need to access loaded GL functions though, so add a field for that to gl_hwdec. Untested.
* vda: use implicit current GL contextGravatar Stefano Pigozzi2014-12-03
| | | | Removes the dependency from the Cocoa backend in case we are not using it but still wanna use VDA GL introp.
* input, lua: make removing key bindings workGravatar wm42014-12-03
| | | | | | This just kept adding bindings to the input section, rather than defining it. One bad effect was that mp.remove_key_binding() in Lua didn't work.
* cocoa: remove urlencoding for url open eventsGravatar Stefano Pigozzi2014-12-02
| | | | | | This fixes using the mpv:// custom protocol on Yosemite were apparently we receive an url which is automatically urlencoded by the system. /cc mpv-player/stable
* build: give precedence to Lua52 over LuaJITGravatar Stefano Pigozzi2014-12-02
| | | | | LuaJIT ships with a broken .pc file on OS X (see #1110), and leaving Lua52 last was done only to improve libquvi interoperability.
* cocoa: add https:// url scheme to bundle's plistGravatar Stefano Pigozzi2014-12-02
|
* cocoa: add mk3d UTI to bundle's plistGravatar Nyx0uf2014-12-02
| | | | | | This should allow lauching a mk3d file directly from the Finder. Fixes #1311
* client API: allow multiple mpv instances with terminal=yesGravatar wm42014-12-02
| | | | | | | | | | | | | | | This is simply not allowed, and doing it triggered an assertion. It's still not allowed, because the terminal and related functionality is a global resource, and there doesn't seem to be a sane way to manage the signal handlers. But be a bit nicer, and just the terminal if it's already in use. Note that terminal _output_ happens anyway. This becomes usable with this commit. To facilitate logging-only usage further, also explicitly disable terminal input, so that "terminal=yes" can be used for logging without much interference with other things. (It'll still overwrite some signal handlers, though.)
* vo_opengl: minor changesGravatar wm42014-12-02
| | | | | | | | | | | | | | Always set the viewport on entry. The way the viewport is tracked is a bit complicated in my opinion, and in fact it doesn't even reduce the number of GL calls. Setting it on entry is actually redundant if video covers the screen fully, because the handle_pass() unconditionally sets it anyway, but avoiding it would complicate the cases gl->Clear() is actually needed. Add a fbo argument to gl_video_render_frame(). This allows you to render into a FBO rather than the default framebuffer. It will be useful for providing an API to render on an external GL context. (If that will actually be added.)
* vo_opengl: print error number if framebuffer creation failsGravatar wm42014-12-02
| | | | | | | | Seems like a waste not to print this. Anyone with enough technical knowledge to have use for the exact error can map the number back to the GL symbol, so don't bother to convert it to a symbol.
* osc: always force mouse_move bindingGravatar wm42014-12-02
| | | | | | So the OSC will still appear when using --no-input-default-bindings. It also means it may override a user's mouse_move binding, but I guess users who don't want the OSC should just use the --no-osc option.
* lua: fix broken error messageGravatar wm42014-12-02
| | | | | luaL_error() doesn't support %.*s, because it uses Lua's own format string mechanism that just looks like the C one. Just drop this part.
* vd_lavc: use avcodec_is_open()Gravatar wm42014-12-02
| | | | | This is "better", although nobody seems to know how this API is supposed to work at all.
* player: don't signal an error if --stream-dump is usedGravatar wm42014-12-02
| | | | | | | The player thinks an error happened because no audio or video was played after finishing the file, but this obviously makes no sense with stream dumping. (error_playing follows the client API convention that negative values are errors.)
* client API: print version on initializationGravatar wm42014-12-02
| | | | | A rather big oversight, because a log produced with the client API will not contain the mpv version at all otherwise.
* DOCS/client-api-changes: mark release 0.7.0Gravatar wm42014-12-02
|
* cocoa: split mkv/webm for imported UTI in plistGravatar Nyx0uf2014-12-01
|
* cocoa: fix opening reference URLs (.file/id=)Gravatar Stefano Pigozzi2014-12-01
| | | | | | Fixes #1202 /cc @mpv-player/stable
* audio: fix one of the previous commitsGravatar wm42014-12-01
| | | | | Fixes commit 52c51149. It broke multichannel (or possibly everything) for ao_alsa, ao_oss, ao_sndio.
* cocoa: allow to black out other display when going fsGravatar Stefano Pigozzi2014-12-01
| | | fixes #1302
* ao_coreaudio: initialize fetched properties to zerosGravatar Stefano Pigozzi2014-12-01
| | | Should hopefully fix #1249 and #1279
* options: fix channel map options sometimes failingGravatar wm42014-12-01
| | | | | | | | | | Channel amp otpions were not copied correctly: it copied the size of a pointer to struct chmap, not the struct itself. Since mp_chmap is currently 9 bytes, this meant the last channel entry was not copied correctly on 64 bit systems, leading to very strange failures. It could be triggered especially when using the client API, because the client API always copies options on access (mpv command line options tend to work directly on options).
* options: fix swapped deprecated/replacement in warningGravatar wm42014-12-01
| | | | | This was relevant for --af and --vo (both use this option type, and have deprecated aliases).
* options: simplify channel map validationGravatar wm42014-12-01
| | | | | The min=-1 case was never used, and the channel map must always be valid (or in some cases, invalid but empty).
* audio: allow more than 20 channel map entriesGravatar wm42014-12-01
| | | | | | | | | | | | | This could trigger an assertion when using ao_alsa or ao_coreaudio. The code was simply assuming the number of channel maps was bounded statically (which was true at first in both AOs). Fix by using dynamic memory allocation. It needs to be explicitly enabled by the AOs by setting a temp context, because otherwise the memory couldn't be freed. (Or at least this seems to be the most elegant solution.) Fixes #1306.
* vo_opengl: remove redundant GL state initializationGravatar wm42014-12-01
| | | | | | | All of these are already the defaults. One exception is glDepthMask(), which is enabled by default. But if the framebuffer has no depth buffer anyway, it shouldn't make a difference.
* vd_lavc: don't crash if codec could not be openedGravatar wm42014-12-01
| | | | Fixes #1307.
* ao/wasapi: make set_ao_format EX/EXTENSIBLE agnosticGravatar Kevin Mitchell2014-12-01
| | | | | | | | | There is no guarantee that closestMatch returned by IsFormatSupported is actually a WAVEFORMATEXTENSIBLE. http://msdn.microsoft.com/en-us/library/windows/desktop/dd370876%28v=vs.85%29.aspx We should therefore not blindly treat it as such.
* ao/wasapi: fix set_ao_formatGravatar Kevin Mitchell2014-12-01
| | | | | | | | | | | Before it used whatever was in ao->format and changed the bits even though this might have nothing to do with the actual WAVEFORMAT negotiated with WASAPI. For example, if the initial ao->format was a float and we had set the WAVEFORMAT to s24, this would create a non-existent float24 format. Worse, it might put an u16 into ao->format when WAVEFORMAT described s16. WASAPI doesn't support unsigned at all as far as I can tell.
* ao/wasapi: show actual waveformat triedGravatar Kevin Mitchell2014-12-01
| | | | also remove bogus ao_format
* ao/wasapi: don't assume 32-bits == floatGravatar Kevin Mitchell2014-12-01
| | | | | | | | | | This was based on old WAVEFORMATEX restrictions http://msdn.microsoft.com/en-us/library/windows/hardware/ff538799%28v=vs.85%29.aspx With the new WAVEFORMATEXTENSIBLE, this is no longer a problem. and we can have s32 or float32 so we need to actually check / set these correctly. fixes #1287