aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/decode.c20
-rw-r--r--src/inputStream_http.c4
-rw-r--r--src/mp3_decode.c4
-rw-r--r--src/ogg_decode.c4
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;
}