diff --git a/moonlight-common/src/com/limelight/nvstream/rtsp/SdpGenerator.java b/moonlight-common/src/com/limelight/nvstream/rtsp/SdpGenerator.java index 054ec715..33c792fa 100644 --- a/moonlight-common/src/com/limelight/nvstream/rtsp/SdpGenerator.java +++ b/moonlight-common/src/com/limelight/nvstream/rtsp/SdpGenerator.java @@ -100,12 +100,11 @@ public class SdpGenerator { addSessionAttribute(config, "x-nv-vqos[0].bw.maximumBitrate", ""+sc.getBitrate()); - // Since we can only deal with FEC data on a 1 packet frame, - // restrict FEC repair percentage to minimum so we get only 1 - // FEC packet per frame - addSessionAttribute(config, "x-nv-vqos[0].fec.repairPercent", "1"); - addSessionAttribute(config, "x-nv-vqos[0].fec.repairMaxPercent", "1"); - addSessionAttribute(config, "x-nv-vqos[0].fec.repairMinPercent", "1"); + // Using FEC turns padding on which makes us have to take the slow path + // in the depacketizer, not to mention exposing some ambiguous cases with + // distinguishing padding from valid sequences. Since we can only perform + // execute an FEC recovery on a 1 packet frame, we'll just turn it off completely. + addSessionAttribute(config, "x-nv-vqos[0].fec.enable", "0"); addSessionAttribute(config, "x-nv-vqos[0].videoQualityScoreUpdateTime", "5000"); addSessionAttribute(config, "x-nv-vqos[0].qosTrafficType", "5");