RTMP track re-selection timer added.

This commit is contained in:
Thulinma 2016-06-07 15:20:44 +02:00
parent 7c46f008a8
commit 3c41142a57

View file

@ -271,16 +271,23 @@ namespace Mist {
//If there are now more selectable tracks, select the new track and do a seek to the current timestamp //If there are now more selectable tracks, select the new track and do a seek to the current timestamp
//Set sentHeader to false to force it to send init data //Set sentHeader to false to force it to send init data
if (selectedTracks.size() < 2 && myMeta.tracks.size() > 1){ if (selectedTracks.size() < 2){
static unsigned long long lastMeta = 0;
if (Util::epoch() > lastMeta + 5){
lastMeta = Util::epoch();
updateMeta();
if (myMeta.tracks.size() > 1){
size_t prevTrackCount = selectedTracks.size(); size_t prevTrackCount = selectedTracks.size();
selectDefaultTracks(); selectDefaultTracks();
if (selectedTracks.size() > prevTrackCount){ if (selectedTracks.size() > prevTrackCount){
INFO_MSG("Picked up new track - selecting it and resetting state."); INFO_MSG("Picked up new track - selecting it and resetting state.");
sentHeader = false; sentHeader = false;
seek(thisPacket.getTime()); initialSeek();
}
return; return;
} }
}
}
}
char rtmpheader[] = {0, //byte 0 = cs_id | ch_type char rtmpheader[] = {0, //byte 0 = cs_id | ch_type