projects
/
vuplus_dvbapp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support fast channel change.
[vuplus_dvbapp]
/
lib
/
dvb
/
frontend.h
diff --git
a/lib/dvb/frontend.h
b/lib/dvb/frontend.h
index
bc31755
..
aceb856
100644
(file)
--- a/
lib/dvb/frontend.h
+++ b/
lib/dvb/frontend.h
@@
-47,6
+47,9
@@
class eDVBFrontend: public iDVBFrontend, public Object
{
public:
enum {
{
public:
enum {
+ LINKABLE_CSW,
+ LINKABLE_UCSW,
+ LINKABLE_TONEBURST,
NEW_CSW,
NEW_UCSW,
NEW_TONEBURST,
NEW_CSW,
NEW_UCSW,
NEW_TONEBURST,
@@
-64,6
+67,8
@@
public:
CUR_VOLTAGE, // current voltage
CUR_TONE, // current continuous tone
SATCR, // current SatCR
CUR_VOLTAGE, // current voltage
CUR_TONE, // current continuous tone
SATCR, // current SatCR
+ DICTION, // current diction
+ PIN, // pin
NUM_DATA_ENTRIES
};
Signal1<void,iDVBFrontend*> m_stateChanged;
NUM_DATA_ENTRIES
};
Signal1<void,iDVBFrontend*> m_stateChanged;
@@
-71,13
+76,14
@@
private:
DECLARE_REF(eDVBFrontend);
bool m_simulate;
bool m_enabled;
DECLARE_REF(eDVBFrontend);
bool m_simulate;
bool m_enabled;
- int m_type;
+ bool m_fbc;
+ eDVBFrontend *m_simulate_fe; // only used to set frontend type in dvb.cpp
int m_dvbid;
int m_slotid;
int m_fd;
bool m_rotor_mode;
bool m_need_rotor_workaround;
int m_dvbid;
int m_slotid;
int m_fd;
bool m_rotor_mode;
bool m_need_rotor_workaround;
-
bool m_can_handle_dvbs2
;
+
std::map<fe_delivery_system_t, bool> m_delsys, m_delsys_whitelist
;
char m_filename[128];
char m_description[128];
#if HAVE_DVB_API_VERSION < 3
char m_filename[128];
char m_description[128];
#if HAVE_DVB_API_VERSION < 3
@@
-85,11
+91,7
@@
private:
char m_sec_filename[128];
#endif
FRONTENDPARAMETERS parm;
char m_sec_filename[128];
#endif
FRONTENDPARAMETERS parm;
- union {
- eDVBFrontendParametersSatellite sat;
- eDVBFrontendParametersCable cab;
- eDVBFrontendParametersTerrestrial ter;
- } oparm;
+ eDVBFrontendParameters oparm;
int m_state;
ePtr<iDVBSatelliteEquipmentControl> m_sec;
int m_state;
ePtr<iDVBSatelliteEquipmentControl> m_sec;
@@
-110,15
+112,16
@@
private:
void feEvent(int);
void timeout();
void tuneLoop(); // called by m_tuneTimer
void feEvent(int);
void timeout();
void tuneLoop(); // called by m_tuneTimer
+ int tuneLoopInt();
void setFrontend(bool recvEvents=true);
bool setSecSequencePos(int steps);
static int PriorityOrder;
void setFrontend(bool recvEvents=true);
bool setSecSequencePos(int steps);
static int PriorityOrder;
+ static int PreferredFrontendIndex;
public:
public:
- eDVBFrontend(int adap, int fe, int &ok, bool simulate=false);
+ eDVBFrontend(int adap, int fe, int &ok, bool simulate=false
, eDVBFrontend *simulate_fe=NULL
);
virtual ~eDVBFrontend();
int readInputpower();
virtual ~eDVBFrontend();
int readInputpower();
- RESULT getFrontendType(int &type);
RESULT tune(const iDVBFrontendParameters &where);
RESULT prepare_sat(const eDVBFrontendParametersSatellite &, unsigned int timeout);
RESULT prepare_cable(const eDVBFrontendParametersCable &);
RESULT tune(const iDVBFrontendParameters &where);
RESULT prepare_sat(const eDVBFrontendParametersSatellite &, unsigned int timeout);
RESULT prepare_cable(const eDVBFrontendParametersCable &);
@@
-130,7
+133,7
@@
public:
RESULT sendDiseqc(const eDVBDiseqcCommand &diseqc);
RESULT sendToneburst(int burst);
RESULT setSEC(iDVBSatelliteEquipmentControl *sec);
RESULT sendDiseqc(const eDVBDiseqcCommand &diseqc);
RESULT sendToneburst(int burst);
RESULT setSEC(iDVBSatelliteEquipmentControl *sec);
- RESULT setSecSequence(
const
eSecCommandList &list);
+ RESULT setSecSequence(eSecCommandList &list);
RESULT getData(int num, long &data);
RESULT setData(int num, long val);
RESULT getData(int num, long &data);
RESULT setData(int num, long val);
@@
-145,15
+148,22
@@
public:
bool setSlotInfo(ePyObject obj); // get a tuple (slotid, slotdescr)
static void setTypePriorityOrder(int val) { PriorityOrder = val; }
static int getTypePriorityOrder() { return PriorityOrder; }
bool setSlotInfo(ePyObject obj); // get a tuple (slotid, slotdescr)
static void setTypePriorityOrder(int val) { PriorityOrder = val; }
static int getTypePriorityOrder() { return PriorityOrder; }
+ static void setPreferredFrontend(int index) { PreferredFrontendIndex = index; }
+ static int getPreferredFrontend() { return PreferredFrontendIndex; }
+
+ bool supportsDeliverySystem(const fe_delivery_system_t &sys, bool obeywhitelist);
+ void setDeliverySystemWhitelist(const std::vector<fe_delivery_system_t> &whitelist);
void reopenFrontend();
int openFrontend();
void reopenFrontend();
int openFrontend();
- int closeFrontend(bool force=false);
+ int closeFrontend(bool force=false
, bool no_delayed=false
);
const char *getDescription() const { return m_description; }
bool is_simulate() const { return m_simulate; }
const char *getDescription() const { return m_description; }
bool is_simulate() const { return m_simulate; }
-
- RESULT turnOffSatCR(int satcr);
- RESULT ScanSatCR();
+ bool is_FBCTuner() { return m_fbc; }
+ bool getEnabled() { return m_enabled; }
+ void setEnabled(bool enable) { m_enabled = enable; }
+ bool isLoopTimerActive() { return m_tuneTimer->isActive(); }
+ bool isScheduledSendDiseqc();
};
#endif // SWIG
};
#endif // SWIG