Wait for keyframe in live input

This commit is contained in:
Erik Zandvliet 2016-05-19 13:09:31 +02:00
parent 477d5e8899
commit c9d38107d2

View file

@ -495,7 +495,7 @@ namespace Mist {
} }
//Determine if we need to open the next page //Determine if we need to open the next page
int nextPageNum = -1; int nextPageNum = -1;
if (isKeyframe || !pagesByTrack.count(tid) || pagesByTrack[tid].size() == 0) { if (isKeyframe) {
//If there is no page, create it //If there is no page, create it
if (!pagesByTrack.count(tid) || pagesByTrack[tid].size() == 0) { if (!pagesByTrack.count(tid) || pagesByTrack[tid].size() == 0) {
nextPageNum = 1; nextPageNum = 1;
@ -523,6 +523,10 @@ namespace Mist {
nextPageNum = 1; nextPageNum = 1;
} }
} }
//If we have no pages by track, we have not received a starting keyframe yet. Drop this packet.
if (!pagesByTrack.count(tid) || pagesByTrack[tid].size() == 0){
return;
}
//At this point we can stop parsing when the track is not accepted //At this point we can stop parsing when the track is not accepted
if (trackState[tid] != FILL_ACC) { if (trackState[tid] != FILL_ACC) {
return; return;