mirror of
https://github.com/moonlight-stream/moonlight-android.git
synced 2025-07-19 19:13:03 +00:00
Add the ability for clients to reduce bitrate when HEVC is used
This commit is contained in:
parent
1f504288cb
commit
d237ceb1df
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
@ -382,6 +382,7 @@ Java_com_limelight_nvstream_jni_MoonBridge_startConnection(JNIEnv *env, jobject
|
||||
jint width, jint height, jint fps,
|
||||
jint bitrate, jint packetSize, jboolean streamingRemotely,
|
||||
jint audioConfiguration, jboolean supportsHevc,
|
||||
jint hevcBitratePercentageMultiplier,
|
||||
jbyteArray riAesKey, jbyteArray riAesIv,
|
||||
jint videoCapabilities) {
|
||||
SERVER_INFORMATION serverInfo = {
|
||||
@ -398,6 +399,7 @@ Java_com_limelight_nvstream_jni_MoonBridge_startConnection(JNIEnv *env, jobject
|
||||
.streamingRemotely = streamingRemotely,
|
||||
.audioConfiguration = audioConfiguration,
|
||||
.supportsHevc = supportsHevc,
|
||||
.hevcBitratePercentageMultiplier = hevcBitratePercentageMultiplier,
|
||||
};
|
||||
|
||||
jbyte* riAesKeyBuf = (*env)->GetByteArrayElements(env, riAesKey, NULL);
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 957b1de1ad2a0beea442aeecd943ff6caa25df30
|
||||
Subproject commit c0596ad1df9828d5ede020681317494405188821
|
Loading…
x
Reference in New Issue
Block a user