diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2004-05-19 03:23:31 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2004-05-19 03:23:31 +0000 |
commit | c1cd2668b24aba8bb3d83554b800a0b16f57002b (patch) | |
tree | 5ab81918572102150e194b7352450576d75efd14 | |
parent | ec3a9b66fe42d0bf029cd1e6073a6d9e94f5e397 (diff) |
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
-rw-r--r-- | src/decode.c | 4 | ||||
-rw-r--r-- | src/decode.h | 1 | ||||
-rw-r--r-- | src/mp3_decode.c | 2 |
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; |