Allow customization of icecast metadata format #1395
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds the ability to customize the icecast metadata format at runtime in each stream's configuration. Default values are provided that are similar to the current behavior, with the addition of time and separation of tones from other
FROM
identifiers.Also includes several related improvements in other areas to support this change, including:
AudioFrames
to get the current position as a time, get a segment of audio, get the current frames as a byte array.TO
orFROM
identifiers contained in an identifier collection in the preferred order.The global logging level was reduced from
ALL
toDEBUG
due to the verbosity of PebbleTemplates atTRACE
.User-configured metadata formats are processed through Pebble (syntax reference). This gives the user the ability to make their formatting conditional using if tags, or even modify the predefined values in some way (such as uppercasing them or providing default values).
Time formatting is handled by SimpleDateFormat (format reference).