diff options
author | 2009-10-24 18:36:12 +0200 | |
---|---|---|
committer | 2009-10-24 18:36:12 +0200 | |
commit | f86e458d9911f29178e84c5d3bb37b21b4955895 (patch) | |
tree | 31a2f632aaf02afd06a7b7e8f51ec16b323552ca /streamer.c | |
parent | 57c3e22114062dfdfe00944e93bc07476d45137f (diff) |
experimental alsa (hardware) samplerate conversion
fixed minor memleak in alsa code
removed alsa_samplerate config option
added option to enable software alsa samplerate conversion
Diffstat (limited to 'streamer.c')
-rw-r--r-- | streamer.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -73,6 +73,8 @@ static float seekpos = -1; static float playpos = 0; // play position of current song static float avg_bitrate = -1; // avg bitrate of current song +static int prevtrack_samplerate = -1; + playItem_t str_playing_song; playItem_t str_streaming_song; // remember pointers to original instances of playitems @@ -315,6 +317,11 @@ streamer_thread (uintptr_t ctx) { plug_trigger_event (DB_EV_SONGSTARTED, 0); playpos = 0; avg_bitrate = -1; + // change samplerate + if (prevtrack_samplerate != str_playing_song.decoder->info.samplerate) { + palsa_change_rate (str_playing_song.decoder->info.samplerate); + prevtrack_samplerate = str_playing_song.decoder->info.samplerate; + } } if (seekpos >= 0) { |