summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml39
-rw-r--r--DOCS/client-api-changes.rst9
-rw-r--r--DOCS/edl-mpv.rst18
-rw-r--r--DOCS/interface-changes.rst66
-rw-r--r--DOCS/man/input.rst2
-rw-r--r--DOCS/man/mpv.rst9
-rw-r--r--DOCS/man/options.rst110
-rw-r--r--DOCS/man/vf.rst2
-rw-r--r--DOCS/man/vo.rst56
-rw-r--r--README.md12
-rw-r--r--RELEASE_NOTES209
-rw-r--r--TOOLS/lua/autoload.lua1
-rw-r--r--VERSION2
-rw-r--r--audio/decode/ad_spdif.c14
-rw-r--r--audio/filter/af_rubberband.c2
-rw-r--r--audio/format.c38
-rw-r--r--audio/format.h3
-rw-r--r--audio/out/ao_alsa.c29
-rw-r--r--audio/out/ao_audiounit.m2
-rw-r--r--audio/out/ao_jack.c3
-rw-r--r--audio/out/ao_openal.c14
-rw-r--r--audio/out/ao_opensles.c98
-rw-r--r--audio/out/ao_pulse.c6
-rwxr-xr-xbootstrap.py8
-rwxr-xr-xci/build-mingw64.sh34
-rwxr-xr-xci/build-tumbleweed.sh16
-rw-r--r--common/encode_lavc.c7
-rw-r--r--demux/demux.c3
-rw-r--r--demux/demux_edl.c5
-rw-r--r--demux/demux_lavf.c8
-rw-r--r--demux/demux_mkv.c1
-rw-r--r--demux/packet.c4
-rw-r--r--demux/stheader.h2
-rw-r--r--etc/builtin.conf1
-rw-r--r--filters/f_auto_filters.c4
-rw-r--r--input/ipc-unix.c4
-rw-r--r--libmpv/client.h2
-rw-r--r--libmpv/render.h12
-rw-r--r--libmpv/render_gl.h21
-rw-r--r--options/options.c7
-rw-r--r--osdep/io.h4
-rw-r--r--osdep/macOS_mpv_helper.swift37
-rw-r--r--osdep/macOS_swift_bridge.h1
-rw-r--r--osdep/macosx_application.h6
-rw-r--r--osdep/macosx_application.m76
-rw-r--r--osdep/macosx_application_objc.h2
-rw-r--r--osdep/macosx_events.m21
-rw-r--r--osdep/macosx_menubar.m4
-rw-r--r--osdep/posix-spawn.h4
-rw-r--r--osdep/strnlen.h4
-rw-r--r--player/audio.c2
-rw-r--r--player/command.c2
-rw-r--r--player/core.h1
-rw-r--r--player/loadfile.c19
-rw-r--r--player/lua/osc.lua2
-rw-r--r--player/lua/stats.lua4
-rw-r--r--player/lua/ytdl_hook.lua34
-rw-r--r--stream/stream_file.c18
-rw-r--r--stream/stream_libarchive.c11
-rw-r--r--stream/stream_smb.c39
-rw-r--r--video/mp_image.c6
-rw-r--r--video/out/cocoa-cb/events_view.swift7
-rw-r--r--video/out/cocoa-cb/video_layer.swift114
-rw-r--r--video/out/cocoa-cb/window.swift112
-rw-r--r--video/out/cocoa/events_view.m6
-rw-r--r--video/out/cocoa_cb_common.swift131
-rw-r--r--video/out/cocoa_common.m4
-rw-r--r--video/out/drm_atomic.c203
-rw-r--r--video/out/drm_atomic.h51
-rw-r--r--video/out/drm_common.c32
-rw-r--r--video/out/drm_common.h10
-rw-r--r--video/out/gpu/context.c8
-rw-r--r--video/out/gpu/libmpv_gpu.c15
-rw-r--r--video/out/gpu/ra.h1
-rw-r--r--video/out/gpu/shader_cache.c3
-rw-r--r--video/out/gpu/spirv.c10
-rw-r--r--video/out/gpu/spirv_shaderc.c2
-rw-r--r--video/out/gpu/utils.c24
-rw-r--r--video/out/gpu/video.c51
-rw-r--r--video/out/gpu/video.h3
-rw-r--r--video/out/gpu/video_shaders.c30
-rw-r--r--video/out/libmpv.h4
-rw-r--r--video/out/opengl/common.c3
-rw-r--r--video/out/opengl/context_drm_egl.c205
-rw-r--r--video/out/opengl/hwdec_cuda.c353
-rw-r--r--video/out/opengl/hwdec_drmprime_drm.c67
-rw-r--r--video/out/opengl/hwdec_vaegl.c11
-rw-r--r--video/out/opengl/ra_gl.c10
-rw-r--r--video/out/vo_drm.c10
-rw-r--r--video/out/vo_libmpv.c17
-rw-r--r--video/out/vo_sdl.c27
-rw-r--r--video/out/vo_x11.c4
-rw-r--r--video/out/vulkan/common.h4
-rw-r--r--video/out/vulkan/context.c44
-rw-r--r--video/out/vulkan/malloc.c45
-rw-r--r--video/out/vulkan/malloc.h4
-rw-r--r--video/out/vulkan/ra_vk.c83
-rw-r--r--video/out/vulkan/ra_vk.h20
-rw-r--r--video/out/vulkan/spirv_nvidia.c54
-rw-r--r--video/out/vulkan/utils.c69
-rw-r--r--video/out/vulkan/utils.h9
-rw-r--r--video/out/w32_common.c155
-rw-r--r--video/out/wayland/server-decoration.xml94
-rw-r--r--video/out/wayland_common.c33
-rw-r--r--video/out/wayland_common.h4
-rw-r--r--video/out/x11_common.c7
-rw-r--r--waftools/checks/custom.py30
-rw-r--r--waftools/detections/compiler_swift.py19
-rw-r--r--waftools/generators/sources.py1
-rw-r--r--waftools/waf_customizations.py21
-rw-r--r--wscript82
-rw-r--r--wscript_build.py73
112 files changed, 2294 insertions, 1265 deletions
diff --git a/.travis.yml b/.travis.yml
index b7881a1ad7..8e3d962834 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,44 +1,39 @@
-language: c
+language: generic
os:
- linux
- #- osx
+
+services:
+ - docker
+
+sudo: required
+
env:
matrix:
- - LIBAV=ffmpeg-git
- - LIBAV=libav-git
+ - CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci:stable-deps CI_SCRIPT=ci/build-tumbleweed.sh CC=gcc
+ - CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci:stable-deps CI_SCRIPT=ci/build-tumbleweed.sh CC=clang
+ - CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci:snapshot-deps CI_SCRIPT=ci/build-tumbleweed.sh CC=gcc
+ - CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci:snapshot-deps CI_SCRIPT=ci/build-tumbleweed.sh CC=clang
+ - CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci-mingw64:i686 CI_SCRIPT=ci/build-mingw64.sh TARGET=i686-w64-mingw32
+ - CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci-mingw64:x86_64 CI_SCRIPT=ci/build-mingw64.sh TARGET=x86_64-w64-mingw32
global:
# Coverity token
- secure: "H21mSRlMhk4BKS0xHZvCFGJxteCP0hRVUxTuNfM2Z9HBsyutuLEYMtViLO86VtM+Tqla3xXPzUdS4ozLwI72Ax/5ZUDXACROj73yW6QhFB5D6rLut12+FjqC7M33Qv2hl0xwgNBmR5dsm1ToP37+Wn+ecJQNvN8fkTXF+HVzOEw="
# Travis token for mpv.io
- secure: "nlTVLJK6kRhtXvhKCoJ3YdFGHuKaq/eHowfPw25hqRWuBOZd+HjHY5KIYjV7SxuKFDpJE4GpNcvA3Q31nsqomxpkLYgrwjg6TSazN7ZP+x85ZgV1QGFebrPfGm2n5UR5CAPAwFoeF3pZheLi4bajVzwq1fWW+x3grS188P9OZso="
-compiler:
- - clang
- - gcc
branches:
only:
- master
- ci
- coverity_scan
+ - /release\/.*$/
-matrix:
- exclude:
- - os: osx
- env: LIBAV=libav-git
- - os: osx
- env: LIBAV=ffmpeg-git
- - os: osx
- compiler: gcc
- - os: linux
- compiler: clang
- - env: LIBAV=libav-git
-
-before_install: TOOLS/travis-deps libass-stable $LIBAV
+before_install:
+ - docker pull $CONTAINER
script:
- ./bootstrap.py
- - ./waf configure
- - ./waf build
+ - docker run --env CC --env TARGET -v $TRAVIS_BUILD_DIR:/build $CONTAINER /bin/sh -c "cd /build && $CI_SCRIPT"
after_failure: cat ./build/config.log
after_script: TOOLS/travis-rebuild-website
diff --git a/DOCS/client-api-changes.rst b/DOCS/client-api-changes.rst
index 73e3048498..b9b264d220 100644
--- a/DOCS/client-api-changes.rst
+++ b/DOCS/client-api-changes.rst
@@ -31,12 +31,15 @@ API changes
===========
::
-
- --- mpv 0.29.0 ---
- 1.102 - redo handling of async commands
+ --- mpv 0.30.0 ---
+ 1.103 - redo handling of async commands
- add mpv_event_command and make it possible to return values from
commands issued with mpv_command_async() or mpv_command_node_async()
- add mpv_abort_async_command()
+ 1.102 - rename struct mpv_opengl_drm_osd_size to mpv_opengl_drm_draw_surface_size
+ - rename MPV_RENDER_PARAM_DRM_OSD_SIZE to MPV_RENDER_PARAM_DRM_DRAW_SURFACE_SIZE
+
+ --- mpv 0.29.0 ---
1.101 - add MPV_RENDER_PARAM_ADVANCED_CONTROL and related API
- add MPV_RENDER_PARAM_NEXT_FRAME_INFO and related symbols
- add MPV_RENDER_PARAM_BLOCK_FOR_TARGET_TIME
diff --git a/DOCS/edl-mpv.rst b/DOCS/edl-mpv.rst
index 7c9f64e160..2d451926cb 100644
--- a/DOCS/edl-mpv.rst
+++ b/DOCS/edl-mpv.rst
@@ -147,6 +147,24 @@ Example::
Plays chapter 3 and ends with the start of chapter 7 (4 chapters later).
+Implicit chapters
+=================
+
+mpv will add one chapter per segment entry to the virtual timeline.
+
+By default, the chapter's titles will match the entries' filenames.
+You can override set the ``title`` option to override the chapter title for
+that segment.
+
+Example::
+
+ # mpv EDL v0
+ cap.ts,5,240
+ OP.mkv,0,90,title=Show Opening
+
+The virtual timeline will have two chapters, one called "cap.ts" from 0-240s
+and a second one called "Show Opening" from 240-330s.
+
Syntax of EDL URIs
==================
diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst
index b6dead571f..82a5d1a875 100644
--- a/DOCS/interface-changes.rst
+++ b/DOCS/interface-changes.rst
@@ -19,6 +19,53 @@ Interface changes
::
+ --- mpv 0.30.0 ---
+ - rename `--drm-osd-plane-id` to `--drm-draw-plane`, `--drm-video-plane-id` to
+ `--drm-drmprime-video-plane` and `--drm-osd-size` to `--drm-draw-surface-size`
+ to better reflect what the options actually control, that the values they
+ accept aren't actually internal DRM ID's (like with similar options in
+ ffmpeg's KMS support), and that the video plane is only used when the drmprime
+ overlay hwdec interop is active, with the video being drawn to the draw plane
+ otherwise.
+ - in addition to the above, the `--drm-draw-plane` and `--drm-drmprime-video-plane`
+ options now accept either an integer index, or the values primary or overlay.
+ `--drm-draw-plane` now defaults to primary and `--drm-drmprime-video-plane`
+ defaults to overlay. This should be similar to previous behavior on most drivers
+ due to how planes are usually sorted.
+ - rename --opensles-frames-per-buffer to --opensles-frames-per-enqueue to
+ better reflect its purpose. In the past it overrides the buffer size the AO
+ requests (but not the default/value of the generic --audio-buffer option).
+