From e05ee6dfc8ed31b4f5cb9c0cc38f11bbdcb63def Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 19 Aug 2023 11:37:44 -0500 Subject: [PATCH] Change FEC status message to avoid truncating large frames --- src/RtpVideoQueue.c | 10 +++++----- src/Video.h | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/RtpVideoQueue.c b/src/RtpVideoQueue.c index 1423ca5..56d92e0 100644 --- a/src/RtpVideoQueue.c +++ b/src/RtpVideoQueue.c @@ -95,11 +95,11 @@ static void reportFinalFrameFecStatus(PRTP_VIDEO_QUEUE queue) { fecStatus.frameIndex = BE32(queue->currentFrameNumber); fecStatus.highestReceivedSequenceNumber = BE16(queue->receivedHighestSequenceNumber); fecStatus.nextContiguousSequenceNumber = BE16(queue->nextContiguousSequenceNumber); - fecStatus.missingPacketsBeforeHighestReceived = (uint8_t)queue->missingPackets; - fecStatus.totalDataPackets = (uint8_t)queue->bufferDataPackets; - fecStatus.totalParityPackets = (uint8_t)queue->bufferParityPackets; - fecStatus.receivedDataPackets = (uint8_t)queue->receivedDataPackets; - fecStatus.receivedParityPackets = (uint8_t)queue->receivedParityPackets; + fecStatus.missingPacketsBeforeHighestReceived = BE16(queue->missingPackets); + fecStatus.totalDataPackets = BE16(queue->bufferDataPackets); + fecStatus.totalParityPackets = BE16(queue->bufferParityPackets); + fecStatus.receivedDataPackets = BE16(queue->receivedDataPackets); + fecStatus.receivedParityPackets = BE16(queue->receivedParityPackets); fecStatus.fecPercentage = (uint8_t)queue->fecPercentage; fecStatus.multiFecBlockIndex = (uint8_t)queue->multiFecCurrentBlockNumber; fecStatus.multiFecBlockCount = (uint8_t)(queue->multiFecLastBlockNumber + 1); diff --git a/src/Video.h b/src/Video.h index c8c0883..34667b1 100644 --- a/src/Video.h +++ b/src/Video.h @@ -43,16 +43,16 @@ typedef struct _SS_PING { } SS_PING, *PSS_PING; // Fields are big-endian -#define SS_FRAME_FEC_PTYPE 0x5501 +#define SS_FRAME_FEC_PTYPE 0x5502 typedef struct _SS_FRAME_FEC_STATUS { uint32_t frameIndex; uint16_t highestReceivedSequenceNumber; uint16_t nextContiguousSequenceNumber; - uint8_t missingPacketsBeforeHighestReceived; - uint8_t totalDataPackets; - uint8_t totalParityPackets; - uint8_t receivedDataPackets; - uint8_t receivedParityPackets; + uint16_t missingPacketsBeforeHighestReceived; + uint16_t totalDataPackets; + uint16_t totalParityPackets; + uint16_t receivedDataPackets; + uint16_t receivedParityPackets; uint8_t fecPercentage; uint8_t multiFecBlockIndex; uint8_t multiFecBlockCount;