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 &) |
| 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.
| 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] |
| static DTVMultiplex dvbparams_to_dtvmultiplex | ( | DTVTunerType | tuner_type, | |
| const dvb_fe_params & | params | |||
| ) | [static] |
1.5.5