summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove compatibility thingswm42016-12-0722-278/+10
| | | | | | Possible with bumped FFmpeg/Libav. These are just the simple cases.
* build: bump required minimum versions to FFmpeg 3.2.2 and Libav 12wm42016-12-073-12/+27
| | | | Fixes the build with Libav 11 (not).
* manpage: move the --opengl-dumb-mode option downwm42016-12-071-14/+14
| | | | | | | It's horribly obscure - why would it be the first option to be listed? Also might fix the --scale option formatting/anchor in the HTML rendering.
* ao_alsa: print certain ALSA errors as string instead as numberwm42016-12-071-2/+2
|
* TOOLS/autoload: allow disabling through script-optsRicardo Constantino2016-12-051-1/+8
| | | | | | | | | | | This allows leaving autoload in auto-loaded scripts and to be used in a special profile like "pseudo-gui" without being troublesome to disable the behavior in profiles that get applied after pseudo-gui. Ex: [someprofile] script-opts=autoload-disabled=yes
* demux, stream: add option to prevent opening referenced fileswm42016-12-0416-3/+81
| | | | Quite irresponsibly hacked together. Sue me.
* vo_opengl: hwdec_cuda: Don't include hwcontext headersPhilip Langdale2016-12-041-4/+0
| | | | | After various simplifications, these includes simply aren't needed now.
* demux_lavf: blacklist ffm (ffserver)wm42016-12-041-0/+2
|
* osc: replace length property with durationpavelxdd2016-12-041-1/+1
| | | | | | Length property is deprecated and no longer works. This fixes a bug when the total file duration wasn't visible if the option to display milliseconds was activated.
* wscript: add ANGLE_EXPORT definitionshinchiro2016-12-041-1/+1
| | | | It always needed when linking ANGLE libs
* osc: don't hide playlist buttons, just disableRicardo Constantino2016-12-021-5/+6
| | | | | | | | Having empty space before the title in layout=*bar looks worse than the floating buttons in layout=box. Also disable both playlist buttons selectively according to the current position.
* osc: topbar: use same styles as bottombarRicardo Constantino2016-12-021-13/+13
|
* vdpau: fix vaapi probing if libvdpau-va-gl1 is presentwm42016-12-021-5/+7
| | | | | | | | | | | Needs explicit logic. Fixes a pretty bad regression which prefers vdpau-copy over native vaapi with direct rendering (with --hwdec=auto) if libvdpau-va-gl1 is present. The reason is that vdpau-copy is above vaapi, simply because all vdpau hwdecs are grouped and happened to be listed before vaapi. Although this is not that bad for copy-mode (unlike the case described above), it's still a good idea to use our native vaapi code instead.
* vo_opengl: don't rely on viewport to contain window dimensionswm42016-12-023-9/+7
| | | | | | | | | | | | | Apparently we don't always set the viewport to window dimensions anymore, e.g. if nothing is actually rendered. This means the viewport can contain old values. The window screenshot code uses the viewport values to guess the default framebuffer dimensions. With --force-window --idle --no-osc (which draws nothing and issues a glClear() command only), taking a screenshot would yield an image with the wrong size and possibly garbage in it. Fix this by explicitly passing the currently known window dimensions. Abusing the values stored in the viewport was questionable anyway.
* ao_wasapi: log return code when probing audio formatswm42016-11-302-13/+9
| | | | | | | | | We log a large number of formats, but we rarely log the result of the probing. Change this. The logic in try_format_exclusive() changes slightly, but should be equivalent. EXIT_ON_ERROR() checks for FAILED(), which should be exclusive to SUCCEEDED().
* player: don't print format detection error when aborting loadingwm42016-11-291-1/+1
| | | | | | | | The way playback/loading is stopped on the demuxer layer makes it report an error to the higher levels of the player. But if playback/loading was explicitly aborted, printing such an error is confusing and misleading. This was probably just an oversight anyway. Fix it by using the libmpv API reported error field instead, which handles this better.
* options: some simplificationswm42016-11-294-112/+21
| | | | | | | | Remove more stuff that was needed only for legacy suboptions. One user-visible change is that parent-options like --tv are now not visible anymore. They lead to a special error message when used before, but now they're simply not part of the option list anymore.
* ao_wasapi_utils: remove unused variablepavelxdd2016-11-271-1/+0
| | | | | Introduced in 1a2319f3e4cc42c680e2fd3ba30022c7a9adf3fe Produced a warning during compilation on Windows.
* wayland: destroy input before closing the display connection.Emmanuel Gil Peyrot2016-11-271-1/+1
| | | | | | Fixes a segfault introduced in libwayland e8ad23266f36521215dcd7cfcc524e0ef67d66dd, where a poison value has been introduced to catch this kind of use-after-free bug.
* options: remove deprecated sub-option handling for --vo and --aowm42016-11-2543-361/+219
| | | | | | | | Long planned. Leads to some sanity. There still are some rather gross things. Especially g_groups is ugly, and a hack that can hopefully be removed. (There is a plan for it, but whether it's implemented depends on how much energy is left.)
* angle_dynamic: silence warnings during compilationpavelxdd2016-11-251-4/+10
| | | | | | If Angle is statically linked there were some warnings during compilation. Fixes #3834
* audio/out/push: play silence on --audio-stream-silencewm42016-11-242-13/+34
| | | | | | | | | | | | | | | | | | | Until now, this was only implemented for ao_alsa and AOs not using push.c. ao_alsa.c relied on enabling funny underrun semantics for avoiding resets on lower levels, while other AOs using push.c didn't do anything. Change this and at least make push.c copy silent data to the AO. This still isn't perfect as keeping track of how much silence was played when seems complex, so we don't do it. The consequence is that frame-stepping will essentially randomize the A/V offset (it'll recover immediately when unpausing, but still ugly). Also, in order to empty the currently buffered audio on seeks etc., we still call ao_driver->reset and so on, so the AO driver will still need to handle this specially. The intent is to make behavior with ALSA less weird (for one we can remove the code in ao_alsa.c that tries to trigger an initial underflow). Also might help with #3754.
* vo_opengl: hwdec_cuda: Prefix cuda symbols to avoid collisionsPhilip Langdale2016-11-242-11/+18
| | | | | | We want to avoid causing problems if libmpv is used in an application that links cuda, or if the libav* libraries are linked with cuda, as might happen if the scale_npp filter is used.
* vo_opengl: hwdec_cuda: make some init errors verbosewm42016-11-241-2/+2
| | | | | Improves autoprobe behavior. This is equivalent to other hwdec interop wrappers. If CUDA is just not available, it should remain silent.
* vo_opengl: hwdec_cuda: fix crash when trying to use hwdec=cuda if cuda SDK ↵pavelxdd2016-11-241-0/+1
| | | | | | is not present If CUDA SDK wasn't installed, mpv crashed immediately with the message "Failed to load CUDA symbols"
* vo_opengl/cuda_dynamic: Use explicit cast to silence warnings on windowsPhilip Langdale2016-11-241-1/+1
| | | | Fixes #3834
* wscript: Fix cuda test to actually work when cuda SDK is not presentPhilip Langdale2016-11-233-4/+15
| | | | | | | | | | The test ended up failing if cuda.h wasn't present, even if cuda.h isn't used during the actual build. This test is attempting to establish if the ffmpeg being built against has dynlink_cuda support. While it might theoretically be possible to build against the older normally-linked-cuda version of ffmpeg, it seems more trouble than it's worth.
* command: warn against deprecated properties in all caseswm42016-11-231-13/+9
| | | | | | | | | For some reason, some types of accesses didn't warn, for example when using mp.observe_property() in Lua. This was because the deprecation handling code explicitly checks certain accesses. I'm not quite certain why it was done this way. Just make it warn always. This could be backported to the current release, if we cared.
* angle_dynamic: minor simplificationwm42016-11-231-3/+3
| | | | Remove the inverted condition by swapping if branches.
* demux_mkv: distinguish mp2 and mp3wm42016-11-231-2/+4
| | | | | demux_mkv.c has returned mp3 for mp2 since the initial commit. Normally not a problem.
* Support linking ANGLEMartin Herkt2016-11-232-0/+14
|
* DOCS/compile-windows: be more specific about the D3D compiler DLLMartin Herkt2016-11-231-7/+6
| | | | Also provide a more useful link to _43 and _47.
* vo_opengl: hwdec_d3d11egl: fix ANGLE fallback definewm42016-11-231-1/+1
| | | | | | 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 functionsPhilip Langdale2016-11-237-29/+222
| | | | | 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 propertyRicardo Constantino2016-11-221-1/+1
| | | | Fixes regression since 7201fd7d
* vo_opengl: hwdec_cuda: Support P016 output surfacesPhilip Langdale2016-11-225-12/+55
| | | | | | | | | 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 syntaxwm42016-11-223-60/+5
| | | | | | A bit of sanity, although a very small one. --vo sub-options are not affected by this yet.
* command: redefine some deprecated propertieswm42016-11-224-44/+13
| | | | | | | | | | | | | | 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 typewm42016-11-222-3/+3
| | | | | It appears this makes it actually compatible with the property. It was an ancient MPlayer artifact all along.
* wscript: fix typowm42016-11-221-1/+1
|
* vf_vdpaurb: remove this filterwm42016-11-225-122/+2
| | | | Was deprecated, superseded by --hwdec=vdpau-copy.
* client API: turn mpv_suspend() and mpv_resume() into stubswm42016-11-2211-115/+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 DLLsJames Ross-Gowan2016-11-231-1/+5
| | | | | | | | 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 numberswm42016-11-214-10/+10
| | | | | | 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_wasapiwm42016-11-211-2/+4
| | | | | Seems like wasapi will restart the HDMI stream if resume is called during playback.
* audio: fix --audio-stream-silence with ao_alsawm42016-11-211-2/+3
| | | | | | | 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 timecodeRicardo Constantino2016-11-211-2/+1
|
* DOCS: update interface changesMartin Herkt2016-11-202-3/+10
|
* options: clarify --softvol deprecation message and manpage entrywm42016-11-192-4/+5
| | | | | 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 stopwm42016-11-181-1/+1
| | | | | | | 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 resumeswm42016-11-181-3/+3
| | | | | | | | | | | | | | | | | 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 buildStefano Pigozzi2016-11-171-1/+1
|
* win32: fix some Clang warningsJames Ross-Gowan2016-11-173-5/+5
| | | | | | | | - 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/ClangJames Ross-Gowan2016-11-173-3/+3
| | | | | | | | | | 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 checkRicardo Constantino2016-11-162-11/+8
| | | | | | | | 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 timeRicardo Constantino2016-11-151-1/+1
| | | | | mpv doesn't work well with unordered chapters. ex: https://youtu.be/DIKPUL6b4N8
* DOCS/client-api-changes.rst: fix typowm42016-11-151-2/+2
|
* DOCS/interface-changes.rst: reword a linewm42016-11-151-2/+2
| | | | | 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 changelogswm42016-11-151-1/+20
| | | | | | | | 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 manuallywm42016-11-141-1/+4
| | | | | | | | | | | | | | 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 devicewm42016-11-141-7/+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 descriptionwm42016-11-143-2/+7
| | | | | | 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=blendPhilip Sequeira2016-11-132-9/+16
| | | | | Do it after color management, etc. so that it matches the color drawn in the margins.
* docs: remove trailing spacesStefano Pigozzi2016-11-111-2/+2
| | | Some slipped in with previous commit.
* cocoa: option to scale window by HiDPI scale factorAkemi2016-11-114-2/+19
| | | | | | | | | | 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 timebasewm42016-11-101-1/+5
| | | | | | | | | | | | | | | 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 uninitwm42016-11-102-1/+2
| | | | | | | | | | | | 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 warningswm42016-11-092-2/+11
| | | | | 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 segmentwm42016-11-092-12/+18
| | | | | | Same deal as with the previous commit. (Unfortunately, this code is still duplicated.)