dvbchannel.cpp File Reference

Go to the source code of this file.

Functions

static void drain_dvb_events (int fd)
 Reads all the events off the queue, so we can use select in wait_for_backend(int,int).
static bool wait_for_backend (int fd, int timeout_ms)
 Waits for backend to get tune message.
static struct
dvb_frontend_parameters 
dtvmultiplex_to_dvbparams (DTVTunerType, const DTVMultiplex &, int intermediate_freq, bool can_fec_auto)
static DTVMultiplex dvbparams_to_dtvmultiplex (DTVTunerType, const dvb_frontend_parameters &)
static struct dtv_properties * dtvmultiplex_to_dtvproperties (DTVTunerType tuner_type, const DTVMultiplex &tuning, int intermediate_freq, bool can_fec_auto, bool do_tune=true)

Function Documentation

static void drain_dvb_events ( int  fd  )  [static]

Reads all the events off the queue, so we can use select in wait_for_backend(int,int).

Definition at line 1158 of file dvbchannel.cpp.

Referenced by DVBChannel::Tune().

static bool wait_for_backend ( int  fd,
int  timeout_ms 
) [static]

Waits for backend to get tune message.

With linux 2.6.12 or later this should block until the backend is tuned to the proper frequency.

With earlier kernels sleeping for timeout_ms may save us.

Waiting for DVB events has been tried, but this fails with several DVB cards. They either don't send the required events or delete them from the event queue before we can read the event.

Using a FE_GET_FRONTEND has also been tried, but returns the old data until a 2 sec timeout elapses on at least one DVB card.

We do not block until we have a lock, the signal monitor does that.

Parameters:
fd frontend file descriptor
timeout_ms timeout before FE_READ_STATUS in milliseconds

Definition at line 1192 of file dvbchannel.cpp.

Referenced by DVBChannel::Tune().

static struct dvb_frontend_parameters dtvmultiplex_to_dvbparams ( DTVTunerType  tuner_type,
const DTVMultiplex tuning,
int  intermediate_freq,
bool  can_fec_auto 
) [static, read]

Definition at line 1229 of file dvbchannel.cpp.

Referenced by DVBChannel::Tune().

static DTVMultiplex dvbparams_to_dtvmultiplex ( DTVTunerType  tuner_type,
const dvb_frontend_parameters &  params 
) [static]

Definition at line 1293 of file dvbchannel.cpp.

Referenced by DVBChannel::ProbeTuningParams().

static struct dtv_properties* dtvmultiplex_to_dtvproperties ( DTVTunerType  tuner_type,
const DTVMultiplex tuning,
int  intermediate_freq,
bool  can_fec_auto,
bool  do_tune = true 
) [static, read]

Definition at line 523 of file dvbchannel.cpp.

Referenced by DVBChannel::Tune().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Sat May 26 06:41:48 2012 for MythTV by  doxygen 1.6.3