• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_avmemory.h
2
3## 概述
4
5声明了媒体数据结构AVMemory的定义。
6
7**引用文件:** <multimedia/player_framework/native_avmemory.h>
8
9**库:** libnative_media_core.so
10
11**系统能力:** SystemCapability.Multimedia.Media.Core
12
13**起始版本:** 9
14
15**相关模块:** [Core](capi-core.md)
16
17## 汇总
18
19### 结构体
20
21| 名称 | typedef关键字 | 描述 |
22| -- | -- | -- |
23| [OH_AVMemory](capi-core-oh-avmemory.md) | OH_AVMemory | 为音视频内存接口定义native层对象。 |
24
25### 函数
26
27| 名称 | 描述 |
28| -- | -- |
29| [OH_AVMemory *OH_AVMemory_Create(int32_t size)](#oh_avmemory_create) | 创建OH_AVMemory实例的指针。 |
30| [uint8_t *OH_AVMemory_GetAddr(struct OH_AVMemory *mem)](#oh_avmemory_getaddr) | 获取内存虚拟地址。 |
31| [int32_t OH_AVMemory_GetSize(struct OH_AVMemory *mem)](#oh_avmemory_getsize) | 获取内存长度。 |
32| [OH_AVErrCode OH_AVMemory_Destroy(struct OH_AVMemory *mem)](#oh_avmemory_destroy) | 释放OH_AVMemory实例指针的资源。 |
33
34## 函数说明
35
36### OH_AVMemory_Create()
37
38```
39OH_AVMemory *OH_AVMemory_Create(int32_t size)
40```
41
42**描述**
43
44创建OH_AVMemory实例的指针。
45
46**系统能力:** SystemCapability.Multimedia.Media.Core
47
48**起始版本:** 10
49
50**废弃版本:** 11
51
52**替代接口:** [OH_AVBuffer_Create](capi-native-avbuffer-h.md#oh_avbuffer_create)
53
54
55**参数:**
56
57| 参数项 | 描述 |
58| -- | -- |
59| int32_t size | 创建内存的大小,单位字节。 |
60
61**返回:**
62
63| 类型 | 说明 |
64| -- | -- |
65| [OH_AVMemory](capi-core-oh-avmemory.md) * | 如果创建成功,返回OH_AVMemory实例的指针,如果失败,返回NULL。<br> 使用结束后需要通过OH_AVMemory_Destroy释放内存。<br> 可能的失败原因:<br>1. size <= 0。<br>2. 创建OH_AVMemory失败。<br>3. OH_AVMemory内存分配失败。 |
66
67### OH_AVMemory_GetAddr()
68
69```
70uint8_t *OH_AVMemory_GetAddr(struct OH_AVMemory *mem)
71```
72
73**描述**
74
75获取内存虚拟地址。
76
77**系统能力:** SystemCapability.Multimedia.Media.Core
78
79**起始版本:** 9
80
81**废弃版本:** 11
82
83**替代接口:** [OH_AVBuffer_GetAddr](capi-native-avbuffer-h.md#oh_avbuffer_getaddr)
84
85
86**参数:**
87
88| 参数项 | 描述 |
89| -- | -- |
90| [struct OH_AVMemory](capi-core-oh-avmemory.md) *mem | 指向OH_AVMemory实例的指针。 |
91
92**返回:**
93
94| 类型 | 说明 |
95| -- | -- |
96| uint8_t * | 如果内存有效,返回内存的虚拟地址,如果内存无效,返回NULL。<br> 可能的失败原因:<br>1. 输入mem为空指针。<br>2. 输入mem参数结构校验失败。<br>3. 输入mem中内存为空指针。 |
97
98### OH_AVMemory_GetSize()
99
100```
101int32_t OH_AVMemory_GetSize(struct OH_AVMemory *mem)
102```
103
104**描述**
105
106获取内存长度。
107
108**系统能力:** SystemCapability.Multimedia.Media.Core
109
110**起始版本:** 9
111
112**废弃版本:** 11
113
114**替代接口:** [OH_AVBuffer_GetCapacity](capi-native-avbuffer-h.md#oh_avbuffer_getcapacity)
115
116
117**参数:**
118
119| 参数项 | 描述 |
120| -- | -- |
121| [struct OH_AVMemory](capi-core-oh-avmemory.md) *mem | 指向OH_AVMemory实例的指针。 |
122
123**返回:**
124
125| 类型 | 说明 |
126| -- | -- |
127| int32_t | 如果内存有效,返回内存长度,如果内存无效,返回-1。<br> 可能的失败原因:<br>1.输入mem为空指针。<br>2. 输入mem参数结构校验失败。<br>3. 输入mem中内存为空指针。 |
128
129### OH_AVMemory_Destroy()
130
131```
132OH_AVErrCode OH_AVMemory_Destroy(struct OH_AVMemory *mem)
133```
134
135**描述**
136
137释放OH_AVMemory实例指针的资源。
138
139**系统能力:** SystemCapability.Multimedia.Media.Core
140
141**起始版本:** 10
142
143**废弃版本:** 11
144
145**替代接口:** [OH_AVBuffer_Destroy](capi-native-avbuffer-h.md#oh_avbuffer_destroy)
146
147
148**参数:**
149
150| 参数项 | 描述 |
151| -- | -- |
152| [struct OH_AVMemory](capi-core-oh-avmemory.md) *mem | 指向OH_AVMemory实例的指针。 |
153
154**返回:**
155
156| 类型 | 说明 |
157| -- | -- |
158| [OH_AVErrCode](capi-native-averrors-h.md#oh_averrcode) |  AV_ERR_OK:释放成功。<br>   AV_ERR_INVALID_VAL:<br>1. 输入mem为空指针。<br>2. 输入mem参数结构校验失败。<br>3. 输入mem不是开发者创建的。 |
159
160
161