...
 
Commits (33)
This diff is collapsed.
This is GStreamer Libav Plugins 1.0.2
This is GStreamer Libav Plugins 1.0.10
Changes since 1.0.9:
* Fix bz2 configure check for Windows
Changes since 1.0.8:
* enable SIMD optimizations on OS/X, improving performance a lot in many cases
Bugs fixed since 1.0.8:
* 704442 : avdec_h264: enormous CPU load on decoding on OSX
Changes since 1.0.7:
* gst-libav: internal libav snapshot version bumped to v0.8.8
Changes since 1.0.6:
* Update to libav 0.8.6
* Now uses frame based threading if possible and disables slice
based threading until libav 9 is used. This provides potentially better
performance and fixes some display corruptions caused by bugs in the
slice based threading
Bugs fixed since 1.0.6:
* 697548 : avviddec: Setting same caps resets decoder
* 697617 : gst-libav renders incorrectly in multithread mode
Changes since 1.0.5:
* avviddec: fix H.264 decoding errors in some files by disabling multi-threaded decoding
* libav: fix checks for internal libav configure options
* libav: Update to 0.8.5 release
Bugs fixed since 1.0.5:
* 691723 : libav: fix checks for internal libav configure options
* 694230 : quicktime videos have decoding issues in gst-1.x
Changes since 1.0.4:
* Pass CC, LD, AS, AR and NM to the libav configure if set
Changes since 1.0.3:
* G.726 decoder fixes
Bugs fixed since 1.0.3:
* 689975 : Incorrect use of object in log statement
Changes since 1.0.2:
* avcodecmap: Y41B is YUV411P, not YUV410P
Changes since 1.0.1:
......
Release notes for GStreamer libav Plugins 1.0.2
Release notes for GStreamer libav Plugins 1.0.10
The GStreamer team is proud to announce a new bug-fix release
in the 1.x stable series of the
......@@ -38,8 +38,7 @@ contains a set of less supported plugins that haven't passed the
Features of this release
* Parallel installability with 0.10.x series
* Update internal libav snapshot to 0.8.4 release which includes many crasher and CVE fixes
* Fix bz2 configure check for Windows
There were no bugs fixed in this release
......@@ -79,7 +78,5 @@ subscribe to the gstreamer-devel list.
Contributors to this release
* Andoni Morales Alastruey
* Sebastian Dröge
* Tim-Philipp Müller
 
\ No newline at end of file
......@@ -3,7 +3,7 @@ AC_PREREQ(2.62)
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
AC_INIT(GStreamer libav, 1.0.2,
AC_INIT(GStreamer libav, 1.0.10,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-libav)
......@@ -22,7 +22,7 @@ dnl can autoconf find the source ?
AC_CONFIG_SRCDIR([ext/libav/gstav.c])
dnl define the output header for config
AM_CONFIG_HEADER([config.h])
AC_CONFIG_HEADERS([config.h])
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
AM_MAINTAINER_MODE([enable])
......@@ -42,7 +42,7 @@ GST_API_VERSION=1.0
AC_SUBST(GST_API_VERSION)
AG_GST_LIBTOOL_PREPARE
AS_LIBTOOL(GST, 2, 0, 2)
AS_LIBTOOL(GST, 9, 0, 9)
dnl *** required versions of GStreamer stuff ***
GST_REQ=1.0.0
......@@ -130,6 +130,28 @@ dnl *** set variables based on configure arguments ***
dnl set location of plugin directory
AG_GST_SET_PLUGINDIR
dnl build static plugins or not
AC_MSG_CHECKING([whether to build static plugins or not])
AC_ARG_ENABLE(
static-plugins,
AC_HELP_STRING(
[--enable-static-plugins],
[build static plugins @<:@default=no@:>@]),
[AS_CASE(
[$enableval], [no], [], [yes], [],
[AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])],
[enable_static_plugins=no])
AC_MSG_RESULT([$enable_static_plugins])
if test "x$enable_static_plugins" = xyes; then
AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1,
[Define if static plugins should be built])
GST_PLUGIN_LIBTOOLFLAGS=""
else
GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static"
fi
AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
dnl define an ERROR_CFLAGS Makefile variable
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef
......@@ -182,7 +204,7 @@ AC_SUBST(GST_ALL_LDFLAGS)
dnl this really should only contain flags, not libs - they get added before
dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc.*' $GST_ALL_LDFLAGS"
GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS)
dnl Add MacOSX specific flags
......@@ -198,9 +220,14 @@ esac
AC_SUBST(DARWIN_LDFLAGS)
dnl *** Check for bz2
AG_GST_CHECK_LIBHEADER(BZ2, bz2, BZ2_bzlibVersion, , bzlib.h, have_bz2=yes, have_bz2=no)
AM_CONDITIONAL(HAVE_BZ2, test "x$have_bz2" = "xyes")
if test "x$have_bz2" = "xno"; then
save_LIBS=$LIBS
LIBS="$LIBS -lbz2"
AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
AC_MSG_RESULT($HAVE_BZ2)
LIBS=$save_LIBS
AM_CONDITIONAL(HAVE_BZ2, test "x$HAVE_BZ2" = "xyes")
if test "x$HAVE_BZ2" = "xno"; then
AC_WARN([libbz2 not found, matroska demuxer will not be able to read bz2 tracks])
fi
......@@ -268,19 +295,35 @@ else
-I \$(top_builddir)/gst-libs/ext/libav \
-Wno-deprecated-declarations"
dnl libgstlibav.la: libs to statically link to
LIBAV_LIBS="\$(top_builddir)/gst-libs/ext/libav/libavformat/libavformat.a \
\$(top_builddir)/gst-libs/ext/libav/libavcodec/libavcodec.a \
\$(top_builddir)/gst-libs/ext/libav/libavutil/libavutil.a"
LIBAV_DEPS="\$(top_builddir)/gst-libs/ext/libav/libavformat/libavformat.a \
\$(top_builddir)/gst-libs/ext/libav/libavcodec/libavcodec.a \
\$(top_builddir)/gst-libs/ext/libav/libavutil/libavutil.a"
if test "x$enable_static_plugins" = xyes; then
dnl with static linking we can't use the .a archive directly as they would
dnl be included in the final libgstlibav.a as a file and won't be usable.
dnl libav*.a must be copied to the final destination too
LIBAV_LIBS="-lavformat -lavcodec -lavutil"
else
dnl libgstlibav.la: libs to statically link to
LIBAV_LIBS="$LIBAV_DEPS"
fi
dnl
SWSCALE_CFLAGS="-I \$(top_srcdir)/gst-libs/ext/libav \
-I \$(top_builddir)/gst-libs/ext/libav \
-Wno-deprecated-declarations"
dnl libgstswscale.la: libs to statically link to
SWSCALE_LIBS="\$(top_builddir)/gst-libs/ext/libav/libswscale/libswscale.a \
SWSCALE_DEPS="\$(top_builddir)/gst-libs/ext/libav/libswscale/libswscale.a \
\$(top_builddir)/gst-libs/ext/libav/libavutil/libavutil.a"
if test "x$enable_static_plugins" = xyes; then
dnl with static linking we can't use the .a archive directly as they would
dnl be included in the final libgstswscale.a as a file and won't be usable.
dnl libav*.a must be copied to the final destination too
SWSCALE_LIBS="-lswscale -lavutil"
else
dnl libgstswscale.la: libs to statically link to
SWSCALE_LIBS="$SWSCALE_DEPS"
fi
LIBAV_SUBDIRS=gst-libs
AC_DEFINE(HAVE_AVI_H)
......@@ -321,13 +364,6 @@ else
fi
case $host_os in
# Unfortunately, in Mac OS 10.5 the current rev of libav builds
# some non-PIC code into the .a file. See
# http://trac.macosforge.org/projects/macports/ticket/13725 for more
# info.
darwin*)
emblibav_configure_args="$emblibav_configure_args --disable-mmx --disable-altivec"
;;
mingw32*)
emblibav_configure_args="$emblibav_configure_args --enable-memalign-hack"
WIN32_LIBS="-lws2_32"
......@@ -337,8 +373,28 @@ else
;;
esac
if test x"$AR" != x; then
emblibav_configure_args="$emblibav_configure_args --ar=\\\"\\\$AR\\\""
fi
if test x"$AS" != x; then
emblibav_configure_args="$emblibav_configure_args --as=\\\"\\\$CC\\\""
fi
if test x"$CC" != x; then
emblibav_configure_args="$emblibav_configure_args --cc=\\\"\\\$CC\\\""
fi
if test x"$LD" != x; then
emblibav_configure_args="$emblibav_configure_args --ld=\\\"\\\$CC\\\""
fi
if test x"$NM" != x; then
emblibav_configure_args="$emblibav_configure_args --nm=\\\"\\\$NM\\\""
fi
dnl checks for extra enable/disable flags
LIBAV_OPTS="(cd $srcdir/gst-libs/ext/libav && ./configure --help)"
LIBAV_OPTS=`cd $srcdir/gst-libs/ext/libav && ./configure --help`
# Let's check if we can disable the building of the libav binary
can_disable=`echo "$LIBAV_OPTS" | grep 'disable-ffmpeg'`
if test "$can_disable" != ""; then
......@@ -381,9 +437,11 @@ else
fi
AC_SUBST(LIBAV_CFLAGS)
AC_SUBST(LIBAV_DEPS)
AC_SUBST(LIBAV_LIBS)
AC_SUBST(LIBAV_SUBDIRS)
AC_SUBST(SWSCALE_CFLAGS)
AC_SUBST(SWSCALE_DEPS)
AC_SUBST(SWSCALE_LIBS)
AC_SUBST(WIN32_LIBS)
......
......@@ -29,10 +29,10 @@ libgstlibav_la_LIBADD = $(LIBAV_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-lgstpbutils-$(GST_API_VERSION) $(GST_BASE_LIBS) \
$(LIBM) $(WIN32_LIBS) -lz $(BZ2_LIBS)
libgstlibav_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DARWIN_LDFLAGS)
libgstlibav_la_LIBTOOLFLAGS = --tag=disable-static
libgstlibav_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
if HAVE_LIBAV_UNINSTALLED
libgstlibav_la_DEPENDENCIES = $(LIBAV_LIBS)
libgstlibav_la_DEPENDENCIES = $(LIBAV_DEPS)
endif
......
......@@ -28,6 +28,8 @@
#include <libavformat/avformat.h>
#include <gst/gst.h>
#include <gst/audio/audio.h>
#include <gst/video/video.h>
GST_DEBUG_CATEGORY_EXTERN (ffmpeg_debug);
#define GST_CAT_DEFAULT ffmpeg_debug
......
......@@ -1757,76 +1757,6 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
return caps;
}
/* Convert a FFMPEG Pixel Format to a GStreamer VideoFormat */
GstVideoFormat
gst_ffmpeg_pixfmt_to_video_format (enum PixelFormat pix_fmt)
{
GstVideoFormat fmt;
switch (pix_fmt) {
case PIX_FMT_YUVJ420P:
case PIX_FMT_YUV420P:
fmt = GST_VIDEO_FORMAT_I420;
break;
case PIX_FMT_YUVA420P:
fmt = GST_VIDEO_FORMAT_A420;
break;
case PIX_FMT_YUYV422:
fmt = GST_VIDEO_FORMAT_YUY2;
break;
case PIX_FMT_RGB24:
fmt = GST_VIDEO_FORMAT_RGB;
break;
case PIX_FMT_BGR24:
fmt = GST_VIDEO_FORMAT_BGR;
break;
case PIX_FMT_YUVJ422P:
case PIX_FMT_YUV422P:
fmt = GST_VIDEO_FORMAT_Y42B;
break;
case PIX_FMT_YUVJ444P:
case PIX_FMT_YUV444P:
fmt = GST_VIDEO_FORMAT_Y444;
break;
case PIX_FMT_RGB32:
#if (G_BYTE_ORDER == G_BIG_ENDIAN)
fmt = GST_VIDEO_FORMAT_xRGB;
#else
fmt = GST_VIDEO_FORMAT_BGRx;
#endif
break;
case PIX_FMT_YUV410P:
fmt = GST_VIDEO_FORMAT_YUV9;
break;
case PIX_FMT_YUV411P:
fmt = GST_VIDEO_FORMAT_Y41B;
break;
case PIX_FMT_RGB565:
fmt = GST_VIDEO_FORMAT_RGB16;
break;
case PIX_FMT_RGB555:
fmt = GST_VIDEO_FORMAT_RGB15;
break;
case PIX_FMT_PAL8:
fmt = GST_VIDEO_FORMAT_RGB8P;
break;
case PIX_FMT_GRAY8:
fmt = GST_VIDEO_FORMAT_GRAY8;
break;
case PIX_FMT_YUV420P10LE:
fmt = GST_VIDEO_FORMAT_I420_10LE;
break;
case PIX_FMT_YUV420P10BE:
fmt = GST_VIDEO_FORMAT_I420_10BE;
break;
default:
/* give up ... */
fmt = GST_VIDEO_FORMAT_UNKNOWN;
break;
}
return fmt;
}
/* Convert a FFMPEG Pixel Format and optional AVCodecContext
* to a GstCaps. If the context is ommitted, no fixed values
* for video/audio size will be included in the GstCaps
......@@ -1841,7 +1771,7 @@ gst_ffmpeg_pixfmt_to_caps (enum PixelFormat pix_fmt, AVCodecContext * context,
GstCaps *caps = NULL;
GstVideoFormat format;
format = gst_ffmpeg_pixfmt_to_video_format (pix_fmt);
format = gst_ffmpeg_pixfmt_to_videoformat (pix_fmt);
if (format != GST_VIDEO_FORMAT_UNKNOWN) {
caps = gst_ff_vid_caps_new (context, codec_id, TRUE, "video/x-raw",
......@@ -2195,17 +2125,19 @@ static const PixToFmt pixtofmttable[] = {
/* GST_VIDEO_FORMAT_xRGB, */
/* GST_VIDEO_FORMAT_xBGR, */
/* GST_VIDEO_FORMAT_RGBA, */
{GST_VIDEO_FORMAT_RGBA, PIX_FMT_RGB32},
{GST_VIDEO_FORMAT_RGBA, PIX_FMT_RGBA},
/* GST_VIDEO_FORMAT_BGRA, */
{GST_VIDEO_FORMAT_BGRA, PIX_FMT_BGR32},
{GST_VIDEO_FORMAT_BGRA, PIX_FMT_BGRA},
/* GST_VIDEO_FORMAT_ARGB, */
{GST_VIDEO_FORMAT_ARGB, PIX_FMT_ARGB},
/* GST_VIDEO_FORMAT_ABGR, */
{GST_VIDEO_FORMAT_ABGR, PIX_FMT_ABGR},
/* GST_VIDEO_FORMAT_RGB, */
{GST_VIDEO_FORMAT_RGB, PIX_FMT_RGB24},
/* GST_VIDEO_FORMAT_BGR, */
{GST_VIDEO_FORMAT_BGR, PIX_FMT_BGR24},
/* GST_VIDEO_FORMAT_Y41B, */
{GST_VIDEO_FORMAT_Y41B, PIX_FMT_YUV410P},
{GST_VIDEO_FORMAT_Y41B, PIX_FMT_YUV411P},
/* GST_VIDEO_FORMAT_Y42B, */
{GST_VIDEO_FORMAT_Y42B, PIX_FMT_YUV422P},
{GST_VIDEO_FORMAT_Y42B, PIX_FMT_YUVJ422P},
......@@ -2240,11 +2172,14 @@ static const PixToFmt pixtofmttable[] = {
/* GST_VIDEO_FORMAT_RGB8_PALETTED, */
{GST_VIDEO_FORMAT_RGB8P, PIX_FMT_PAL8},
/* GST_VIDEO_FORMAT_YUV9, */
{GST_VIDEO_FORMAT_YUV9, PIX_FMT_YUV410P},
/* GST_VIDEO_FORMAT_YVU9, */
/* GST_VIDEO_FORMAT_IYU1, */
/* GST_VIDEO_FORMAT_ARGB64, */
/* GST_VIDEO_FORMAT_AYUV64, */
/* GST_VIDEO_FORMAT_r210, */
{GST_VIDEO_FORMAT_I420_10LE, PIX_FMT_YUV420P10LE},
{GST_VIDEO_FORMAT_I420_10BE, PIX_FMT_YUV420P10BE},
{GST_VIDEO_FORMAT_I422_10LE, PIX_FMT_YUV422P10LE},
{GST_VIDEO_FORMAT_I422_10BE, PIX_FMT_YUV422P10BE},
};
......@@ -2673,6 +2608,11 @@ gst_ffmpeg_caps_with_codecid (enum CodecID codec_id,
/* QCELP is always mono, no matter what the caps say */
context->channels = 1;
break;
case CODEC_ID_ADPCM_G726:
if (context->sample_rate && context->bit_rate)
context->bits_per_coded_sample =
context->bit_rate / context->sample_rate;
break;
default:
break;
}
......
......@@ -34,7 +34,7 @@ G_BEGIN_DECLS
} G_STMT_END
#define GST_FFMPEG_PIPE_MUTEX_UNLOCK(m) G_STMT_START { \
GST_LOG_OBJECT (&m, "unlocking tlock from thread %p", g_thread_self ()); \
GST_LOG_OBJECT (m, "unlocking tlock from thread %p", g_thread_self ()); \
g_mutex_unlock (&m->tlock); \
} G_STMT_END
......
......@@ -476,6 +476,7 @@ gst_ffmpeg_auto_max_threads (void)
if (n < 1)
n = 1;
GST_INFO ("threads: %d", n);
g_once_init_leave (&n_threads, n);
}
......
......@@ -106,7 +106,7 @@ struct _GstFFMpegVidDecClass
#define DEFAULT_SKIPFRAME 0
#define DEFAULT_DIRECT_RENDERING TRUE
#define DEFAULT_DEBUG_MV FALSE
#define DEFAULT_MAX_THREADS 0
#define DEFAULT_MAX_THREADS 1
enum
{
......@@ -414,8 +414,6 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
return TRUE;
}
gst_caps_replace (&ffmpegdec->last_caps, state->caps);
GST_DEBUG_OBJECT (ffmpegdec, "setcaps called");
GST_OBJECT_LOCK (ffmpegdec);
......@@ -435,6 +433,8 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
avcodec_get_context_defaults (ffmpegdec->context);
}
gst_caps_replace (&ffmpegdec->last_caps, state->caps);
/* set buffer functions */
ffmpegdec->context->get_buffer = gst_ffmpegviddec_get_buffer;
ffmpegdec->context->reget_buffer = gst_ffmpegviddec_reget_buffer;
......@@ -470,15 +470,47 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
* supports it) */
ffmpegdec->context->debug_mv = ffmpegdec->debug_mv;
if (ffmpegdec->max_threads == 0) {
if (!(oclass->in_plugin->capabilities & CODEC_CAP_AUTO_THREADS))
ffmpegdec->context->thread_count = gst_ffmpeg_auto_max_threads ();
else
ffmpegdec->context->thread_count = 0;
} else
ffmpegdec->context->thread_count = ffmpegdec->max_threads;
{
const gchar *env = g_getenv ("GST_AVVIDDEC_MAX_THREADS");
int max_threads = ffmpegdec->max_threads;
GstQuery *query;
gboolean is_live;
if (env != NULL) {
if (g_str_equal (env, "auto"))
max_threads = 0;
else
max_threads = MAX (atoi (env), 0);
if (max_threads != 1) {
GST_WARNING_OBJECT (ffmpegdec, "max threads forced to %d, this might "
"lead to decoding errors or artefacts", max_threads);
}
}
if (max_threads == 0) {
if (!(oclass->in_plugin->capabilities & CODEC_CAP_AUTO_THREADS))
ffmpegdec->context->thread_count = gst_ffmpeg_auto_max_threads ();
else
ffmpegdec->context->thread_count = 0;
} else
ffmpegdec->context->thread_count = max_threads;
query = gst_query_new_latency ();
is_live = FALSE;
/* Check if upstream is live. If it isn't we can enable frame based
* threading, which is adding latency */
if (gst_pad_peer_query (GST_VIDEO_DECODER_SINK_PAD (ffmpegdec), query)) {
gst_query_parse_latency (query, &is_live, NULL, NULL);
}
gst_query_unref (query);
ffmpegdec->context->thread_type = FF_THREAD_SLICE;
/* Slice based threading is broken in libav 0.8 */
if (is_live)
ffmpegdec->context->thread_type = 0; /* FF_THREAD_SLICE */
else
ffmpegdec->context->thread_type = /* FF_THREAD_SLICE | */ FF_THREAD_FRAME;
}
/* open codec - we don't select an output pix_fmt yet,
* simply because we don't know! We only get it
......@@ -1527,8 +1559,8 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
avcodec_align_dimensions2 (ffmpegdec->context, &width, &height,
linesize_align);
edge =
ffmpegdec->context->
flags & CODEC_FLAG_EMU_EDGE ? 0 : avcodec_get_edge_width ();
ffmpegdec->
context->flags & CODEC_FLAG_EMU_EDGE ? 0 : avcodec_get_edge_width ();
/* increase the size for the padding */
width += edge << 1;
height += edge << 1;
......
......@@ -8,8 +8,8 @@ libgstavscale_la_LIBADD = $(SWSCALE_LIBS) \
$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
$(GST_BASE_LIBS) $(ORC_LIBS) $(LIBM) -lz
libgstavscale_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DARWIN_LDFLAGS)
libgstavscale_la_LIBTOOLFLAGS = --tag=disable-static
libgstavscale_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
if HAVE_LIBAV_UNINSTALLED
libgstavscale_la_DEPENDENCIES = $(SWSCALE_LIBS)
libgstavscale_la_DEPENDENCIES = $(SWSCALE_DEPS)
endif
......@@ -32,6 +32,86 @@ colorspace conversion elements.
</GitRepository>
</repository>
<release>
<Version>
<revision>1.0.10</revision>
<branch>1.0</branch>
<name></name>
<created>2013-08-28</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.0.10.tar.xz" />
</Version>
</release>
<release>
<Version>
<revision>1.0.9</revision>
<branch>1.0</branch>
<name></name>
<created>2013-07-30</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.0.9.tar.xz" />
</Version>
</release>
<release>
<Version>
<revision>1.0.8</revision>
<branch>1.0</branch>
<name></name>
<created>2013-07-11</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.0.8.tar.xz" />
</Version>
</release>
<release>
<Version>
<revision>1.0.7</revision>
<branch>1.0</branch>
<name></name>
<created>2013-04-26</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.0.7.tar.xz" />
</Version>
</release>
<release>
<Version>
<revision>1.0.6</revision>
<branch>1.0</branch>
<name></name>
<created>2013-03-22</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.0.6.tar.xz" />
</Version>
</release>
<release>
<Version>
<revision>1.0.5</revision>
<branch>1.0</branch>
<name></name>
<created>2013-01-08</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.0.5.tar.xz" />
</Version>
</release>
<release>
<Version>
<revision>1.0.4</revision>
<branch>1.0</branch>
<name></name>
<created>2012-12-18</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.0.4.tar.xz" />
</Version>
</release>
<release>
<Version>
<revision>1.0.3</revision>
<branch>1.0</branch>
<name></name>
<created>2012-11-21</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.0.3.tar.xz" />
</Version>
</release>
<release>
<Version>
<revision>1.0.2</revision>
......
......@@ -36,7 +36,7 @@ maintainer-clean: distclean
maintainerclean: maintainer-clean
dist-local:
GIT_DIR=libav/.git git checkout-index --prefix=$(TMP_DIST_DIR)/libav/ -a
GIT_DIR=libav/.git git checkout-index --prefix=../$(TMP_DIST_DIR)/libav/ -a
touch $(TMP_DIST_DIR)/libav/config.mak
echo "Patching libav ./configure"
sed -e '/Unknown option/ {N;N;s/exit 1//; }' $(TMP_DIST_DIR)/libav/configure > $(TMP_DIST_DIR)/libav/configure.tmp
......
libav @ 8c62082b
Subproject commit 2c8ce46250ff78191fe6565876ddc4bc03fdf519
Subproject commit 8c62082b5127011db0c251f6a48b2872af8c3bc6