X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c21489da95da44864e63edd6987baf17d3cbe84f..60c8087aa78a5fa24617b0f2ef86fa54f6083101:/lib/dvb/decoder.h diff --git a/lib/dvb/decoder.h b/lib/dvb/decoder.h index bceca040..8e8f65ad 100644 --- a/lib/dvb/decoder.h +++ b/lib/dvb/decoder.h @@ -11,9 +11,11 @@ private: ePtr m_demux; int m_fd, m_fd_demux, m_dev; public: - enum {aMPEG, aAC3, aDTS }; + enum { aMPEG, aAC3, aDTS, aAAC }; eDVBAudio(eDVBDemux *demux, int dev); int startPid(int pid, int type); + enum { aMonoLeft, aStereo, aMonoRight }; + void setChannel(int channel); void stop(); #if HAVE_DVB_API_VERSION < 3 void start(); @@ -35,8 +37,9 @@ private: int m_is_slow_motion, m_is_fast_forward; public: + enum { MPEG2, MPEG4_H264 }; eDVBVideo(eDVBDemux *demux, int dev); - int startPid(int pid); + int startPid(int pid, int type=MPEG2); void stop(); #if HAVE_DVB_API_VERSION < 3 void start(); @@ -79,14 +82,18 @@ public: class eTSMPEGDecoder: public Object, public iTSMPEGDecoder { + static int m_pcm_delay; + static int m_ac3_delay; + static int m_audio_channel; DECLARE_REF(eTSMPEGDecoder); + std::string m_radio_pic; private: ePtr m_demux; ePtr m_audio; ePtr m_video; ePtr m_pcr; ePtr m_text; - int m_vpid, m_apid, m_atype, m_pcrpid, m_textpid; + int m_vpid, m_vtype, m_apid, m_atype, m_pcrpid, m_textpid; enum { changeVideo = 1, @@ -104,8 +111,14 @@ public: enum { pidNone = -1 }; eTSMPEGDecoder(eDVBDemux *demux, int decoder); virtual ~eTSMPEGDecoder(); - RESULT setVideoPID(int vpid); + RESULT setVideoPID(int vpid, int type); RESULT setAudioPID(int apid, int type); + RESULT setAudioChannel(int channel); + int getAudioChannel(); + RESULT setPCMDelay(int delay); + int getPCMDelay() { return m_pcm_delay; } + RESULT setAC3Delay(int delay); + int getAC3Delay() { return m_ac3_delay; } RESULT setSyncPCR(int pcrpid); RESULT setTextPID(int textpid); RESULT setSyncMaster(int who); @@ -119,7 +132,8 @@ public: RESULT setZoom(int what); RESULT flush(); RESULT setTrickmode(int what); - + RESULT showSinglePic(const char *filename); + RESULT setRadioPic(const std::string &filename); /* what 0=auto, 1=video, 2=audio. */ RESULT getPTS(int what, pts_t &pts); };