Hi, I'm sharing a little progress with refactoring the audioOutput code: I'm preparing the code for an API with an opaque audio_output struct, to minimize ABI dependencies to the MPD core. I have already created a patch which moves each output plugin into its own thread, but this one needs a little more work and testing.
I have imported 9 patches from Eric's branch, most of which deal with optimizing ALSA output. For those with high ALSA CPU usage: try to boot Linux with hpet=force, and set "hpet" as clock source. Max Eric Wong (9): alsa: optimistically try resuming from suspend alsa: capitalize "ALSA" consistently in messages alsa: get rid of the needless canPause flag alsa: avoid unnecessary heap usage if we don't set a device name alsa: move bitformat reading code out of the way alsa: only run snd_config_update_free_global once atexit alsa: snd_pcm_sw_params_set_xfer_align is deprecated alsa: use blocking instead of non-blocking write storedPlaylist: correctly expand path when writing Max Kellermann (7): timer: constant pointers output: removed keepAudioOutputAlive() declaration output: renamed method names output: moved code from audioOutput.c to output_control.c output: renamed the functions in output_control.c audio: replaced copyAudioFormat() with simple assignment audio: moved cmpAudioFormat() to audio_format.h Makefile.am | 3 audio.c | 61 +++--------- audio.h | 4 audioOutput.c | 197 --------------------------------------- audioOutput.h | 20 --- audioOutputs/audioOutput_alsa.c | 102 +++++++++----------- audioOutputs/audioOutput_shout.c | 2 audio_format.h | 8 + decoder_api.c | 2 output_api.h | 34 ++---- output_control.c | 120 +++++++++++++++++++++++ output_control.h | 41 ++++++++ output_init.c | 113 ++++++++++++++++++++++ storedPlaylist.c | 11 +- timer.c | 2 timer.h | 2 16 files changed, 376 insertions(+), 346 deletions(-) ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Musicpd-dev-team mailing list Musicpd-dev-team@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team