.. Permission is granted to copy, distribute and/or modify this
.. document under the terms of the GNU Free Documentation License,
.. Version 1.1 or any later version published by the Free Software
.. Foundation, with no Invariant Sections, no Front-Cover Texts
.. and no Back-Cover Texts. A copy of the license is included at
.. Documentation/userspace-api/media/fdl-appendix.rst.
..
.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections

.. _audio_function_calls:

********************
Audio Function Calls
********************

.. toctree::
    :maxdepth: 1

    audio-fopen
    audio-fclose
    audio-fwrite
    audio-stop
    audio-play
    audio-pause
    audio-continue
    audio-select-source
    audio-set-mute
    audio-set-av-sync
    audio-set-bypass-mode
    audio-channel-select
    audio-bilingual-channel-select
    audio-get-status
    audio-get-capabilities
    audio-clear-buffer
    audio-set-id
    audio-set-mixer
    audio-set-streamtype
