aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Support linking ANGLEGravatar Martin Herkt2016-11-23
|
* DOCS/compile-windows: be more specific about the D3D compiler DLLGravatar Martin Herkt2016-11-23
| | | | Also provide a more useful link to _43 and _47.
* vo_opengl: hwdec_d3d11egl: fix ANGLE fallback defineGravatar wm42016-11-23
| | | | | | This was a typo in the extensiuon spec and was probably always broken. Could have led to broken builds when used with ancient ANGLE headers (or possibly generic EGL headers).
* vo_opengl: hwdec_cuda: Use dynamic loading for cuda functionsGravatar Philip Langdale2016-11-23
| | | | | This change applies the pattern used in ffmpeg to dynamically load cuda, to avoid requiring the CUDA SDK at build time.
* osc: fix use of deprecated idle propertyGravatar Ricardo Constantino2016-11-22
| | | | Fixes regression since 7201fd7d
* vo_opengl: hwdec_cuda: Support P016 output surfacesGravatar Philip Langdale2016-11-22
| | | | | | | | | The latest 375.xx nvidia drivers add support for P016 output surfaces. In combination with an ffmpeg change to return those surfaces, we can display them. The bulk of the work is related to knowing which format you're dealing with at the right time. Once you know, it's straight forward.
* options: remove legacy global sub-option syntaxGravatar wm42016-11-22
| | | | | | A bit of sanity, although a very small one. --vo sub-options are not affected by this yet.
* command: redefine some deprecated propertiesGravatar wm42016-11-22
| | | | | | | | | | | | | | As threatened by the API changes document. We can actually keep the deprecated --playlist-pos and --cache options, since they are aliases and not used by the corresponding properties. They are inconsistent, but do no harm. Keep them for now for the sake of the command line user. mpv_identify.sh partially stopped working, because it was never updated. The shell magic can't deal with property names that contain "/", so we can't replace "samplerate" with "audio-params/samplerate" - just remove these properties. (How about you use ffprobe?)
* tv: fix option typeGravatar wm42016-11-22
| | | | | It appears this makes it actually compatible with the property. It was an ancient MPlayer artifact all along.
* wscript: fix typoGravatar wm42016-11-22
|
* vf_vdpaurb: remove this filterGravatar wm42016-11-22
| | | | Was deprecated, superseded by --hwdec=vdpau-copy.
* client API: turn mpv_suspend() and mpv_resume() into stubsGravatar wm42016-11-22
| | | | | | | | | | | As threatened by the API changes document. This commit also removes or stubs equivalent calls in IPC and Lua scripting. The stubs are left to maintain ABI compatibility. The semantics of the API functions have been close enough to doing nothing that this probably won't even break existing API users. Probably.
* d3d11va: unconditionally load D3D DLLsGravatar James Ross-Gowan2016-11-23
| | | | | | | | At least with Nvidia drivers, some thread tries to access D3D11 objects after ANGLE unloads d3d11.dll. Fix this by holding a reference to d3d11.dll ourselves. Might fix the crash in #3348. (I wish I knew why though.)
* Fix some future release version numbersGravatar wm42016-11-21
| | | | | | Since the recent release was named 0.22.0 instead of 0.21.1, bump all mentions of 0.22.0 to 0.23.0. These were planned removals of deprecated versions, which obviously didn't happen in 0.22.0.
* audio: fix --audio-stream-silence with ao_wasapiGravatar wm42016-11-21
| | | | | Seems like wasapi will restart the HDMI stream if resume is called during playback.
* audio: fix --audio-stream-silence with ao_alsaGravatar wm42016-11-21
| | | | | | | ao_alsa.c calls this before the common code sets ao->sstride. Other than this, I'm still not sure whether this works. Seems like no, or depends.
* osc: fix possible race condition in right timecodeGravatar Ricardo Constantino2016-11-21
|
* DOCS: update interface changesGravatar Martin Herkt2016-11-20
|
* options: clarify --softvol deprecation message and manpage entryGravatar wm42016-11-19
| | | | | People seem to think that the softvol behavior is deprecated, but what is deprecated is actually disabling softvol.
* player: removing last playlist entry while looping should not stopGravatar wm42016-11-18
| | | | | | | Run "playlist-remove current" while the last playlist entry is being played stopped playback. Fix this and return to the first entry instead. Fixes #3808.
* player: make sure non-video subtitle rendering is reset if video resumesGravatar wm42016-11-18
| | | | | | | | | | | | | | | | | If video reaches EOF, subtitle timing will be switched to timing without video frames. This means it calls osd_set_force_video_pts() and overrides the PTS of whatever video frame is current (since the video frame's PTS has nothing to do with the current playback position anymore). This was not reset when seeking back into video. Subtitles wouldn't show up, or if there was a subtitle displayed, it would get stuck with it. In particular, this could happen even if EOF was only temporary (such as with --keep-open). Fix this by clearing the override PTS whenever a video frame is shown. Fixes #3770.
* travis: fix ffmpeg-git buildGravatar Stefano Pigozzi2016-11-17
|
* win32: fix some Clang warningsGravatar James Ross-Gowan2016-11-17
| | | | | | | | - win32-console-wrapper.c was inconsistently using the explicit Unicode versions of some Windows API functions and structures. - vo.c should use llabs for int64_t, since long is 32-bit on Windows. - vo_direct3d.c had a potential use of an uninitialized variable if it took the first goto error_exit.
* build: fix compilation with mingw-w64/ClangGravatar James Ross-Gowan2016-11-17
| | | | | | | | | | This fixes the build in mingw-w64/Clang on MSYS2. It also disables the use of gnu_printf in Clang, which was what was causing most of the warnings. The Clang-compiled mpv binary appears to work, but there are no guarantees yet, since until now mpv has only been tested with mingw-w64/GCC on Windows. Fixes #3800
* wscript: move install dirs setting to after C compiler checkGravatar Ricardo Constantino2016-11-16
| | | | | | | | This fixes waf setting the wrong LIBDIR for DEST_OS=win32 in waflib/Tools/c_config.py:get_cc_version() Any scripts assuming the implib and pkgconfig are in the wrong place should be changed to move the .dll instead.
* ytdl_hook: sort chapters by timeGravatar Ricardo Constantino2016-11-15
| | | | | mpv doesn't work well with unordered chapters. ex: https://youtu.be/DIKPUL6b4N8
* DOCS/client-api-changes.rst: fix typoGravatar wm42016-11-15
|
* DOCS/interface-changes.rst: reword a lineGravatar wm42016-11-15
| | | | | Try to make it sound a bit less weird. Probably still sounds weird, so feel free to propose further changes.
* README: add links to various changelogsGravatar wm42016-11-15
| | | | | | | | We're too lazy to maintain a full changelog, but there are still a bunch of places which document specific changes. A user really should check them on each update, even if there are transition periods (including printing warnings etc.) for most changes. It's a good idea to give them more exposure by adding them to the README.
* ao_alsa: explicitly add default device manuallyGravatar wm42016-11-14
| | | | | | | | | | | | | | The "default" entry (which is and always was mpv/mplayer's default) does not have a description set in the ALSA API. (While "sysdefault" strangely has.) Instead of an empty description, this should show something nice, so reuse the ao.c code for naming default devices (see previous commit). It's still a bit ugly that audio-device-list will have a default entry for "Autoselect device" and "Default (alsa)", but then again we probably want to allow the user to force ALSA (i.e. prevent fallbacks to other AOs) just because ALSA is so flaky and makes this a legitimate feature.
* audio: make empty device ID mean default deviceGravatar wm42016-11-14
| | | | | | | | | This will make it easier for AOs to add explicit default device entries. (See next commit.) Hopefully this change doesn't lead accidentally to bogus "Default" entries to appear, but then it can only happen if the device ID is empty, which would mean the underlying audio API returned bogus entries.
* audio: avoid returning audio-device-list entries without descriptionGravatar wm42016-11-14
| | | | | | Use the device name as fallback. This is ugly, but still better than skipping the description entirely. This can be an issue on ALSA, where the API can return entries without proper description.
* vo_opengl: blend against background color for --alpha=blendGravatar Philip Sequeira2016-11-13
| | | | | Do it after color management, etc. so that it matches the color drawn in the margins.
* docs: remove trailing spacesGravatar Stefano Pigozzi2016-11-11
| | | Some slipped in with previous commit.
* cocoa: option to scale window by HiDPI scale factorGravatar Akemi2016-11-11
| | | | | | | | | | Deactivating this options makes it possible to circumvent the default OS X behavior of using points. Windows on HiDPI resolutions won't open in double the size anymore and videos are display in their native resolution when windowed. Fixes #3716
* av_common: always make sure to return a valid timebaseGravatar wm42016-11-10
| | | | | | | | | | | | | | | av_reduce(&num, &den, 1, 14112000, 1000000) can return num=0, den=1. This means a 1/14112000 timebase (as used by the mp3 demuxer) would become invalid. The intention of mp_get_codec_timebase() is to always return a valid timebase. av_reduce() probably does the logically correct thing - so add a fallback to the safe default timebase. Also, increase the av_reduce() parameter to INT_MAX. Let's just pray this doesn't cause any actual problems. libavformat does the same, but might be in a different position due to using av_rescale() etc., while we convert between fractional timestamps and floats.
* vdpau: fix hwdec uninitGravatar wm42016-11-10
| | | | | | | | | | | | This is a bit unintuitiv, but it appears hwdec backends have to unset hwdec_priv manually in their uninit function. Normally with this idiom you'd expect the common code to do this (and maybe even freeing the priv struct). Since other hwdec backends do this quite consistently, just fix vdpau for now. Also add an assert to detect similar bugs sooner. Fixes #3788.
* dec_video: don't spam missing PTS warningsGravatar wm42016-11-09
| | | | | Only print at most 2. Just because with some decoders, we will always hit this code path, such as playing avi of vfw-muxed mkv on RPI.
* dec_video, dec_audio: avoid full reinit on switches to the same segmentGravatar wm42016-11-09
| | | | | | Same deal as with the previous commit. (Unfortunately, this code is still duplicated.)
* dec_sub: avoid full reinit on switches to the same segmentGravatar wm42016-11-09
| | | | | | | | | | The previous commit means subtitles were reinitialized on every seek (even within a segment). This commit restores the old behavior. To check whether the segment changed at all, we don't reset the current start/end values. This assumes the decoder wrapper is always fed by a stream which doesn't mix segment and non-segment packets, which is currently always true.
* demux_timeline: always signal new segment after a seekGravatar wm42016-11-09
| | | | | | | | This is needed to put the decoders into the correct state. In particular, decoders will not initialize the current segment without this flag. The intention of not setting the flag for seeks within the segments were to avoid costly decoder reinits, but it seems this is better handled explicitly in the decoder wrappers.
* osc: add seekbarstyle=knobGravatar Ricardo Constantino2016-11-09
| | | | | | | | Most code from @leiserfg in #2365. Closes #2365 Cut guides to the center of the knob. This makes the knob knob look more like IRL knob sliders.
* osc: fix crashes when dragging seekbar across file changesGravatar Ricardo Constantino2016-11-08
| | | | Fixes #3210
* options: fnmatch: check existence instead of posixGravatar Avi Halachmi (:avih)2016-11-08
|
* demux: expose demuxer colorimetry metadata to playerGravatar Niklas Haas2016-11-08
| | | | | | Implementation-wise, the values from the demuxer/codec header are merged with the values from the decoder such that the former are used only where the latter are unknown (0/auto).
* demux_mkv: parse colorimetry metadataGravatar Niklas Haas2016-11-08
| | | | | | | | | Matroska actually has lots of colorimetry metadata that video tracks can use, including mastering metadata (HDR signal peak) etc. This commit adds the EBML definitions and parses the most basic fields. Note that nothing uses these fields yet, this commit is just adding the necessary parsing and infrastructure.
* ao_alsa: fill unused ALSA channels with silenceGravatar wm42016-11-08
| | | | | | | | | | This happens when ALSA gives us more channels than we asked for, for whatever reasons. It looks like this wasn't handled correctly. The mpv and ALSA channel counts could mismatch, which would lead to UB. I couldn't actually trigger this case, though. I'm fairly sure that drivers or plugins exist that do it anyway. (Inofficial ALSA motto: if it can be broken, then why not break it?)
* ao_alsa: strictly disable chmap use for mono/stereoGravatar wm42016-11-08
| | | | | | | | | | If the input is already mono or stereo, or if channel map selection results in mono or stereo, then disable further use of the champ ALSA API (or rather, stop trusting its results). Then we behave like a simple application that only wants to output mono or stereo. See #3045 and #2905. I couldn't actually test these cases, but this commit is supposed to fix them.
* ao_alsa: _really_ disable chmap API use in cases where we shouldGravatar wm42016-11-08
| | | | | | | | | | | set_chmap() skipped _setting_ the ALSA chmap if chmap use was requested to be disabled by setting dev_chmap.num=0 by the caller, but it still queried the current ALSA channel map. We don't trust it that much, so disable that as well. But we still query and log it, because that could be helpful for debugging. Otherwise we could skip the entire set_chmap() call in these cases.
* ao_alsa: slightly better debug loggingGravatar wm42016-11-08
| | | | | | | Try to make it more compact, and also always list the reordered layout, but only if it's actually different. Should be the same functionally.