Commit Graph

454 Commits

Author SHA1 Message Date
Denny
488dc9da4c #82 WIP - reorganizing icon management and extracting icon model from the settings manager. 2017-01-08 15:01:53 -05:00
Denny Sheirer
4481560c41 Merge pull request #97 from DSheirer/#78_p25_patch_group_management
#78 p25 patch group management
2017-01-08 08:54:05 -05:00
Denny
1dbdede5a2 #78 updated change log 2017-01-08 07:57:22 -05:00
Denny
6bfe98dae6 #78 patch group alias and call event management. Adds new PatchGroupAlias which is a temporary alias group that is added to the alias list by the decoder state. The P25 decoder state maintains a mapping of patch group identifier to patched talkgroups and creates the patch group alias. This allows audio recording and audio streaming of patched talkgroups, according to the aliases corresponding to the group of patched aliases contained in the patch group alias.
Event logging is now pared down to only logging events when the internal patch group mapping is updated.
2017-01-08 07:54:48 -05:00
Denny Sheirer
de9c51c228 Merge pull request #94 from DSheirer/#66_remove_loggers_and_recorders_between_channel_restarts
#66 remove loggers and recorders between channel restarts
2017-01-08 05:28:16 -05:00
Denny
7865e813de #66 resolves issue with baseband recorders and loggers not being removed from channel processing chains when processing stops. This is now handled in the channel processing manager where baseband recorders and message/event loggers are added at processing start and removed at processing stop. 2017-01-08 05:21:42 -05:00
Denny
a55296eb45 Merge branch 'master' into #66_remove_loggers_and_recorders_between_channel_restarts 2017-01-08 04:44:53 -05:00
Denny
2c558ce929 #93 resolves issue with NPE when an exception is handled in the audio broadcaster exception handler 2017-01-08 04:44:13 -05:00
Denny
49a1ea04f8 #66 wip 2017-01-08 04:38:10 -05:00
Denny Sheirer
2226306de3 Merge pull request #89 from DSheirer/#65_audio_recorder_exception_on_startup
#65 resolves issue where on audio recorder startup an IO exception is…
2017-01-07 10:59:57 -05:00
Denny
0cf26da94e #65 resolves issue where on audio recorder startup an IO exception is thrown. Traps the exception and shuts down the recorder. 2017-01-07 10:56:57 -05:00
Denny Sheirer
59671738a2 Merge pull request #88 from DSheirer/#86_playlist_file_corruption_on_save
#86 - updates playlist configuration file save operations to 1)create…
2017-01-07 10:26:41 -05:00
Denny
c6f4d6da05 #86 - updates playlist configuration file save operations to 1)create a backup copy, 2)create a lock file, 3)store the playlist, and 4)remove the lock file. On startup, if it detects a residual lock file, the playlist manager will delete the existing playlist (assumes it is incomplete or corrupted), restore the previous playlist from the backup file, and remove the lock file. 2017-01-07 10:24:04 -05:00
Denny Sheirer
2d07734cc5 Merge pull request #85 from DSheirer/30-audio_streaming_support
30 audio streaming support
2017-01-07 08:25:19 -05:00
Denny
ad377f4006 #30 - updates changelog with description of audio broadcaster feature. 2017-01-07 08:19:18 -05:00
Denny
648b12fd16 #30 - resolves logic issue that was preventing deletion of temporary stream recordings. Changes the streamable recording queue in the AudioBroadcaster to find the recording with the earliest start time to prevent situations where a long recording might close out and enter the broadcast queue after a shorter recording that started later, but would have been replayed first. 2017-01-07 07:31:47 -05:00
Denny
bc430b255f #30 - changes internal MP3 temporary recording stream management so that the broadcast model manages the recordings and sends the completed recordings to the broadcasters to avoid 2 or more streams recording MP3 files for the same audio call.
Note: there is a bug where temporary recordings are not being consistently deleted that I'm still working on.
2017-01-03 09:27:17 -05:00
Denny
4578e45f60 #30 - adds streaming status color indicators to the streaming panel table.
Resolves issue with temporary streaming file name collisions by adding a 1-up number to each generated temporary recording file.
2017-01-03 06:41:22 -05:00
Denny
42c18341b6 #30 - adds support for Shoutcast V2 (aka Ultravox 2.1) audio streams.
Resolves issue with MP3 framing where the remote server was disconnecting us due to bad MP3 sync.  The LAME encoder was sending partial 20 byte MP3 frames initiall, then following with a 144 byte array which contained the remainder of the first frame and the header of the next frame.  Adjusted the MP3SilenceGenerator to only emit complete MP3 frames.

This should be the final commit for this feature, pending merge back into master branch.
2017-01-02 16:05:00 -05:00
Denny
e71a1dbeda #30 - changes audio broadcaster to send full/complete MP3 frames instead of partial frames in order to reduce remote server disconnnects due to MP3 frame sync loss on remote server. 2016-12-29 08:20:10 -05:00
Denny
a4e3c53ba8 #30 - adds support for Shoutcast V1 streaming. Resolves issue where temporary MP3 recording files were not being flushed at the end, causing partial frames to be streamed resulting in repeated remote server connection resets.
Note: Shoutcast V1 streaming to a Shoutcast V2.5.x server seems to be problematic.  The newer server tracks MP3 boundaries in order to insert advertising and this appears to have problems keeping sync with the MP3 stream.  I spent significant time eliminating MP3 framing errors in my code.  You can see these 'Bad frame' errors in the sc_serv.log and the shoutcast server will eventually reset the connection after a period of time or after a number of framing errors occur.  I anticipate that streaming to a Shoutcast V2 server using the ultravox (ie V2.x) protocol may resolve this issue.
2016-12-29 05:59:14 -05:00
Denny
0cebe7e5d9 #30 - cleanup 2016-12-26 13:48:24 -05:00
Denny
5611f594c7 #30 - improves silence frame handling. Appends silence to end of MP3 recordings to round them out to whole second intervals and adds an MP3 silence generator to generate 1 second silence frames each interval when there is no audio to broadcast. Previous approach used static silence frame, but we can't generate an exactly 1 second frame, so the remote server was resetting the connection when it detected that we were sending data at over or under rate. 2016-12-26 11:52:25 -05:00
Denny
524a76e583 #30 WIP extracted the IcecastMetadataUpdater and merged some of the icecast configuration method into a new superclass. 2016-12-26 09:08:34 -05:00
Denny
c216f56c4f #30 WIP extracted the IcecastMetadataUpdater and merged some of the icecast configuration method into a new superclass. 2016-12-24 05:41:04 -05:00
Denny
5e4cbf2a4e #30 WIP on using the new apache mina library 2016-12-18 10:17:09 -05:00
Denny
1d7354b4a8 #30 WIP on using the new apache mina library 2016-12-18 09:09:47 -05:00
Denny
d085ecc0c9 #30 WIP on using the new apache mina library 2016-12-17 16:29:52 -05:00
Denny
1c8362c1fc #30 WIP - cleanup 2016-12-11 10:38:23 -05:00
Denny
b65ff17ede #30 WIP - adds support for Icecast 2 (v2.4+) audio streams. Adds additional fields (genre, description, public) to Icecast 1 configuration editors. Adds audio broadcast delay to Broadcastify and Icecast editors. 2016-12-11 06:55:42 -05:00
Denny
ebca330730 #30 WIP - icecast 2 broadcaster cleanup 2016-12-10 10:42:59 -05:00
Denny
ef373daeef #30 WIP - icecast 2 broadcaster cleanup 2016-12-10 10:36:38 -05:00
Denny
4290d8e403 #30 WIP - icecast 2 broadcaster cleanup 2016-12-10 10:21:08 -05:00
Denny
293dec8a1c #30 WIP - adds radio reference web service lookup of broadcastify feed settings dialog. 2016-12-09 19:50:14 -05:00
Denny
f44892c62b #30 WIP - broadcastify and icecast TCP streams working and editors are complete. Adds icons to editor and table views. 2016-12-04 07:28:03 -05:00
Denny
b71415b82a #30 WIP - broadcastify multi-channel streaming is functional. 2016-11-27 11:58:34 -05:00
Denny
ecfac83eb4 #30 WIP - adds stream manager to receive multiple audio stream's packets and convert the audio and persist to disk. Broadcaster will now receive converted audio files to stream out to the server. 2016-11-13 04:33:45 -05:00
Denny
357979a5dd #30 - WIP - adds Icecast TCP(v2.3) and HTTP(v2.4) server support. Adds streaming tab and ability to add/delete/change streaming configurations. Adds streaming channel alias id so that aliases can be tagged to stream to one or more stream channels. Adds initial support for broadcastify streaming. 2016-11-06 09:33:49 -05:00
Denny
893cbba277 #30 - WIP on the shoutcast v2 protocol 2016-10-23 06:03:07 -04:00
Denny
ac23aea602 #30 - WIP on the shoutcast v2 protocol 2016-10-21 05:30:36 -04:00
Denny
a43ae9ce53 #30 - WIP on the shoutcast v2 protocol 2016-09-30 05:59:14 -04:00
Denny
02f470cf91 #30 - WIP on the shoutcast v2 protocol 2016-09-29 20:50:00 -04:00
Denny
6138838d60 #30 - WIP on the shoutcast v2 protocol 2016-09-14 06:07:21 -04:00
Denny
2537a71375 #30 - WIP Streaming audio support. Adds Shoutcast V1 handler. 2016-09-12 04:28:46 -04:00
Denny
9031fd78c9 #30 - WIP Streaming audio support 2016-08-21 11:41:42 -04:00
Denny Sheirer
e75290c42c Merge pull request #79 from DSheirer/53_audio_sample_rate_to_8kHz
53 audio sample rate to 8k hz
2016-08-21 07:27:29 -04:00
Denny
d466ec9f5e Changes audio module decimation filter from lowpass to bandpass so that we can remove 0-250 Hz and any LTR signalling from the audio output. 2016-08-21 07:21:38 -04:00
Denny
3af4b953f4 Changes internal audio sample rate from 48 kHz down to 8 kHz. Updates the P25 audio module to output 8 kHz audio. Updates the audio recorder to record at 8 kHz rate.
Note: required updated JMBE 0.3.3 library which supports 8 kHz audio output sample rate.
2016-08-19 21:09:39 -04:00
Denny
cc65d44237 Updates change log with efforts to day for 0.3.0 2016-08-04 20:01:45 -04:00
Denny
ae6ccc5d51 Updates change log with efforts to day for 0.3.0 2016-08-04 20:00:37 -04:00