Various optimizations to outputs and RTMP in particular.
This commit is contained in:
parent
c82aa656cd
commit
68baed4af8
2 changed files with 7 additions and 8 deletions
|
@ -215,16 +215,13 @@ namespace Mist {
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int Output::getKeyForTime(long unsigned int trackId, long long timeStamp){
|
unsigned int Output::getKeyForTime(long unsigned int trackId, long long timeStamp){
|
||||||
if (!myMeta.tracks[trackId].keys.size()){
|
DTSC::Track & trk = myMeta.tracks[trackId];
|
||||||
|
if (!trk.keys.size()){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
unsigned int keyNo = myMeta.tracks[trackId].keys.begin()->getNumber();
|
unsigned int keyNo = trk.keys.begin()->getNumber();
|
||||||
for (std::deque<DTSC::Key>::iterator it = myMeta.tracks[trackId].keys.begin(); it != myMeta.tracks[trackId].keys.end(); it++){
|
for (std::deque<DTSC::Key>::iterator it = trk.keys.begin(); it != trk.keys.end() && it->getTime() <= timeStamp; it++){
|
||||||
if (it->getTime() <= timeStamp){
|
|
||||||
keyNo = it->getNumber();
|
keyNo = it->getNumber();
|
||||||
}else{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return keyNo;
|
return keyNo;
|
||||||
}
|
}
|
||||||
|
|
|
@ -194,6 +194,7 @@ namespace Mist {
|
||||||
}
|
}
|
||||||
|
|
||||||
//send the header
|
//send the header
|
||||||
|
myConn.setBlocking(true);
|
||||||
myConn.SendNow(rtmpheader, header_len);
|
myConn.SendNow(rtmpheader, header_len);
|
||||||
//set the header's first byte to the "continue" type chunk, for later use
|
//set the header's first byte to the "continue" type chunk, for later use
|
||||||
rtmpheader[0] = 0xC4;
|
rtmpheader[0] = 0xC4;
|
||||||
|
@ -216,6 +217,7 @@ namespace Mist {
|
||||||
++steps;
|
++steps;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
myConn.setBlocking(false);
|
||||||
//update the sent data counter
|
//update the sent data counter
|
||||||
RTMPStream::snd_cnt += header_len + data_len + steps;
|
RTMPStream::snd_cnt += header_len + data_len + steps;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue