# CodecComponentManager ## 概述 Codec组件管理类接口定义。 主要提供以下功能: - 获取Codec编解码组件数量以及编解码能力集表。 - 创建/销毁Codec组件。 **相关模块:** [Codec](_codec.md) ## 汇总 ### Public 属性 | 名称 | 描述 | | -------- | -------- | | (\* [GetComponentNum](#getcomponentnum) )() | int32_t
获取Codec编解码组件数量。 | | (\* [GetComponentCapabilityList](#getcomponentcapabilitylist) )([CodecCompCapability](_codec_comp_capability.md) \*capList, int32_t count) | int32_t
获取编解码能力集表。 | | (\* [CreateComponent](#createcomponent) )(struct [CodecComponentType](_codec_component_type.md) \*\*component, char \*compName, void \*appData, int32_t appDataSize, struct [CodecCallbackType](_codec_callback_type.md) \*callbacks) | int32_t
创建Codec组件实例。 | | (\* [DestroyComponent](#destroycomponent) )(struct [CodecComponentType](_codec_component_type.md) \*component) | int32_t
销毁组件实例。 | ## 类成员变量说明 ### CreateComponent ``` int32_t(* CodecComponentManager::CreateComponent) (struct CodecComponentType **component, char *compName, void *appData, int32_t appDataSize, struct CodecCallbackType *callbacks) ``` **描述:** 创建Codec组件实例。 根据组件名称创建Codec组件实例。 **参数:** | 名称 | 描述 | | -------- | -------- | | component | 输出参数,指向Codec组件的指针。 | | compName | 输入参数,组件名称。 | | appData | 输入参数,指向应用程序定义的值的指针,该值将在回调期间返回。 | | appDataSize | 输入参数,appData字节数。 | | callbacks | 输入参数,回调接口,指向OMX_CALLBACKTYPE结构的指针,详见[CodecCallbackType](_codec_callback_type.md)。 | **返回:** HDF_SUCCESS 表示创建组件成功。 HDF_ERR_INVALID_PARAM 表示参数无效,创建组件失败。 HDF_ERR_INVALID_OBJECT 表示对象无效,创建组件失败。 HDF_ERR_MALLOC_FAIL 表示申请内存失败,创建组件失败。 ### DestroyComponent ``` int32_t(* CodecComponentManager::DestroyComponent) (struct CodecComponentType *component) ``` **描述:** 销毁组件实例。 销毁指定的Codec组件。 **参数:** | 名称 | 描述 | | -------- | -------- | | component | 输入参数,需要销毁的Codec组件。 | **返回:** HDF_SUCCESS 表示销毁组件成功。 HDF_ERR_INVALID_PARAM 表示参数无效,销毁组件失败。 HDF_ERR_INVALID_OBJECT 表示对象无效,销毁组件失败。 HDF_ERR_MALLOC_FAIL 表示申请内存失败,销毁组件失败。 ### GetComponentCapabilityList ``` int32_t(* CodecComponentManager::GetComponentCapabilityList) (CodecCompCapability *capList, int32_t count) ``` **描述:** 获取编解码能力集表。 用户可通过此接口了解Codec模块提供了哪些编解码能力,对应的能力体现在[CodecCompCapability](_codec_comp_capability.md)结构体。 **参数:** | 名称 | 描述 | | -------- | -------- | | capList | 输出参数,返回全部组件的能力集表[CodecCompCapability](_codec_comp_capability.md)。 | | count | 输入参数,编解码组件数量,由[GetComponentNum](#getcomponentnum)获得。 | **返回:** HDF_SUCCESS 表示获取能力集表成功。 HDF_ERR_INVALID_PARAM 表示参数无效,获取能力集表失败。 HDF_ERR_INVALID_OBJECT 表示对象无效,获取能力集表失败。 HDF_ERR_MALLOC_FAIL 表示申请内存失败,获取能力集表失败。 ### GetComponentNum ``` int32_t(* CodecComponentManager::GetComponentNum) () ``` **描述:** 获取Codec编解码组件数量。 通过此接口获取Codec编解码组件数量,用来获取全部编解码能力集。 **返回:** Codec编解码组件数量。