Return MPD-compatible output of plugin type "httpd" when
enable_http_plugin in mpd section of the config is set.
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
The plugin key is used by some clients to determine whether local
playback is possible via HTTP stream, so mimick it.
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Simply casting the speaker ID from a 64-bits int to an unsigned short
and hoping that there will be no clashes is just optimistic. Use an
ascending number instead which is what MPD does too. The MPD server
specifically documents no persistence in these IDs so we can simply
enumerate the speakers to meet the requirements.
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Seems EOF was not marked towards the ffmpeg filtergraph via a NULL frame to
av_buffersrc_add_frame(). This meant that the end of the track would get
stuck in the filters.
Fixes#1787
Adds handling of the username from Apple Music that contain colon. Example:
iTunes_Music/1.4.5 (Macintosh; OS X 14.5) AppleWebKit/618.2.12.11.6 build/36 (dt:1):password
Closes#1778
Fix regression from commit 3ee9204 where wav size calculation was changed. The
new method caused Soundbridge M1001 to reboot, and the likely cause seems to be
that the sizes in the wav header may not be multiples of channels x
bytes_per_sample, so typically 4.
Resolves#1770
Also introduce default output format and selected device format, should the
user want another format.
As part of this, change enum player_format in player.h to enum media_format in
misc.h so that it is akin to struct media_quality.
Modify json API to support this.
Should make it easier to add/remove parameters without changing all calls to the
functions throughout the code.
Also adds an interface through which to call make_mp4_header().
Also changes WAV encoding to use source quality instead of fixed 44100/16/2.
Sets the default to WAV, since it has the best quality, and doesn't have the
delay that creating an MP4 container for ALAC currently has (TODO prepare
the headers to avoid the delay).
Ref issue #1182 and #1665
New default for "trusted_networks" = "lan". This will check peer addresses
against the addresses/netmasks of the interfaces to establish whether the peer
is local.
Fixes#1754