summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88
diff options
context:
space:
mode:
authorGerd Knorr <devnull@localhost>2004-04-14 11:19:50 +0000
committerGerd Knorr <devnull@localhost>2004-04-14 11:19:50 +0000
commit931e006a04fe885600f7af35d03a16029cbecfbf (patch)
treedaed63124738d9eb8dbea37ae05e1896a3956026 /linux/drivers/media/video/cx88
parent79ceaf974e118af2de53c32ab64486df6b603c79 (diff)
downloadmediapointer-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.c41
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;