17 #include <dvbsi++/service_description_section.h>
33 disable->
start(60000,
true);
47 disable->
start(3000,
true);
127 static int exist(
int nr);
128 static bool isusb(
int nr);
144 std::string usbFrontendName;
145 std::string virtualFrontendName;
147 unsigned short int pidList[30];
148 unsigned char buffer[4 * 1024 * 188];
149 pthread_t pumpThread;
150 static void *threadproc(
void *
arg);
165 enum { DM7025, DM800, DM500HD, DM800SE, DM8000, DM7020HD, DM7080, DM820, DM520, DM525, DM900, DM920, GIGABLUE, DM500HDV2, DM800SEV2, WETEKPLAY, WETEKPLAY2, WETEKHUB};
172 void addAdapter(
iDVBAdapter *adapter,
bool front =
false);
186 std::list<active_channel> m_active_channels, m_active_simulate_channels;
200 sigc::signal1<void,eDVBChannel*> m_channelAdded;
203 sigc::connection m_cached_channel_state_changed_conn;
206 void feStateChanged();
292 int getSkipMode() {
return m_skipmode_m; }
327 sigc::signal1<void,iDVBChannel*> m_stateChanged;
328 sigc::signal2<void,iDVBChannel*,int> m_event;
340 void pvrEvent(
int event);
348 void cueSheetEvent(
int event);
350 int m_skipmode_m, m_skipmode_n, m_skipmode_frames, m_skipmode_frames_remainder;
352 std::list<std::pair<off_t, off_t> > m_source_span;
353 void getNextSourceSpan(off_t current_offset,
size_t bytes_read, off_t &start,
size_t &
size,
int blocksize);
354 void flushPVR(
iDVBDemux *decoding_demux=0);
367 void SDTready(
int err);
long long pts_t
Definition: cfile.h:7
int getNumFrontends()
Definition: dvb.cpp:311
RESULT getDemux(ePtr< eDVBDemux > &demux, int nr)
Definition: dvb.cpp:293
static int exist(int nr)
Definition: dvb.cpp:333
void scanDevices()
Definition: dvb.cpp:233
int getNumDemux()
Definition: dvb.cpp:288
eDVBAdapterLinux(int nr)
Definition: dvb.cpp:229
static std::map< std::string, std::string > mappedFrontendName
Definition: dvb.h:134
static bool isusb(int nr)
Definition: dvb.cpp:340
RESULT getFrontend(ePtr< eDVBFrontend > &fe, int nr, bool simulate=false)
Definition: dvb.cpp:316
eDVBAllocatedDemux(eDVBRegisteredDemux *demux)
Definition: dvb.cpp:53
~eDVBAllocatedDemux()
Definition: dvb.cpp:58
eDVBDemux & get()
Definition: dvb.h:95
~eDVBAllocatedFrontend()
Definition: dvb.cpp:46
eDVBAllocatedFrontend(eDVBRegisteredFrontend *fe)
Definition: dvb.cpp:33
eDVBFrontend & get()
Definition: dvb.h:80
RESULT getLength(pts_t &len)
Definition: dvb.cpp:2678
RESULT getState(int &state)
Definition: dvb.cpp:2451
int reserveDemux()
Definition: dvb.cpp:2479
void setOfflineDecodeMode(int parityswitchdelay)
Definition: dvb.cpp:2673
int getDvrId()
Definition: dvb.cpp:2491
RESULT playFile(const char *file)
Definition: dvb.cpp:2575
RESULT getCurrentFrontendParameters(ePtr< iDVBFrontendParameters > ¶m)
Definition: dvb.cpp:2569
RESULT getFrontend(ePtr< iDVBFrontend > &frontend)
Definition: dvb.cpp:2558
void setCueSheet(eCueSheet *cuesheet)
Definition: dvb.cpp:2665
RESULT getCurrentPosition(iDVBDemux *decoding_demux, pts_t &pos, int mode)
Definition: dvb.cpp:2686
RESULT setChannel(const eDVBChannelID &id, ePtr< iDVBFrontendParameters > &feparam)
Definition: dvb.cpp:2405
int getUseCount()
Definition: dvb.h:316
void stop()
Definition: dvb.cpp:2649
RESULT setCIRouting(const eDVBCIRouting &routing)
Definition: dvb.cpp:2457
RESULT getDemux(ePtr< iDVBDemux > &demux, int cap)
Definition: dvb.cpp:2520
eDVBChannel(eDVBResourceManager *mgr, eDVBAllocatedFrontend *frontend)
Definition: dvb.cpp:1957
eDVBChannelID getChannelID()
Definition: dvb.h:290
RESULT requestTsidOnid()
Definition: dvb.cpp:2501
RESULT connectStateChange(const sigc::slot1< void, iDVBChannel * > &stateChange, ePtr< eConnection > &connection)
Definition: dvb.cpp:2439
RESULT connectEvent(const sigc::slot2< void, iDVBChannel *, int > &eventChange, ePtr< eConnection > &connection)
Definition: dvb.cpp:2445
virtual ~eDVBChannel()
Definition: dvb.cpp:1970
RESULT playSource(ePtr< iTsSource > &source, const char *priv=NULL)
Definition: dvb.cpp:2589
Definition: frontend.h:59
int closeFrontend(bool force=false, bool no_delayed=false)
Definition: frontend.cpp:931
int openFrontend()
Definition: frontend.cpp:706
int m_inuse
Definition: dvb.h:60
eDVBRegisteredFrontend(eDVBFrontend *fe, iDVBAdapter *adap)
Definition: dvb.h:37
sigc::signal0< void > stateChanged
Definition: dvb.h:36
iDVBAdapter * m_adapter
Definition: dvb.h:58
ePtr< eDVBFrontend > m_frontend
Definition: dvb.h:59
void inc_use()
Definition: dvb.h:50
void dec_use()
Definition: dvb.h:42
static RESULT getInstance(ePtr< eDVBResourceManager > &)
Definition: dvb.cpp:67
void releaseCachedChannel()
Definition: dvb.cpp:1547
int canAllocateFrontend(ePtr< iDVBFrontendParameters > &feparm, bool simulate=false)
Definition: dvb.cpp:1650
SWIG_VOID(RESULT) allocateRawChannel(eUsePtr< iDVBChannel > &SWIG_OUTPUT
PyObject * setFrontendSlotInformations(SWIG_PYOBJECT(ePyObject) list)
Definition: dvb.cpp:841
RESULT connectChannelAdded(const sigc::slot1< void, eDVBChannel * > &channelAdded, ePtr< eConnection > &connection)
Definition: dvb.cpp:1644
PSignal1< void, int > frontendUseMaskChanged
Definition: dvb.h:254
RESULT getActiveChannels(std::list< active_channel > &list)
Definition: dvb.cpp:1350
std::string getFrontendCapabilities(int index)
Definition: dvb.cpp:959
RESULT getChannelList(ePtr< iDVBChannelList > &list)
Definition: dvb.cpp:1341
RESULT allocateFrontend(ePtr< eDVBAllocatedFrontend > &fe, ePtr< iDVBFrontendParameters > &feparm, bool simulate=false, bool returnScoreOnly=false)
Definition: dvb.cpp:1008
eDVBResourceManager()
Definition: dvb.cpp:84
RESULT allocateChannel(const eDVBChannelID &channelid, eUsePtr< iDVBChannel > &channel, bool simulate=false)
Definition: dvb.cpp:1424
bool frontendIsMultistream(int index)
Definition: dvb.cpp:947
bool frontendIsCompatible(int index, const char *type)
Definition: dvb.cpp:897
bool frontendPreferenceAllowsChannelUse(const eDVBChannelID &channelid, eUsePtr< iDVBChannel > channel, bool simulate)
Definition: dvb.cpp:1362
virtual ~eDVBResourceManager()
Definition: dvb.cpp:712
void setFrontendType(int index, const char *type, bool append=false)
Definition: dvb.cpp:971
@ errChannelNotInList
Definition: dvb.h:223
@ errNoSourceFound
Definition: dvb.h:225
@ errNoChannelList
Definition: dvb.h:222
@ errAllSourcesBusy
Definition: dvb.h:224
@ errNoDemux
Definition: dvb.h:220
@ errChidNotFound
Definition: dvb.h:221
int slot_index
Definition: dvb.h:255
RESULT allocateFrontendByIndex(ePtr< eDVBAllocatedFrontend > &fe, int slot_index)
Definition: dvb.cpp:1084
int canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID &ignore, int &system, bool simulate=false)
Definition: dvb.cpp:1714
RESULT allocatePVRChannel(const eDVBChannelID &channelid, eUsePtr< iDVBPVRChannel > &channel)
Definition: dvb.cpp:1573
RESULT setChannelList(iDVBChannelList *list)
Definition: dvb.cpp:1335
RESULT allocateDemux(eDVBRegisteredFrontend *fe, ePtr< eDVBAllocatedDemux > &demux, int &cap)
Definition: dvb.cpp:1140
bool canMeasureFrontendInputPower()
Definition: dvb.cpp:1889
int getFrontendType(int index)
Definition: dvb.cpp:937
eDVBUsbAdapter(int nr)
Definition: dvb.cpp:353
~eDVBUsbAdapter()
Definition: dvb.cpp:560
Definition: rtspstreamserver.h:17
int fe
Definition: rtspstreamserver.h:43
Gives a callback after a specified timeout.
Definition: ebase.h:277
void start(long msec, bool b=false)
Definition: ebase.cpp:48
PSignal0< void > timeout
Definition: ebase.h:299
virtual int getNumDemux()=0
virtual int getNumFrontends()=0
virtual RESULT getDemux(ePtr< eDVBDemux > &demux, int nr)=0
virtual RESULT getFrontend(ePtr< eDVBFrontend > &fe, int nr, bool simulate=false)=0
Definition: filepush.h:12
ePtr< eDVBResourceManager > NewResourceManagerPtr(void)
Definition: dvb.cpp:77
SWIG_TEMPLATE_TYPEDEF(ePtr< eDVBResourceManager >, eDVBResourceManager)
SWIG_EXTEND(ePtr< eDVBResourceManager >, static ePtr< eDVBResourceManager > getInstance() { extern ePtr< eDVBResourceManager > NewResourceManagerPtr(void);return NewResourceManagerPtr();})
SWIG_IGNORE(eDVBResourceManager)
eApplication * eApp
Definition: ebase.cpp:416
#define NULL
Definition: eerror.h:101
#define CONNECT(_signal, _slot)
Definition: libsig_comp.h:6
size
Definition: Plugins/SystemPlugins/PositionerSetup/log.py:16
file
Definition: newplugin.py:100
pos
Definition: enigma_py_patcher.py:16
source
Definition: enigma_py_patcher.py:9
list list
Definition: main.py:25
index
Definition: main.py:28
int RESULT
Definition: object.h:12
iDVBAdapter * m_adapter
Definition: dvb.h:67
int m_inuse
Definition: dvb.h:69
eDVBRegisteredDemux(eDVBDemux *demux, iDVBAdapter *adap)
Definition: dvb.h:70
DECLARE_REF(eDVBRegisteredDemux)
ePtr< eDVBDemux > m_demux
Definition: dvb.h:68
active_channel(const eDVBChannelID &chid, eDVBChannel *ch)
Definition: dvb.h:182
eDVBChannel * m_channel
Definition: dvb.h:180
eDVBChannelID m_channel_id
Definition: dvb.h:178
#define SWIG_OUTPUT
Definition: swig.h:20
#define SWIG_PYOBJECT(x)
Definition: swig.h:23
uint8_t mode
Definition: vps.cpp:40