git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use new/delete instead of malloc/free
[enigma2.git]
/
lib
/
dvb
/
decoder.h
diff --git
a/lib/dvb/decoder.h
b/lib/dvb/decoder.h
index f1d074dbced85bff77229e5168058e5275c78439..8e8f65ad9fce3097c8cbacbcfbfcd228dbcd91bd 100644
(file)
--- a/
lib/dvb/decoder.h
+++ b/
lib/dvb/decoder.h
@@
-9,11
+9,13
@@
class eDVBAudio: public iObject
DECLARE_REF(eDVBAudio);
private:
ePtr<eDVBDemux> m_demux;
DECLARE_REF(eDVBAudio);
private:
ePtr<eDVBDemux> m_demux;
- int m_fd, m_fd_demux;
+ int m_fd, m_fd_demux
, m_dev
;
public:
public:
- enum {
aMPEG, aAC3, aDTS
};
+ enum {
aMPEG, aAC3, aDTS, aAAC
};
eDVBAudio(eDVBDemux *demux, int dev);
int startPid(int pid, int type);
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 stop();
#if HAVE_DVB_API_VERSION < 3
void start();
@@
-22,6
+24,7
@@
public:
void flush();
void freeze();
void unfreeze();
void flush();
void freeze();
void unfreeze();
+ int getPTS(pts_t &now);
virtual ~eDVBAudio();
};
virtual ~eDVBAudio();
};
@@
-30,12
+33,13
@@
class eDVBVideo: public iObject
DECLARE_REF(eDVBVideo);
private:
ePtr<eDVBDemux> m_demux;
DECLARE_REF(eDVBVideo);
private:
ePtr<eDVBDemux> m_demux;
- int m_fd, m_fd_demux;
+ int m_fd, m_fd_demux
, m_dev
;
int m_is_slow_motion, m_is_fast_forward;
public:
int m_is_slow_motion, m_is_fast_forward;
public:
+ enum { MPEG2, MPEG4_H264 };
eDVBVideo(eDVBDemux *demux, int dev);
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();
void stop();
#if HAVE_DVB_API_VERSION < 3
void start();
@@
-46,6
+50,7
@@
public:
int setSlowMotion(int repeat);
int setFastForward(int skip);
void unfreeze();
int setSlowMotion(int repeat);
int setFastForward(int skip);
void unfreeze();
+ int getPTS(pts_t &now);
virtual ~eDVBVideo();
};
virtual ~eDVBVideo();
};
@@
-62,29
+67,33
@@
public:
virtual ~eDVBPCR();
};
virtual ~eDVBPCR();
};
-class eDVB
V
Text: public iObject
+class eDVB
T
Text: public iObject
{
{
-DECLARE_REF(eDVB
V
Text);
+DECLARE_REF(eDVB
T
Text);
private:
ePtr<eDVBDemux> m_demux;
int m_fd_demux;
public:
private:
ePtr<eDVBDemux> m_demux;
int m_fd_demux;
public:
- eDVB
V
Text(eDVBDemux *demux);
+ eDVB
T
Text(eDVBDemux *demux);
int startPid(int pid);
void stop();
int startPid(int pid);
void stop();
- virtual ~eDVB
V
Text();
+ virtual ~eDVB
T
Text();
};
class eTSMPEGDecoder: public Object, public iTSMPEGDecoder
{
};
class eTSMPEGDecoder: public Object, public iTSMPEGDecoder
{
+ static int m_pcm_delay;
+ static int m_ac3_delay;
+ static int m_audio_channel;
DECLARE_REF(eTSMPEGDecoder);
DECLARE_REF(eTSMPEGDecoder);
+ std::string m_radio_pic;
private:
ePtr<eDVBDemux> m_demux;
ePtr<eDVBAudio> m_audio;
ePtr<eDVBVideo> m_video;
ePtr<eDVBPCR> m_pcr;
private:
ePtr<eDVBDemux> m_demux;
ePtr<eDVBAudio> m_audio;
ePtr<eDVBVideo> m_video;
ePtr<eDVBPCR> m_pcr;
- ePtr<eDVB
V
Text> m_text;
- int m_vpid, m_apid, m_atype, m_pcrpid, m_textpid;
+ ePtr<eDVB
T
Text> m_text;
+ int m_vpid, m_
vtype, m_
apid, m_atype, m_pcrpid, m_textpid;
enum
{
changeVideo = 1,
enum
{
changeVideo = 1,
@@
-92,7
+101,7
@@
private:
changePCR = 4,
changeText = 8
};
changePCR = 4,
changeText = 8
};
- int m_changed;
+ int m_changed
, m_decoder
;
int m_is_ff, m_is_sm, m_is_trickmode;
int setState();
ePtr<eConnection> m_demux_event;
int m_is_ff, m_is_sm, m_is_trickmode;
int setState();
ePtr<eConnection> m_demux_event;
@@
-102,8
+111,14
@@
public:
enum { pidNone = -1 };
eTSMPEGDecoder(eDVBDemux *demux, int decoder);
virtual ~eTSMPEGDecoder();
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 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);
RESULT setSyncPCR(int pcrpid);
RESULT setTextPID(int textpid);
RESULT setSyncMaster(int who);
@@
-117,5
+132,10
@@
public:
RESULT setZoom(int what);
RESULT flush();
RESULT setTrickmode(int what);
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);
};
};
+
#endif
#endif