av_packet_alloc 旧版接口
时间: 2023-08-01 10:07:13 浏览: 159
Mysql的max_allowed_packet设定
5星 · 资源好评率100%
av_new_packet 函数是旧版的 av_packet_alloc 接口,用于从堆中分配 AVPacket 结构体并初始化其各个字段。其函数原型为:
```c
int av_new_packet(AVPacket *pkt, int size);
```
其中,pkt 参数是指向 AVPacket 结构体的指针,size 参数是分配的空间大小。函数返回值为 0 表示成功,否则表示失败。使用该函数时,需要先手动调用 av_init_packet 函数来初始化 AVPacket 结构体,再使用 av_new_packet 函数分配内存并将 AVPacket 结构体的数据指针(data)和大小(size)字段设置为合适的值。
```c
AVPacket pkt;
av_init_packet(&pkt);
if (av_new_packet(&pkt, size) < 0) {
// 分配内存失败
}
```
需要注意的是,该函数已经被弃用,建议使用 av_packet_alloc 和 av_packet_unref 函数来代替。
阅读全文