zsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget1/translations/zh_CN/userspace-api/media/dvb/intromodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/zh_TW/userspace-api/media/dvb/intromodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/it_IT/userspace-api/media/dvb/intromodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/ja_JP/userspace-api/media/dvb/intromodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/ko_KR/userspace-api/media/dvb/intromodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/sp_SP/userspace-api/media/dvb/intromodnameN 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:spacepreserveuh1hhhhhhK/var/lib/git/docbuild/linux/Documentation/userspace-api/media/dvb/intro.rsthKubhtarget)}(h.. _dvb_introdution:h]h}(h]h ]h"]h$]h&]refiddvb-introdutionuh1hhKhhhhhhubhsection)}(hhh](htitle)}(h Introductionh]h Introduction}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(h.. _requisites:h]h}(h]h ]h"]h$]h&]h requisitesuh1hhK hhhhhhubh)}(hhh](h)}(hWhat you need to knowh]hWhat you need to know}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(hX\The reader of this document is required to have some knowledge in the area of digital video broadcasting (Digital TV) and should be familiar with part I of the MPEG2 specification ISO/IEC 13818 (aka ITU-T H.222), i.e you should know what a program/transport stream (PS/TS) is and what is meant by a packetized elementary stream (PES) or an I-frame.h]hX\The reader of this document is required to have some knowledge in the area of digital video broadcasting (Digital TV) and should be familiar with part I of the MPEG2 specification ISO/IEC 13818 (aka ITU-T H.222), i.e you should know what a program/transport stream (PS/TS) is and what is meant by a packetized elementary stream (PES) or an I-frame.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hEVarious Digital TV standards documents are available for download at:h]hEVarious Digital TV standards documents are available for download at:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh bullet_list)}(hhh](h list_item)}(hHEuropean standards (DVB): http://www.dvb.org and/or http://www.etsi.org.h]h)}(hjh](hEuropean standards (DVB): }(hjhhhNhNubh reference)}(hhttp://www.dvb.orgh]hhttp://www.dvb.org}(hj%hhhNhNubah}(h]h ]h"]h$]h&]refurij'uh1j#hjubh and/or }(hjhhhNhNubj$)}(hhttp://www.etsi.orgh]hhttp://www.etsi.org}(hj8hhhNhNubah}(h]h ]h"]h$]h&]refurij:uh1j#hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h:American standards (ATSC): https://www.atsc.org/standards/h]h)}(hjYh](hAmerican standards (ATSC): }(hj[hhhNhNubj$)}(hhttps://www.atsc.org/standards/h]hhttps://www.atsc.org/standards/}(hjbhhhNhNubah}(h]h ]h"]h$]h&]refurijduh1j#hj[ubeh}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h1Japanese standards (ISDB): http://www.dibeg.org/ h]h)}(h0Japanese standards (ISDB): http://www.dibeg.org/h](hJapanese standards (ISDB): }(hjhhhNhNubj$)}(hhttp://www.dibeg.org/h]hhttp://www.dibeg.org/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j#hjubeh}(h]h ]h"]h$]h&]uh1hhhhKhj}ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhKhhhhubh)}(hIt is also necessary to know how to access Linux devices and how to use ioctl calls. This also includes the knowledge of C or C++.h]hIt is also necessary to know how to access Linux devices and how to use ioctl calls. This also includes the knowledge of C or C++.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h .. _history:h]h}(h]h ]h"]h$]h&]hhistoryuh1hhKhhhhhhubeh}(h](what-you-need-to-knowheh ]h"](what you need to know requisiteseh$]h&]uh1hhhhhhhhK expect_referenced_by_name}jhsexpect_referenced_by_id}hhsubh)}(hhh](h)}(hHistoryh]hHistory}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK"ubh)}(hXcThe first API for Digital TV cards we used at Convergence in late 1999 was an extension of the Video4Linux API which was primarily developed for frame grabber cards. As such it was not really well suited to be used for Digital TV cards and their new features like recording MPEG streams and filtering several section and PES data streams at the same time.h]hXcThe first API for Digital TV cards we used at Convergence in late 1999 was an extension of the Video4Linux API which was primarily developed for frame grabber cards. As such it was not really well suited to be used for Digital TV cards and their new features like recording MPEG streams and filtering several section and PES data streams at the same time.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjhhubh)}(hXIn early 2000, Convergence was approached by Nokia with a proposal for a new standard Linux Digital TV API. As a commitment to the development of terminals based on open standards, Nokia and Convergence made it available to all Linux developers and published it on https://linuxtv.org in September 2000. With the Linux driver for the Siemens/Hauppauge DVB PCI card, Convergence provided a first implementation of the Linux Digital TV API. Convergence was the maintainer of the Linux Digital TV API in the early days.h](hX In early 2000, Convergence was approached by Nokia with a proposal for a new standard Linux Digital TV API. As a commitment to the development of terminals based on open standards, Nokia and Convergence made it available to all Linux developers and published it on }(hjhhhNhNubj$)}(hhttps://linuxtv.orgh]hhttps://linuxtv.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j#hjubh in September 2000. With the Linux driver for the Siemens/Hauppauge DVB PCI card, Convergence provided a first implementation of the Linux Digital TV API. Convergence was the maintainer of the Linux Digital TV API in the early days.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK*hjhhubh)}(hNow, the API is maintained by the LinuxTV community (i.e. you, the reader of this document). The Linux Digital TV API is constantly reviewed and improved together with the improvements at the subsystem's core at the Kernel.h]hNow, the API is maintained by the LinuxTV community (i.e. you, the reader of this document). The Linux Digital TV API is constantly reviewed and improved together with the improvements at the subsystem’s core at the Kernel.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hjhhubh)}(h .. _overview:h]h}(h]h ]h"]h$]h&]hoverviewuh1hhK9hjhhhhubeh}(h](jid1eh ]h"]historyah$]historyah&]uh1hhhhhhhhK" referencedKj}j0jsj}jjsubh)}(hhh](h)}(hOverviewh]hOverview}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hhhhhK #include #include #include h]hr#include #include #include #include }hjsbah}(h]h ]h"]h$]h&]hhforcelanguagechighlight_args}uh1jhhhKhjhhubh)}(hTo enable applications to support different API version, an additional include file ``linux/dvb/version.h`` exists, which defines the constant ``DVB_API_VERSION``. This document describes ``DVB_API_VERSION 5.10``.h](hTTo enable applications to support different API version, an additional include file }(hjhhhNhNubj)}(h``linux/dvb/version.h``h]hlinux/dvb/version.h}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh$ exists, which defines the constant }(hjhhhNhNubj)}(h``DVB_API_VERSION``h]hDVB_API_VERSION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh. This document describes }(hjhhhNhNubj)}(h``DVB_API_VERSION 5.10``h]hDVB_API_VERSION 5.10}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h](api-include-filesjeh ]h"](api include files include_fileseh$]h&]uh1hhhhhhhhKj}jBjsj}jjsubeh}(h]( introductionheh ]h"]( introductiondvb_introdutioneh$]h&]uh1hhhhhhhhKj}jMhsj}hhsubeh}(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_handlerjuerror_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]hah]haj]jaj*]j ajR]jHaj]jaj]jaunameids}(jMhjLjIjhjjj0jjj*jjRjjjjjBjjAj>u nametypes}(jMjLjjj0jjjjjBjAuh}(hhjIhhhjhjjj-jj*j7jj7jRjVjjjjjjj>jjj[u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages](hsystem_message)}(hhh]h)}(h*Duplicate implicit target name: "history".h]h.Duplicate implicit target name: “history”.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]j-alevelKtypeINFOsourcehlineK"uh1jhjhhhhhK"ubj)}(hhh]h)}(h+Duplicate implicit target name: "overview".h]h/Duplicate implicit target name: “overview”.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]jalevelKtypejsourcehlineK