diff options
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 13 | ||||
-rw-r--r-- | fs56089.patch | 84 |
3 files changed, 9 insertions, 100 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Sun May 13 12:03:26 UTC 2018 +# Mon May 21 09:47:20 UTC 2018 pkgbase = ffmpeg-headless pkgdesc = Complete solution to record, convert and stream audio and video; optimised for server (headless) systems - pkgver = 3.4.2 - pkgrel = 3 + pkgver = 4.0 + pkgrel = 1 epoch = 1 url = http://ffmpeg.org/ arch = i686 @@ -52,10 +52,8 @@ pkgbase = ffmpeg-headless provides = libswscale.so provides = ffmpeg conflicts = ffmpeg - source = https://ffmpeg.org/releases/ffmpeg-3.4.2.tar.xz - source = fs56089.patch - sha256sums = 2b92e9578ef8b3e49eeab229e69305f5f4cbc1fdaa22e927fc7fca18acccd740 - sha256sums = 0bfcd12d1992903f21c146ae56d9ad89b52818cfb2303197ee905347c25a5427 + source = https://ffmpeg.org/releases/ffmpeg-4.0.tar.xz + sha256sums = ed945daf40b124e77a685893cc025d086f638bc703183460aff49508edb3a43f pkgname = ffmpeg-headless @@ -7,8 +7,8 @@ _pkgname=ffmpeg pkgname=ffmpeg-headless -pkgver=3.4.2 -pkgrel=3 +pkgver=4.0 +pkgrel=1 epoch=1 pkgdesc='Complete solution to record, convert and stream audio and video; optimised for server (headless) systems' arch=('i686' 'x86_64' 'armv7h' 'armv6h' 'aarch64') @@ -28,17 +28,12 @@ provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so' 'libavresample.so' 'libavutil.so' 'libpostproc.so' 'libswresample.so' 'libswscale.so' 'ffmpeg') conflicts=('ffmpeg') -source=("https://ffmpeg.org/releases/${_pkgname}-${pkgver}.tar.xz" - 'fs56089.patch') -sha256sums=('2b92e9578ef8b3e49eeab229e69305f5f4cbc1fdaa22e927fc7fca18acccd740' - '0bfcd12d1992903f21c146ae56d9ad89b52818cfb2303197ee905347c25a5427') +source=("https://ffmpeg.org/releases/${_pkgname}-${pkgver}.tar.xz") +sha256sums=('ed945daf40b124e77a685893cc025d086f638bc703183460aff49508edb3a43f') prepare() { cd ${_pkgname}-${pkgver} - # https://bugs.archlinux.org/task/56089 - # Backport of http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=a606f27f4c610708fa96e35eed7b7537d3d8f712 - patch -Np1 -i ../fs56089.patch } build() { diff --git a/fs56089.patch b/fs56089.patch deleted file mode 100644 index 6aca38f9f96c..000000000000 --- a/fs56089.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff -rupN ffmpeg-3.4.orig/libavformat/aviobuf.c ffmpeg-3.4/libavformat/aviobuf.c ---- ffmpeg-3.4.orig/libavformat/aviobuf.c 2017-11-02 14:57:16.078834563 +0100 -+++ ffmpeg-3.4/libavformat/aviobuf.c 2017-11-02 15:02:52.549816990 +0100 -@@ -531,6 +531,24 @@ void avio_write_marker(AVIOContext *s, i - s->last_time = time; - } - -+static int read_packet_wrapper(AVIOContext *s, uint8_t *buf, int size) -+{ -+ int ret; -+ -+ if (!s->read_packet) -+ return AVERROR_EOF; -+ ret = s->read_packet(s->opaque, buf, size); -+#if FF_API_OLD_AVIO_EOF_0 -+ if (!ret && !s->max_packet_size) { -+ av_log(NULL, AV_LOG_WARNING, "Invalid return value 0 for stream protocol\n"); -+ ret = AVERROR_EOF; -+ } -+#else -+ av_assert2(ret || s->max_packet_size); -+#endif -+ return ret; -+} -+ - /* Input stream */ - - static void fill_buffer(AVIOContext *s) -@@ -569,10 +587,7 @@ static void fill_buffer(AVIOContext *s) - len = s->orig_buffer_size; - } - -- if (s->read_packet) -- len = s->read_packet(s->opaque, dst, len); -- else -- len = 0; -+ len = read_packet_wrapper(s, dst, len); - if (len <= 0) { - /* do not modify buffer if EOF reached so that a seek back can - be done without rereading data */ -@@ -644,8 +659,7 @@ int avio_read(AVIOContext *s, unsigned c - if (len == 0 || s->write_flag) { - if((s->direct || size > s->buffer_size) && !s->update_checksum) { - // bypass the buffer and read data directly into buf -- if(s->read_packet) -- len = s->read_packet(s->opaque, buf, size); -+ len = read_packet_wrapper(s, buf, size); - - if (len <= 0) { - /* do not modify buffer if EOF reached so that a seek back can -@@ -711,7 +725,7 @@ int avio_read_partial(AVIOContext *s, un - return -1; - - if (s->read_packet && s->write_flag) { -- len = s->read_packet(s->opaque, buf, size); -+ len = read_packet_wrapper(s, buf, size); - if (len > 0) - s->pos += len; - return len; -diff -rupN ffmpeg-3.4.orig/libavformat/avio.h ffmpeg-3.4/libavformat/avio.h ---- ffmpeg-3.4.orig/libavformat/avio.h 2017-11-02 14:57:16.078834563 +0100 -+++ ffmpeg-3.4/libavformat/avio.h 2017-11-02 14:59:15.602300896 +0100 -@@ -452,6 +452,8 @@ void avio_free_directory_entry(AVIODirEn - * @param write_flag Set to 1 if the buffer should be writable, 0 otherwise. - * @param opaque An opaque pointer to user-specific data. - * @param read_packet A function for refilling the buffer, may be NULL. -+ * For stream protocols, must never return 0 but rather -+ * a proper AVERROR code. - * @param write_packet A function for writing the buffer contents, may be NULL. - * The function may not change the input buffers content. - * @param seek A function for seeking to specified byte position, may be NULL. -diff -rupN ffmpeg-3.4.orig/libavformat/version.h ffmpeg-3.4/libavformat/version.h ---- ffmpeg-3.4.orig/libavformat/version.h 2017-11-02 14:57:16.082167807 +0100 -+++ ffmpeg-3.4/libavformat/version.h 2017-11-02 15:04:01.704627612 +0100 -@@ -97,6 +97,9 @@ - #ifndef FF_API_OLD_ROTATE_API - #define FF_API_OLD_ROTATE_API (LIBAVFORMAT_VERSION_MAJOR < 58) - #endif -+#ifndef FF_API_OLD_AVIO_EOF_0 -+#define FF_API_OLD_AVIO_EOF_0 (LIBAVFORMAT_VERSION_MAJOR < 58) -+#endif - - - #ifndef FF_API_R_FRAME_RATE |