var page_pipewire =
[
    [ "Design", "page_design.html", [
      [ "Components", "index.html#autotoc_md22", null ],
      [ "API Documentation", "index.html#autotoc_md23", null ],
      [ "Resources", "index.html#autotoc_md24", null ],
      [ "Motivation", "page_overview.html#autotoc_md25", null ],
      [ "Internals", "page_pipewire.html#autotoc_md26", null ],
      [ "Components", "page_pipewire.html#autotoc_md27", null ],
      [ "Backends", "page_pipewire.html#autotoc_md28", [
        [ "Protocol", "page_design.html#autotoc_md29", null ],
        [ "Extensibility", "page_design.html#autotoc_md30", null ]
      ] ]
    ] ],
    [ "PipeWire Audio", "page_audio.html", [
      [ "Use cases", "page_audio.html#autotoc_md112", [
        [ "Audio devices are made available as processing nodes/ports", "page_audio.html#autotoc_md113", [
          [ "Audio devices can be plugged and unplugged", "page_audio.html#autotoc_md114", null ],
          [ "Audio port in canonical format", "page_audio.html#autotoc_md115", null ],
          [ "Applications can connect to audio devices", "page_audio.html#autotoc_md116", null ],
          [ "Default audio sink and sources", "page_audio.html#autotoc_md117", null ],
          [ "Application should be able to move between sinks/sources", "page_audio.html#autotoc_md118", null ],
          [ "Exclusive access", "page_audio.html#autotoc_md119", null ]
        ] ]
      ] ],
      [ "Design", "page_audio.html#autotoc_md120", [
        [ "SPA", "page_audio.html#autotoc_md121", null ],
        [ "Audio Adapter", "page_audio.html#autotoc_md122", null ],
        [ "The session manager", "page_audio.html#autotoc_md123", null ]
      ] ],
      [ "Implementation", "page_audio.html#autotoc_md124", [
        [ "pipewire-media-session (alsa-monitor)", "page_audio.html#autotoc_md125", null ]
      ] ]
    ] ],
    [ "Access Control", "page_access.html", [
      [ "Use cases", "page_access.html#autotoc_md31", null ],
      [ "Design", "page_access.html#autotoc_md37", [
        [ "The PipeWire daemon", "page_access.html#autotoc_md38", null ],
        [ "The PipeWire access module", "page_access.html#autotoc_md39", null ],
        [ "The session manager", "page_access.html#autotoc_md40", null ]
      ] ]
    ] ],
    [ "Portal Access Control", "page_portal.html", [
      [ "Use cases", "page_portal.html#autotoc_md54", null ],
      [ "Design", "page_portal.html#autotoc_md58", [
        [ "The portal", "page_portal.html#autotoc_md59", null ],
        [ "The PipeWire portal module", "page_portal.html#autotoc_md60", null ],
        [ "The client", "page_portal.html#autotoc_md61", null ],
        [ "The session manager", "page_portal.html#autotoc_md62", null ]
      ] ]
    ] ],
    [ "MIDI Support", "page_midi.html", [
      [ "Use cases", "page_midi.html#autotoc_md41", null ],
      [ "Design", "page_midi.html#autotoc_md47", [
        [ "SPA", "page_midi.html#autotoc_md48", null ],
        [ "The PipeWire daemon", "page_midi.html#autotoc_md49", null ],
        [ "The session manager", "page_midi.html#autotoc_md50", null ]
      ] ],
      [ "Implementation", "page_midi.html#autotoc_md51", [
        [ "pipewire-media-session", "page_midi.html#autotoc_md52", null ],
        [ "JACK", "page_midi.html#autotoc_md53", null ]
      ] ]
    ] ],
    [ "Media Streams", "page_streams.html", [
      [ "Overview", "page_streams.html#sec_overview", null ],
      [ "Create", "page_streams.html#sec_create", null ],
      [ "Connect", "page_streams.html#sec_connect", [
        [ "Stream target", "page_streams.html#ssec_stream_target", null ],
        [ "Stream formats", "page_streams.html#ssec_stream_formats", null ]
      ] ],
      [ "Format negotiation", "page_streams.html#sec_format", null ],
      [ "Buffer negotiation", "page_streams.html#sec_buffers", null ],
      [ "Streaming", "page_streams.html#sec_streaming", [
        [ "Consume data", "page_streams.html#ssec_consume", null ],
        [ "Produce data", "page_streams.html#ssec_produce", null ]
      ] ],
      [ "Disconnect", "page_streams.html#sec_stream_disconnect", null ]
    ] ],
    [ "Client", "page_client.html", [
      [ "Overview", "page_client.html#sec_page_client_overview", null ],
      [ "Credentials", "page_client.html#sec_page_client_credentials", null ],
      [ "Types", "page_client.html#sec_page_client_types", null ],
      [ "Resources", "page_client.html#sec_page_client_resources", null ]
    ] ],
    [ "Proxy", "page_proxy.html", [
      [ "Overview", "page_proxy.html#sec_page_proxy_overview", null ],
      [ "Core proxy", "page_proxy.html#sec_page_proxy_core", null ],
      [ "Create", "page_proxy.html#sec_page_proxy_create", null ],
      [ "Bind", "page_proxy.html#sec_page_proxy_bind", null ],
      [ "Methods", "page_proxy.html#sec_page_proxy_methods", null ],
      [ "Events", "page_proxy.html#sec_page_proxy_events", null ],
      [ "Destroy", "page_proxy.html#sec_page_proxy_destroy", null ]
    ] ],
    [ "Threaded Loop", "page_thread_loop.html", [
      [ "Overview", "page_thread_loop.html#sec_thread_loop_overview", null ],
      [ "Creation", "page_thread_loop.html#sec_thread_loop_create", null ],
      [ "Destruction", "page_thread_loop.html#sec_thread_loop_destruction", null ],
      [ "Locking", "page_thread_loop.html#sec_thread_loop_locking", null ],
      [ "Events and Callbacks", "page_thread_loop.html#sec_thread_loop_events", null ]
    ] ],
    [ "PipeWire Objects Design", "page_objects_design.html", null ],
    [ "DMA-BUF sharing", "page_dma_buf.html", [
      [ "Stream parameters", "page_dma_buf.html#autotoc_md176", null ],
      [ "<tt>param_changed</tt> hook for <tt>SPA_PARAM_Format</tt>", "page_dma_buf.html#autotoc_md177", [
        [ "The media graph", "page_objects_design.html#autotoc_md86", [
          [ "New clients need their permissions configured", "page_access.html#autotoc_md32", null ],
          [ "Flatpaks can't modify other stream/device volumes", "page_access.html#autotoc_md33", null ],
          [ "Flatpaks can't move other streams to different devices", "page_access.html#autotoc_md34", null ],
          [ "Application should be restricted in what they can see", "page_access.html#autotoc_md35", null ],
          [ "\"Manager\" applications require full access", "page_access.html#autotoc_md36", null ],
          [ "new portal managed clients need device permissions configured", "page_portal.html#autotoc_md55", null ],
          [ "new devices need to be made visible to portal managed clients", "page_portal.html#autotoc_md56", null ],
          [ "permissions for a device need to be revoked", "page_portal.html#autotoc_md57", null ],
          [ "MIDI devices are made available as processing nodes/ports", "page_midi.html#autotoc_md42", null ],
          [ "MIDI devices can be plugged and unplugged", "page_midi.html#autotoc_md43", null ],
          [ "Applications can connect to MIDI devices", "page_midi.html#autotoc_md44", null ],
          [ "Some MIDI devices are sinks or sources for midi data", "page_midi.html#autotoc_md45", null ],
          [ "Applications should autoconnect to MIDI sinks or sources", "page_midi.html#autotoc_md46", null ],
          [ "Node", "page_objects_design.html#autotoc_md87", null ],
          [ "Port", "page_objects_design.html#autotoc_md88", null ],
          [ "Link", "page_objects_design.html#autotoc_md89", null ]
        ] ],
        [ "The session management graph", "page_objects_design.html#autotoc_md90", [
          [ "Endpoint", "page_objects_design.html#autotoc_md91", [
            [ "Target", "page_objects_design.html#autotoc_md92", null ]
          ] ],
          [ "Endpoint Stream", "page_objects_design.html#autotoc_md93", null ],
          [ "Endpoint Link", "page_objects_design.html#autotoc_md94", [
            [ "Constructing", "page_objects_design.html#autotoc_md95", null ]
          ] ]
        ] ],
        [ "Other related objects", "page_objects_design.html#autotoc_md96", [
          [ "Device", "page_objects_design.html#autotoc_md97", null ],
          [ "Session", "page_objects_design.html#autotoc_md98", [
            [ "Default endpoints", "page_objects_design.html#autotoc_md99", null ],
            [ "Multiple sessions", "page_objects_design.html#autotoc_md100", null ]
          ] ]
        ] ],
        [ "Mappings to underlying subsystem objects", "page_objects_design.html#autotoc_md101", [
          [ "ALSA UCM", "page_objects_design.html#autotoc_md102", null ],
          [ "ALSA fallback", "page_objects_design.html#autotoc_md103", null ],
          [ "V4L2", "page_objects_design.html#autotoc_md104", null ]
        ] ],
        [ "Relationship to other APIs", "page_objects_design.html#autotoc_md105", [
          [ "PulseAudio", "page_objects_design.html#autotoc_md106", [
            [ "Mapping PipeWire objects for access by PulseAudio clients", "page_objects_design.html#autotoc_md107", null ],
            [ "Mapping PulseAudio clients to PipeWire", "page_objects_design.html#autotoc_md108", null ]
          ] ],
          [ "Jack", "page_objects_design.html#autotoc_md109", [
            [ "Mapping PipeWire objects for access by JACK clients", "page_objects_design.html#autotoc_md110", null ],
            [ "Mapping JACK clients to PipeWire", "page_objects_design.html#autotoc_md111", null ]
          ] ]
        ] ],
        [ "For producers", "page_dma_buf.html#autotoc_md178", null ],
        [ "For consumers", "page_dma_buf.html#autotoc_md179", null ]
      ] ],
      [ "For consumers: <tt>add_buffer</tt> hook", "page_dma_buf.html#autotoc_md180", null ]
    ] ],
    [ "PipeWire Daemon", "page_daemon.html", [
      [ "Configuration Files", "page_daemon.html#sec_config", [
        [ "Configuration File Format", "page_daemon.html#sec_config_format", null ]
      ] ],
      [ "Logging", "page_daemon.html#sec_logging", null ]
    ] ],
    [ "PipeWire Library", "page_library.html", null ],
    [ "PipeWire Tools", "page_tools.html", null ],
    [ "PipeWire Session Manager", "page_session_manager.html", null ],
    [ "PulseAudio compatibility", "page_pulseaudio.html", [
      [ "Internals - Mapping between ALSA and streams", "page_pulseaudio.html#autotoc_md167", [
        [ "Principles", "page_library.html#autotoc_md63", null ],
        [ "Versioning", "page_library.html#autotoc_md64", null ],
        [ "Proxies and resources", "page_library.html#autotoc_md65", null ],
        [ "Interfaces", "page_library.html#autotoc_md66", [
          [ "<tt>struct pw_loop</tt>", "page_library.html#autotoc_md67", null ],
          [ "<tt>struct pw_context</tt>", "page_library.html#autotoc_md68", null ],
          [ "<tt>struct pw_core</tt>", "page_library.html#autotoc_md69", null ],
          [ "<tt>struct pw_registry</tt>", "page_library.html#autotoc_md70", null ],
          [ "<tt>struct pw_module</tt>", "page_library.html#autotoc_md71", null ],
          [ "<tt>struct pw_factory</tt>", "page_library.html#autotoc_md72", null ],
          [ "<tt>struct pw_device</tt>", "page_library.html#autotoc_md73", null ],
          [ "<tt>struct pw_node</tt>", "page_library.html#autotoc_md74", null ],
          [ "<tt>struct pw_port</tt>", "page_library.html#autotoc_md75", null ],
          [ "<tt>struct pw_link</tt>", "page_library.html#autotoc_md76", null ]
        ] ],
        [ "High level helper objects", "page_library.html#autotoc_md77", [
          [ "<tt>struct pw_filter</tt>", "page_library.html#autotoc_md78", null ],
          [ "<tt>struct pw_stream</tt>", "page_library.html#autotoc_md79", null ]
        ] ],
        [ "Security", "page_library.html#autotoc_md80", null ],
        [ "Implementation", "page_library.html#autotoc_md81", null ],
        [ "Error reporting", "page_library.html#autotoc_md82", null ],
        [ "Client management", "page_session_manager.html#autotoc_md83", null ],
        [ "Device management", "page_session_manager.html#autotoc_md84", null ],
        [ "Endpoint grouping", "page_session_manager.html#autotoc_md85", null ],
        [ "ALSA Cards", "page_pulseaudio.html#autotoc_md168", null ],
        [ "Streams", "page_pulseaudio.html#autotoc_md169", null ]
      ] ],
      [ "Session Manager", "page_pulseaudio.html#autotoc_md170", [
        [ "ALSA UCM", "page_pulseaudio.html#autotoc_md171", null ],
        [ "ALSA fallback", "page_pulseaudio.html#autotoc_md172", null ],
        [ "ALSA pulse UCM", "page_pulseaudio.html#autotoc_md173", null ],
        [ "ALSA pulse fallback", "page_pulseaudio.html#autotoc_md174", null ]
      ] ],
      [ "PulseAudio", "page_pulseaudio.html#autotoc_md175", null ]
    ] ]
];