more bug fixes
git-svn-id: https://svn.musicpd.org/mpd/trunk@1108 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
parent
05889aa3e3
commit
0b05109416
20
src/decode.c
20
src/decode.c
@ -251,6 +251,8 @@ int decodeSeek(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
|||||||
void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) {
|
void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) {
|
||||||
int ret;
|
int ret;
|
||||||
InputStream inStream;
|
InputStream inStream;
|
||||||
|
int suffix = pc->fileSuffix;
|
||||||
|
int decodeType = pc->decodeType;
|
||||||
|
|
||||||
strncpy(dc->file,pc->file,MAXPATHLEN);
|
strncpy(dc->file,pc->file,MAXPATHLEN);
|
||||||
dc->file[MAXPATHLEN] = '\0';
|
dc->file[MAXPATHLEN] = '\0';
|
||||||
@ -275,10 +277,10 @@ void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(pc->decodeType) {
|
switch(decodeType) {
|
||||||
case DECODE_TYPE_URL:
|
case DECODE_TYPE_URL:
|
||||||
#ifdef HAVE_OGG
|
#ifdef HAVE_OGG
|
||||||
if(pc->fileSuffix == DECODE_SUFFIX_OGG || (inStream.mime &&
|
if(suffix == DECODE_SUFFIX_OGG || (inStream.mime &&
|
||||||
0 == strcmp(inStream.mime, "application/ogg")))
|
0 == strcmp(inStream.mime, "application/ogg")))
|
||||||
{
|
{
|
||||||
ret = ogg_decode(cb, dc, &inStream);
|
ret = ogg_decode(cb, dc, &inStream);
|
||||||
@ -286,7 +288,7 @@ void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_MAD
|
#ifdef HAVE_MAD
|
||||||
/*if(pc->fileSuffix == DECODE_SUFFIX_MP3 || (inStream.mime &&
|
/*if(fileSuffix == DECODE_SUFFIX_MP3 || (inStream.mime &&
|
||||||
0 == strcmp(inStream.mime, "audio/mpeg")))*/
|
0 == strcmp(inStream.mime, "audio/mpeg")))*/
|
||||||
{
|
{
|
||||||
ret = mp3_decode(cb,dc,&inStream);
|
ret = mp3_decode(cb,dc,&inStream);
|
||||||
@ -296,38 +298,38 @@ void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) {
|
|||||||
#endif
|
#endif
|
||||||
case DECODE_TYPE_FILE:
|
case DECODE_TYPE_FILE:
|
||||||
#ifdef HAVE_MAD
|
#ifdef HAVE_MAD
|
||||||
if(pc->fileSuffix == DECODE_SUFFIX_MP3) {
|
if(suffix == DECODE_SUFFIX_MP3) {
|
||||||
ret = mp3_decode(cb, dc, &inStream);
|
ret = mp3_decode(cb, dc, &inStream);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_OGG
|
#ifdef HAVE_OGG
|
||||||
if(pc->fileSuffix == DECODE_SUFFIX_OGG) {
|
if(suffix == DECODE_SUFFIX_OGG) {
|
||||||
ret = ogg_decode(cb, dc, &inStream);
|
ret = ogg_decode(cb, dc, &inStream);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_FAAD
|
#ifdef HAVE_FAAD
|
||||||
if(pc->fileSuffix == DECODE_SUFFIX_AAC) {
|
if(suffix == DECODE_SUFFIX_AAC) {
|
||||||
closeInputStream(&inStream);
|
closeInputStream(&inStream);
|
||||||
ret = aac_decode(cb,dc);
|
ret = aac_decode(cb,dc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(pc->fileSuffix == DECODE_SUFFIX_MP4) {
|
if(suffix == DECODE_SUFFIX_MP4) {
|
||||||
closeInputStream(&inStream);
|
closeInputStream(&inStream);
|
||||||
ret = mp4_decode(cb,dc);
|
ret = mp4_decode(cb,dc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_FLAC
|
#ifdef HAVE_FLAC
|
||||||
if(pc->fileSuffix == DECODE_SUFFIX_FLAC) {
|
if(suffix == DECODE_SUFFIX_FLAC) {
|
||||||
closeInputStream(&inStream);
|
closeInputStream(&inStream);
|
||||||
ret = flac_decode(cb,dc);
|
ret = flac_decode(cb,dc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_AUDIOFILE
|
#ifdef HAVE_AUDIOFILE
|
||||||
if(pc->fileSuffix == DECODE_SUFFIX_WAVE) {
|
if(suffix == DECODE_SUFFIX_WAVE) {
|
||||||
closeInputStream(&inStream);
|
closeInputStream(&inStream);
|
||||||
ret = audiofile_decode(cb,dc);
|
ret = audiofile_decode(cb,dc);
|
||||||
break;
|
break;
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
#define HTTP_CONN_STATE_OPEN 3
|
#define HTTP_CONN_STATE_OPEN 3
|
||||||
#define HTTP_CONN_STATE_REOPEN 4
|
#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 (HTTP_BUFFER_SIZE >> 2)
|
||||||
//#define HTTP_PREBUFFER_SIZE 0
|
//#define HTTP_PREBUFFER_SIZE 0
|
||||||
|
|
||||||
@ -406,7 +406,7 @@ static int getHTTPHello(InputStream * inStream) {
|
|||||||
|
|
||||||
data->connState = HTTP_CONN_STATE_OPEN;
|
data->connState = HTTP_CONN_STATE_OPEN;
|
||||||
|
|
||||||
/*data->prebuffer = 1;*/
|
data->prebuffer = 1;
|
||||||
|
|
||||||
/*mark as unseekable till we actually implement seeking*/
|
/*mark as unseekable till we actually implement seeking*/
|
||||||
inStream->seekable = 0;
|
inStream->seekable = 0;
|
||||||
|
@ -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");
|
ERROR("Input does not appear to be a mp3 bit stream.\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
dc->state = DECODE_STATE_STOP;
|
||||||
|
dc->stop = 0;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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");
|
ERROR("Input does not appear to be an Ogg Vorbis stream.\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
dc->state = DECODE_STATE_STOP;
|
||||||
|
dc->stop = 0;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user