Advertisement

分析av_packet_unref()代码

阅读量:

author:hjjdebug
date: 2024年 07月 25日 星期四 15:00:34 CST
description: av_packet_unref()代码分析
------------------------------------------------------------
av_frame_unref() 也有类似的架构, 可以只分析其中一个即可.
av_packet_unref() 最少进行了五次动态内存释放.

void av_packet_unref(AVPacket *pkt)
{
av_packet_free_side_data(pkt); //释放包的附加数据,有2次
av_buffer_unref(&pkt->buf); // 减少包所指向的缓存的引用,当缓存引用减到0时会释放缓存,有3次
get_packet_defaults(pkt); //重新初始化为原始数据
}
关键就2句话, 释放附加数据,减少缓冲引用计数.
----------------------------------------
甲: 释放包的附加数据
----------------------------------------
void av_packet_free_side_data(AVPacket

全部评论 (0)

还没有任何评论哟~