【版权申明】转载请附上出处链接
ffmpeg中的AVPacket的申请、使用与释放
正确的使用姿势Mark。
AVPacket的申请:
AVPacket *packet = NULL;
packet = av_packet_alloc();
此时,已经申请了AVPacket,但是AVPacket中的data为空,size为零。
AVPacket的使用:
-
av_init_packet(AVPacket *pkt)
初始化AVPacket中的值 -
av_grow_packet(AVPacket *pkt, int grow_by)
用于扩充AVPacket中的data大小; -
av_read_frame(AVFormatContext *s, AVPacket *pkt)
从AVFormatContext中读取一个AVPacket,在此处得到了data -
av_packet_unref(AVPacket *pkt)
释放AVPacket中的data
AVPacket的释放:
- av_packet_free(AVPacket **pkt)
释放AVPacket