From 185df1735adaf6cf1abfbeb71f371904ee86745a Mon Sep 17 00:00:00 2001 From: denny Date: Mon, 9 Feb 2026 02:50:28 -0500 Subject: [PATCH] #2356 Muted audio channel can leak audio --- .../github/dsheirer/audio/playback/AudioChannel.java | 11 ++++++++++- .../module/decode/p25/phase1/P25P1MessageFramer.java | 10 +--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/io/github/dsheirer/audio/playback/AudioChannel.java b/src/main/java/io/github/dsheirer/audio/playback/AudioChannel.java index dfcb6666..ab2618a3 100644 --- a/src/main/java/io/github/dsheirer/audio/playback/AudioChannel.java +++ b/src/main/java/io/github/dsheirer/audio/playback/AudioChannel.java @@ -170,7 +170,16 @@ public class AudioChannel implements Listener { if(mAudioBuffer.isFull()) { - return mAudioBuffer.get(); + float[] audio = mAudioBuffer.get(); + + if(isMuted()) + { + return new float[SAMPLES_PER_INTERVAL]; + } + else + { + return audio; + } } if(mCurrentAudioSegment == null) diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java index 8e361b01..f6df42af 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2025 Dennis Sheirer + * Copyright (C) 2014-2026 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -75,7 +75,6 @@ public class P25P1MessageFramer private int mDetectedSyncBitErrors = 0; private final P25P1ChannelStatusProcessor mChannelStatusProcessor = new P25P1ChannelStatusProcessor(); private PDUSequence mPDUSequence; - private int mDebugSymbolCount = 0; /** * Constructs an instance @@ -123,11 +122,6 @@ public class P25P1MessageFramer */ public void syncDetected() { - if(mDebugSymbolCount > 2204767) - { - int a = 0; - } - mSyncDetected = true; mNIDPointer = 0; } @@ -687,7 +681,6 @@ public class P25P1MessageFramer */ private void broadcast(IMessage message) { -// System.out.println("Symbols: " + mDebugSymbolCount); if(mRunning && message != null && mMessageListener != null) { mMessageListener.receive(message); @@ -845,7 +838,6 @@ public class P25P1MessageFramer //flag it as invalid NID when this happens. The NAC tracker will give us a value of 0 until it has enough //observations of a valid NID value. mNACTracker.track(nac); -// System.out.println("\t\t" + mDebugSymbolCount + " VALID NID - NAC:" + nac + " DUID:" + duid); nidDetected(nac, duid, nid.getCorrectedBitCount()); return true; }