精简代码

This commit is contained in:
xiongziliang 2018-10-26 10:12:37 +08:00
parent 6fe90fe4ba
commit c556122881
3 changed files with 21 additions and 26 deletions

View File

@ -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");

View File

@ -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;

View File

@ -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;