DECLARE_REF(eDVBAudio);
private:
ePtr<eDVBDemux> m_demux;
- int m_fd, m_fd_demux, m_dev;
+ int m_fd, m_fd_demux, m_dev, m_is_freezed;
public:
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();
- void stopPid();
+ int setPid(int pid, int type);
+ int startPid();
+ int start();
+ int stopPid();
+ int setAVSync(int val);
+#else
+ int startPid(int pid, int type);
#endif
void flush();
void freeze();
private:
ePtr<eDVBDemux> m_demux;
int m_fd, m_fd_demux, m_dev;
-
- int m_is_slow_motion, m_is_fast_forward;
+#if HAVE_DVB_API_VERSION < 3
+ m_fd_video;
+#endif
+ int m_is_slow_motion, m_is_fast_forward, m_is_freezed;
eSocketNotifier *m_sn;
void video_event(int what);
Signal1<void, struct iTSMPEGDecoder::videoEvent> m_event;
public:
enum { MPEG2, MPEG4_H264 };
eDVBVideo(eDVBDemux *demux, int dev);
- int startPid(int pid, int type=MPEG2);
void stop();
#if HAVE_DVB_API_VERSION < 3
- void start();
- void stopPid();
+ int setPid(int pid);
+ int startPid();
+ int start();
+ int stopPid();
+#else
+ int startPid(int pid, int type=MPEG2);
#endif
void flush();
void freeze();
int m_fd_demux;
public:
eDVBPCR(eDVBDemux *demux);
+#if HAVE_DVB_API_VERSION < 3
+ int setPid(int pid);
+ int startPid();
+#else
int startPid(int pid);
+#endif
void stop();
virtual ~eDVBPCR();
};
RESULT setTextPID(int textpid);
RESULT setSyncMaster(int who);
RESULT start();
+ RESULT preroll();
RESULT freeze(int cont);
RESULT unfreeze();
RESULT setSinglePictureMode(int when);