精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
类型为qtssRTPStreamObjectType的对象是由一些属性组成的,这些属性描述特定的RTP流是音频,视频,或者是文本流。RTP流对象(QTSS_RTPStreamObject)就是这种对象类型的一个实例,通过调用QTSS_AddRTPStream函数来创建。一个RTP流对象必须和一个客户会话对象(QTSS_ClientSessionObject)相关联;而一个客户会话对象则可以和任何数目的RTP流对象相关联。这些属性对于所有角色都是正当的,只要它们操作的对象属性是从服务器传入的结构中的QTSS_RTPStreamObject成员得到的。
表1-18列举了qtssRTPStreamObjectType对象的属性。
请注意:所有这些属性对于抢占访问都是安全的,因此可以通过调用QTSS_GetValue,QTSS_GetValueAsString,或者QTSS_GetValuePtr函数来读取。
属性的名称及其描述 | 访 问 | 数据类型 |
---|---|---|
qtssRTPStrTrackID 标识每个RTP 流的唯一ID。 | 可读,可写,抢占访问安全 | UInt32 |
qtssRTPStrSSRC 由服务器产生的同步源(Synchronization source,简称SSRC)。服务器保证SSRC在同一个会话的所有流之间是唯一的。在所有由服务器产生的RTCP发送方报告中都包含有SSRC。 | 可读,抢占访问安全 | UInt32 |
qtssRTPStrPayloadName 当前流的媒体名称。如果模块没有显式设定,则这个属性为空值。 | 可读,可写,抢占访问安全 | char |
qtssRTPStrPayloadType 当前流的媒体净负荷(Payload)类型。如果模块没有将这个属性设定为qtssVideoPayloadType或者qtssAudioPayloadType,则其值为qtssUnknownPayloadType。 | 可读,可写,抢占访问安全 | QTSS_RTPPayloadType |
qtssRTPStrFirstSeqNumber 最新的PLAY请求发出之后首个数据包的系列号。如果模块知道这个系列号,则必须在调用QTSS_Play函数之前对这个属性进行设定。服务器通过这个属性生成一个正确的RTSP PLAY的响应。 | 可读,可写,抢占访问安全 | SInt16 |
qtssRTPStrFirstTimestampRTP 最新的PLAY请求发出之后为当前流生成的首个RTP数据包的时间戳。如果模块知道这个值,则必须在调用QTSS_Play函数之前对这个属性进行设定。服务器通过这个属性生成一个正确的RTSP PLAY的响应。 | 可读,可写,抢占访问安全 | SInt32 |
qtssRTPStrTimescale 轨道的时间比例(Timescale)。如果知道这个值,则必须在调用QTSS_Play函数之前对这个属性进行设定。 | 可读,可写,抢占访问安全 | SInt32 |
qtssRTPStrBufferDelayInSecs 客户缓冲区的尺寸。服务器将这个属性设置为3秒。然而模块需要负责确定缓冲区的大小,并据此对该属性进行设定。 | 可读,抢占访问安全 | Float32 |
qtssRTPStrNetworkMode RTP流的网络模式。可能的值有qtssRTPNetworkModeDefault,qtssRTPNetworkModeMulticast,和qtssNetworkModeUnicast。 | 可读,抢占访问安全 | UInt32 |
下面这些属性的值来自媒体流中最新的RTCP数据包。如果最新的RTCP数据包中的某个域是空白的,则服务器会将其对应的属性值设置为0。 | ||
qtssRTPStrFractionLostPackets 当前流丢失的数据包碎片。 | 可读,抢占访问安全 | UInt32 |
qtssRTPStrTotalLostPackets 当前流丢失的数据包总数。 | 可读,抢占访问安全 | UInt32 |
qtssRTPStrJitter 当前流的累计jitter。 | 可读,抢占访问安全 | UInt32 |
qtssRTPStrRecvBitRate 客户端接收到的平均位率,以每秒的位数计。 | 可读,抢占访问安全 | UInt32 |
qtssRTPStrAvgLateMilliseconds 客户端接收到的延迟数据包的平均延迟时间,以毫秒计。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrPercentPacketsLost 当前流的丢包百分比。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrAvgBugDelayInMsec 平均的缓冲区延迟,以毫秒计。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrGettingBetter 如果客户端报告其接收的流品质正在变好,则这个属性的值为非零。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrGettingWorse 如果客户端报告其接收的流品质正在变坏,则这个属性的值为非零。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrNumEyes 连接到当前流的客户数。 | 可读,抢占访问安全 | UInt32 |
qtssRTPStrNumEyesActive 播放当前流的客户数。 | 可读,抢占访问安全 | UInt32 |
qtssRTPStrNumEyesPaused 当前处于连接状态,但又处于暂停状态的客户数目。 | 可读,抢占访问安全 | UInt32 |
qtssRTPStrTotPacketsRecv 客户端收到的数据包总数。 | 可读,抢占访问安全 | UInt32 |
qtssRTPStrTotPacketsDropped 被客户端丢弃的数据包数目。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrTotPacketsLost 丢失的数据包总数。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrClientBufFill 十分之一秒内客户缓冲区的充满程度。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrFrameRate 当前的帧率,以每秒的帧数计。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrExpFrameRate 期待的帧率,以每秒的帧数计。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrAudioDryCount 音频数据不足以流畅播放的次数。 | 可读,抢占访问安全 | UInt16 |
qtssRTPStrIsTCP 如果当前这个RTP流是基于TCP上发送的,则这个属性为真;如果是基于UDP之上发送,则为假。 | 可读,抢占访问安全 | Bool16 |
qtssRTPStrStreamRef QTSS_StreamRef对象用于将RTP或RTCP数据包发送给客户端。通过QTSS_WriteFlags来指定被发送的数据包是RTP还是RTCP包。 | 可读,抢占访问安全 | QTSS_StreamRef |
qtssRTPStrTransportType 传输类型。 | 可读,抢占访问安全 | QTSS_RTPTransportType |