aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWarren Dukes <warren.dukes@gmail.com>2004-05-19 03:23:31 +0000
committerWarren Dukes <warren.dukes@gmail.com>2004-05-19 03:23:31 +0000
commitc1cd2668b24aba8bb3d83554b800a0b16f57002b (patch)
tree5ab81918572102150e194b7352450576d75efd14 /src
parentec3a9b66fe42d0bf029cd1e6073a6d9e94f5e397 (diff)
downloadmpd-c1cd2668b24aba8bb3d83554b800a0b16f57002b.tar.gz
mpd-c1cd2668b24aba8bb3d83554b800a0b16f57002b.tar.xz
mpd-c1cd2668b24aba8bb3d83554b800a0b16f57002b.zip
bug fixy poo s/1/0/
and mark in decoderControl if we are seekable git-svn-id: https://svn.musicpd.org/mpd/trunk@1078 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src')
-rw-r--r--src/decode.c4
-rw-r--r--src/decode.h1
-rw-r--r--src/mp3_decode.c2
3 files changed, 4 insertions, 3 deletions
diff --git a/src/decode.c b/src/decode.c
index f77a9b999..69037d007 100644
--- a/src/decode.c
+++ b/src/decode.c
@@ -114,7 +114,7 @@ int calculateCrossFadeChunks(PlayerControl * pc, AudioFormat * af) {
#define handleDecodeStart() \
if(decodeWaitedOn && dc->state==DECODE_STATE_DECODE) { \
- decodeWaitedOn = 1; \
+ decodeWaitedOn = 0; \
if(openAudioDevice(&(cb->audioFormat))<0) { \
strncpy(pc->erroredFile,pc->file,MAXPATHLEN); \
pc->erroredFile[MAXPATHLEN] = '\0'; \
@@ -127,7 +127,7 @@ int calculateCrossFadeChunks(PlayerControl * pc, AudioFormat * af) {
pc->bits = dc->audioFormat.bits; \
pc->channels = dc->audioFormat.channels; \
} \
- else { \
+ else if(decodeWaitedOn) { \
my_usleep(10); \
continue; \
}
diff --git a/src/decode.h b/src/decode.h
index 8b36fe7ca..d73cb587c 100644
--- a/src/decode.h
+++ b/src/decode.h
@@ -46,6 +46,7 @@
#define DECODE_SUFFIX_WAVE 6
typedef struct _DecoderControl {
+ volatile mpd_sint8 seekable;
volatile mpd_sint8 state;
volatile mpd_sint8 stop;
volatile mpd_sint8 start;
diff --git a/src/mp3_decode.c b/src/mp3_decode.c
index 7ff63b536..23bed6bac 100644
--- a/src/mp3_decode.c
+++ b/src/mp3_decode.c
@@ -189,7 +189,7 @@ int fillMp3InputBuffer(mp3DecodeData * data) {
readSize);
if(readed <= 0 && inputStreamAtEOF(data->inStream)) return -1;
/* sleep for a fraction of a second! */
- else if(readed == 0) my_usleep(10);
+ else if(readed <= 0) my_usleep(10000);
mad_stream_buffer(&data->stream,data->readBuffer,readed+remaining);
(data->stream).error = 0;