mirror of
https://github.com/moonlight-stream/moonlight-common-c.git
synced 2025-08-18 01:15:46 +00:00
Fix IDR frame dropping race condition which seems to occur frequently with GFE 3.17
This commit is contained in:
parent
9360adb39a
commit
a653f4d3e0
@ -582,9 +582,18 @@ void processRtpPayload(PNV_VIDEO_PACKET videoPacket, int length, unsigned long l
|
||||
// depacketizer will next try to process a non-SOF packet,
|
||||
// and cause it to assert.
|
||||
if (dropStatePending) {
|
||||
if (nalChainHead && nalChainHead->bufferType != BUFFER_TYPE_PICDATA) {
|
||||
// Don't drop the frame state if this frame is an IDR frame itself,
|
||||
// otherwise we'll lose this IDR frame without another in flight
|
||||
// and have to wait until we hit our consecutive drop limit to
|
||||
// request a new one (potentially several seconds).
|
||||
dropStatePending = 0;
|
||||
}
|
||||
else {
|
||||
dropFrameState();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
reassembleFrame(frameIndex);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user