Search code examples
c#edsdkcanon-sdk

EDSDK Camera seems "Locked" with Message "Recording... Remaining Images"


I'm remote controlling a Canon EOS 1000D using EDSDK 3.6.1 and C#.

Sometimes after (successfully) taking a photo and downloading the images (RAW+L) the camera seems to "hang". Live view doesn't work any more and/or the camera seems unresponsive via EDSDK. When I try to turn off the camera its display shows:

Recording...
Remaining images :2

This normally means: the camera is busy writing data to the card. However it seems the camera endlessly writes data in these cases.

Do I need to tell the camera that I finished downloading the images or something similar?

However, it seems to work when remote controlling the camera w/o card.

UPDATE 1:

Just had this issue without any card in the camera.

UPDATE 2:

The EdsDownloadComplete command will be called after each download. However, I get still get this error randomly: sometimes after the 2nd or 3rd photo/download, sometimes later. Quite strange... :-(

EdsRelease returns always 0, meaning there are no further reference counters on this file/object.

Is there probably a way to check the download state before taking a photo/starting live view and cancel all remaining?


Solution

  • I'm guessing that there is something happening in parallel when downloading the images and that's never good with the Canon SDK. I think if you put a lock around the DownloadReady event handling it should work.

    This answer was written by Johannes Bildstein as a comment and works fine for me.