From e06e633c0aa8ffcddef40d60d48042d8cfd26881 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Mon, 5 Jun 2017 21:02:38 -0700 Subject: mpv: Update to 0.25.0 --- pkg/mpv/config.h | 12 +- pkg/mpv/file2string.c | 4 + pkg/mpv/patch/0002-Add-generated-man-page.patch | 696 +++++++++++++++------- pkg/mpv/patch/0003-Fix-build-with-HAVE_GL-0.patch | 37 -- pkg/mpv/rev | 2 +- pkg/mpv/sources.txt | 16 +- pkg/mpv/src | 2 +- 7 files changed, 513 insertions(+), 256 deletions(-) delete mode 100644 pkg/mpv/patch/0003-Fix-build-with-HAVE_GL-0.patch (limited to 'pkg') diff --git a/pkg/mpv/config.h b/pkg/mpv/config.h index 85a138ee..2966297c 100644 --- a/pkg/mpv/config.h +++ b/pkg/mpv/config.h @@ -31,7 +31,6 @@ #define HAVE_PTHREADS 1 #define HAVE_GNUC 1 #define HAVE_STDATOMIC 1 -#define HAVE_ATOMIC_BUILTINS 0 #define HAVE_ATOMICS 1 #define HAVE_C11_TLS 1 #define HAVE_GCC_TLS 1 @@ -66,6 +65,7 @@ #define HAVE_LIBBLURAY 0 #define HAVE_DVDREAD 0 #define HAVE_DVDNAV 0 +#define HAVE_DVDREAD_COMMON 0 #define HAVE_CDDA 0 #define HAVE_UCHARDET 0 #define HAVE_RUBBERBAND 0 @@ -95,11 +95,7 @@ #define HAVE_GBM 0 #define HAVE_WAYLAND 1 #define HAVE_X11 0 -#define HAVE_XSS 0 -#define HAVE_XEXT 0 #define HAVE_XV 0 -#define HAVE_XINERAMA 0 -#define HAVE_XRANDR 0 #define HAVE_GL_COCOA 0 #define HAVE_GL_X11 0 #define HAVE_EGL_X11 0 @@ -123,10 +119,7 @@ #define HAVE_DIRECT3D 0 #define HAVE_ANDROID 0 #define HAVE_RPI 0 -#define HAVE_STANDARD_GL 0 -#define HAVE_ANDROID_GL 0 #define HAVE_IOS_GL 0 -#define HAVE_ANY_GL 0 #define HAVE_PLAIN_GL 0 #define HAVE_MALI_FBDEV 0 #define HAVE_GL 0 @@ -145,6 +138,8 @@ #define HAVE_VIDEOTOOLBOX_HWACCEL 0 #define HAVE_VIDEOTOOLBOX_GL 0 #define HAVE_VDPAU_HWACCEL 0 +#define HAVE_VDPAU_HWACCEL_NEW 0 +#define HAVE_VDPAU_HWACCEL_OLD 0 #define HAVE_D3D_HWACCEL 0 #define HAVE_CUDA_HWACCEL 0 #define HAVE_SSE4_INTRINSICS 0 @@ -157,6 +152,7 @@ #define HAVE_DVBIN 0 #define HAVE_WIN32_EXECUTABLE 0 #define HAVE_APPLE_REMOTE 0 +#define HAVE_MACOS_TOUCHBAR 0 #define HAVE_SYS_SOUNDCARD_H (HAVE_OSS_AUDIO_NATIVE || HAVE_OSS_AUDIO_4FRONT) #define HAVE_SOUNDCARD_H HAVE_OSS_AUDIO_SUNAUDIO #define CONFIGURATION "./waf configure --disable-libass --disable-gl" diff --git a/pkg/mpv/file2string.c b/pkg/mpv/file2string.c index 84f31ce1..0426b442 100644 --- a/pkg/mpv/file2string.c +++ b/pkg/mpv/file2string.c @@ -29,6 +29,10 @@ int main(int argc, char *argv[]) { } printf("\"\n"); } + if (ferror(f)) { + fprintf(stderr, "ferror: %s\n", strerror(errno)); + return 1; + } return 0; } diff --git a/pkg/mpv/patch/0002-Add-generated-man-page.patch b/pkg/mpv/patch/0002-Add-generated-man-page.patch index becc3ec3..127c0fba 100644 --- a/pkg/mpv/patch/0002-Add-generated-man-page.patch +++ b/pkg/mpv/patch/0002-Add-generated-man-page.patch @@ -1,4 +1,4 @@ -From e30be2ad83090568bbb0a5861d5bc0e79faa0733 Mon Sep 17 00:00:00 2001 +From 774d2757d012e61a10e4e0763add9c729a3bfe8b Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 2 Jul 2016 21:08:15 -0700 Subject: [PATCH] Add generated man page @@ -7,16 +7,16 @@ This requires python and rst2man to generate. $ rst2man.py --strip-elements-with-class=contents DOCS/man/mpv.rst DOCS/man/mpv.1 --- - DOCS/man/mpv.1 | 14268 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 14268 insertions(+) + DOCS/man/mpv.1 | 14558 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 14558 insertions(+) create mode 100644 DOCS/man/mpv.1 diff --git a/DOCS/man/mpv.1 b/DOCS/man/mpv.1 new file mode 100644 -index 000000000..695e39493 +index 000000000..7819ab9b2 --- /dev/null +++ b/DOCS/man/mpv.1 -@@ -0,0 +1,14268 @@ +@@ -0,0 +1,14558 @@ +.\" Man page generated from reStructuredText. +. +.TH MPV 1 "" "" "multimedia" @@ -573,6 +573,8 @@ index 000000000..695e39493 +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 ++DVD library choices ++.sp +mpv uses a different default DVD library than MPlayer. MPlayer +uses libdvdread by default, and mpv uses libdvdnav by default. +Both libraries are developed in parallel, but libdvdnav is @@ -584,7 +586,16 @@ index 000000000..695e39493 +when using libdvdnav, in which playback gets stuck in a DVD menu +stream. These problems are reported to go away when auto\-selecting +the title (\fBdvd://\fP rather than \fBdvd://1\fP) or when using -+libdvdread (e.g. \fBdvdread://0\fP). ++libdvdread (e.g. \fBdvdread://0\fP). There are also outstanding bugs ++in libdvdnav with seeking backwards and forwards in a video ++stream. Specify \fBdvdread://...\fP to fix such problems. ++.UNINDENT ++.UNINDENT ++.sp ++\fBNOTE:\fP ++.INDENT 0.0 ++.INDENT 3.5 ++DVD subtitles +.sp +DVDs use image\-based subtitles. Image subtitles are implemented as +a bitmap video stream which can be superimposed over the main @@ -841,9 +852,10 @@ index 000000000..695e39493 +kilobytes. (\fBdemuxer\-cache\-duration\fP and \fBcache\-used\fP properties.) +.UNINDENT +.SH PROTOCOLS ++.sp ++\fBhttp://...\fP, \fBhttps://\fP, ... +.INDENT 0.0 -+.TP -+.B \fBhttp://...\fP, \fBhttps://\fP, ... ++.INDENT 3.5 +Many network protocols are supported, but the protocol prefix must always +be specified. mpv will never attempt to guess whether a filename is +actually a network address. A protocol prefix is always required. @@ -855,8 +867,12 @@ index 000000000..695e39493 +\fBdata:\fP is supported in FFmpeg (not in Libav), but needs to be in the +format \fBdata://\fP\&. This is done to avoid ambiguity with filenames. You +can also prefix it with \fBlavf://\fP or \fBffmpeg://\fP\&. -+.TP -+.B \fBytdl://...\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBytdl://...\fP ++.INDENT 0.0 ++.INDENT 3.5 +By default, the youtube\-dl hook script (enabled by default for mpv CLI) +only looks at http URLs. Prefixing an URL with \fBytdl://\fP forces it to +be always processed by the script. This can also be used to invoke special @@ -864,50 +880,99 @@ index 000000000..695e39493 +.sp +Keep in mind that you can\(aqt pass youtube\-dl command line options by this, +and you have to use \fB\-\-ytdl\-raw\-options\fP instead. -+.TP -+.B \fB\-\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fB\-\fP ++.INDENT 0.0 ++.INDENT 3.5 +Play data from stdin. -+.TP -+.B \fBsmb://PATH\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBsmb://PATH\fP ++.INDENT 0.0 ++.INDENT 3.5 +Play a path from Samba share. -+.TP -+.B \fBbd://[title][/device]\fP \fB\-\-bluray\-device=PATH\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBbd://[title][/device]\fP \fB\-\-bluray\-device=PATH\fP ++.INDENT 0.0 ++.INDENT 3.5 +Play a Blu\-ray disc. Currently, this does not accept ISO files. Instead, +you must mount the ISO file as filesystem, and point \fB\-\-bluray\-device\fP +to the mounted directory directly. -+.TP -+.B \fBdvd://[title|[starttitle]\-endtitle][/device]\fP \fB\-\-dvd\-device=PATH\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBdvd://[title|[starttitle]\-endtitle][/device]\fP \fB\-\-dvd\-device=PATH\fP ++.INDENT 0.0 ++.INDENT 3.5 +Play a DVD. DVD menus are not supported. If no title is given, the longest +title is auto\-selected. +.sp +\fBdvdnav://\fP is an old alias for \fBdvd://\fP and does exactly the same +thing. -+.TP -+.B \fBdvdread://...:\fP -+Play a DVD using the old libdvdread code. This is what MPlayer and older -+mpv versions use for \fBdvd://\fP\&. Use is discouraged. It\(aqs provided only -+for compatibility and for transition. -+.TP -+.B \fBtv://[channel][/input_id]\fP \fB\-\-tv\-...\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBdvdread://...:\fP ++.INDENT 0.0 ++.INDENT 3.5 ++Play a DVD using the old libdvdread code. This is what MPlayer and ++older mpv versions use for \fBdvd://\fP\&. Use is discouraged. It\(aqs ++provided only for compatibility and for transition, and to work ++around outstanding dvdnav bugs (see "DVD library choices" above). ++.UNINDENT ++.UNINDENT ++.sp ++\fBtv://[channel][/input_id]\fP \fB\-\-tv\-...\fP ++.INDENT 0.0 ++.INDENT 3.5 +Analogue TV via V4L. Also useful for webcams. (Linux only.) -+.TP -+.B \fBpvr://\fP \fB\-\-pvr\-...\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBpvr://\fP \fB\-\-pvr\-...\fP ++.INDENT 0.0 ++.INDENT 3.5 +PVR. (Linux only.) -+.TP -+.B \fBdvb://[cardnumber@]channel\fP \fB\-\-dvbin\-...\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBdvb://[cardnumber@]channel\fP \fB\-\-dvbin\-...\fP ++.INDENT 0.0 ++.INDENT 3.5 +Digital TV via DVB. (Linux only.) -+.TP -+.B \fBmf://[filemask|@listfile]\fP \fB\-\-mf\-...\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBmf://[filemask|@listfile]\fP \fB\-\-mf\-...\fP ++.INDENT 0.0 ++.INDENT 3.5 +Play a series of images as video. -+.TP -+.B \fBcdda://[device]\fP \fB\-\-cdrom\-device=PATH\fP \fB\-\-cdda\-...\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBcdda://[device]\fP \fB\-\-cdrom\-device=PATH\fP \fB\-\-cdda\-...\fP ++.INDENT 0.0 ++.INDENT 3.5 +Play CD. -+.TP -+.B \fBlavf://...\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBlavf://...\fP ++.INDENT 0.0 ++.INDENT 3.5 +Access any FFmpeg/Libav libavformat protocol. Basically, this passed the +string after the \fB//\fP directly to libavformat. -+.TP -+.B \fBav://type:options\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBav://type:options\fP ++.INDENT 0.0 ++.INDENT 3.5 +This is intended for using libavdevice inputs. \fBtype\fP is the libavdevice +demuxer name, and \fBoptions\fP is the (pseudo\-)filename passed to the +demuxer. @@ -917,30 +982,55 @@ index 000000000..695e39493 +filter to generate input data. +.sp +\fBavdevice://\fP is an alias. -+.TP -+.B \fBfile://PATH\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBfile://PATH\fP ++.INDENT 0.0 ++.INDENT 3.5 +A local path as URL. Might be useful in some special use\-cases. Note that +\fBPATH\fP itself should start with a third \fB/\fP to make the path an +absolute path. -+.TP -+.B \fBfd://123\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBfd://123\fP ++.INDENT 0.0 ++.INDENT 3.5 +Read data from the given file descriptor (for example 123). This is similar +to piping data to stdin via \fB\-\fP, but can use an arbitrary file descriptor. -+.TP -+.B \fBedl://[edl specification as in edl\-mpv.rst]\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBedl://[edl specification as in edl\-mpv.rst]\fP ++.INDENT 0.0 ++.INDENT 3.5 +Stitch together parts of multiple files and play them. -+.TP -+.B \fBnull://\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBnull://\fP ++.INDENT 0.0 ++.INDENT 3.5 +Simulate an empty file. If opened for writing, it will discard all data. +The \fBnull\fP demuxer will specifically pass autoprobing if this protocol +is used (while it\(aqs not automatically invoked for empty files). -+.TP -+.B \fBmemory://data\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBmemory://data\fP ++.INDENT 0.0 ++.INDENT 3.5 +Use the \fBdata\fP part as source data. -+.TP -+.B \fBhex://data\fP ++.UNINDENT ++.UNINDENT ++.sp ++\fBhex://data\fP ++.INDENT 0.0 ++.INDENT 3.5 +Like \fBmemory://\fP, but the string is interpreted as hexdump. +.UNINDENT ++.UNINDENT +.SH PSEUDO GUI MODE +.sp +mpv has no official GUI, other than the OSC (\fI\%ON SCREEN CONTROLLER\fP), which @@ -1150,17 +1240,6 @@ index 000000000..695e39493 +speed higher than normal automatically inserts the \fBscaletempo\fP audio +filter. +.TP -+.B \fB\-\-loop=\fP, \fB\-\-loop\fP -+Loops playback \fBN\fP times. A value of \fB1\fP plays it one time (default), -+\fB2\fP two times, etc. \fBinf\fP means forever. \fBno\fP is the same as \fB1\fP and -+disables looping. If several files are specified on command line, the -+entire playlist is looped. \fB\-\-loop\fP is the same as \fB\-\-loop=inf\fP\&. -+.sp -+The \fBforce\fP mode is like \fBinf\fP, but does not skip playlist entries -+which have been marked as failing. This means the player might waste CPU -+time trying to loop a file that doesn\(aqt exist. But it might be useful for -+playing webradios under very bad network conditions. -+.TP +.B \fB\-\-pause\fP +Start the player in paused state. +.TP @@ -1323,15 +1402,31 @@ index 000000000..695e39493 +directory). Prefixing the filename with \fB\&./\fP if it doesn\(aqt start with +a \fB/\fP will avoid this. +.TP ++.B \fB\-\-loop\-playlist=\fP, \fB\-\-loop\-playlist\fP ++Loops playback \fBN\fP times. A value of \fB1\fP plays it one time (default), ++\fB2\fP two times, etc. \fBinf\fP means forever. \fBno\fP is the same as \fB1\fP and ++disables looping. If several files are specified on command line, the ++entire playlist is looped. \fB\-\-loop\-playlist\fP is the same as ++\fB\-\-loop\-playlist=inf\fP\&. ++.sp ++The \fBforce\fP mode is like \fBinf\fP, but does not skip playlist entries ++which have been marked as failing. This means the player might waste CPU ++time trying to loop a file that doesn\(aqt exist. But it might be useful for ++playing webradios under very bad network conditions. ++.TP ++.B \fB\-\-loop\fP ++Currently a deprecated alias to \fB\-\-loop\-playlist\fP\&. After a deprecation ++period, it will be undeprecated, but changed to alias \fB\-\-loop\-file\fP\&. ++.TP +.B \fB\-\-loop\-file=\fP +Loop a single file N times. \fBinf\fP means forever, \fBno\fP means normal +playback. For compatibility, \fB\-\-loop\-file\fP and \fB\-\-loop\-file=yes\fP are +also accepted, and are the same as \fB\-\-loop\-file=inf\fP\&. +.sp -+The difference to \fB\-\-loop\fP is that this doesn\(aqt loop the playlist, just -+the file itself. If the playlist contains only a single file, the difference -+between the two option is that this option performs a seek on loop, instead -+of reloading the file. ++The difference to \fB\-\-loop\-playlist\fP is that this doesn\(aqt loop the playlist, ++just the file itself. If the playlist contains only a single file, the ++difference between the two option is that this option performs a seek on ++loop, instead of reloading the file. +.TP +.B \fB\-\-ab\-loop\-a=