Plumb setHdrMode callback into MediaCodecDecoderRenderer

This commit is contained in:
Cameron Gutman
2022-02-12 14:31:25 -06:00
parent 4b2e26050e
commit 7552181e24
7 changed files with 35 additions and 1 deletions

View File

@@ -1792,6 +1792,12 @@ public class Game extends Activity implements SurfaceHolder.Callback,
controllerHandler.handleRumble(controllerNumber, lowFreqMotor, highFreqMotor);
}
@Override
public void setHdrMode(boolean enabled) {
LimeLog.info("Display HDR mode: " + (enabled ? "enabled" : "disabled"));
decoderRenderer.setHdrMode(enabled);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
if (!surfaceCreated) {

View File

@@ -565,6 +565,11 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
videoDecoder.release();
}
@Override
public void setHdrMode(boolean enabled) {
// TODO: Set HDR metadata?
}
private boolean queueInputBuffer(int inputBufferIndex, int offset, int length, long timestampUs, int codecFlags) {
try {
videoDecoder.queueInputBuffer(inputBufferIndex,

View File

@@ -13,4 +13,6 @@ public interface NvConnectionListener {
void displayTransientMessage(String message);
void rumble(short controllerNumber, short lowFreqMotor, short highFreqMotor);
void setHdrMode(boolean enabled);
}

View File

@@ -15,4 +15,6 @@ public abstract class VideoDecoderRenderer {
public abstract void cleanup();
public abstract int getCapabilities();
public abstract void setHdrMode(boolean enabled);
}

View File

@@ -240,6 +240,12 @@ public class MoonBridge {
}
}
public static void bridgeClSetHdrMode(boolean enabled) {
if (connectionListener != null) {
connectionListener.setHdrMode(enabled);
}
}
public static void setupBridge(VideoDecoderRenderer videoRenderer, AudioRenderer audioRenderer, NvConnectionListener connectionListener) {
MoonBridge.videoRenderer = videoRenderer;
MoonBridge.audioRenderer = audioRenderer;