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