Fixes for vlc and gnash after libva upgrade
Juergen Lock
nox at jelal.kn-bremen.de
Thu Jul 4 18:13:30 UTC 2013
In article <51CE08AC.6090706 at FreeBSD.org> you write:
>Hi!
Hi!
>
>I'm the maintainer of the multimedia/libva port.
>
>I updated it yesterday but there IS an API breakage in the new version I
>noticed too late.
>
>Sorry for the mistake!
>
>After some work I narrowed down the breakage to these two ports, when
>the LIBVA option is turned on (by default in gnash).
>
>Here's a patch attached which fixes the problem.
>
>ABI compatibility should not be compromised and was not in my tests with
>vlc, since libva has code to maintain that.
>
>I'd like to get approval to commit these two in one go.
>
>Thanks in advance, and again sorry for the breakage!
Hmm according to
http://www.freebsd.org/cgi/query-pr.cgi?pr=180118
(which mentions
http://cgit.freedesktop.org/libva/commit/?id=824a70ae1ef79458e65079374209a0cb16b65c31
) vaCreateSurfaces args have been shuffled around too, not only two new
ones added. Can you confirm?
Other than that I think yes this should go in...
Thanx,
Juergen
>
>--
>Guido Falsi <madpilot at FreeBSD.org>
>
>--------------000204050607010204090802
>Content-Type: text/x-patch;
> name="libva-fix.diff"
>Content-Transfer-Encoding: 7bit
>Content-Disposition: attachment;
> filename="libva-fix.diff"
>
>Index: graphics/gnash/Makefile
>===================================================================
>--- graphics/gnash/Makefile (revision 321990)
>+++ graphics/gnash/Makefile (working copy)
>@@ -3,7 +3,7 @@
>
> PORTNAME= gnash
> PORTVERSION= 0.8.10
>-PORTREVISION= 5
>+PORTREVISION= 6
> CATEGORIES= graphics
> MASTER_SITES= GNU/${PORTNAME}/${PORTVERSION}/
>
>Index: graphics/gnash/files/patch-libdevice-caapi-VaapiSurface.cpp
>===================================================================
>--- graphics/gnash/files/patch-libdevice-caapi-VaapiSurface.cpp (revision 0)
>+++ graphics/gnash/files/patch-libdevice-caapi-VaapiSurface.cpp (working copy)
>@@ -0,0 +1,11 @@
>+--- libdevice/vaapi/VaapiSurface.cpp.orig 2012-01-19 20:17:48.000000000 +0100
>++++ libdevice/vaapi/VaapiSurface.cpp 2013-06-28 15:47:31.190987198 +0200
>+@@ -63,7 +63,7 @@
>+ VASurfaceID surface_id;
>+ status = vaCreateSurfaces(gvactx->display(),
>+ width, height, VA_RT_FORMAT_YUV420,
>+- 1, &surface_id);
>++ 1, &surface_id, NULL, 0);
>+ if (!vaapi_check_status(status, "vaCreateSurfaces()")) {
>+ return;
>+ }
>
>Property changes on: graphics/gnash/files/patch-libdevice-caapi-VaapiSurface.cpp
>___________________________________________________________________
>Added: fbsd:nokeywords
>## -0,0 +1 ##
>+yes
>\ No newline at end of property
>Added: svn:eol-style
>## -0,0 +1 ##
>+native
>\ No newline at end of property
>Added: svn:mime-type
>## -0,0 +1 ##
>+text/plain
>\ No newline at end of property
>Index: multimedia/vlc/files/patch-modules-codec-avcodec-vaapi.c
>===================================================================
>--- multimedia/vlc/files/patch-modules-codec-avcodec-vaapi.c (revision 0)
>+++ multimedia/vlc/files/patch-modules-codec-avcodec-vaapi.c (working copy)
>@@ -0,0 +1,11 @@
>+--- modules/codec/avcodec/vaapi.c.orig 2013-01-22 10:51:40.000000000 +0100
>++++ modules/codec/avcodec/vaapi.c 2013-06-28 15:09:40.898143870 +0200
>+@@ -247,7 +247,7 @@
>+ /* Create surfaces */
>+ VASurfaceID pi_surface_id[p_va->i_surface_count];
>+ if( vaCreateSurfaces( p_va->p_display, i_width, i_height, VA_RT_FORMAT_YUV420,
>+- p_va->i_surface_count, pi_surface_id ) )
>++ p_va->i_surface_count, pi_surface_id, NULL, 0 ) )
>+ {
>+ for( int i = 0; i < p_va->i_surface_count; i++ )
>+ p_va->p_surface[i].i_id = VA_INVALID_SURFACE;
>
>Property changes on: multimedia/vlc/files/patch-modules-codec-avcodec-vaapi.c
>___________________________________________________________________
>[...]
More information about the freebsd-multimedia
mailing list