diff --git a/src/main/java/io/github/dsheirer/audio/broadcast/StreamManager.java b/src/main/java/io/github/dsheirer/audio/broadcast/StreamManager.java index e73071e0..39a27b9d 100644 --- a/src/main/java/io/github/dsheirer/audio/broadcast/StreamManager.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/StreamManager.java @@ -1,21 +1,23 @@ /* - * ****************************************************************************** - * sdrtrunk - * Copyright (C) 2014-2018 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 - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2019 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 + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * ***************************************************************************** */ package io.github.dsheirer.audio.broadcast; @@ -200,7 +202,16 @@ public class StreamManager implements Listener { StringBuilder sb = new StringBuilder(); sb.append(BroadcastModel.TEMPORARY_STREAM_FILE_SUFFIX); - sb.append(sNextRecordingNumber.incrementAndGet()).append("_"); + + int recordingNumber = sNextRecordingNumber.incrementAndGet(); + + //Check for integer overflow and readjust negative value to 0 + if(recordingNumber < 0) + { + sNextRecordingNumber.set(0); + recordingNumber = sNextRecordingNumber.incrementAndGet(); + } + sb.append(recordingNumber).append("_"); sb.append(TimeStamp.getLongTimeStamp("_")); sb.append(mBroadcastFormat.getFileExtension()); diff --git a/src/main/java/io/github/dsheirer/audio/squelch/SquelchStateEvent.java b/src/main/java/io/github/dsheirer/audio/squelch/SquelchStateEvent.java index e96c6284..1320f8d8 100644 --- a/src/main/java/io/github/dsheirer/audio/squelch/SquelchStateEvent.java +++ b/src/main/java/io/github/dsheirer/audio/squelch/SquelchStateEvent.java @@ -69,4 +69,11 @@ public class SquelchStateEvent { return new SquelchStateEvent(squelchState, timeslot); } + + public String toString() + { + StringBuilder sb = new StringBuilder(); + sb.append("Squelch Event - State:").append(mSquelchState).append(" Timeslot:").append(mTimeslot); + return sb.toString(); + } } diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/audio/P25P2AudioModule.java b/src/main/java/io/github/dsheirer/module/decode/p25/audio/P25P2AudioModule.java index a55efe32..ce70679a 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/audio/P25P2AudioModule.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/audio/P25P2AudioModule.java @@ -60,6 +60,7 @@ public class P25P2AudioModule extends AmbeAudioModule implements IdentifierUpdat private static final String METADATA_TYPE_CALL_PROGRESS = "CALL PROGRESS"; private Listener mIdentifierUpdateNotificationListener; + private SquelchStateListener mSquelchStateListener = new SquelchStateListener(); private MetadataProcessor mDtmfMetadataProcessor; private MetadataProcessor mKnoxMetadataProcessor; private MetadataProcessor mToneMetadataProcessor; @@ -84,7 +85,7 @@ public class P25P2AudioModule extends AmbeAudioModule implements IdentifierUpdat @Override public Listener getSquelchStateListener() { - return null; + return mSquelchStateListener; } @Override