aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2013-07-30 08:55:50 +0200
committerSebastian Dröge <slomo@circular-chaos.org>2013-07-30 08:55:50 +0200
commitcde4a9b46bc4f6542e8b99b2d9f7a9c92e36f854 (patch)
treebf322a8cb4c031aa0d6fbf3e2b1d419f9ec94a97
parent506fe9d1810310128adfeb65a9cffd014450ac11 (diff)
Imported Upstream version 1.1.3upstream/1.1.3
-rw-r--r--ChangeLog59
-rw-r--r--NEWS2
-rwxr-xr-xconfigure45
-rw-r--r--configure.ac15
-rwxr-xr-xdepcomp3
-rw-r--r--ext/libav/gstavcodecmap.c2
-rw-r--r--ext/libav/gstavdemux.c45
-rw-r--r--ext/libav/gstavviddec.c7
-rw-r--r--gst-libav.doap10
-rw-r--r--gst-libav.spec2
10 files changed, 144 insertions, 46 deletions
diff --git a/ChangeLog b/ChangeLog
index 6c2d524..7463c62 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,64 @@
+=== release 1.1.3 ===
+
+2013-07-29 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * configure.ac:
+ releasing 1.1.3
+
+2013-07-29 12:19:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * ext/libav/gstavdemux.c:
+ avdemux: Implement SEGMENT query
+
+2013-07-24 12:22:04 +0200 Edward Hervey <edward@collabora.com>
+
+ * ext/libav/gstavcodecmap.c:
+ avcodecmap: Demote WARNING to DEBUG
+ We cover all the needed formats already. The warning was just getting
+ in the way.
+
+2013-02-20 20:50:15 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/libav/gstavviddec.c:
+ avviddec: Initialise opaque from the start
+ https://bugzilla.gnome.org/show_bug.cgi?id=693581
+
+2013-07-23 09:59:43 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * ext/libav/gstavdemux.c:
+ avdemux: Add support for group-id in the stream-start event
+
+2013-07-19 09:45:24 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * configure.ac:
+ configure: Remove workaround from last decade and make SIMD optimizations work on OSX
+ https://bugzilla.gnome.org/show_bug.cgi?id=704442
+
+2013-07-18 16:11:16 +0200 Arnaud Vrac <avrac@freebox.fr>
+
+ * ext/libav/gstavviddec.c:
+ avviddec: increase bottom padding for output frames
+ libav can write slightly after the plane end in some SIMD optimized
+ functions. The extra padding value needs to be at least 16+stride_align
+ for each plane, so just increase the bottom padding value for the output
+ frame.
+ https://bugzilla.gnome.org/show_bug.cgi?id=694299
+
+2013-07-11 16:57:28 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * configure.ac:
+ Back to development
+
=== release 1.1.2 ===
-2013-07-11 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+2013-07-11 16:52:48 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
* configure.ac:
- releasing 1.1.2
+ * gst-libav.doap:
+ Release 1.1.2
2013-07-09 16:19:11 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
diff --git a/NEWS b/NEWS
index 511ab5d..92654ad 100644
--- a/NEWS
+++ b/NEWS
@@ -1,2 +1,2 @@
-This is GStreamer Libav Plugins 1.1.2
+This is GStreamer Libav Plugins 1.1.3
diff --git a/configure b/configure
index ca2bfc0..b927d30 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer libav 1.1.2.
+# Generated by GNU Autoconf 2.69 for GStreamer libav 1.1.3.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GStreamer libav'
PACKAGE_TARNAME='gst-libav'
-PACKAGE_VERSION='1.1.2'
-PACKAGE_STRING='GStreamer libav 1.1.2'
+PACKAGE_VERSION='1.1.3'
+PACKAGE_STRING='GStreamer libav 1.1.3'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -1520,7 +1520,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GStreamer libav 1.1.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer libav 1.1.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1591,7 +1591,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer libav 1.1.2:";;
+ short | recursive ) echo "Configuration of GStreamer libav 1.1.3:";;
esac
cat <<\_ACEOF
@@ -1760,7 +1760,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer libav configure 1.1.2
+GStreamer libav configure 1.1.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2175,7 +2175,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GStreamer libav $as_me 1.1.2, which was
+It was created by GStreamer libav $as_me 1.1.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3153,7 +3153,7 @@ fi
# Define the identity of the package.
PACKAGE='gst-libav'
- VERSION='1.1.2'
+ VERSION='1.1.3'
cat >>confdefs.h <<_ACEOF
@@ -3322,9 +3322,9 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; }
- PACKAGE_VERSION_MAJOR=$(echo 1.1.2 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.1.2 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.1.2 | cut -d'.' -f3)
+ PACKAGE_VERSION_MAJOR=$(echo 1.1.3 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.1.3 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.1.3 | cut -d'.' -f3)
@@ -3335,7 +3335,7 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.1.2 | cut -d'.' -f4)
+ NANO=$(echo 1.1.3 | cut -d'.' -f4)
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -7922,10 +7922,10 @@ fi
done
- GST_CURRENT=102
+ GST_CURRENT=103
GST_REVISION=0
- GST_AGE=102
- GST_LIBVERSION=102:0:102
+ GST_AGE=103
+ GST_LIBVERSION=103:0:103
@@ -12250,8 +12250,8 @@ CC="$lt_save_CC"
-GST_REQ=1.1.2
-GST_PBREQ=1.1.2
+GST_REQ=1.1.3
+GST_PBREQ=1.1.3
ORC_REQ=0.4.16
@@ -17481,13 +17481,6 @@ fi
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"
@@ -18235,7 +18228,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GStreamer libav $as_me 1.1.2, which was
+This file was extended by GStreamer libav $as_me 1.1.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18301,7 +18294,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GStreamer libav config.status 1.1.2
+GStreamer libav config.status 1.1.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index daaef84..02eaefe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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.1.2,
+AC_INIT(GStreamer libav, 1.1.3,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-libav)
@@ -42,11 +42,11 @@ GST_API_VERSION=1.0
AC_SUBST(GST_API_VERSION)
AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 102, 0, 102)
+AS_LIBTOOL(GST, 103, 0, 103)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.1.2
-GST_PBREQ=1.1.2
+GST_REQ=1.1.3
+GST_PBREQ=1.1.3
ORC_REQ=0.4.16
ORC_CHECK([$ORC_REQ])
@@ -361,13 +361,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"
diff --git a/depcomp b/depcomp
index 06b0882..4ebd5b3 100755
--- a/depcomp
+++ b/depcomp
@@ -1,7 +1,7 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2012-10-18.11; # UTC
+scriptversion=2013-05-30.07; # UTC
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
@@ -552,6 +552,7 @@ $ {
G
p
}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
rm -f "$tmpdepfile"
;;
diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c
index 966f544..88d19a0 100644
--- a/ext/libav/gstavcodecmap.c
+++ b/ext/libav/gstavcodecmap.c
@@ -2453,7 +2453,7 @@ gst_ffmpeg_pixfmt_to_videoformat (enum PixelFormat pixfmt)
if (pixtofmttable[i].pixfmt == pixfmt)
return pixtofmttable[i].format;
- GST_WARNING ("Unknown pixel format %d", pixfmt);
+ GST_DEBUG ("Unknown pixel format %d", pixfmt);
return GST_VIDEO_FORMAT_UNKNOWN;
}
diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c
index 42c0b77..d0df524 100644
--- a/ext/libav/gstavdemux.c
+++ b/ext/libav/gstavdemux.c
@@ -61,6 +61,9 @@ struct _GstFFMpegDemux
/* We need to keep track of our pads, so we do so here. */
GstPad *sinkpad;
+ gboolean have_group_id;
+ guint group_id;
+
AVFormatContext *context;
gboolean opened;
@@ -264,6 +267,9 @@ gst_ffmpegdemux_init (GstFFMpegDemux * demux)
g_rec_mutex_init (&demux->task_lock);
gst_task_set_lock (demux->task, &demux->task_lock);
+ demux->have_group_id = FALSE;
+ demux->group_id = G_MAXUINT;
+
demux->opened = FALSE;
demux->context = NULL;
@@ -809,6 +815,24 @@ gst_ffmpegdemux_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
res = TRUE;
break;
}
+ case GST_QUERY_SEGMENT:{
+ GstFormat format;
+ gint64 start, stop;
+
+ format = demux->segment.format;
+
+ start =
+ gst_segment_to_stream_time (&demux->segment, format,
+ demux->segment.start);
+ if ((stop = demux->segment.stop) == -1)
+ stop = demux->segment.duration;
+ else
+ stop = gst_segment_to_stream_time (&demux->segment, format, stop);
+
+ gst_query_set_segment (query, demux->segment.rate, format, start, stop);
+ res = TRUE;
+ break;
+ }
default:
/* FIXME : ADD GST_QUERY_CONVERT */
res = gst_pad_query_default (pad, parent, query);
@@ -925,6 +949,7 @@ gst_ffmpegdemux_get_stream (GstFFMpegDemux * demux, AVStream * avstream)
const gchar *codec;
AVCodecContext *ctx;
GstFFStream *stream;
+ GstEvent *event;
gchar *stream_id;
ctx = avstream->codec;
@@ -1004,7 +1029,23 @@ gst_ffmpegdemux_get_stream (GstFFMpegDemux * demux, AVStream * avstream)
stream_id =
gst_pad_create_stream_id_printf (pad, GST_ELEMENT_CAST (demux), "%03u",
avstream->index);
- gst_pad_push_event (pad, gst_event_new_stream_start (stream_id));
+
+ event = gst_pad_get_sticky_event (demux->sinkpad, GST_EVENT_STREAM_START, 0);
+ if (event) {
+ if (gst_event_parse_group_id (event, &demux->group_id))
+ demux->have_group_id = TRUE;
+ else
+ demux->have_group_id = FALSE;
+ gst_event_unref (event);
+ } else if (!demux->have_group_id) {
+ demux->have_group_id = TRUE;
+ demux->group_id = gst_util_group_id_next ();
+ }
+ event = gst_event_new_stream_start (stream_id);
+ if (demux->have_group_id)
+ gst_event_set_group_id (event, demux->group_id);
+
+ gst_pad_push_event (pad, event);
g_free (stream_id);
GST_INFO_OBJECT (pad, "adding pad with caps %" GST_PTR_FORMAT, caps);
@@ -1854,6 +1895,8 @@ gst_ffmpegdemux_change_state (GstElement * element, GstStateChange transition)
NULL);
g_list_free (demux->cached_events);
demux->cached_events = NULL;
+ demux->have_group_id = FALSE;
+ demux->group_id = G_MAXUINT;
break;
default:
break;
diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
index dc472e4..042c110 100644
--- a/ext/libav/gstavviddec.c
+++ b/ext/libav/gstavviddec.c
@@ -250,6 +250,7 @@ gst_ffmpegviddec_init (GstFFMpegVidDec * ffmpegdec)
/* some ffmpeg data */
ffmpegdec->context = avcodec_alloc_context3 (klass->in_plugin);
+ ffmpegdec->context->opaque = ffmpegdec;
ffmpegdec->picture = avcodec_alloc_frame ();
ffmpegdec->opened = FALSE;
ffmpegdec->skip_frame = ffmpegdec->lowres = 0;
@@ -1057,8 +1058,6 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
*ret = GST_FLOW_OK;
- ffmpegdec->context->opaque = ffmpegdec;
-
/* in case we skip frames */
ffmpegdec->picture->pict_type = -1;
@@ -1516,6 +1515,10 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
align.padding_left = edge;
align.padding_right = width - GST_VIDEO_INFO_WIDTH (&state->info) - edge;
align.padding_bottom = height - GST_VIDEO_INFO_HEIGHT (&state->info) - edge;
+
+ /* add extra padding to match libav buffer allocation sizes */
+ align.padding_bottom++;
+
for (i = 0; i < GST_VIDEO_MAX_PLANES; i++)
align.stride_align[i] =
(linesize_align[i] > 0 ? linesize_align[i] - 1 : 0);
diff --git a/gst-libav.doap b/gst-libav.doap
index e268a36..16e98b1 100644
--- a/gst-libav.doap
+++ b/gst-libav.doap
@@ -34,6 +34,16 @@ colorspace conversion elements.
<release>
<Version>
+ <revision>1.1.3</revision>
+ <branch>1.1</branch>
+ <name></name>
+ <created>2013-07-29</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.1.3.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.1.2</revision>
<branch>1.1</branch>
<name></name>
diff --git a/gst-libav.spec b/gst-libav.spec
index d8b84e0..3672da4 100644
--- a/gst-libav.spec
+++ b/gst-libav.spec
@@ -4,7 +4,7 @@
%define gst_majorminor 1.0
Name: %{gstreamer}-libav
-Version: 1.1.2
+Version: 1.1.3
Release: 1
Summary: GStreamer Streaming-media framework plug-in using libav (FFmpeg).
Group: Libraries/Multimedia