Dictionary数据类型在Darwin视频服务器中的使用
来源:互联网 发布:大学生网络课程答案 编辑:程序博客网 时间:2024/06/06 05:25
让我们先来看看Wikipedia中叫做Associative array的词条,是如下解释的:
Associative array是一个数据类型,并且这个数据类型有很多名字,比如有人叫做dictionary,有人叫做map。学习C++的人应该熟悉map数据类型,map数据类型是STL中定义的关联容器。
Dictionary数据类型的要点是属性和值。Dictionary数据类型是由若干属性组成的,每个属性有一个或者多个值。
在实际应用中,Dictionary数据类型可以更加复杂,一个属性可以有如下方面
不难看出一个属性本身的类型,属性个数等又是一些属性。在Darwin中,就是这么应用的。
Darwin视频服务器中Dictionary数据类型的应用
在Darwin中针对Dictionary的定义有两个类,分别是QTSSDictionary和QTSSDictionaryMap。QTSSDictionary 与QTSS_Object对应,QTSSDictionaryMap与QTSS_ObjectType对应。
QTSS_Object为模块和服务器核心之间提供了数据交换的方法。QTSS_Object由若干属性构成,每个属性有自己名字,ID号,数据类型,读写权限。
内建属性是QTSS对象的固有属性,比如QTSS_RTSPRequestObject对象的内建属性URL,通过这个属性,模块可以获取与RTSP请求关联的URL。除了内建的属性,还可以为字典类型的对象添加静态属性或者临时属性。通过回调函数QTSS_AddStaticAttribute可以为对象类型添加静态属性,只能在Register角色中调用添加静态属性的函数。静态属性只能被添加,不能移除。不像静态属性,临时属性可以被移除,通过调用函数QTSS_RemoveInstanceAttribute可以移除一个临时属性。
Darwin提供了针对Dictionary的回调函数,全部是对Dictionary的属性进行操作的。
以qtssRTSPRequestObjectType这个Dictionary类型为例,它的属性描述了一个RTSP请求。RTSP请求对象(QTSS_RTSPRequestObject)是对象类型的实例,这个实例从服务器接收到客户端的RTSP请求开始到应答完成结束。RTSP请求需与RTSP会话(QTSS_RTSPSessionObject)关联。下面给出RTSP请求的一些属性:
An associative array (also associative container , map , mapping , dictionary , finite map , and in query-processing an index or index file ) is an abstract data type composed of a collection of unique keys and a collection of values, where each key is associated with one value (or set of values).
Associative array是一个数据类型,并且这个数据类型有很多名字,比如有人叫做dictionary,有人叫做map。学习C++的人应该熟悉map数据类型,map数据类型是STL中定义的关联容器。
Dictionary数据类型的要点是属性和值。Dictionary数据类型是由若干属性组成的,每个属性有一个或者多个值。
在实际应用中,Dictionary数据类型可以更加复杂,一个属性可以有如下方面
- 属性类型
- 属性值的个数,一个或者多个
- 属性的访问权限,可读,可写等。
不难看出一个属性本身的类型,属性个数等又是一些属性。在Darwin中,就是这么应用的。
Darwin视频服务器中Dictionary数据类型的应用
在Darwin中针对Dictionary的定义有两个类,分别是QTSSDictionary和QTSSDictionaryMap。QTSSDictionary 与QTSS_Object对应,QTSSDictionaryMap与QTSS_ObjectType对应。
QTSS_Object为模块和服务器核心之间提供了数据交换的方法。QTSS_Object由若干属性构成,每个属性有自己名字,ID号,数据类型,读写权限。
内建属性是QTSS对象的固有属性,比如QTSS_RTSPRequestObject对象的内建属性URL,通过这个属性,模块可以获取与RTSP请求关联的URL。除了内建的属性,还可以为字典类型的对象添加静态属性或者临时属性。通过回调函数QTSS_AddStaticAttribute可以为对象类型添加静态属性,只能在Register角色中调用添加静态属性的函数。静态属性只能被添加,不能移除。不像静态属性,临时属性可以被移除,通过调用函数QTSS_RemoveInstanceAttribute可以移除一个临时属性。
Darwin提供了针对Dictionary的回调函数,全部是对Dictionary的属性进行操作的。
- 向Dictionary对象实例添加一个临时的属性。
- 向Dictionary类型添加一个静态的属性。
- 通过属性ID号或者属性名获取属性的信息。
- 循环获取对象多有属性的信息。
- 获取对象属性的个数。
- 通过各种方式获取属性的值。
- 设置属性的值。
以qtssRTSPRequestObjectTyp
- qtssRTSPReqAbsoluteURL,“rtsp://”起始的URL。
- qtssRTSPReqContentLen,RTSP请求的内容长度。
- 便于模块和服务器核心交换数据
- 使得服务器的可管理共容易实现
0 0
- Dictionary数据类型在Darwin视频服务器中的使用
- Dictionary数据类型在Darwin视频服务器中的使用
- Windows平台音视频服务器 Darwin Streaming Server安装与使用
- 09Python中的dictionary数据类型
- Darwin 视频服务器6.0.3代码下载地址
- 双码流传输在视频服务器中的应用
- 视频服务器软件MJPG-streamer在嵌入式多媒体数据处理中的应用
- 数据类型-Dictionary
- C#中的Dictionary的使用
- Bit 数据类型在 SQL Server 中的使用
- Dictionary在权限管理中的应用
- 视频服务器
- 在.net 2.0 中使用Dictionary
- 在QTP中使用Dictionary对象
- 在Dictionary使用foreach的注意
- 在Dictionary中使用枚举做键值
- darwin之OSRefTable使用
- 内置数据类型(dictionary list)
- 打包命令行输出IPA文件
- python--继承
- 反射基础一
- MYSQL-基础—存储过程
- PAT甲级1018
- Dictionary数据类型在Darwin视频服务器中的使用
- JS之SELECT的VALUE作为BUTTON提交的参数
- Swift之 ? 和 !的差异
- 阿里巴巴Java开发手册个人整理精简版(二)
- JavaSE_10th_super()构造方法
- 回顾2016,展望2017,给自己定个小目标
- 程序员眼中的女人
- shiro权限框架详解03-shiro介绍
- 算法--递归与分治策略