From 60b33046a71c4e661b03b7c81f7a69ece02c2290 Mon Sep 17 00:00:00 2001 From: Luis Roberto Morales Iglesias <lr.morales.iglesias@gmail.com> Date: Thu, 15 Sep 2016 14:20:02 +0200 Subject: [PATCH] [Issue #7290] Fixes OpenNI and OpenNI2 linking conflict --- modules/videoio/src/cap.cpp | 6 ++++++ modules/videoio/src/cap_openni2.cpp | 2 +- modules/videoio/src/precomp.hpp | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/videoio/src/cap.cpp b/modules/videoio/src/cap.cpp index 55c20bef52..a774afbaad 100644 --- a/modules/videoio/src/cap.cpp +++ b/modules/videoio/src/cap.cpp @@ -340,6 +340,12 @@ CV_IMPL CvCapture * cvCreateFileCaptureWithPreference (const char * filename, in if (apiPreference) break; #endif +#ifdef HAVE_OPENNI2 + case CV_CAP_OPENNI2: + TRY_OPEN(result, cvCreateFileCapture_OpenNI2 (filename)) + if (apiPreference) break; +#endif + case CV_CAP_IMAGES: TRY_OPEN(result, cvCreateFileCapture_Images (filename)) } diff --git a/modules/videoio/src/cap_openni2.cpp b/modules/videoio/src/cap_openni2.cpp index aebf1889a1..775038e93f 100644 --- a/modules/videoio/src/cap_openni2.cpp +++ b/modules/videoio/src/cap_openni2.cpp @@ -1086,7 +1086,7 @@ CvCapture* cvCreateCameraCapture_OpenNI2( int index ) return 0; } -CvCapture* cvCreateFileCapture_OpenNI( const char* filename ) +CvCapture* cvCreateFileCapture_OpenNI2( const char* filename ) { CvCapture_OpenNI2* capture = new CvCapture_OpenNI2( filename ); diff --git a/modules/videoio/src/precomp.hpp b/modules/videoio/src/precomp.hpp index cb3a775dc9..e166596cad 100644 --- a/modules/videoio/src/precomp.hpp +++ b/modules/videoio/src/precomp.hpp @@ -124,6 +124,7 @@ CvVideoWriter* cvCreateVideoWriter_MSMF( const char* filename, int fourcc, CvCapture* cvCreateCameraCapture_OpenNI( int index ); CvCapture* cvCreateCameraCapture_OpenNI2( int index ); CvCapture* cvCreateFileCapture_OpenNI( const char* filename ); +CvCapture* cvCreateFileCapture_OpenNI2( const char* filename ); CvCapture* cvCreateCameraCapture_Android( int index ); CvCapture* cvCreateCameraCapture_XIMEA( int index ); CvCapture* cvCreateCameraCapture_AVFoundation(int index);