精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
每个QTSS属性都有一个关联的数据类型。QTSS_AttrDataType枚举定义了属性数据类型的值,拥有属性的数据类型可以帮助服务器和模块在不了解与属性相关的具体知识的情况下处理属性。
typedef UInt32 QTSS_AttrDataType; enum { qtssAttrDataTypeUnknown = 0, qtssAttrDataTypeCharArray = 1, qtssAttrDataTypeBool16 = 2, qtssAttrDataTypeSInt16 = 3, qtssAttrDataTypeUInt16 = 4, qtssAttrDataTypeSInt32 = 5, qtssAttrDataTypeUInt32 = 6, qtssAttrDataTypeSInt64 = 7, qtssAttrDataTypeUInt64 = 8, qtssAttrDataTypeQTSS_Object = 9, qtssAttrDataTypeQTSS_StreamRef= 10, qtssAttrDataTypeFloat32 = 11, qtssAttrDataTypeFloat64 = 12, qtssAttrDataTypeVoidPointer = 13, qtssAttrDataTypeTimeVal = 14, qtssAttrDataTypeNumTypes = 15 };
常数描述
qtssAttrDataTypeUnknown 数据类型未知。
qtssAttrDataTypeCharArray 数据类型为字符数组。
qtssAttrDataTypeBool16 数据类型为16位的布尔(Boolean)值。
qtssAttrDataTypeSInt16 数据类型为有符号的16位的整型数。
qtssAttrDataTypeUInt16 数据类型为无符号的16位的整型数。
qtssAttrDataTypeSInt32 数据类型为有符号的32位的整型数。
qtssAttrDataTypeUInt32 数据类型为无符号的32位的整型数。
qtssAttrDataTypeSInt64 数据类型为有符号的64位的整型数。
qtssAttrDataTypeQTSS_Object 数据类型为QTSS_Object。
qtssAttrDataTypeQTSS_StreamRef 数据类型为QTSS_ServerState。
qtssAttrDataTypeFloat32 数据类型为Float32。
qtssAttrDataTypeFloat64 数据类型为Float64。
qtssAttrDataTypeVoidPointer 数据类型为指向void的指针。
qtssAttrDataTypeTimeVal 数据类型为QTSS_TimeVal。
qtssAttrDataTypeNumTypes 数据类型为一个描述一些类型的值。
QTSS_AttrPermission数据类型是一个枚举,定义的值用于表示一个属性是否为可读,可写,或者抢占访问安全。QTSS_AttrInfoObject对象类型的qtssAttrPermissions属性的数据类型即为QTSS_AttrPermission。
typedef UInt32 QTSS_AttrPermission; enum { qtssAttrModeRead = 1 qtssAttrModeWrite = 2, qtssAttrModePreempSafe= 4 };
常数描述
qtssAttrModeRead 属性为可读。
qtssAttrModeWrite 属性为可写。
qtssAttrModePrempSafe 属性为抢占访问安全。
讨论
属性的权限一旦设置,就不能被更改。
QTSS_AddStreamFlags枚举定义了一些标志,用于在添加RTP流时指定流的选项。
enum { qtssASFlagsAllowDestination = 0x00000001, qtssASFlagsForceInterleave = 0x00000002 }; typedef UInt32 QTSS_AddStreamFlags;
常数描述
qtssASFlagsAllowDestination
qtssASFlagsForceInterleave 要求编织(interleaving)。
QTSS_CliSesTeardownReason枚举定义了描述会话为何关闭的值。QTSS_RTPSessionState枚举定义如下:
enum { qtssCliSesTearDownClientRequest= 0, qtssCliSesTearDownUnsupportedMedia= 1, qtssCliSesTearDownServerShutdown= 2, qtssCliSesTearDownServerInternalErr= 3 }; typedef UInt32 QTSS_CliSesTeardownReason;
常数描述
qtssCliSesTearDownClientRequest 客户端请求关闭会话。
qtssCliSesTearDownUnsupportedMedia 会话因为媒体不被支持而被关闭。
qtssCliSesTearDownServerShutdown 服务器端请求关闭会话。
qtssCliSesTearDownServerInternalErr 会话因为某个服务器错误而被关闭。
QTSS_EventType是一个无符号的32为整型数,其值唯一标识流的I/O事件。
enum { QTSS_ReadableEvent = 1, QTSS_WriteableEvent = 2 }; typedef UInt32 QTSS_EventType;
常数描述
QTSS_ReadableEvent 流已经变为可读。
QTSS_WriteableEvent 流已经变为可写。
QTSS_OpenFileFlags是一个无符号的32位整型数,其值描述的是一个文件将如何被打开。
enum { qtssOpenFileNoFlags= 0, qtssOpenFileAsync = 1, qtssOpenFileReadAhead= 2 }; typedef UInt32 QTSS_OpenFileFlags;
常数描述
qtssOpenFileNoFlags 没有指定打开标志。
qtssOpenFileAsync 文件流将被异步读取。读操作可能返回QTSS_WouldBlock。以qtssOpenFileAsync开关打开文件的模块应该调用QTSS_RequestEvent函数来获得数据已经可读的通知。
qtssOpenReadAhead 文件流将被从头到尾顺序读取。文件系统模块可能超前读取,以便更快响应未来的读操作。
模块在向客户会话添加一个RTP流的时候,用QTSS_RTPPayloadType枚举定义的值来指定流的净负荷类型。该枚举定义如下:
enum { qtssUnknownPayloadType = 0, qtssVideoPayloadType = 1, qtssAudioPayloadType = 2 }; typedef UInt32 QTSS_RTPPayloadType;
常数描述
qtssUnknownPayloadType 净负荷类型未知。
qtssVideoPayloadType 净负荷类型为视频。
qtssAudioPayloadType 净负荷类型为音频。
QTSS_RTPNetworkMode枚举定义了一些描述RTP网络模式的值。这些常数被分别设置成类型为qtssRTPStreamObjectType和qtssRTSPRequestObjectType对象的qtssRTPStrNetworkMode和qtssRTSPReqNetworkMode属性的值。QTSS_RTPNetworkMode枚举定义如下:
enum { qtssRTPNetworkModeDefault = 0, qtssRTPNetworkModeMulticast = 1, qtssRTPNetworkModeUnicast = 2 }; typedef UInt32 QTSS_RTPNetworkModes;
常数描述
qtssRTPNetworkModeDefault 没有声明RTP网络模式。
qtssRTPNetworkModeMulticast RTP网络模式组播(multicast)。
qtssRTPNetworkModeUnicast RTP网络模式单播(unicast)。
QTSS_RTPSessionState枚举定义了一些标识RTP会话状态的值。QTSS_RTPSessionState 枚举定义如下:
enum { qtssPausedState = 0, qtssPlayingState = 1 }; typedef UInt32 QTSS_RTPSessionState;
常数描述
qtssPausedState RTP会话处于暂停状态。
qtssPlayingState RTP会话正在播放。
QTSS_RTPTransportType枚举定义了表示RTP传输类型的值,其定义如下:
enum { qtssRTPTransportTypeUDP = 0, qtssRTPTransportTypeReliableUDP= 1, >qtssRTPTransportTypeTCP = 2 }; typedef UInt32 QTSS_RTPTransportType;
常数描述
qtssRTPTransportTypeUDP RTP传输类型为UDP。
qtssRTPTransportTypeReliableUDP RTP传输类型为Reliable UDP。
qtssRTPTransportTypeTCP RTP传输类型为TCP。
QTSS_RTSPSessionType枚举定义的值用于指定RTSP会话类型。枚举定义如下:
enum { qtssRTSPSession = 0, qtssRTSPHTTPSession = 1, qtssRTSPHTTPInputSession= 2 }; typedef UInt32 QTSS_RTSPSessionType;
常数描述
qtssRTSPSession 会话类型为RTSP会话。
qtssRTSPHTTPSession 会话类型为基于HTTP之上的RTSP会话。
qtssRTSPHTTPInputSession 会话类型为基于HTTP之上的RTSP会话的input half。
讨论
这些会话类型的存活时间通常很短。
QTSS_ServerState枚举定义的值描述的是服务器的状态,模块可以通过设置 defines values that describe the server’s state. Modules can set the server’s state by setting the value of the qtssSvrState attribute in the QTSS_ServerObject对象的qtssSvrState属性值来设定服务器的状态。枚举定义如下:
enum { qtssStartingUpState = 0, qtssRunningState = 1, qtssRefusingConnectionsState= 2, qtssFatalErrorState = 3, qtssShuttingDownState = 4, qtssIdleState = 5 }; typedef UInt32 QTSS_ServerState;
常数描述
qtssStartingUpState 服务器正在启动。
qtssRunningState 服务器正在运行。
qtssRefusingConnectionsState 将服务器设置为特定状态,该状态使服务器拒绝新的连接。
qtssFatalErrorState 将服务器设置为特定状态,该状态使服务器退出。当服务器处于后台运行状态时,将服务器设置为这种状态会导致服务器退出并重新启动(Mac OS X和POSIX平台上)。
qtssShuttingDownState 将服务器设置为这个状态会使服务器退出。
qtssIdleState 将服务器设置为这个状态会使服务器拒绝新的连接,并且断开现有的连接。