€•»\Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ;/translations/zh_CN/userspace-api/media/v4l/vidioc-streamon”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ;/translations/zh_TW/userspace-api/media/v4l/vidioc-streamon”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ;/translations/it_IT/userspace-api/media/v4l/vidioc-streamon”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ;/translations/ja_JP/userspace-api/media/v4l/vidioc-streamon”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ;/translations/ko_KR/userspace-api/media/v4l/vidioc-streamon”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ;/translations/sp_SP/userspace-api/media/v4l/vidioc-streamon”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”h]”hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒU/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-streamon.rst”h KubhŒtarget”“”)”}”(hŒ.. _VIDIOC_STREAMON:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œvidioc-streamon”uh1h´h KhhhžhhŸh³ubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ'ioctl VIDIOC_STREAMON, VIDIOC_STREAMOFF”h]”hŒ'ioctl VIDIOC_STREAMON, VIDIOC_STREAMOFF”…””}”(hhÉhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhhÄhžhhŸh³h KubhÃ)”}”(hhh]”(hÈ)”}”(hŒName”h]”hŒName”…””}”(hhÚhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhh×hžhhŸh³h K ubhŒ paragraph”“”)”}”(hŒ@VIDIOC_STREAMON - VIDIOC_STREAMOFF - Start or stop streaming I/O”h]”hŒ@VIDIOC_STREAMON - VIDIOC_STREAMOFF - Start or stop streaming I/O”…””}”(hhêhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K hh×hžhubeh}”(h]”Œname”ah ]”h"]”Œname”ah$]”h&]”uh1hÂhhÄhžhhŸh³h K ubhÃ)”}”(hhh]”(hÈ)”}”(hŒSynopsis”h]”hŒSynopsis”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhjhžhhŸh³h KubhŒindex”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”ŒV4L.VIDIOC_STREAMON (C macro)”Œc.V4L.VIDIOC_STREAMON”hNt”auh1jhjhžhhŸNh NubhŒdesc”“”)”}”(hhh]”(hŒdesc_signature”“”)”}”(hŒVIDIOC_STREAMON”h]”hŒdesc_signature_line”“”)”}”(hŒVIDIOC_STREAMON”h]”hŒ desc_name”“”)”}”(hŒVIDIOC_STREAMON”h]”hŒ desc_sig_name”“”)”}”(hj+h]”hŒVIDIOC_STREAMON”…””}”(hj;hžhhŸNh Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j9hj5ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”h±h²uh1j3hj/hžhhŸh³h Kubah}”(h]”h ]”h"]”h$]”h&]”h±h²Œ add_permalink”ˆuh1j-Œsphinx_line_type”Œ declarator”hj)hžhhŸh³h Kubah}”(h]”j ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j'hŸh³h Khj$hžhubhŒ desc_content”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jehj$hžhhŸh³h Kubeh}”(h]”h ]”(Œc”Œmacro”eh"]”h$]”h&]”Œdomain”jsŒobjtype”jtŒdesctype”jtŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j"hžhhjhŸNh Nubhé)”}”(hŒ7``int ioctl(int fd, VIDIOC_STREAMON, const int *argp)``”h]”hŒliteral”“”)”}”(hj€h]”hŒ3int ioctl(int fd, VIDIOC_STREAMON, const int *argp)”…””}”(hj„hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h Khjhžhubj)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒV4L.VIDIOC_STREAMOFF (C macro)”Œc.V4L.VIDIOC_STREAMOFF”hNt”auh1jhjhžhhŸNh Nubj#)”}”(hhh]”(j()”}”(hŒVIDIOC_STREAMOFF”h]”j.)”}”(hŒVIDIOC_STREAMOFF”h]”j4)”}”(hŒVIDIOC_STREAMOFF”h]”j:)”}”(hjªh]”hŒVIDIOC_STREAMOFF”…””}”(hj´hžhhŸNh Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j9hj°ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”h±h²uh1j3hj¬hžhhŸh³h Kubah}”(h]”h ]”h"]”h$]”h&]”h±h²jWˆuh1j-jXjYhj¨hžhhŸh³h Kubah}”(h]”j£ah ]”(j]j^eh"]”h$]”h&]”jbˆjc)jdhuh1j'hŸh³h Khj¥hžhubjf)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jehj¥hžhhŸh³h Kubeh}”(h]”h ]”(jsŒmacro”eh"]”h$]”h&]”jxjsjyjßjzjßj{‰j|‰j}‰uh1j"hžhhjhŸNh Nubhé)”}”(hŒ8``int ioctl(int fd, VIDIOC_STREAMOFF, const int *argp)``”h]”jƒ)”}”(hjåh]”hŒ4int ioctl(int fd, VIDIOC_STREAMOFF, const int *argp)”…””}”(hjçhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjãubah}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h Khjhžhubeh}”(h]”Œsynopsis”ah ]”h"]”Œsynopsis”ah$]”h&]”uh1hÂhhÄhžhhŸh³h KubhÃ)”}”(hhh]”(hÈ)”}”(hŒ Arguments”h]”hŒ Arguments”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhjhžhhŸh³h KubhŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒ5``fd`` File descriptor returned by :c:func:`open()`. ”h]”(hŒterm”“”)”}”(hŒ``fd``”h]”jƒ)”}”(hj"h]”hŒfd”…””}”(hj$hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h KhjubhŒ definition”“”)”}”(hhh]”hé)”}”(hŒ-File descriptor returned by :c:func:`open()`.”h]”(hŒFile descriptor returned by ”…””}”(hj<hžhhŸNh Nubh)”}”(hŒ:c:func:`open()`”h]”jƒ)”}”(hjFh]”hŒopen()”…””}”(hjHhžhhŸNh Nubah}”(h]”h ]”(Œxref”jsŒc-func”eh"]”h$]”h&]”uh1j‚hjDubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ'userspace-api/media/v4l/vidioc-streamon”Œ refdomain”jsŒreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)”}”Œdata”]”jeŒ ASTIdentifier”“”)”}”Œ identifier”ŒV4L”sbN†”asbŒ reftarget”Œopen”uh1hhŸh³h Khj<ubhŒ.”…””}”(hj<hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h Khj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h Khjubj)”}”(hŒ ``argp`` Pointer to an integer. ”h]”(j)”}”(hŒ``argp``”h]”jƒ)”}”(hj‘h]”hŒargp”…””}”(hj“hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h K!hj‹ubj8)”}”(hhh]”hé)”}”(hŒPointer to an integer.”h]”hŒPointer to an integer.”…””}”(hj©hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K!hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h K!hjhžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjhžhhŸh³h Nubeh}”(h]”Œ arguments”ah ]”h"]”Œ arguments”ah$]”h&]”uh1hÂhhÄhžhhŸh³h KubhÃ)”}”(hhh]”(hÈ)”}”(hŒ Description”h]”hŒ Description”…””}”(hjÔhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhjÑhžhhŸh³h K$ubhé)”}”(hŒÏThe ``VIDIOC_STREAMON`` and ``VIDIOC_STREAMOFF`` ioctl start and stop the capture or output process during streaming (:ref:`memory mapping `, :ref:`user pointer ` or :ref:`DMABUF `) I/O.”h]”(hŒThe ”…””}”(hjâhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMON``”h]”hŒVIDIOC_STREAMON”…””}”(hjêhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjâubhŒ and ”…””}”(hjâhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMOFF``”h]”hŒVIDIOC_STREAMOFF”…””}”(hjühžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjâubhŒF ioctl start and stop the capture or output process during streaming (”…””}”(hjâhžhhŸNh Nubh)”}”(hŒ:ref:`memory mapping `”h]”hŒinline”“”)”}”(hjh]”hŒmemory mapping”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(jRŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j^Œ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjsŒmmap”uh1hhŸh³h K&hjâubhŒ, ”…””}”(hjâhžhhŸNh Nubh)”}”(hŒ:ref:`user pointer `”h]”j)”}”(hj6h]”hŒ user pointer”…””}”(hj8hžhhŸNh Nubah}”(h]”h ]”(jRŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jhj4ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j^Œ refdomain”jBŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjsŒuserp”uh1hhŸh³h K&hjâubhŒ or ”…””}”(hjâhžhhŸNh Nubh)”}”(hŒ:ref:`DMABUF `”h]”j)”}”(hjZh]”hŒDMABUF”…””}”(hj\hžhhŸNh Nubah}”(h]”h ]”(jRŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jhjXubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j^Œ refdomain”jfŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjsŒdmabuf”uh1hhŸh³h K&hjâubhŒ) I/O.”…””}”(hjâhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K&hjÑhžhubhé)”}”(hXCapture hardware is disabled and no input buffers are filled (if there are any empty buffers in the incoming queue) until ``VIDIOC_STREAMON`` has been called. Output hardware is disabled and no video signal is produced until ``VIDIOC_STREAMON`` has been called.”h]”(hŒzCapture hardware is disabled and no input buffers are filled (if there are any empty buffers in the incoming queue) until ”…””}”(hj‚hžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMON``”h]”hŒVIDIOC_STREAMON”…””}”(hjŠhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj‚ubhŒT has been called. Output hardware is disabled and no video signal is produced until ”…””}”(hj‚hžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMON``”h]”hŒVIDIOC_STREAMON”…””}”(hjœhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj‚ubhŒ has been called.”…””}”(hj‚hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K+hjÑhžhubhé)”}”(hŒMemory-to-memory devices will not start until ``VIDIOC_STREAMON`` has been called for both the capture and output stream types.”h]”(hŒ.Memory-to-memory devices will not start until ”…””}”(hj´hžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMON``”h]”hŒVIDIOC_STREAMON”…””}”(hj¼hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj´ubhŒ> has been called for both the capture and output stream types.”…””}”(hj´hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K0hjÑhžhubhé)”}”(hŒPIf ``VIDIOC_STREAMON`` fails then any already queued buffers will remain queued.”h]”(hŒIf ”…””}”(hjÔhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMON``”h]”hŒVIDIOC_STREAMON”…””}”(hjÜhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjÔubhŒ: fails then any already queued buffers will remain queued.”…””}”(hjÔhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K3hjÑhžhubhé)”}”(hX»The ``VIDIOC_STREAMOFF`` ioctl, apart of aborting or finishing any DMA in progress, unlocks any user pointer buffers locked in physical memory, and it removes all buffers from the incoming and outgoing queues. That means all images captured but not dequeued yet will be lost, likewise all images enqueued for output but not transmitted yet. I/O returns to the same state as after calling :ref:`VIDIOC_REQBUFS` and can be restarted accordingly.”h]”(hŒThe ”…””}”(hjôhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMOFF``”h]”hŒVIDIOC_STREAMOFF”…””}”(hjühžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjôubhXl ioctl, apart of aborting or finishing any DMA in progress, unlocks any user pointer buffers locked in physical memory, and it removes all buffers from the incoming and outgoing queues. That means all images captured but not dequeued yet will be lost, likewise all images enqueued for output but not transmitted yet. I/O returns to the same state as after calling ”…””}”(hjôhžhhŸNh Nubh)”}”(hŒ:ref:`VIDIOC_REQBUFS`”h]”j)”}”(hjh]”hŒVIDIOC_REQBUFS”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(jRŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j^Œ refdomain”jŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjsŒvidioc_reqbufs”uh1hhŸh³h K6hjôubhŒ" and can be restarted accordingly.”…””}”(hjôhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K6hjÑhžhubhé)”}”(hX=If buffers have been queued with :ref:`VIDIOC_QBUF` and ``VIDIOC_STREAMOFF`` is called without ever having called ``VIDIOC_STREAMON``, then those queued buffers will also be removed from the incoming queue and all are returned to the same state as after calling :ref:`VIDIOC_REQBUFS` and can be restarted accordingly.”h]”(hŒ!If buffers have been queued with ”…””}”(hj8hžhhŸNh Nubh)”}”(hŒ:ref:`VIDIOC_QBUF`”h]”j)”}”(hjBh]”hŒ VIDIOC_QBUF”…””}”(hjDhžhhŸNh Nubah}”(h]”h ]”(jRŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jhj@ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j^Œ refdomain”jNŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjsŒ vidioc_qbuf”uh1hhŸh³h K?hj8ubhŒ and ”…””}”(hj8hžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMOFF``”h]”hŒVIDIOC_STREAMOFF”…””}”(hjdhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj8ubhŒ& is called without ever having called ”…””}”(hj8hžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMON``”h]”hŒVIDIOC_STREAMON”…””}”(hjvhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj8ubhŒ, then those queued buffers will also be removed from the incoming queue and all are returned to the same state as after calling ”…””}”(hj8hžhhŸNh Nubh)”}”(hŒ:ref:`VIDIOC_REQBUFS`”h]”j)”}”(hjŠh]”hŒVIDIOC_REQBUFS”…””}”(hjŒhžhhŸNh Nubah}”(h]”h ]”(jRŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jhjˆubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j^Œ refdomain”j–Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjsŒvidioc_reqbufs”uh1hhŸh³h K?hj8ubhŒ" and can be restarted accordingly.”…””}”(hj8hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K?hjÑhžhubhé)”}”(hŒBoth ioctls take a pointer to an integer, the desired buffer or stream type. This is the same as struct :c:type:`v4l2_requestbuffers` ``type``.”h]”(hŒhBoth ioctls take a pointer to an integer, the desired buffer or stream type. This is the same as struct ”…””}”(hj²hžhhŸNh Nubh)”}”(hŒ:c:type:`v4l2_requestbuffers`”h]”jƒ)”}”(hj¼h]”hŒv4l2_requestbuffers”…””}”(hj¾hžhhŸNh Nubah}”(h]”h ]”(jRjsŒc-type”eh"]”h$]”h&]”uh1j‚hjºubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j^Œ refdomain”jsŒreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jdjhjsŒv4l2_requestbuffers”uh1hhŸh³h KFhj²ubhŒ ”…””}”(hj²hžhhŸNh Nubjƒ)”}”(hŒ``type``”h]”hŒtype”…””}”(hjÝhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj²ubhŒ.”…””}”(hj²hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KFhjÑhžhubhé)”}”(hX7If ``VIDIOC_STREAMON`` is called when streaming is already in progress, or if ``VIDIOC_STREAMOFF`` is called when streaming is already stopped, then 0 is returned. Nothing happens in the case of ``VIDIOC_STREAMON``, but ``VIDIOC_STREAMOFF`` will return queued buffers to their starting state as mentioned above.”h]”(hŒIf ”…””}”(hjõhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMON``”h]”hŒVIDIOC_STREAMON”…””}”(hjýhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjõubhŒ8 is called when streaming is already in progress, or if ”…””}”(hjõhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMOFF``”h]”hŒVIDIOC_STREAMOFF”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjõubhŒa is called when streaming is already stopped, then 0 is returned. Nothing happens in the case of ”…””}”(hjõhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMON``”h]”hŒVIDIOC_STREAMON”…””}”(hj!hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjõubhŒ, but ”…””}”(hjõhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMOFF``”h]”hŒVIDIOC_STREAMOFF”…””}”(hj3hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjõubhŒG will return queued buffers to their starting state as mentioned above.”…””}”(hjõhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KJhjÑhžhubhŒnote”“”)”}”(hŒðApplications can be preempted for unknown periods right before or after the ``VIDIOC_STREAMON`` or ``VIDIOC_STREAMOFF`` calls, there is no notion of starting or stopping "now". Buffer timestamps can be used to synchronize with other events.”h]”hé)”}”(hŒðApplications can be preempted for unknown periods right before or after the ``VIDIOC_STREAMON`` or ``VIDIOC_STREAMOFF`` calls, there is no notion of starting or stopping "now". Buffer timestamps can be used to synchronize with other events.”h]”(hŒLApplications can be preempted for unknown periods right before or after the ”…””}”(hjQhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMON``”h]”hŒVIDIOC_STREAMON”…””}”(hjYhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjQubhŒ or ”…””}”(hjQhžhhŸNh Nubjƒ)”}”(hŒ``VIDIOC_STREAMOFF``”h]”hŒVIDIOC_STREAMOFF”…””}”(hjkhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjQubhŒ} calls, there is no notion of starting or stopping “nowâ€. Buffer timestamps can be used to synchronize with other events.”…””}”(hjQhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KRhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÑhžhhŸh³h Nubeh}”(h]”Œ description”ah ]”h"]”Œ description”ah$]”h&]”uh1hÂhhÄhžhhŸh³h K$ubhÃ)”}”(hhh]”(hÈ)”}”(hŒ Return Value”h]”hŒ Return Value”…””}”(hj”hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhj‘hžhhŸh³h KXubhé)”}”(hŒ´On success 0 is returned, on error -1 and the ``errno`` variable is set appropriately. The generic error codes are described at the :ref:`Generic Error Codes ` chapter.”h]”(hŒ.On success 0 is returned, on error -1 and the ”…””}”(hj¢hžhhŸNh Nubjƒ)”}”(hŒ ``errno``”h]”hŒerrno”…””}”(hjªhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj¢ubhŒM variable is set appropriately. The generic error codes are described at the ”…””}”(hj¢hžhhŸNh Nubh)”}”(hŒ':ref:`Generic Error Codes `”h]”j)”}”(hj¾h]”hŒGeneric Error Codes”…””}”(hjÀhžhhŸNh Nubah}”(h]”h ]”(jRŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jhj¼ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j^Œ refdomain”jÊŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjsŒ gen-errors”uh1hhŸh³h KZhj¢ubhŒ chapter.”…””}”(hj¢hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KZhj‘hžhubj)”}”(hhh]”(j)”}”(hŒzEINVAL The buffer ``type`` is not supported, or no buffers have been allocated (memory mapping) or enqueued (output) yet. ”h]”(j)”}”(hŒEINVAL”h]”hŒEINVAL”…””}”(hjíhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h K`hjéubj8)”}”(hhh]”hé)”}”(hŒrThe buffer ``type`` is not supported, or no buffers have been allocated (memory mapping) or enqueued (output) yet.”h]”(hŒ The buffer ”…””}”(hjþhžhhŸNh Nubjƒ)”}”(hŒ``type``”h]”hŒtype”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjþubhŒ_ is not supported, or no buffers have been allocated (memory mapping) or enqueued (output) yet.”…””}”(hjþhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K_hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjéubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h K`hjæubj)”}”(hŒEPIPE The driver implements :ref:`pad-level format configuration ` and the pipeline configuration is invalid. ”h]”(j)”}”(hŒEPIPE”h]”hŒEPIPE”…””}”(hj.hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h Kehj*ubj8)”}”(hhh]”hé)”}”(hŒzThe driver implements :ref:`pad-level format configuration ` and the pipeline configuration is invalid.”h]”(hŒThe driver implements ”…””}”(hj?hžhhŸNh Nubh)”}”(hŒ9:ref:`pad-level format configuration `”h]”j)”}”(hjIh]”hŒpad-level format configuration”…””}”(hjKhžhhŸNh Nubah}”(h]”h ]”(jRŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jhjGubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j^Œ refdomain”jUŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjsŒpad-level-formats”uh1hhŸh³h Kchj?ubhŒ+ and the pipeline configuration is invalid.”…””}”(hj?hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h Kchj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h Kehjæhžhubj)”}”(hŒhENOLINK The driver implements Media Controller interface and the pipeline link configuration is invalid.”h]”(j)”}”(hŒENOLINK”h]”hŒENOLINK”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h Khhj}ubj8)”}”(hhh]”hé)”}”(hŒ`The driver implements Media Controller interface and the pipeline link configuration is invalid.”h]”hŒ`The driver implements Media Controller interface and the pipeline link configuration is invalid.”…””}”(hj’hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h Khhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h Khhjæhžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘hžhhŸh³h Nubeh}”(h]”Œ return-value”ah ]”h"]”Œ return value”ah$]”h&]”uh1hÂhhÄhžhhŸh³h KXubeh}”(h]”(Œ&ioctl-vidioc-streamon-vidioc-streamoff”hÁeh ]”h"]”(Œ'ioctl vidioc_streamon, vidioc_streamoff”Œvidioc_streamon”eh$]”h&]”uh1hÂhhhžhhŸh³h KŒexpect_referenced_by_name”}”jÀh¶sŒexpect_referenced_by_id”}”hÁh¶subeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÇNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jêŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”hÁ]”h¶asŒnameids”}”(jÀhÁj¿j¼hýhújÿjüjÎjËjŽj‹j·j´uŒ nametypes”}”(jÀˆj¿‰hý‰jÿ‰jΉjމj·‰uh}”(hÁhÄj¼hÄhúh×jüjj j)j£j¨jËjj‹jÑj´j‘uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”hé)”}”(hhh]”hŒ5Hyperlink target "vidioc-streamon" is not referenced.”…””}”hjTsbah}”(h]”h ]”h"]”h$]”h&]”uh1hèhjQubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”h³Œline”Kuh1jOubaŒ transformer”NŒ include_log”]”Œ decoration”Nhžhub.