openATV enigma2
openATV is an open source SetTopBox Graphical user interface.
idemux.h
Go to the documentation of this file.
1 #ifndef __dvb_idemux_h
2 #define __dvb_idemux_h
3 
4 #include <lib/dvb/idvb.h>
5 
7 {
8 public:
9  virtual RESULT setBufferSize(int size)=0;
10  virtual RESULT start(const eDVBSectionFilterMask &mask)=0;
11  virtual RESULT stop()=0;
12  virtual RESULT connectRead(const sigc::slot1<void,const uint8_t*> &read, ePtr<eConnection> &conn)=0;
13  virtual ~iDVBSectionReader() { };
14 };
15 
16 class iDVBPESReader: public iObject
17 {
18 public:
19  virtual RESULT setBufferSize(int size)=0;
20  virtual RESULT start(int pid)=0;
21  virtual RESULT stop()=0;
22  virtual RESULT connectRead(const sigc::slot2<void,const uint8_t*, int> &read, ePtr<eConnection> &conn)=0;
23  virtual ~iDVBPESReader() { };
24 };
25 
26  /* records a given set of pids into a file descriptor. */
27  /* the FD must not be modified between start() and stop() ! */
28 class iDVBTSRecorder: public iObject
29 {
30 public:
31  virtual RESULT setBufferSize(int size) = 0;
32  virtual RESULT start() = 0;
33  virtual RESULT addPID(int pid) = 0;
34  virtual RESULT removePID(int pid) = 0;
35 
37  virtual RESULT setTimingPID(int pid, timing_pid_type pidtype, int streamtype) = 0;
38 
39  virtual RESULT setTargetFD(int fd) = 0;
40  /* for saving additional meta data. */
41  virtual RESULT setTargetFilename(const std::string& filename) = 0;
42  virtual RESULT setBoundary(off_t max) = 0;
43  virtual RESULT enableAccessPoints(bool enable) = 0;
44 
45  virtual RESULT stop() = 0;
46 
47  virtual RESULT getCurrentPCR(pts_t &pcr) = 0;
48  virtual RESULT getFirstPTS(pts_t &pts) = 0;
49 
50  enum {
52  /* a write error has occurred. data won't get lost if fd is writable after return. */
53  /* you MUST respond with either stop() or fixing the problems, else you get the error */
54  /* again. */
56  /* the programmed boundary was reached. you might set a new target fd. you can close the */
57  /* old one. */
58  };
59  virtual RESULT connectEvent(const sigc::slot1<void,int> &event, ePtr<eConnection> &conn)=0;
60 };
61 
62 #endif
long long pts_t
Definition: cfile.h:7
Definition: idemux.h:17
virtual RESULT connectRead(const sigc::slot2< void, const uint8_t *, int > &read, ePtr< eConnection > &conn)=0
virtual RESULT start(int pid)=0
virtual RESULT setBufferSize(int size)=0
virtual RESULT stop()=0
virtual ~iDVBPESReader()
Definition: idemux.h:23
Definition: idemux.h:7
virtual RESULT connectRead(const sigc::slot1< void, const uint8_t * > &read, ePtr< eConnection > &conn)=0
virtual RESULT start(const eDVBSectionFilterMask &mask)=0
virtual RESULT stop()=0
virtual RESULT setBufferSize(int size)=0
virtual ~iDVBSectionReader()
Definition: idemux.h:13
Definition: idemux.h:29
@ eventReachedBoundary
Definition: idemux.h:55
@ eventWriteError
Definition: idemux.h:51
virtual RESULT setBoundary(off_t max)=0
virtual RESULT start()=0
timing_pid_type
Definition: idemux.h:36
@ none
Definition: idemux.h:36
@ audio_pid
Definition: idemux.h:36
@ video_pid
Definition: idemux.h:36
virtual RESULT setTimingPID(int pid, timing_pid_type pidtype, int streamtype)=0
virtual RESULT addPID(int pid)=0
virtual RESULT connectEvent(const sigc::slot1< void, int > &event, ePtr< eConnection > &conn)=0
virtual RESULT stop()=0
virtual RESULT setTargetFD(int fd)=0
virtual RESULT setBufferSize(int size)=0
virtual RESULT getCurrentPCR(pts_t &pcr)=0
virtual RESULT enableAccessPoints(bool enable)=0
virtual RESULT removePID(int pid)=0
virtual RESULT getFirstPTS(pts_t &pts)=0
virtual RESULT setTargetFilename(const std::string &filename)=0
Definition: object.h:15
const char * filename
Definition: epng.h:36
enable
Definition: Extensions/MiniTV/plugin.py:8
size
Definition: Plugins/SystemPlugins/PositionerSetup/log.py:16
int RESULT
Definition: object.h:12
#define max(a, b)
Definition: region.cpp:7
Definition: idvb.h:24