类名 |
功能 |
CThread |
线程类,用于创建线程 |
CSock |
套接字基类 |
CListenSock |
监听套接字类,继承自CSock,用于监听并创建新的套接字 |
CTcpSock |
TCP套接字类,继承自CSock,完成TCP连接、数据收发 |
CUdpSock |
UDP套接字类,继承自CSock,完成UDP数据包收发 |
CRtspSvr |
RTSP服务,创建并管理RTSP会话 |
CRtspSession |
RTSP会话类,处理RTSP请求、响应 |
CDataSrc |
数据源类,完成RTP打包 |
CTsFileReader |
TS文件读取类,完成TS文件数据的读取 |
l USER调用CRtspSvr::Start启动RTSP服务。
l RTSP CLIENT请求建立TCP连接。
l CRtspSvr创建CRtspSession对象。
l CRtspSvr调用CRtspSession::Start启动RTSP会话。
l RTSP CLIENT发送OPTIONS请求。
l CRtspSession生成OPTIONS响应并回复。
l RTSP CLIENT发送DESCRIBE请求。
l CRtspSession调用CDataSrc::Init初始化数据源。
l CDataSrc调用CTsFileReader::Init打开并初始化TS文件。
l CDataSrc调用CTsFileReader::GetRange获取TS文件时长。
l CRtspSession调用CDataSrc::GetSdp获取SDP信息。
l CRtspSession生成DESCRIBE响应并回复。
l RTSP CLIENT发送SETUP请求。
l CRtspSession生成SETUP响应并回复。
l RTSP CLIENT发送PLAY请求。
l CRtspSession调用CDataSrc::GetRange获取媒体时长。
l CRtspSession调用CDataSrc::PerPlay播放前准备。
l CDataSrc调用CTsFileReader::SeekByTime将文件定位到对应位置。
l CRtspSession调用CDataSrc::GetMediaInfo获取媒体信息。
l CRtspSession调用CDataSrc::Play开始打包并发送数据。
l CRtspSession生成PLAY响应并回复。
l RTSP CLIENT发送PAUSE请求。
l CRtspSession调用CDataSrc::Pause暂停发送数据。
l CRtspSession生成PAUSE响应并回复。
l RTSP CLIENT发送TEARDOWN请求。
l CRtspSession调用CDataSrc::Pause暂停发送数据。
l CRtspSession生成TEARDOWN响应并回复。
l CRtspSession回调CRtspSvr::notify_fun通知CRtspSvr。
l CRtspSvr销毁CRtspSession对象。