class eDVBAudio: public iObject
{
-DECLARE_REF(eDVBAudio);
+ 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);
class eDVBVideo: public iObject, public Object
{
-DECLARE_REF(eDVBVideo);
+ DECLARE_REF(eDVBVideo);
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;
class eDVBPCR: public iObject
{
-DECLARE_REF(eDVBPCR);
+ DECLARE_REF(eDVBPCR);
private:
ePtr<eDVBDemux> m_demux;
int m_fd_demux;
class eDVBTText: public iObject
{
-DECLARE_REF(eDVBTText);
+ DECLARE_REF(eDVBTText);
private:
ePtr<eDVBDemux> m_demux;
int m_fd_demux;
class eTSMPEGDecoder: public Object, public iTSMPEGDecoder
{
+ DECLARE_REF(eTSMPEGDecoder);
+private:
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<eDVBDemux> m_demux;
ePtr<eDVBAudio> m_audio;
ePtr<eDVBVideo> m_video;
void demux_event(int event);
void video_event(struct videoEvent);
Signal1<void, struct videoEvent> m_video_event;
+ int m_video_clip_fd;
+ eTimer m_showSinglePicTimer;
+ void finishShowSinglePic(); // called by timer
public:
enum { pidNone = -1 };
eTSMPEGDecoder(eDVBDemux *demux, int decoder);