Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Archived:Additional settings needed to run DevVideoRecord on N96 (Known Issue)

From Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

To record a video on the Nokia N96, additional settings are needed as the N96 hardware is different from other Symbian devices.

Article Metadata
Tested with
Devices(s): Nokia N96
Platform(s): S60 3rd Edition FP2
S60 3rd Edition FP2
Created: User:Kbwiki (29 Oct 2009)
Last edited: hamishwillee (14 Jun 2013)


The N96 uses hardware codecs which require additional settings compared to other S60 devices. When the Archived:MDFDevVideo Record Symbian API is run on the Nokia N96, the application fails with the KErrNotReady (-18) error while calling CMMFDevVideoRecord::WritePictureL(), or with KErrNotSupported (-5) if the camera has been set as the video source with CMMFDevVideoRecord::SetSourceCameraL().

How to reproduce

The Archived:MDFDevVideo Record Symbian API can be used to reproduce the problem on the Nokia N96.


To ensure that MDF DevVideo encoders work on the Nokia N96, call the CMMFDevVideoRecord::SetRateControlOptions() function in MMMFDevVideoRecordObserver::MdvroInitializeComplete before calling CMMFDevVideoRecord::Start().

 void CDevvideoExAppUi::MdvroInitializeComplete( TInt aError )
if ( aError != KErrNone )
// TODO: Handle errors
// Set rate control options
TRateControlOptions rateCtrl;
rateCtrl.iControl = EBrControlNone;
rateCtrl.iPictureQuality = 0;
rateCtrl.iBitrate = iBitRate;
rateCtrl.iPictureRate = iFrameRate;
rateCtrl.iQualityTemporalTradeoff = 0;
rateCtrl.iLatencyQualityTradeoff = 0;
iDvr->SetRateControlOptions( 0, rateCtrl );
// Start encoding
// Write first input picture
iPicNum = 0;
This page was last modified on 14 June 2013, at 05:10.
415 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.