Denny
34dd2161ef
Resolves #176 - 2 issues:
...
A) streaming connection errors - detects errors and if currently connected, resets the connection.
B)duplicate calls being streamed - issue with comparison of broadcast channels allowed the same broadcast channel to be queued two or more times for the list of channels to stream a recording.
2017-02-10 17:05:28 -05:00
Denny
281be147f8
Resolves #166 - removes traffic channel timeout from traffic channel manager
2017-02-10 10:30:35 -05:00
Denny Sheirer
6afe5dcec9
Merge pull request #177 from DSheirer/master
...
165 - P25 Channel stops decoding
2017-02-10 14:47:33 +00:00
Denny
8db47c25bc
#165 - cleanup of logging and comments in TunerChannelSource
2017-02-10 09:45:32 -05:00
Denny
6a340050c6
#165 - cleanup of logging and comments in TunerChannelSource
2017-02-10 06:41:45 -05:00
Denny
183eb2f7c7
Resolves #165 - P25 decoding channel stops arbitrarily and never recovers.
...
Issue identified with Patch Group management and circular dependencies that can develop because of stale patch groups. Refactored all patch group management into a new PatchGroupManager. Patch groups are now automatically deleted if we don't receive any update messages within 5 seconds. The PatchGroupAlias was also updated to not roll-up attributes from subordinate patched group aliases when those aliases are also patch group aliases -- this eliminates the circular dependency chaining.
Added IOverflowListener interface and updated Sources to support overflow listeners. Updated ChannelState to register as an overflow listener so that it can visually depict to the user when the channel enters/exits source overflow state. Added new color pattern for OVERFLOW with yellow text on red.
2017-02-10 06:36:57 -05:00
Denny
767b302ed7
Adds additional unresolved address exception handler to metadata updater
2017-02-04 07:32:22 -05:00
Rachel Olivero
952d930b5b
Adds a screen reader accessible label to the mute button. Label toggles between mute and unmute to match the action that will be taken when the button is next pressed.
2017-02-03 10:19:52 -05:00
Denny
26087c465f
Adds additional unresolved address exception handler to metadata updater
2017-01-29 12:37:09 -05:00
Denny
74c15d530b
Resolves #164 - USB time out while processing buffer transfers. Decreases periodicity of processing the LibUsb timeout handler from 9 milliseconds to 5 milliseconds to reduce chance that buffers are not being serviced in time.
2017-01-29 11:02:12 -05:00
Denny
8215b78a43
Resolves #161 - E4000 tuner error. Tweaks settings in the USB transfer processor to improve latency in IQ buffer handling.
2017-01-29 09:07:48 -05:00
Denny
e6ab615931
Updates the overflowable queue to reduce thread contention on the queue size monitor
2017-01-29 06:26:12 -05:00
Denny
b3e493989e
Updates javadoc
2017-01-29 06:16:46 -05:00
Denny
50e838749d
Resovles #159 - adds UnresolvedHostException error in Icecast metadata updater.
2017-01-29 04:31:31 -05:00
Denny
a228f29a40
Resolves #154 - add right-click contextual channel menus for Now Playing table.
...
Also disables right-click channel activation from the spectral display as a clean-up action.
2017-01-28 20:41:46 -05:00
Denny
74aab2cc72
Expanded error message for when drivers are not installed on user machine for RTL2832.
2017-01-28 20:04:20 -05:00
Denny
7e4acc568c
Resolves #155 - adds usb endpoint clear halt when attempting to resubmit a transferred buffer that causes a usb pipe error.
2017-01-28 19:33:52 -05:00
Denny
960bf975d9
Resolves #155 - LIBUSB_PIPE_ERROR when trying to start R820T tuner
2017-01-28 17:33:59 -05:00
Denny
f7c144ca16
Resolves #151 - mpt1327 decoder configuration was not setting editor to modified on changes to traffic channel pool size or traffic channel timeout
2017-01-28 16:59:58 -05:00
Denny
78a4bfe915
Resolves #123 - adds channel details tab to display: System, Site and Channel name, and the complete Activity Summary
2017-01-28 16:47:44 -05:00
Denny
cd9bb5a84d
Resolves #111 - adds 'Maximum Age Limit' setting to each streaming configuration. Calls that sit in the streaming queue for too long will be aged off if their start time exceeds the delay time and maximum recording age limit. A new column is added to the streaming status table to reflect the number of calls that have been aged off. This would be an indicator to the user that they have too many talkgroups tagged to stream for a given channel and may want to change their settings to avoid age off. This mainly prevents excessive streaming queue build-up that might never get streamed and could potentially impact application memory usage.
2017-01-28 16:06:43 -05:00
Denny
2ec882a87f
Resolves #81 - adds priority, encrypted channel, session mode and call timer to P25 call events in the details column.
2017-01-28 14:46:38 -05:00
Denny
eba9367674
Resolves #140 issue with updating metadata on Icecast 2 servers where mountpoint was not URL encoded.
2017-01-28 11:15:27 -05:00
Denny
a0e0a5ddc0
Resolves #114 issue with event log entries missing single quotes around date and time values.
2017-01-28 10:55:46 -05:00
Denny
3283b66bdc
Resolves #112 issue with loading/discovering playlist V2 filename from the system properties. V2 playlist name is now hard-coded until a future enhancement that supports multiple user playlists.
2017-01-28 10:43:18 -05:00
Denny
5e46e22721
#141 - resolves issue with temporary streaming recordings being generated for aliases that contained broadcast stream channel identifiers, but when no streaming channels were enabled. Resolved second issue where a broadcast channel that is enabled and streaming on application startup then gets disabled by the user and subsequently (persistently) auto restarts and connects.
2017-01-28 10:35:12 -05:00
Denny
a302d098de
126 - Significant improvement in processor and memory utilization. Refactors all USB tuner sample processing with a new USBTransferProcessor class. LibUSB transfer timeout processing is now consolidated under the TunerManager and tuners register with this singleton to auto-start or auto-stop USB bulk transfer processing. Resolves long-standing issue impacting multi-tuner use where the second and subsequent tuners may have been routinely starved for LibUSB processing time under heavy-loading. All tuner buffer threaded processing is now handled as runnables in the scheduled thread pool, eliminating tuner-dedicated processing threads. Added tuner buffer size management to prevent memory blow-out when down-stream processing is either lagging or impacted by java garbage collection operations. Both tuners and individual DDC channels now have bounded sample buffer queues that automatically enter and exit overflow mode when predefined max/reset thresholds are met. When any queue goes into overflow mode, sample buffers are simply dropped in favor of preserving program/memory stability.
2017-01-28 09:08:11 -05:00
Denny
07933831d2
135 WIP - resolves issue with recording.
2017-01-25 21:04:28 -05:00
Denny
e2e00a98d5
135 WIP - updates to resolve issue with all audio being recorded, even when user has not elected to record the audio.
2017-01-24 21:14:16 -05:00
Denny
ea0e1b152f
Merge branch 'master' into 135-audio_recording_issue
2017-01-24 20:52:40 -05:00
Denny
afa451a070
#130 MPT-1327 Decoder Filter issue resolved. Converts the post-demodulation filter from a band pass filter to a low-pass filter with 60 dB attenuation and a cutoff of 3200 Hz. This is then followed by a high-pass filter at the decimated channel rate, internal to the decoder that performs DC removal and removes any CTCSS tones prior to the FSK decoder.
2017-01-24 20:49:12 -05:00
Denny
1786ffac47
#130 MPT-1327 Decoder Filter issue resolved. Converts the post-demodulation filter from a band pass filter to a low-pass filter with 60 dB attenuation and a cutoff of 3200 Hz. This is then followed by a high-pass filter at the decimated channel rate, internal to the decoder that performs DC removal and removes any CTCSS tones prior to the FSK decoder.
2017-01-24 20:26:57 -05:00
Denny
8a8fbc4936
#132 - adds enhanced streaming connection error handling. Adds specific handler for connection timeout to reset the connection.
2017-01-24 19:26:18 -05:00
Denny
48d3d7a8c1
#128-resolves issue with MPT1327 alias identifier editor preventing use of * wildcard characters.
2017-01-22 09:53:25 -05:00
Denny
3d644c2460
#108 - cleanup
2017-01-22 09:34:55 -05:00
Denny
6e94d9ce51
#108 [WIP] Created new ThreadPool class with a static ScheduledThreadExecutor that is now shared by all components. Removed ThreadPoolManager from all classes. Consolidating into 1 pool seems to have reduced CPU usage by ~15-20%. Overall memory usage is also reduced.
2017-01-22 09:33:47 -05:00
Denny
523ac0314e
Merge remote-tracking branch 'origin/master'
2017-01-22 07:29:33 -05:00
Denny
2168ed112e
#111 - import cleanup
2017-01-22 07:28:37 -05:00
Denny
2faaa93785
#111 resolves issue with probable thread contention on temporary streamed recording queue management that was causing processing thread backups and memory issues. Audio broadcaster was originally in this configuration but was changed to account for a potential issue where recordings could be streamed out of sequence if they occurred at the same time. Reverted queue type back to a more efficient FIFO linked transfer queue to minimize queue contention.
2017-01-22 07:20:24 -05:00
Denny
a57183c4cc
#90 - updated metadata and attributes to carry channel system/site/name values to support audio recording name generation. Updated always unsquelched decoder state to reset the PRIMARY_TO address to the channel name since the decoder will never push a value to this attribute and it's needed to correctly display audio content.
2017-01-22 06:44:07 -05:00
Denny
8fb2a66411
#90 [WIP] Logging cleanup
2017-01-21 11:06:11 -05:00
Denny
26837b8a68
#90 [WIP] Resolves issue with MPT-1327 decoder which has apparently been broken for a long time.
2017-01-21 11:05:30 -05:00
Denny
6b67a74055
#90 [WIP] Adds ability to show streaming status on main application window using menu (View > Show Streaming Status). Resolves a number of issues with the SystemProperties class.
2017-01-21 08:13:18 -05:00
Denny
2d9c3c0aa4
#90 [WIP] Adds support for attribute monitors to all of the decoder states. Updates color scheme in 'Now Playing' view for channel states. Wires selection listener for selected channel metadata to the Events and Messages views. Finalizes format for horizontal audio panels, font and coloration.
2017-01-20 21:12:57 -05:00
Denny
ce47d2545d
#90 [WIP] GUI is functioning again and the new channels table is showing calls and the audio panel is now horizontal. Lots of gui tweaks still to do.
2017-01-19 22:10:49 -05:00
Denny
5f179c4863
#90 [WIP] adds AttributeMonitor and AliasedStringAttributeMonitor for managing the metadata attributes and issuing attribute change requests, so that we can remove attribute management code out of the decoder states. Adds heuristic tracking with the monitor so that we can better track the talkgroups and other attributes and smooth out the rapidly changing values when we're decoding a weak signal. This will eventually close out issue #101
2017-01-18 20:34:37 -05:00
Denny
acabab35ff
Merge branch 'master' into #90-channel_processing_list_and_gui_reformat
...
# Conflicts:
# src/alias/AliasList.java
2017-01-18 19:07:39 -05:00
Denny
95a6deaae1
#115 patch group alias - resolves issue where wildcard aliases were being matched against a temporary patch group id and removed from the alias list for the lifespan of the patch group. General cleanup of the rollup methods for the patch group alias. Adds a new method to alias list that allows alias lookup from a tgid while excluding wildcard talkgroups.
2017-01-17 20:43:49 -05:00
Denny
bc8873de01
#90 [WIP] merged metadata management for channel state, decoder states and audio metadata into a new metadata class. The new metadata class is maintained for each decoding audio channel, or in the future, a decoding TDMA channel. Audio playback, recording and streaming all use the same metadata object for the channel. The list of channel processing gui panels have been deleted and channel processing status will now reside in a table where each table row is a metadata instance from the processing channel. The channel processing manager is responsible for adding/removing the channel's metadata instance to/from the metadata table. This allows the channel processing table to be the controller for the messages, events and channel spectrum views, keyed to the selected table row metadata.
...
I still have to clean up the gui components and wire in the table selection listeners.
2017-01-17 19:24:54 -05:00
Denny
16b69d4aef
#90 [WIP] on redesigning the channel processing gui components and backing model. Simplifies channel state by introducing a new Metadata class that tracks all metadata for all decoders.
2017-01-15 08:42:13 -05:00