Passing a ref to snd_pcm_hw_params_set_{buffer,period}_time_near
can modify our internal {period,buffer}_time members inside the
AlsaData structure, making re-initializing the device across
sample/bit rate and channel changes non-idempotent.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4616 09075e82-0dd4-0310-85a5-a0d7c8717e4f
So we can have VERSION=0.12.0rc1 and keep the
clients seeing 0.12.0
git-svn-id: https://svn.musicpd.org/mpd/trunk@4608 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* less-commonly compiled things like ao/mvp outputs
* Adding -Wno-transparent-union to SPARSE_FLAGS makes it check
inside decode.c, directory.c, player.c, and sig_handlers.c
* remove unused variables leftover from the master process
in sig_handlers.c
git-svn-id: https://svn.musicpd.org/mpd/trunk@4598 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Also added a unit test to check for errors/bugs to make sure we
don't have regressions.
Bug found by Qball.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4569 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Any escaped instances of \ must already be inside an already
quoted string, though.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4539 09075e82-0dd4-0310-85a5-a0d7c8717e4f
(and fdprintf was never meant to be reentrant, either)
A huge thanks to welshbyte for reporting the bug and being very
helpful in helping me fix it.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4537 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This was originally introduced in r3718, but reverted r3859 since the
original r3718 commit was incorrect (and I was too excited about
the speedup and also lacking in UTF-8 files to notice :x)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4517 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Oops, I broke pause/resuming from a statefile r4514
Everything should be fixed out.
Also we now avoid opening the audio device until we have a
playable audio_format set. This is a long-standing bug that got
exposed more blatantly with the single array.
Thanks to MattD in #mpd for reporting my breakage.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4516 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Just malloc all of the audioOutput array in one shot
to avoid fragmentation and to improve cache locality
when iterating through the array.
We also know name and type members of the AudioOutput
struct won't change in the config, so there's no
need to strdup them.
newAudioOutput => initAudioOutput
git-svn-id: https://svn.musicpd.org/mpd/trunk@4515 09075e82-0dd4-0310-85a5-a0d7c8717e4f
It just made things more confusing. We'll just store
the states in playerData_pd->audioDevicesStates and be
done with it (it's a unsigned byte now).
git-svn-id: https://svn.musicpd.org/mpd/trunk@4514 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Some people have more than 8 devices (the old limit). It's
pretty easy to support as many as our hardware and OS allows
so we might as well.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4513 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Moved all logging-related stuff into log.c
(and not myfprintf.c)
* ISO C90-compliant strftime usage:
%e and %R replaced with %d and %H:%M respectively
* Got rid of variadic macros since some old-school compilers
don't like them
* compiling with -DNDEBUG disables the DEBUG() macro
git-svn-id: https://svn.musicpd.org/mpd/trunk@4512 09075e82-0dd4-0310-85a5-a0d7c8717e4f
playerData.c:
proper error checking
directory.c:
properly check myFgets() for errors
(it returns NULL on error)
inputPlugins/mp3_plugin.c
get rid of commas at the end of enums
interface.c:
we weren't using long long, so strtoll isn't needed
get rid of void-pointer arithmetic
sllist.c:
get rid of void-pointer arithmetic
compress.c:
get rid of C++ comments, some compilers don't accept them
Note that I personally like void pointer arithmetic, but some
ancient compilers don't support them :(
git-svn-id: https://svn.musicpd.org/mpd/trunk@4510 09075e82-0dd4-0310-85a5-a0d7c8717e4f