- Renamed websocket_remote plugin to "server"
- Added IEncoder, IEncoderFactory interfaces to SDK. Updated
IEnvironment and related plumbing; plugins can now declare encoders and
other plugins can request instances through the SDK.
- Removed LAME encoding from websocket_server plugin, created new
stockencoders plugin that includes both LAME and Ogg Vorbis encoders.
- Moved to dynamic libraries for ogg, vorbis, libvorbis so it can be
shared between encoding and decoding plugins.
- Plumbing for new "format" URL param through HttpServer, Transcoder,
and TranscodingDataStream. Use new IEncoder functionality to deal with
on-the-fly re-encoding
an HTTP/HTTPS connection.
- Added libcurl and libressl as project dependencies.
- Added HttpDataStream (which uses libcurl and libressl). Includes an
LruDiskCache so responses can be cached to disk for offline playback.
- Added new IEnvironment SDK interface. Plugins can query the
environment for path information, data streams, or decoders. More
functionality will be added over time.
- Fixed FlacDataDecoderFactory to handle the correct mime type
(audio/flac, not audio/flag)
- Tweaked NomadDecoder.cpp to return the stream length immediately instead
of waiting for an fseek().