I came across a few problems when testing my camera application on a Nokia C5 device (3rd edition FP2). I'm writing a "formal" bug report here (in addition to sending a link to this thread via the bug reporting form) so that others experiencing the same problems can find this thread if they search the forum.
Also, as C5 is has a "full focus" camera, which is a new feature, I'd be happy if someone could comment whether the same issues occur on other S60 devices with full focus - that'd help in deciding whether it makes sense to make MachineUid specific workarounds eg. to hide exposure compensation setting and use brightness instead. All of the use cases listed below work correctly 6220 Classic (S60 3rd edition FP2) and N97 (S60 5th edition).
Software version: 031.022
Software version date: 28-Mar-2010
Custom version: 031.022.C00.01
Custom version date: 28-Mar-2010
Language set: 17.01
Latest update: Not updated
Title: Exposure compensation (EV) setting changes do not affect the viewfinder
Steps to reproduce:
1) Instantiate and initialize CCamera and CCameraAdvancedSettings, prepare for image capture and start viewfinder
2) Increase exposure compensation setting value to 0x04 (the default value is 0) via CCameraAdvancedSettings::SetExposureCompensation(TInt)
3) Check error code of the resulting camera event and observe viewfinder bitmaps for changes
Event error code is KErrNone, viewfinder gets brighter.
Event error code is KErrNone, viewfinder does not change.
Additional info: Can also be reproduced with the device's native camera application. If exposure compensation setting is not available in the toolbar, go to Options/Customize toolbar, select Add shortcut, and select Exposure. Go back to viewfinder view. Select exposure compensation setting from toolbar, and in the setting view press up/down and observe the viewfinder preview area for changes.
Title: CCameraImageProcessing::GetTransformationValue(KUidECamEventImageProcessingEffect, TInt&) gives value EEffectNone, even though an effect is in use
Steps to reproduce:
1) Instantiate and initialize CCamera, CCameraAdvancedSettings and CCameraImageProcessing, prepare for image capture and start viewfinder
2) Enable an effect transformation, eg. KUidECamEventImageProcessingEffect / EEffectNegative, via CCameraImageProcessing::SetTransformationValue(TUid, TInt&)
3) Check error code of the resulting camera event and get the active effect transformation value using CCameraImageProcessing::GetTransformationValue(TUid, TInt&)
Event error code is KErrNone, transformation value is EEffectNegative, which we just set. Viewfinder bitmaps have the negative effect.
Event error code is KErrNone, transformation value is EEffectNone, but viewfinder bitmaps have the negative effect.
Log - Setting Negative effect on C5 (incorrect behavior):
8.8639 SetTransformationValue(TUid::Uid(0x1020e1c7), 0x1)
9.9478 HandleEvent uid: 0x1020e1c7, error: 0
9.9492 GetTransformationValue(TUid::Uid(0x1020e1c7), TInt&) gave value 0x0
Log - Setting Negative effect on N97 (correct behavior):
7.7425 SetTransformationValue(TUid::Uid(0x1020e1c7), 0x1)
7.7441 HandleEvent uid: 0x1020e1c7, error: 0
7.7455 GetTransformationValue(TUid::Uid(0x1020e1c7), TInt&) gave value 0x1
Title: Snapshot given by CCameraSnapshot looks cropped compared to actual JPEG image
Steps to reproduce:
1) Instantiate and initialize CCamera, CCameraAdvancedSettings and CCameraImageProcessing, prepare for image capture (2048 x 1536, screen in landscape mode) and start viewfinder, request full screen (320 x 240) snapshots for captured images.
2) Start image capture
3) Draw snapshot bitmap to the screen as soon as it arrives
4) When JPEG data is available, draw the JPEG image (decode the main JPEG data) so that it's shown fullscreen
The area shown in the image does not change when snapshot is replaced with actual JPEG.
The image "zooms out" slightly when snapshot is replaced with the actual JPEG.