求助FFmpeg av_dup_packet(packet)函数
请教 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)函数,,,,的作用是什么呀???