On Sun, 14 Jul 2019 06:46:44 -0600 (MDT)
[email protected] wrote:

> http://build-failures.rhaalovely.net//powerpc/2019-06-29/multimedia/qtav.log
> http://build-failures.rhaalovely.net/sparc64/2019-06-09/multimedia/qtav.log

Classic issue here, GCC doesn't like to see NULL as an equivalent for
false. It seems like an upstream "typo", because there are many
occurrences where booleans are used.

It builds fine on amd64 and macppc (there are no tests).

Comments/feedback are welcome!

Charlène.


Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/qtav/Makefile,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 Makefile
--- Makefile    12 Jul 2019 20:47:57 -0000      1.3
+++ Makefile    15 Jul 2019 20:27:40 -0000
@@ -5,6 +5,7 @@ COMMENT =       FFmpeg-based Qt multimedia fra
 GH_ACCOUNT =   wang-bin
 GH_PROJECT =   QtAV
 GH_TAGNAME =   v1.12.0
+REVISION =     0
 
 PKGNAME =      ${DISTNAME:L}
 
Index: patches/patch-src_codec_video_SurfaceInteropCUDA_cpp
===================================================================
RCS file: patches/patch-src_codec_video_SurfaceInteropCUDA_cpp
diff -N patches/patch-src_codec_video_SurfaceInteropCUDA_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_codec_video_SurfaceInteropCUDA_cpp        15 Jul 2019 
20:27:40 -0000
@@ -0,0 +1,26 @@
+$OpenBSD$
+
+ports-gcc fix for:
+converting to 'bool' from 'std::nullptr_t' requires direct-initialization
+
+Index: src/codec/video/SurfaceInteropCUDA.cpp
+--- src/codec/video/SurfaceInteropCUDA.cpp.orig
++++ src/codec/video/SurfaceInteropCUDA.cpp
+@@ -132,7 +132,7 @@ bool HostInteropResource::map(int picIndex, const CUVI
+         if (!ensureResource(pitch, H)) //copy height is coded height
+             return false;
+         // the same thread (context) as cuMemAllocHost, so no ccontext switch 
is needed
+-        CUDA_ENSURE(cuMemcpyDtoH(host_mem.data, devptr, pitch*H*3/2), NULL);
++        CUDA_ENSURE(cuMemcpyDtoH(host_mem.data, devptr, pitch*H*3/2), false);
+         host_mem.index = picIndex;
+     }
+     // map to texture
+@@ -173,7 +173,7 @@ bool HostInteropResource::ensureResource(int pitch, in
+     if (!share_ctx) // cuMemFreeHost will be called in dtor which is not the 
current thread.
+         CUDA_WARN(cuCtxPushCurrent(ctx));
+     // NV12
+-    CUDA_ENSURE(cuMemAllocHost((void**)&host_mem.data, pitch*height*3/2), 
NULL);
++    CUDA_ENSURE(cuMemAllocHost((void**)&host_mem.data, pitch*height*3/2), 
false);
+     if (!share_ctx)
+         CUDA_WARN(cuCtxPopCurrent(NULL)); //can be null or &ctx
+     return true;

Reply via email to