diff options
-rw-r--r-- | src/decode.c | 20 | ||||
-rw-r--r-- | src/inputStream_http.c | 4 | ||||
-rw-r--r-- | src/mp3_decode.c | 4 | ||||
-rw-r--r-- | src/ogg_decode.c | 4 |
4 files changed, 21 insertions, 11 deletions
diff --git a/src/decode.c b/src/decode.c index 82865b39b..86f0fc69b 100644 --- a/src/decode.c +++ b/src/decode.c @@ -251,6 +251,8 @@ int decodeSeek(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb, void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) { int ret; InputStream inStream; + int suffix = pc->fileSuffix; + int decodeType = pc->decodeType; strncpy(dc->file,pc->file,MAXPATHLEN); dc->file[MAXPATHLEN] = '\0'; @@ -275,10 +277,10 @@ void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) { return; } - switch(pc->decodeType) { + switch(decodeType) { case DECODE_TYPE_URL: #ifdef HAVE_OGG - if(pc->fileSuffix == DECODE_SUFFIX_OGG || (inStream.mime && + if(suffix == DECODE_SUFFIX_OGG || (inStream.mime && 0 == strcmp(inStream.mime, "application/ogg"))) { ret = ogg_decode(cb, dc, &inStream); @@ -286,7 +288,7 @@ void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) { } #endif #ifdef HAVE_MAD - /*if(pc->fileSuffix == DECODE_SUFFIX_MP3 || (inStream.mime && + /*if(fileSuffix == DECODE_SUFFIX_MP3 || (inStream.mime && 0 == strcmp(inStream.mime, "audio/mpeg")))*/ { ret = mp3_decode(cb,dc,&inStream); @@ -296,38 +298,38 @@ void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) { #endif case DECODE_TYPE_FILE: #ifdef HAVE_MAD - if(pc->fileSuffix == DECODE_SUFFIX_MP3) { + if(suffix == DECODE_SUFFIX_MP3) { ret = mp3_decode(cb, dc, &inStream); break; } #endif #ifdef HAVE_OGG - if(pc->fileSuffix == DECODE_SUFFIX_OGG) { + if(suffix == DECODE_SUFFIX_OGG) { ret = ogg_decode(cb, dc, &inStream); break; } #endif #ifdef HAVE_FAAD - if(pc->fileSuffix == DECODE_SUFFIX_AAC) { + if(suffix == DECODE_SUFFIX_AAC) { closeInputStream(&inStream); ret = aac_decode(cb,dc); break; } - if(pc->fileSuffix == DECODE_SUFFIX_MP4) { + if(suffix == DECODE_SUFFIX_MP4) { closeInputStream(&inStream); ret = mp4_decode(cb,dc); break; } #endif #ifdef HAVE_FLAC - if(pc->fileSuffix == DECODE_SUFFIX_FLAC) { + if(suffix == DECODE_SUFFIX_FLAC) { closeInputStream(&inStream); ret = flac_decode(cb,dc); break; } #endif #ifdef HAVE_AUDIOFILE - if(pc->fileSuffix == DECODE_SUFFIX_WAVE) { + if(suffix == DECODE_SUFFIX_WAVE) { closeInputStream(&inStream); ret = audiofile_decode(cb,dc); break; diff --git a/src/inputStream_http.c b/src/inputStream_http.c index 3e97b8ffa..1e88db114 100644 --- a/src/inputStream_http.c +++ b/src/inputStream_http.c @@ -39,7 +39,7 @@ #define HTTP_CONN_STATE_OPEN 3 #define HTTP_CONN_STATE_REOPEN 4 -#define HTTP_BUFFER_SIZE 524289 +#define HTTP_BUFFER_SIZE 131072 #define HTTP_PREBUFFER_SIZE (HTTP_BUFFER_SIZE >> 2) //#define HTTP_PREBUFFER_SIZE 0 @@ -406,7 +406,7 @@ static int getHTTPHello(InputStream * inStream) { data->connState = HTTP_CONN_STATE_OPEN; - /*data->prebuffer = 1;*/ + data->prebuffer = 1; /*mark as unseekable till we actually implement seeking*/ inStream->seekable = 0; diff --git a/src/mp3_decode.c b/src/mp3_decode.c index 7b40461a9..3223e3360 100644 --- a/src/mp3_decode.c +++ b/src/mp3_decode.c @@ -567,6 +567,10 @@ int mp3_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) { ERROR("Input does not appear to be a mp3 bit stream.\n"); return -1; } + else { + dc->state = DECODE_STATE_STOP; + dc->stop = 0; + } return 0; } diff --git a/src/ogg_decode.c b/src/ogg_decode.c index 9bd24de01..cdce55367 100644 --- a/src/ogg_decode.c +++ b/src/ogg_decode.c @@ -183,6 +183,10 @@ int ogg_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) ERROR("Input does not appear to be an Ogg Vorbis stream.\n"); return -1; } + else { + dc->state = DECODE_STATE_STOP; + dc->stop = 0; + } return 0; } |