aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/ivtv/ivtv-fileops.c9
-rw-r--r--drivers/media/video/ivtv/ivtv-streams.c11
2 files changed, 10 insertions, 10 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 }
diff --git a/drivers/media/video/ivtv/ivtv-streams.c b/drivers/media/video/ivtv/ivtv-streams.c
index 322b347b67c2..51df3f855031 100644
--- a/drivers/media/video/ivtv/ivtv-streams.c
+++ b/drivers/media/video/ivtv/ivtv-streams.c
@@ -603,10 +603,6 @@ static int ivtv_setup_v4l2_decode_stream(struct ivtv_stream *s)
603 603
604 IVTV_DEBUG_INFO("Setting some initial decoder settings\n"); 604 IVTV_DEBUG_INFO("Setting some initial decoder settings\n");
605 605
606 /* disable VBI signals, if the MPEG stream contains VBI data,
607 then that data will be processed automatically for you. */
608 ivtv_disable_vbi(itv);
609
610 /* set audio mode to left/stereo for dual/stereo mode. */ 606 /* set audio mode to left/stereo for dual/stereo mode. */
611 ivtv_vapi(itv, CX2341X_DEC_SET_AUDIO_MODE, 2, itv->audio_bilingual_mode, itv->audio_stereo_mode); 607 ivtv_vapi(itv, CX2341X_DEC_SET_AUDIO_MODE, 2, itv->audio_bilingual_mode, itv->audio_stereo_mode);
612 608
@@ -639,7 +635,7 @@ static int ivtv_setup_v4l2_decode_stream(struct ivtv_stream *s)
639 } 635 }
640 if (ivtv_vapi(itv, CX2341X_DEC_SET_DECODER_SOURCE, 4, datatype, 636 if (ivtv_vapi(itv, CX2341X_DEC_SET_DECODER_SOURCE, 4, datatype,
641 itv->params.width, itv->params.height, itv->params.audio_properties)) { 637 itv->params.width, itv->params.height, itv->params.audio_properties)) {
642 IVTV_DEBUG_WARN("COULDN'T INITIALIZE DECODER SOURCE\n"); 638 IVTV_DEBUG_WARN("Couldn't initialize decoder source\n");
643 } 639 }
644 return 0; 640 return 0;
645} 641}
@@ -909,11 +905,6 @@ int ivtv_stop_v4l2_decode_stream(struct ivtv_stream *s, int flags, u64 pts)
909 clear_bit(IVTV_F_S_STREAMING, &s->s_flags); 905 clear_bit(IVTV_F_S_STREAMING, &s->s_flags);
910 ivtv_flush_queues(s); 906 ivtv_flush_queues(s);
911 907
912 if (!test_bit(IVTV_F_S_PASSTHROUGH, &s->s_flags)) {
913 /* disable VBI on TV-out */
914 ivtv_disable_vbi(itv);
915 }
916
917 /* decrement decoding */ 908 /* decrement decoding */
918 atomic_dec(&itv->decoding); 909 atomic_dec(&itv->decoding);
919 910