Merge branch 'development' into LTS_development

# Conflicts:
#	src/input/input.cpp
#	src/input/input_buffer.cpp
#	src/output/output.cpp
#	src/output/output_progressive_mp4.cpp
#	src/output/output_rtmp.cpp
This commit is contained in:
Thulinma 2018-10-15 10:51:03 +02:00
commit ce1eef0885
2 changed files with 7 additions and 4 deletions

View file

@ -308,7 +308,9 @@ namespace Mist{
} }
bool Output::isReadyForPlay(){ bool Output::isReadyForPlay(){
if (isPushing()){return true;} static bool recursing = false;
if (isPushing() || recursing){return true;}
recursing = true;
if (!isInitialized){initialize();} if (!isInitialized){initialize();}
if (!myMeta.tracks.size()){updateMeta();} if (!myMeta.tracks.size()){updateMeta();}
if (myMeta.tracks.size()){ if (myMeta.tracks.size()){
@ -317,6 +319,7 @@ namespace Mist{
} }
unsigned int mainTrack = getMainSelectedTrack(); unsigned int mainTrack = getMainSelectedTrack();
if (mainTrack && myMeta.tracks.count(mainTrack) && (myMeta.tracks[mainTrack].keys.size() >= 2 || myMeta.tracks[mainTrack].lastms - myMeta.tracks[mainTrack].firstms > 5000)){ if (mainTrack && myMeta.tracks.count(mainTrack) && (myMeta.tracks[mainTrack].keys.size() >= 2 || myMeta.tracks[mainTrack].lastms - myMeta.tracks[mainTrack].firstms > 5000)){
recursing = false;
return true; return true;
}else{ }else{
HIGH_MSG("NOT READY YET (%lu tracks, %lu = %lu keys)", myMeta.tracks.size(), getMainSelectedTrack(), myMeta.tracks[getMainSelectedTrack()].keys.size()); HIGH_MSG("NOT READY YET (%lu tracks, %lu = %lu keys)", myMeta.tracks.size(), getMainSelectedTrack(), myMeta.tracks[getMainSelectedTrack()].keys.size());
@ -324,6 +327,7 @@ namespace Mist{
}else{ }else{
HIGH_MSG("NOT READY YET (%lu tracks)", myMeta.tracks.size()); HIGH_MSG("NOT READY YET (%lu tracks)", myMeta.tracks.size());
} }
recursing = false;
return false; return false;
} }
@ -806,11 +810,10 @@ namespace Mist{
return start; return start;
} }
///Return the end time of the selected tracks, or 0 if unknown or live. ///Return the end time of the selected tracks, or 0 if unknown.
///Returns the end time of latest track if nothing is selected. ///Returns the end time of latest track if nothing is selected.
///Returns zero if no tracks exist. ///Returns zero if no tracks exist.
uint64_t Output::endTime(){ uint64_t Output::endTime(){
if (myMeta.live){return 0;}
if (!myMeta.tracks.size()){return 0;} if (!myMeta.tracks.size()){return 0;}
uint64_t end = 0; uint64_t end = 0;
if (selectedTracks.size()){ if (selectedTracks.size()){