The CMMFDevVideoRecord class usage problem
| Fri, 2006-09-01 15:52 | |
|
Hello.
I have problem with CMMFDevVideoRecord class. I want use it as h263 encoder. I found encoder with proper video/H263-2000 mime type, select it, and try call rest of confing method in this order: SetInputFormatL SetSourceCameraL or SetSourceMemoryL SetOutputFormatL SetClockSource(NULL) SetNumBitrateLayersL(1) SetBufferOptionsL() Initialize I most of trys app carsh or leave with code KErrNorSupptred. In best case Initialize finish with code -2 (genreal error). Have someone success with use this api ? Regards Rewot |
|






Forum posts: 14
I searched through several versions of symbian I can't find devvideorecord.h which states on the API document. Also the linking library devvideo.lib is not avaible as well.
Forum posts: 4
CMMFDevVideoRecord is a part of mmf api of symbian S60 3rd Edition, but isn't in standard sdk (only in binary acccess kit).
Regards
Rewot
Forum posts: 4
And another thing - how start encoding ? N3250 doen't support direct image capture from camera - so i use SetSourceMemoryL before initialize. There is no option for set input buffer (or i miss it ?).
I call Start() and ther try to use WritePictureL, but it's crash app.
Code:
TVideoPicture iVideoPicture;
TPtr8 iSourcePtr;
void CVideoTestAppView::FrameBufferReady(MFrameBuffer * aFrameBuffer, TInt aError)
{
if (aError != KErrNone)
{
return;
}
User::ResetInactivityTime();
TDesC8 * data;
TRAPD( code , data = aFrameBuffer->DataL(0));
if ( code == KErrNone )
{
iVideoPicture.iData.iDataFormat = EYuvRawData;
iVideoPicture.iData.iDataSize= TSize(176,144);
iSourcePtr.Set(const_cast<TUint8*>(data->Ptr()),data->Length(),data->Length());
iVideoPicture.iData.iRawData = &iSourcePtr;
iVideoPicture.iData.iRgbBitmap = NULL;
iVideoPicture.iTimestamp = aFrameBuffer->iElapsedTime;
iVideoPicture.iCropRect = TRect(TSize(176,144));
iVideoPicture.iHeader = NULL;
iVideoPicture.iOptions = TVideoPicture::EReqInstantRefresh | TVideoPicture::ETimestamp | TVideoPicture::ECropRect;
iVideoPicture.iLayerBitRates = NULL;
iVideoPicture.iEffect = EEffectNone;
iVideoPicture.iUser = aFrameBuffer;
TRAP(code , ipRecorderEngine->WritePictureL( & iVideoPicture ) )
App crash in WritePicture, TRAP doesn't help.
Regards
Rewot
Forum posts: 14
CMMFDevVideoRecord is a part of mmf api of symbian S60 3rd Edition, but isn't in standard sdk (only in binary acccess kit).
Regards
Rewot
In the document they said mmf\devvideo\devvideorecord.h is required but there is no such file in my epoc32\include directory
Forum posts: 3
Please correct me if I'm wrong..
/anton
Forum posts: 4
Please correct me if I'm wrong..
Hi
You right anton, Devvideo also can be found in DevKit (even sourace code i thing ), but it's much harder to get it than Binary Access Kit.
Regards
Rewot
Forum posts: 1
Have you found, how to use the CMMFDevVideoRecord class?
i have to use it to have video in a buffer.
can you send me an example how to use it.
Thanx.
Forum posts: 1
I'm working on a video aplication for s60 3rd edition. I use devVideoRecord library from UIQ, because the files are not included in S60 SDK. I call the same methods listed on the first post but the Initialize method finish with code -2 (general error) too. I tested a N80, N91, and N73 devices, which implement the same DSP, an all of then return the same error.
This phones provide direct capture feature, as well as video from buffers, but none of the modes works!
I don't know what I'm doing wrong. Have anyone found something out about the issue?
Is this a problem related with the library, not from S60. Why the code only works on 3250?
I'm looking forward to hearing your replys. Thanks in advance.
Forum posts: 1
Hi,
I am also using the CMMFDevVideoRecord. I find the same error as posted in the first post on N-95. But i managed to get the encoder to initialize if i do not use the direct capture or the preprocessor. I can not find how to give input to the encoder from video buffer may be there is something that I am missing