diff --git a/src/VideoDepacketizer.c b/src/VideoDepacketizer.c index c98fb10..ca5905c 100644 --- a/src/VideoDepacketizer.c +++ b/src/VideoDepacketizer.c @@ -509,14 +509,21 @@ void processRtpPayload(PNV_VIDEO_PACKET videoPacket, int length) { // If this is the first packet, skip the frame header (if one exists) if (firstPacket){ if ((AppVersionQuad[0] > 7) || + (AppVersionQuad[0] == 7 && AppVersionQuad[1] > 1) || + (AppVersionQuad[0] == 7 && AppVersionQuad[1] == 1 && AppVersionQuad[2] >= 350)) { + // >= 7.1.350 should use the 8 byte header again + currentPos.offset += 8; + currentPos.length -= 8; + } + else if ((AppVersionQuad[0] > 7) || (AppVersionQuad[0] == 7 && AppVersionQuad[1] > 1) || (AppVersionQuad[0] == 7 && AppVersionQuad[1] == 1 && AppVersionQuad[2] >= 320)) { - // Anything over 7.1.320 should use the 12 byte frame header + // [7.1.320, 7.1.350) should use the 12 byte frame header currentPos.offset += 12; currentPos.length -= 12; } else if (AppVersionQuad[0] >= 5) { - // 5.x to 7.1.310 should use the 8 byte header + // [5.x, 7.1.320) should use the 8 byte header currentPos.offset += 8; currentPos.length -= 8; }