Add the ability for clients to reduce bitrate when HEVC is used

This commit is contained in:
Cameron Gutman
2017-09-25 21:38:43 -07:00
parent 1f504288cb
commit d237ceb1df
5 changed files with 17 additions and 2 deletions

View File

@@ -247,7 +247,9 @@ public class NvConnection {
context.negotiatedFps, context.streamConfig.getBitrate(),
context.streamConfig.getMaxPacketSize(),
context.streamConfig.getRemote(), context.streamConfig.getAudioConfiguration(),
context.streamConfig.getHevcSupported(), context.riKey.getEncoded(), ib.array(),
context.streamConfig.getHevcSupported(),
context.streamConfig.getHevcBitratePercentageMultiplier(),
context.riKey.getEncoded(), ib.array(),
context.videoCapabilities);
}
}

View File

@@ -25,6 +25,7 @@ public class StreamConfiguration {
private int audioChannelCount;
private int audioConfiguration;
private boolean supportsHevc;
private int hevcBitratePercentageMultiplier;
public static class Builder {
private StreamConfiguration config = new StreamConfiguration();
@@ -74,6 +75,11 @@ public class StreamConfiguration {
config.maxPacketSize = maxPacketSize;
return this;
}
public StreamConfiguration.Builder setHevcBitratePercentageMultiplier(int multiplier) {
config.hevcBitratePercentageMultiplier = multiplier;
return this;
}
public StreamConfiguration.Builder setAudioConfiguration(int audioConfig) {
if (audioConfig == MoonBridge.AUDIO_CONFIGURATION_STEREO) {
@@ -173,4 +179,8 @@ public class StreamConfiguration {
public boolean getHevcSupported() {
return supportsHevc;
}
public int getHevcBitratePercentageMultiplier() {
return hevcBitratePercentageMultiplier;
}
}

View File

@@ -160,6 +160,7 @@ public class MoonBridge {
int width, int height, int fps,
int bitrate, int packetSize, boolean streamingRemotely,
int audioConfiguration, boolean supportsHevc,
int hevcBitratePercentageMultiplier,
byte[] riAesKey, byte[] riAesIv,
int videoCapabilities);