[arch-commits] Commit in xine-lib/repos (8 files)

Eric Bélanger eric at nymeria.archlinux.org
Thu May 30 03:34:04 UTC 2013


    Date: Thursday, May 30, 2013 @ 05:34:04
  Author: eric
Revision: 186598

archrelease: copy trunk to extra-i686, extra-x86_64

Added:
  xine-lib/repos/extra-i686/PKGBUILD
    (from rev 186597, xine-lib/trunk/PKGBUILD)
  xine-lib/repos/extra-i686/accel_vaapi.h
    (from rev 186597, xine-lib/trunk/accel_vaapi.h)
  xine-lib/repos/extra-x86_64/PKGBUILD
    (from rev 186597, xine-lib/trunk/PKGBUILD)
  xine-lib/repos/extra-x86_64/accel_vaapi.h
    (from rev 186597, xine-lib/trunk/accel_vaapi.h)
Deleted:
  xine-lib/repos/extra-i686/PKGBUILD
  xine-lib/repos/extra-i686/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch
  xine-lib/repos/extra-x86_64/PKGBUILD
  xine-lib/repos/extra-x86_64/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch

-------------------------------------------------------------------------------------+
 /PKGBUILD                                                                           |  100 +++
 extra-i686/PKGBUILD                                                                 |   52 -
 extra-i686/accel_vaapi.h                                                            |  135 ++++
 extra-i686/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch   |  277 ----------
 extra-x86_64/PKGBUILD                                                               |   52 -
 extra-x86_64/accel_vaapi.h                                                          |  135 ++++
 extra-x86_64/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch |  277 ----------
 7 files changed, 370 insertions(+), 658 deletions(-)

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2013-05-30 03:33:22 UTC (rev 186597)
+++ extra-i686/PKGBUILD	2013-05-30 03:34:04 UTC (rev 186598)
@@ -1,52 +0,0 @@
-# $Id$
-# Maintainer: Eric Bélanger <eric at archlinux.org>
-
-pkgname=xine-lib
-pkgver=1.2.2
-pkgrel=8
-pkgdesc="A multimedia playback engine"
-arch=('i686' 'x86_64')
-url="http://www.xine-project.org"
-license=('LGPL' 'GPL')
-depends=('libxvmc' 'ffmpeg' 'libxinerama')
-makedepends=('wavpack' 'faad2' 'libmng' 'imagemagick' 'mesa' 'libmodplug'
-             'vcdimager' 'jack' 'aalib' 'libdca' 'a52dec' 'libmad'
-             'libmpcdec' 'libcaca' 'libbluray' 'gnome-vfs' 'libvdpau' 'glu')
-optdepends=('imagemagick: for using the imagemagick plugin' \
-            'jack: for using the jack plugin' \
-            'vcdimager: for using the vcd plugin' \
-            'glu: for using the opengl plugin' \
-            'wavpack: for using the wavpack plugin' \
-            'faad2: for using the faad plugin' \
-            'libmng: for using the mng plugin' \
-            'aalib: for using the aalib plugin' \
-            'libmodplug: for using the modplug plugin' \
-            'libdca: for using the dca plugin' \
-            'a52dec: for using the a52 plugin' \
-            'libmad: for using the mp3 plugin' \
-            'libmpcdec: for using the musepack plugin' \
-            'libcaca: for using the caca plugin' \
-            'libbluray: for using the bluray plugin' \
-            'gnome-vfs: for using the gnome-vfs plugin' \
-            'libvdpau: for using the VDPAU plugin')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/xine/${pkgname}-${pkgver}.tar.xz
-        xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch)
-sha1sums=('a349cbb0b72256bb262377796a022dcf63829b4c'
-          '45500eca2aa40c133e1a6e8b23dbadc4b921b11f')
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-
-  # Fix audio decoding with newest FFmpeg
-  # https://bugs.archlinux.org/task/33818
-  patch -Np1 -i "$srcdir/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch"
-
-  ./configure --prefix=/usr --with-wavpack --enable-vdpau --disable-optimizations
-  make
-}
-
-package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  make DESTDIR="${pkgdir}" install
-}

Copied: xine-lib/repos/extra-i686/PKGBUILD (from rev 186597, xine-lib/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2013-05-30 03:34:04 UTC (rev 186598)
@@ -0,0 +1,50 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+
+pkgname=xine-lib
+pkgver=1.2.3
+pkgrel=1
+pkgdesc="A multimedia playback engine"
+arch=('i686' 'x86_64')
+url="http://www.xine-project.org"
+license=('LGPL' 'GPL')
+depends=('libxvmc' 'ffmpeg' 'libxinerama')
+makedepends=('wavpack' 'faad2' 'libmng' 'imagemagick' 'mesa' 'libmodplug'
+             'vcdimager' 'jack' 'aalib' 'libdca' 'a52dec' 'libmad'
+             'libmpcdec' 'libcaca' 'libbluray' 'gnome-vfs' 'libvdpau' 'glu')
+optdepends=('imagemagick: for using the imagemagick plugin' \
+            'jack: for using the jack plugin' \
+            'vcdimager: for using the vcd plugin' \
+            'glu: for using the opengl plugin' \
+            'wavpack: for using the wavpack plugin' \
+            'faad2: for using the faad plugin' \
+            'libmng: for using the mng plugin' \
+            'aalib: for using the aalib plugin' \
+            'libmodplug: for using the modplug plugin' \
+            'libdca: for using the dca plugin' \
+            'a52dec: for using the a52 plugin' \
+            'libmad: for using the mp3 plugin' \
+            'libmpcdec: for using the musepack plugin' \
+            'libcaca: for using the caca plugin' \
+            'libbluray: for using the bluray plugin' \
+            'gnome-vfs: for using the gnome-vfs plugin' \
+            'libvdpau: for using the VDPAU plugin')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/xine/${pkgname}-${pkgver}.tar.xz accel_vaapi.h)
+sha1sums=('6f9ef4ba75688659052d21448d46527db2b77e57'
+          '08ed9947ef919c71c87151baa8fc0ce7d8f72050')
+
+prepare() {
+  cp accel_vaapi.h ${pkgname}-${pkgver}/src/xine-engine/
+}
+
+build() {
+  cd ${pkgname}-${pkgver}
+  ./configure --prefix=/usr --with-wavpack --enable-vdpau --disable-optimizations
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+}

Copied: xine-lib/repos/extra-i686/accel_vaapi.h (from rev 186597, xine-lib/trunk/accel_vaapi.h)
===================================================================
--- extra-i686/accel_vaapi.h	                        (rev 0)
+++ extra-i686/accel_vaapi.h	2013-05-30 03:34:04 UTC (rev 186598)
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2008 the xine project
+ *
+ * This file is part of xine, a free video player.
+ *
+ * xine is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * xine is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ * Common acceleration definitions for vdpau
+ *
+ *
+ */
+
+#ifndef HAVE_XINE_ACCEL_VAAPI_H
+#define HAVE_XINE_ACCEL_VAAPI_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <va/va_x11.h>
+#include <pthread.h>
+#ifdef HAVE_FFMPEG_AVUTIL_H
+#  include <avcodec.h>
+#else
+#  include <libavcodec/avcodec.h>
+#endif
+
+#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32)
+#  define AVVIDEO 2
+#else
+#  define AVVIDEO 1
+#  define pp_context	pp_context_t
+#  define pp_mode	pp_mode_t
+#endif
+
+#define NUM_OUTPUT_SURFACES 22
+
+#define SURFACE_FREE            0
+#define SURFACE_ALOC            1
+#define SURFACE_RELEASE         2
+#define SURFACE_RENDER          3
+#define SURFACE_RENDER_RELEASE  5
+
+struct vaapi_equalizer {
+  VADisplayAttribute brightness;
+  VADisplayAttribute contrast;
+  VADisplayAttribute hue;
+  VADisplayAttribute saturation;
+};
+
+typedef struct ff_vaapi_context_s ff_vaapi_context_t;
+
+struct ff_vaapi_context_s {
+  VADisplay         va_display;
+  VAContextID       va_context_id;
+  VAConfigID        va_config_id;
+  int               width;
+  int               height;
+  int               sw_width;
+  int               sw_height;
+  int               va_profile;
+  unsigned int      va_colorspace;
+  VAImage           va_subpic_image;
+  VASubpictureID    va_subpic_id;
+  int               va_subpic_width;
+  int               va_subpic_height;
+  int               is_bound;
+  void              *gl_surface;
+  unsigned int      soft_head;
+  unsigned int      valid_context;
+  unsigned int      va_head;
+  unsigned int      va_soft_head;
+  vo_driver_t       *driver;
+  unsigned int      last_sub_image_fmt;
+  VASurfaceID       last_sub_surface_id;
+  struct vaapi_equalizer va_equalizer;
+  VAImageFormat     *va_image_formats;
+  int               va_num_image_formats;
+  VAImageFormat     *va_subpic_formats;
+  int               va_num_subpic_formats;
+};
+
+typedef struct ff_vaapi_surface_s ff_vaapi_surface_t;
+typedef struct vaapi_accel_s vaapi_accel_t;
+
+struct ff_vaapi_surface_s {
+  unsigned int        index;
+  vaapi_accel_t       *accel;
+  VASurfaceID         va_surface_id;
+  unsigned int        status;
+};
+
+struct vaapi_accel_s {
+  unsigned int        index;
+  vo_frame_t          *vo_frame;
+
+#if AVVIDEO > 1
+  int (*avcodec_decode_video2)(vo_frame_t *frame_gen, AVCodecContext *avctx, AVFrame *picture,
+                               int *got_picture_ptr, AVPacket *avpkt);
+#else
+  int (*avcodec_decode_video)(vo_frame_t *frame_gen, AVCodecContext *avctx, AVFrame *picture,
+                              int *got_picture_ptr, uint8_t *buf, int buf_size);
+#endif
+  VAStatus (*vaapi_init)(vo_frame_t *frame_gen, int va_profile, int width, int height, int softrender);
+  int (*profile_from_imgfmt)(vo_frame_t *frame_gen, enum PixelFormat pix_fmt, int codec_id, int vaapi_mpeg_sofdec);
+  ff_vaapi_context_t *(*get_context)(vo_frame_t *frame_gen);
+  int (*guarded_render)(vo_frame_t *frame_gen);
+  ff_vaapi_surface_t *(*get_vaapi_surface)(vo_frame_t *frame_gen);
+  void (*render_vaapi_surface)(vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface);
+  void (*release_vaapi_surface)(vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface);
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+

Deleted: extra-i686/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch
===================================================================
--- extra-i686/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch	2013-05-30 03:33:22 UTC (rev 186597)
+++ extra-i686/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch	2013-05-30 03:34:04 UTC (rev 186598)
@@ -1,277 +0,0 @@
-From 679582503c8ba2f91a82e44c4a2938550306fd07 Mon Sep 17 00:00:00 2001
-From: Torsten Jager <t.jager at gmx.de>
-Date: Thu, 21 Feb 2013 22:35:00 +0200
-Subject: [PATCH 3/5] ffmpeg_audio_decoder: support new av_decode_audio4 ()
-
----
- src/combined/ffmpeg/ff_audio_decoder.c | 153 +++++++++++++++++++++++++++------
- src/combined/ffmpeg/ffmpeg_compat.h    |   4 +-
- 2 files changed, 131 insertions(+), 26 deletions(-)
-
-diff --git a/src/combined/ffmpeg/ff_audio_decoder.c b/src/combined/ffmpeg/ff_audio_decoder.c
-index 4e64378..34a7a9e 100644
---- a/src/combined/ffmpeg/ff_audio_decoder.c
-+++ b/src/combined/ffmpeg/ff_audio_decoder.c
-@@ -71,7 +71,9 @@ typedef struct ff_audio_decoder_s {
-   int               decoder_ok;
- 
-   AVCodecParserContext *parser_context;
--
-+#if AVAUDIO > 3
-+  AVFrame          *av_frame;
-+#endif
- } ff_audio_decoder_t;
- 
- 
-@@ -150,6 +152,9 @@ static void ff_audio_init_codec(ff_audio_decoder_t *this, unsigned int codec_typ
-     return;
-   }
- 
-+  /* Try to make the following true */
-+  this->context->request_sample_fmt = AV_SAMPLE_FMT_S16;
-+
-   /* Current ffmpeg audio decoders usually use 16 bits/sample
-    * buf->decoder_info[2] can't be used as it doesn't refer to the output
-    * bits/sample for some codecs (e.g. MS ADPCM) */
-@@ -358,25 +363,19 @@ static void ff_audio_output_close(ff_audio_decoder_t *this)
-   this->audio_channels = 0;
- }
- 
--static int ff_audio_decode(xine_t *xine,
--                           AVCodecContext *ctx,
--                           AVCodecParserContext *parser_ctx,
--                           int16_t *decode_buffer, int *decode_buffer_size,
--                           uint8_t *buf, int size)
--{
-+static int ff_audio_decode (ff_audio_decoder_t *this,
-+  int16_t *decode_buffer, int *decode_buffer_size, uint8_t *buf, int size) {
-   int consumed;
-   int parser_consumed = 0;
- 
- #if AVPARSE > 1
--  if (parser_ctx) {
-+  if (this->parser_context) {
-     uint8_t *outbuf;
-     int      outsize;
- 
-     do {
--      int ret = av_parser_parse2(parser_ctx, ctx,
--                                 &outbuf, &outsize,
--                                 buf, size,
--                                 0, 0, 0); 
-+      int ret = av_parser_parse2 (this->parser_context, this->context,
-+        &outbuf, &outsize, buf, size, 0, 0, 0);
-       parser_consumed += ret;
-       buf             += ret;
-       size            -= ret;
-@@ -385,7 +384,7 @@ static int ff_audio_decode(xine_t *xine,
-     /* nothing to decode ? */
-     if (outsize <= 0) {
-       *decode_buffer_size = 0;
--      xprintf (xine, XINE_VERBOSITY_DEBUG,
-+      xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG,
-                "ffmpeg_audio_dec: not enough data to decode\n");
-       return parser_consumed;
-     }
-@@ -402,21 +401,115 @@ static int ff_audio_decode(xine_t *xine,
-   avpkt.data = buf;
-   avpkt.size = size;
-   avpkt.flags = AV_PKT_FLAG_KEY;
--  consumed = avcodec_decode_audio3 (ctx,
--                                    decode_buffer, decode_buffer_size,
--                                    &avpkt);
-+#  if AVAUDIO > 3
-+  int got_frame;
-+  if (!this->av_frame)
-+    this->av_frame = avcodec_alloc_frame ();
-+
-+  consumed = avcodec_decode_audio4 (this->context, this->av_frame, &got_frame, &avpkt);
-+  if ((consumed >= 0) && got_frame) {
-+    int16_t *q = decode_buffer;
-+    int samples = this->av_frame->nb_samples;
-+    int channels = this->context->channels;
-+    int bytes, i, j;
-+    /* limit buffer */
-+    if (channels > 12)
-+      channels = 12;
-+    if (*decode_buffer_size < samples * channels * 2)
-+      samples = *decode_buffer_size / (channels * 2);
-+    bytes = samples * channels * 2;
-+    *decode_buffer_size = bytes;
-+    /* convert to packed int16_t. I guess there is something
-+       in libavfilter but also another dependency... */
-+    switch (this->context->sample_fmt) {
-+      case AV_SAMPLE_FMT_U8P:
-+        if (channels > 1) {
-+          uint8_t *p[12];
-+          for (i = 0; i < channels; i++)
-+            p[i] = (uint8_t *)this->av_frame->extended_data[i];
-+          for (i = samples; i; i--) {
-+            for (j = 0; j < channels; j++)
-+              *q++ = ((uint16_t)(*p[j]++) << 8) ^ 0x8000;
-+          }
-+          break;
-+        }
-+      case AV_SAMPLE_FMT_U8:
-+        {
-+          uint8_t *p = (uint8_t *)this->av_frame->extended_data[0];
-+          for (i = samples * channels; i; i--)
-+            *q++ = ((uint16_t)(*p++) << 8) ^ 0x8000;
-+        }
-+      break;
-+      case AV_SAMPLE_FMT_S16P:
-+        if (channels > 1) {
-+          int16_t *p[12];
-+          for (i = 0; i < channels; i++)
-+            p[i] = (int16_t *)this->av_frame->extended_data[i];
-+          for (i = samples; i; i--) {
-+            for (j = 0; j < channels; j++)
-+              *q++ = *p[j]++;
-+          }
-+          break;
-+        }
-+      case AV_SAMPLE_FMT_S16:
-+        xine_fast_memcpy (q, this->av_frame->extended_data[0], bytes);
-+      break;
-+      case AV_SAMPLE_FMT_S32P:
-+        if (channels > 1) {
-+          int32_t *p[12];
-+          for (i = 0; i < channels; i++)
-+            p[i] = (int32_t *)this->av_frame->extended_data[i];
-+          for (i = samples; i; i--) {
-+            for (j = 0; j < channels; j++)
-+              *q++ = *p[j]++ >> 16;
-+          }
-+          break;
-+        }
-+      case AV_SAMPLE_FMT_S32:
-+        {
-+          int32_t *p = (int32_t *)this->av_frame->extended_data[0];
-+          for (i = samples * channels; i; i--)
-+            *q++ = *p++ >> 16;
-+        }
-+      break;
-+      case AV_SAMPLE_FMT_FLTP: /* the most popular one */
-+        if (channels > 1) {
-+          float *p[12];
-+          for (i = 0; i < channels; i++)
-+            p[i] = (float *)this->av_frame->extended_data[i];
-+          for (i = samples; i; i--) {
-+            for (j = 0; j < channels; j++) {
-+              int v = *p[j]++ * (float)0x7fff;
-+              *q++ = (v + 0x8000) & ~0xffff ? (v >> 31) ^ 0x7fff : v;
-+            }
-+          }
-+          break;
-+        }
-+      case AV_SAMPLE_FMT_FLT:
-+        {
-+          float *p = (float *)this->av_frame->extended_data[0];
-+          for (i = samples * channels; i; i--) {
-+            int v = *p++ * (float)0x7fff;
-+            *q++ = (v + 0x8000) & ~0xffff ? (v >> 31) ^ 0x7fff : v;
-+          }
-+        }
-+      break;
-+      default: ;
-+    }
-+  } else *decode_buffer_size = 0;
-+#  else
-+  consumed = avcodec_decode_audio3 (this->context, decode_buffer, decode_buffer_size, &avpkt);
-+#  endif
- #else
--  consumed = avcodec_decode_audio2 (ctx,
--                                    decode_buffer, decode_buffer_size,
--                                    buf, size);
-+  consumed = avcodec_decode_audio2 (this->context, decode_buffer, decode_buffer_size, buf, size);
- #endif
- 
-   if (consumed < 0) {
--    xprintf (xine, XINE_VERBOSITY_DEBUG,
-+    xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG,
-              "ffmpeg_audio_dec: error decompressing audio frame (%d)\n", consumed);
-   } else if (parser_consumed && consumed != size) {
- 
--    xprintf (xine, XINE_VERBOSITY_DEBUG,
-+    xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG,
-              "ffmpeg_audio_dec: decoder didn't consume all data\n");
-   }
- 
-@@ -469,8 +562,7 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
-         decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
- 
- 	bytes_consumed =
--          ff_audio_decode(this->stream->xine, this->context,
--                          this->parser_context,
-+          ff_audio_decode(this,
-                           (int16_t *)this->decode_buffer, &decode_buffer_size,
-                           &this->buf[offset], this->size);
- 
-@@ -539,6 +631,7 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
-           }
- 
-           /* fill up this buffer */
-+#if AVAUDIO < 4
-           if (codec_type == BUF_AUDIO_WMAPRO) {
-             /* the above codecs output float samples, not 16-bit integers */
-             int bytes_per_sample = sizeof(float);
-@@ -558,7 +651,9 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
-             bytes_to_send = bytes_to_send * 2 / bytes_per_sample;
-             xine_fast_memcpy(audio_buffer->mem, int_buffer, bytes_to_send);
-             free(int_buffer);
--          } else {
-+          } else
-+#endif
-+          {
-             if ((decode_buffer_size - out) > audio_buffer->mem_size)
-               bytes_to_send = audio_buffer->mem_size;
-             else
-@@ -595,6 +690,9 @@ static void ff_audio_reset (audio_decoder_t *this_gen) {
- 
-   /* try to reset the wma decoder */
-   if( this->decoder_ok ) {
-+#if AVAUDIO > 3
-+    avcodec_free_frame (&this->av_frame);
-+#endif
-     pthread_mutex_lock (&ffmpeg_lock);
-     avcodec_close (this->context);
-     if (avcodec_open (this->context, this->codec) < 0)
-@@ -626,6 +724,9 @@ static void ff_audio_dispose (audio_decoder_t *this_gen) {
-   }
- 
-   if( this->context && this->decoder_ok ) {
-+#if AVAUDIO > 3
-+    avcodec_free_frame (&this->av_frame);
-+#endif
-     pthread_mutex_lock (&ffmpeg_lock);
-     avcodec_close (this->context);
-     pthread_mutex_unlock (&ffmpeg_lock);
-@@ -668,7 +769,9 @@ static audio_decoder_t *ff_audio_open_plugin (audio_decoder_class_t *class_gen,
- 
-   this->context = avcodec_alloc_context();
-   this->decode_buffer = malloc16 (AVCODEC_MAX_AUDIO_FRAME_SIZE);
--
-+#if AVAUDIO > 3
-+  this->av_frame = NULL;
-+#endif
-   return &this->audio_decoder;
- }
- 
-diff --git a/src/combined/ffmpeg/ffmpeg_compat.h b/src/combined/ffmpeg/ffmpeg_compat.h
-index 0acead8..b567dc1 100644
---- a/src/combined/ffmpeg/ffmpeg_compat.h
-+++ b/src/combined/ffmpeg/ffmpeg_compat.h
-@@ -94,7 +94,9 @@
- #endif
- 
- /* avcodec_decode_audio() */
--#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32)
-+#if LIBAVCODEC_VERSION_MAJOR >= 54
-+#  define AVAUDIO 4
-+#elif LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32)
- #  define AVAUDIO 3
- #else
- #  define AVAUDIO 2
--- 
-1.8.1.5
-

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2013-05-30 03:33:22 UTC (rev 186597)
+++ extra-x86_64/PKGBUILD	2013-05-30 03:34:04 UTC (rev 186598)
@@ -1,52 +0,0 @@
-# $Id$
-# Maintainer: Eric Bélanger <eric at archlinux.org>
-
-pkgname=xine-lib
-pkgver=1.2.2
-pkgrel=8
-pkgdesc="A multimedia playback engine"
-arch=('i686' 'x86_64')
-url="http://www.xine-project.org"
-license=('LGPL' 'GPL')
-depends=('libxvmc' 'ffmpeg' 'libxinerama')
-makedepends=('wavpack' 'faad2' 'libmng' 'imagemagick' 'mesa' 'libmodplug'
-             'vcdimager' 'jack' 'aalib' 'libdca' 'a52dec' 'libmad'
-             'libmpcdec' 'libcaca' 'libbluray' 'gnome-vfs' 'libvdpau' 'glu')
-optdepends=('imagemagick: for using the imagemagick plugin' \
-            'jack: for using the jack plugin' \
-            'vcdimager: for using the vcd plugin' \
-            'glu: for using the opengl plugin' \
-            'wavpack: for using the wavpack plugin' \
-            'faad2: for using the faad plugin' \
-            'libmng: for using the mng plugin' \
-            'aalib: for using the aalib plugin' \
-            'libmodplug: for using the modplug plugin' \
-            'libdca: for using the dca plugin' \
-            'a52dec: for using the a52 plugin' \
-            'libmad: for using the mp3 plugin' \
-            'libmpcdec: for using the musepack plugin' \
-            'libcaca: for using the caca plugin' \
-            'libbluray: for using the bluray plugin' \
-            'gnome-vfs: for using the gnome-vfs plugin' \
-            'libvdpau: for using the VDPAU plugin')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/xine/${pkgname}-${pkgver}.tar.xz
-        xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch)
-sha1sums=('a349cbb0b72256bb262377796a022dcf63829b4c'
-          '45500eca2aa40c133e1a6e8b23dbadc4b921b11f')
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-
-  # Fix audio decoding with newest FFmpeg
-  # https://bugs.archlinux.org/task/33818
-  patch -Np1 -i "$srcdir/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch"
-
-  ./configure --prefix=/usr --with-wavpack --enable-vdpau --disable-optimizations
-  make
-}
-
-package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  make DESTDIR="${pkgdir}" install
-}

Copied: xine-lib/repos/extra-x86_64/PKGBUILD (from rev 186597, xine-lib/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2013-05-30 03:34:04 UTC (rev 186598)
@@ -0,0 +1,50 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+
+pkgname=xine-lib
+pkgver=1.2.3
+pkgrel=1
+pkgdesc="A multimedia playback engine"
+arch=('i686' 'x86_64')
+url="http://www.xine-project.org"
+license=('LGPL' 'GPL')
+depends=('libxvmc' 'ffmpeg' 'libxinerama')
+makedepends=('wavpack' 'faad2' 'libmng' 'imagemagick' 'mesa' 'libmodplug'
+             'vcdimager' 'jack' 'aalib' 'libdca' 'a52dec' 'libmad'
+             'libmpcdec' 'libcaca' 'libbluray' 'gnome-vfs' 'libvdpau' 'glu')
+optdepends=('imagemagick: for using the imagemagick plugin' \
+            'jack: for using the jack plugin' \
+            'vcdimager: for using the vcd plugin' \
+            'glu: for using the opengl plugin' \
+            'wavpack: for using the wavpack plugin' \
+            'faad2: for using the faad plugin' \
+            'libmng: for using the mng plugin' \
+            'aalib: for using the aalib plugin' \
+            'libmodplug: for using the modplug plugin' \
+            'libdca: for using the dca plugin' \
+            'a52dec: for using the a52 plugin' \
+            'libmad: for using the mp3 plugin' \
+            'libmpcdec: for using the musepack plugin' \
+            'libcaca: for using the caca plugin' \
+            'libbluray: for using the bluray plugin' \
+            'gnome-vfs: for using the gnome-vfs plugin' \
+            'libvdpau: for using the VDPAU plugin')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/xine/${pkgname}-${pkgver}.tar.xz accel_vaapi.h)
+sha1sums=('6f9ef4ba75688659052d21448d46527db2b77e57'
+          '08ed9947ef919c71c87151baa8fc0ce7d8f72050')
+
+prepare() {
+  cp accel_vaapi.h ${pkgname}-${pkgver}/src/xine-engine/
+}
+
+build() {
+  cd ${pkgname}-${pkgver}
+  ./configure --prefix=/usr --with-wavpack --enable-vdpau --disable-optimizations
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+}

Copied: xine-lib/repos/extra-x86_64/accel_vaapi.h (from rev 186597, xine-lib/trunk/accel_vaapi.h)
===================================================================
--- extra-x86_64/accel_vaapi.h	                        (rev 0)
+++ extra-x86_64/accel_vaapi.h	2013-05-30 03:34:04 UTC (rev 186598)
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2008 the xine project
+ *
+ * This file is part of xine, a free video player.
+ *
+ * xine is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * xine is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ * Common acceleration definitions for vdpau
+ *
+ *
+ */
+
+#ifndef HAVE_XINE_ACCEL_VAAPI_H
+#define HAVE_XINE_ACCEL_VAAPI_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <va/va_x11.h>
+#include <pthread.h>
+#ifdef HAVE_FFMPEG_AVUTIL_H
+#  include <avcodec.h>
+#else
+#  include <libavcodec/avcodec.h>
+#endif
+
+#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32)
+#  define AVVIDEO 2
+#else
+#  define AVVIDEO 1
+#  define pp_context	pp_context_t
+#  define pp_mode	pp_mode_t
+#endif
+
+#define NUM_OUTPUT_SURFACES 22
+
+#define SURFACE_FREE            0
+#define SURFACE_ALOC            1
+#define SURFACE_RELEASE         2
+#define SURFACE_RENDER          3
+#define SURFACE_RENDER_RELEASE  5
+
+struct vaapi_equalizer {
+  VADisplayAttribute brightness;
+  VADisplayAttribute contrast;
+  VADisplayAttribute hue;
+  VADisplayAttribute saturation;
+};
+
+typedef struct ff_vaapi_context_s ff_vaapi_context_t;
+
+struct ff_vaapi_context_s {
+  VADisplay         va_display;
+  VAContextID       va_context_id;
+  VAConfigID        va_config_id;
+  int               width;
+  int               height;
+  int               sw_width;
+  int               sw_height;
+  int               va_profile;
+  unsigned int      va_colorspace;
+  VAImage           va_subpic_image;
+  VASubpictureID    va_subpic_id;
+  int               va_subpic_width;
+  int               va_subpic_height;
+  int               is_bound;
+  void              *gl_surface;
+  unsigned int      soft_head;
+  unsigned int      valid_context;
+  unsigned int      va_head;
+  unsigned int      va_soft_head;
+  vo_driver_t       *driver;
+  unsigned int      last_sub_image_fmt;
+  VASurfaceID       last_sub_surface_id;
+  struct vaapi_equalizer va_equalizer;
+  VAImageFormat     *va_image_formats;
+  int               va_num_image_formats;
+  VAImageFormat     *va_subpic_formats;
+  int               va_num_subpic_formats;
+};
+
+typedef struct ff_vaapi_surface_s ff_vaapi_surface_t;
+typedef struct vaapi_accel_s vaapi_accel_t;
+
+struct ff_vaapi_surface_s {
+  unsigned int        index;
+  vaapi_accel_t       *accel;
+  VASurfaceID         va_surface_id;
+  unsigned int        status;
+};
+
+struct vaapi_accel_s {
+  unsigned int        index;
+  vo_frame_t          *vo_frame;
+
+#if AVVIDEO > 1
+  int (*avcodec_decode_video2)(vo_frame_t *frame_gen, AVCodecContext *avctx, AVFrame *picture,
+                               int *got_picture_ptr, AVPacket *avpkt);
+#else
+  int (*avcodec_decode_video)(vo_frame_t *frame_gen, AVCodecContext *avctx, AVFrame *picture,
+                              int *got_picture_ptr, uint8_t *buf, int buf_size);
+#endif
+  VAStatus (*vaapi_init)(vo_frame_t *frame_gen, int va_profile, int width, int height, int softrender);
+  int (*profile_from_imgfmt)(vo_frame_t *frame_gen, enum PixelFormat pix_fmt, int codec_id, int vaapi_mpeg_sofdec);
+  ff_vaapi_context_t *(*get_context)(vo_frame_t *frame_gen);
+  int (*guarded_render)(vo_frame_t *frame_gen);
+  ff_vaapi_surface_t *(*get_vaapi_surface)(vo_frame_t *frame_gen);
+  void (*render_vaapi_surface)(vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface);
+  void (*release_vaapi_surface)(vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface);
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+

Deleted: extra-x86_64/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch
===================================================================
--- extra-x86_64/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch	2013-05-30 03:33:22 UTC (rev 186597)
+++ extra-x86_64/xine-lib-1.2.2-ffmpeg_audio_decoder-support-new-av_decode_audio4.patch	2013-05-30 03:34:04 UTC (rev 186598)
@@ -1,277 +0,0 @@
-From 679582503c8ba2f91a82e44c4a2938550306fd07 Mon Sep 17 00:00:00 2001
-From: Torsten Jager <t.jager at gmx.de>
-Date: Thu, 21 Feb 2013 22:35:00 +0200
-Subject: [PATCH 3/5] ffmpeg_audio_decoder: support new av_decode_audio4 ()
-
----
- src/combined/ffmpeg/ff_audio_decoder.c | 153 +++++++++++++++++++++++++++------
- src/combined/ffmpeg/ffmpeg_compat.h    |   4 +-
- 2 files changed, 131 insertions(+), 26 deletions(-)
-
-diff --git a/src/combined/ffmpeg/ff_audio_decoder.c b/src/combined/ffmpeg/ff_audio_decoder.c
-index 4e64378..34a7a9e 100644
---- a/src/combined/ffmpeg/ff_audio_decoder.c
-+++ b/src/combined/ffmpeg/ff_audio_decoder.c
-@@ -71,7 +71,9 @@ typedef struct ff_audio_decoder_s {
-   int               decoder_ok;
- 
-   AVCodecParserContext *parser_context;
--
-+#if AVAUDIO > 3
-+  AVFrame          *av_frame;
-+#endif
- } ff_audio_decoder_t;
- 
- 
-@@ -150,6 +152,9 @@ static void ff_audio_init_codec(ff_audio_decoder_t *this, unsigned int codec_typ
-     return;
-   }
- 
-+  /* Try to make the following true */
-+  this->context->request_sample_fmt = AV_SAMPLE_FMT_S16;
-+
-   /* Current ffmpeg audio decoders usually use 16 bits/sample
-    * buf->decoder_info[2] can't be used as it doesn't refer to the output
-    * bits/sample for some codecs (e.g. MS ADPCM) */
-@@ -358,25 +363,19 @@ static void ff_audio_output_close(ff_audio_decoder_t *this)
-   this->audio_channels = 0;
- }
- 
--static int ff_audio_decode(xine_t *xine,
--                           AVCodecContext *ctx,
--                           AVCodecParserContext *parser_ctx,
--                           int16_t *decode_buffer, int *decode_buffer_size,
--                           uint8_t *buf, int size)
--{
-+static int ff_audio_decode (ff_audio_decoder_t *this,
-+  int16_t *decode_buffer, int *decode_buffer_size, uint8_t *buf, int size) {
-   int consumed;
-   int parser_consumed = 0;
- 
- #if AVPARSE > 1
--  if (parser_ctx) {
-+  if (this->parser_context) {
-     uint8_t *outbuf;
-     int      outsize;
- 
-     do {
--      int ret = av_parser_parse2(parser_ctx, ctx,
--                                 &outbuf, &outsize,
--                                 buf, size,
--                                 0, 0, 0); 
-+      int ret = av_parser_parse2 (this->parser_context, this->context,
-+        &outbuf, &outsize, buf, size, 0, 0, 0);
-       parser_consumed += ret;
-       buf             += ret;
-       size            -= ret;
-@@ -385,7 +384,7 @@ static int ff_audio_decode(xine_t *xine,
-     /* nothing to decode ? */
-     if (outsize <= 0) {
-       *decode_buffer_size = 0;
--      xprintf (xine, XINE_VERBOSITY_DEBUG,
-+      xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG,
-                "ffmpeg_audio_dec: not enough data to decode\n");
-       return parser_consumed;
-     }
-@@ -402,21 +401,115 @@ static int ff_audio_decode(xine_t *xine,
-   avpkt.data = buf;
-   avpkt.size = size;
-   avpkt.flags = AV_PKT_FLAG_KEY;
--  consumed = avcodec_decode_audio3 (ctx,
--                                    decode_buffer, decode_buffer_size,
--                                    &avpkt);
-+#  if AVAUDIO > 3
-+  int got_frame;
-+  if (!this->av_frame)
-+    this->av_frame = avcodec_alloc_frame ();
-+
-+  consumed = avcodec_decode_audio4 (this->context, this->av_frame, &got_frame, &avpkt);
-+  if ((consumed >= 0) && got_frame) {
-+    int16_t *q = decode_buffer;
-+    int samples = this->av_frame->nb_samples;
-+    int channels = this->context->channels;
-+    int bytes, i, j;
-+    /* limit buffer */
-+    if (channels > 12)
-+      channels = 12;
-+    if (*decode_buffer_size < samples * channels * 2)
-+      samples = *decode_buffer_size / (channels * 2);
-+    bytes = samples * channels * 2;
-+    *decode_buffer_size = bytes;
-+    /* convert to packed int16_t. I guess there is something
-+       in libavfilter but also another dependency... */
-+    switch (this->context->sample_fmt) {
-+      case AV_SAMPLE_FMT_U8P:
-+        if (channels > 1) {
-+          uint8_t *p[12];
-+          for (i = 0; i < channels; i++)
-+            p[i] = (uint8_t *)this->av_frame->extended_data[i];
-+          for (i = samples; i; i--) {
-+            for (j = 0; j < channels; j++)
-+              *q++ = ((uint16_t)(*p[j]++) << 8) ^ 0x8000;
-+          }
-+          break;
-+        }
-+      case AV_SAMPLE_FMT_U8:
-+        {
-+          uint8_t *p = (uint8_t *)this->av_frame->extended_data[0];
-+          for (i = samples * channels; i; i--)
-+            *q++ = ((uint16_t)(*p++) << 8) ^ 0x8000;
-+        }
-+      break;
-+      case AV_SAMPLE_FMT_S16P:
-+        if (channels > 1) {
-+          int16_t *p[12];
-+          for (i = 0; i < channels; i++)
-+            p[i] = (int16_t *)this->av_frame->extended_data[i];
-+          for (i = samples; i; i--) {
-+            for (j = 0; j < channels; j++)
-+              *q++ = *p[j]++;
-+          }
-+          break;
-+        }
-+      case AV_SAMPLE_FMT_S16:
-+        xine_fast_memcpy (q, this->av_frame->extended_data[0], bytes);
-+      break;
-+      case AV_SAMPLE_FMT_S32P:
-+        if (channels > 1) {
-+          int32_t *p[12];
-+          for (i = 0; i < channels; i++)
-+            p[i] = (int32_t *)this->av_frame->extended_data[i];
-+          for (i = samples; i; i--) {
-+            for (j = 0; j < channels; j++)
-+              *q++ = *p[j]++ >> 16;
-+          }
-+          break;
-+        }
-+      case AV_SAMPLE_FMT_S32:
-+        {
-+          int32_t *p = (int32_t *)this->av_frame->extended_data[0];
-+          for (i = samples * channels; i; i--)
-+            *q++ = *p++ >> 16;
-+        }
-+      break;
-+      case AV_SAMPLE_FMT_FLTP: /* the most popular one */
-+        if (channels > 1) {
-+          float *p[12];
-+          for (i = 0; i < channels; i++)
-+            p[i] = (float *)this->av_frame->extended_data[i];
-+          for (i = samples; i; i--) {
-+            for (j = 0; j < channels; j++) {
-+              int v = *p[j]++ * (float)0x7fff;
-+              *q++ = (v + 0x8000) & ~0xffff ? (v >> 31) ^ 0x7fff : v;
-+            }
-+          }
-+          break;
-+        }
-+      case AV_SAMPLE_FMT_FLT:
-+        {
-+          float *p = (float *)this->av_frame->extended_data[0];
-+          for (i = samples * channels; i; i--) {
-+            int v = *p++ * (float)0x7fff;
-+            *q++ = (v + 0x8000) & ~0xffff ? (v >> 31) ^ 0x7fff : v;
-+          }
-+        }
-+      break;
-+      default: ;
-+    }
-+  } else *decode_buffer_size = 0;
-+#  else
-+  consumed = avcodec_decode_audio3 (this->context, decode_buffer, decode_buffer_size, &avpkt);
-+#  endif
- #else
--  consumed = avcodec_decode_audio2 (ctx,
--                                    decode_buffer, decode_buffer_size,
--                                    buf, size);
-+  consumed = avcodec_decode_audio2 (this->context, decode_buffer, decode_buffer_size, buf, size);
- #endif
- 
-   if (consumed < 0) {
--    xprintf (xine, XINE_VERBOSITY_DEBUG,
-+    xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG,
-              "ffmpeg_audio_dec: error decompressing audio frame (%d)\n", consumed);
-   } else if (parser_consumed && consumed != size) {
- 
--    xprintf (xine, XINE_VERBOSITY_DEBUG,
-+    xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG,
-              "ffmpeg_audio_dec: decoder didn't consume all data\n");
-   }
- 
-@@ -469,8 +562,7 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
-         decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
- 
- 	bytes_consumed =
--          ff_audio_decode(this->stream->xine, this->context,
--                          this->parser_context,
-+          ff_audio_decode(this,
-                           (int16_t *)this->decode_buffer, &decode_buffer_size,
-                           &this->buf[offset], this->size);
- 
-@@ -539,6 +631,7 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
-           }
- 
-           /* fill up this buffer */
-+#if AVAUDIO < 4
-           if (codec_type == BUF_AUDIO_WMAPRO) {
-             /* the above codecs output float samples, not 16-bit integers */
-             int bytes_per_sample = sizeof(float);
-@@ -558,7 +651,9 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
-             bytes_to_send = bytes_to_send * 2 / bytes_per_sample;
-             xine_fast_memcpy(audio_buffer->mem, int_buffer, bytes_to_send);
-             free(int_buffer);
--          } else {
-+          } else
-+#endif
-+          {
-             if ((decode_buffer_size - out) > audio_buffer->mem_size)
-               bytes_to_send = audio_buffer->mem_size;
-             else
-@@ -595,6 +690,9 @@ static void ff_audio_reset (audio_decoder_t *this_gen) {
- 
-   /* try to reset the wma decoder */
-   if( this->decoder_ok ) {
-+#if AVAUDIO > 3
-+    avcodec_free_frame (&this->av_frame);
-+#endif
-     pthread_mutex_lock (&ffmpeg_lock);
-     avcodec_close (this->context);
-     if (avcodec_open (this->context, this->codec) < 0)
-@@ -626,6 +724,9 @@ static void ff_audio_dispose (audio_decoder_t *this_gen) {
-   }
- 
-   if( this->context && this->decoder_ok ) {
-+#if AVAUDIO > 3
-+    avcodec_free_frame (&this->av_frame);
-+#endif
-     pthread_mutex_lock (&ffmpeg_lock);
-     avcodec_close (this->context);
-     pthread_mutex_unlock (&ffmpeg_lock);
-@@ -668,7 +769,9 @@ static audio_decoder_t *ff_audio_open_plugin (audio_decoder_class_t *class_gen,
- 
-   this->context = avcodec_alloc_context();
-   this->decode_buffer = malloc16 (AVCODEC_MAX_AUDIO_FRAME_SIZE);
--
-+#if AVAUDIO > 3
-+  this->av_frame = NULL;
-+#endif
-   return &this->audio_decoder;
- }
- 
-diff --git a/src/combined/ffmpeg/ffmpeg_compat.h b/src/combined/ffmpeg/ffmpeg_compat.h
-index 0acead8..b567dc1 100644
---- a/src/combined/ffmpeg/ffmpeg_compat.h
-+++ b/src/combined/ffmpeg/ffmpeg_compat.h
-@@ -94,7 +94,9 @@
- #endif
- 
- /* avcodec_decode_audio() */
--#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32)
-+#if LIBAVCODEC_VERSION_MAJOR >= 54
-+#  define AVAUDIO 4
-+#elif LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32)
- #  define AVAUDIO 3
- #else
- #  define AVAUDIO 2
--- 
-1.8.1.5
-




More information about the arch-commits mailing list