The latest update of multimedia/libva introduces an API change making vlc crash when building. Fix: See attached patch. WARNING! I am 100% C-illiterate. This patch comes after reading this commit in libva : http://cgit.freedesktop.org/libva/commit/?id=824a70ae1ef79458e65079374209a0cb16b65c31 and I figured that they were just shuffling arguments around and adding two new ones at the end. I tried to apply the logic to vlc, rebuilt and it worked. This is clearly a WORKSFORME patch. Unexpected results of applying this patch range from "this patch may eat your homework" to "this patch may end our civilization as we know it". I won't be held responsible for anything that happens. You have been warned! Patch attached with submission follows: How-To-Repeat: build vlc with VAAPI option.
Responsible Changed From-To: freebsd-ports-bugs->freebsd-multimedia Over to maintainer (via the GNATS Auto Assign Tool)
State Changed From-To: open->closed Committed. Thanks!
Author: madpilot Date: Sat Jul 6 20:08:45 2013 New Revision: 322412 URL: http://svnweb.freebsd.org/changeset/ports/322412 Log: Fix build of gnash [1] and vlc [2] after libva update. PR: ports/180118 [2] Submitted by: Geraud CONTINSOUZAS <geraud@gcu.info> Approved by: dinoex [1], nox [2] Added: head/graphics/gnash/files/patch-libdevice-caapi-VaapiSurface.cpp (contents, props changed) head/multimedia/vlc/files/patch-modules-codec-avcodec-vaapi.c (contents, props changed) Modified: head/graphics/gnash/Makefile Modified: head/graphics/gnash/Makefile ============================================================================== --- head/graphics/gnash/Makefile Sat Jul 6 19:59:15 2013 (r322411) +++ head/graphics/gnash/Makefile Sat Jul 6 20:08:45 2013 (r322412) @@ -3,7 +3,7 @@ PORTNAME= gnash PORTVERSION= 0.8.10 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= graphics MASTER_SITES= GNU/${PORTNAME}/${PORTVERSION}/ Added: head/graphics/gnash/files/patch-libdevice-caapi-VaapiSurface.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/gnash/files/patch-libdevice-caapi-VaapiSurface.cpp Sat Jul 6 20:08:45 2013 (r322412) @@ -0,0 +1,13 @@ +--- libdevice/vaapi/VaapiSurface.cpp.orig 2012-01-19 20:17:48.000000000 +0100 ++++ libdevice/vaapi/VaapiSurface.cpp 2013-07-05 01:44:21.927681308 +0200 +@@ -62,8 +62,8 @@ + VAStatus status; + VASurfaceID surface_id; + status = vaCreateSurfaces(gvactx->display(), +- width, height, VA_RT_FORMAT_YUV420, +- 1, &surface_id); ++ VA_RT_FORMAT_YUV420, width, height, ++ &surface_id, 1, NULL, 0); + if (!vaapi_check_status(status, "vaCreateSurfaces()")) { + return; + } Added: head/multimedia/vlc/files/patch-modules-codec-avcodec-vaapi.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/vlc/files/patch-modules-codec-avcodec-vaapi.c Sat Jul 6 20:08:45 2013 (r322412) @@ -0,0 +1,13 @@ +--- modules/codec/avcodec/vaapi.c.orig 2013-01-22 10:51:40.000000000 +0100 ++++ modules/codec/avcodec/vaapi.c 2013-07-05 01:43:15.340713238 +0200 +@@ -246,8 +246,8 @@ + + /* 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 ) ) ++ if( vaCreateSurfaces( p_va->p_display, VA_RT_FORMAT_YUV420, i_width, i_height, ++ pi_surface_id, p_va->i_surface_count, NULL, 0 ) ) + { + for( int i = 0; i < p_va->i_surface_count; i++ ) + p_va->p_surface[i].i_id = VA_INVALID_SURFACE; _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"