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: gebauerl@xxxxxx 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); }