网站维护员工作内容代理网页免费
news/
2025/9/23 16:26:59/
文章来源:
网站维护员工作内容,代理网页免费,小地方网站建设公司好,wordpress 插件安全吗av_packet_unref
该接口使用了如下调用,该接口主要作用是清理AVPacket中的所有空间数据#xff0c;清理完毕后进行初始化操作#xff0c;并且将 data 与 size 置为0#xff0c;方便下次调用。
void av_packet_unref(AVPacket *pkt)
{av_packet_free_side_data(pkt);av_buf…av_packet_unref
该接口使用了如下调用,该接口主要作用是清理AVPacket中的所有空间数据清理完毕后进行初始化操作并且将 data 与 size 置为0方便下次调用。
void av_packet_unref(AVPacket *pkt)
{av_packet_free_side_data(pkt);av_buffer_unref(pkt-buf);av_init_packet(pkt);pkt-data NULL;pkt-size 0;
} void av_packet_free_side_data(AVPacket *pkt)
接口解析根据AVPacket中side_data_elems来使用for循环逐个清理其中的数据最后将side_data_elems置为0
void av_packet_free_side_data(AVPacket *pkt)
{int i;for (i 0; i pkt-side_data_elems; i)av_freep(pkt-side_data[i].data);av_freep(pkt-side_data);pkt-side_data_elems 0;
}
av_freep
void av_freep(void *arg)
{void *val;memcpy(val, arg, sizeof(val));memcpy(arg, (void *){ NULL }, sizeof(val));av_free(val);
}
av_buffer_unref
void av_buffer_unref(AVBufferRef **buf)
{if (!buf || !*buf)return;buffer_replace(buf, NULL);
}
buffer_replace
static void buffer_replace(AVBufferRef **dst, AVBufferRef **src)
{AVBuffer *b;b (*dst)-buffer;if (src) {**dst **src;av_freep(src);} elseav_freep(dst);if (atomic_fetch_sub_explicit(b-refcount, 1, memory_order_acq_rel) 1) {b-free(b-opaque, b-data);av_freep(b);}
}
av_free参考av_free
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913155.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!