ffmpeg之packet_queue_put解析
来源:互联网 发布:qq浏览器mac官方下载 编辑:程序博客网 时间:2024/05/22 06:10
首先贴下函数原型:
typedef struct AVPacketList { AVPacket pkt;//AVPacket也是一个结构体,不多解释 struct AVPacketList *next; //next是一个AVPacketList指针} AVPacketList;
首先贴下函数原型:
typedef struct PacketQueue { AVPacketList *first_pkt, *last_pkt; //first_pkt,last_pkt分别是AVPacketList类型指针 int nb_packets; int size; SDL_mutex *mutex; SDL_cond *cond;} PacketQueue;首先贴下函数原型:
int packet_queue_put(PacketQueue *q, AVPacket *pkt) { AVPacketList *pkt1; if(av_dup_packet(pkt) < 0) { return -1; } pkt1 = av_malloc(sizeof(AVPacketList)); if (!pkt1) return -1; pkt1->pkt = *pkt; pkt1->next = NULL; SDL_LockMutex(q->mutex); if (!q->last_pkt)//判断q->last_pkt是否为空, q->first_pkt = pkt1; //为空的话,则让first_pkt指向这个pktl这个结构体 else q->last_pkt->next = pkt1;//如果q->last_pkt不为空,也就是q->last_pkt指向一个pkl类型的结构体 q->last_pkt = pkt1; //任何时候都会执行到这一句,q->last_pkt指向最新进来的pkl类型 q->nb_packets++; q->size += pkt1->pkt.size; SDL_CondSignal(q->cond); SDL_UnlockMutex(q->mutex); return 0;
图片大概就这么个意思
2 0
- ffmpeg之packet_queue_put解析
- FFMpeg之 Mpeg2TS解析
- Ffmpeg源代码解析之av_read_frame
- ffmpeg分析 之 如何解析mpegts流
- ffmpeg 源码学习 -- 之命令行参数解析
- FFMPEG之结构体解析 --- AVCodec
- ffmpeg解析
- ffmpeg解析-----解析文件格式
- ffmpeg tutorial2 解析
- ffmpeg init_opts()解析
- ffmpeg parse_options函数解析
- FFMPEG编译参数解析
- TS流解析 ffmpeg
- FFmpeg数据结构:AVPacket解析
- ffmpeg: 解析SDP
- FFmpeg部分函数解析
- ffmpeg--解析h264
- ffmpeg rtsp 解析
- Swift学习笔记(1)--基本语法
- Swift学习笔记(2)--元组(Tuples)、Optional(可选值)、(Assertions)断言
- 关于Matlab中括号用法的总结
- spring TaskExcutor
- Swift学习笔记(3)--基本运算符
- ffmpeg之packet_queue_put解析
- Swift学习笔记(4)--字符串及基本使用
- RabbitMQ快速概念入门
- Swift学习笔记(5)--数组
- Swift学习笔记(6)--字典
- Android 时间戳和时间之间的转化
- Swift学习笔记(7)--控制流
- 太上忘情诀
- Swift学习笔记(8)--函数