From d343b71cd89f59a87e85c46ce7a04d47c357462d Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 25 七月 2017 15:46:45 +0800
Subject: [PATCH] 

---
 RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp b/RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp
index ac3c141..099ff6b 100644
--- a/RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp
+++ b/RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp
@@ -172,8 +172,11 @@
 void PL_AndroidMediaCodecDecoder::finit()
 {
 	PL_AMCD_Internal* in = (PL_AMCD_Internal*)internal;
-	//todo release codec
-	// call AMediaCodec_stop
+
+	AMediaCodec_stop(in->codec);
+	AMediaCodec_delete(in->codec);
+
+	in->reset();
 }
 
 bool PL_AndroidMediaCodecDecoder::pay(const PipeMaterial& pm)
@@ -340,7 +343,11 @@
                 in->lastMbfBuffer.buffSize = in->buffSize;
                 in->lastMbfBuffer.width = in->config.ak_width;
                 in->lastMbfBuffer.height = in->config.ak_height;
-                microseconds_to_timeval(info.presentationTimeUs, in->lastMbfBuffer.pts);
+
+				if (in->config.ptsUseAbsoluteTime)
+					gettimeofday(&(in->lastMbfBuffer.pts), nullptr);
+				else
+					microseconds_to_timeval(info.presentationTimeUs, in->lastMbfBuffer.pts);
 
                 //if (in->lastMbfBuffer.buffSize > 10)
 				//{

--
Gitblit v1.8.0