diff options
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-streams.c')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-streams.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/video/ivtv/ivtv-streams.c b/drivers/media/video/ivtv/ivtv-streams.c index 6917c497fb7e..def507ee106a 100644 --- a/drivers/media/video/ivtv/ivtv-streams.c +++ b/drivers/media/video/ivtv/ivtv-streams.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include "ivtv-yuv.h" | 42 | #include "ivtv-yuv.h" |
43 | #include "ivtv-cards.h" | 43 | #include "ivtv-cards.h" |
44 | #include "ivtv-streams.h" | 44 | #include "ivtv-streams.h" |
45 | #include <media/v4l2-event.h> | ||
45 | 46 | ||
46 | static const struct v4l2_file_operations ivtv_v4l2_enc_fops = { | 47 | static const struct v4l2_file_operations ivtv_v4l2_enc_fops = { |
47 | .owner = THIS_MODULE, | 48 | .owner = THIS_MODULE, |
@@ -840,6 +841,9 @@ int ivtv_stop_v4l2_encode_stream(struct ivtv_stream *s, int gop_end) | |||
840 | 841 | ||
841 | int ivtv_stop_v4l2_decode_stream(struct ivtv_stream *s, int flags, u64 pts) | 842 | int ivtv_stop_v4l2_decode_stream(struct ivtv_stream *s, int flags, u64 pts) |
842 | { | 843 | { |
844 | static const struct v4l2_event ev = { | ||
845 | .type = V4L2_EVENT_EOS, | ||
846 | }; | ||
843 | struct ivtv *itv = s->itv; | 847 | struct ivtv *itv = s->itv; |
844 | 848 | ||
845 | if (s->vdev == NULL) | 849 | if (s->vdev == NULL) |
@@ -891,6 +895,7 @@ int ivtv_stop_v4l2_decode_stream(struct ivtv_stream *s, int flags, u64 pts) | |||
891 | 895 | ||
892 | set_bit(IVTV_F_I_EV_DEC_STOPPED, &itv->i_flags); | 896 | set_bit(IVTV_F_I_EV_DEC_STOPPED, &itv->i_flags); |
893 | wake_up(&itv->event_waitq); | 897 | wake_up(&itv->event_waitq); |
898 | v4l2_event_queue(s->vdev, &ev); | ||
894 | 899 | ||
895 | /* wake up wait queues */ | 900 | /* wake up wait queues */ |
896 | wake_up(&s->waitq); | 901 | wake_up(&s->waitq); |