Send final FEC frame status info to Sunshine

This info will be used for dynamic FEC and dynamic video packet batch size.
This commit is contained in:
Cameron Gutman
2023-02-20 16:24:48 -06:00
parent 82105f2f8f
commit 207f981fd0
4 changed files with 105 additions and 13 deletions

View File

@@ -36,9 +36,26 @@ typedef struct _RTP_PACKET {
uint32_t ssrc;
} RTP_PACKET, *PRTP_PACKET;
// Fields are big-endian
typedef struct _SS_PING {
char payload[16];
uint32_t sequenceNumber;
} SS_PING, *PSS_PING;
// Fields are big-endian
#define SS_FRAME_FEC_PTYPE 0x5501
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;
uint8_t fecPercentage;
uint8_t multiFecBlockIndex;
uint8_t multiFecBlockCount;
} SS_FRAME_FEC_STATUS, *PSS_FRAME_FEC_STATUS;
#pragma pack(pop)