decoder: vorbis, flac, opus: honor DESCRIPTION= tag in Xiph-based files as a comment to the song
(see https://www.xiph.org/vorbis/doc/v-comment.html for Details)
Added Comment/Description to decoder/plugins/XiphTags.cxx
lib/nfs/Connection: include poll.h
thread/GLib{Mutex,Cond}: remove obsolete classes
thread/{Mutex,Cond}: relicense to BSD-2
decoder/AudiofileDecoderPlugin: fix build failure due to missing stdio.h include

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
decoder/OpusDecoderPlugin: fix build failure due to missing stdio.h include

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
output/HttpdClient: fix build failure due to missing stdio.h include

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
playlist/PlsPlaylistPlugin: fix build failure due to missing stdio.h include

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
decoder/audiofile: use decoder_read()

.. instead of InputStream::LockRead(). The former is cancellable.
test: merge duplicate code to FakeDecoderAPI.cxx
DecoderAPI: add function decoder_skip()

Move code from the "mad" plugin.
DecoderAPI: add function decoder_read_full()

Move code from the "mad" plugin.
decoder/audiofile: use decoder_read_full()

Works around WAV stream playback bug, because libaudiofile does not
like partial reads (Mantis 0004028).
decoder/dsd: use decoder_read_full() where appropriate

Addresses Mantis ticket 0004015.

[mk: use decoder_read_full() only when needed, and a few formal
changes]
decoder/dsdlib: pass unsigned offsets to dsdlib_skip*()
decoder/dsdlib: use decoder_skip()

Reduce duplicate code.
decoder/plugins/FlacIOHandle: fix build failure due to missing stdio.h include

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
output/plugins/httpd/HttpdClient: fix build failure due to missing stdio.h include

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
playlist/plugins/DespotifyPlaylistPlugin: fix build failure due to missing stdio.h include

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>