1.1 --- a/decoder.c Sat Oct 24 11:31:53 2009 +0800
1.2 +++ b/decoder.c Fri Nov 13 19:27:36 2009 +0800
1.3 @@ -36,6 +36,7 @@
1.4 #include "decoder-mp3-stream.h"
1.5 #include "decoder-snd.h"
1.6 #include "decoder-ogg.h"
1.7 +#include "decoder-ogg-stream.h"
1.8
1.9 #define CACHEFILENAME "id3info.cache"
1.10 #define CACHESAVETIMEOUT 120 // secs
1.11 @@ -258,6 +259,7 @@
1.12 #endif
1.13 #ifdef HAVE_VORBISFILE
1.14 case DEC_OGG: decoder=new cOggDecoder(full); break;
1.15 + case DEC_OGGS: decoder=new cOggStreamDecoder(full); break;
1.16 #endif
1.17 default: esyslog("ERROR: bad DecoderID '%s' from info cache: %s",cDecoders::ID2Str(dat->DecoderID),full); break;
1.18 }
1.19 @@ -281,6 +283,10 @@
1.20 decoder=new cOggDecoder(full);
1.21 if(!decoder || !decoder->Valid()) { delete decoder; decoder=0; }
1.22 }
1.23 + if(!decoder) {
1.24 + decoder=new cOggStreamDecoder(full);
1.25 + if(!decoder || !decoder->Valid()) { delete decoder; decoder=0; }
1.26 + }
1.27 #endif
1.28 if(!decoder) {
1.29 decoder=new cMP3StreamDecoder(full);
1.30 @@ -302,6 +308,7 @@
1.31 case DEC_MP3S: return DEC_MP3S_STR;
1.32 case DEC_SND: return DEC_SND_STR;
1.33 case DEC_OGG: return DEC_OGG_STR;
1.34 + case DEC_OGGS: return DEC_OGGS_STR;
1.35 }
1.36 return 0;
1.37 }
1.38 @@ -312,6 +319,7 @@
1.39 else if(!strcmp(str,DEC_MP3S_STR)) return DEC_MP3S;
1.40 else if(!strcmp(str,DEC_SND_STR )) return DEC_SND;
1.41 else if(!strcmp(str,DEC_OGG_STR )) return DEC_OGG;
1.42 + else if(!strcmp(str,DEC_OGGS_STR)) return DEC_OGGS;
1.43 return 0;
1.44 }
1.45