nathan@33: /* nathan@33: * MP3/MPlayer plugin to VDR (C++) nathan@33: * nathan@33: * (C) 2001-2009 Stefan Huelswitt nathan@33: * nathan@33: * OGG stream support initialy developed by Manuel Reimer nathan@33: * nathan@33: * This code is free software; you can redistribute it and/or nathan@33: * modify it under the terms of the GNU General Public License nathan@33: * as published by the Free Software Foundation; either version 2 nathan@33: * of the License, or (at your option) any later version. nathan@33: * nathan@33: * This code is distributed in the hope that it will be useful, nathan@33: * but WITHOUT ANY WARRANTY; without even the implied warranty of nathan@33: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the nathan@33: * GNU General Public License for more details. nathan@33: * nathan@33: * You should have received a copy of the GNU General Public License nathan@33: * along with this program; if not, write to the Free Software nathan@33: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. nathan@33: * Or, point your browser to http://www.gnu.org/copyleft/gpl.html nathan@33: */ nathan@33: nathan@33: #ifndef ___DECODER_OGG_STREAM_H nathan@33: #define ___DECODER_OGG_STREAM_H nathan@33: nathan@33: #define DEC_OGGS DEC_ID('O','G','G','S') nathan@33: #define DEC_OGGS_STR "OGGS" nathan@33: nathan@33: #include "decoder-ogg.h" nathan@33: nathan@33: class cNetStream; nathan@33: nathan@33: // ---------------------------------------------------------------- nathan@33: nathan@33: class cNetOggFile : public cOggFile { nathan@33: friend class cNetOggInfo; nathan@33: private: nathan@33: cNetStream *nstr; nathan@33: public: nathan@33: cNetOggFile(const char *Filename); nathan@33: virtual bool Open(bool log=true); nathan@33: }; nathan@33: nathan@33: // ---------------------------------------------------------------- nathan@33: nathan@33: class cNetOggInfo : public cOggInfo { nathan@33: private: nathan@33: cNetOggFile *nfile; nathan@33: cNetStream *nstr; nathan@33: void IcyInfo(void); nathan@33: public: nathan@33: cNetOggInfo(cNetOggFile *File); nathan@33: virtual bool DoScan(bool KeepOpen=false); nathan@33: virtual void InfoHook(void); nathan@33: }; nathan@33: nathan@33: // ---------------------------------------------------------------- nathan@33: nathan@33: class cOggStreamDecoder : public cOggDecoder { nathan@33: private: nathan@33: cNetOggFile *nfile; nathan@33: public: nathan@33: cOggStreamDecoder(const char *Filename); nathan@33: virtual bool IsStream(void) { return true; } nathan@33: }; nathan@33: nathan@33: #endif //___DECODER_OGG_STREAM_H