pBuf8.Copy(addr, iImgByteSize)会自动调整pBuf8对应的length域的大小,从而若调用pBuf8.Length()会返回正确的描述符大小;
而执行Mem::Copy(pBuf8, addr, iImgByteSize)后,虽然数据也到位了,但pBuf8.Length()会返回0
Type: Posts; User: guh02; Keyword(s):
pBuf8.Copy(addr, iImgByteSize)会自动调整pBuf8对应的length域的大小,从而若调用pBuf8.Length()会返回正确的描述符大小;
而执行Mem::Copy(pBuf8, addr, iImgByteSize)后,虽然数据也到位了,但pBuf8.Length()会返回0
谢谢大家的指导,贴个我最终实现的代码吧,做个总结,希望对后人有帮助^^:
发送步骤:
1. 如果iShared.iBufEncoded尚未分配,则重新分配空间:
if(iShared.iBufEncoded == NULL)
{
iShared.iBufEncoded = HBufC8::NewL(iImgByteSize);
}
2. 取像素地址:TUint8...
发现有这两个类,我先试一试:
CMdaImageBitmapToDescUtility* iToDesc;
CMdaImageDescToBitmapUtility* iToBitmap;
DataAddress()得到的是纯像素数据的地址:
IMPORT_C TUint32 *DataAddress() const;
Description
Gets the address of the first pixel in the bitmap. The first pixel is at the top-left.
这样iBuf2 ->...
定义了两个对象:
CFbsBitmap* iBitmap1;
HBufC8* iBuf1;
CFbsBitmap* iBitmap2;
HBufC8* iBuf2;
现在希望做这样一个转换关系:
iBitmap1 -> iBuf1 -> iBuf2 -> iBitmap2
但是不知道iBitmap1 ->...
多谢楼上几位的热心解答:)
You can try this way to see if it will work:
CImageEncoder::EOptionNone --> CImageEncoder::EOptionAlwaysThread
没用过CActiveSchedulerWait,它跟CActiveScheduler是什么联系?
哪位大侠能帮忙提供个线索,多谢了!:)
以下这句执行的时候会被卡住:
iImageDecoder->Convert(&iStatusDecoding,*iBitmapDecoded);
User::WaitForRequest(iStatusDecoding);
但是CImageEncoder支持,如以下这句执行正常:...
在网上找了一些解决方法,在构造函数里用:RFbsSession::Connect()
析构函数里用RFbsSession::Disconnect();这个问题倒是解决了,不过解码好像卡在那儿了,我再去慢慢解决吧,谢谢啦:)
以下这句失败,返回temp是-34(KErrCouldNotConnect),有人了解这句可能出错的原因是什么么?
TInt temp = iShared.iBitmapDecoded->Create( TSize(240,180),EColor16M);
这一步是在我开的新线程中执行的。
多谢了!
找到问题原因了,是因为:
iShared.iBitmapDecoded->Create( iImageDecoder->FrameInfo().iOverallSizeInPixels, iImageDecoder->FrameInfo().iFrameDisplayMode);
这一步失败了,返回值temp是-34(KErrCouldNotConnect)...
但是为什么呢...
...
因为之前出现音频跟图像的编解码冲突的问题,试图把图像编解码另开线程来解决,现在将CImageDecoder的编码功能从主线程移植到另外一个线程工作时出现了错误,返回-19(KErrUnknown)的错误代码;但同样的CImageEncoder的移植没有问题。
...
多谢red_shi和qxiaoyuan指点:)
目前语音和图像各自工作都表现正常,但是一旦一起工作语音就会阻塞图像的编解码。
语音目前用的是APS(Audio Proxy Server),20ms返回一帧;
图像是每秒拍n帧,然后编解码,用的CImageEncoder和CImageDecoder...
谢谢qxiaoyuan的答复:)
我的视频和音频都是在不同的活动对象里,分别处于视频引擎和音频引擎中,我还是不太明白“同一个事件流”时怎么回事...
至于多线程,正在考虑采用;但之前没这方面的经验,改起来可能会遇到不少麻烦
我利用APS录音及播放,录音每20msAPS会返回一次编码好的语音帧(比如AMR格式的),然后提交网络或者播放;
...
Hello!
There is a problem that audio streaming by Audio Proxy Server(APS) conflicts with Video:
I do audio streaming by APS, and capature images periodically by CCamera class,...