Stop the decoder in the stop() function

This commit is contained in:
Cameron Gutman 2014-09-03 20:40:43 -07:00
parent 178c53ee84
commit c02e1ed006

View File

@ -163,9 +163,6 @@ public class MediaCodecDecoderRenderer implements VideoDecoderRenderer {
MediaFormat videoFormat = MediaFormat.createVideoFormat("video/avc", width, height);
videoDecoder.configure(videoFormat, ((SurfaceHolder)renderTarget).getSurface(), null, 0);
videoDecoder.setVideoScalingMode(MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT);
videoDecoder.start();
videoDecoderInputBuffers = videoDecoder.getInputBuffers();
LimeLog.info("Using hardware decoding");
@ -241,17 +238,26 @@ public class MediaCodecDecoderRenderer implements VideoDecoderRenderer {
@Override
public boolean start(VideoDepacketizer depacketizer) {
this.depacketizer = depacketizer;
// Start the decoder
videoDecoder.start();
videoDecoderInputBuffers = videoDecoder.getInputBuffers();
// Start the rendering thread
startRendererThread();
return true;
}
@Override
public void stop() {
// Halt the rendering thread
rendererThread.interrupt();
try {
rendererThread.join();
} catch (InterruptedException e) { }
// Stop the decoder
videoDecoder.stop();
}
@Override