Add method for getting video decoder name

This commit is contained in:
Cameron Gutman 2014-11-21 11:08:35 -08:00
parent 80c17b4913
commit 8eca3683c9
4 changed files with 33 additions and 6 deletions

View File

@ -18,7 +18,7 @@ import com.limelight.nvstream.av.video.VideoDepacketizer;
import com.limelight.nvstream.av.video.cpu.AvcDecoder;
@SuppressWarnings("EmptyCatchBlock")
public class AndroidCpuDecoderRenderer implements VideoDecoderRenderer {
public class AndroidCpuDecoderRenderer extends EnhancedDecoderRenderer {
private Thread rendererThread, decoderThread;
private int targetFps;
@ -278,4 +278,9 @@ public class AndroidCpuDecoderRenderer implements VideoDecoderRenderer {
}
return (int)(totalTimeMs / totalFrames);
}
@Override
public String getDecoderName() {
return "CPU decoding";
}
}

View File

@ -3,9 +3,9 @@ package com.limelight.binding.video;
import com.limelight.nvstream.av.video.VideoDecoderRenderer;
import com.limelight.nvstream.av.video.VideoDepacketizer;
public class ConfigurableDecoderRenderer implements VideoDecoderRenderer {
public class ConfigurableDecoderRenderer extends EnhancedDecoderRenderer {
private VideoDecoderRenderer decoderRenderer;
private EnhancedDecoderRenderer decoderRenderer;
@Override
public void release() {
@ -74,4 +74,14 @@ public class ConfigurableDecoderRenderer implements VideoDecoderRenderer {
return 0;
}
}
@Override
public String getDecoderName() {
if (decoderRenderer != null) {
return decoderRenderer.getDecoderName();
}
else {
return null;
}
}
}

View File

@ -0,0 +1,7 @@
package com.limelight.binding.video;
import com.limelight.nvstream.av.video.VideoDecoderRenderer;
public abstract class EnhancedDecoderRenderer implements VideoDecoderRenderer {
public abstract String getDecoderName();
}

View File

@ -23,7 +23,7 @@ import android.os.Build;
import android.view.SurfaceHolder;
@SuppressWarnings("unused")
public class MediaCodecDecoderRenderer implements VideoDecoderRenderer {
public class MediaCodecDecoderRenderer extends EnhancedDecoderRenderer {
private ByteBuffer[] videoDecoderInputBuffers;
private MediaCodec videoDecoder;
@ -478,7 +478,12 @@ public class MediaCodecDecoderRenderer implements VideoDecoderRenderer {
return (int)(totalTimeMs / totalFrames);
}
public class RendererException extends RuntimeException {
@Override
public String getDecoderName() {
return decoderName;
}
public class RendererException extends RuntimeException {
private static final long serialVersionUID = 8985937536997012406L;
private Exception originalException;