Change FEC status message to avoid truncating large frames

This commit is contained in:
Cameron Gutman 2023-08-19 11:37:44 -05:00
parent 78e06eb613
commit e05ee6dfc8
2 changed files with 11 additions and 11 deletions

View File

@ -95,11 +95,11 @@ static void reportFinalFrameFecStatus(PRTP_VIDEO_QUEUE queue) {
fecStatus.frameIndex = BE32(queue->currentFrameNumber); fecStatus.frameIndex = BE32(queue->currentFrameNumber);
fecStatus.highestReceivedSequenceNumber = BE16(queue->receivedHighestSequenceNumber); fecStatus.highestReceivedSequenceNumber = BE16(queue->receivedHighestSequenceNumber);
fecStatus.nextContiguousSequenceNumber = BE16(queue->nextContiguousSequenceNumber); fecStatus.nextContiguousSequenceNumber = BE16(queue->nextContiguousSequenceNumber);
fecStatus.missingPacketsBeforeHighestReceived = (uint8_t)queue->missingPackets; fecStatus.missingPacketsBeforeHighestReceived = BE16(queue->missingPackets);
fecStatus.totalDataPackets = (uint8_t)queue->bufferDataPackets; fecStatus.totalDataPackets = BE16(queue->bufferDataPackets);
fecStatus.totalParityPackets = (uint8_t)queue->bufferParityPackets; fecStatus.totalParityPackets = BE16(queue->bufferParityPackets);
fecStatus.receivedDataPackets = (uint8_t)queue->receivedDataPackets; fecStatus.receivedDataPackets = BE16(queue->receivedDataPackets);
fecStatus.receivedParityPackets = (uint8_t)queue->receivedParityPackets; fecStatus.receivedParityPackets = BE16(queue->receivedParityPackets);
fecStatus.fecPercentage = (uint8_t)queue->fecPercentage; fecStatus.fecPercentage = (uint8_t)queue->fecPercentage;
fecStatus.multiFecBlockIndex = (uint8_t)queue->multiFecCurrentBlockNumber; fecStatus.multiFecBlockIndex = (uint8_t)queue->multiFecCurrentBlockNumber;
fecStatus.multiFecBlockCount = (uint8_t)(queue->multiFecLastBlockNumber + 1); fecStatus.multiFecBlockCount = (uint8_t)(queue->multiFecLastBlockNumber + 1);

View File

@ -43,16 +43,16 @@ typedef struct _SS_PING {
} SS_PING, *PSS_PING; } SS_PING, *PSS_PING;
// Fields are big-endian // Fields are big-endian
#define SS_FRAME_FEC_PTYPE 0x5501 #define SS_FRAME_FEC_PTYPE 0x5502
typedef struct _SS_FRAME_FEC_STATUS { typedef struct _SS_FRAME_FEC_STATUS {
uint32_t frameIndex; uint32_t frameIndex;
uint16_t highestReceivedSequenceNumber; uint16_t highestReceivedSequenceNumber;
uint16_t nextContiguousSequenceNumber; uint16_t nextContiguousSequenceNumber;
uint8_t missingPacketsBeforeHighestReceived; uint16_t missingPacketsBeforeHighestReceived;
uint8_t totalDataPackets; uint16_t totalDataPackets;
uint8_t totalParityPackets; uint16_t totalParityPackets;
uint8_t receivedDataPackets; uint16_t receivedDataPackets;
uint8_t receivedParityPackets; uint16_t receivedParityPackets;
uint8_t fecPercentage; uint8_t fecPercentage;
uint8_t multiFecBlockIndex; uint8_t multiFecBlockIndex;
uint8_t multiFecBlockCount; uint8_t multiFecBlockCount;