Hi All,
A question regarding the error code returned from the driver when using DTV_TUNE property.
Following the code I came to dvb_frontend_ioctl_legacy function and reached the FE_SET_FRONTEND case.
Looking on the logic I couldn't see any handling of error tuning, an event is added to the frontend and zero is returned:
fepriv->state = FESTATE_RETUNE;
dvb_frontend_wakeup(fe);
dvb_frontend_add_event(fe, 0);
fepriv->status = 0;
err = 0;
break;
How should an application know that DTV_TUNE command succeed?
Monitoring the LOCK bit is not good, here's an example why I ask the question:
Assuming the cx24116 driver is locked on a channel. Application sends tune command to another channel while specifying
AUTO settings for modulation and FEC. The driver for that chip cant handle AUTO settings and return error, while its still connected
to previous channel. So in that case LOCK bit will be ON, while the tune command was ignored.
I thought of an workaround to query the driver for locked frequency and check whenever its in bounds of frequency that was ordered
to be tuned + - some delta, but that's a very dirty solution.
Any thoughts? Or I'm missing something?
Thanks.
A question regarding the error code returned from the driver when using DTV_TUNE property.
Following the code I came to dvb_frontend_ioctl_legacy function and reached the FE_SET_FRONTEND case.
Looking on the logic I couldn't see any handling of error tuning, an event is added to the frontend and zero is returned:
fepriv->state = FESTATE_RETUNE;
dvb_frontend_wakeup(fe);
dvb_frontend_add_event(fe, 0);
fepriv->status = 0;
err = 0;
break;
How should an application know that DTV_TUNE command succeed?
Monitoring the LOCK bit is not good, here's an example why I ask the question:
Assuming the cx24116 driver is locked on a channel. Application sends tune command to another channel while specifying
AUTO settings for modulation and FEC. The driver for that chip cant handle AUTO settings and return error, while its still connected
to previous channel. So in that case LOCK bit will be ON, while the tune command was ignored.
I thought of an workaround to query the driver for locked frequency and check whenever its in bounds of frequency that was ordered
to be tuned + - some delta, but that's a very dirty solution.
Any thoughts? Or I'm missing something?
Thanks.
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb