diff options
| author | wr61 <wr61@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-02-21 13:29:47 +0000 |
|---|---|---|
| committer | wr61 <wr61@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-02-21 13:29:47 +0000 |
| commit | d30fd8db8384ffe6c86a5c177798d60e581e8a17 (patch) | |
| tree | fb940ac1ab11a68b2c01f9188c5351554b418901 /vdr_decoder_ogg.h | |
| parent | af1c206e1611651e5b0f714e38c5451a00efbbd8 (diff) | |
| parent | 3472518951059dd1b81330f54152534488c0d3c2 (diff) | |
| download | vdr-plugin-muggle-d30fd8db8384ffe6c86a5c177798d60e581e8a17.tar.gz vdr-plugin-muggle-d30fd8db8384ffe6c86a5c177798d60e581e8a17.tar.bz2 | |
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/branches/0.1.3-wr@506 e10066b5-e1e2-0310-b819-94efdf66514b
Diffstat (limited to 'vdr_decoder_ogg.h')
| -rw-r--r-- | vdr_decoder_ogg.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/vdr_decoder_ogg.h b/vdr_decoder_ogg.h new file mode 100644 index 0000000..1f5fcfc --- /dev/null +++ b/vdr_decoder_ogg.h @@ -0,0 +1,63 @@ +/*! \file vdr_decoder_ogg.h + * \ingroup vdr + * + * The file contains a decoder which is used by the player to decode ogg vorbis audio files. + * + * Adapted from + * MP3/MPlayer plugin to VDR (C++) + * (C) 2001-2003 Stefan Huelswitt <huels@iname.com> + */ + +#ifndef ___DECODER_OGG_H +#define ___DECODER_OGG_H + +#define DEC_OGG DEC_ID('O','G','G',' ') +#define DEC_OGG_STR "OGG" + +#ifdef HAVE_VORBISFILE + +#include "vdr_decoder.h" + +// ---------------------------------------------------------------- + +class mgOggFile; + +/*! + * \brief A decoder for Ogg Vorbis files + * + */ +class mgOggDecoder:public mgDecoder +{ + private: + + mgOggFile * m_file; + struct mgDecode m_ds; + struct mad_pcm *m_pcm; + unsigned long long m_index; + +// + void init (void); + bool clean (void); + struct mgDecode *done (eDecodeStatus status); + + public: + + mgOggDecoder (mgContentItem * item); + ~mgOggDecoder (); + + virtual mgPlayInfo *playInfo (); + + virtual bool valid (); + + virtual bool start (); + + virtual bool stop (); + + virtual bool skip (int Seconds, int Avail, int Rate); + + virtual struct mgDecode *decode (void); +}; + +// ---------------------------------------------------------------- +#endif //HAVE_VORBISFILE +#endif //___DECODER_OGG_H |
