tsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftargetJ/translations/zh_CN/userspace-api/media/v4l/vidioc-subdev-g-frame-intervalmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetJ/translations/zh_TW/userspace-api/media/v4l/vidioc-subdev-g-frame-intervalmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetJ/translations/it_IT/userspace-api/media/v4l/vidioc-subdev-g-frame-intervalmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetJ/translations/ja_JP/userspace-api/media/v4l/vidioc-subdev-g-frame-intervalmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetJ/translations/ko_KR/userspace-api/media/v4l/vidioc-subdev-g-frame-intervalmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetJ/translations/sp_SP/userspace-api/media/v4l/vidioc-subdev-g-frame-intervalmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-laterh]h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhd/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-subdev-g-frame-interval.rsthKubhtarget)}(h#.. _VIDIOC_SUBDEV_G_FRAME_INTERVAL:h]h}(h]h ]h"]h$]h&]refidvidioc-subdev-g-frame-intervaluh1hhKhhhhhhubhsection)}(hhh](htitle)}(hDioctl VIDIOC_SUBDEV_G_FRAME_INTERVAL, VIDIOC_SUBDEV_S_FRAME_INTERVALh]hDioctl VIDIOC_SUBDEV_G_FRAME_INTERVAL, VIDIOC_SUBDEV_S_FRAME_INTERVAL}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNameh]hName}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(hoVIDIOC_SUBDEV_G_FRAME_INTERVAL - VIDIOC_SUBDEV_S_FRAME_INTERVAL - Get or set the frame interval on a subdev padh]hoVIDIOC_SUBDEV_G_FRAME_INTERVAL - VIDIOC_SUBDEV_S_FRAME_INTERVAL - Get or set the frame interval on a subdev pad}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubeh}(h]nameah ]h"]nameah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hSynopsish]hSynopsis}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single,V4L.VIDIOC_SUBDEV_G_FRAME_INTERVAL (C macro)$c.V4L.VIDIOC_SUBDEV_G_FRAME_INTERVALhNtauh1jhjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hVIDIOC_SUBDEV_G_FRAME_INTERVALh]hdesc_signature_line)}(hVIDIOC_SUBDEV_G_FRAME_INTERVALh]h desc_name)}(hVIDIOC_SUBDEV_G_FRAME_INTERVALh]h desc_sig_name)}(hj+h]hVIDIOC_SUBDEV_G_FRAME_INTERVAL}(hj;hhhNhNubah}(h]h ]nah"]h$]h&]uh1j9hj5ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j3hj/hhhhhKubah}(h]h ]h"]h$]h&]hh add_permalinkuh1j-sphinx_line_type declaratorhj)hhhhhKubah}(h]j ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j'hhhKhj$hhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jehj$hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainjsobjtypejtdesctypejtnoindex noindexentrynocontentsentryuh1j"hhhjhNhNubh)}(h^``int ioctl(int fd, VIDIOC_SUBDEV_G_FRAME_INTERVAL, struct v4l2_subdev_frame_interval *argp)``h]hliteral)}(hjh]hZint ioctl(int fd, VIDIOC_SUBDEV_G_FRAME_INTERVAL, struct v4l2_subdev_frame_interval *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j,V4L.VIDIOC_SUBDEV_S_FRAME_INTERVAL (C macro)$c.V4L.VIDIOC_SUBDEV_S_FRAME_INTERVALhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hVIDIOC_SUBDEV_S_FRAME_INTERVALh]j.)}(hVIDIOC_SUBDEV_S_FRAME_INTERVALh]j4)}(hVIDIOC_SUBDEV_S_FRAME_INTERVALh]j:)}(hjh]hVIDIOC_SUBDEV_S_FRAME_INTERVAL}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhKubah}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhjhhhhhKubah}(h]jah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKhjhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjhhhhhKubeh}(h]h ](jsmacroeh"]h$]h&]jxjsjyjjzjj{j|j}uh1j"hhhjhNhNubh)}(h^``int ioctl(int fd, VIDIOC_SUBDEV_S_FRAME_INTERVAL, struct v4l2_subdev_frame_interval *argp)``h]j)}(hjh]hZint ioctl(int fd, VIDIOC_SUBDEV_S_FRAME_INTERVAL, struct v4l2_subdev_frame_interval *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]synopsisah ]h"]synopsisah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Argumentsh]h Arguments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhdefinition_list)}(hhh](hdefinition_list_item)}(h5``fd`` File descriptor returned by :c:func:`open()`. h](hterm)}(h``fd``h]j)}(hj"h]hfd}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hj<hhhNhNubh)}(h:c:func:`open()`h]j)}(hjFh]hopen()}(hjHhhhNhNubah}(h]h ](xrefjsc-funceh"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]refdoc6userspace-api/media/v4l/vidioc-subdev-g-frame-interval refdomainjsreftypefunc refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]je ASTIdentifier)} identifierV4LsbNasb reftargetopenuh1hhhhKhj<ubh.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj9ubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hA``argp`` Pointer to struct :c:type:`v4l2_subdev_frame_interval`. h](j)}(h``argp``h]j)}(hjh]hargp}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK!hjubj8)}(hhh]h)}(h7Pointer to struct :c:type:`v4l2_subdev_frame_interval`.h](hPointer to struct }(hjhhhNhNubh)}(h$:c:type:`v4l2_subdev_frame_interval`h]j)}(hjh]hv4l2_subdev_frame_interval}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_frame_intervaluh1hhhhK!hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhK!hjhhubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h] argumentsah ]h"] argumentsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK$ubh)}(hXTThese ioctls are used to get and set the frame interval at specific subdev pads in the image pipeline. The frame interval only makes sense for sub-devices that can control the frame period on their own. This includes, for instance, image sensors and TV tuners. Sub-devices that don't support frame intervals must not implement these ioctls.h]hXVThese ioctls are used to get and set the frame interval at specific subdev pads in the image pipeline. The frame interval only makes sense for sub-devices that can control the frame period on their own. This includes, for instance, image sensors and TV tuners. Sub-devices that don’t support frame intervals must not implement these ioctls.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjhhubh)}(hXRTo retrieve the current frame interval applications set the ``pad`` field of a struct :c:type:`v4l2_subdev_frame_interval` to the desired pad number as reported by the media controller API. When they call the ``VIDIOC_SUBDEV_G_FRAME_INTERVAL`` ioctl with a pointer to this structure the driver fills the members of the ``interval`` field.h](h`.h](h(Active or try frame interval, from enum }(hjhhhNhNubh)}(h<:ref:`v4l2_subdev_format_whence `h]hinline)}(hjh]hv4l2_subdev_format_whence}(hjhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjreftyperef refexplicitrefwarnjsv4l2-subdev-format-whenceuh1hhhhKbhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKbhjubah}(h]h ]h"]h$]h&]uh1j0hjSubeh}(h]h ]h"]h$]h&]uh1j+hj(ubj,)}(hhh](j1)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjubah}(h]h ]h"]h$]h&]uh1j0hjubj1)}(hhh]h)}(h``reserved``\ [7]h](j)}(h ``reserved``h]hreserved}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh [7]}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1j0hjubj1)}(hhh]h)}(hTReserved for future extensions. Applications and drivers must set the array to zero.h]hTReserved for future extensions. Applications and drivers must set the array to zero.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhjubah}(h]h ]h"]h$]h&]uh1j0hjubeh}(h]h ]h"]h$]h&]uh1j+hj(ubeh}(h]h ]h"]h$]h&]uh1j&hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubeh}(h]id1ah ]h"]h$]h&]uh1jhjhhhNhNubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK$ubh)}(hhh](h)}(h Return Valueh]h Return Value}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhhhhhKjubh)}(hOn 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 }(hjYhhhNhNubj)}(h ``errno``h]herrno}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubhM variable is set appropriately. The generic error codes are described at the }(hjYhhhNhNubh)}(h':ref:`Generic Error Codes `h]j)}(hjuh]hGeneric Error Codes}(hjwhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjsubah}(h]h ]h"]h$]h&]refdocj^ refdomainjreftyperef refexplicitrefwarnjs gen-errorsuh1hhhhKlhjYubh chapter.}(hjYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKlhjHhhubj)}(hhh](j)}(hX#EBUSY The frame interval can't be changed because the pad is currently busy. This can be caused, for instance, by an active video stream on the pad. The ioctl must not be retried without performing another action to fix the problem first. Only returned by ``VIDIOC_SUBDEV_S_FRAME_INTERVAL`` h](j)}(hEBUSYh]hEBUSY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKuhjubj8)}(hhh]h)}(hXThe frame interval can't be changed because the pad is currently busy. This can be caused, for instance, by an active video stream on the pad. The ioctl must not be retried without performing another action to fix the problem first. Only returned by ``VIDIOC_SUBDEV_S_FRAME_INTERVAL``h](hThe frame interval can’t be changed because the pad is currently busy. This can be caused, for instance, by an active video stream on the pad. The ioctl must not be retried without performing another action to fix the problem first. Only returned by }(hjhhhNhNubj)}(h"``VIDIOC_SUBDEV_S_FRAME_INTERVAL``h]hVIDIOC_SUBDEV_S_FRAME_INTERVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKqhjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhKuhjubj)}(hEINVAL The struct :c:type:`v4l2_subdev_frame_interval` ``pad`` references a non-existing pad, the ``which`` field has an unsupported value, or the pad doesn't support frame intervals. h](j)}(hEINVALh]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKzhjubj8)}(hhh]h)}(hThe struct :c:type:`v4l2_subdev_frame_interval` ``pad`` references a non-existing pad, the ``which`` field has an unsupported value, or the pad doesn't support frame intervals.h](h The struct }(hjhhhNhNubh)}(h$:c:type:`v4l2_subdev_frame_interval`h]j)}(hjh]hv4l2_subdev_frame_interval}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_frame_intervaluh1hhhhKxhjubh }(hjhhhNhNubj)}(h``pad``h]hpad}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh$ references a non-existing pad, the }(hjhhhNhNubj)}(h ``which``h]hwhich}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhN field has an unsupported value, or the pad doesn’t support frame intervals.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhKzhjhhubj)}(hEPERM The ``VIDIOC_SUBDEV_S_FRAME_INTERVAL`` ioctl has been called on a read-only subdevice and the ``which`` field is set to ``V4L2_SUBDEV_FORMAT_ACTIVE``.h](j)}(hEPERMh]hEPERM}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK}hjSubj8)}(hhh]h)}(hThe ``VIDIOC_SUBDEV_S_FRAME_INTERVAL`` ioctl has been called on a read-only subdevice and the ``which`` field is set to ``V4L2_SUBDEV_FORMAT_ACTIVE``.h](hThe }(hjhhhhNhNubj)}(h"``VIDIOC_SUBDEV_S_FRAME_INTERVAL``h]hVIDIOC_SUBDEV_S_FRAME_INTERVAL}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubh8 ioctl has been called on a read-only subdevice and the }(hjhhhhNhNubj)}(h ``which``h]hwhich}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubh field is set to }(hjhhhhNhNubj)}(h``V4L2_SUBDEV_FORMAT_ACTIVE``h]hV4L2_SUBDEV_FORMAT_ACTIVE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubh.}(hjhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK}hjeubah}(h]h ]h"]h$]h&]uh1j7hjSubeh}(h]h ]h"]h$]h&]uh1jhhhK}hjhhubeh}(h]h ]h"]h$]h&]uh1jhjHhhhhhNubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhKjubeh}(h](Cioctl-vidioc-subdev-g-frame-interval-vidioc-subdev-s-frame-intervalheh ]h"](Dioctl vidioc_subdev_g_frame_interval, vidioc_subdev_s_frame_intervalvidioc_subdev_g_frame_intervaleh$]h&]uh1hhhhhhhhKexpect_referenced_by_name}jhsexpect_referenced_by_id}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj0footnote_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_handlerjerror_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}h]hasnameids}(jhjjhhjjjjjEjBjju nametypes}(jjhjjjEjuh}(hhjhhhjjj j)jjjjjBjjjjjHj;ju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j KsRparse_messages]transform_messages]hsystem_message)}(hhh]h)}(hhh]hDHyperlink target "vidioc-subdev-g-frame-interval" is not referenced.}hj_ sbah}(h]h ]h"]h$]h&]uh1hhj\ ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jZ uba transformerN include_log] decorationNhhub.