From 69f1f84f246e7822439bb2aa8c38add059647c7b Mon Sep 17 00:00:00 2001 From: xiaowusky Date: Mon, 11 Dec 2023 17:13:18 +0800 Subject: [PATCH] =?UTF-8?q?desc:=E7=A6=BB=E5=BC=80=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=EF=BC=8C=E5=81=9C=E6=AD=A2=E8=A7=86=E9=A2=91=E5=89=8D=E5=8F=B0?= =?UTF-8?q?=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/easydarwin/video/Client.java | 6 +++++- .../org/easydarwin/video/EasyPlayerClient.java | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/library-rtsp/src/main/java/org/easydarwin/video/Client.java b/library-rtsp/src/main/java/org/easydarwin/video/Client.java index 421ca23..e0e99c7 100644 --- a/library-rtsp/src/main/java/org/easydarwin/video/Client.java +++ b/library-rtsp/src/main/java/org/easydarwin/video/Client.java @@ -370,7 +370,11 @@ public class Client implements Closeable { paused = 1; Log.i(TAG, "pause:=" + 1); - h.postDelayed(closeTask, 10000); +// h.postDelayed(closeTask, 10000); + } + + public boolean isPaused() { + return paused > 0; } public void resume() { diff --git a/library-rtsp/src/main/java/org/easydarwin/video/EasyPlayerClient.java b/library-rtsp/src/main/java/org/easydarwin/video/EasyPlayerClient.java index cba70ca..b44f7e8 100644 --- a/library-rtsp/src/main/java/org/easydarwin/video/EasyPlayerClient.java +++ b/library-rtsp/src/main/java/org/easydarwin/video/EasyPlayerClient.java @@ -972,17 +972,19 @@ public class EasyPlayerClient implements Client.SourceCallBack { System.arraycopy(in, 0, nv12Data, 0, in.length); // nv12 i420callback.onI420Data(nv12Data); - // yuvuv_to_yuv - JNIUtil.yuvConvert(in, realWidth, realHeight, 4); + if (!mClient.isPaused()) { + // yuvuv_to_yuv + JNIUtil.yuvConvert(in, realWidth, realHeight, 4); // // 旋转90或180或270度 // yuvRotate(in, 0, realWidth, realHeight, 90); - if (displayTmp == null) { - displayTmp = ByteBuffer.allocateDirect(realWidth * realHeight * 3 / 2); + if (displayTmp == null) { + displayTmp = ByteBuffer.allocateDirect(realWidth * realHeight * 3 / 2); + } + displayTmp.clear(); + displayTmp.put(in); + // 旋转90或270度,则宽高需要互换 + displayer.decoder_decodeBuffer(displayTmp, realWidth, realHeight); } - displayTmp.clear(); - displayTmp.put(in); - // 旋转90或270度,则宽高需要互换 - displayer.decoder_decodeBuffer(displayTmp, realWidth, realHeight); } else { mIndex = 0; }