sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget7/translations/zh_CN/driver-api/media/drivers/vimc-develmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/zh_TW/driver-api/media/drivers/vimc-develmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/it_IT/driver-api/media/drivers/vimc-develmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/ja_JP/driver-api/media/drivers/vimc-develmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/ko_KR/driver-api/media/drivers/vimc-develmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/sp_SP/driver-api/media/drivers/vimc-develmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhQ/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel.rsthKubhsection)}(hhh](htitle)}(h*The Virtual Media Controller Driver (vimc)h]h*The Virtual Media Controller Driver (vimc)}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hSource code documentationh]hSource code documentation}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h vimc-streamerh]h vimc-streamer}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singlevimc_stream (C struct) c.vimc_streamhNtauh1hhhhhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhNubhdesc)}(hhh](hdesc_signature)}(h vimc_streamh]hdesc_signature_line)}(hstruct vimc_streamh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhj hhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKubhdesc_sig_space)}(h h]h }(hj"hhhNhNubah}(h]h ]wah"]h$]h&]uh1j hj hhhjhKubh desc_name)}(h vimc_streamh]h desc_sig_name)}(hjh]h vimc_stream}(hj9hhhNhNubah}(h]h ]nah"]h$]h&]uh1j7hj3ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j1hj hhhjhKubeh}(h]h ]h"]h$]h&]hh add_permalinkuh1jsphinx_line_type declaratorhjhhhjhKubah}(h]hah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhjhKhhhhubh desc_content)}(hhh]h paragraph)}(h/struct that represents a stream in the pipelineh]h/struct that represents a stream in the pipeline}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhjehhubah}(h]h ]h"]h$]h&]uh1jchhhhhjhKubeh}(h]h ](cstructeh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1hhhhhhhhNubh container)}(hX**Definition**:: struct vimc_stream { struct media_pipeline pipe; struct vimc_ent_device *ved_pipeline[VIMC_STREAMER_PIPELINE_MAX_SIZE]; unsigned int pipe_size; struct task_struct *kthread; }; **Members** ``pipe`` the media pipeline object associated with this stream ``ved_pipeline`` array containing all the entities participating in the stream. The order is from a video device (usually a capture device) where stream_on was called, to the entity generating the first base image to be processed in the pipeline. ``pipe_size`` size of **ved_pipeline** ``kthread`` thread that generates the frames of the stream.h](ji)}(h**Definition**::h](hstrong)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhjubh literal_block)}(hstruct vimc_stream { struct media_pipeline pipe; struct vimc_ent_device *ved_pipeline[VIMC_STREAMER_PIPELINE_MAX_SIZE]; unsigned int pipe_size; struct task_struct *kthread; };h]hstruct vimc_stream { struct media_pipeline pipe; struct vimc_ent_device *ved_pipeline[VIMC_STREAMER_PIPELINE_MAX_SIZE]; unsigned int pipe_size; struct task_struct *kthread; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhjubji)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhK hjubhdefinition_list)}(hhh](hdefinition_list_item)}(h?``pipe`` the media pipeline object associated with this stream h](hterm)}(h``pipe``h]hliteral)}(hjh]hpipe}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhjubh definition)}(hhh]ji)}(h5the media pipeline object associated with this streamh]h5the media pipeline object associated with this stream}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h``ved_pipeline`` array containing all the entities participating in the stream. The order is from a video device (usually a capture device) where stream_on was called, to the entity generating the first base image to be processed in the pipeline. h](j)}(h``ved_pipeline``h]j)}(hj'h]h ved_pipeline}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhj!ubj)}(hhh]ji)}(harray containing all the entities participating in the stream. The order is from a video device (usually a capture device) where stream_on was called, to the entity generating the first base image to be processed in the pipeline.h]harray containing all the entities participating in the stream. The order is from a video device (usually a capture device) where stream_on was called, to the entity generating the first base image to be processed in the pipeline.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhj=ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj<hKhjubj)}(h'``pipe_size`` size of **ved_pipeline** h](j)}(h ``pipe_size``h]j)}(hjah]h pipe_size}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhj[ubj)}(hhh]ji)}(hsize of **ved_pipeline**h](hsize of }(hjzhhhNhNubj)}(h**ved_pipeline**h]h ved_pipeline}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhhjvhKhjwubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhjvhKhjubj)}(h;``kthread`` thread that generates the frames of the stream.h](j)}(h ``kthread``h]j)}(hjh]hkthread}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhjubj)}(hhh]ji)}(h/thread that generates the frames of the stream.h]h/thread that generates the frames of the stream.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhhhNubji)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhK hhhhubji)}(hWhen the user call stream_on in a video device, struct vimc_stream is used to keep track of all entities and subdevices that generates and process frames for the stream.h]hWhen the user call stream_on in a video device, struct vimc_stream is used to keep track of all entities and subdevices that generates and process frames for the stream.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:12: ./drivers/media/test-drivers/vimc/vimc-streamer.hhKhhhhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h#vimc_get_source_entity (C function)c.vimc_get_source_entityhNtauh1hhhhhhNhNubh)}(hhh](j)}(hGstruct media_entity * vimc_get_source_entity (struct media_entity *ent)h]j )}(hEstruct media_entity *vimc_get_source_entity(struct media_entity *ent)h](j)}(hjh]hstruct}(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%hhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKubj!)}(h h]h }(hj7hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hj%hhhj6hKubh)}(hhh]j8)}(h media_entityh]h media_entity}(hjHhhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjEubah}(h]h ]h"]h$]h&] refdomainjreftype identifier reftargetjJmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]jc ASTIdentifier)}j^vimc_get_source_entitysbc.vimc_get_source_entityasbuh1hhj%hhhj6hKubj!)}(h h]h }(hjqhhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hj%hhhj6hKubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhj%hhhj6hKubj2)}(hvimc_get_source_entityh]j8)}(hjnh]hvimc_get_source_entity}(hjhhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjubah}(h]h ](jJjKeh"]h$]h&]hhuh1j1hj%hhhj6hKubhdesc_parameterlist)}(h(struct media_entity *ent)h]hdesc_parameter)}(hstruct media_entity *enth](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj!)}(h h]h }(hjhhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjubh)}(hhh]j8)}(h media_entityh]h media_entity}(hjhhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjubah}(h]h ]h"]h$]h&] refdomainjreftypej^ reftargetjmodnameN classnameNjbje)}jh]jlc.vimc_get_source_entityasbuh1hhjubj!)}(h h]h }(hjhhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj8)}(henth]hent}(hj hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhj%hhhj6hKubeh}(h]h ]h"]h$]h&]hhjUuh1jjVjWhj!hhhj6hKubah}(h]jah ](j[j\eh"]h$]h&]j`ja)jbhuh1jhj6hKhjhhubjd)}(hhh]ji)}(h0get the entity connected with the first sink padh]h0get the entity connected with the first sink pad}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj1hhubah}(h]h ]h"]h$]h&]uh1jchjhhhj6hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjLjjLjjjuh1hhhhhhNhNubj)}(hX**Parameters** ``struct media_entity *ent`` reference media_entity **Description** Helper function that returns the media entity containing the source pad linked with the first sink pad from the given media entity pad list. **Return** The source pad or NULL, if it wasn't found.h](ji)}(h**Parameters**h]j)}(hjVh]h Parameters}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhjPubj)}(hhh]j)}(h4``struct media_entity *ent`` reference media_entity h](j)}(h``struct media_entity *ent``h]j)}(hjuh]hstruct media_entity *ent}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhjoubj)}(hhh]ji)}(hreference media_entityh]hreference media_entity}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhjhKhjlubah}(h]h ]h"]h$]h&]uh1jhjPubji)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhjPubji)}(hHelper function that returns the media entity containing the source pad linked with the first sink pad from the given media entity pad list.h]hHelper function that returns the media entity containing the source pad linked with the first sink pad from the given media entity pad list.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhjPubji)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhjPubji)}(h+The source pad or NULL, if it wasn't found.h]h-The source pad or NULL, if it wasn’t found.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhjPubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h-vimc_streamer_pipeline_terminate (C function)"c.vimc_streamer_pipeline_terminatehNtauh1hhhhhhNhNubh)}(hhh](j)}(hBvoid vimc_streamer_pipeline_terminate (struct vimc_stream *stream)h]j )}(hAvoid vimc_streamer_pipeline_terminate(struct vimc_stream *stream)h](hdesc_sig_keyword_type)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chK0ubj!)}(h h]h }(hj.hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjhhhj-hK0ubj2)}(h vimc_streamer_pipeline_terminateh]j8)}(h vimc_streamer_pipeline_terminateh]h vimc_streamer_pipeline_terminate}(hj@hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hj<ubah}(h]h ](jJjKeh"]h$]h&]hhuh1j1hjhhhj-hK0ubj)}(h(struct vimc_stream *stream)h]j)}(hstruct vimc_stream *streamh](j)}(hjh]hstruct}(hj\hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjXubj!)}(h h]h }(hjihhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjXubh)}(hhh]j8)}(h vimc_streamh]h vimc_stream}(hjzhhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjwubah}(h]h ]h"]h$]h&] refdomainjreftypej^ reftargetj|modnameN classnameNjbje)}jh]jk)}j^jBsb"c.vimc_streamer_pipeline_terminateasbuh1hhjXubj!)}(h h]h }(hjhhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjXubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjXubj8)}(hstreamh]hstream}(hjhhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjXubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjTubah}(h]h ]h"]h$]h&]hhuh1jhjhhhj-hK0ubeh}(h]h ]h"]h$]h&]hhjUuh1jjVjWhjhhhj-hK0ubah}(h]jah ](j[j\eh"]h$]h&]j`ja)jbhuh1jhj-hK0hjhhubjd)}(hhh]ji)}(h#Disable stream in all ved in streamh]h#Disable stream in all ved in stream}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chK(hjhhubah}(h]h ]h"]h$]h&]uh1jchjhhhj-hK0ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1hhhhhhNhNubj)}(h**Parameters** ``struct vimc_stream *stream`` the pointer to the stream structure with the pipeline to be disabled. **Description** Calls s_stream to disable the stream in each entity of the pipelineh](ji)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chK,hjubj)}(hhh]j)}(he``struct vimc_stream *stream`` the pointer to the stream structure with the pipeline to be disabled. h](j)}(h``struct vimc_stream *stream``h]j)}(hj h]hstruct vimc_stream *stream}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chK+hjubj)}(hhh]ji)}(hEthe pointer to the stream structure with the pipeline to be disabled.h]hEthe pointer to the stream structure with the pipeline to be disabled.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chK*hj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj5hK+hjubah}(h]h ]h"]h$]h&]uh1jhjubji)}(h**Description**h]j)}(hj\h]h Description}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chK-hjubji)}(hCCalls s_stream to disable the stream in each entity of the pipelineh]hCCalls s_stream to disable the stream in each entity of the pipeline}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chK-hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h(vimc_streamer_pipeline_init (C function)c.vimc_streamer_pipeline_inithNtauh1hhhhhhNhNubh)}(hhh](j)}(hYint vimc_streamer_pipeline_init (struct vimc_stream *stream, struct vimc_ent_device *ved)h]j )}(hXint vimc_streamer_pipeline_init(struct vimc_stream *stream, struct vimc_ent_device *ved)h](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKUubj!)}(h h]h }(hjhhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjhhhjhKUubj2)}(hvimc_streamer_pipeline_inith]j8)}(hvimc_streamer_pipeline_inith]hvimc_streamer_pipeline_init}(hjhhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjubah}(h]h ](jJjKeh"]h$]h&]hhuh1j1hjhhhjhKUubj)}(h9(struct vimc_stream *stream, struct vimc_ent_device *ved)h](j)}(hstruct vimc_stream *streamh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj!)}(h h]h }(hjhhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjubh)}(hhh]j8)}(h vimc_streamh]h vimc_stream}(hjhhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjubah}(h]h ]h"]h$]h&] refdomainjreftypej^ reftargetjmodnameN classnameNjbje)}jh]jk)}j^jsbc.vimc_streamer_pipeline_initasbuh1hhjubj!)}(h h]h }(hjhhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjubj)}(hjh]h*}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj8)}(hstreamh]hstream}(hj7hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct vimc_ent_device *vedh](j)}(hjh]hstruct}(hjPhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjLubj!)}(h h]h }(hj]hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjLubh)}(hhh]j8)}(hvimc_ent_deviceh]hvimc_ent_device}(hjnhhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjkubah}(h]h ]h"]h$]h&] refdomainjreftypej^ reftargetjpmodnameN classnameNjbje)}jh]jc.vimc_streamer_pipeline_initasbuh1hhjLubj!)}(h h]h }(hjhhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjLubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjLubj8)}(hvedh]hved}(hjhhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjLubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKUubeh}(h]h ]h"]h$]h&]hhjUuh1jjVjWhjhhhjhKUubah}(h]jah ](j[j\eh"]h$]h&]j`ja)jbhuh1jhjhKUhjhhubjd)}(hhh]ji)}(h Initializes the stream structureh]h Initializes the stream structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKIhjhhubah}(h]h ]h"]h$]h&]uh1jchjhhhjhKUubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1hhhhhhNhNubj)}(hX**Parameters** ``struct vimc_stream *stream`` the pointer to the stream structure to be initialized ``struct vimc_ent_device *ved`` the pointer to the vimc entity initializing the stream **Description** Initializes the stream structure. Walks through the entity graph to construct the pipeline used later on the streamer thread. Calls vimc_streamer_s_stream() to enable stream in all entities of the pipeline. **Return** 0 if success, error code otherwise.h](ji)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKMhjubj)}(hhh](j)}(hU``struct vimc_stream *stream`` the pointer to the stream structure to be initialized h](j)}(h``struct vimc_stream *stream``h]j)}(hjh]hstruct vimc_stream *stream}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKKhj ubj)}(hhh]ji)}(h5the pointer to the stream structure to be initializedh]h5the pointer to the stream structure to be initialized}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhj'hKKhj(ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj'hKKhj ubj)}(hW``struct vimc_ent_device *ved`` the pointer to the vimc entity initializing the stream h](j)}(h``struct vimc_ent_device *ved``h]j)}(hjKh]hstruct vimc_ent_device *ved}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKLhjEubj)}(hhh]ji)}(h6the pointer to the vimc entity initializing the streamh]h6the pointer to the vimc entity initializing the stream}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhj`hKLhjaubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhj`hKLhj ubeh}(h]h ]h"]h$]h&]uh1jhjubji)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKNhjubji)}(hInitializes the stream structure. Walks through the entity graph to construct the pipeline used later on the streamer thread. Calls vimc_streamer_s_stream() to enable stream in all entities of the pipeline.h]hInitializes the stream structure. Walks through the entity graph to construct the pipeline used later on the streamer thread. Calls vimc_streamer_s_stream() to enable stream in all entities of the pipeline.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKNhjubji)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKShjubji)}(h#0 if success, error code otherwise.h]h#0 if success, error code otherwise.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKShjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h!vimc_streamer_thread (C function)c.vimc_streamer_threadhNtauh1hhhhhhNhNubh)}(hhh](j)}(h%int vimc_streamer_thread (void *data)h]j )}(h$int vimc_streamer_thread(void *data)h](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKubj!)}(h h]h }(hj hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hjhhhj hKubj2)}(hvimc_streamer_threadh]j8)}(hvimc_streamer_threadh]hvimc_streamer_thread}(hj hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hj ubah}(h]h ](jJjKeh"]h$]h&]hhuh1j1hjhhhj hKubj)}(h (void *data)h]j)}(h void *datah](j)}(hvoidh]hvoid}(hj/ hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj+ ubj!)}(h h]h }(hj= hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hj+ ubj)}(hjh]h*}(hjK hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj+ ubj8)}(hdatah]hdata}(hjX hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hj+ ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj' ubah}(h]h ]h"]h$]h&]hhuh1jhjhhhj hKubeh}(h]h ]h"]h$]h&]hhjUuh1jjVjWhjhhhj hKubah}(h]jah ](j[j\eh"]h$]h&]j`ja)jbhuh1jhj hKhjhhubjd)}(hhh]ji)}(h#Process frames through the pipelineh]h#Process frames through the pipeline}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj hhubah}(h]h ]h"]h$]h&]uh1jchjhhhj hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj jjjuh1hhhhhhNhNubj)}(hX6**Parameters** ``void *data`` vimc_stream struct of the current stream **Description** From the source to the sink, gets a frame from each subdevice and send to the next one of the pipeline at a fixed framerate. **Return** Always zero (created as ``int`` instead of ``void`` to comply with kthread API).h](ji)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubj)}(hhh]j)}(h8``void *data`` vimc_stream struct of the current stream h](j)}(h``void *data``h]j)}(hj h]h void *data}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubj)}(hhh]ji)}(h(vimc_stream struct of the current streamh]h(vimc_stream struct of the current stream}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubji)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubji)}(h|From the source to the sink, gets a frame from each subdevice and send to the next one of the pipeline at a fixed framerate.h]h|From the source to the sink, gets a frame from each subdevice and send to the next one of the pipeline at a fixed framerate.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubji)}(h **Return**h]j)}(hj% h]hReturn}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj# ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubji)}(hPAlways zero (created as ``int`` instead of ``void`` to comply with kthread API).h](hAlways zero (created as }(hj; hhhNhNubj)}(h``int``h]hint}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj; ubh instead of }(hj; hhhNhNubj)}(h``void``h]hvoid}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj; ubh to comply with kthread API).}(hj; hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h#vimc_streamer_s_stream (C function)c.vimc_streamer_s_streamhNtauh1hhhhhhNhNubh)}(hhh](j)}(h`int vimc_streamer_s_stream (struct vimc_stream *stream, struct vimc_ent_device *ved, int enable)h]j )}(h_int vimc_streamer_s_stream(struct vimc_stream *stream, struct vimc_ent_device *ved, int enable)h](j)}(hinth]hint}(hj hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj hhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKubj!)}(h h]h }(hj hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hj hhhj hKubj2)}(hvimc_streamer_s_streamh]j8)}(hvimc_streamer_s_streamh]hvimc_streamer_s_stream}(hj hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hj ubah}(h]h ](jJjKeh"]h$]h&]hhuh1j1hj hhhj hKubj)}(hE(struct vimc_stream *stream, struct vimc_ent_device *ved, int enable)h](j)}(hstruct vimc_stream *streamh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj!)}(h h]h }(hj hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hj ubh)}(hhh]j8)}(h vimc_streamh]h vimc_stream}(hj hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hj ubah}(h]h ]h"]h$]h&] refdomainjreftypej^ reftargetj modnameN classnameNjbje)}jh]jk)}j^j sbc.vimc_streamer_s_streamasbuh1hhj ubj!)}(h h]h }(hj hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj8)}(hstreamh]hstream}(hj$ hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj ubj)}(hstruct vimc_ent_device *vedh](j)}(hjh]hstruct}(hj= hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9 ubj!)}(h h]h }(hjJ hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hj9 ubh)}(hhh]j8)}(hvimc_ent_deviceh]hvimc_ent_device}(hj[ hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hjX ubah}(h]h ]h"]h$]h&] refdomainjreftypej^ reftargetj] modnameN classnameNjbje)}jh]j c.vimc_streamer_s_streamasbuh1hhj9 ubj!)}(h h]h }(hjy hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hj9 ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9 ubj8)}(hvedh]hved}(hj hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hj9 ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj ubj)}(h int enableh](j)}(hinth]hint}(hj hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj ubj!)}(h h]h }(hj hhhNhNubah}(h]h ]j-ah"]h$]h&]uh1j hj ubj8)}(henableh]henable}(hj hhhNhNubah}(h]h ]jCah"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj ubeh}(h]h ]h"]h$]h&]hhuh1jhj hhhj hKubeh}(h]h ]h"]h$]h&]hhjUuh1jjVjWhj hhhj hKubah}(h]j ah ](j[j\eh"]h$]h&]j`ja)jbhuh1jhj hKhj hhubjd)}(hhh]ji)}(h.Start/stop the streaming on the media pipelineh]h.Start/stop the streaming on the media pipeline}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj hhubah}(h]h ]h"]h$]h&]uh1jchj hhhj hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj jjjuh1hhhhhhNhNubj)}(hX**Parameters** ``struct vimc_stream *stream`` the pointer to the stream structure of the current stream ``struct vimc_ent_device *ved`` pointer to the vimc entity of the entity of the stream ``int enable`` flag to determine if stream should start/stop **Description** When starting, check if there is no ``stream->kthread`` allocated. This should indicate that a stream is already running. Then, it initializes the pipeline, creates and runs a kthread to consume buffers through the pipeline. When stopping, analogously check if there is a stream running, stop the thread and terminates the pipeline. **Return** 0 if success, error code otherwise.h](ji)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubj)}(hhh](j)}(hY``struct vimc_stream *stream`` the pointer to the stream structure of the current stream h](j)}(h``struct vimc_stream *stream``h]j)}(hj4 h]hstruct vimc_stream *stream}(hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2 ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj. ubj)}(hhh]ji)}(h9the pointer to the stream structure of the current streamh]h9the pointer to the stream structure of the current stream}(hjM hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhjI hKhjJ ubah}(h]h ]h"]h$]h&]uh1jhj. ubeh}(h]h ]h"]h$]h&]uh1jhjI hKhj+ ubj)}(hW``struct vimc_ent_device *ved`` pointer to the vimc entity of the entity of the stream h](j)}(h``struct vimc_ent_device *ved``h]j)}(hjm h]hstruct vimc_ent_device *ved}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjk ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhjg ubj)}(hhh]ji)}(h6pointer to the vimc entity of the entity of the streamh]h6pointer to the vimc entity of the entity of the stream}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjg ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj+ ubj)}(h=``int enable`` flag to determine if stream should start/stop h](j)}(h``int enable``h]j)}(hj h]h int enable}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubj)}(hhh]ji)}(h-flag to determine if stream should start/stoph]h-flag to determine if stream should start/stop}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj+ ubeh}(h]h ]h"]h$]h&]uh1jhj ubji)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubji)}(hXLWhen starting, check if there is no ``stream->kthread`` allocated. This should indicate that a stream is already running. Then, it initializes the pipeline, creates and runs a kthread to consume buffers through the pipeline. When stopping, analogously check if there is a stream running, stop the thread and terminates the pipeline.h](h$When starting, check if there is no }(hj hhhNhNubj)}(h``stream->kthread``h]hstream->kthread}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhX allocated. This should indicate that a stream is already running. Then, it initializes the pipeline, creates and runs a kthread to consume buffers through the pipeline. When stopping, analogously check if there is a stream running, stop the thread and terminates the pipeline.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubji)}(h **Return**h]j)}(hj h]hReturn}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubji)}(h#0 if success, error code otherwise.h]h#0 if success, error code otherwise.}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/vimc-devel:15: ./drivers/media/test-drivers/vimc/vimc-streamer.chKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubeh}(h] vimc-streamerah ]h"] vimc-streamerah$]h&]uh1hhhhhhhhK ubeh}(h]source-code-documentationah ]h"]source code documentationah$]h&]uh1hhhhhhhhKubeh}(h](the-virtual-media-controller-driver-vimcah ]h"]*the virtual media controller driver (vimc)ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j[ jX jS jP jK jH u nametypes}(j[ jS jK uh}(jX hjP hjH hhjjj!jjjjjjj j u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.