Lines Matching refs:stream

49 static void vimc_streamer_pipeline_terminate(struct vimc_stream *stream)  in vimc_streamer_pipeline_terminate()  argument
54 while (stream->pipe_size) { in vimc_streamer_pipeline_terminate()
55 stream->pipe_size--; in vimc_streamer_pipeline_terminate()
56 ved = stream->ved_pipeline[stream->pipe_size]; in vimc_streamer_pipeline_terminate()
57 stream->ved_pipeline[stream->pipe_size] = NULL; in vimc_streamer_pipeline_terminate()
80 static int vimc_streamer_pipeline_init(struct vimc_stream *stream, in vimc_streamer_pipeline_init() argument
88 stream->pipe_size = 0; in vimc_streamer_pipeline_init()
89 while (stream->pipe_size < VIMC_STREAMER_PIPELINE_MAX_SIZE) { in vimc_streamer_pipeline_init()
91 vimc_streamer_pipeline_terminate(stream); in vimc_streamer_pipeline_init()
94 stream->ved_pipeline[stream->pipe_size++] = ved; in vimc_streamer_pipeline_init()
102 vimc_streamer_pipeline_terminate(stream); in vimc_streamer_pipeline_init()
124 vimc_streamer_pipeline_terminate(stream); in vimc_streamer_pipeline_init()
142 struct vimc_stream *stream = data; in vimc_streamer_thread() local
153 for (i = stream->pipe_size - 1; i >= 0; i--) { in vimc_streamer_thread()
154 frame = stream->ved_pipeline[i]->process_frame( in vimc_streamer_thread()
155 stream->ved_pipeline[i], frame); in vimc_streamer_thread()
182 int vimc_streamer_s_stream(struct vimc_stream *stream, in vimc_streamer_s_stream() argument
188 if (!stream || !ved) in vimc_streamer_s_stream()
192 if (stream->kthread) in vimc_streamer_s_stream()
195 ret = vimc_streamer_pipeline_init(stream, ved); in vimc_streamer_s_stream()
199 stream->kthread = kthread_run(vimc_streamer_thread, stream, in vimc_streamer_s_stream()
202 if (IS_ERR(stream->kthread)) in vimc_streamer_s_stream()
203 return PTR_ERR(stream->kthread); in vimc_streamer_s_stream()
206 if (!stream->kthread) in vimc_streamer_s_stream()
209 ret = kthread_stop(stream->kthread); in vimc_streamer_s_stream()
213 stream->kthread = NULL; in vimc_streamer_s_stream()
215 vimc_streamer_pipeline_terminate(stream); in vimc_streamer_s_stream()