summaryrefslogtreecommitdiff
path: root/streamer.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-24 18:36:12 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-24 18:36:12 +0200
commitf86e458d9911f29178e84c5d3bb37b21b4955895 (patch)
tree31a2f632aaf02afd06a7b7e8f51ec16b323552ca /streamer.c
parent57c3e22114062dfdfe00944e93bc07476d45137f (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.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/streamer.c b/streamer.c
index 5cc712d0..f9e7ab1b 100644
--- a/streamer.c
+++ b/streamer.c
@@ -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) {