native_avbuffer.h
概述
声明了媒体数据结构AVBuffer的函数接口。
引用文件: <multimedia/player_framework/native_avbuffer.h>
库: libnative_media_core.so
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
相关模块: Core
相关示例: AVCodec
汇总
结构体
| 名称 | typedef关键字 | 描述 |
|---|---|---|
| OH_AVBuffer | OH_AVBuffer | 为媒体内存接口定义native层对象。 |
| OH_NativeBuffer | OH_NativeBuffer | 为图形内存接口定义native层对象。 |
函数
函数说明
OH_AVBuffer_Create()
OH_AVBuffer *OH_AVBuffer_Create(int32_t capacity)
描述
创建OH_AVBuffer实例。需要注意的是,返回值指向的创建OH_AVBuffer的实例需要开发者主动调用接口释放,请参阅OH_AVBuffer_Destroy。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| int32_t capacity | 创建内存的大小,单位字节。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVBuffer * | 如果创建成功,则返回OH_AVBuffer实例的指针,如果失败,则返回NULL。 可能的失败原因: 1.capacity <= 0。 2.出现内部错误,系统没有资源等。 |
OH_AVBuffer_Destroy()
OH_AVErrCode OH_AVBuffer_Destroy(OH_AVBuffer *buffer)
描述
释放OH_AVBuffer实例指针的资源,同一个buffer不允许重复销毁。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AVBuffer *buffer | 指向OH_AVBuffer实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:操作成功。 AV_ERR_INVALID_VAL:输入的buffer为空指针或者buffer格式校验失败。 AV_ERR_OPERATE_NOT_PERMIT:输入的buffer不是用户创建的。 |
OH_AVBuffer_GetBufferAttr()
OH_AVErrCode OH_AVBuffer_GetBufferAttr(OH_AVBuffer *buffer, OH_AVCodecBufferAttr *attr)
描述
获取数据缓冲区的pts、size、offset、flags高频属性参数。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AVBuffer *buffer | 指向OH_AVBuffer实例的指针。 |
| OH_AVCodecBufferAttr *attr | 指向OH_AVCodecBufferAttr实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:操作成功。 AV_ERR_INVALID_VAL:可能的原因: 1. 输入的buffer或attr为空指针。 2. buffer结构校验失败。 |
OH_AVBuffer_SetBufferAttr()
OH_AVErrCode OH_AVBuffer_SetBufferAttr(OH_AVBuffer *buffer, const OH_AVCodecBufferAttr *attr)
描述
设置数据缓冲区的pts、size、offset、flags高频属性参数。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AVBuffer *buffer | 指向OH_AVBuffer实例的指针。 |
| const OH_AVCodecBufferAttr *attr | 指向OH_AVCodecBufferAttr实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:操作成功。 AV_ERR_INVALID_VAL:可能的原因: 1. 输入的buffer或attr为空指针。 2. buffer结构校验失败。 3. 输入buffer中内存的size或offset是无效值。 |
OH_AVBuffer_GetParameter()
OH_AVFormat *OH_AVBuffer_GetParameter(OH_AVBuffer *buffer)
描述
获取除基础属性外的其他参数,信息在OH_AVFormat中承载。需要注意的是,返回值指向的创建OH_AVFormat的实例需要开发者主动释放,请参阅OH_AVFormat_Destroy。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AVBuffer *buffer | 指向OH_AVBuffer实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVFormat * | AV_ERR_OK:操作成功。 AV_ERR_INVALID_VAL:可能的原因: 1. 输入的buffer为空指针。 2. 输入buffer的meta为空指针。 3. buffer结构校验失败。 |
OH_AVBuffer_SetParameter()
OH_AVErrCode OH_AVBuffer_SetParameter(OH_AVBuffer *buffer, const OH_AVFormat *format)
描述
设置除基础属性外的其他参数,信息在OH_AVFormat中承载。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AVBuffer *buffer | 指向OH_AVBuffer实例的指针。 |
| const OH_AVFormat *format | 指向OH_AVFormat实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:操作成功。 AV_ERR_INVALID_VAL:可能的原因: 1. 输入的buffer或format为空指针。 2. 输入buffer的meta为空指针。 3. buffer结构校验失败。 |
OH_AVBuffer_GetAddr()
uint8_t *OH_AVBuffer_GetAddr(OH_AVBuffer *buffer)
描述
获取数据缓冲区的虚拟地址。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AVBuffer *buffer | 指向OH_AVBuffer实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| uint8_t * | 如果成功,则返回数据缓冲区的虚拟地址,如果失败,则返回NULL。 可能的失败原因: 1.输入的buffer为空指针。 2.OH_AVBuffer结构校验失败。 3.出现内部错误。 |
OH_AVBuffer_GetCapacity()
int32_t OH_AVBuffer_GetCapacity(OH_AVBuffer *buffer)
描述
获取数据缓冲区的容量(字节数)。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AVBuffer *buffer | 指向OH_AVBuffer实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | 如果成功,则返回数据缓冲区的容量,如果失败,则返回-1。 可能的失败原因: 1.输入的buffer为空指针。 2.OH_AVBuffer结构校验失败。 3.出现内部错误。 |
OH_AVBuffer_GetNativeBuffer()
OH_NativeBuffer *OH_AVBuffer_GetNativeBuffer(OH_AVBuffer *buffer)
描述
获取OH_NativeBuffer实例的指针。需要注意的是,返回值指向的创建OH_NativeBuffer的实例需要开发者主动调用接口释放,请参阅OH_NativeBuffer_Unreference。
系统能力: SystemCapability.Multimedia.Media.Core
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AVBuffer *buffer | 指向OH_AVBuffer实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_NativeBuffer * | 如果成功,则返回OH_NativeBuffer实例的指针,如果失败,则返回NULL。 可能的失败原因: 1.输入的buffer为空指针。 2.OH_AVBuffer结构校验失败。 3.出现内部错误。 |