mirror of
https://github.com/moonlight-stream/moonlight-common-c.git
synced 2026-04-03 06:16:04 +00:00
Report frames to the control stream code before FEC reconstruction
This commit is contained in:
@@ -282,6 +282,8 @@ void connectionReceivedCompleteFrame(int frameIndex) {
|
||||
}
|
||||
|
||||
void connectionSawFrame(int frameIndex) {
|
||||
LC_ASSERT(!isBefore16(frameIndex, lastSeenFrame));
|
||||
|
||||
uint64_t now = PltGetMillis();
|
||||
if (now - intervalStartTimeMs >= CONN_STATUS_SAMPLE_PERIOD) {
|
||||
if (intervalTotalFrameCount != 0) {
|
||||
|
||||
@@ -433,7 +433,11 @@ int RtpfAddPacket(PRTP_FEC_QUEUE queue, PRTP_PACKET packet, int length, PRTPFEC_
|
||||
}
|
||||
|
||||
queue->currentFrameNumber = nvPacket->frameIndex;
|
||||
|
||||
|
||||
// Tell the control stream logic about this frame, even if we don't end up
|
||||
// being able to reconstruct a full frame from it.
|
||||
connectionSawFrame(queue->currentFrameNumber);
|
||||
|
||||
// Discard any unsubmitted buffers from the previous frame
|
||||
while (queue->bufferHead != NULL) {
|
||||
PRTPFEC_QUEUE_ENTRY entry = queue->bufferHead;
|
||||
|
||||
@@ -530,9 +530,6 @@ static void processRtpPayload(PNV_VIDEO_PACKET videoPacket, int length,
|
||||
dropFrameState();
|
||||
return;
|
||||
}
|
||||
|
||||
// Notify the listener of the latest frame we've seen from the PC
|
||||
connectionSawFrame(frameIndex);
|
||||
|
||||
// Verify that we didn't receive an incomplete frame
|
||||
LC_ASSERT(firstPacket ^ decodingFrame);
|
||||
|
||||
Reference in New Issue
Block a user