From 9143994588db7704ca659cb0ffdc277bd11e41fe Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 11 Nov 2014 19:02:20 -0800 Subject: [PATCH] Disable FEC as in Java common --- limelight-common/SdpGenerator.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/limelight-common/SdpGenerator.c b/limelight-common/SdpGenerator.c index 302eb8f..4e73d8f 100644 --- a/limelight-common/SdpGenerator.c +++ b/limelight-common/SdpGenerator.c @@ -145,13 +145,11 @@ static PSDP_OPTION getAttributesList(PSTREAM_CONFIGURATION streamConfig, struct sprintf(payloadStr, "%d", streamConfig->bitrate); err |= addAttributeString(&optionHead, "x-nv-vqos[0].bw.maximumBitrate", payloadStr); - // 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 - err |= addAttributeString(&optionHead, "x-nv-vqos[0].fec.enable", "1"); - err |= addAttributeString(&optionHead, "x-nv-vqos[0].fec.repairPercent", "1"); - err |= addAttributeString(&optionHead, "x-nv-vqos[0].fec.repairMaxPercent", "1"); - err |= addAttributeString(&optionHead, "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. + err |= addAttributeString(&optionHead, "x-nv-vqos[0].fec.enable", "0"); err |= addAttributeString(&optionHead, "x-nv-vqos[0].videoQualityScoreUpdateTime", "5000"); err |= addAttributeString(&optionHead, "x-nv-vqos[0].qosTrafficType", "5");