> Date: Mon, 30 Nov 2009 20:03:02 -0500 > From: Andy Walls <[email protected]>
> I suspect that these signals floating cause the CX23416 to make some bad > guesses about audio sample rate when CX2341X_ENC_INTIALIZE_INPUT is > called. The only note I have about INITIALIZE_INPUT is that it is for > video input initialization. > > I don't know the history here, but on the surface your patch looks > plausible that it would solve the problem. I just don't know about the > applicability to other CX2584x/CX23416 boards other then the PVR-150; > the patch might apply to them too. > This area around CX2341X_ENC_INTIALIZE_INPUT is critical code which Hans made stable after a lot of testing: http://www.gossamer-threads.com/lists/ivtv/devel/36272 http://linuxtv.org/hg/v4l-dvb/rev/904736fc862a Summary: The CX2341X_ENC_INITIALIZE_INPUT firmware call should be made whenever the digitizer (saa7115 or cx25840) has changed, either because the TV standard was changed, another input was chosen (or opening the radio device) or the video format changes (e.g. capture size, VBI settings). But it turned out that the digitizer has to be turned off before calling this API and turned on afterwards. This is definitely the case for the saa7115, the cx25840 seems to be more forgiving. I remember that the 300ms ivtv_msleep_timeout was absolutely necessary to avoid occasionally black video after starting the capture. (I don't know if this is related to the digitizer calls or if we simply need this time to allow execution of the previous encoder commands before calling CX2341X_ENC_INITIALIZE_INPUT.) @ ivtv at moasat: This is the first time that I read about tinny audio with a PVR350. Are you sure that this card has the same problem? If it comes out that the tinny audio is related to cx25840 only, and that these digitizer does not need to be turned off, than a modified code should check for itv->hw_flags & IVTV_HW_CX25840 instead of board names. BTW: For the pvrinput vdr plugin I am using the encoder stop/start ioctls for every channel switch (to clear the encoder). While the whole process of stopping, tuning and starting is very fast with a PVR250/350, it takes nearly a second longer with PVR150. Maybe turning the cx25840 off and on takes longer than with saa7115. Greets, Martin _______________________________________________ ivtv-devel mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-devel
