1# CodecComponentManager 2 3 4## **概述** 5 6Codec组件管理类接口定义。 7 8主要提供以下功能: 9 10- 获取Codec编解码组件数量以及编解码能力集表。 11 12- 创建/销毁Codec组件。 13 14**相关模块:** 15 16[Codec](codec.md) 17 18 19## **汇总** 20 21 22### Public 属性 23 24 | 名称 | 描述 | 25| -------- | -------- | 26| ([GetComponentNum](#getcomponentnum) )() | 获取Codec编解码组件数量。 | 27| ([GetComponentCapabilityList](#getcomponentcapabilitylist) )(CodecCompCapability \*capList, int32_t count) | 获取编解码能力集表。 | 28| ([CreateComponent](#createcomponent) )(struct CodecComponentType \*\*component, char \*compName, void \*appData, int32_t appDataSize, struct CodecCallbackType \*callbacks) | 创建Codec组件实例。 | 29| ([DestroyComponent](#destroycomponent) )(struct CodecComponentType \*component) | 销毁组件实例。 | 30 31 32## **类成员变量说明** 33 34 35### CreateComponent 36 37 38``` 39int32_t(* CodecComponentManager::CreateComponent) (struct CodecComponentType **component, char *compName, void *appData, int32_t appDataSize, struct CodecCallbackType *callbacks) 40``` 41 42**描述:** 43 44创建Codec组件实例。 45 46根据组件名称创建Codec组件实例。 47 48**参数:** 49 50 | 名称 | 描述 | 51| -------- | -------- | 52| component | 输出参数,指向Codec组件的指针。 | 53| compName | 输入参数,组件名称。 | 54| appData | 输入参数,指向应用程序定义的值的指针,该值将在回调期间返回。 | 55| appDataSize | 输入参数,appData字节数。 | 56| callbacks | 输入参数,回调接口,指向OMX_CALLBACKTYPE结构的指针,详见[CodecCallbackType](_codec_callback_type.md)。 | 57 58**返回:** 59 60HDF_SUCCESS 表示创建组件成功。 61 62HDF_ERR_INVALID_PARAM 表示参数无效,创建组件失败。 63 64HDF_ERR_INVALID_OBJECT 表示对象无效,创建组件失败。 65 66HDF_ERR_MALLOC_FAIL 表示申请内存失败,创建组件失败。 67 68 69### DestroyComponent 70 71 72``` 73int32_t(* CodecComponentManager::DestroyComponent) (struct CodecComponentType *component) 74``` 75 76**描述:** 77 78销毁组件实例。 79 80销毁指定的Codec组件。 81 82**参数:** 83 84 | 名称 | 描述 | 85| -------- | -------- | 86| component | 输入参数,需要销毁的Codec组件。 | 87 88**返回:** 89 90HDF_SUCCESS 表示销毁组件成功。 91 92HDF_ERR_INVALID_PARAM 表示参数无效,销毁组件失败。 93 94HDF_ERR_INVALID_OBJECT 表示对象无效,销毁组件失败。 95 96HDF_ERR_MALLOC_FAIL 表示申请内存失败,销毁组件失败。 97 98 99### GetComponentCapabilityList 100 101 102``` 103int32_t(* CodecComponentManager::GetComponentCapabilityList) (CodecCompCapability *capList, int32_t count) 104``` 105 106**描述:** 107 108获取编解码能力集表。 109 110用户可通过此接口了解Codec模块提供了哪些编解码能力,对应的能力体现在[CodecCompCapability](_codec_comp_capability.md)结构体。 111 112**参数:** 113 114 | 名称 | 描述 | 115| -------- | -------- | 116| capList | 输出参数,返回全部组件的能力集表[CodecCompCapability](_codec_comp_capability.md)。 | 117| count | 输入参数,编解码组件数量,由[GetComponentNum](#getcomponentnum)获得。 | 118 119**返回:** 120 121HDF_SUCCESS 表示获取能力集表成功。 122 123HDF_ERR_INVALID_PARAM 表示参数无效,获取能力集表失败。 124 125HDF_ERR_INVALID_OBJECT 表示对象无效,获取能力集表失败。 126 127HDF_ERR_MALLOC_FAIL 表示申请内存失败,获取能力集表失败。 128 129 130### GetComponentNum 131 132 133``` 134int32_t(* CodecComponentManager::GetComponentNum) () 135``` 136 137**描述:** 138 139获取Codec编解码组件数量。 140 141通过此接口获取Codec编解码组件数量,用来获取全部编解码能力集。 142 143**返回:** 144 145Codec编解码组件数量。 146