I am developing an application in C++ on a 3650 that needs to exhibit behaviour similar to that of the prepackaged 'Camera' that comes with the Nokia 3650. I'd like to copy the way that it shows the user what the camera is currently aimed at - like a live video stream from the camera.
The only way I've been able to do this is by grabbing frame after frame in low quality from the camera and displaying them using CWindowGc's DrawBitmap functions. I cant see this being the most efficient way of displaying what the camera is seeing in near real time. Does anyone know of a better way ?
Then when the user tells my application to 'snap' the image I switch the camera server to high quality images for just one frame and save that frame. Once the save completes the application goes back to grabbing low resolution images and displaying them. This works for a couple of successive 'snaps' but even sometimes after just 1 or 2 snaps the GetImage function on RCameraServ returns a TRequestStatus of KErrTimedOut. Does anyone know what this is caused by ? I can't see it being the camera going to sleep because I am constantly grabbing those low resolution images to display to the user. It might be because of the rapid switch between the image qualities but I am having difficulty proving or disproving this theory.
I have had a look at the various example applications available on the nokia forum regarding use of a devices camera but none answer this question and none are affected by the same symptoms I am experiencing.
Any help would be much appreciated, Thanks :-)