Implement predictive RFI to recover more quickly from frame loss

With predictive RFI, we can recover from a lost frame as soon as the next frame
by predicting whether we will have enough FEC data to be be able to recover a
frame based on the sequence numbers of the received packets.
This commit is contained in:
Cameron Gutman
2022-10-05 22:04:22 -05:00
parent 9240090983
commit 5e1be51b84
4 changed files with 87 additions and 9 deletions

View File

@@ -29,14 +29,20 @@ typedef struct _RTP_VIDEO_QUEUE {
uint32_t bufferDataPackets;
uint32_t bufferParityPackets;
uint32_t receivedBufferDataPackets;
uint32_t receivedParityPackets;
uint32_t receivedParityHighestSequenceNumber;
uint32_t fecPercentage;
uint32_t nextContiguousSequenceNumber;
bool reportedLostFrame;
uint32_t currentFrameNumber;
bool multiFecCapable;
uint8_t multiFecCurrentBlockNumber;
uint8_t multiFecLastBlockNumber;
uint16_t lastOosSequenceNumber;
bool receivedOosData;
} RTP_VIDEO_QUEUE, *PRTP_VIDEO_QUEUE;
#define RTPF_RET_QUEUED 0