1# ICodecComponent 2 3 4## 概述 5 6Codec组件接口定义。 7 8主要提供以下功能: 9 10- 获取组件的版本 11 12- 组件参数配置的获取和设置 13 14- 发送命令至组件及获取组件状态 15 16- 设置回调函数 17 18- 设置/释放组件使用的buffer 19 20- 编解码输入输出buffer处理 具体方法使用详见函数说明。 21 22**起始版本:** 3.2 23 24**相关模块:**[Codec](_codec_v10.md) 25 26 27## 汇总 28 29 30### Public 成员函数 31 32| 名称 | 描述 | 33| -------- | -------- | 34| [GetComponentVersion](#getcomponentversion) ([out] struct [CompVerInfo](_comp_ver_info_v10.md) verInfo) | 获取Codec组件版本号。 | 35| [SendCommand](#sendcommand) ([in] enum OMX_COMMANDTYPE cmd, [in] unsigned int param, [in] byte[] cmdData) | 发送命令给组件。 | 36| [GetParameter](#getparameter) ([in] unsigned int index, [in] byte[] inParamStruct, [out] byte[] outParamStruct) | 获取组件参数设置。 | 37| [SetParameter](#setparameter) ([in] unsigned int index, [in] byte[] paramStruct) | 设置组件需要的参数。 | 38| [GetConfig](#getconfig) ([in] unsigned int index, [in] byte[] inCfgStruct, [out] byte[] outCfgStruct) | 获取组件的配置。 | 39| [SetConfig](#setconfig) ([in] unsigned int index, [in] byte[] cfgStruct) | 设置组件的配置。 | 40| [GetExtensionIndex](#getextensionindex) ([in] String paramName, [out] unsigned int indexType) | 根据字符串获取组件的扩展索引。 | 41| [GetState](#getstate) ([out] enum OMX_STATETYPE state) | 获取组件的当前状态。 | 42| [ComponentTunnelRequest](#componenttunnelrequest) ([in] unsigned int port, [in] int tunneledComp, [in] unsigned int tunneledPort, [in] struct [OMX_TUNNELSETUPTYPE](_o_m_x___t_u_n_n_e_l_s_e_t_u_p_t_y_p_e_v10.md) inTunnelSetup, [out] struct [OMX_TUNNELSETUPTYPE](_o_m_x___t_u_n_n_e_l_s_e_t_u_p_t_y_p_e_v10.md) outTunnelSetup) | 设置组件采用Tunnel方式通信。 | 43| [UseBuffer](#usebuffer) ([in] unsigned int portIndex, [in] struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) inBuffer, [out] struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) outBuffer) | 指定组件端口的buffer。 | 44| [AllocateBuffer](#allocatebuffer) ([in] unsigned int portIndex, [in] struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) inBuffer, [out] struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) outBuffer) | 向组件申请端口buffer。 | 45| [FreeBuffer](#freebuffer) ([in] unsigned int portIndex, [in] struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) buffer) | 释放buffer。 | 46| [EmptyThisBuffer](#emptythisbuffer) ([in] struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) buffer) | 编解码输入待处理buffer。 | 47| [FillThisBuffer](#fillthisbuffer) ([in] struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) buffer) | 编解码输出填充buffer。 | 48| [SetCallbacks](#setcallbacks) ([in] [ICodecCallback](interface_i_codec_callback_v10.md) callbacks, [in] long appData) | 设置Codec组件的回调函数。 | 49| [ComponentDeInit](#componentdeinit) () | 组件去初始化。 | 50| [UseEglImage](#useeglimage) ([in] unsigned int portIndex, [in] struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) inBuffer, [out] struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) outBuffer, [in] byte[] eglImage) | 使用已在EGL中申请的空间。 | 51| [ComponentRoleEnum](#componentroleenum) ([out] unsigned char[] role, [in] unsigned int index) | 获取组件角色。 | 52 53 54## 成员函数说明 55 56 57### AllocateBuffer() 58 59``` 60ICodecComponent::AllocateBuffer ([in] unsigned int portIndex, [in] struct OmxCodecBuffer inBuffer, [out] struct OmxCodecBuffer outBuffer ) 61``` 62**描述** 63向组件申请端口buffer。 64 65向组件申请分配新的buffer,此接口在以下情况下使用: 66 67- 当组件处于OMX_StateLoaded状态,并且用户已经向组件发送OMX_StateIdle状态转换请求。 68 69- 当组件处于OMX_StateWaitForResources状态,所需的资源可用,并且组件已准备好进入OMX_StateIdle状态。 70 71- 在去使能端口上,组件处于OMX_StateExecuting、OMX_StatePause或OMX_StateIdle状态。 更多组件状态的说明请详见**OMX_STATETYPE**。 72 73**起始版本:** 3.2 74 75**参数:** 76 77| 名称 | 描述 | 78| -------- | -------- | 79| portIndex | 指定的组件端口。 | 80| inBuffer | 指向要申请的buffer结构的体指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v10.md)。 | 81| outBuffer | 指向要申请的buffer结构的体指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v10.md)。 | 82 83**返回:** 84 85HDF_SUCCESS 表示申请buffer成功。 86 87HDF_ERR_INVALID_PARAM 表示参数无效,申请buffer失败。 88 89HDF_FAILURE 表示执行失败。 90 91其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 92 93 94### ComponentDeInit() 95 96``` 97ICodecComponent::ComponentDeInit () 98``` 99**描述** 100组件去初始化。 101 102调用此接口使组件去初始化,当组件处于OMX_StateLoaded状态时,将直接关闭组件,更多组件状态的说明请详见**OMX_STATETYPE**。 103 104**起始版本:** 3.2 105 106**返回:** 107 108HDF_SUCCESS 表示去初始化成功。 109 110HDF_ERR_INVALID_PARAM 表示参数无效,去初始化失败。 111 112HDF_FAILURE 表示执行失败。 113 114其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 115 116 117### ComponentRoleEnum() 118 119``` 120ICodecComponent::ComponentRoleEnum ([out] unsigned char[] role, [in] unsigned int index ) 121``` 122**描述** 123获取组件角色。 124 125根据组件角色索引获取对应组件角色。 126 127**起始版本:** 3.2 128 129**参数:** 130 131| 名称 | 描述 | 132| -------- | -------- | 133| role | 角色名称。 | 134| index | 角色的索引,一个组件可能支持多种角色。 | 135 136**返回:** 137 138HDF_SUCCESS 表示获取角色成功。 139 140HDF_ERR_INVALID_PARAM 表示参数无效,获取角色失败。 141 142HDF_FAILURE 表示执行失败。 143 144其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 145 146 147### ComponentTunnelRequest() 148 149``` 150ICodecComponent::ComponentTunnelRequest ([in] unsigned int port, [in] int tunneledComp, [in] unsigned int tunneledPort, [in] struct OMX_TUNNELSETUPTYPE inTunnelSetup, [out] struct OMX_TUNNELSETUPTYPE outTunnelSetup ) 151``` 152**描述** 153设置组件采用Tunnel方式通信。 154 155当组件处于OMX_StateLoaded状态时(表示组件已加载),用户通过调用此接口确定组件是否可以进行Tunnel传输,如果可以则设置组件的Tunnel传输。 更多组件状态的说明请详见**OMX_STATETYPE**。 156 157**起始版本:** 3.2 158 159**参数:** 160 161| 名称 | 描述 | 162| -------- | -------- | 163| port | 组件设置的端口。 | 164| tunneledComp | 组件的tunnel组件句柄。 | 165| tunneledPort | 组件用来Tunnel通信的端口。 | 166| inTunnelSetup | 指向Tunnel设置的结构体[OMX_TUNNELSETUPTYPE](_o_m_x___t_u_n_n_e_l_s_e_t_u_p_t_y_p_e_v10.md)指针。 | 167| outTunnelSetup | 指向Tunnel设置的结构体[OMX_TUNNELSETUPTYPE](_o_m_x___t_u_n_n_e_l_s_e_t_u_p_t_y_p_e_v10.md)指针。 | 168 169**返回:** 170 171HDF_SUCCESS 表示设置成功。 172 173HDF_ERR_INVALID_PARAM 表示参数无效,设置失败。 174 175HDF_FAILURE 表示执行失败。 176 177其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 178 179 180### EmptyThisBuffer() 181 182``` 183ICodecComponent::EmptyThisBuffer ([in] struct OmxCodecBuffer buffer) 184``` 185**描述** 186编解码输入待处理buffer。 187 188此接口在组件处于OMX_StateExecuting或者OMX_StatePause状态时调用,更多组件状态的说明请详见**OMX_STATETYPE**。 189 190**起始版本:** 3.2 191 192**参数:** 193 194| 名称 | 描述 | 195| -------- | -------- | 196| buffer | 指向要输入的buffer结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v10.md)。 | 197 198**返回:** 199 200HDF_SUCCESS 表示输入buffer成功。 201 202HDF_ERR_INVALID_PARAM 表示参数无效,输入buffer失败。 203 204HDF_FAILURE 表示执行失败。 205 206其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 207 208 209### FillThisBuffer() 210 211``` 212ICodecComponent::FillThisBuffer ([in] struct OmxCodecBuffer buffer) 213``` 214**描述** 215编解码输出填充buffer。 216 217此接口在组件处于OMX_StateExecuting或者OMX_StatePause状态时调用,更多组件状态的说明请详见**OMX_STATETYPE**。 218 219**起始版本:** 3.2 220 221**参数:** 222 223| 名称 | 描述 | 224| -------- | -------- | 225| buffer | 指向要填充的buffer结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v10.md)。 | 226 227**返回:** 228 229HDF_SUCCESS 表示填充buffer成功。 230 231HDF_ERR_INVALID_PARAM 表示参数无效,填充buffer失败。 232 233HDF_FAILURE 表示执行失败。 234 235其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 236 237 238### FreeBuffer() 239 240``` 241ICodecComponent::FreeBuffer ([in] unsigned int portIndex, [in] struct OmxCodecBuffer buffer ) 242``` 243**描述** 244释放buffer。 245 246此接口在以下情况下使用: 247 248- 当组件处于OMX_StateIdle状态,并且已经向组件发送OMX_StateLoaded状态转换请求。 249 250- 在去使能端口上,组件处于OMX_StateExecuting、OMX_StatePause或OMX_StateIdle时调用。 更多组件状态的说明请详见**OMX_STATETYPE**。 251 252- 此接口调用可随时进行,但是如果未在上述情况下执行,可能会导致组件上报OMX_ErrorPortUnpopulated事件。 253 254**起始版本:** 3.2 255 256**参数:** 257 258| 名称 | 描述 | 259| -------- | -------- | 260| portIndex | 指定的组件端口。 | 261| buffer | 指向要释放的buffer结构体的结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v10.md)。 | 262 263**返回:** 264 265HDF_SUCCESS 表示释放buffer成功。 266 267HDF_ERR_INVALID_PARAM 表示参数无效,释放buffer失败。 268 269HDF_FAILURE 表示执行失败。 270 271其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 272 273 274### GetComponentVersion() 275 276``` 277ICodecComponent::GetComponentVersion ([out] struct CompVerInfo verInfo) 278``` 279**描述** 280获取Codec组件版本号。 281 282通过查询组件,返回组件版本信息。 283 284**起始版本:** 3.2 285 286**参数:** 287 288| 名称 | 描述 | 289| -------- | -------- | 290| verInfo | 指向组件版本信息的对象,详见[CompVerInfo](_comp_ver_info_v10.md)。 | 291 292**返回:** 293 294HDF_SUCCESS 表示获取版本号成功。 295 296HDF_ERR_INVALID_PARAM 表示参数无效,获取版本号失败。 297 298HDF_FAILURE 表示执行失败。 299 300其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 301 302 303### GetConfig() 304 305``` 306ICodecComponent::GetConfig ([in] unsigned int index, [in] byte[] inCfgStruct, [out] byte[] outCfgStruct ) 307``` 308**描述** 309获取组件的配置。 310 311加载组件后可以随时调用此接口获取组件的配置。 312 313**起始版本:** 3.2 314 315**参数:** 316 317| 名称 | 描述 | 318| -------- | -------- | 319| index | 待填充结构的索引,详见**OMX_INDEXTYPE**。 | 320| inCfgStruct | 指向由组件填充的应用程序分配的结构体指针。 | 321| outCfgStruct | 指向由组件填充的应用程序分配的结构体指针。 | 322 323**返回:** 324 325HDF_SUCCESS 表示获取配置成功。 326 327HDF_ERR_INVALID_PARAM 表示参数无效,获取配置失败。 328 329HDF_FAILURE 表示执行失败。 330 331其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 332 333 334### GetExtensionIndex() 335 336``` 337ICodecComponent::GetExtensionIndex ([in] String paramName, [out] unsigned int indexType ) 338``` 339**描述** 340根据字符串获取组件的扩展索引。 341 342将扩展字符串转换为Openmax IL结构索引,此索引可用于获取([GetParameter](#getparameter))或者设置([SetParameter](#setparameter))组件参数。 343 344**起始版本:** 3.2 345 346**参数:** 347 348| 名称 | 描述 | 349| -------- | -------- | 350| paramName | 组件用来转换为配置索引的字符串。 | 351| indexType | 由paramName转换的配置索引,详见**OMX_INDEXTYPE**。 | 352 353**返回:** 354 355HDF_SUCCESS 表示获取扩展索引成功。 356 357HDF_ERR_INVALID_PARAM 表示参数无效,获取扩展索引失败。 358 359HDF_FAILURE 表示执行失败。 360 361其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 362 363 364### GetParameter() 365 366``` 367ICodecComponent::GetParameter ([in] unsigned int index, [in] byte[] inParamStruct, [out] byte[] outParamStruct ) 368``` 369**描述** 370获取组件参数设置。 371 372当组件处于除了OMX_StateInvalid(组件状态异常)之外的其他状态,用户可通过此接口获取组件参数,组件状态详见**OMX_STATETYPE**。 373 374**起始版本:** 3.2 375 376**参数:** 377 378| 名称 | 描述 | 379| -------- | -------- | 380| index | 待填充结构的索引,详见OMX IL定义的OMX_INDEXTYPE。 | 381| inParamStruct | 指向由组件填充的应用程序分配的结构体指针。 | 382| outParamStruct | 指向由组件填充的应用程序分配的结构体指针。 | 383 384**返回:** 385 386HDF_SUCCESS 表示获取参数成功。 387 388HDF_ERR_INVALID_PARAM 表示参数无效,获取参数失败。 389 390HDF_FAILURE 表示执行失败。 391 392其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 393 394 395### GetState() 396 397``` 398ICodecComponent::GetState ([out] enum OMX_STATETYPE state) 399``` 400**描述** 401获取组件的当前状态。 402 403用户可调用此接口获取组件的当前状态。 404 405**起始版本:** 3.2 406 407**参数:** 408 409| 名称 | 描述 | 410| -------- | -------- | 411| state | 指向获取到的状态指针,组件状态详见**OMX_STATETYPE**。 | 412 413**返回:** 414 415HDF_SUCCESS 表示获取状态成功。 416 417HDF_ERR_INVALID_PARAM 表示参数无效,获取状态失败。 418 419HDF_FAILURE 表示执行失败。 420 421其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 422 423 424### SendCommand() 425 426``` 427ICodecComponent::SendCommand ([in] enum OMX_COMMANDTYPE cmd, [in] unsigned int param, [in] byte[] cmdData ) 428``` 429**描述** 430发送命令给组件。 431 432发送命令给组件,当命令为设置状态时,会有事件回调通知结果给上层,其他命令则没有事件上报。 433 434**起始版本:** 3.2 435 436**参数:** 437 438| 名称 | 描述 | 439| -------- | -------- | 440| cmd | 组件要执行的命令,详见**OMX_COMMANDTYPE**。 | 441| param | 组件要执行的命令携带的参数。<br/>- 当cmd为OMX_CommandStateSet时,param的值详见**OMX_STATETYPE**。<br/>- 当cmd为OMX_CommandFlush、OMX_CommandPortDisable、OMX_CommandPortEnable、OMX_CommandMarkBuffer时,param为目标端口。 | 442| cmdData | 当cmd为OMX_CommandMarkBuffer时,指向OMX_MARKTYPE结构体指针。 | 443 444**返回:** 445 446HDF_SUCCESS 表示发送命令成功。 447 448HDF_ERR_INVALID_PARAM 表示参数无效,发送命令失败。 449 450HDF_FAILURE 表示执行失败。 451 452其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 453 454 455### SetCallbacks() 456 457``` 458ICodecComponent::SetCallbacks ([in] ICodecCallback callbacks, [in] long appData ) 459``` 460**描述** 461设置Codec组件的回调函数。 462 463当组件处于OMX_StateLoaded状态时,使用此回调函数向上通知事件以及上报可用的输入输出信息。更多组件状态的说明请详见**OMX_STATETYPE**。 464 465**起始版本:** 3.2 466 467**参数:** 468 469| 名称 | 描述 | 470| -------- | -------- | 471| callbacks | 指向回调函数[ICodecCallback](interface_i_codec_callback_v10.md)对象的指针。 | 472| appData | 指向应用程序定义的值的指针,该值将在回调期间返回。 | 473 474**返回:** 475 476HDF_SUCCESS 表示设置回调成功。 477 478HDF_ERR_INVALID_PARAM 表示参数无效,设置回调失败。 479 480HDF_FAILURE 表示执行失败。 481 482其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 483 484 485### SetConfig() 486 487``` 488ICodecComponent::SetConfig ([in] unsigned int index, [in] byte[] cfgStruct ) 489``` 490**描述** 491设置组件的配置。 492 493加载组件后可以随时调用此接口设置组件的配置。 494 495**起始版本:** 3.2 496 497**参数:** 498 499| 名称 | 描述 | 500| -------- | -------- | 501| index | 要设置的结构索引,详见**OMX_INDEXTYPE**。 | 502| cfgStruct | 指向组件用于初始化的应用程序分配结构的指针。 | 503 504**返回:** 505 506HDF_SUCCESS 表示设置配置成功。 507 508HDF_ERR_INVALID_PARAM 表示参数无效,设置失败。 509 510HDF_FAILURE 表示执行失败。 511 512其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 513 514 515### SetParameter() 516 517``` 518ICodecComponent::SetParameter ([in] unsigned int index, [in] byte[] paramStruct ) 519``` 520**描述** 521设置组件需要的参数。 522 523当出现如下情况时,用户可以通过此接口设置组件参数。 524 525- 当组件处于OMX_StateLoaded(表示组件已加载)。 526 527- 当组件处于OMX_StateWaitForResources(表示组件等待所需要的资源)。 528 529- 当状态或者端口是去使能状态,用户可通过此接口设置组件参数。 更多组件状态的说明请详见**OMX_STATETYPE**。 530 531**起始版本:** 3.2 532 533**参数:** 534 535| 名称 | 描述 | 536| -------- | -------- | 537| index | 要设置的结构索引,详见OMX IL定义的OMX_INDEXTYPE。 | 538| paramStruct | 指向组件用于初始化的应用程序分配结构的指针。 | 539 540**返回:** 541 542HDF_SUCCESS 表示设置参数成功。 543 544HDF_ERR_INVALID_PARAM 表示参数无效,设置参数失败。 545 546HDF_FAILURE 表示执行失败。 547 548其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 549 550 551### UseBuffer() 552 553``` 554ICodecComponent::UseBuffer ([in] unsigned int portIndex, [in] struct OmxCodecBuffer inBuffer, [out] struct OmxCodecBuffer outBuffer ) 555``` 556**描述** 557指定组件端口的buffer。 558 559此接口在以下情况下使用: 560 561- 当组件处于OMX_StateLoaded状态(表示组件已加载),并且用户已经向组件发送OMX_StateIdle状态转换请求。 562 563- 当组件处于OMX_StateWaitForResources状态,所需的资源可用,并且组件已准备好进入OMX_StateIdle状态。 564 565- 在去使能端口上,组件处于OMX_StateExecuting、OMX_StatePause或OMX_StateIdle状态。 更多组件状态的说明请详见**OMX_STATETYPE**。 566 567**起始版本:** 3.2 568 569**参数:** 570 571| 名称 | 描述 | 572| -------- | -------- | 573| portIndex | 指定的组件端口。 | 574| inBuffer | 指向要使用的buffer结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v10.md)。 | 575| outBuffer | 指向要使用的buffer结构体的指针,结构体介绍详见[OmxCodecBuffer](_omx_codec_buffer_v10.md)。 | 576 577**返回:** 578 579HDF_SUCCESS 表示指定成功。 580 581HDF_ERR_INVALID_PARAM 表示参数无效,指定失败。 582 583HDF_FAILURE 表示执行失败。 584 585其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 586 587 588### UseEglImage() 589 590``` 591ICodecComponent::UseEglImage ([in] unsigned int portIndex, [in] struct OmxCodecBuffer inBuffer, [out] struct OmxCodecBuffer outBuffer, [in] byte[] eglImage ) 592``` 593**描述** 594使用已在EGL中申请的空间。 595 596此接口在以下情况下使用: 597 598- 当组件处于OMX_StateLoaded状态,并且已经向组件发送OMX_StateIdle状态转换请求。 599 600- 当组件处于OMX_StateWaitForResources状态,所需的资源可用,并且组件已准备好进入OMX_StateIdle状态。 601 602- 在去使能端口上,组件处于OMX_StateExecuting、OMX_StatePause或OMX_StateIdle状态。 更多组件状态的说明请详见**OMX_STATETYPE**。 603 604**起始版本:** 3.2 605 606**参数:** 607 608| 名称 | 描述 | 609| -------- | -------- | 610| portIndex | 指定的组件端口。 | 611| inBuffer | 指向[OmxCodecBuffer](_omx_codec_buffer_v10.md)结构体的指针。 | 612| outBuffer | 指向[OmxCodecBuffer](_omx_codec_buffer_v10.md)结构体的指针。 | 613| eglImage | EGL申请的图像指针。 | 614 615**返回:** 616 617HDF_SUCCESS 表示使用成功。 618 619HDF_ERR_INVALID_PARAM 表示参数无效,使用失败。 620 621HDF_FAILURE 表示执行失败。 622 623其他值表示底层返回失败,具体错误码详见OpenMAX IL定义的OMX_ERRORTYPE。 624