mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-10-06 20:23:43 +08:00
精简代码
This commit is contained in:
parent
6fe90fe4ba
commit
c556122881
|
@ -280,7 +280,7 @@ void RtspPlayer::handleResDESCRIBE(const Parser& parser) {
|
|||
_aTrackInfo = _sdpAttr.getAvailableTrack();
|
||||
|
||||
if (_aTrackInfo.empty()) {
|
||||
throw std::runtime_error("解析SDP失败");
|
||||
throw std::runtime_error("无有效的Sdp Track");
|
||||
}
|
||||
if (!onCheckSDP(strSdp, _sdpAttr)) {
|
||||
throw std::runtime_error("onCheckSDP faied");
|
||||
|
|
|
@ -664,7 +664,7 @@ bool RtspSession::handleReq_Setup() {
|
|||
}
|
||||
|
||||
bool RtspSession::handleReq_Play() {
|
||||
if (_uiTrackCnt == 0) {
|
||||
if (_aTrackInfo.size() == 0) {
|
||||
//还没有Describe
|
||||
return false;
|
||||
}
|
||||
|
@ -731,11 +731,11 @@ bool RtspSession::handleReq_Play() {
|
|||
}else{
|
||||
iStamp = pMediaSrc->getStamp();
|
||||
}
|
||||
for (unsigned int i = 0; i < _uiTrackCnt; i++) {
|
||||
auto &track = _aTrackInfo[i];
|
||||
track->ssrc = pMediaSrc->getSsrc(track->type);
|
||||
track->seq = pMediaSrc->getSeqence(track->type);
|
||||
track->timeStamp = pMediaSrc->getTimestamp(track->type);
|
||||
|
||||
for(auto &track : _aTrackInfo){
|
||||
track->ssrc = pMediaSrc->getSsrc(track->type);
|
||||
track->seq = pMediaSrc->getSeqence(track->type);
|
||||
track->timeStamp = pMediaSrc->getTimestamp(track->type);
|
||||
}
|
||||
}
|
||||
_bFirstPlay = false;
|
||||
|
@ -748,16 +748,15 @@ bool RtspSession::handleReq_Play() {
|
|||
"RTP-Info: ", _iCseq, SERVER_NAME, RTSP_VERSION, RTSP_BUILDTIME,
|
||||
dateHeader().data(), _strSession.data(),iStamp/1000.0);
|
||||
|
||||
for (unsigned int i = 0; i < _uiTrackCnt; i++) {
|
||||
auto &track = _aTrackInfo[i];
|
||||
if (track->inited == false) {
|
||||
//还有track没有setup
|
||||
shutdown();
|
||||
return;
|
||||
}
|
||||
iLen += sprintf(_pcBuf + iLen, "url=%s/%s;seq=%d;rtptime=%u,",
|
||||
_strUrl.data(), track->_control_surffix.data(), track->seq,track->timeStamp);
|
||||
}
|
||||
for(auto &track : _aTrackInfo){
|
||||
if (track->inited == false) {
|
||||
//还有track没有setup
|
||||
shutdown();
|
||||
return;
|
||||
}
|
||||
iLen += sprintf(_pcBuf + iLen, "url=%s/%s;seq=%d;rtptime=%u,", _strUrl.data(), track->_control_surffix.data(), track->seq,track->timeStamp);
|
||||
}
|
||||
|
||||
iLen -= 1;
|
||||
(_pcBuf)[iLen] = '\0';
|
||||
iLen += sprintf(_pcBuf + iLen, "\r\n\r\n");
|
||||
|
@ -897,21 +896,18 @@ inline bool RtspSession::findStream() {
|
|||
|
||||
_sdpAttr.load(_strSdp);
|
||||
_aTrackInfo = _sdpAttr.getAvailableTrack();
|
||||
_uiTrackCnt = _aTrackInfo.size();
|
||||
|
||||
if (_uiTrackCnt == 0 || _uiTrackCnt > 2) {
|
||||
if (_aTrackInfo.empty()) {
|
||||
return false;
|
||||
}
|
||||
_strSession = makeRandStr(12);
|
||||
_pMediaSrc = pMediaSrc;
|
||||
|
||||
for (unsigned int i = 0; i < _uiTrackCnt; i++) {
|
||||
auto &track = _aTrackInfo[i];
|
||||
for(auto &track : _aTrackInfo){
|
||||
track->ssrc = pMediaSrc->getSsrc(track->type);
|
||||
track->seq = pMediaSrc->getSeqence(track->type);
|
||||
track->timeStamp = pMediaSrc->getTimestamp(track->type);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -972,7 +968,7 @@ inline void RtspSession::onRcvPeerUdpData(int iTrackIdx, const Buffer::Ptr &pBuf
|
|||
_apPeerUdpAddr[iTrackIdx / 2].reset(new struct sockaddr(addr));
|
||||
_abGotPeerUdp[iTrackIdx / 2] = true;
|
||||
_bGotAllPeerUdp = true;//先假设获取到完整的rtp探测包
|
||||
for (unsigned int i = 0; i < _uiTrackCnt; i++) {
|
||||
for (unsigned int i = 0; i < _aTrackInfo.size(); i++) {
|
||||
if (!_abGotPeerUdp[i]) {
|
||||
//还有track没获取到rtp探测包
|
||||
_bGotAllPeerUdp = false;
|
||||
|
|
|
@ -117,7 +117,7 @@ private:
|
|||
return tmp;
|
||||
}
|
||||
inline int getTrackIndexByTrackType(TrackType type) {
|
||||
for (unsigned int i = 0; i < _uiTrackCnt; i++) {
|
||||
for (unsigned int i = 0; i < _aTrackInfo.size(); i++) {
|
||||
if (type == _aTrackInfo[i]->type) {
|
||||
return i;
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ private:
|
|||
return -1;
|
||||
}
|
||||
inline int getTrackIndexByControlSuffix(const string &controlSuffix) {
|
||||
for (unsigned int i = 0; i < _uiTrackCnt; i++) {
|
||||
for (unsigned int i = 0; i < _aTrackInfo.size(); i++) {
|
||||
if (controlSuffix == _aTrackInfo[i]->_control_surffix) {
|
||||
return i;
|
||||
}
|
||||
|
@ -163,7 +163,6 @@ private:
|
|||
int _iCseq = 0;
|
||||
|
||||
SdpAttr _sdpAttr;
|
||||
unsigned int _uiTrackCnt = 0; //媒体track个数
|
||||
vector<SdpTrack::Ptr> _aTrackInfo;
|
||||
|
||||
bool _bGotAllPeerUdp = false;
|
||||
|
|
Loading…
Reference in New Issue
Block a user