git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
release cached channel after 3 seconds when not needed
[enigma2.git]
/
lib
/
dvb
/
dvb.h
diff --git
a/lib/dvb/dvb.h
b/lib/dvb/dvb.h
index 0e449144462132ee558f41cdc41d78a96e4a39f9..15e27536cef9f10d1be3e30e06a72b37144d68e9 100644
(file)
--- a/
lib/dvb/dvb.h
+++ b/
lib/dvb/dvb.h
@@
-117,13
+117,11
@@
private:
eSmartPtrList<eDVBDemux> m_demux;
};
eSmartPtrList<eDVBDemux> m_demux;
};
-class eDVBResourceManager: public iObject
+class eDVBResourceManager: public iObject
, public Object
{
DECLARE_REF(eDVBResourceManager);
int avail, busy;
{
DECLARE_REF(eDVBResourceManager);
int avail, busy;
- eUsePtr<iDVBChannel> m_cached_channel;
-
eSmartPtrList<iDVBAdapter> m_adapter;
eSmartPtrList<eDVBRegisteredDemux> m_demux;
eSmartPtrList<iDVBAdapter> m_adapter;
eSmartPtrList<eDVBRegisteredDemux> m_demux;
@@
-167,6
+165,11
@@
class eDVBResourceManager: public iObject
Signal1<void,eDVBChannel*> m_channelAdded;
bool canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm);
Signal1<void,eDVBChannel*> m_channelAdded;
bool canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm);
+
+ eUsePtr<iDVBChannel> m_cached_channel;
+ eTimer m_releaseCachedChannelTimer;
+ void DVBChannelStateChanged(iDVBChannel*);
+ void releaseCachedChannel();
public:
eDVBResourceManager();
virtual ~eDVBResourceManager();
public:
eDVBResourceManager();
virtual ~eDVBResourceManager();
@@
-196,6
+199,7
@@
public:
class eDVBChannel: public iDVBPVRChannel, public iFilePushScatterGather, public Object
{
DECLARE_REF(eDVBChannel);
class eDVBChannel: public iDVBPVRChannel, public iFilePushScatterGather, public Object
{
DECLARE_REF(eDVBChannel);
+ friend class eDVBResourceManager;
public:
eDVBChannel(eDVBResourceManager *mgr, eDVBAllocatedFrontend *frontend);
virtual ~eDVBChannel();
public:
eDVBChannel(eDVBResourceManager *mgr, eDVBAllocatedFrontend *frontend);
virtual ~eDVBChannel();