×
Namespaces

Variants
Actions
(Difference between revisions)

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

From Nokia Developer Wiki
Jump to: navigation, search
Forum Nokia KB (Talk | contribs)
hamishwillee (Talk | contribs)
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{Archived|timestamp=20120321113828|user=roy.debjit| }}
__NOEDITSECTION__
+
[[Category:Symbian C++]][[Category:S60 3rd Edition FP2]][[Category:Multimedia]][[Category:Video]][[Category:Known Issue]]
{{KBKI}}
+
{{Abstract|To record a video on the Nokia N96, additional settings are needed as the N96 hardware is different from other Symbian devices. }}
{{KnowledgeBase
+
{{ArticleMetaData <!-- v1.2 -->
|id=KIS001471
+
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
|platform=S60 3rd Edition, FP2  
+
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
|devices=Nokia N96
+
|devices= Nokia N96
|category=Multimedia
+
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
|subcategory=Video
+
|platform= S60 3rd Edition FP2
|creationdate=October 29, 2009
+
|devicecompatability= <!-- Compatible devices (e.g.: All* (must have GPS) ) -->
|keywords=
+
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 +
|signing= <!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
 +
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
 +
|keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase -->
 +
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese -->
 +
|translated-by= <!-- [[User:XXXX]] -->
 +
|translated-from-title= <!-- Title only -->
 +
|translated-from-id= <!-- Id of translated revision -->
 +
|review-by= <!-- After re-review: [[User:username]] -->
 +
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 +
|update-by= <!-- After significant update: [[User:username]]-->
 +
|update-timestamp= <!-- After significant update: YYYYMMDD -->
 +
|creationdate= 20091029
 +
|author= [[User:Kbwiki]]
 +
<!-- The following are not in current metadata -->
 +
|id= KIS001471
 
}}
 
}}
 
 
==Overview==
 
To record a video on the Nokia N96, additional settings are needed as the N96 hardware is different from other S60 devices.
 
 
 
== Description ==
 
== Description ==
 
The N96 uses hardware codecs which require additional settings compared to other S60 devices.  
 
The N96 uses hardware codecs which require additional settings compared to other S60 devices.  
When the [http://wiki.forum.nokia.com/index.php/CS001065_-_MDFDevVideo_Record_API DevVideo Record example] is run on the Nokia N96,
+
When the [[Archived:MDFDevVideo Record Symbian API]] is run on the Nokia N96,
the application fails with the <tt>KErrNotReady</tt> (-18) error while calling <tt>CMMFDevVideoRecord::WritePictureL()</tt>, or with  
+
the application fails with the {{Icode|KErrNotReady}} (-18) error while calling {{Icode|CMMFDevVideoRecord::WritePictureL()}}, or with  
<tt>KErrNotSupported</tt> (-5) if the camera has been set as the video source with <tt>CMMFDevVideoRecord::SetSourceCameraL()</tt>.
+
{{Icode|KErrNotSupported}} (-5) if the camera has been set as the video source with {{Icode|CMMFDevVideoRecord::SetSourceCameraL()}}.
  
 
== How to reproduce ==
 
== How to reproduce ==
The [http://wiki.forum.nokia.com/index.php/CS001065_-_MDFDevVideo_Record_API DevVideo Record example] can be used to reproduce the
+
The [[Archived:MDFDevVideo Record Symbian API]] can be used to reproduce the
 
problem on the Nokia N96.
 
problem on the Nokia N96.
  
 
== Solution ==
 
== Solution ==
To ensure that MDF DevVideo encoders work on the Nokia N96, call the <tt>CMMFDevVideoRecord::SetRateControlOptions()</tt> function in  
+
To ensure that MDF DevVideo encoders work on the Nokia N96, call the {{Icode|CMMFDevVideoRecord::SetRateControlOptions()}} function in  
<tt>MMMFDevVideoRecordObserver::MdvroInitializeComplete</tt> before calling <tt>CMMFDevVideoRecord::Start()</tt>.
+
{{Icode|MMMFDevVideoRecordObserver::MdvroInitializeComplete}} before calling {{Icode|CMMFDevVideoRecord::Start()}}.
  
 
<code cpp>
 
<code cpp>
Line 56: Line 66:
 
   WritePic();
 
   WritePic();
 
   }
 
   }
</code><br>
+
</code>
 
+
 
+
[[Category:Symbian C++]][[Category:S60 3rd Edition, Feature Pack 2]][[Category:Multimedia]][[Category:Video]][[Category:Known Issue]]
+

Revision as of 09:32, 15 June 2012

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
Compatibility
Platform(s): S60 3rd Edition FP2
S60 3rd Edition FP2
Article
Created: User:Kbwiki (29 Oct 2009)
Last edited: hamishwillee (15 Jun 2012)

Description

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.

Solution

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
return;
}
 
// 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
iDvr->Start();
 
// Write first input picture
iPicNum = 0;
WritePic();
}
98 page views in the last 30 days.
×