add a safety net on potential endless loops.

git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@15164 67ed7778-7388-44ab-90cf-0a291f65f57c
This commit is contained in:
Marcus Meissner
2014-08-30 10:28:11 +00:00
parent bba9541d26
commit 2ac009c7d4

View File

@@ -2494,20 +2494,23 @@ camera_nikon_capture (Camera *camera, CameraCaptureType type, CameraFilePath *pa
_("Failed to enable liveview on a Nikon 1, but it is required for capture"));
if (ptp_operation_issupported(params, PTP_OC_NIKON_InitiateCaptureRecInMedia)) {
int loops = 100;
do {
ret = ptp_nikon_capture2(params,af,sdram);
} while (ret == PTP_RC_DeviceBusy);
} while ((ret == PTP_RC_DeviceBusy) && loops--);
goto capturetriggered;
}
if (!params->inliveview && ptp_operation_issupported(params,PTP_OC_NIKON_AfCaptureSDRAM)) {
int loops = 100;
do {
ret = ptp_nikon_capture_sdram(params);
} while (ret == PTP_RC_DeviceBusy);
} while ((ret == PTP_RC_DeviceBusy) && (loops--));
} else {
int loops = 100;
do {
ret = ptp_nikon_capture(params, 0xffffffff);
} while (ret == PTP_RC_DeviceBusy);
} while ((ret == PTP_RC_DeviceBusy) && (loops--));
}
capturetriggered: