summaryrefslogtreecommitdiff
path: root/vdr_decoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'vdr_decoder.h')
-rw-r--r--vdr_decoder.h153
1 files changed, 76 insertions, 77 deletions
diff --git a/vdr_decoder.h b/vdr_decoder.h
index a673cbc..ee943ce 100644
--- a/vdr_decoder.h
+++ b/vdr_decoder.h
@@ -10,7 +10,7 @@
*
* $Id$
*
- * Adapted from
+ * Adapted from
* MP3/MPlayer plugin to VDR (C++)
* (C) 2001,2002 Stefan Huelswitt <huels@iname.com>
*/
@@ -29,143 +29,142 @@ class mgContentItem;
// --------From decoder_core.h ------------------------------------
-/*!
+/*!
* \brief The current status of the decoder
* \ingroup vdr
*/
enum eDecodeStatus
- {
- dsOK=0, dsPlay, dsSkip, dsEof, dsError, dsSoftError
- };
+{
+ dsOK = 0, dsPlay, dsSkip, dsEof, dsError, dsSoftError
+};
// ----------------------------------------------------------------
-/*!
+/*!
* \brief A data structure to put decoded PCM data
* \ingroup vdr
*/
struct mgDecode
{
- eDecodeStatus status;
- int index;
- struct mad_pcm *pcm;
+ eDecodeStatus status;
+ int index;
+ struct mad_pcm *pcm;
};
// ----------------------------------------------------------------
-/*!
+/*!
* \brief Information about ???
* \ingroup vdr
*/
class mgPlayInfo
{
-public:
- int m_index, m_total;
+ public:
+ int m_index, m_total;
};
// ----------------------------------------------------------------
-/*!
+/*!
* \brief Media types
* \ingroup vdr
*/
enum mgMediaType
{
- MT_MP3, MT_MP3_STREAM, MT_OGG, MT_FLAC, MT_UNKNOWN
+ MT_MP3, MT_MP3_STREAM, MT_OGG, MT_FLAC, MT_UNKNOWN
};
-/*!
+/*!
* \brief A generic decoder class to handle conversion into PCM format
* \ingroup vdr
*/
class mgDecoder
{
-protected:
+ protected:
- /*! \brief database handle to the track being decoded */
- mgContentItem *m_item;
+/*! \brief database handle to the track being decoded */
+ mgContentItem * m_item;
- /*! \brief The currently playing file */
- std::string m_filename;
+/*! \brief The currently playing file */
+ std::string m_filename;
- /*! \brief Mutexes to coordinate threads */
- cMutex m_lock, m_locklock;
- int m_locked;
- bool m_urgentLock;
-
- /*! \brief Whether the decoder is currently active */
- bool m_playing;
+/*! \brief Mutexes to coordinate threads */
+ cMutex m_lock, m_locklock;
+ int m_locked;
+ bool m_urgentLock;
- /*! \brief ??? */
- mgPlayInfo m_playinfo;
+/*! \brief Whether the decoder is currently active */
+ bool m_playing;
- /*! \brief Place a lock */
- virtual void lock( bool urgent = false );
+/*! \brief ??? */
+ mgPlayInfo m_playinfo;
- /*! \brief Release a lock */
- virtual void unlock(void);
+/*! \brief Place a lock */
+ virtual void lock (bool urgent = false);
- /*! \brief Try to obtain a lock */
- virtual bool tryLock(void);
+/*! \brief Release a lock */
+ virtual void unlock (void);
-public:
+/*! \brief Try to obtain a lock */
+ virtual bool tryLock (void);
- //@{
- /*! \brief The constructor */
- mgDecoder( mgContentItem *item );
+ public:
- /*! \brief The destructor */
- virtual ~mgDecoder();
- //@}
+//@{
+/*! \brief The constructor */
+ mgDecoder (mgContentItem * item);
- /*! \brief Whether a decoder instance is able to play the given file */
- virtual bool valid() = 0;
+/*! \brief The destructor */
+ virtual ~ mgDecoder ();
+//@}
- /*! \brief Whether a stream (i.e. from the network is being decoded */
- virtual bool isStream()
- {
- return false;
- }
+/*! \brief Whether a decoder instance is able to play the given file */
+ virtual bool valid () = 0;
- /*! \brief Start decoding */
- virtual bool start() = 0;
+/*! \brief Whether a stream (i.e. from the network is being decoded */
+ virtual bool isStream ()
+ {
+ return false;
+ }
- /*! \brief Stop decoding */
- virtual bool stop() = 0;
+/*! \brief Start decoding */
+ virtual bool start () = 0;
- /*! \brief Skip an amount of time. Impossible by default */
- virtual bool skip( int seconds, int avail, int rate)
- {
- return false;
- }
+/*! \brief Stop decoding */
+ virtual bool stop () = 0;
- /*! \brief Return decoded data */
- virtual struct mgDecode *decode() = 0;
+/*! \brief Skip an amount of time. Impossible by default */
+ virtual bool skip (int seconds, int avail, int rate)
+ {
+ return false;
+ }
- /*! \brief Information about the current playback status */
- virtual mgPlayInfo *playInfo()
- {
- return 0;
- }
+/*! \brief Return decoded data */
+ virtual struct mgDecode *decode () = 0;
+
+/*! \brief Information about the current playback status */
+ virtual mgPlayInfo *playInfo ()
+ {
+ return 0;
+ }
};
-
+
// ----------------------------------------------------------------
-/*!
+/*!
* \brief A generic decoder manager class to handle different decoders
*/
class mgDecoders
{
-public:
-
- /*! \brief Try to find a valid decoder for a file
- */
- static mgDecoder *findDecoder( mgContentItem *item );
+ public:
- /*! \brief determine the media type for a given source
- */
- static mgMediaType getMediaType( std::string filename );
+/*! \brief Try to find a valid decoder for a file
+ */
+ static mgDecoder *findDecoder (mgContentItem * item);
-};
+/*! \brief determine the media type for a given source
+ */
+ static mgMediaType getMediaType (std::string filename);
-#endif //___DECODER_H
+};
+#endif //___DECODER_H