diff options
author | Anatolij Gustschin <[email protected]> | 2011-01-31 09:19:32 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <[email protected]> | 2011-03-21 20:32:13 -0300 |
commit | 7fdbd85bce033e2d0f74e5d326ab43906653cb81 (patch) | |
tree | c36c51eef45e1c3ffa52e0db9b478f4cd0ba3c6d | |
parent | ed5b65dc362d488958075381d97931d865e77259 (diff) |
[media] V4L: soc-camera: start stream after queueing the buffers
Some camera systems have strong requirement for capturing
an exact number of frames after starting the stream and do
not tolerate losing captured frames. By starting the stream
after the videobuf has queued the buffers, we ensure that
no frame will be lost.
Signed-off-by: Anatolij Gustschin <[email protected]>
Signed-off-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
-rw-r--r-- | drivers/media/video/soc_camera.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/video/soc_camera.c b/drivers/media/video/soc_camera.c index a7820a549f1b..67611ad6af96 100644 --- a/drivers/media/video/soc_camera.c +++ b/drivers/media/video/soc_camera.c @@ -655,10 +655,10 @@ static int soc_camera_streamon(struct file *file, void *priv, if (icd->streamer != file) return -EBUSY; - v4l2_subdev_call(sd, video, s_stream, 1); - /* This calls buf_queue from host driver's videobuf_queue_ops */ ret = videobuf_streamon(&icd->vb_vidq); + if (!ret) + v4l2_subdev_call(sd, video, s_stream, 1); return ret; } |