其他分享
首页 > 其他分享> > OpenMax之FillBufferDone与OnFillBufferDone(二十二)

OpenMax之FillBufferDone与OnFillBufferDone(二十二)

作者:互联网

1.结构体定义及注册回调
frameworks/native/include/media/openmax/OMX_Core.h
typedef struct OMX_CALLBACKTYPE
{

OMX_ERRORTYPE (*FillBufferDone)(
        OMX_OUT OMX_HANDLETYPE hComponent,
        OMX_OUT OMX_PTR pAppData,
        OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
}OMX_CALLBACKTYPE;

<1>.frameworks/av/media/libstagefright/omx/OMXNodeInstance.cpp
OMX_CALLBACKTYPE OMXNodeInstance::kCallbacks = {
    &OnEvent, &OnEmptyBufferDone, &OnFillBufferDone
};

<2>.frameworks/av/media/libstagefright/omx/OMX.cpp
status_t OMX::allocateNode(const char *name, const sp<IOMXObserver> &observer, node_id *node) 
{
  OMXNodeInstance *instance = new OMXNodeInstance(this, observer, name);

    OMX_COMPONENTTYPE *handle;
    OMX_ERRORTYPE err = mMaster->makeComponentInstance(name, &OMXNodeInstance::kCallbacks,instance, &handle);
}

<3>.xxx_OMX_Plugin.cpp
OMX_ERRORTYPE OMXPlugin::makeComponentInstance(const char *name,
     

标签:OnFillBufferDone,const,name,media,ERRORTYPE,FillBufferDone,OpenMax,OMXNodeInstan
来源: https://blog.csdn.net/u010164190/article/details/115582922