[media] cx231xx: set standard tune to last known frequency when switching inputs
authorDevin Heitmueller <dheitmueller@hauppauge.com>
Mon, 12 Jul 2010 19:50:30 +0000 (16:50 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 21 Oct 2010 03:17:26 +0000 (01:17 -0200)
If switching to a tuner input, reset the standard and tune to the last known
frequency.  We need to do this in particular for this bridge since the tuner
gets powered down when captuing on the composite or s-video inputs.

Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx231xx/cx231xx-video.c

index 31097e40340692bca9331ecca9e28916c19c480b..0880edd3a49bfcdda1a1f3efcfdb0c738d154b76 100644 (file)
@@ -1246,6 +1246,14 @@ static int vidioc_s_input(struct file *file, void *priv, unsigned int i)
 
        video_mux(dev, i);
 
+       if (INPUT(i)->type == CX231XX_VMUX_TELEVISION ||
+           INPUT(i)->type == CX231XX_VMUX_CABLE) {
+               /* There's a tuner, so reset the standard and put it on the
+                  last known frequency (since it was probably powered down
+                  until now */
+               call_all(dev, core, s_std, dev->norm);
+       }
+
        mutex_unlock(&dev->lock);
        return 0;
 }