|
|
@@ -839,9 +839,9 @@ int au0828_start_analog_streaming(struct vb2_queue *vq, unsigned int count)
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
+ v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_stream, 1);
|
|
|
+
|
|
|
if (vq->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) {
|
|
|
- v4l2_device_call_all(&dev->v4l2_dev, 0, video,
|
|
|
- s_stream, 1);
|
|
|
dev->vid_timeout_running = 1;
|
|
|
mod_timer(&dev->vid_timeout, jiffies + (HZ / 10));
|
|
|
} else if (vq->type == V4L2_BUF_TYPE_VBI_CAPTURE) {
|
|
|
@@ -861,10 +861,11 @@ static void au0828_stop_streaming(struct vb2_queue *vq)
|
|
|
|
|
|
dprintk(1, "au0828_stop_streaming called %d\n", dev->streaming_users);
|
|
|
|
|
|
- if (dev->streaming_users-- == 1)
|
|
|
+ if (dev->streaming_users-- == 1) {
|
|
|
au0828_uninit_isoc(dev);
|
|
|
+ v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_stream, 0);
|
|
|
+ }
|
|
|
|
|
|
- v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_stream, 0);
|
|
|
dev->vid_timeout_running = 0;
|
|
|
del_timer_sync(&dev->vid_timeout);
|
|
|
|
|
|
@@ -893,8 +894,10 @@ void au0828_stop_vbi_streaming(struct vb2_queue *vq)
|
|
|
dprintk(1, "au0828_stop_vbi_streaming called %d\n",
|
|
|
dev->streaming_users);
|
|
|
|
|
|
- if (dev->streaming_users-- == 1)
|
|
|
+ if (dev->streaming_users-- == 1) {
|
|
|
au0828_uninit_isoc(dev);
|
|
|
+ v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_stream, 0);
|
|
|
+ }
|
|
|
|
|
|
spin_lock_irqsave(&dev->slock, flags);
|
|
|
if (dev->isoc_ctl.vbi_buf != NULL) {
|