diff options
author | Gerd Knorr <devnull@localhost> | 2004-04-14 11:19:50 +0000 |
---|---|---|
committer | Gerd Knorr <devnull@localhost> | 2004-04-14 11:19:50 +0000 |
commit | 931e006a04fe885600f7af35d03a16029cbecfbf (patch) | |
tree | daed63124738d9eb8dbea37ae05e1896a3956026 /linux/drivers/media/video/cx88 | |
parent | 79ceaf974e118af2de53c32ab64486df6b603c79 (diff) | |
download | mediapointer-dvb-s2-931e006a04fe885600f7af35d03a16029cbecfbf.tar.gz mediapointer-dvb-s2-931e006a04fe885600f7af35d03a16029cbecfbf.tar.bz2 |
- cx88/tda9887: secam fixes.
- video-buf: add sanity checks (thanks to Laurent Pinchart).
- saa7133: fix off-by-one bug for oss sound recording.
Diffstat (limited to 'linux/drivers/media/video/cx88')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-video.c | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c index 261200228..7d416d44a 100644 --- a/linux/drivers/media/video/cx88/cx88-video.c +++ b/linux/drivers/media/video/cx88/cx88-video.c @@ -194,8 +194,13 @@ static struct cx8800_tvnorm tvnorms[] = { .cxiformat = VideoFormatPAL60, .cxoformat = 0x181f0008, },{ - .name = "SECAM", - .id = V4L2_STD_SECAM, + .name = "SECAM-L", + .id = V4L2_STD_SECAM_L, + .cxiformat = VideoFormatSECAM, + .cxoformat = 0x181f0008, + },{ + .name = "SECAM-DK", + .id = V4L2_STD_SECAM_DK, .cxiformat = VideoFormatSECAM, .cxoformat = 0x181f0008, } @@ -483,26 +488,28 @@ static int set_tvaudio(struct cx8800_dev *dev) if (CX88_VMUX_TELEVISION != INPUT(dev->input)->type) return 0; - switch (dev->tvnorm->id) { - case V4L2_STD_PAL_BG: + if (V4L2_STD_PAL_BG & dev->tvnorm->id) { dev->tvaudio = nicam ? WW_NICAM_BGDKL : WW_A2_BG; - break; - case V4L2_STD_PAL_DK: + + } else if (V4L2_STD_PAL_DK & dev->tvnorm->id) { dev->tvaudio = nicam ? WW_NICAM_BGDKL : WW_A2_DK; - break; - case V4L2_STD_PAL_I: + + } else if (V4L2_STD_PAL_I & dev->tvnorm->id) { dev->tvaudio = WW_NICAM_I; - break; - case V4L2_STD_SECAM: - dev->tvaudio = WW_SYSTEM_L_AM; /* FIXME: fr != ru */ - break; - case V4L2_STD_NTSC_M: + + } else if (V4L2_STD_SECAM_L & dev->tvnorm->id) { + dev->tvaudio = WW_SYSTEM_L_AM; + + } else if (V4L2_STD_SECAM_DK & dev->tvnorm->id) { + dev->tvaudio = WW_A2_DK; + + } else if (V4L2_STD_NTSC_M & dev->tvnorm->id) { dev->tvaudio = WW_BTSC; - break; - case V4L2_STD_NTSC_M_JP: + + } else if (V4L2_STD_NTSC_M_JP & dev->tvnorm->id) { dev->tvaudio = WW_EIAJ; - break; - default: + + } else { dprintk(1,"tvaudio support needs work for this tv norm [%s], sorry\n", dev->tvnorm->name); dev->tvaudio = 0; |