【FFMPEG源码终极解析】 av_packet_alloc 与 av_packet_free
生活随笔
收集整理的這篇文章主要介紹了
【FFMPEG源码终极解析】 av_packet_alloc 与 av_packet_free
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于void *av_malloc(size_t size)可以參考av_malloc
av_packet_alloc實際是分配AVPacket以后,調用av_init_packet對AVPacket的成員變量進行初始化賦值。
AVPacket *av_packet_alloc(void) {AVPacket *pkt = av_mallocz(sizeof(AVPacket));if (!pkt)return pkt;av_init_packet(pkt);return pkt; }void av_init_packet(AVPacket *pkt) {pkt->pts = AV_NOPTS_VALUE;pkt->dts = AV_NOPTS_VALUE;pkt->pos = -1;pkt->duration = 0; #if FF_API_CONVERGENCE_DURATION FF_DISABLE_DEPRECATION_WARNINGSpkt->convergence_duration = 0; FF_ENABLE_DEPRECATION_WARNINGS #endifpkt->flags = 0;pkt->stream_index = 0;pkt->buf = NULL;pkt->side_data = NULL;pkt->side_data_elems = 0; }?
?
av_packet_free 實際是釋放AVPacket的空間
void av_packet_free(AVPacket **pkt) {if (!pkt || !*pkt)return;av_packet_unref(*pkt);av_freep(pkt); }?
總結
以上是生活随笔為你收集整理的【FFMPEG源码终极解析】 av_packet_alloc 与 av_packet_free的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何判断是否ddos攻击(如何判断是否D
- 下一篇: 警察局备案有什么影响吗(警察局备案有什么