From cf3204de715cd81c8224f60c011afbf280d2c126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E5=AE=AB=E8=8C=9C?= Date: Tue, 21 Jan 2025 16:57:44 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E8=A7=A6=E5=8F=91=20NPE=20=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ZLMediaKit 回应中可能没有 tracks 字段,导致报 NPE,使得资源没有被正确释放 --- src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java b/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java index c4a0615b..7f2f3612 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java +++ b/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java @@ -10,6 +10,8 @@ import lombok.Data; import java.util.List; import java.util.Map; +import org.springframework.util.ObjectUtils; + /** * 视频信息 */ @@ -106,7 +108,7 @@ public class MediaInfo { } } JSONArray jsonArray = jsonObject.getJSONArray("tracks"); - if (!jsonArray.isEmpty()) { + if (!ObjectUtils.isEmpty(jsonArray)) { for (int i = 0; i < jsonArray.size(); i++) { JSONObject trackJson = jsonArray.getJSONObject(i); Integer channels = trackJson.getInteger("channels"); From 3553c2911cac6d40e0c91d7576eb2931beabdd0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E5=AE=AB=E8=8C=9C?= Date: Tue, 21 Jan 2025 17:11:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=94=B6=E5=88=B0=20Bye?= =?UTF-8?q?=20=E6=97=B6=E8=A7=A6=E5=8F=91=E7=9A=84=E4=B8=80=E4=B8=AA=20NPE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java b/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java index 7f2f3612..63064f86 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java +++ b/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java @@ -84,6 +84,8 @@ public class MediaInfo { Long bytesSpeed = jsonObject.getLong("bytesSpeed"); if (totalReaderCount != null) { mediaInfo.setReaderCount(totalReaderCount); + } else { + mediaInfo.setReaderCount(0); } if (online != null) { mediaInfo.setOnline(online);