注册 登录
编程论坛 C语言论坛

求助FFmpeg av_dup_packet(packet)函数

追梦人zmrghy 发布于 2023-04-12 10:43, 871 次点击
请教 av_dup_packet(packet)函数的作用是什么。为什么avcodec.h 头文件中找不到它。。。。

程序代码:
int packet_queue_put(PacketQueue *queue, AVPacket *packet)
{
     AVPacketList   *pkt_list;
     // ???
     if (av_dup_packet(packet) < 0)
     {
         return -1;
     }

     pkt_list = (AVPacketList *)av_malloc(sizeof(AVPacketList));
     if (pkt_list == NULL)
     {
          return -1;
     }

     pkt_list->pkt   = *packet;
     pkt_list->next  = NULL;

     //上锁
     SDL_LockMutex(queue->mutex);

     if (queue->last_pkt == NULL)    //空队
     {
          queue->first_pkt = pkt_list;
     }
     else
     {
         queue->last_pkt->next = pkt_list;
     }

     queue->last_pkt = pkt_list;  //这里queue->last_pkt = queue->last_pkt->next 的意思,但是,处理了更多的情况。
     queue->nb_packets++;
     queue->size += packet->size;
     SDL_CondSignal(queue->cond);      //???

     SDL_UnlockMutex(queue->mutex);

     return 0;
}



只有本站会员才能查看附件,请 登录

找不到av_dup_packet(packet)函数


只有本站会员才能查看附件,请 登录

注释掉,程序就可以播放了。。。


只有本站会员才能查看附件,请 登录

播放完成,,,av_dup_packet(packet)函数,,,,的作用是什么呀???
0 回复
1