Release 1.7.1
authorSebastian Dröge <sebastian@centricular.com>
Thu, 24 Dec 2015 13:49:39 +0000 (14:49 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Thu, 24 Dec 2015 13:49:39 +0000 (14:49 +0100)
ChangeLog
NEWS
RELEASE
configure.ac
docs/plugins/inspect/plugin-libav.xml
gst-libav.doap

index 177a1ed..8f833be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,242 @@
+=== release 1.7.1 ===
+
+2015-12-24  Sebastian Dröge <slomo@coaxion.net>
+
+       * configure.ac:
+         releasing 1.7.1
+
+2015-12-24 13:06:13 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/libav/gstavcodecmap.c:
+         avcodecmap: Add special mapping for mono channel layouts
+         In ffmpeg this is the same as FRONT_CENTER, but we distinguish between
+         FRONT_CENTER and MONO in GStreamer. Add an explicit mapping for this special
+         case in the translations functions.
+         https://bugzilla.gnome.org/show_bug.cgi?id=759846
+
+2015-11-27 11:16:07 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+       * ext/libav/gstavviddec.c:
+       * ext/libav/gstavviddec.h:
+         avviddec: remove realvideo slice_offset handling
+         Handling slice_offset in avviddec is resulting in invalid memory read.
+         Since rv decoders anyways handle slice_offset, removing the same to fix
+         memory mishandlings
+         https://bugzilla.gnome.org/show_bug.cgi?id=758726
+
+2015-12-21 12:41:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/ext/libav:
+         libav: Update to ffmpeg n2.8.4
+
+2015-12-21 12:34:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * configure.ac:
+         configure: Use -Bsymbolic-functions if available
+         While this is more useful for libraries, some of our plugins with multiple
+         files and some internal API can also benefit from this.
+
+2015-12-16 09:36:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst-libav-plugins.hierarchy:
+       * docs/plugins/inspect/plugin-libav.xml:
+         docs: update to git
+
+2015-12-07 09:11:30 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+       * autogen.sh:
+       * common:
+         Automatic update of common submodule
+         From b319909 to 86e4663
+
+2015-12-02 12:27:08 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+       * ext/libav/gstav.c:
+         Require libav provided by FFmpeg at run-time
+         Error out if system's libav* libraries are not
+         provided by FFmpeg. Libav-incompatible changes
+         were introduced to support the latter so we
+         can no longer support both.
+         https://bugzilla.gnome.org/show_bug.cgi?id=758183
+
+2015-11-23 23:45:38 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+       * configure.ac:
+         Require libav provided by FFmpeg at build-time
+         Libav-incompatible changes were introduced to support
+         FFmpeg and we can no longer properly support Libav.
+         FFmpeg micro versions for libav* start at 100 (this was
+         done to differentiate from Libav builds). We use this
+         to bail at configure time if the system libav* libraries
+         are not provided by FFmpeg.
+         https://bugzilla.gnome.org/show_bug.cgi?id=758183
+
+2015-12-01 15:12:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/ext/libav:
+         libav: Update to n2.8.3
+
+2015-11-30 19:01:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/libav/gstavviddec.c:
+         avviddec: Make sure to use a buffer pool with the correct width/height configured on it for pushing buffers downstream
+         If downstream does not provide a (usable) pool, we would use our internal
+         pool. But the internal pool might be configured with a different width/height
+         because of padding, which then will cause problems if we push buffers from it
+         directly downstream.
+         Instead create a new pool if the width/height is different.
+         This prevents crashes with vaapisink and d3dvideosink for example.
+         Based on the debugging results and discussions with
+         Nicolas Dufresne <nicolas.dufresne@collabora.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=758344
+
+2015-11-23 10:31:39 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+       * ext/libav/gstavviddec.c:
+         avviddec: Fix structure memory leak
+         gst_structure_copy already takes a reference for config_copy.
+         No need to take another reference while setting it to buffer pool
+         https://bugzilla.gnome.org/show_bug.cgi?id=758512
+
+2015-11-20 10:48:47 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+       * ext/libav/gstavvidenc.c:
+         Remove unnecessary NULL checks before g_free()
+         g_free() is NULL-safe
+         (Includes unrelated formatting change to go through
+         indent checker commit hook)
+
+2015-11-12 10:44:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/ext/libav:
+         libav: Update to n2.8.2
+
+2015-11-07 12:11:57 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/libav/gstavviddec.c:
+         avviddec: Don't fallback on allocation failure
+         Allocation should keep working, falling back causes the stride to
+         change which is not supported in direct rendering.
+         https://bugzilla.gnome.org/show_bug.cgi?id=756028
+
+2015-11-02 10:00:55 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+       * ext/libav/gstavvidenc.c:
+         avvidenc: Fix frame memory leak
+         The frame being passed to handle_frame should be unref'ed in all cases
+         https://bugzilla.gnome.org/show_bug.cgi?id=757453
+
+2015-11-02 10:20:02 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+       * ext/libav/gstavdemux.c:
+         avdemux: Fix string memory leaks
+         https://bugzilla.gnome.org/show_bug.cgi?id=757454
+
+2015-10-26 19:54:10 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * ext/libav/gstavviddec.c:
+         avviddec: _drain and _finish need slightly different handling
+         ... since they handle separate cases in video decoder with different requirements.
+         Consider e.g. x264enc ! rtph264pay ! identity drop-probability=0.1 ! rtph264depay
+         to illustrate a need for such separation.
+
+2015-10-21 14:37:05 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * common:
+         Automatic update of common submodule
+         From b99800a to b319909
+
+2015-10-20 17:29:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * configure.ac:
+         Use new GST_ENABLE_EXTRA_CHECKS #define
+         https://bugzilla.gnome.org/show_bug.cgi?id=756870
+
+2015-10-21 14:28:34 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * common:
+         Automatic update of common submodule
+         From 9aed1d7 to b99800a
+
+2015-10-16 18:52:57 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/libav/gstavviddec.c:
+         avviddec: Fix bufferpool config double free by taking a copy as needed
+         Also free the config in two code paths where we leaked it before.
+
+2015-10-14 10:18:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/ext/libav:
+         libav: Update to n2.8.1
+
+2015-10-09 21:22:12 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * ext/libav/gstavcodecmap.c:
+         avcodecmap: add jpeg2000 decoder mapping
+         Map the 3 possible jpeg2000 caps to JPEG2000 codec id
+
+2015-10-03 18:25:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/libav/gstavcodecmap.c:
+         avcodecmap: Don't allocate dummy codec data anymore, it causes crashes nowadays
+         Multithreaded encoders are going to free this dummy codec data twice, e.g.
+         with this pipeline
+         gst-launch-1.0 videotestsrc num-buffers=40 ! \
+         videoconvert ! avenc_mjpeg ! fakesink
+
+2015-10-03 18:14:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/libav/gstavvidenc.c:
+         avvidenc: Pass the correct user_data to gst_buffer_new_wrapped_full()
+         Fixes crash with e.g.
+         gst-launch-1.0 videotestsrc num-buffers=40 ! \
+         videoconvert ! avenc_huffyuv ! fakesink
+
+2015-10-02 23:02:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/libav/gstavutils.c:
+       * ext/libav/gstavutils.h:
+         libav: G_CONST_RETURN is deprecated since GLib 2.30
+
+2015-10-02 22:26:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * configure.ac:
+         Add configure check for GLib for consistency with other modules
+
+2015-10-02 11:49:35 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+       * ext/libav/gstavviddec.c:
+         avviddec: only free config when pool doesn't take ownership
+         Since gst_buffer_pool_set_config() takes ownership of the config structure,
+         it is only necessary to free the structure before using it when the true
+         branch of if (gst_buffer_pool_config_validate_params) hasn't run.
+         gst_buffer_pool_set_config() always takes ownership of the structure
+         regardless of success or failure. Which means the return, checked with
+         if (!working_pool), has no relation to the state of the structure.
+
+2015-08-28 15:15:39 +0100  Luis de Bethencourt <luis@debethencourt.com>
+
+       * ext/libav/gstavviddec.c:
+         avviddec: fix memory leak
+         Free config before overwriting.
+         CID #1320708
+
+2015-09-25 23:51:15 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * configure.ac:
+         Back to development
+
 === release 1.6.0 ===
 
-2015-09-25  Sebastian Dröge <slomo@coaxion.net>
+2015-09-25 23:32:21 +0200  Sebastian Dröge <sebastian@centricular.com>
 
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
        * configure.ac:
-         releasing 1.6.0
+       * docs/plugins/inspect/plugin-libav.xml:
+       * gst-libav.doap:
+         Release 1.6.0
 
 === release 1.5.91 ===
 
diff --git a/NEWS b/NEWS
index e04f318..a4bffc6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,64 +1,2 @@
-This is GStreamer 1.6.0
-
-The GStreamer team is proud to announce a new major feature release in the
-stable 1.x API series of your favourite cross-platform multimedia framework!
-
-This release has been in the works for more than a year and is packed with new
-features, bug fixes and other improvements.
-
-See http://gstreamer.freedesktop.org/releases/1.6/ for the full list of
-changes.
-
-Highlights
-
-- Stereoscopic 3D and multiview video support
-- Trick mode API for key-frame only fast-forward/fast-reverse playback etc.
-- Improved DTS (decoding timestamp) vs. PTS (presentation timestamp) handling
-  to account for negative DTS
-- New GstVideoConverter API for more optimised and more correct conversion of
-  raw video frames between all supported formats, with rescaling
-- v4l2src now supports renegotiation
-- v4l2transform can now do scaling
-- V4L2 Element now report Colorimetry properly
-- Easier chunked recording of MP4, Matroska, Ogg, MPEG-TS: new splitmuxsink
-  and multifilesink improvements
-- Content Protection signalling API and Common Encryption (CENC) support for
-  DASH/MP4
-- Many adaptive streaming (DASH, HLS and MSS) improvements
-- New PTP and NTP network client clocks and better remote clock tracking
-  stability
-- High-quality text subtitle overlay at display resolutions with glimagesink
-  or gtkglsink
-- RECORD support for the GStreamer RTSP Server
-- Retransmissions (RTX) support in RTSP server and client
-- RTSP seeking support in client and server has been fixed
-- RTCP scheduling improvements and reduced size RTCP support
-- MP4/MOV muxer acquired a new "robust" mode of operation which attempts to
-  keep the output file in a valid state at all times
-- Live mixing support in aggregator, audiomixer and compositor was improved a
-  lot
-- compositor now supports rescaling and converting inputs streams on the fly
-- New audiointerleave element with proper input synchronisation and live input
-  support
-- Blackmagic Design DeckLink capture and playback card support was rewritten
-  from scratch; 2k/4k support; mode sensing
-- KLV metadata support in RTP and MPEG-TS
-- H.265 video encoder (x265), decoders (libav, libde265) and RTP payloader and
-  depayloaders
-- New DTLS plugin and SRTP/DTLS support
-- OpenGL3 support, multiple contexts and context propagation, 3D video,
-  transfer/conversion separation, subtitle blending
-- New OpenGL-based QML video sink, Gtk GL video sink, CoreAnimation
-  CAOpenGLLayerSink video sink
-- gst-libav switched to ffmpeg as libav-provider, gains support for
-  3D/multiview video, trick modes, and the CAVS codec
-- GstHarness API for unit tests
-- gst-editing-services got a completely new ges-launch-1.0 interface, improved
-  mixing support and integration into gst-validate
-- gnonlin has been deprecated in favor of nle (Non Linear Engine) in
-  gst-editing-services
-- gst-validate has a new plugin system, an extensive default testsuite,
-  support for concurrent test runs and valgrind support
-- cerbero build tool for SDK binary packages gains new 'bundle-source' command
-- Various improvements to the Android, iOS, OS X and Windows platform support
+This is GStreamer 1.7.1
 
diff --git a/RELEASE b/RELEASE
index 50f318a..8ca8169 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,18 +1,17 @@
 
-Release notes for GStreamer libav Plugins 1.6.0
+Release notes for GStreamer libav Plugins 1.7.1
 
 
-The GStreamer team is proud to announce a new major feature release in the
-stable 1.x API series of your favourite cross-platform multimedia framework!
+The GStreamer team is pleased to announce the first release of the unstable
+1.7 release series. The 1.7 release series is adding new features on top of
+the 1.0, 1.2, 1.4 and 1.6 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.7 release series
+will lead to the stable 1.8 release series in the next weeks. Any newly added
+API can still change until that point.
 
 
-This release has been in the works for more than a year and is packed with new
-features, bug fixes and other improvements.
-
-
-See
-http://gstreamer.freedesktop.org/releases/1.6/
-for the full list of changes.
+Binaries for Android, iOS, Mac OS X and Windows will be provided separately
+during the unstable 1.7 release series.
 
 
 
@@ -39,8 +38,13 @@ contains a set of less supported plugins that haven't passed the
 
   
 
-There were no bugs fixed in this release
-    
+Bugs fixed in this release
+     
+      * 759752 : [gst-libav] link error with clang or gcc on FreeBSD
+      * 754242 : avviddec: fix memory leak
+      * 754690 : libtool versions earlier than 2.4.4 fail with autoreconf
+      * 758726 : avviddec: slice offset handling of real video leads to memory mishandling.
+      * 759846 : incorrectly maps ffmpeg mono to GStreamer front-center
 
 ==== Download ====
 
@@ -77,8 +81,13 @@ subscribe to the gstreamer-devel list.
         
 Contributors to this release
     
-      * Jan Schmidt
+      * Luis de Bethencourt
+      * Mark Nauwelaerts
       * Nicolas Dufresne
+      * Reynaldo H. Verdejo Pinochet
       * Sebastian Dröge
+      * Thiago Santos
       * Tim-Philipp Müller
+      * Vineeth T M
+      * Vineeth TM
  
\ No newline at end of file
index 3b34c28..fab2d8f 100644 (file)
@@ -3,7 +3,7 @@ AC_PREREQ(2.69)
 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.7.0.1,
+AC_INIT(GStreamer libav, 1.7.1,
     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
     gst-libav)
 
@@ -40,11 +40,11 @@ GST_API_VERSION=1.0
 AC_SUBST(GST_API_VERSION)
 
 AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 700, 0, 700)
+AS_LIBTOOL(GST, 701, 0, 701)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.7.0.1
-GST_PBREQ=1.7.0.1
+GST_REQ=1.7.1
+GST_PBREQ=1.7.1
 
 ORC_REQ=0.4.16
 ORC_CHECK([$ORC_REQ])
index d5f012a..6f543b5 100644 (file)
@@ -3,7 +3,7 @@
   <description>All libav codecs and formats (local snapshot)</description>
   <filename>../../ext/libav/.libs/libgstlibav.so</filename>
   <basename>libgstlibav.so</basename>
-  <version>1.7.0.1</version>
+  <version>1.7.1</version>
   <license>LGPL</license>
   <source>gst-libav</source>
   <package>libav</package>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000004, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000103, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000007, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c03, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000033, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000107, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c07, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000037, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000c, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000b, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010b, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000f, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010f, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000000, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000103, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000007, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c03, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000033, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000107, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c07, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000037, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000c, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000b, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010b, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000f, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010f, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000004, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000103, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000007, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c03, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000033, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000107, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c07, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000037, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000c, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000b, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010b, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000f, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010f, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000000, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000103, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000007, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c03, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000033, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000107, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c07, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000037, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000c, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000b, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010b, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000f, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010f, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000004, channels=(int)1, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x0000000000000007, channels=(int)3, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x0000000000000107, channels=(int)4, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x0000000000000037, channels=(int)5, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x000000000000003f, channels=(int)6, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x000000000000013f, channels=(int)7, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x00000000000000ff, channels=(int)8, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }</details>
+          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000000, channels=(int)1, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x0000000000000007, channels=(int)3, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x0000000000000107, channels=(int)4, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x0000000000000037, channels=(int)5, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x000000000000003f, channels=(int)6, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x000000000000013f, channels=(int)7, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channel-mask=(bitmask)0x00000000000000ff, channels=(int)8, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000004, channels=(int)1, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c03, channels=(int)4, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c07, channels=(int)5, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0f, channels=(int)6, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE</details>
+          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000000, channels=(int)1, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c03, channels=(int)4, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c07, channels=(int)5, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0f, channels=(int)6, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000004, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000103, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000007, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c03, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000033, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000107, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c07, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000037, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000c, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000b, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010b, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000f, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010f, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000000, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000103, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000007, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c03, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000033, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000107, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c07, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000037, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000c, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000b, channels=(int)3, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010b, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000000f, channels=(int)4, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003b, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000010f, channels=(int)5, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000c0f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x000000000000003f, channels=(int)6, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000004, channels=(int)1, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000000, channels=(int)1, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000004, channels=(int)1, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000000, channels=(int)1, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000004, channels=(int)1, rate=(int)8000, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000000, channels=(int)1, rate=(int)8000, layout=(string)interleaved, format=(string)S16LE</details>
         </caps>
         <caps>
           <name>src</name>
index 1d94c3b..ffea072 100644 (file)
@@ -34,6 +34,36 @@ colorspace conversion elements.
 
  <release>
   <Version>
+   <revision>1.7.1</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2015-12-24</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.7.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
+   <revision>1.6.2</revision>
+   <branch>1.6</branch>
+   <name></name>
+   <created>2015-12-14</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.6.2.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
+   <revision>1.6.1</revision>
+   <branch>1.6</branch>
+   <name></name>
+   <created>2015-10-30</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.6.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.6.0</revision>
    <branch>1.6</branch>
    <name></name>