Updates Icecast TCP broadcaster to correctly handle content type:text/html
message that normally follows mount point in use error received from
broadcastify.
Changes mount point in use broadcast state to be a temporary error so that
the stream will attempt to reconnect after receiving this error.
Updates logging to include memory allocation/usage metrics with each
logging entry in order to support debugging issues related to high
memory usage situations. Updates initial application logging to better
identify the host system operating environment.
(cherry picked from commit 8be3399)
occured when the ChannelProcessionManager was allocating a new channel
causing the tuner to invoke the updateLOFrequency() method that was
trying to find a center tune frequency that would accommodate all of the
channels, specifically in the instance where the distance between the
highest channel and the middle channel was exactly one-half of the
tuner's bandwidth. This situation would cause the calculated adjustment
to be zero and would cause an infinite loop, locking all channels from
accessing the any channel startup/teardown events and causing running
channels to block with buffer overflows. Added 1 to the adjustment to
ensure that the initial adjustment placed the center overlapping channel
fully to the left of the center DC spike so that on the next iteration
that channel would no longer be overlapping.
(cherry picked from commit f3d3a81)
Updates the build script for conditional compilation using either Java
8 or Java 9 options. Java 9 deprecated the java.xml.bind package and
removed it as a default Java SE package, so we have to reference it via
the --add-modules argument.
Updates the linux/mac launch script to check the java runtime version
and use either a Java 8 or Java 9 launch command.
state and replaces it with a processing chain heartbeat that is generated
by the sample source.
Previously, the state monitor was running on a separate thread and this
was causing multi-threading issues. With this update, all channel state
operations (and all module operations) occur on the source's buffer
processing thread.
Tweaked buffer size limits and buffer handling to attempt to avoid overflow situations in the first place.
Resolved an issue where the tuner processor was not deregistering correctly from the LIBUSB tuner processor during tuner shutdown.
detect encrypted audio state so that encrypted audio is not (incorrectly)
decoded and played back to the user.
Processes HDU and LDU2 messages to identify encrypted call state. Once
established, all subsequent LDU1/2 messages are decoded only if the call
is unencrypted. If an LDU1 message is received out-of-sequence, meaning
that the initial HDU message was missed, then the LDU1 is cached until
we receive an LDU2 message and correctly determine the call encryption
state.