aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx25840
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2006-03-18 15:15:00 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-03-24 14:26:58 -0500
commit301e22d69140898eddd38a9134da711cb5dfc170 (patch)
tree27a7d8df45f703a30cc983829e427d803a297d86 /drivers/media/video/cx25840
parent2474ed444b475614ef795523076be7cc8437ae00 (diff)
V4L/DVB (3584): Implement V4L2_TUNER_MODE_LANG1_LANG2 audio mode
Add a new audio mode V4L2_TUNER_MODE_LANG1_LANG2 (used by VIDIOC_G/S_TUNER). This mode allows the user to select both languages of a bilingual transmission, one language on the left, one on the right audio channel. If there is no bilingual transmission, or it is not supported, then this mode should act like V4L2_TUNER_MODE_STEREO. This mode is introduced for PVR-like drivers where it is useful to be able to record both languages of a bilingual broadcast. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cx25840')
-rw-r--r--drivers/media/video/cx25840/cx25840-core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c
index 7aee37645d63..a65b3cc4bf03 100644
--- a/drivers/media/video/cx25840/cx25840-core.c
+++ b/drivers/media/video/cx25840/cx25840-core.c
@@ -810,13 +810,14 @@ static int cx25840_command(struct i2c_client *client, unsigned int cmd,
810 bilingual -> lang1 */ 810 bilingual -> lang1 */
811 cx25840_and_or(client, 0x809, ~0xf, 0x00); 811 cx25840_and_or(client, 0x809, ~0xf, 0x00);
812 break; 812 break;
813 case V4L2_TUNER_MODE_STEREO:
813 case V4L2_TUNER_MODE_LANG1: 814 case V4L2_TUNER_MODE_LANG1:
814 /* mono -> mono 815 /* mono -> mono
815 stereo -> stereo 816 stereo -> stereo
816 bilingual -> lang1 */ 817 bilingual -> lang1 */
817 cx25840_and_or(client, 0x809, ~0xf, 0x04); 818 cx25840_and_or(client, 0x809, ~0xf, 0x04);
818 break; 819 break;
819 case V4L2_TUNER_MODE_STEREO: 820 case V4L2_TUNER_MODE_LANG1_LANG2:
820 /* mono -> mono 821 /* mono -> mono
821 stereo -> stereo 822 stereo -> stereo
822 bilingual -> lang1/lang2 */ 823 bilingual -> lang1/lang2 */
@@ -824,7 +825,7 @@ static int cx25840_command(struct i2c_client *client, unsigned int cmd,
824 break; 825 break;
825 case V4L2_TUNER_MODE_LANG2: 826 case V4L2_TUNER_MODE_LANG2:
826 /* mono -> mono 827 /* mono -> mono
827 stereo ->stereo 828 stereo -> stereo
828 bilingual -> lang2 */ 829 bilingual -> lang2 */
829 cx25840_and_or(client, 0x809, ~0xf, 0x01); 830 cx25840_and_or(client, 0x809, ~0xf, 0x01);
830 break; 831 break;