精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
类型为qtssRTSPRequestObjectType的对象由一些描述特定RTSP请求的属性组成。RTSP请求对象(QTSS_RTSPRequestObject)就是这种对象类型的实例,它的生命周期是从服务器接收到客户端完整的RTSP请求到为该请求发出响应,并转向下一个请求的整个期间。一个RTSP请求对象必须和单独一个RTSP会话对象(QTSS_RTSPSessionObject)相关联,因为特定的请求总是从一个特定的连接上发出的。
RTSP Filter角色是个例外。每个属性的值对于可以从服务器接收QTSS_RTSPRequestObject对象的所有角色都是可用的。 而当RTSP Filter角色接收到QTSS_RTSPRequestObject对象时,只有qtssRTSPReqFullRequest属性被赋值。
每个文本名称等同于其对应的枚举类型名称。
表1-19列举了qtssRTSPRequestObjectType对象的属性。
请注意:所有这些属性对抢占访问都是安全的,因此可以通过调用QTSS_GetValue,QTSS_GetValueAsString,或QTSS_GetValuePtr函数来读取。
属性名称及其描述 | 访 问 | 数据类型 |
---|---|---|
qtssRTSPReqFullRequest 完整的,来自客户端的RTSP请求。这个属性对于所有接收到QTSS_RTSPRequestObject对象的角色都是可用的。 | 可读,抢占访问安全 | char |
qtssRTSPReqMethodStr 当前请求的RTSP方法。 | 可读,抢占访问安全 | char |
qtssRTSPReqFilePath 当前请求的URI,已被转化为本地文件系统路径。 | 可读,抢占访问安全 | char |
qtssRTSPReqURI 当前请求的URI。 | 可读,抢占访问安全 | char |
qtssRTSPReqFilePathTrunc 和qtssRTSPReqFilePath属性同,但是没有路径中的最后一个元素。 | 可读,抢占访问安全 | char |
qtssRTSPReqFileName 文件系统路径中最后一个路径分隔符之后的所有字符。 | 可读,抢占访问安全 | char |
qtssRTSPReqFileDigit 如果URI以一个或者更多数字结尾,则这个属性指向那些结尾的数字。 | 可读,抢占访问安全 | char |
qtssRTSPReqAbsoluteURL 完整的URL,起始部分为“rtsp://”。 | 可读,抢占访问安全 | char |
qtssRTSPReqTruncAbsoluteURL URL,不带路径中的最后一个元素。 | 可读,抢占访问安全 | char |
qtssRTSPReqMethod RTSP方法,是一个QTSS_RTSPMethod类型的值。 | 可读,抢占访问安全 | QTSS_RTSPMethod |
qtssRTSPReqStatusCode RTSP请求的当前状态码,类型是QTSS_RTSPStatusCode。缺省情况下,其值是qtssSuccessOK。如果模块对这个属性进行设置,并调用QTSS_SendRTSPHeaders函数,则服务器产生的报头中的状态码包含这个属性的值。 | 可读,可写,抢占访问安全 | QTSS_RTSPStatusCode |
qtssRTSPReqStartTime PLAY请求的Range(范围)报头中指定的起始时间。 | 可读,抢占访问安全 | Float64 |
qtssRTSPReqStopTime PLAY请求的Range报头中指定的停止时间。 | 可读,抢占访问安全 | Float64 |
qtssRTSPReqRespKeepAlive 如果您希望服务器在请求完成后仍然保持连接打开,则将这个属性设置为真。如果您希望在请求完成后终止连接,则将这个属性设置为假。 | 可读,可写,抢占访问安全 | Bool16 |
qtssRTSPReqRootDir 当前请求的根目录。这个属性的缺省值为服务器的媒体文件夹路径。模块可以在RTSP Route角色中对这个属性进行设定。 | 可读,可写,抢占访问安全 | char |
qtssRTSPReqRealStatusCode 和qtssRTSPReqStatusCode属性相同,只是将QTSS_RTSPStatusCode类型的值翻译为实际的RTSP状态码。 | 可读,抢占访问安全 | UInt32 |
qtssRTSPReqStreamRef 这个属性指向一个QTSS_StreamRef类型的值,用于将数据发送给RTSP客户。这个流引用与QTSS_RTSPSessionObject对象属性提供的流不同,在响应QTSS_Write或QTSS_WriteV调用时从不返回QTSS_WouldBlock。 | 可读,抢占访问安全 | QTSS_StreamRef |
qtssRTSPReqUserName 如果RTSP请求中提供的话,这个属性指向解码后的用户名称。 | 可读,抢占访问安全 | char |
qtssRTSPReqURLRealm 指定客户授权实体的名称,在下面的字符串中显示:“请输入[授权实体名称]领域的密码。这个属性的缺省值为“Streaming Server”。 | 可读,可写,抢占访问安全 | char |
qtssRTSPReqIfModSinceDate 如果RTSP请求中包含一个If-Modified-Since报头,则这个属性就是if-modified的日期,只是转换为QTSS_TimeVal类型的值。 | 可读,抢占访问安全 | QTSS_TimeVal |
qtssRTSPReqRespMsg 当RTSP响应发生错误时发回给客户端的错误信息。向客户端发送RTSP错误的模块应该将这个属性设置为一个文本信息,以描述为什么会发生错误。将这个信息写入日志文件也是有用的。一旦RTSP响应发出,这个属性就包含响应信息。 | 可读,可写,抢占访问安全 | char |
qtssRTSPReqContentLen 接收到的RTSP请求体的内容长度。 | 可读,抢占访问安全 | UInt32 |
qtssRTSPReqSpeed Speed(速度)报头的值。 | 可读,抢占访问安全 | Float32 |
qtssRTSPReqLateTolerance x-RTP-Options报头的late-tolerance域的值,如果该值不存在,则这个属性值为–1。 | 可读,抢占访问安全 | Float32 |
qtssRTSPReqSkipAuthorization 如果模块希望当前请求通过所有认证模块的认证,则应该设置这个属性。 | 可读,可写,抢占访问安全 | Bool16 |
qtssRTSPReqNetworkMode RTSP请求的网络模式。这个属性可能的值为:qtssRTPNetworkModeDefault,qtssRTPNetworkModeMulticast,以及qtssRTPNetworkModeUnicast。 | 可读,抢占访问安全 | Bool16 |