Hi,
The following commit has broken the DVB ABI for xine:
http://git.linuxtv.org/linux-2.6.git/commitdiff/e399ce77e6e8f0ff2e0b8ef808cbb88fc824c610
author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Sun, 1 Jan 2012 19:11:16 +0000 (16:11 -0300)
committer: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Wed, 4 Jan 2012 19:30:02 +0000 (17:30 -0200)
This var were used during DVBv3 times, in order to keep a copy
of the parameters used by the events. This is not needed anymore,
as the parameters are now dynamically generated from the DVBv5
structure.
So, just get rid of it. That means that a DVBv5 pure call won't
use anymore any DVBv3 parameters.
The problem is that xine is expecting every event after a successful
FE_SET_FRONTEND ioctl to have a non-zero frequency parameter, regardless of
whether the tuning process has LOCKed yet. What used to happen is that the
events inherited the initial tuning parameters from the FE_SET_FRONTEND call.
However, the fepriv->parameters_out struct is now not initialised until the
status contains the FE_HAS_LOCK bit.
You might argue that this behaviour is intentional, except that if an
application other than xine uses the DVB adapter and manages to set the
parameters_out.frequency field to something other than zero, then xine no longer
has any problems until either the adapter is replugged or the kernel modules
reloaded. This can only mean that the fepriv->parameters_out struct still
contains the (stale) tuning information from the previous application.
So can we please restore the original ABI behaviour, and have
fepriv->parameters_out initialised by FE_SET_FRONTEND again?
Cheers,
Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html