Force an IDR frame request when the decode unit queue overflows

This commit is contained in:
Cameron Gutman 2017-05-20 17:32:02 -07:00
parent 2d7bf5be82
commit bfd368769e
3 changed files with 2 additions and 8 deletions

View File

@ -233,11 +233,6 @@ void requestIdrOnDemand(void) {
PltSetEvent(&invalidateRefFramesEvent);
}
// Invalidate reference frames if the decoder is too slow
void connectionSinkTooSlow(int startFrame, int endFrame) {
queueFrameInvalidationTuple(startFrame, endFrame);
}
// Invalidate reference frames lost by the network
void connectionDetectedFrameLoss(int startFrame, int endFrame) {
queueFrameInvalidationTuple(startFrame, endFrame);

View File

@ -33,7 +33,6 @@ int startControlStream(void);
int stopControlStream(void);
void destroyControlStream(void);
void requestIdrOnDemand(void);
void connectionSinkTooSlow(int startFrame, int endFrame);
void connectionDetectedFrameLoss(int startFrame, int endFrame);
void connectionReceivedCompleteFrame(int frameIndex);
void connectionSawFrame(int frameIndex);

View File

@ -249,8 +249,8 @@ static void reassembleFrame(int frameNumber) {
// Flush the decode unit queue
freeDecodeUnitList(LbqFlushQueueItems(&decodeUnitQueue));
// FIXME: Get proper lower bound
connectionSinkTooSlow(0, frameNumber);
// FIXME: Get proper bounds to use reference frame invalidation
requestIdrOnDemand();
return;
}
}