文档章节

AVPacketList结构体和AVPacketQueue结构体

zhangyujsj
 zhangyujsj
发布于 2015/04/24 21:56
字数 238
阅读 44
收藏 0

1 AVPacketList结构


typedef struct AVPacketList { 
    AVPacket pkt;             
    struct AVPacketList *next;
} AVPacketList;



这个结构体就是AVPacket结构的一个链表的节点,叫做AVPacket的队列。


2 AVPacketQueue结构

位于源码的libavdevice/cklink_common.h中的结构体,这个不是给程序员用的(仅仅给开发这个开源项目的人员使用),所以只存在于源码的头文件中,并没有在install的include目录下。


typedef struct AVPacketQueue {
    AVPacketList *first_pkt, *last_pkt;   
    int nb_packets;
    unsigned long long size;
    int abort_request;
    pthread_mutex_t mutex;
    pthread_cond_t cond;
    AVFormatContext *avctx;
} AVPacketQueue;
但是,在我们学习ffmpge官网的那个SDL的tutorial的时候,在其中提到了PacketQueue结构,这个是应用程序员自己定义的,结构体如下,很显然是参考了上面的这个AVPacketQueue。
typedef struct PacketQueue {
  AVPacketList *first_pkt, *last_pkt;  //有点像链表的表头和表尾指针
  int nb_packets;
  int size;
  SDL_mutex *mutex;
  SDL_cond *cond; //两把锁用来实现这个全局结构体的访问控制
} PacketQueue;






© 著作权归作者所有

共有 人打赏支持
zhangyujsj
粉丝 24
博文 358
码字总数 224241
作品 0
广州
私信 提问
C语言-第八章、构造数据类型

8_1 结构体的概念和结构体变量 _1.1 结构体的概念 C语言中允许用户自己构造由不同数据类型的数据所组成的集合体,称为结构体。结构体属于数据类型,每一个结构体有一个名字,称为结构体名。一...

南风末
2016/11/05
7
0
C语言基础-13-结构体

C语言的核心部分都说得七七八八了,相信大家已经对C语言的基本数据类型(charintfloat)、数组、指针都很熟悉了,今天来学习C语言中另外一种数据类型:结构体。在iOS开发中,结构体是经常用到的...

Corwien
2016/03/16
10
0
Golang:结构体

结构体 结构体(struct)是用户自定义的类型,代表若干字段的集合。有时将多个数据看做一个整体要比单独使用这些数据更有意义,在这种情况下就适合使用结构体。 比如将一个员工的 firstName,...

与蟒唯舞
2017/12/27
0
0
C语言结构体、枚举以及位域的讲解

谨记 什么是价值?或许没有多少人能够明白,其实价值并不是实际存在的,它应该是一种体现,比如为城市点缀最美好的一面而起早摸黑的打扫的城市清洁工的大妈大爷;为中国航天事业而几个月没回...

长风留言
2017/11/20
0
0
C/C++结构体的区别

[C++] C/C++结构体的区别 >_<:C中的结构体和C++中结构体的不同之处: >_<:C++中的结构体和类的异同: 一、相同之处: 二、不同之处:

史迪奇2号
2017/06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 升级中的一些常见问题

升级的时候遇到了问题了吗? 如果你想尝试重新进行升级的话,你需要首先重新恢复老的备份。不要尝试再次对 Confluence 进行升级或者在升级失败后重新启动老的 Confluence。 在升级过程中的一...

honeymoose
今天
2
0
C++随笔(四)Nuget打包

首先把自己编译好的包全部准备到一个文件夹 像这样 接下来新建一个文本文档,后缀名叫.nuspec 填写内容 <?xml version="1.0"?><package xmlns="http://schemas.microsoft.com/packaging/201......

Pulsar-V
今天
2
0
再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
3
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部