From 7d1a081fd04c69ac66c89fe9a0bc178a058cf2f3 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 6 Oct 2022 20:38:55 -0500 Subject: [PATCH] Fix signature of notifyFrameLost() and add additional assert --- src/Limelight-internal.h | 2 +- src/VideoDepacketizer.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Limelight-internal.h b/src/Limelight-internal.h index 6770689..d02dc6b 100644 --- a/src/Limelight-internal.h +++ b/src/Limelight-internal.h @@ -98,7 +98,7 @@ void destroyVideoDepacketizer(void); void queueRtpPacket(PRTPV_QUEUE_ENTRY queueEntry); void stopVideoDepacketizer(void); void requestDecoderRefresh(void); -void notifyFrameLost(int frameNumber); +void notifyFrameLost(unsigned int frameNumber); void initializeVideoStream(void); void destroyVideoStream(void); diff --git a/src/VideoDepacketizer.c b/src/VideoDepacketizer.c index 51702e3..70c56b7 100644 --- a/src/VideoDepacketizer.c +++ b/src/VideoDepacketizer.c @@ -893,10 +893,13 @@ static void processRtpPayload(PNV_VIDEO_PACKET videoPacket, int length, // if it determines the frame to be unrecoverable. This lets us // avoid having to wait until the next received frame to determine // that we lost a frame and submit an RFI request. -void notifyFrameLost(int frameNumber) { +void notifyFrameLost(unsigned int frameNumber) { // This may only be called at frame boundaries LC_ASSERT(!decodingFrame); + // We may not invalidate frames that we've already received + LC_ASSERT(frameNumber >= startFrameNumber); + // If RFI is enabled, we will notify the host PC now if (isReferenceFrameInvalidationEnabled()) { Limelog("Sending predictive RFI request for probable loss of frame %d\n", frameNumber);