瀏覽代碼

V4L/DVB (4613): Unmute/mute saa7134 when opening/closing the audio capture device.

This patch should enable unmuting the audio device when opening it (and
posterior muting when closing it), doing away with the need for unmute ioctls
or v4lctl usage.

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Ricardo Cerqueira 19 年之前
父節點
當前提交
dafcaaf86a
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      drivers/media/video/saa7134/saa7134-alsa.c

+ 8 - 0
drivers/media/video/saa7134/saa7134-alsa.c

@@ -590,6 +590,11 @@ static int snd_card_saa7134_hw_free(struct snd_pcm_substream * substream)
 
 
 static int snd_card_saa7134_capture_close(struct snd_pcm_substream * substream)
 static int snd_card_saa7134_capture_close(struct snd_pcm_substream * substream)
 {
 {
+	snd_card_saa7134_t *saa7134 = snd_pcm_substream_chip(substream);
+	struct saa7134_dev *dev = saa7134->dev;
+
+	dev->ctl_mute = 1;
+	saa7134_tvaudio_setmute(dev);
 	return 0;
 	return 0;
 }
 }
 
 
@@ -631,6 +636,9 @@ static int snd_card_saa7134_capture_open(struct snd_pcm_substream * substream)
 	runtime->private_free = snd_card_saa7134_runtime_free;
 	runtime->private_free = snd_card_saa7134_runtime_free;
 	runtime->hw = snd_card_saa7134_capture;
 	runtime->hw = snd_card_saa7134_capture;
 
 
+	dev->ctl_mute = 0;
+	saa7134_tvaudio_setmute(dev);
+
 	if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0)
 	if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0)
 		return err;
 		return err;