-Started work on new channel editor channel viewer/controller
-Removed a number of unused buffer package classes
-Moved automatic frequency control to be a module and removed special
handling
-Added IUnfilteredRealBufferListener & Provider interfaces
-Completely removed the ResourceManager class
AudioManager connection class monitoring of the playback state. Adds a
line listener to monitor when the line is started/stopped and responds
accordingly.
Removes squelch control from mono and stereo audio playback components
which was a holdover -- squelch state is now managed within the
audio component for each processing chain.
with TO/FROM identifiers displayed, but no audio playing. This occurred
when the decoder sent a few audio buffers which caused the display to
update from the metadata, however the decoder stopped sending buffers
and the audio start threshold is never met. Clear display is invoked
upon audio stop, so the panel was never started or stopped or cleared
until the next call came in.
Changed to store the incoming metadata and only display it once the
audio playback starts and reset the display once the audio stops.
state enumeration is designed to block these attempts which can occur
when a non-standard call sequence of events occurs, normally due to
intermittent decoding.
starting/stopping the monitor for each call to simply leaving the
monitor task running continuously. Was causing issue with scheduled
thread executor not shutting down the task in a timely manner -- new
approach should avoid start/stop related issues altogether.
Updates P25DecoderState with reordering of timing of when we send
updates for the TO/FROM identifiers so that the audio manager receives
up-to-date metadata and hopefully resolves issue with 'Do Not Monitor'
talkgroups being monitored by the audio manager.
Updates the AudioManager with a try/catch block around the processing
task so that we can catch any audio processing exceptions that occur
during the timer task and might get suppressed by the scheduled thread
executor.
Resolves issue in tuner controller where controller was not releasing
sourced tuner channels, preventing re-tuning to other frequencies.
Resolves issue with channel timeout on MPT1327 monitored traffic
channels
Redesigned audio manager handling of audio outputs to ensure that only
one channel's audio can be routed to an audio output at a time.
Changed audio outputs to use the shared thread pool manager for
scheduled tasks, instead of creating a thread pool for each audio
output.
while the buffer processor thread is running.
Added check for 0 space available in data line buffers to avoid trying
to write a zero-length audio chunk to the data line.
Added thread sleep for 100 milliseconds when we detect that the data
line buffer is full, to allow time for the data line to drain before we
check it again. Hopefully this should minimize the chattering during
playback when the code was repeatedly hitting the available() method to
check for space availability.
-Adds new LoJack AliasID allowing user to specify a lojack function and
5-character reply code with wildcards.
-Removes SiteID as an alias option for LoJack.
Valid Alias IDs for LoJack now are:
-LoJack Alias ID: for function and reply code combinations
-ESN ID: for transponder addresses