Some compilers and linkers aren't smart enough to optimize this,
as global variables are implictly initialized to zero. As a
result, binaries are a bit smaller as more goes in the .bss and
less in the text section.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5254 09075e82-0dd4-0310-85a5-a0d7c8717e4f
We'll be dealing with legacy server configurations for a long
time to come.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5253 09075e82-0dd4-0310-85a5-a0d7c8717e4f
There's no reason they shouldn't be static. Additionally,
output_ports doesn't need to be initialized to NULLs; that is
(and has always been) implicit (for all global variables)
git-svn-id: https://svn.musicpd.org/mpd/trunk@5247 09075e82-0dd4-0310-85a5-a0d7c8717e4f
sendDataToOutputBuffer returns an int (and always has), and
using the existing 'ret' is fine in mp3Read().
git-svn-id: https://svn.musicpd.org/mpd/trunk@5246 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This fixes a bug where streams that won't play somehow appear with the
metadata of a previously played stream. As far as I can tell, the only
reason this is done is to sync any buffered metadata with the displayed
metadata when decoding stops, so there should be no other adverse effects.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5161 09075e82-0dd4-0310-85a5-a0d7c8717e4f
MP3 playback, thus allowing songs that run longer than the Xing frame
claims (f.e., an MP3 created by catting two MP3s together) to continue
playing past the end.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5157 09075e82-0dd4-0310-85a5-a0d7c8717e4f
assumption that non-seekable streams are live and any gapless info is
incorrect.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5150 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Instead, stop decoding as soon as we've found the frames/samples at the
"end" that we want drop.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5149 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This means that when using libFLAC as a shared object,
OggFLAC support is dependent on the compile-time options of
the libFLAC library loaded.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5112 09075e82-0dd4-0310-85a5-a0d7c8717e4f
We will restore compatibility with the old API in the
next few commits; along with OggFLAC support.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5110 09075e82-0dd4-0310-85a5-a0d7c8717e4f
move flac_decode to the bottom, so we don't have to declare
all of our static functions.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5109 09075e82-0dd4-0310-85a5-a0d7c8717e4f
- don't close and reopen an audioOutput when it has a fixed output format, and closing and reopening the device is unneccessary when the input audio format changes
git-svn-id: https://svn.musicpd.org/mpd/trunk@4908 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This patch should continue to allow mpd to play as well as
possible to icecast servers while avoiding stalls on local
devices. This has eliminated ALSA underrun errors
for me while streaming to a remote host while the network
connection was bad.
Of course, this makes opening a connection non-blocking, too,
so myShout_openShoutConn is a bit more complex.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4898 09075e82-0dd4-0310-85a5-a0d7c8717e4f