Hello community,
here is the log from the commit of package gstreamer-plugins-vaapi for openSUSE:Factory checked in at 2017-02-03 16:26:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-vaapi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi/gstreamer-plugins-vaapi.changes 2016-12-10 18:27:55.368512402 +0100
+++ /work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new/gstreamer-plugins-vaapi.changes 2017-02-03 17:42:00.444130359 +0100
@@ -1,0 +2,7 @@
+Mon Jan 30 16:51:59 UTC 2017 - zaitor@opensuse.org
+
+- Update to version 1.10.3:
+ + Bugs fixed: bgo#775204, bgo#774254, bgo#777146, bgo#777395,
+ bgo#777395.
+
+-------------------------------------------------------------------
Old:
----
gstreamer-vaapi-1.10.2.tar.xz
New:
----
gstreamer-vaapi-1.10.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-vaapi.spec ++++++
--- /var/tmp/diff_new_pack.uMBPUn/_old 2017-02-03 17:42:00.856072052 +0100
+++ /var/tmp/diff_new_pack.uMBPUn/_new 2017-02-03 17:42:00.856072052 +0100
@@ -1,7 +1,7 @@
#
# spec file for package gstreamer-plugins-vaapi
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define gst_branch 1.0
Name: gstreamer-plugins-vaapi
-Version: 1.10.2
+Version: 1.10.3
Release: 0
Summary: Gstreamer VA-API plugins
License: LGPL-2.1+
@@ -35,9 +35,9 @@
BuildRequires: yasm
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gl)
-BuildRequires: pkgconfig(gstreamer-1.0) >= 1.10.0
-BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0) >= 1.10.0
-BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.10.0
+BuildRequires: pkgconfig(gstreamer-1.0) >= 1.10.3
+BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0) >= 1.10.3
+BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.10.3
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libva) >= 0.30.4
++++++ gstreamer-vaapi-1.10.2.tar.xz -> gstreamer-vaapi-1.10.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/ChangeLog new/gstreamer-vaapi-1.10.3/ChangeLog
--- old/gstreamer-vaapi-1.10.2/ChangeLog 2016-11-29 15:03:04.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/ChangeLog 2017-01-30 15:10:18.000000000 +0100
@@ -1,9 +1,69 @@
+=== release 1.10.3 ===
+
+2017-01-30 Sebastian Dröge
+
+ * configure.ac:
+ releasing 1.10.3
+
+2017-01-20 19:57:52 +0100 Víctor Manuel Jáquez Leal
+
+ * gst/vaapi/gstvaapipostprocutil.c:
+ vaapipostproc: use sink caps par if not requested
+ Use the sink caps pixel-aspect-ratio to fixate the src caps, if it
+ is not already set.
+ https://bugzilla.gnome.org/show_bug.cgi?id=777395
+
+2017-01-20 19:00:24 +0100 Víctor Manuel Jáquez Leal
+
+ * gst/vaapi/gstvaapipostproc.c:
+ * gst/vaapi/gstvaapipostprocutil.c:
+ vaapipostproc: set interlace mode
+ if the vaapipostproc is configured to not do deinterlacing, the
+ interlace-mode in the src caps should be the same as the input caps.
+ https://bugzilla.gnome.org/show_bug.cgi?id=777395
+
+2017-01-20 16:10:32 +0100 Víctor Manuel Jáquez Leal
+
+ * gst/vaapi/gstvaapisink.c:
+ vaapisink: fix gcc compiler warning
+ warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
+
+2017-01-12 19:54:41 +0100 Víctor Manuel Jáquez Leal
+
+ * gst/vaapi/gstvaapisink.c:
+ vaapisink: don't use member variable outside lock
+ Thus a race condition segfault is avoided.
+ Original-patch-by: Matt Staples
+ https://bugzilla.gnome.org/show_bug.cgi?id=777146
+
+2017-01-10 13:49:27 +0900 Hyunjun Ko
+
+ * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
+ libs: decoder: h264: don't update cloned attributes
+ If the frame is a cloned picture, its PTS comes from its parent
+ picture. In addition, the base decoder doesn't set a valid PTS to
+ the frame corresponding to the cloned picture.
+ https://bugzilla.gnome.org/show_bug.cgi?id=774254
+
+2017-01-04 19:23:06 +0900 Hyunjun Ko
+
+ * gst/vaapi/gstvaapipostproc.c:
+ vaapipostproc: notify if src pad caps changed
+ If src pad caps have changed, it needs to notify it downstream. In
+ addition, do not set passthrough if they have changed.
+ Otherwise, transform sometimes starts processing before caps change.
+ The passthrough value will be set in fixate later in this case.
+ https://bugzilla.gnome.org/show_bug.cgi?id=775204
+
=== release 1.10.2 ===
-2016-11-29 Sebastian Dröge
+2016-11-29 16:22:51 +0200 Sebastian Dröge
+ * ChangeLog:
+ * NEWS:
* configure.ac:
- releasing 1.10.2
+ * gstreamer-vaapi.doap:
+ Release 1.10.2
2016-10-19 15:33:41 +0100 Julien Isorce
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/NEWS new/gstreamer-vaapi-1.10.3/NEWS
--- old/gstreamer-vaapi-1.10.2/NEWS 2016-11-29 15:03:52.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/NEWS 2017-01-30 15:10:53.000000000 +0100
@@ -1,8 +1,8 @@
# GStreamer 1.10 Release Notes
GStreamer 1.10.0 was originally released on 1st November 2016.
-The latest bug-fix release in the 1.10 series is [1.10.2](#1.10.2) and was
-released on 29 November 2016.
+The latest bug-fix release in the 1.10 series is [1.10.3](#1.10.3) and was
+released on 30 January 2017.
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!
@@ -13,7 +13,7 @@
See [https://gstreamer.freedesktop.org/releases/1.10/][latest] for the latest
version of this document.
-*Last updated: Tuesday 29 Nov 2016, 12:30 UTC [(log)][gitlog]*
+*Last updated: Monday 30 Jan 2017, 12:00 UTC [(log)][gitlog]*
[latest]: https://gstreamer.freedesktop.org/releases/1.10/
[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.10/rele...
@@ -1103,7 +1103,7 @@
### 1.10.2
-The first 1.10 bug-fix release (1.10.2) was released on 29 November 2016.
+The second 1.10 bug-fix release (1.10.2) was released on 29 November 2016.
This release only contains bugfixes and it should be safe to update from 1.10.x.
#### Major bugfixes in 1.10.2
@@ -1111,7 +1111,9 @@
- Security-relevant bugfix in the FLI/FLX/FLC decoder (CVE-2016-9634,
CVE-2016-9635, CVE-2016-9636)
- Various fixes for crashes, assertions and other failures on fuzzed input
- files (among others, thanks to Hanno Böck for testing and reporting)
+ files. Among others, thanks to Hanno Böck for testing and reporting
+ (CVE-2016-9807, CVE-2016-9808, CVE-2016-9809, CVE-2016-9810, CVE-2016-9811,
+ CVE-2016-9812, CVE-2016-9813).
- SAVP/SAVPF profile in gst-rtsp-server works for live streams again, and the
correct MIKEY policy message is generated
- Further OpenGL related bugfixes
@@ -1124,6 +1126,32 @@
[buglist-1.10.2]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=168172&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.2
+<a name="1.10.3"></a>
+
+### 1.10.3
+
+The third 1.10 bug-fix release (1.10.3) was released on 30 January 2017.
+This release only contains bugfixes and it should be safe to update from 1.10.x.
+
+#### Major bugfixes in 1.10.3
+
+ - Various fixes for crashes, assertions, deadlocks and memory leaks on fuzzed
+ input files and in other situations
+ - Regression fixes for souphttpsrc with redirection tracking and retrying
+ - Regression fix for gst-rtsp-server not handling TCP-only medias anymore
+ - Various other bugfixes the RTP/RTSP codebase
+ - vp8enc works again on 32 bit Windows
+ - Fixes to Opus PLC handling in the decoder
+ - Fix for stream corruption in multihandlesink when removing clients
+ - gst-libav was updated to ffmpeg 3.2.2
+ - ... and many, many more!
+
+For a full list of bugfixes see [Bugzilla][buglist-1.10.3]. Note that this is
+not the full list of changes. For the full list of changes please refer to the
+GIT logs or ChangeLogs of the particular modules.
+
+[buglist-1.10.3]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=187054&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.3
+
## Known Issues
- iOS builds with iOS 6 SDK and old C++ STL. You need to select iOS 6 instead
@@ -1134,8 +1162,6 @@
- Building applications with Android NDK r13 on Windows does not work. Other
platforms and earlier/later versions of the NDK are not affected.
[Bug #772842](https://bugzilla.gnome.org/show_bug.cgi?id=772842)
-- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit Windows is unaffected.
- [Bug #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663)
## Schedule for 1.12
@@ -1144,9 +1170,9 @@
of 1.11/1.12 will happen in the git master branch.
The plan for the 1.12 development cycle is yet to be confirmed, but it is
-expected that feature freeze will be around early/mid-January,
+expected that feature freeze will be around early/mid-February,
followed by several 1.11 pre-releases and the new 1.12 stable release
-in March.
+in April.
1.12 will be backwards-compatible to the stable 1.10, 1.8, 1.6, 1.4, 1.2 and
1.0 release series.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/configure new/gstreamer-vaapi-1.10.3/configure
--- old/gstreamer-vaapi-1.10.2/configure 2016-11-29 13:29:27.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/configure 2017-01-30 14:56:10.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer VA-API Plug-ins 1.10.2.
+# Generated by GNU Autoconf 2.69 for GStreamer VA-API Plug-ins 1.10.3.
#
# Report bugs to http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='GStreamer VA-API Plug-ins'
PACKAGE_TARNAME='gstreamer-vaapi'
-PACKAGE_VERSION='1.10.2'
-PACKAGE_STRING='GStreamer VA-API Plug-ins 1.10.2'
+PACKAGE_VERSION='1.10.3'
+PACKAGE_STRING='GStreamer VA-API Plug-ins 1.10.3'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -1579,7 +1579,7 @@
# 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 VA-API Plug-ins 1.10.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer VA-API Plug-ins 1.10.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1651,7 +1651,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer VA-API Plug-ins 1.10.2:";;
+ short | recursive ) echo "Configuration of GStreamer VA-API Plug-ins 1.10.3:";;
esac
cat <<\_ACEOF
@@ -1873,7 +1873,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer VA-API Plug-ins configure 1.10.2
+GStreamer VA-API Plug-ins configure 1.10.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2288,7 +2288,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GStreamer VA-API Plug-ins $as_me 1.10.2, which was
+It was created by GStreamer VA-API Plug-ins $as_me 1.10.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3271,7 +3271,7 @@
# Define the identity of the package.
PACKAGE='gstreamer-vaapi'
- VERSION='1.10.2'
+ VERSION='1.10.3'
cat >>confdefs.h <<_ACEOF
@@ -3482,9 +3482,9 @@
- PACKAGE_VERSION_MAJOR=$(echo 1.10.2 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.10.2 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.10.2 | cut -d'.' -f3)
+ PACKAGE_VERSION_MAJOR=$(echo 1.10.3 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.10.3 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.10.3 | cut -d'.' -f3)
@@ -3495,7 +3495,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.10.2 | cut -d'.' -f4)
+ NANO=$(echo 1.10.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
@@ -8330,10 +8330,10 @@
done
- GST_CURRENT=1002
+ GST_CURRENT=1003
GST_REVISION=0
- GST_AGE=1002
- GST_LIBVERSION=1002:0:1002
+ GST_AGE=1003
+ GST_LIBVERSION=1003:0:1003
@@ -20376,7 +20376,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GStreamer VA-API Plug-ins $as_me 1.10.2, which was
+This file was extended by GStreamer VA-API Plug-ins $as_me 1.10.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20442,7 +20442,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GStreamer VA-API Plug-ins config.status 1.10.2
+GStreamer VA-API Plug-ins config.status 1.10.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/configure.ac new/gstreamer-vaapi-1.10.3/configure.ac
--- old/gstreamer-vaapi-1.10.2/configure.ac 2016-11-29 13:29:23.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/configure.ac 2017-01-30 14:56:04.000000000 +0100
@@ -1,7 +1,7 @@
# gstreamer-vaapi package version number
m4_define([gst_vaapi_major_version], [1])
m4_define([gst_vaapi_minor_version], [10])
-m4_define([gst_vaapi_micro_version], [2])
+m4_define([gst_vaapi_micro_version], [3])
m4_define([gst_vaapi_nano_version], [0])
m4_define([gst_vaapi_version],
[gst_vaapi_major_version.gst_vaapi_minor_version.gst_vaapi_micro_version])
@@ -16,9 +16,9 @@
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
# gstreamer-vaapi library (libtool) version number
-m4_define([gst_vaapi_lt_current], [1002])
+m4_define([gst_vaapi_lt_current], [1003])
m4_define([gst_vaapi_lt_revision], [0])
-m4_define([gst_vaapi_lt_age], [1002])
+m4_define([gst_vaapi_lt_age], [1003])
# glib version number
m4_define([glib_version], [2.40])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/docs/plugins/html/api-index-full.html new/gstreamer-vaapi-1.10.3/docs/plugins/html/api-index-full.html
--- old/gstreamer-vaapi-1.10.2/docs/plugins/html/api-index-full.html 2016-11-29 15:04:43.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/docs/plugins/html/api-index-full.html 2017-01-30 15:12:39.000000000 +0100
@@ -25,7 +25,7 @@
<a name="api-index-full"></a>API Index</h1></div></div></div>
<a name="idx"></a><a name="idx"></a><h3 class="title"></h3>
<dt>
-<a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html#GstVaapiEncodeH264--num-views" title="The “num-views” property">GstVaapiEncodeH264:num-views</a>, object property in <a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html" title="vaapih264enc">vaapih264enc</a>
+<a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html#GstVaapiEncodeH264--cabac" title="The “cabac” property">GstVaapiEncodeH264:cabac</a>, object property in <a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html" title="vaapih264enc">vaapih264enc</a>
</dt>
<dd></dd>
<a name="idxG"></a><h3 class="title">G</h3>
@@ -58,10 +58,6 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html#GstVaapiEncodeH264--cabac" title="The “cabac” property">GstVaapiEncodeH264:cabac</a>, object property in <a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html" title="vaapih264enc">vaapih264enc</a>
-</dt>
-<dd></dd>
-<dt>
<a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html#GstVaapiEncodeH264--cpb-length" title="The “cpb-length” property">GstVaapiEncodeH264:cpb-length</a>, object property in <a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html" title="vaapih264enc">vaapih264enc</a>
</dt>
<dd></dd>
@@ -90,6 +86,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html#GstVaapiEncodeH264--num-views" title="The “num-views” property">GstVaapiEncodeH264:num-views</a>, object property in <a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html" title="vaapih264enc">vaapih264enc</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html#GstVaapiEncodeH264--rate-control" title="The “rate-control” property">GstVaapiEncodeH264:rate-control</a>, object property in <a class="link" href="gstreamer-vaapi-plugins-vaapih264enc.html" title="vaapih264enc">vaapih264enc</a>
</dt>
<dd></dd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/docs/plugins/html/gstreamer-vaapi-plugins-plugin-vaapi.html new/gstreamer-vaapi-1.10.3/docs/plugins/html/gstreamer-vaapi-plugins-plugin-vaapi.html
--- old/gstreamer-vaapi-1.10.2/docs/plugins/html/gstreamer-vaapi-plugins-plugin-vaapi.html 2016-11-29 15:04:43.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/docs/plugins/html/gstreamer-vaapi-plugins-plugin-vaapi.html 2017-01-30 15:12:39.000000000 +0100
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.2</td>
+<td>1.10.3</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/docs/plugins/html/gstreamer-vaapi-plugins-vaapipostproc.html new/gstreamer-vaapi-1.10.3/docs/plugins/html/gstreamer-vaapi-plugins-vaapipostproc.html
--- old/gstreamer-vaapi-1.10.2/docs/plugins/html/gstreamer-vaapi-plugins-vaapipostproc.html 2016-11-29 15:04:43.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/docs/plugins/html/gstreamer-vaapi-plugins-vaapipostproc.html 2017-01-30 15:12:39.000000000 +0100
@@ -242,7 +242,7 @@
</tr>
<tr>
<td><p><span class="term"></span></p></td>
-<td> video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive</td>
+<td> video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string){ progressive, interleaved, mixed }</td>
</tr>
</tbody>
</table></div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/docs/plugins/inspect/plugin-vaapi.xml new/gstreamer-vaapi-1.10.3/docs/plugins/inspect/plugin-vaapi.xml
--- old/gstreamer-vaapi-1.10.2/docs/plugins/inspect/plugin-vaapi.xml 2016-11-29 15:03:58.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/docs/plugins/inspect/plugin-vaapi.xml 2017-01-30 15:11:07.000000000 +0100
@@ -3,7 +3,7 @@
<description>VA-API based elements</description>
<filename>../../gst/vaapi/.libs/libgstvaapi.so</filename>
<basename>libgstvaapi.so</basename>
- <version>1.10.2</version>
+ <version>1.10.3</version>
<license>LGPL</license>
<source>gstreamer-vaapi</source>
<package>gstreamer-vaapi</package>
@@ -152,7 +152,7 @@
<name>src</name>
<direction>source</direction>
<presence>always</presence>
- <details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, P010_10LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive</details>
+ <details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, P010_10LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string){ progressive, interleaved, mixed }</details>
</caps>
</pads>
</element>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/gst/vaapi/gstvaapipostproc.c new/gstreamer-vaapi-1.10.3/gst/vaapi/gstvaapipostproc.c
--- old/gstreamer-vaapi-1.10.2/gst/vaapi/gstvaapipostproc.c 2016-11-29 13:29:23.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/gst/vaapi/gstvaapipostproc.c 2017-01-30 14:56:02.000000000 +0100
@@ -68,7 +68,7 @@
GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS "; "
#endif
GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL) ", "
- GST_CAPS_INTERLACED_FALSE;
+ GST_CAPS_INTERLACED_MODES;
/* *INDENT-ON* */
/* *INDENT-OFF* */
@@ -1283,12 +1283,13 @@
GstCaps * out_caps)
{
GstVaapiPostproc *const postproc = GST_VAAPIPOSTPROC (trans);
- gboolean caps_changed = FALSE;
+ gboolean sink_caps_changed = FALSE;
+ gboolean src_caps_changed = FALSE;
GstVideoInfo vinfo;
gboolean ret = FALSE;
g_mutex_lock (&postproc->postproc_lock);
- if (!gst_vaapipostproc_update_sink_caps (postproc, caps, &caps_changed))
+ if (!gst_vaapipostproc_update_sink_caps (postproc, caps, &sink_caps_changed))
goto done;
/* HACK: This is a workaround to deal with the va-intel-driver for non-native
* formats while doing advanced deinterlacing. The format of reference surfaces must
@@ -1302,10 +1303,11 @@
"Advanced deinterlacing requires the native video formats used by the driver internally");
goto done;
}
- if (!gst_vaapipostproc_update_src_caps (postproc, out_caps, &caps_changed))
+ if (!gst_vaapipostproc_update_src_caps (postproc, out_caps,
+ &src_caps_changed))
goto done;
- if (caps_changed) {
+ if (sink_caps_changed || src_caps_changed) {
gst_vaapipostproc_destroy (postproc);
if (!gst_vaapipostproc_create (postproc))
goto done;
@@ -1319,13 +1321,20 @@
postproc->same_caps = gst_caps_is_equal (caps, out_caps);
- /* set passthrough according to caps changes or filter changes */
- gst_vaapipostproc_set_passthrough (trans);
+ if (!src_caps_changed) {
+ /* set passthrough according to caps changes or filter changes */
+ gst_vaapipostproc_set_passthrough (trans);
+ }
ret = TRUE;
done:
g_mutex_unlock (&postproc->postproc_lock);
+
+ /* Updates the srcpad caps and send the caps downstream */
+ if (ret && src_caps_changed)
+ gst_base_transform_update_src_caps (trans, out_caps);
+
return ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/gst/vaapi/gstvaapipostprocutil.c new/gstreamer-vaapi-1.10.3/gst/vaapi/gstvaapipostprocutil.c
--- old/gstreamer-vaapi-1.10.2/gst/vaapi/gstvaapipostprocutil.c 2016-11-17 11:17:32.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/gst/vaapi/gstvaapipostprocutil.c 2017-01-30 14:56:02.000000000 +0100
@@ -160,11 +160,11 @@
to_par = gst_structure_get_value (outs, "pixel-aspect-ratio");
if (!to_par) {
g_value_init (&tpar, GST_TYPE_FRACTION);
- gst_value_set_fraction (&tpar, 1, 1);
+ gst_value_set_fraction (&tpar, GST_VIDEO_INFO_PAR_N (vinfo),
+ GST_VIDEO_INFO_PAR_D (vinfo));
to_par = &tpar;
- gst_structure_set (outs, "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1,
- NULL);
+ gst_structure_set_value (outs, "pixel-aspect-ratio", &tpar);
}
/* we have both PAR but they might not be fixated */
@@ -586,6 +586,28 @@
}
static gboolean
+_set_interlace_mode (GstVaapiPostproc * postproc, GstVideoInfo * vinfo,
+ GstStructure * outs)
+{
+ const gchar *interlace_mode = NULL;
+
+ if (is_deinterlace_enabled (postproc, vinfo)) {
+ interlace_mode = "progressive";
+ } else {
+ interlace_mode =
+ gst_video_interlace_mode_to_string (GST_VIDEO_INFO_INTERLACE_MODE
+ (vinfo));
+ }
+
+ if (!interlace_mode)
+ return FALSE;
+
+ gst_structure_set (outs, "interlace-mode", G_TYPE_STRING, interlace_mode,
+ NULL);
+ return TRUE;
+}
+
+static gboolean
_set_preferred_format (GstStructure * outs, GstVideoFormat format)
{
GValue value = G_VALUE_INIT;
@@ -649,6 +671,9 @@
if (f == GST_VAAPI_CAPS_FEATURE_SYSTEM_MEMORY)
_set_colorimetry (postproc, format, structure);
+ if (!_set_interlace_mode (postproc, vinfo, structure))
+ goto interlace_mode_failed;
+
outcaps = gst_caps_new_empty ();
gst_caps_append_structure_full (outcaps, structure,
gst_caps_features_copy (features));
@@ -673,6 +698,11 @@
GST_WARNING_OBJECT (postproc, "No valid src caps found");
return NULL;
}
+interlace_mode_failed:
+ {
+ GST_WARNING_OBJECT (postproc, "Invalid sink caps interlace mode");
+ return NULL;
+ }
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/gst/vaapi/gstvaapisink.c new/gstreamer-vaapi-1.10.3/gst/vaapi/gstvaapisink.c
--- old/gstreamer-vaapi-1.10.2/gst/vaapi/gstvaapisink.c 2016-11-17 11:17:32.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/gst/vaapi/gstvaapisink.c 2017-01-30 14:56:02.000000000 +0100
@@ -574,10 +574,8 @@
{
GstVaapiSink *const sink = GST_VAAPISINK (overlay);
- if (sink->video_buffer) {
- gst_vaapisink_reconfigure_window (sink);
- gst_vaapisink_show_frame (GST_VIDEO_SINK_CAST (sink), sink->video_buffer);
- }
+ gst_vaapisink_reconfigure_window (sink);
+ gst_vaapisink_show_frame (GST_VIDEO_SINK_CAST (sink), NULL);
}
static void
@@ -1363,14 +1361,22 @@
GstVaapiSurfaceProxy *proxy;
GstVaapiSurface *surface;
GstBuffer *buffer;
+ GstBuffer *old_buf;
guint flags;
GstVaapiRectangle *surface_rect = NULL;
GstVaapiRectangle tmp_rect;
GstFlowReturn ret;
gint32 view_id;
+ GstVideoCropMeta *crop_meta;
+
+ if (!src_buffer) {
+ if (sink->video_buffer)
+ src_buffer = sink->video_buffer;
+ else
+ return GST_FLOW_OK;
+ }
- GstVideoCropMeta *const crop_meta =
- gst_buffer_get_video_crop_meta (src_buffer);
+ crop_meta = gst_buffer_get_video_crop_meta (src_buffer);
if (crop_meta) {
surface_rect = &tmp_rect;
surface_rect->x = crop_meta->x;
@@ -1439,9 +1445,13 @@
g_signal_emit (sink, gst_vaapisink_signals[HANDOFF_SIGNAL], 0, buffer);
/* Retain VA surface until the next one is displayed */
- /* Need to release the lock for the duration, otherwise a deadlock is possible */
+ old_buf = sink->video_buffer;
+ sink->video_buffer = gst_buffer_ref (buffer);
+ /* Need to release the lock while releasing old buffer, otherwise a
+ * deadlock is possible */
gst_vaapi_display_unlock (GST_VAAPI_PLUGIN_BASE_DISPLAY (sink));
- gst_buffer_replace (&sink->video_buffer, buffer);
+ if (old_buf)
+ gst_buffer_unref (old_buf);
gst_vaapi_display_lock (GST_VAAPI_PLUGIN_BASE_DISPLAY (sink));
ret = GST_FLOW_OK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/gst-libs/gst/vaapi/gstvaapidecoder_h264.c new/gstreamer-vaapi-1.10.3/gst-libs/gst/vaapi/gstvaapidecoder_h264.c
--- old/gstreamer-vaapi-1.10.2/gst-libs/gst/vaapi/gstvaapidecoder_h264.c 2016-11-17 11:18:13.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/gst-libs/gst/vaapi/gstvaapidecoder_h264.c 2017-01-30 14:56:02.000000000 +0100
@@ -3231,10 +3231,17 @@
picture->frame_num = priv->frame_num;
picture->frame_num_wrap = priv->frame_num;
picture->output_flag = TRUE; /* XXX: conformant to Annex A only */
- base_picture->pts = GST_VAAPI_DECODER_CODEC_FRAME (decoder)->pts;
- base_picture->type = GST_VAAPI_PICTURE_TYPE_NONE;
- base_picture->view_id = pi->view_id;
- base_picture->voc = pi->voc;
+
+ /* If it's a cloned picture, it has some assignments from parent
+ * picture already. In addition, base decoder doesn't set valid pts
+ * to the frame corresponding to cloned picture.
+ */
+ if (G_LIKELY (!base_picture->parent_picture)) {
+ base_picture->pts = GST_VAAPI_DECODER_CODEC_FRAME (decoder)->pts;
+ base_picture->type = GST_VAAPI_PICTURE_TYPE_NONE;
+ base_picture->view_id = pi->view_id;
+ base_picture->voc = pi->voc;
+ }
/* Initialize extensions */
switch (pi->nalu.extension_type) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-vaapi-1.10.2/gstreamer-vaapi.doap new/gstreamer-vaapi-1.10.3/gstreamer-vaapi.doap
--- old/gstreamer-vaapi-1.10.2/gstreamer-vaapi.doap 2016-11-29 13:29:23.000000000 +0100
+++ new/gstreamer-vaapi-1.10.3/gstreamer-vaapi.doap 2017-01-30 14:56:04.000000000 +0100
@@ -27,6 +27,15 @@
<release>
<Version>
+ <revision>1.10.3</revision>
+ <branch>1.10</branch>
+ <created>2017-01-30</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.10.3.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.10.2</revision>
<branch>1.10</branch>
<created>2016-11-29</created>