summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mp_image: strip all HDR peak information from SDR clipsNiklas Haas2018-09-291-0/+6
| | | | | | | | | By overriding it with 1.0 (aka SDR). This prevents blowing up on mistagged clips. Fixes #6111 (cherry picked from commit 48c38f730d87b105716d9321a375175d2f01d401)
* ao_pulse: fix tlength calculationTom Yan2018-09-293-17/+3
| | | | | | also remove the now unused non-sensical af_fmt_seconds_to_bytes. (cherry picked from commit 9d6b15ab32d4c231574f392c193a53e865b2206d)
* Revert "ao_openal: enable building on OSX"Michael Hoang2018-09-293-27/+2
| | | | | | | | This reverts commit af6126adbe61fb2b6cc780025246d33df93072e6. Apple's OpenAL support is ridiculously out of date, revert back to just using OpenAL Soft on macOS (fixes #4645). (cherry picked from commit 91786fa99c15dc64d3bce4be413326ba2dbe59f7)
* vo_gpu: avoid overwriting compute shader block sizesNiklas Haas2018-09-291-4/+10
| | | | | | | | | | | | When using multiple compute shaders as part of the same pass, there can be a conflict in the block sizes. In the problematic case, the HDR detection shader can collide with the polar sampling shader. In this case, the solution is clear - the passes that can handle any size should "give in" and not overwrite the block sizes. Fixes #6083. (cherry picked from commit 1890ca024e541e1d07bdee242b75b24391b4434a)
* af_rubberband: reset delay to 0 on resetHector Martin2018-09-291-0/+2
| | | | | | This fixes A-V drift on seeking (cherry picked from commit a10754f038b7a69436bef536d9ed7cc4755ba0d1)
* manpage: fix reference to --tone-mapping by old option nameAnton Kindestam2018-09-291-1/+1
| | | | (cherry picked from commit d2d7dba6ee3182174420c1d90caa20bf28ad7758)
* ytdl_hook: always load ytdl:// links with ytdl_hook firstRicardo Constantino2018-09-291-7/+23
| | | | | | Suggested in IRC by sfan5. (cherry picked from commit d8131568c8c900b62103f11846d149877654f2d9)
* osx: Fix initialization and access of service menuMichael Hoang2018-09-291-2/+2
| | | | | | | Replace dot syntax with accessor syntax so that clang no longer errors out due to not finding the property servicesMenu on NSApp. (cherry picked from commit 4e9e46b9f8871f46de3e1a192cbcb02d54ba0d52)
* cocoa-cb: fix crash on macOS 10.10Akemi2018-09-291-1/+3
| | | | | | | | the colorspace of the layer is only available on 10.11 and upwards. Fixes #6041 (cherry picked from commit 049816c1451449932f1ed2047f6643d7c7ac8a63)
* cocoa-cb: fix crash when no screen is availableAkemi2018-09-291-1/+1
| | | | | | | | | | instead of force unwrapping and chaining the optional vars in our containsMouseLocation function, safely unwrap and guard the resulting var. Fixes #6062 (cherry picked from commit 6bf0edc59cc377705a44fcb30890592aaaff79c0)
* audio/format: decouple af_fmt_is_planar from af_fmt_to_planarTom Yan2018-09-291-16/+15
| | | | | | | so that af_fmt_to_planar (and hence af_fmt_from_planar) can just return the input when it is not an interleaved (planar) format. (cherry picked from commit f2311ff51461ec9539efb00458b8a54ded56511b)
* manpage: Correct show-text duration default valuejaseg2018-09-291-1/+1
| | | | | | duration is parsed as an integer, and the default value is used if ```-1``` is passed. Passing ```-``` as described here causes a parameter value error. (cherry picked from commit cfecbac863cea893d8f3cc462ea0610121f660da)
* manpage: fix --vf exclamation mark descriptionpavelxdd2018-09-291-1/+1
| | | | | | | An exclamation mark disables the filter by default instead of enabling it. (cherry picked from commit 759a6a259e8ac865afe9dbf5b15d55d82bf78d52)
* audio/format: minor fix for af_fmt_from_planarTom Yan2018-09-291-2/+4
| | | | | | See af_fmt_to_planar. (cherry picked from commit 4e91cb72ef926e6a7276c15f6a24549ff62afba8)
* ci: explicitly call waf with python3Martin Herkt2018-09-292-4/+4
| | | | | | | | Python 2 may not be present in the CI images in the future, but waf’s shebang line still uses its executable name. Explicitly call the right major version of the interpreter. (cherry picked from commit 6eb59fea2fca348a72b0cc8a84ccb7dcfe2f8fe6)
* ci: do bootstrap outside the docker containerJan Ekström2018-09-293-2/+1
| | | | | | | | | This way the docker container in itself does no networking. It seems like travis disabled network access from the actual docker containers. (cherry picked from commit 2d785f3ea39d6779a6ac44d85d7cdc0acf891f43)
* stream_smb/stream_file: fix `write_buffer`Yclept Nemo2018-07-292-16/+16
| | | | | | | Functions `write` and `smbc_write` are given a diminishing buffer of incorrect constant size. After partial writes, the code would do another write of the full original length, failing to subtract the amount already written.
* stream_smb: locking to bypass libsmbclient issuesYclept Nemo2018-07-291-1/+21
| | | | | | | | | | | | | | | | | | Thread-unsafe libsmbclient is likely to crash when used simultaneously across threads. For example, by: mpv "smb://...mkv" --sub-file "smb://...srt" Work around this by locking all calls to this library under a single global mutex. This is a temporary solution. When the libsmbclient bug [1] is fixed, switch to the code from branch [2] which uses a new api to create per-thread smb contexts. Fixes [3]. [1] https://bugzilla.samba.org/show_bug.cgi?id=11413 [2] https://github.com/orbisvicis/mpv/tree/smbclient_threaded_api [3] https://github.com/mpv-player/mpv/issues/5936 (cherry picked from commit 112b3fa92266ab36dbffa2abf66034203f66b2ce)
* manpage: fixup mistaken show playlist/track-list shortcutsDaniel M. Capella2018-07-231-2/+2
| | | | | | | This was mistaken in 496b13227b7f4b47a660bbf4e314f9a55b7e8867 and not noticed in review. (cherry picked from commit 45beb7073a1cef89e87a2d562ce8c233fc140dae)
* Release 0.29.0v0.29.0Martin Herkt2018-07-222-116/+95
|
* wscript_build: apply project-wide CFLAGS/LDFLAGS to mpv.comStephen Hutchinson2018-07-191-2/+2
| | | | | | | mpv.com fails to build when cross-compiling with a multilib version of GCC, because the -m32 flags aren't getting passed to the build process for osdep/win32-console-wrapper.c or the link phase for mpv.com itself.
* build: if libdir is not set, set it to EXEC_PREFIX/libJan Ekström2018-07-191-0/+13
| | | | | This way the behavior of default libdir stays consistent before and after switching to gnu_dirs from waf itself.
* build: bump waf to 2.0.9Akemi2018-07-121-2/+2
| | | | Among other things, fixes compatibility with python 3.7.x.
* build: utilize built-in gnu_dirs module for installation directoriesAkemi2018-07-122-15/+22
| | | | | | | | | | | | | | | | | | | | | | This started breaking with newer (2.0.x) waf versions, and it was noticed that a built-in waf module was providing very similar functionality. APPNAME definition was required to have `gnu_dirs`' PACKAGE variable to be defined in order to have f.ex. documentation installed to the correct directory. Currently unused options added by `gnu_dirs` were removed to clean up the output of the help command. Effective changes to behavior: - `gnu_dirs` will attempt to figure out if it needs to use lib64 instead of lib within your installation prefix. If you would like it to not do that, set `--libdir` during configuration. The way it tries to figure lib/lib64 out is if there's a `/usr/lib64` and no `/usr/lib32`. - `--incdir` is now `--includedir` as per standard `gnu_dirs` behavior.
* build: explicitly delay adding of object files to linkingAkemi2018-07-121-0/+1
| | | | | | | | | | Before, `do_the_symbol_stuff` would implicitly come before `handle_add_object`, which adds object files to the linking task. With newer (2.0.x) versions of waf, the ordering seems to get more optimized, and thus we have to declare that the function that creates the linking task should come before the task that adds object files to the task.
* hwdec_vaegl: Fix VAAPI EGL interop used with gpu-context=drmAnton Kindestam2018-07-093-6/+29
| | | | | | | | Add another parameter to mpv_opengl_drm_params to hold the FD to the render node, so that the fd can be passed to hwdec_vaegl. The render node is opened in context_drm_egl and inferred from the primary device fd using drmGetRenderDeviceNameFromFd.
* context_drm_egl: Fix CRTC setup and release code when using atomicAnton Kindestam2018-07-096-41/+217
| | | | | | | | | | The previous code did not save enough information about the old state, and could end up changing what plane the fbcon:s FB got attached to, or in worse case causing a blank screen (observed in some multi-screen setups on Sandy Bridge). In addition refactor the handling of drmModeModeInfo property blobs to not leak, as well as enable reuse of already created blobs.
* context_drm_egl: Fix some memory leaks on error exitAnton Kindestam2018-07-091-63/+66
| | | | | Fix some memory leaks on error exit in crtc_setup_atomic and crtc_release_atomic.
* gpu: prefer 16bit floating point FBO formats to 16bit integer onesJan Ekström2018-07-082-4/+7
| | | | | | According to earlier discussions, this can improve visual quality. This only changes the preferred order of the formats, not the formats themselves.
* build: fix linking libmpv when swift features are buildAkemi2018-07-081-7/+14
| | | | | | | | this was caused by commit 2e7a4f7. the LAST_LINKFLAGS were not added to the linking of libmpv and that caused a linking error. manually add the link flags the same way it's done when linking mpv. Fixes #5968
* wscript_build: fixup swift include parameter to point to source rootJan Ekström2018-07-081-2/+2
| | | | | | Fixes compilation of the swift components with `--variant="random_string"`, in which case "." is not the source directory.
* ci: add mingw64 targetsMartin Herkt2018-07-052-1/+38
|
* ci: switch to cirno.systems docker registryMartin Herkt2018-07-051-4/+4
| | | | Much faster build cycles and more consistent download bandwidth.
* ci: enable libsmbclientMartin Herkt2018-07-051-5/+6
|
* ci: switch Travis env language to genericMartin Herkt2018-06-251-1/+1
| | | | This way it doesn’t override CC.
* ci: add more build targetsMartin Herkt2018-06-251-2/+5
| | | | | Travis now builds with Clang and containers with git snapshots of some dependencies.
* ci: Use custom container for Travis buildsMartin Herkt2018-06-252-22/+26
| | | | | | | | Temporary solution. For now, this builds using a container image based on openSUSE Tumbleweed with the current FFmpeg release. More containers will be added (at least with git snapshots of FFmpeg and libass), and Travis will eventually be replaced with something we have more control over.
* TOOLS/autoload: Fixed broken "disabled" optionAndreas Wennerberg2018-06-231-0/+1
| | | | `--script-opts=autoload-disabled=yes` now properly stops the script from running.
* demux_mkv: add A_MLP to mkv_audio_tagsNicolas F2018-06-221-0/+1
| | | | Fixes #5923
* build: add static libraries to libmpv.pcMartin Herkt2018-06-201-4/+8
|
* cocoa-cb: fix building with Swift 4.2coverity_scanAkemi2018-06-122-7/+7
| | | | | | | | | init is a reserved keyword and Swift 4.2 got a bit stricter about using it. this could be fixed by adding apostrophes around init but makes the code uglier. hence i just renamed init to initialized and for consistency uninit to uninitialized. Fixes #5899
* build: manually add standard library search paths for linkingAkemi2018-06-122-8/+11
| | | | | | | | | | | this reverts commit a174566 since the actually reason for failing has been found. the isysroot flag overwrites the framework and library search paths. though we only need to overwrite the former and there is no way to just overwrite that one. we manually add the standard library search paths to the very end of the linking command, so it won't interfere with the search paths extracted by waf. Fixes #5791
* cocoa-cb: remove pre-allocation of window, view and layerAkemi2018-06-129-140/+158
| | | | | | | | | | | the pre-allocation was needed because the layer allocated a opengl context async itself and we couldn't influence that. so we had to start the core after the context was actually allocated. furthermore a window, view and layer hierarchy had to be created so the layer would create a context. now, instead of relying on the layer to create a context we do this manually and re-use that context later when the layer wants to create one async itself.
* vo_libmpv: pass vo struct to the control callbackAkemi2018-06-123-11/+13
|
* options.c: display additional metadata tags during video playbackStephen Hutchinson2018-06-111-2/+3
| | | | | | | | The currently-displayed tags make sense for music files, but similar information for video is more commonly - or at least should be - put under other tags, while the audio-related tags are often used for other information on video files (particularly with youtube-dl's output).
* stats: remove superfluous line breaksJulian2018-06-091-1/+1
| | | | | Those accidentally slipped in with 9975835bdeec3f2b04b136ef40c70b02487bb0e6 due to bad copy & paste.
* hwdec_drmprime_drm: Do not show error message during probingAnton Kindestam2018-06-081-1/+1
| | | | | Change the log-level of an error message that would sometimes show up during hwdec probing, and could be misleading.
* stream_file: enable cache for FUSE filesystems on OpenBSD and FreeBSDgall0ws2018-06-051-1/+1
|
* osc: fix accidentally skipping files when seeking with sliderfatalis2018-06-041-0/+2
| | | | | | | When seeking near the end of the file and the next file loads, seeking continues on the next file at the same position and then immediately the file after that. This patch stops slider seeking when a new file is loaded, which is the standard behavior of many other players.
* ao_alsa: simplify get_space()Jan Ekström2018-06-041-6/+10
|
* ao_alsa: replace snd_pcm_status() with snd_pcm_avail() in get_space()Muhammad Faiz2018-06-041-5/+4
| | | | | | | | | | Fixes a bug with alsa dmix on Fedora 29. After several minutes, audio suddenly becomes bad and muted. Actually, I don't know what causes this. Probably this is a bug in alsa. In any case, as snd_pcm_status() returns not only 'avail', but also other fields such as tstamp, htstamp, etc, this could be considered a good simplification, as only avail is required for this function.
* vo_sdl: add support for screensaver VOCTRL'ssfan52018-06-021-3/+24
| | | | | Previously vo_sdl would unconditonally disable the screensaver, ignoring the `stop-screensaver` option.
* vo_gpu: desaturate after peak detectionNiklas Haas2018-05-311-12/+12
| | | | | | | | | | This sacrifices some dynamic range for well-behaved sources, but prevents catastrophic desaturation on badly mastered / too bright sources. I think that's the better trade-off. This makes the desaturation algorithm much "safer" to deploy by default, as well. One could even argue going up to strength 1.0, which works better for some sources but worse for others. But I think the current strength is the best trade-off even after this change.
* player: fix coding stylewm42018-05-311-3/+3
| | | | | I'm also not sure whether this condition doesn't subtly break a lot of things.
* demux_lavf: drop obscure genpts optionwm42018-05-312-11/+0
| | | | | This code shouldn't even exist in libavformat. If you still need it, you can enable it via --demuxer-lavf-o.
* options: add --http-proxywm42018-05-312-0/+11
| | | | Often requested, trivial.
* player: remove deprecated vo/ao auto profileswm42018-05-312-9/+2
| | | | | These were deprecated almost 2 years ago. Now they happen to be in the way.
* m_config: remove outdated commentwm42018-05-311-1/+0
|
* m_config: check for int16_t offset overflowwm42018-05-311-1/+3
| | | | | | | | For some reason shadow_offset is a int16_t variable (to save some space or something), which means the static part of the entire option list must be below 32KB. This is fine, but still add a check against overflows. (Currently it's 3.6KB. This does not include dynamic allocations like strings.)
* m_config: remove an unused functionwm42018-05-312-15/+0
|
* m_option: remove an unused fieldwm42018-05-312-13/+0
|
* m_config: cosmetics: fix 2 typoswm42018-05-311-2/+2
|
* manpage: update --demuxer-thread optionwm42018-05-311-3/+6
| | | | Be a bit more detailed, and discourage disabling it.
* player: simplify edition switchingwm42018-05-314-13/+4
| | | | | | | | | | | | | | The player fully restarts playback when the edition or disk title is changed. Before this, the player tried to reinitialized playback partially. For example, it did not print a new "Playing: <file>" message, and did not send playback end to libmpv users (scripts or applications). This playback restart code was a bit messy and could have unforeseen interactions with various state. There have been bugs before. Since it's a mostly cosmetic thing for an obscure feature, just change it to a full restart. This works well, though since it may have consequences for scripts or client API users, mention it in interface-changes.rst.
* cmd: do not use a random value for MP_CMD_OPT_ARGwm42018-05-251-1/+1
| | | | | | | | | | | This flag is used only by the command parser. Its value overlapped with some of the existing m_option flags, but only flags that did not matter for the command parser (i.e. the flag bits used had mostly private uses in each component). It's still a bit unclean and dangerous to use an essentially random value, so reuse M_OPT_OPTIONAL_PARAM for it. Since M_OPT_OPTIONAL_PARAM has a slightly longer name than MP_CMD_OPT_ARG, I'm going to keep the old name.
* player: use canonical playback time for video refresheswm42018-05-251-4/+1
| | | | | | | | | | | | | | | | When changing video filters during initialization, there was a small time window where video was initialized, but playback restart was not complete yet. In this time window, playback_pts is not set. But since issue_refresh_seek() was using this, it could lead to no refresh being done _if_ the "video" had only 1 frame (such as cover art). Fix this by using get_current_time() instead, which is the current time with corner cases such as ongoing loading or seeks taken into account. See also the previous commit. Without that, get_current_time() could return NOPTS during init. Fixes #5831.
* manpage: mention that fd:// file descriptors may be modifiedwm42018-05-251-0/+2
| | | | | For example, we call setmode() to switch a FD from text to binary mode on garbage OSes.
* stream_file: properly detect stdin as pipewm42018-05-251-17/+16
| | | | | | | | | | | |