diff options
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-fileops.c')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-fileops.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/media/video/ivtv/ivtv-fileops.c b/drivers/media/video/ivtv/ivtv-fileops.c index baa17cbee5e1..5dd519caf81d 100644 --- a/drivers/media/video/ivtv/ivtv-fileops.c +++ b/drivers/media/video/ivtv/ivtv-fileops.c | |||
@@ -800,7 +800,16 @@ int ivtv_v4l2_close(struct inode *inode, struct file *filp) | |||
800 | ivtv_unmute(itv); | 800 | ivtv_unmute(itv); |
801 | ivtv_release_stream(s); | 801 | ivtv_release_stream(s); |
802 | } else if (s->type >= IVTV_DEC_STREAM_TYPE_MPG) { | 802 | } else if (s->type >= IVTV_DEC_STREAM_TYPE_MPG) { |
803 | struct ivtv_stream *s_vout = &itv->streams[IVTV_DEC_STREAM_TYPE_VOUT]; | ||
804 | |||
803 | ivtv_stop_decoding(id, VIDEO_CMD_STOP_TO_BLACK | VIDEO_CMD_STOP_IMMEDIATELY, 0); | 805 | ivtv_stop_decoding(id, VIDEO_CMD_STOP_TO_BLACK | VIDEO_CMD_STOP_IMMEDIATELY, 0); |
806 | |||
807 | /* If all output streams are closed, and if the user doesn't have | ||
808 | IVTV_DEC_STREAM_TYPE_VOUT open, then disable VBI on TV-out. */ | ||
809 | if (itv->output_mode == OUT_NONE && !test_bit(IVTV_F_S_APPL_IO, &s_vout->s_flags)) { | ||
810 | /* disable VBI on TV-out */ | ||
811 | ivtv_disable_vbi(itv); | ||
812 | } | ||
804 | } else { | 813 | } else { |
805 | ivtv_stop_capture(id, 0); | 814 | ivtv_stop_capture(id, 0); |
806 | } | 815 | } |