前言
本文介绍PacketQueue,相对于FrameQueue来说比较简单,可以类比Android中的MessageQueue。
PacketQueue总体介绍
- 单向链表结构。first_pkt、last_pkt,是链表的起点和终点结点;recycle_pkt链表用于节点复用;
- 是一个多线程安全队列,靠等待唤醒机制保证线程安全;
- 当遇到flush_pkt时,serial加1自增,标志着流序列变化,区分是否是连续的流;
typedef struct MyAVPacketList {
AVPacket pkt;
struct MyAVPacketList *next;