blob: 3b4cbede06fe9b0ef22d45effc26c1916d6000c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#ifndef __dvb_demux_h
#define __dvb_demux_h
#include <lib/dvb/idvb.h>
#include <lib/dvb/isection.h>
class eDVBDemux: public virtual iDVBDemux
{
int adapter, demux;
friend class eDVBSectionReader;
friend class eDVBAudio;
friend class eDVBVideo;
public:
DECLARE_REF
eDVBDemux(int adapter, int demux);
virtual ~eDVBDemux();
RESULT createSectionReader(eMainloop *context, ePtr<iDVBSectionReader> &reader);
RESULT getMPEGDecoder(ePtr<iTSMPEGDecoder> &reader);
};
class eDVBSectionReader: public virtual iDVBSectionReader, public Object
{
DECLARE_REF
private:
int fd;
Signal1<void, const __u8*> read;
ePtr<eDVBDemux> demux;
int active;
int checkcrc;
void data(int);
eSocketNotifier *notifier;
public:
eDVBSectionReader(eDVBDemux *demux, eMainloop *context, RESULT &res);
virtual ~eDVBSectionReader();
RESULT start(const eDVBSectionFilterMask &mask);
RESULT stop();
RESULT connectRead(const Slot1<void,const __u8*> &read, ePtr<eConnection> &conn);
};
#endif
|