[PATCH v3 9/9] media: vimc: Run multiple captures on same thread

From: Kaaira Gupta
Date: Wed Aug 19 2020 - 14:05:53 EST


If multiple captures try to enable stream, start their stream but do not
initialise the pipeline again. Also, don't start the thread separately.
Starting their streams will update the use count and their frames would
be processed by the already running thread.

Signed-off-by: Kaaira Gupta <kgupta@xxxxxxxxxxxxx>
---
drivers/media/test-drivers/vimc/vimc-streamer.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/media/test-drivers/vimc/vimc-streamer.c b/drivers/media/test-drivers/vimc/vimc-streamer.c
index fade37bee26d..880c31759cc0 100644
--- a/drivers/media/test-drivers/vimc/vimc-streamer.c
+++ b/drivers/media/test-drivers/vimc/vimc-streamer.c
@@ -275,13 +275,14 @@ int vimc_streamer_s_stream(struct vimc_stream *stream,
return ret;

if (enable) {
- if (stream->kthread)
- return 0;

ret = vimc_streamer_stream_start(ved);
if (ret)
goto out;

+ if (stream->kthread)
+ goto out;
+
ret = vimc_streamer_pipeline_init(stream, ved);
if (ret)
goto out;
--
2.17.1