#include <lib/dvb/frontendparms.h>
#include <lib/base/object.h>
#include <lib/base/ebase.h>
+#include <lib/base/elock.h>
#include <lib/service/service.h>
#include <libsig_comp.h>
#include <connection.h>
virtual RESULT setSecSequence(const eSecCommandList &list)=0;
enum {
- bitErrorRate, signalPower, signalQuality
+ bitErrorRate, signalPower, signalQuality, Locked, Synced
};
virtual int readFrontendData(int type)=0;
+ virtual PyObject *readTransponderData()=0;
virtual RESULT getData(int num, int &data)=0;
virtual RESULT setData(int num, int val)=0;
class iDVBSatelliteEquipmentControl: public iObject
{
public:
- virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat, int frontend_id)=0;
+ virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id)=0;
virtual int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *fe, int frontend_id)=0;
virtual void setRotorMoving(bool)=0;
};
state_failed, /* tuning failed. */
state_unavailable, /* currently unavailable, will be back without further interaction */
state_ok, /* ok */
+ state_last_instance, /* just one reference to this channel is left */
state_release /* channel is being shut down. */
};
typedef long long pts_t;
class iFilePushScatterGather;
+class iTSMPEGDecoder;
/* note that a cue sheet describes the logical positions. thus
everything is specified in pts and not file positions */
void clear();
void addSourceSpan(const pts_t &begin, const pts_t &end);
+ void commitSpans();
void setSkipmode(const pts_t &ratio); /* 90000 is 1:1 */
- void setDecodingDemux(iDVBDemux *demux);
+ void setDecodingDemux(iDVBDemux *demux, iTSMPEGDecoder *decoder);
+
+ /* frontend and backend */
+ eSingleLock m_lock;
/* backend */
enum { evtSeek, evtSkipmode, evtSpanChanged };
pts_t m_skipmode_ratio;
Signal1<void,int> m_event;
ePtr<iDVBDemux> m_decoding_demux;
+ ePtr<iTSMPEGDecoder> m_decoder;
};
class iDVBPVRChannel: public iDVBChannel
virtual RESULT setZoom(int what)=0;
virtual RESULT setTrickmode(int what) = 0;
+
+ virtual RESULT getPTS(int what, pts_t &pts) = 0;
};
#endif