hello.
I do small patch in carried detection routine to avoid false NICAM detection. After
this patch all sounds in all my TV channels is OK, include previously problematic
TV-Prima.
This little patch is in attach...
Previously problem maybe in return from NICAM mode to normal stereo. But I am
not C programmer and I am not Linux programmer.. and I don't know details about
NICAM in MSP3415 chip. This is reason, why I try do workaround by my little
patch. :-)
> In lists.linux.video4linux, you wrote:
> > > > watch: nicam 1 => 0
> > >
> > > Looks fine. The driver noticed that there is no NICAM signal and you
> > > should get mono from the main sound carrier now.
> > >
> > > What do you get in the log if you change the volume at that point?
> >
> > Sep 22 17:37:10 localhost kernel: msp34xx: nicam sync=0, mode=0
> > Sep 22 17:37:31 localhost last message repeated 267 times
>
> Normal.
>
> > Sep 22 17:37:31 localhost kernel: msp3400: NICAM setstereo: 1
>
> This probably brings back the sound. But that should have been called
> earlier, right after the "watch: nicam 1 => 0". The watch_stereo()
> function should handle that. From looking at the code I don't understand
> why it doesn't happen ...
>
> Gerd
-- Lukas Gebauer.
E-mail: [EMAIL PROTECTED]
WEB: http://www.ararat.cz/synapse - Synapse Delphi and Kylix TCP/IP Library
--- /usr/src/bttv-0.7.81/old/msp3400.c Mon Oct 8 08:59:50 2001
+++ /usr/src/bttv-0.7.81/driver/msp3400.c Mon Oct 8 18:34:04 2001
@@ -864,8 +864,11 @@
val = msp3400c_read(client, I2C_MSP3400C_DFP, 0x1b);
if (val > 32768)
val -= 65536;
- if (val2 < val)
- val2 = val, max2 = this;
+ if (val > 500)
+ {
+ if (val2 < val)
+ val2 = val, max2 = this;
+ }
dprintk("msp3400: carrier2 val: %5d / %s\n",
val,cd[this].name);
}