return NULL in the case of incorrect camera index (ticket #710)
authorVadim Pisarevsky <no@email>
Sat, 21 May 2011 18:07:28 +0000 (18:07 +0000)
committerVadim Pisarevsky <no@email>
Sat, 21 May 2011 18:07:28 +0000 (18:07 +0000)
modules/highgui/src/cap_qtkit.mm

index f88929d..80b043c 100644 (file)
@@ -338,11 +338,10 @@ int CvCaptureCAM::startCaptureDevice(int cameraNum) {
        }
        
        if (cameraNum >= 0) {
-               camNum = cameraNum % [devices count]; 
-               if (camNum != cameraNum) {
-                       cout << "Warning: Max Camera Num is " << [devices count]-1 << "; Using camera " << camNum << endl; 
-               }
-               device = [devices objectAtIndex:camNum] ;
+               int nCameras = [devices count];
+        if( cameraNum < 0 || cameraNum >= nCameras )
+            return 0;
+               device = [devices objectAtIndex:cameraNum] ;
        } else {
                device = [QTCaptureDevice defaultInputDeviceWithMediaType:QTMediaTypeVideo]  ;
        }