diff options
author | Michael Hunold <devnull@localhost> | 2004-03-12 12:48:57 +0000 |
---|---|---|
committer | Michael Hunold <devnull@localhost> | 2004-03-12 12:48:57 +0000 |
commit | 1a5602f193aed44f264347a6cbe5a7805d7f3aaf (patch) | |
tree | 798632f8c22c761eb361fc44d1f30221263d3943 /linux/drivers/media/dvb/ttpci/av7110_v4l.c | |
parent | e448bbd75236e707baaff23cc91b739271b98c02 (diff) | |
download | mediapointer-dvb-s2-1a5602f193aed44f264347a6cbe5a7805d7f3aaf.tar.gz mediapointer-dvb-s2-1a5602f193aed44f264347a6cbe5a7805d7f3aaf.tar.bz2 |
- follow latest changes in saa7146 core
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/av7110_v4l.c')
-rw-r--r-- | linux/drivers/media/dvb/ttpci/av7110_v4l.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110_v4l.c b/linux/drivers/media/dvb/ttpci/av7110_v4l.c index 597c46ea9..c2cd7e3c4 100644 --- a/linux/drivers/media/dvb/ttpci/av7110_v4l.c +++ b/linux/drivers/media/dvb/ttpci/av7110_v4l.c @@ -177,18 +177,19 @@ int av7110_dvb_c_switch(struct saa7146_fh *fh) struct av7110 *av7110 = (struct av7110*)dev->ext_priv; u16 adswitch; u8 band = 0; - int source, sync; - struct saa7146_fh *ov_fh = NULL; - int restart_overlay = 0; + int source, sync, err; DEB_EE(("av7110: %p\n", av7110)); - if (vv->ov_data != NULL) { - ov_fh = vv->ov_data->fh; - saa7146_stop_preview(ov_fh); - restart_overlay = 1; + if ((vv->video_status & STATUS_OVERLAY) != 0) { + vv->ov_suspend = vv->video_fh; + err = saa7146_stop_preview(vv->video_fh); /* side effect: video_status is now 0, video_fh is NULL */ + if (err != 0) { + DEB_D(("warning: suspending video failed\n")); + vv->ov_suspend = NULL; + } } - + if (0 != av7110->current_input) { adswitch = 1; band = 0x60; /* analog band */ @@ -225,8 +226,10 @@ int av7110_dvb_c_switch(struct saa7146_fh *fh) printk("setting band in demodulator failed.\n"); saa7146_set_hps_source_and_sync(dev, source, sync); - if (restart_overlay) - saa7146_start_preview(ov_fh); + if (vv->ov_suspend != NULL) { + saa7146_start_preview(vv->ov_suspend); + vv->ov_suspend = NULL; + } return 0; } |