PulseAudio  16.0
introspect.h
Go to the documentation of this file.
1 #ifndef foointrospecthfoo
2 #define foointrospecthfoo
3 
4 /***
5  This file is part of PulseAudio.
6 
7  Copyright 2004-2006 Lennart Poettering
8  Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
9 
10  PulseAudio is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published
12  by the Free Software Foundation; either version 2.1 of the License,
13  or (at your option) any later version.
14 
15  PulseAudio is distributed in the hope that it will be useful, but
16  WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
22 ***/
23 
24 #include <inttypes.h>
25 
26 #include <pulse/operation.h>
27 #include <pulse/context.h>
28 #include <pulse/cdecl.h>
29 #include <pulse/gccmacro.h>
30 #include <pulse/channelmap.h>
31 #include <pulse/volume.h>
32 #include <pulse/proplist.h>
33 #include <pulse/format.h>
34 #include <pulse/version.h>
35 
226 PA_C_DECL_BEGIN
227 
233 typedef struct pa_sink_port_info {
234  const char *name;
235  const char *description;
236  uint32_t priority;
237  int available;
238  const char *availability_group;
261  uint32_t type;
263 
267 typedef struct pa_sink_info {
268  const char *name;
269  uint32_t index;
270  const char *description;
273  uint32_t owner_module;
275  int mute;
276  uint32_t monitor_source;
277  const char *monitor_source_name;
279  const char *driver;
285  uint32_t n_volume_steps;
286  uint32_t card;
287  uint32_t n_ports;
290  uint8_t n_formats;
293 
295 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
296 
299 
302 
305 
308 
310 pa_operation* pa_context_set_sink_volume_by_name(pa_context *c, const char *name, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
311 
313 pa_operation* pa_context_set_sink_mute_by_index(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
314 
316 pa_operation* pa_context_set_sink_mute_by_name(pa_context *c, const char *name, int mute, pa_context_success_cb_t cb, void *userdata);
317 
319 pa_operation* pa_context_suspend_sink_by_name(pa_context *c, const char *sink_name, int suspend, pa_context_success_cb_t cb, void* userdata);
320 
322 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
323 
325 pa_operation* pa_context_set_sink_port_by_index(pa_context *c, uint32_t idx, const char*port, pa_context_success_cb_t cb, void *userdata);
326 
328 pa_operation* pa_context_set_sink_port_by_name(pa_context *c, const char*name, const char*port, pa_context_success_cb_t cb, void *userdata);
329 
337 typedef struct pa_source_port_info {
338  const char *name;
339  const char *description;
340  uint32_t priority;
341  int available;
342  const char *availability_group;
366  uint32_t type;
368 
372 typedef struct pa_source_info {
373  const char *name;
374  uint32_t index;
375  const char *description;
378  uint32_t owner_module;
380  int mute;
381  uint32_t monitor_of_sink;
382  const char *monitor_of_sink_name;
384  const char *driver;
390  uint32_t n_volume_steps;
391  uint32_t card;
392  uint32_t n_ports;
395  uint8_t n_formats;
398 
400 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
401 
404 
407 
410 
413 
415 pa_operation* pa_context_set_source_volume_by_name(pa_context *c, const char *name, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
416 
419 
421 pa_operation* pa_context_set_source_mute_by_name(pa_context *c, const char *name, int mute, pa_context_success_cb_t cb, void *userdata);
422 
424 pa_operation* pa_context_suspend_source_by_name(pa_context *c, const char *source_name, int suspend, pa_context_success_cb_t cb, void* userdata);
425 
427 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
428 
430 pa_operation* pa_context_set_source_port_by_index(pa_context *c, uint32_t idx, const char*port, pa_context_success_cb_t cb, void *userdata);
431 
433 pa_operation* pa_context_set_source_port_by_name(pa_context *c, const char*name, const char*port, pa_context_success_cb_t cb, void *userdata);
434 
442 typedef struct pa_server_info {
443  const char *user_name;
444  const char *host_name;
445  const char *server_version;
446  const char *server_name;
448  const char *default_sink_name;
449  const char *default_source_name;
450  uint32_t cookie;
453 
455 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
456 
459 
467 typedef struct pa_module_info {
468  uint32_t index;
469  const char*name,
471  uint32_t n_used;
473  int auto_unload;
477 
479 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
480 
483 
486 
488 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
489 
491 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
492 
495 
501 typedef void (*pa_context_string_cb_t)(pa_context *c, int success, char *response, void *userdata);
502 
505 pa_operation* pa_context_send_message_to_object(pa_context *c, const char *recipient_name, const char *message, const char *message_parameters, pa_context_string_cb_t cb, void *userdata);
506 
514 typedef struct pa_client_info {
515  uint32_t index;
516  const char *name;
517  uint32_t owner_module;
518  const char *driver;
521 
523 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
524 
527 
530 
533 
539 typedef struct pa_card_profile_info {
540  const char *name;
541  const char *description;
542  uint32_t n_sinks;
543  uint32_t n_sources;
544  uint32_t priority;
546 
550 typedef struct pa_card_profile_info2 {
551  const char *name;
552  const char *description;
553  uint32_t n_sinks;
554  uint32_t n_sources;
555  uint32_t priority;
563 
567 typedef struct pa_card_port_info {
568  const char *name;
569  const char *description;
570  uint32_t priority;
571  int available;
572  int direction;
573  uint32_t n_profiles;
576  int64_t latency_offset;
578  const char *availability_group;
597  uint32_t type;
599 
603 typedef struct pa_card_info {
604  uint32_t index;
605  const char *name;
606  uint32_t owner_module;
607  const char *driver;
608  uint32_t n_profiles;
612  uint32_t n_ports;
617 
619 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
620 
623 
626 
629 
631 pa_operation* pa_context_set_card_profile_by_index(pa_context *c, uint32_t idx, const char*profile, pa_context_success_cb_t cb, void *userdata);
632 
634 pa_operation* pa_context_set_card_profile_by_name(pa_context *c, const char*name, const char*profile, pa_context_success_cb_t cb, void *userdata);
635 
637 pa_operation* pa_context_set_port_latency_offset(pa_context *c, const char *card_name, const char *port_name, int64_t offset, pa_context_success_cb_t cb, void *userdata);
638 
646 typedef struct pa_sink_input_info {
647  uint32_t index;
648  const char *name;
649  uint32_t owner_module;
650  uint32_t client;
651  uint32_t sink;
657  const char *resample_method;
658  const char *driver;
659  int mute;
661  int corked;
666 
668 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
669 
672 
675 
677 pa_operation* pa_context_move_sink_input_by_name(pa_context *c, uint32_t idx, const char *sink_name, pa_context_success_cb_t cb, void* userdata);
678 
680 pa_operation* pa_context_move_sink_input_by_index(pa_context *c, uint32_t idx, uint32_t sink_idx, pa_context_success_cb_t cb, void* userdata);
681 
683 pa_operation* pa_context_set_sink_input_volume(pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
684 
686 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
687 
690 
698 typedef struct pa_source_output_info {
699  uint32_t index;
700  const char *name;
701  uint32_t owner_module;
702  uint32_t client;
703  uint32_t source;
708  const char *resample_method;
709  const char *driver;
711  int corked;
713  int mute;
718 
720 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
721 
724 
727 
729 pa_operation* pa_context_move_source_output_by_name(pa_context *c, uint32_t idx, const char *source_name, pa_context_success_cb_t cb, void* userdata);
730 
732 pa_operation* pa_context_move_source_output_by_index(pa_context *c, uint32_t idx, uint32_t source_idx, pa_context_success_cb_t cb, void* userdata);
733 
736 
738 pa_operation* pa_context_set_source_output_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
739 
742 
750 typedef struct pa_stat_info {
751  uint32_t memblock_total;
755  uint32_t scache_size;
757 
759 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
760 
763 
771 typedef struct pa_sample_info {
772  uint32_t index;
773  const char *name;
778  uint32_t bytes;
779  int lazy;
780  const char *filename;
783 
785 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
786 
789 
792 
795 
803 typedef enum pa_autoload_type {
804  PA_AUTOLOAD_SINK = 0,
805  PA_AUTOLOAD_SOURCE = 1
806 } pa_autoload_type_t;
807 
811 typedef struct pa_autoload_info {
812  uint32_t index;
813  const char *name;
814  pa_autoload_type_t type;
815  const char *module;
816  const char *argument;
817 } pa_autoload_info;
818 
820 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
821 
823 pa_operation* pa_context_get_autoload_info_by_name(pa_context *c, const char *name, pa_autoload_type_t type, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
824 
826 pa_operation* pa_context_get_autoload_info_by_index(pa_context *c, uint32_t idx, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
827 
829 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
830 
832 pa_operation* pa_context_add_autoload(pa_context *c, const char *name, pa_autoload_type_t type, const char *module, const char*argument, pa_context_index_cb_t, void* userdata) PA_GCC_DEPRECATED;
833 
835 pa_operation* pa_context_remove_autoload_by_name(pa_context *c, const char *name, pa_autoload_type_t type, pa_context_success_cb_t cb, void* userdata) PA_GCC_DEPRECATED;
836 
838 pa_operation* pa_context_remove_autoload_by_index(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void* userdata) PA_GCC_DEPRECATED;
839 
844 PA_C_DECL_END
845 
846 #endif
Constants and routines for channel mapping handling.
Connection contexts for asynchronous communication with a server.
void(* pa_context_success_cb_t)(pa_context *c, int success, void *userdata)
A generic callback for operation completion.
Definition: context.h:160
struct pa_context pa_context
An opaque connection context to a daemon.
Definition: context.h:154
enum pa_sink_flags pa_sink_flags_t
Special sink flags.
enum pa_source_state pa_source_state_t
Source state.
enum pa_source_flags pa_source_flags_t
Special source flags.
enum pa_sink_state pa_sink_state_t
Sink state.
Utility functions for handling a stream or sink format.
GCC attribute macros.
#define PA_GCC_DEPRECATED
This function is deprecated.
Definition: gccmacro.h:89
pa_operation * pa_context_set_sink_port_by_index(pa_context *c, uint32_t idx, const char *port, pa_context_success_cb_t cb, void *userdata)
Change the profile of a sink.
pa_operation * pa_context_move_sink_input_by_index(pa_context *c, uint32_t idx, uint32_t sink_idx, pa_context_success_cb_t cb, void *userdata)
Move the specified sink input to a different sink.
void(* pa_card_info_cb_t)(pa_context *c, const pa_card_info *i, int eol, void *userdata)
Callback prototype for pa_context_get_card_info_...()
Definition: introspect.h:619
struct pa_card_profile_info pa_card_profile_info
struct pa_server_info pa_server_info
Server information.
struct pa_sink_port_info pa_sink_port_info
Stores information about a specific port of a sink.
pa_operation * pa_context_send_message_to_object(pa_context *c, const char *recipient_name, const char *message, const char *message_parameters, pa_context_string_cb_t cb, void *userdata)
Send a message to an object that registered a message handler.
void(* pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata)
Callback prototype for pa_context_get_source_info_by_name() and friends.
Definition: introspect.h:400
pa_operation * pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata)
Unload a module.
struct pa_client_info pa_client_info
Stores information about clients.
pa_operation * pa_context_set_card_profile_by_name(pa_context *c, const char *name, const char *profile, pa_context_success_cb_t cb, void *userdata)
Change the profile of a card.
pa_operation * pa_context_set_source_port_by_name(pa_context *c, const char *name, const char *port, pa_context_success_cb_t cb, void *userdata)
Change the profile of a source.
pa_operation * pa_context_set_sink_volume_by_index(pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata)
Set the volume of a sink device specified by its index.
pa_operation * pa_context_set_card_profile_by_index(pa_context *c, uint32_t idx, const char *profile, pa_context_success_cb_t cb, void *userdata)
Change the profile of a card.
pa_operation * pa_context_set_source_output_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata)
Set the mute switch of a source output stream.
pa_operation * pa_context_suspend_source_by_name(pa_context *c, const char *source_name, int suspend, pa_context_success_cb_t cb, void *userdata)
Suspend/Resume a source.
struct pa_source_info pa_source_info
Stores information about sources.
pa_operation * pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata)
Get information about a sample by its index.
pa_operation * pa_context_get_card_info_list(pa_context *c, pa_card_info_cb_t cb, void *userdata)
Get the complete card list.
struct pa_stat_info pa_stat_info
Memory block statistics.
pa_operation * pa_context_set_port_latency_offset(pa_context *c, const char *card_name, const char *port_name, int64_t offset, pa_context_success_cb_t cb, void *userdata)
Set the latency offset of a port.
pa_operation * pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata)
Get information about a source by its name.
pa_operation * pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void *userdata)
Suspend/Resume a source.
pa_operation * pa_context_set_source_volume_by_index(pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata)
Set the volume of a source device specified by its index.
struct pa_sink_info pa_sink_info
Stores information about sinks.
pa_operation * pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata)
Get information about a sink by its name.
pa_operation * pa_context_load_module(pa_context *c, const char *name, const char *argument, pa_context_index_cb_t cb, void *userdata)
Load a module.
void(* pa_source_output_info_cb_t)(pa_context *c, const pa_source_output_info *i, int eol, void *userdata)
Callback prototype for pa_context_get_source_output_info() and friends.
Definition: introspect.h:720
pa_operation * pa_context_get_source_info_by_index(pa_context *c, uint32_t idx, pa_source_info_cb_t cb, void *userdata)
Get information about a source by its index.
pa_operation * pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void *userdata)
Suspend/Resume a sink.
void(* pa_context_string_cb_t)(pa_context *c, int success, char *response, void *userdata)
Callback prototype for pa_context_send_message_to_object()
Definition: introspect.h:501
pa_operation * pa_context_set_sink_port_by_name(pa_context *c, const char *name, const char *port, pa_context_success_cb_t cb, void *userdata)
Change the profile of a sink.
pa_operation * pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata)
Get some information about the server.
pa_operation * pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata)
Get information about a card by its name.
pa_operation * pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata)
Get information about a sample by its name.
pa_operation * pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata)
Get the complete sink list.
void(* pa_server_info_cb_t)(pa_context *c, const pa_server_info *i, void *userdata)
Callback prototype for pa_context_get_server_info()
Definition: introspect.h:455
void(* pa_client_info_cb_t)(pa_context *c, const pa_client_info *i, int eol, void *userdata)
Callback prototype for pa_context_get_client_info() and friends.
Definition: introspect.h:523
pa_operation * pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata)
Get information about a client by its index.
pa_operation * pa_context_set_sink_input_volume(pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata)
Set the volume of a sink input stream.
void(* pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata)
Callback prototype for pa_context_get_sample_info_by_name() and friends.
Definition: introspect.h:785
void(* pa_stat_info_cb_t)(pa_context *c, const pa_stat_info *i, void *userdata)
Callback prototype for pa_context_stat()
Definition: introspect.h:759
pa_operation * pa_context_set_source_mute_by_name(pa_context *c, const char *name, int mute, pa_context_success_cb_t cb, void *userdata)
Set the mute switch of a source device specified by its name.
pa_operation * pa_context_set_sink_mute_by_name(pa_context *c, const char *name, int mute, pa_context_success_cb_t cb, void *userdata)
Set the mute switch of a sink device specified by its name.
pa_operation * pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata)
Get information about a card by its index.
pa_operation * pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata)
Set the mute switch of a sink input stream.
pa_operation * pa_context_set_sink_volume_by_name(pa_context *c, const char *name, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata)
Set the volume of a sink device specified by its name.
void(* pa_sink_input_info_cb_t)(pa_context *c, const pa_sink_input_info *i, int eol, void *userdata)
Callback prototype for pa_context_get_sink_input_info() and friends.
Definition: introspect.h:668
pa_operation * pa_context_move_source_output_by_index(pa_context *c, uint32_t idx, uint32_t source_idx, pa_context_success_cb_t cb, void *userdata)
Move the specified source output to a different source.
pa_operation * pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata)
Get the complete source list.
struct pa_source_port_info pa_source_port_info
Stores information about a specific port of a source.
pa_operation * pa_context_suspend_sink_by_name(pa_context *c, const char *sink_name, int suspend, pa_context_success_cb_t cb, void *userdata)
Suspend/Resume a sink.
pa_operation * pa_context_set_source_port_by_index(pa_context *c, uint32_t idx, const char *port, pa_context_success_cb_t cb, void *userdata)
Change the profile of a source.
pa_operation * pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata)
Get the complete list of currently loaded modules.
pa_operation * pa_context_move_source_output_by_name(pa_context *c, uint32_t idx, const char *source_name, pa_context_success_cb_t cb, void *userdata)
Move the specified source output to a different source.
pa_operation * pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata)
Get some information about a module by its index.
pa_operation * pa_context_set_source_output_volume(pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata)
Set the volume of a source output stream.
pa_operation * pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata)
Get the complete sink input list.
void(* pa_module_info_cb_t)(pa_context *c, const pa_module_info *i, int eol, void *userdata)
Callback prototype for pa_context_get_module_info() and friends.
Definition: introspect.h:479
pa_operation * pa_context_set_sink_mute_by_index(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata)
Set the mute switch of a sink device specified by its index.
struct pa_card_profile_info2 pa_card_profile_info2
Stores information about a specific profile of a card.
pa_operation * pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata)
Kill a client.
pa_operation * pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata)
Get the complete list of samples stored in the daemon.
void(* pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata)
Callback prototype for pa_context_get_sink_info_by_name() and friends.
Definition: introspect.h:295
pa_operation * pa_context_set_source_mute_by_index(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata)
Set the mute switch of a source device specified by its index.
struct pa_sink_input_info pa_sink_input_info
Stores information about sink inputs.
struct pa_card_port_info pa_card_port_info
Stores information about a specific port of a card.
pa_operation * pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata)
Get the complete list of source outputs.
struct pa_sample_info pa_sample_info
Stores information about sample cache entries.
pa_operation * pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata)
Get information about a source output by its index.
struct pa_card_info pa_card_info
Stores information about cards.
pa_operation * pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata)
Get daemon memory block statistics.
struct pa_module_info pa_module_info
Stores information about modules.
pa_operation * pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata)
Get information about a sink by its index.
pa_operation * pa_context_set_source_volume_by_name(pa_context *c, const char *name, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata)
Set the volume of a source device specified by its name.
pa_operation * pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata)
Get some information about a sink input by its index.
void(* pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata)
Callback prototype for pa_context_load_module()
Definition: introspect.h:488
pa_operation * pa_context_move_sink_input_by_name(pa_context *c, uint32_t idx, const char *sink_name, pa_context_success_cb_t cb, void *userdata)
Move the specified sink input to a different sink.
pa_operation * pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata)
Kill a sink input.
struct pa_source_output_info pa_source_output_info
Stores information about source outputs.
pa_operation * pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata)
Kill a source output.
pa_operation * pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata)
Get the complete client list.
Asynchronous operations.
struct pa_operation pa_operation
An asynchronous operation object.
Definition: operation.h:33
Property list constants and functions.
struct pa_proplist pa_proplist
A property list object.
Definition: proplist.h:278
uint64_t pa_usec_t
Type for usec specifications (unsigned).
Definition: sample.h:264
Stores information about cards.
Definition: introspect.h:603
pa_proplist * proplist
Property list.
Definition: introspect.h:611
uint32_t n_profiles
Number of entries in profile array.
Definition: introspect.h:608
pa_card_profile_info2 ** profiles2
Array of pointers to available profiles, or NULL.
Definition: introspect.h:614
uint32_t index
Index of this card.
Definition: introspect.h:604
uint32_t owner_module
Index of the owning module, or PA_INVALID_INDEX.
Definition: introspect.h:606
uint32_t n_ports
Number of entries in port array.
Definition: introspect.h:612
pa_card_profile_info * active_profile
Definition: introspect.h:610
const char * name
Name of this card.
Definition: introspect.h:605
pa_card_port_info ** ports
Array of pointers to ports, or NULL.
Definition: introspect.h:613
pa_card_profile_info2 * active_profile2
Pointer to active profile in the array, or NULL.
Definition: introspect.h:615
const char * driver
Driver name.
Definition: introspect.h:607
pa_card_profile_info * profiles
Definition: introspect.h:609
Stores information about a specific port of a card.
Definition: introspect.h:567
pa_card_profile_info2 ** profiles2
Array of pointers to available profiles, or NULL.
Definition: introspect.h:577
int available
A pa_port_available enum, indicating availability status of this port.
Definition: introspect.h:571
int direction
A pa_direction enum, indicating the direction of this port.
Definition: introspect.h:572
uint32_t type
Port type, see pa_device_port_type.
Definition: introspect.h:597
uint32_t priority
The higher this value is, the more useful this port is as a default.
Definition: introspect.h:570
int64_t latency_offset
Latency offset of the port that gets added to the sink/source latency when the port is active.
Definition: introspect.h:576
const char * description
Description of this port.
Definition: introspect.h:569
pa_card_profile_info ** profiles
Definition: introspect.h:574
const char * availability_group
An indentifier for the group of ports that share their availability status with each other.
Definition: introspect.h:578
uint32_t n_profiles
Number of entries in profile array.
Definition: introspect.h:573
pa_proplist * proplist
Property list.
Definition: introspect.h:575
const char * name
Name of this port.
Definition: introspect.h:568
Stores information about a specific profile of a card.
Definition: introspect.h:550
const char * name
Name of this profile.
Definition: introspect.h:551
uint32_t priority
The higher this value is, the more useful this profile is as a default.
Definition: introspect.h:555
uint32_t n_sources
Number of sources this profile would create.
Definition: introspect.h:554
const char * description
Description of this profile.
Definition: introspect.h:552
int available
Is this profile available? If this is zero, meaning "unavailable", then it makes no sense to try to a...
Definition: introspect.h:556
uint32_t n_sinks
Number of sinks this profile would create.
Definition: introspect.h:553
Definition: introspect.h:539
const char * name
Name of this profile.
Definition: introspect.h:540
uint32_t n_sinks
Number of sinks this profile would create.
Definition: introspect.h:542
const char * description
Description of this profile.
Definition: introspect.h:541
uint32_t priority
The higher this value is, the more useful this profile is as a default.
Definition: introspect.h:544
uint32_t n_sources
Number of sources this profile would create.
Definition: introspect.h:543
A channel map which can be used to attach labels to specific channels of a stream.
Definition: channelmap.h:264
Stores information about clients.
Definition: introspect.h:514
const char * name
Name of this client.
Definition: introspect.h:516
uint32_t owner_module
Index of the owning module, or PA_INVALID_INDEX.
Definition: introspect.h:517
const char * driver
Driver name.
Definition: introspect.h:518
uint32_t index
Index of this client.
Definition: introspect.h:515
pa_proplist * proplist
Property list.
Definition: introspect.h:519
A structure encapsulating a per-channel volume.
Definition: volume.h:145
Represents the format of data provided in a stream or processed by a sink.
Definition: format.h:98
Stores information about modules.
Definition: introspect.h:467
uint32_t index
Index of the module.
Definition: introspect.h:468
pa_proplist * proplist
Property list.
Definition: introspect.h:475
uint32_t n_used
Usage counter or PA_INVALID_INDEX.
Definition: introspect.h:471
const char * name
Name of the module.
Definition: introspect.h:469
const char * argument
Argument string of the module.
Definition: introspect.h:470
Stores information about sample cache entries.
Definition: introspect.h:771
const char * filename
In case this is a lazy cache entry, the filename for the sound file to be loaded on demand.
Definition: introspect.h:780
pa_sample_spec sample_spec
Sample specification of the sample.
Definition: introspect.h:775
int lazy
Non-zero when this is a lazy cache entry.
Definition: introspect.h:779
uint32_t bytes
Length of this sample in bytes.
Definition: introspect.h:778
pa_channel_map channel_map
The channel map.
Definition: introspect.h:776
pa_cvolume volume
Default volume of this entry.
Definition: introspect.h:774
pa_proplist * proplist
Property list for this sample.
Definition: introspect.h:781
uint32_t index
Index of this entry.
Definition: introspect.h:772
pa_usec_t duration
Duration of this entry.
Definition: introspect.h:777
const char * name
Name of this entry.
Definition: introspect.h:773
A sample format and attribute specification.
Definition: sample.h:252
Server information.
Definition: introspect.h:442
const char * host_name
Host name the daemon is running on.
Definition: introspect.h:444
pa_sample_spec sample_spec
Default sample specification.
Definition: introspect.h:447
const char * user_name
User name of the daemon process.
Definition: introspect.h:443
const char * server_name
Server package name (usually "pulseaudio")
Definition: introspect.h:446
pa_channel_map channel_map
Default channel map.
Definition: introspect.h:451
const char * default_source_name
Name of default source.
Definition: introspect.h:449
uint32_t cookie
A random cookie for identifying this instance of PulseAudio.
Definition: introspect.h:450
const char * default_sink_name
Name of default sink.
Definition: introspect.h:448
const char * server_version
Version string of the daemon.
Definition: introspect.h:445
Stores information about sinks.
Definition: introspect.h:267
pa_sample_spec sample_spec
Sample spec of this sink.
Definition: introspect.h:271
uint32_t card
Card index, or PA_INVALID_INDEX.
Definition: introspect.h:286
uint32_t n_volume_steps
Number of volume steps for sinks which do not support arbitrary volumes.
Definition: introspect.h:285
uint32_t index
Index of the sink.
Definition: introspect.h:269
uint32_t n_ports
Number of entries in port array.
Definition: introspect.h:287
pa_volume_t base_volume
Some kind of "base" volume that refers to unamplified/unattenuated volume in the context of the outpu...
Definition: introspect.h:283
pa_sink_flags_t flags
Flags.
Definition: introspect.h:280
pa_usec_t configured_latency
The latency this device has been configured to.
Definition: introspect.h:282
pa_format_info ** formats
Array of formats supported by the sink.
Definition: introspect.h:291
const char * monitor_source_name
The name of the monitor source.
Definition: introspect.h:277
pa_channel_map channel_map
Channel map.
Definition: introspect.h:272
const char * name
Name of the sink.
Definition: introspect.h:268
pa_sink_port_info * active_port
Pointer to active port in the array, or NULL.
Definition: introspect.h:289
pa_usec_t latency
Length of queued audio in the output buffer.
Definition: introspect.h:278
uint8_t n_formats
Number of formats supported by the sink.
Definition: introspect.h:290
uint32_t owner_module
Index of the owning module of this sink, or PA_INVALID_INDEX.
Definition: introspect.h:273
const char * driver
Driver name.
Definition: introspect.h:279
int mute
Mute switch of the sink.
Definition: introspect.h:275
const char * description
Description of this sink.
Definition: introspect.h:270
pa_proplist * proplist
Property list.
Definition: introspect.h:281
pa_sink_port_info ** ports
Array of available ports, or NULL.
Definition: introspect.h:288
uint32_t monitor_source
Index of the monitor source connected to this sink.
Definition: introspect.h:276
pa_sink_state_t state
State.
Definition: introspect.h:284
pa_cvolume volume
Volume of the sink.
Definition: introspect.h:274
Stores information about sink inputs.
Definition: introspect.h:646
uint32_t owner_module
Index of the module this sink input belongs to, or PA_INVALID_INDEX when it does not belong to any mo...
Definition: introspect.h:649
pa_sample_spec sample_spec
The sample specification of the sink input.
Definition: introspect.h:652
pa_cvolume volume
The volume of this sink input.
Definition: introspect.h:654
pa_proplist * proplist
Property list.
Definition: introspect.h:660
int volume_writable
The volume can be set.
Definition: introspect.h:663
int mute
Stream muted.
Definition: introspect.h:659
pa_usec_t sink_usec
Latency of the sink device, see pa_timing_info for details.
Definition: introspect.h:656
pa_format_info * format
Stream format information.
Definition: introspect.h:664
int corked
Stream corked.
Definition: introspect.h:661
const char * name
Name of the sink input.
Definition: introspect.h:648
uint32_t index
Index of the sink input.
Definition: introspect.h:647
uint32_t sink
Index of the connected sink.
Definition: introspect.h:651
const char * driver
Driver name.
Definition: introspect.h:658
const char * resample_method
The resampling method used by this sink input.
Definition: introspect.h:657
pa_channel_map channel_map
Channel map.
Definition: introspect.h:653
pa_usec_t buffer_usec
Latency due to buffering in sink input, see pa_timing_info for details.
Definition: introspect.h:655
uint32_t client
Index of the client this sink input belongs to, or PA_INVALID_INDEX when it does not belong to any cl...
Definition: introspect.h:650
int has_volume
Stream has volume.
Definition: introspect.h:662
Stores information about a specific port of a sink.
Definition: introspect.h:233
const char * availability_group
An indentifier for the group of ports that share their availability status with each other.
Definition: introspect.h:238
uint32_t priority
The higher this value is, the more useful this port is as a default.
Definition: introspect.h:236
const char * name
Name of this port.
Definition: introspect.h:234
int available
A flags (see pa_port_available), indicating availability status of this port.
Definition: introspect.h:237
uint32_t type
Port type, see pa_device_port_type.
Definition: introspect.h:261
const char * description
Description of this port.
Definition: introspect.h:235
Stores information about sources.
Definition: introspect.h:372
uint32_t n_volume_steps
Number of volume steps for sources which do not support arbitrary volumes.
Definition: introspect.h:390
pa_cvolume volume
Volume of the source.
Definition: introspect.h:379
pa_proplist * proplist
Property list.
Definition: introspect.h:386
pa_sample_spec sample_spec
Sample spec of this source.
Definition: introspect.h:376
const char * driver
Driver name.
Definition: introspect.h:384
uint32_t n_ports
Number of entries in port array.
Definition: introspect.h:392
pa_source_state_t state
State.
Definition: introspect.h:389
const char * monitor_of_sink_name
Name of the owning sink, or NULL.
Definition: introspect.h:382
uint32_t monitor_of_sink
If this is a monitor source, the index of the owning sink, otherwise PA_INVALID_INDEX.
Definition: introspect.h:381
pa_usec_t latency
Length of filled record buffer of this source.
Definition: introspect.h:383
const char * name
Name of the source.
Definition: introspect.h:373
uint32_t card
Card index, or PA_INVALID_INDEX.
Definition: introspect.h:391
pa_source_port_info ** ports
Array of available ports, or NULL.
Definition: introspect.h:393
pa_volume_t base_volume
Some kind of "base" volume that refers to unamplified/unattenuated volume in the context of the input...
Definition: introspect.h:388
pa_usec_t configured_latency
The latency this device has been configured to.
Definition: introspect.h:387
uint32_t owner_module
Owning module index, or PA_INVALID_INDEX.
Definition: introspect.h:378
pa_source_port_info * active_port
Pointer to active port in the array, or NULL.
Definition: introspect.h:394
pa_channel_map channel_map
Channel map.
Definition: introspect.h:377
uint32_t index
Index of the source.
Definition: introspect.h:374
int mute
Mute switch of the sink.
Definition: introspect.h:380
const char * description
Description of this source.
Definition: introspect.h:375
uint8_t n_formats
Number of formats supported by the source.
Definition: introspect.h:395
pa_format_info ** formats
Array of formats supported by the source.
Definition: introspect.h:396
pa_source_flags_t flags
Flags.
Definition: introspect.h:385
Stores information about source outputs.
Definition: introspect.h:698
int volume_writable
The volume can be set.
Definition: introspect.h:715
pa_channel_map channel_map
Channel map.
Definition: introspect.h:705
uint32_t client
Index of the client this source output belongs to, or PA_INVALID_INDEX when it does not belong to any...
Definition: introspect.h:702
uint32_t owner_module
Index of the module this source output belongs to, or PA_INVALID_INDEX when it does not belong to any...
Definition: introspect.h:701
pa_usec_t buffer_usec
Latency due to buffering in the source output, see pa_timing_info for details.
Definition: introspect.h:706
uint32_t index
Index of the source output.
Definition: introspect.h:699
pa_proplist * proplist
Property list.
Definition: introspect.h:710
pa_sample_spec sample_spec
The sample specification of the source output.
Definition: introspect.h:704
const char * resample_method
The resampling method used by this source output.
Definition: introspect.h:708
pa_cvolume volume
The volume of this source output.
Definition: introspect.h:712
const char * driver
Driver name.
Definition: introspect.h:709
int corked
Stream corked.
Definition: introspect.h:711
const char * name
Name of the source output.
Definition: introspect.h:700
pa_format_info * format
Stream format information.
Definition: introspect.h:716
int mute
Stream muted.
Definition: introspect.h:713
int has_volume
Stream has volume.
Definition: introspect.h:714
uint32_t source
Index of the connected source.
Definition: introspect.h:703
pa_usec_t source_usec
Latency of the source device, see pa_timing_info for details.
Definition: introspect.h:707
Stores information about a specific port of a source.
Definition: introspect.h:337
uint32_t priority
The higher this value is, the more useful this port is as a default.
Definition: introspect.h:340
const char * availability_group
An indentifier for the group of ports that share their availability status with each other.
Definition: introspect.h:342
const char * description
Description of this port.
Definition: introspect.h:339
const char * name
Name of this port.
Definition: introspect.h:338
int available
A flags (see pa_port_available), indicating availability status of this port.
Definition: introspect.h:341
uint32_t type
Port type, see pa_device_port_type.
Definition: introspect.h:366
Memory block statistics.
Definition: introspect.h:750
uint32_t memblock_allocated
Allocated memory blocks during the whole lifetime of the daemon.
Definition: introspect.h:753
uint32_t memblock_total
Currently allocated memory blocks.
Definition: introspect.h:751
uint32_t memblock_allocated_size
Total size of all memory blocks allocated during the whole lifetime of the daemon.
Definition: introspect.h:754
uint32_t scache_size
Total size of all sample cache entries.
Definition: introspect.h:755
uint32_t memblock_total_size
Current total size of allocated memory blocks.
Definition: introspect.h:752
Constants and routines for volume handling.
uint32_t pa_volume_t
Volume specification: PA_VOLUME_MUTED: silence; < PA_VOLUME_NORM: decreased volume; PA_VOLUME_NORM: n...
Definition: volume.h:117