diff options
-rw-r--r-- | device.h | 87 |
1 files changed, 37 insertions, 50 deletions
@@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: device.h,v 1.43 2009-01-31 19:20:57 phintuka Exp $ + * $Id: device.h,v 1.44 2009-05-03 20:22:38 phintuka Exp $ * */ @@ -21,13 +21,13 @@ class cChannel; class cFunctor; typedef enum { - miTitle = 0, + miTitle = 0, miTracknumber = 1, - miArtist = 2, - miAlbum = 3, - miDvdTitleNo = 4, - miDvdButtons = 5, - mi_Count = 6 + miArtist = 2, + miAlbum = 3, + miDvdTitleNo = 4, + miDvdButtons = 5, + mi_Count = 6 } eMetainfoType; # define ttXSubtitleNone (-2) @@ -35,7 +35,7 @@ typedef enum { #define MAX_METAINFO_LEN 63 -class cXinelibDevice : public cDevice +class cXinelibDevice : public cDevice { // Singleton @@ -51,24 +51,21 @@ class cXinelibDevice : public cDevice virtual ~cXinelibDevice(); - // device start/stop (from cPlugin) public: bool StartDevice(void); void StopDevice(void); - // function calls waiting to be executed in VDR main thread context private: - cList<cFunctor> m_MainThreadFunctors; + cList<cFunctor> m_MainThreadFunctors; cMutex m_MainThreadLock; public: void MainThreadHook(void); - // Primary device switching private: @@ -81,14 +78,12 @@ class cXinelibDevice : public cDevice virtual void MakePrimaryDevice(bool On); void ForcePrimaryDevice(bool On); - // Device capabilities - public: + public: virtual bool HasDecoder(void) const { return true; }; virtual bool CanReplay(void) const { return true; }; - - virtual bool HasIBPTrickSpeed(void); + virtual bool HasIBPTrickSpeed(void) { return xc.ibp_trickspeed; } // Playback control @@ -111,8 +106,6 @@ class cXinelibDevice : public cDevice virtual bool Flush(int TimeoutMs = 0); virtual int64_t GetSTC(void); - bool UseIBPTrickSpeed(void); - // Video format facilities public: @@ -124,16 +117,8 @@ class cXinelibDevice : public cDevice protected: virtual void SetAudioTrackDevice(eTrackType Type); - - private: - char m_MetaInfo[mi_Count][MAX_METAINFO_LEN+1]; - - public: virtual void SetSubtitleTrackDevice(eTrackType Type); - const char *GetMetaInfo(eMetainfoType Type); - void SetMetaInfo(eMetainfoType Type, const char *Value); - // Audio facilities private: @@ -145,13 +130,11 @@ class cXinelibDevice : public cDevice virtual void SetVolumeDevice(int Volume); virtual void SetDigitalAudioDevice(bool On); - // Image grabbing public: - virtual uchar *GrabImage(int &Size, bool Jpeg = true, - int Quality = -1, int SizeX = -1, int SizeY = -1); - + virtual uchar *GrabImage(int &Size, bool Jpeg = true, + int Quality = -1, int SizeX = -1, int SizeY = -1); // SPU decoder @@ -163,7 +146,6 @@ class cXinelibDevice : public cDevice public: virtual cSpuDecoder *GetSpuDecoder(void); - // Messages from StatusMonitor: private: @@ -175,13 +157,11 @@ class cXinelibDevice : public cDevice void SetReplayMode(void); void StopOutput(void); - // Osd Commands (from cXinelibOsd) public: void OsdCmd(void *cmd); - // Configuration private: @@ -190,37 +170,44 @@ class cXinelibDevice : public cDevice cXinelibThread *m_local; public: - void ConfigurePostprocessing(const char *deinterlace_method, - int audio_delay, - int audio_compression, - const int *audio_equalizer, - int audio_surround, - int speaker_type); - void ConfigurePostprocessing(const char *name, bool on=true, - const char *args=NULL); + void ConfigurePostprocessing(const char *deinterlace_method, + int audio_delay, + int audio_compression, + const int *audio_equalizer, + int audio_surround, + int speaker_type); + void ConfigurePostprocessing(const char *name, bool on = true, + const char *args = NULL); void ConfigureVideo(int hue, int saturation, int brightness, int sharpness, - int noise_reduction, int contrast, int overscan, int vo_aspect_ratio); + int noise_reduction, int contrast, int overscan, int vo_aspect_ratio); // local mode: - void ConfigureWindow(int fullscreen, int width, int height, - int modeswitch, const char *modeline, - int aspect, int scale_video, int field_order); + void ConfigureWindow(int fullscreen, int width, int height, + int modeswitch, const char *modeline, + int aspect, int scale_video, int field_order); void ConfigureDecoder(int pes_buffers); // remote mode: void Listen(bool activate, int port); - // File playback private: ePlayMode m_PlayingFile; public: - bool PlayFile(const char *Filename, int Position=0, - bool LoopPlay=false, ePlayMode PlayMode=pmAudioVideo, - int TimeoutMs = -1); - int PlayFileCtrl(const char *Cmd, int TimeoutMs=-1); + bool PlayFile(const char *Filename, int Position = 0, + bool LoopPlay = false, ePlayMode PlayMode = pmAudioVideo, + int TimeoutMs = -1); + int PlayFileCtrl(const char *Cmd, int TimeoutMs = -1); bool EndOfStreamReached(void); + // Metainfo cache + + private: + char m_MetaInfo[mi_Count][MAX_METAINFO_LEN+1]; + + public: + const char *GetMetaInfo(eMetainfoType Type); + void SetMetaInfo(eMetainfoType Type, const char *Value); // Stream data |