git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
graphmultiepg: fix crash when press red on channel without epg
[enigma2.git]
/
lib
/
dvb
/
pmt.h
diff --git
a/lib/dvb/pmt.h
b/lib/dvb/pmt.h
index 9e7c52740e390b8c38040f577a1f723af2e28592..ff0ef046090e115ebec629af3bfbc97d50dff7b8 100644
(file)
--- a/
lib/dvb/pmt.h
+++ b/
lib/dvb/pmt.h
@@
-3,6
+3,7
@@
#ifndef SWIG
#include <map>
#ifndef SWIG
#include <map>
+#include <lib/base/buffer.h>
#include <lib/dvb/idvb.h>
#include <lib/dvb/dvb.h>
#include <lib/dvb/idemux.h>
#include <lib/dvb/idvb.h>
#include <lib/dvb/dvb.h>
#include <lib/dvb/idemux.h>
@@
-35,6
+36,8
@@
typedef std::map<iDVBChannel*, channel_data*> ChannelMap;
class eDVBCAService: public Object
{
class eDVBCAService: public Object
{
+ eIOBuffer m_buffer;
+ ePtr<eSocketNotifier> m_sn;
eServiceReferenceDVB m_service;
uint8_t m_used_demux[32];
unsigned int m_prev_build_hash;
eServiceReferenceDVB m_service;
uint8_t m_used_demux[32];
unsigned int m_prev_build_hash;
@@
-43,9
+46,10
@@
class eDVBCAService: public Object
struct sockaddr_un m_servaddr;
unsigned int m_sendstate;
unsigned char m_capmt[2048];
struct sockaddr_un m_servaddr;
unsigned int m_sendstate;
unsigned char m_capmt[2048];
- e
Timer
m_retryTimer;
+ e
Ptr<eTimer>
m_retryTimer;
void sendCAPMT();
void Connect();
void sendCAPMT();
void Connect();
+ void socketCB(int what);
static void DVBChannelAdded(eDVBChannel*);
static void DVBChannelStateChanged(iDVBChannel*);
static void DVBChannelAdded(eDVBChannel*);
static void DVBChannelStateChanged(iDVBChannel*);
@@
-74,7
+78,7
@@
class eDVBServicePMTHandler: public Object
int m_last_channel_state;
eDVBCAService *m_ca_servicePtr;
int m_last_channel_state;
eDVBCAService *m_ca_servicePtr;
- e
DVBScan *
m_dvb_scan; // for sdt scan
+ e
Ptr<eDVBScan>
m_dvb_scan; // for sdt scan
eAUTable<eTable<ProgramMapSection> > m_PMT;
eAUTable<eTable<ProgramAssociationSection> > m_PAT;
eAUTable<eTable<ProgramMapSection> > m_PMT;
eAUTable<eTable<ProgramAssociationSection> > m_PAT;
@@
-121,6
+125,8
@@
public:
eventSOF, // seek pre start
eventEOF, // a file playback did end
eventSOF, // seek pre start
eventEOF, // a file playback did end
+
+ eventMisconfiguration, // a channel was not found in any list, or no frontend was found which could provide this channel
};
#ifndef SWIG
Signal1<void,int> serviceEvent;
};
#ifndef SWIG
Signal1<void,int> serviceEvent;
@@
-198,7
+204,7
@@
public:
int getChannel(eUsePtr<iDVBChannel> &channel);
void resetCachedProgram() { m_have_cached_program = false; }
int getChannel(eUsePtr<iDVBChannel> &channel);
void resetCachedProgram() { m_have_cached_program = false; }
- int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0);
+ int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0
, bool simulate=false
);
void free();
private:
bool m_have_cached_program;
void free();
private:
bool m_have_cached_program;