summaryrefslogtreecommitdiff
path: root/streamer.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-08-05 23:23:44 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-08-05 23:23:44 +0200
commit337d90098cf48c6e3600f321081492e33cc48229 (patch)
treeef0d26f051f02cfcf1b96a10fffbd92976c52990 /streamer.c
parent8f749dbc5721172d1e5cf9742955fb429fa0062a (diff)
alsa playback WIP
Diffstat (limited to 'streamer.c')
-rw-r--r--streamer.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/streamer.c b/streamer.c
index f66562d4..b31e2803 100644
--- a/streamer.c
+++ b/streamer.c
@@ -9,8 +9,8 @@
#include "playlist.h"
#include "common.h"
#include "streamer.h"
+#include "playback.h"
-extern int sdl_player_freq; // hack!
static SRC_STATE *src;
static SRC_DATA srcdata;
static int codecleft;
@@ -114,7 +114,7 @@ streamer_read_async (char *bytes, int size) {
int nchannels = codec->info.channels;
int samplerate = codec->info.samplesPerSecond;
// read and do SRC
- if (codec->info.samplesPerSecond == sdl_player_freq) {
+ if (codec->info.samplesPerSecond == p_get_rate ()) {
int i;
if (codec->info.channels == 2) {
bytesread = codec->read (bytes, size);
@@ -134,11 +134,11 @@ streamer_read_async (char *bytes, int size) {
else {
int nsamples = size/4;
// convert to codec samplerate
- nsamples = nsamples * samplerate / sdl_player_freq * 2;
- if (!src_is_valid_ratio ((double)sdl_player_freq/samplerate)) {
- printf ("invalid ratio! %d / %d = %f", sdl_player_freq, samplerate, (float)sdl_player_freq/samplerate);
+ nsamples = nsamples * samplerate / p_get_rate () * 2;
+ if (!src_is_valid_ratio ((double)p_get_rate ()/samplerate)) {
+ printf ("invalid ratio! %d / %d = %f", p_get_rate (), samplerate, (float)p_get_rate ()/samplerate);
}
- assert (src_is_valid_ratio ((double)sdl_player_freq/samplerate));
+ assert (src_is_valid_ratio ((double)p_get_rate ()/samplerate));
// read data at source samplerate (with some room for SRC)
int nbytes = (nsamples - codecleft) * 2 * nchannels;
if (nbytes < 0) {
@@ -171,7 +171,7 @@ streamer_read_async (char *bytes, int size) {
srcdata.data_out = g_srcbuffer;
srcdata.input_frames = nsamples;
srcdata.output_frames = size/4;
- srcdata.src_ratio = (double)sdl_player_freq/samplerate;
+ srcdata.src_ratio = (double)p_get_rate ()/samplerate;
srcdata.end_of_input = 0;
// src_set_ratio (src, srcdata.src_ratio);
src_process (src, &srcdata);