1# ICodecComponentManager 2 3 4## 概述 5 6Codec组件管理类接口定义。 7 8主要提供以下功能: 9 10- 获取Codec编解码组件数量以及编解码能力集表。 11 12- 创建/销毁Codec组件。 13 14**起始版本:** 4.1 15 16**相关模块:**[Codec](_codec_v20.md) 17 18 19## 汇总 20 21 22### Public 成员函数 23 24| 名称 | 描述 | 25| -------- | -------- | 26| [GetComponentNum](#getcomponentnum) ([out] int count) | 获取Codec编解码组件数量。 | 27| [GetComponentCapabilityList](#getcomponentcapabilitylist) ([out] struct [CodecCompCapability](_codec_comp_capability_v20.md)[] capList, [in] int count) | 获取编解码能力集表。 | 28| [CreateComponent](#createcomponent) ([out] [ICodecComponent](interface_i_codec_component_v20.md) component, [out] unsigned int componentId, [in] String compName, [in] long appData, [in] [ICodecCallback](interface_i_codec_callback_v20.md) callbacks) | 创建Codec组件实例。 | 29| [DestoryComponent](#destorycomponent) ([in] unsigned int componentId) | 销毁组件实例。 | 30 31 32## 成员函数说明 33 34 35### CreateComponent() 36 37``` 38ICodecComponentManager::CreateComponent ([out] ICodecComponent component, [out] unsigned int componentId, [in] String compName, [in] long appData, [in] ICodecCallback callbacks ) 39``` 40**描述** 41创建Codec组件实例。 42 43根据组件名称创建Codec组件实例。 44 45**起始版本:** 4.1 46 47**参数:** 48 49| 名称 | 描述 | 50| -------- | -------- | 51| component | 指向Codec组件的指针。 | 52| componentId | 创建组件的Id。 | 53| compName | 组件名称。 | 54| appData | 指向应用程序定义的值的指针,该值将在回调期间返回。 | 55| callbacks | 回调接口,指向OMX_CALLBACKTYPE结构的指针,详见[ICodecCallback](interface_i_codec_callback_v20.md)。 | 56 57**返回:** 58 59HDF_SUCCESS 表示创建组件成功。 60 61HDF_ERR_INVALID_PARAM 表示参数无效,创建组件失败。 62 63HDF_FAILURE 表示执行失败。 64 65其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 66 67 68### DestoryComponent() 69 70``` 71ICodecComponentManager::DestoryComponent ([in] unsigned int componentId) 72``` 73**描述** 74销毁组件实例。 75 76销毁指定的Codec组件。 77 78**起始版本:** 4.1 79 80**参数:** 81 82| 名称 | 描述 | 83| -------- | -------- | 84| componentId | 需要销毁的Codec组件。 | 85 86**返回:** 87 88HDF_SUCCESS 表示销毁组件成功。 89 90HDF_ERR_INVALID_PARAM 表示参数无效,销毁组件失败。 91 92HDF_FAILURE 表示执行失败。 93 94其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 95 96 97### GetComponentCapabilityList() 98 99``` 100ICodecComponentManager::GetComponentCapabilityList ([out] struct CodecCompCapability[] capList, [in] int count ) 101``` 102**描述** 103获取编解码能力集表。 104 105用户可通过此接口了解Codec模块提供了哪些编解码能力,对应的能力体现在[CodecCompCapability](_codec_comp_capability_v20.md)结构体。 106 107**起始版本:** 4.1 108 109**参数:** 110 111| 名称 | 描述 | 112| -------- | -------- | 113| capList | 返回全部组件的能力集表[CodecCompCapability](_codec_comp_capability_v20.md)。 | 114| count | 编解码组件数量,由[GetComponentNum](#getcomponentnum)获得。 | 115 116**返回:** 117 118HDF_SUCCESS 表示获取能力集表成功。 119 120HDF_ERR_INVALID_PARAM 表示参数无效,获取能力集表失败。 121 122HDF_FAILURE 表示执行失败。 123 124其他值表示底层返回失败。 125 126 127### GetComponentNum() 128 129``` 130ICodecComponentManager::GetComponentNum ([out] int count) 131``` 132**描述** 133获取Codec编解码组件数量。 134 135通过此接口获取Codec编解码组件数量,用来获取全部编解码能力集。 136 137**起始版本:** 4.1 138 139**参数:** 140 141| 名称 | 描述 | 142| -------- | -------- | 143| count | 编解码组件数量。 | 144 145**返回:** 146 147HDF_SUCCESS 表示获取编解码组件数量成功。 148 149HDF_ERR_INVALID_PARAM 表示参数无效,获取编解码组件数量失败。 150 151HDF_FAILURE 表示执行失败。 152 153其他值表示底层返回失败。 154