and constraints on scheduled thread pool saturation. Adds a new
scheduled thread pool for each processing chain that the components in
the chain can share, versus the single shared pool exposed by the
threadpoolmanager class.
the NID crc check but uses an unrecognized data unit id, it will now be
broadcast as NID:UNKN, but allows for detection of new DUID types when
we have a large number of occurances of unknonwn duid types.
saturation.
Each tunerchannelsource was sharing a thread pool and as the processing
load increased, the thread pool was not expanding and the processing
tasks were backing up, causing the buffers to grow with unprocessed
data.
Changed so that each tuner channel source is handed a thread pool to use
for processing incoming sample data. Processing chain maintains the
thread pool and starts the channel source. This allows traffic channels
to reuse the thread pool across multiple iterations.
chain has a message broadcaster built in, so the decoder's broadcaster
is redundant. Changes Decoder(s) to only have a single registered
message listener (ie processing chain)
-Removed channel collection panel since panels will only have 1 channel
now
-Resolved issue with channel list and channel selection events
-Fixed some of the classes from the rebase to master branch
channels upon loading the playlist.
Processing manager now detects channel configuration changes and
restarts the channel if it is currently processing.
Channel editor enable button now shows green if it is processing, or
default when not processing.
functionality so that the editor starts up without a channel displayed
and as each channel row is selected in the channels table, the editor is
updated with the channel configuration.
Likewise, the channel editor is now a channel event listener on the
channel model and will maintain channel state if the user changes
channel configuration in any of the external channel controllers like
the spectral display or the channel list.
-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