mirror of
https://github.com/moonlight-stream/moonlight-android.git
synced 2025-07-22 12:33:02 +00:00
49 lines
1.2 KiB
Java
49 lines
1.2 KiB
Java
package com.limelight.binding.video;
|
|
|
|
import com.limelight.nvstream.av.DecodeUnit;
|
|
import com.limelight.nvstream.av.video.VideoDecoderRenderer;
|
|
|
|
public class ConfigurableDecoderRenderer implements VideoDecoderRenderer {
|
|
|
|
private VideoDecoderRenderer decoderRenderer;
|
|
|
|
@Override
|
|
public void release() {
|
|
decoderRenderer.release();
|
|
}
|
|
|
|
@Override
|
|
public void setup(int width, int height, int redrawRate, Object renderTarget, int drFlags) {
|
|
if ((drFlags & VideoDecoderRenderer.FLAG_FORCE_HARDWARE_DECODING) != 0 ||
|
|
((drFlags & VideoDecoderRenderer.FLAG_FORCE_SOFTWARE_DECODING) == 0 &&
|
|
MediaCodecDecoderRenderer.findSafeDecoder() != null)) {
|
|
decoderRenderer = new MediaCodecDecoderRenderer();
|
|
}
|
|
else {
|
|
decoderRenderer = new AndroidCpuDecoderRenderer();
|
|
}
|
|
decoderRenderer.setup(width, height, redrawRate, renderTarget, drFlags);
|
|
}
|
|
|
|
@Override
|
|
public void start() {
|
|
decoderRenderer.start();
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
decoderRenderer.stop();
|
|
}
|
|
|
|
@Override
|
|
public boolean submitDecodeUnit(DecodeUnit du) {
|
|
return decoderRenderer.submitDecodeUnit(du);
|
|
}
|
|
|
|
@Override
|
|
public int getCapabilities() {
|
|
return decoderRenderer.getCapabilities();
|
|
}
|
|
|
|
}
|