Fix surface sizing with scaling disabled on the CPU decoder

This commit is contained in:
Cameron Gutman 2014-08-05 23:16:02 -07:00
parent f892db6ee8
commit 8887401644
2 changed files with 9 additions and 1 deletions

View File

@ -610,9 +610,13 @@ public class Game extends Activity implements SurfaceHolder.Callback, OnGenericM
// Resize the surface to match the aspect ratio of the video
// This must be done after the surface is created.
if (!stretchToFit) {
if (!stretchToFit && decoderRenderer.isHardwareAccelerated()) {
resizeSurfaceWithAspectRatio((SurfaceView) findViewById(R.id.surfaceView), width, height);
}
else if (!decoderRenderer.isHardwareAccelerated()) {
// Make sure the surface is the correct size since we render directly to it
holder.setFixedSize(width, height);
}
conn.start(PlatformBinding.getDeviceName(), holder, drFlags,
PlatformBinding.getAudioRenderer(), decoderRenderer);

View File

@ -26,6 +26,10 @@ public class ConfigurableDecoderRenderer implements VideoDecoderRenderer {
}
return decoderRenderer.setup(width, height, redrawRate, renderTarget, drFlags);
}
public boolean isHardwareAccelerated() {
return (decoderRenderer instanceof MediaCodecDecoderRenderer);
}
@Override
public boolean start(VideoDepacketizer depacketizer) {