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_fe_params dtvmultiplex_to_dvbparams (DTVTunerType, const DTVMultiplex &)
static DTVMultiplex dvbparams_to_dtvmultiplex (DTVTunerType, const dvb_fe_params &)


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 1027 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 1056 of file dvbchannel.cpp.

Referenced by DVBChannel::Tune().

static struct dvb_fe_params dtvmultiplex_to_dvbparams ( DTVTunerType  tuner_type,
const DTVMultiplex tuning 
) [static, read]

Definition at line 1082 of file dvbchannel.cpp.

Referenced by DVBChannel::Tune().

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

Definition at line 1145 of file dvbchannel.cpp.

Referenced by DVBChannel::ProbeTuningParams().


Generated on Sat Dec 18 05:15:51 2010 for MythTV by  doxygen 1.5.5