Fix flags so bitrate scales up properly on GFE 2.2.2

This commit is contained in:
Cameron Gutman 2015-01-22 14:51:28 -05:00
parent 79ddfc65d5
commit 52e5817327

View File

@ -47,37 +47,31 @@ public class SdpGenerator {
addSessionAttribute(config, "x-nv-video[0].timeoutLengthMs", "7000"); addSessionAttribute(config, "x-nv-video[0].timeoutLengthMs", "7000");
addSessionAttribute(config, "x-nv-video[0].framesWithInvalidRefThreshold", "0"); addSessionAttribute(config, "x-nv-video[0].framesWithInvalidRefThreshold", "0");
// Adding 100 causes the stream to start at a lower resolution addSessionAttribute(config, "x-nv-vqos[0].bw.flags", "51");
/*if (sc.getAdaptiveResolutionEnabled()) {
addSessionAttribute(config, "x-nv-vqos[0].bw.flags", "3895");
}
else*/ {
addSessionAttribute(config, "x-nv-vqos[0].bw.flags", "3895");
// Lock the bitrate if we're not scaling resolution so the picture doesn't get too bad // Lock the bitrate if we're not scaling resolution so the picture doesn't get too bad
if (sc.getHeight() >= 1080 && sc.getRefreshRate() >= 60) { if (sc.getHeight() >= 1080 && sc.getRefreshRate() >= 60) {
if (sc.getBitrate() < 10000) { if (sc.getBitrate() < 10000) {
addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", ""+sc.getBitrate()); addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", ""+sc.getBitrate());
}
else {
addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", "10000");
}
}
else if (sc.getHeight() >= 1080 || sc.getRefreshRate() >= 60) {
if (sc.getBitrate() < 7000) {
addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", ""+sc.getBitrate());
}
else {
addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", "7000");
}
} }
else { else {
if (sc.getBitrate() < 3000) { addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", "10000");
addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", ""+sc.getBitrate()); }
} }
else { else if (sc.getHeight() >= 1080 || sc.getRefreshRate() >= 60) {
addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", "3000"); if (sc.getBitrate() < 7000) {
} addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", ""+sc.getBitrate());
}
else {
addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", "7000");
}
}
else {
if (sc.getBitrate() < 3000) {
addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", ""+sc.getBitrate());
}
else {
addSessionAttribute(config, "x-nv-vqos[0].bw.minimumBitrate", "3000");
} }
} }