PulseAudio  15.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;
292 } pa_sink_info;
293 
295 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
296 
298 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
299 
301 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata);
302 
305 
307 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);
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 
403 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
404 
407 
410 
412 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);
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 
418 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);
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,
470  *argument;
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 
482 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
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 
494 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
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 
526 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
527 
530 
532 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
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;
616 } pa_card_info;
617 
619 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
620 
622 pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata);
623 
625 pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata);
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 
689 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
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 
735 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);
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;
756 } pa_stat_info;
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 
788 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
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
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.
struct pa_context pa_context
An opaque connection context to a daemon.
Definition: context.h:154
const char * availability_group
An indentifier for the group of ports that share their availability status with each other...
Definition: introspect.h:578
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
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_sample_spec sample_spec
The sample specification of the source output.
Definition: introspect.h:704
const char * server_version
Version string of the daemon.
Definition: introspect.h:445
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.
Stores information about sources.
Definition: introspect.h:372
uint32_t cookie
A random cookie for identifying this instance of PulseAudio.
Definition: introspect.h:450
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.
const char * user_name
User name of the daemon process.
Definition: introspect.h:443
const char * description
Description of this profile.
Definition: introspect.h:552
A sample format and attribute specification.
Definition: sample.h:252
enum pa_sink_state pa_sink_state_t
Sink state.
pa_usec_t configured_latency
The latency this device has been configured to.
Definition: introspect.h:387
uint32_t n_used
Usage counter or PA_INVALID_INDEX.
Definition: introspect.h:471
pa_cvolume volume
Default volume of this entry.
Definition: introspect.h:774
struct pa_card_profile_info pa_card_profile_info
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.
const char * name
Name of this card.
Definition: introspect.h:605
uint32_t type
Port type, see pa_device_port_type.
Definition: introspect.h:261
Connection contexts for asynchronous communication with a server.
Stores information about source outputs.
Definition: introspect.h:698
pa_sink_port_info * active_port
Pointer to active port in the array, or NULL.
Definition: introspect.h:289
const char * monitor_of_sink_name
Name of the owning sink, or NULL.
Definition: introspect.h:382
int available
A pa_port_available enum, indicating availability status of this port.
Definition: introspect.h:571
const char * name
Name of this profile.
Definition: introspect.h:540
uint32_t sink
Index of the connected sink.
Definition: introspect.h:651
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_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_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.
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.
uint32_t owner_module
Index of the owning module of this sink, or PA_INVALID_INDEX.
Definition: introspect.h:273
Constants and routines for volume handling.
uint32_t n_sources
Number of sources this profile would create.
Definition: introspect.h:543
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.
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.
uint32_t n_ports
Number of entries in port array.
Definition: introspect.h:612
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_sink_port_info ** ports
Array of available ports, or NULL.
Definition: introspect.h:288
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
const char * description
Description of this sink.
Definition: introspect.h:270
const char * driver
Driver name.
Definition: introspect.h:607
int volume_writable
The volume can be set.
Definition: introspect.h:715
uint32_t memblock_allocated_size
Total size of all memory blocks allocated during the whole lifetime of the daemon.
Definition: introspect.h:754
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.
Definition: introspect.h:539
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.
enum pa_source_flags pa_source_flags_t
Special source flags.
struct pa_card_info pa_card_info
Stores information about cards.
const char * availability_group
An indentifier for the group of ports that share their availability status with each other...
Definition: introspect.h:238
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_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata)
Kill a client.
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
const char * driver
Driver name.
Definition: introspect.h:279
pa_proplist * proplist
Property list.
Definition: introspect.h:475
Stores information about a specific profile of a card.
Definition: introspect.h:550
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.
uint32_t index
Index of the sink.
Definition: introspect.h:269
A structure encapsulating a per-channel volume.
Definition: volume.h:145
pa_channel_map channel_map
Channel map.
Definition: introspect.h:705
const char * resample_method
The resampling method used by this sink input.
Definition: introspect.h:657
uint32_t index
Index of the source output.
Definition: introspect.h:699
enum pa_source_state pa_source_state_t
Source state.
uint32_t index
Index of this card.
Definition: introspect.h:604
struct pa_card_port_info pa_card_port_info
Stores information about a specific port of a card.
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.
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.
pa_usec_t latency
Length of queued audio in the output buffer.
Definition: introspect.h:278
int volume_writable
The volume can be set.
Definition: introspect.h:663
struct pa_sink_input_info pa_sink_input_info
Stores information about sink inputs.
const char * default_source_name
Name of default source.
Definition: introspect.h:449
uint32_t index
Index of this client.
Definition: introspect.h:515
int available
A flags (see pa_port_available), indicating availability status of this port.
Definition: introspect.h:237
struct pa_source_port_info pa_source_port_info
Stores information about a specific port of a source.
struct pa_operation pa_operation
An asynchronous operation object.
Definition: operation.h:33
int mute
Mute switch of the sink.
Definition: introspect.h:275
const char * description
Description of this source.
Definition: introspect.h:375
uint32_t source
Index of the connected source.
Definition: introspect.h:703
Server information.
Definition: introspect.h:442
pa_cvolume volume
Volume of the sink.
Definition: introspect.h:274
uint32_t memblock_allocated
Allocated memory blocks during the whole lifetime of the daemon.
Definition: introspect.h:753
const char * name
Name of this entry.
Definition: introspect.h:773
void(* pa_context_success_cb_t)(pa_context *c, int success, void *userdata)
A generic callback for operation completion.
Definition: context.h:160
pa_channel_map channel_map
The channel map.
Definition: introspect.h:776
uint32_t priority
The higher this value is, the more useful this profile is as a default.
Definition: introspect.h:555
const char * monitor_source_name
The name of the monitor source.
Definition: introspect.h:277
uint32_t priority
The higher this value is, the more useful this port is as a default.
Definition: introspect.h:570
const char * server_name
Server package name (usually "pulseaudio")
Definition: introspect.h:446
pa_sample_spec sample_spec
The sample specification of the sink input.
Definition: introspect.h:652
pa_channel_map channel_map
Default channel map.
Definition: introspect.h:451
uint32_t n_volume_steps
Number of volume steps for sources which do not support arbitrary volumes.
Definition: introspect.h:390
uint32_t n_profiles
Number of entries in profile array.
Definition: introspect.h:573
uint32_t owner_module
Index of the owning module, or PA_INVALID_INDEX.
Definition: introspect.h:606
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
#define PA_GCC_DEPRECATED
This function is deprecated.
Definition: gccmacro.h:89
uint64_t pa_usec_t
Type for usec specifications (unsigned).
Definition: sample.h:264
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_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.
Stores information about a specific port of a source.
Definition: introspect.h:337
uint32_t type
Port type, see pa_device_port_type.
Definition: introspect.h:597
Utility functions for handling a stream or sink format.
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.
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
struct pa_sink_port_info pa_sink_port_info
Stores information about a specific port of a sink.
pa_operation * pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata)
Get the complete client list.
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
int has_volume
Stream has volume.
Definition: introspect.h:714
const char * driver
Driver name.
Definition: introspect.h:658
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
pa_channel_map channel_map
Channel map.
Definition: introspect.h:653
uint32_t scache_size
Total size of all sample cache entries.
Definition: introspect.h:755
int corked
Stream corked.
Definition: introspect.h:711
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.
uint32_t owner_module
Index of the owning module, or PA_INVALID_INDEX.
Definition: introspect.h:517
struct pa_module_info pa_module_info
Stores information about modules.
Constants and routines for channel mapping handling.
pa_card_port_info ** ports
Array of pointers to ports, or NULL.
Definition: introspect.h:613
uint32_t monitor_source
Index of the monitor source connected to this sink.
Definition: introspect.h:276
uint32_t owner_module
Owning module index, or PA_INVALID_INDEX.
Definition: introspect.h:378
Stores information about sample cache entries.
Definition: introspect.h:771
pa_usec_t duration
Duration of this entry.
Definition: introspect.h:777
const char * host_name
Host name the daemon is running on.
Definition: introspect.h:444
enum pa_sink_flags pa_sink_flags_t
Special sink flags.
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
uint32_t memblock_total_size
Current total size of allocated memory blocks.
Definition: introspect.h:752
Stores information about sinks.
Definition: introspect.h:267
const char * resample_method
The resampling method used by this source output.
Definition: introspect.h:708
int available
A flags (see pa_port_available), indicating availability status of this port.
Definition: introspect.h:341
const char * name
Name of this port.
Definition: introspect.h:568
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.
uint32_t n_volume_steps
Number of volume steps for sinks which do not support arbitrary volumes.
Definition: introspect.h:285
const char * name
Name of the source output.
Definition: introspect.h:700
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.
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 n_profiles
Number of entries in profile array.
Definition: introspect.h:608
Stores information about a specific port of a sink.
Definition: introspect.h:233
pa_source_flags_t flags
Flags.
Definition: introspect.h:385
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
struct pa_source_info pa_source_info
Stores information about sources.
int corked
Stream corked.
Definition: introspect.h:661
pa_usec_t buffer_usec
Latency due to buffering in sink input, see pa_timing_info for details.
Definition: introspect.h:655
pa_card_profile_info2 * active_profile2
Pointer to active profile in the array, or NULL.
Definition: introspect.h:615
pa_card_profile_info * active_profile
Definition: introspect.h:610
pa_cvolume volume
The volume of this source output.
Definition: introspect.h:712
GCC attribute macros.
int mute
Stream muted.
Definition: introspect.h:659
struct pa_stat_info pa_stat_info
Memory block statistics.
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_usec_t latency
Length of filled record buffer of this source.
Definition: introspect.h:383
pa_sample_spec sample_spec
Sample spec of this sink.
Definition: introspect.h:271
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.
Memory block statistics.
Definition: introspect.h:750
pa_sample_spec sample_spec
Sample spec of this source.
Definition: introspect.h:376
pa_channel_map channel_map
Channel map.
Definition: introspect.h:377
pa_sample_spec sample_spec
Default sample specification.
Definition: introspect.h:447
uint32_t memblock_total
Currently allocated memory blocks.
Definition: introspect.h:751
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.
pa_proplist * proplist
Property list.
Definition: introspect.h:386
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_proplist * proplist
Property list.
Definition: introspect.h:660
const char * description
Description of this port.
Definition: introspect.h:569
struct pa_server_info pa_server_info
Server information.
pa_operation * pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata)
Get the complete source list.
const char * name
Name of this port.
Definition: introspect.h:338
pa_format_info * format
Stream format information.
Definition: introspect.h:664
int lazy
Non-zero when this is a lazy cache entry.
Definition: introspect.h:779
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
uint8_t n_formats
Number of formats supported by the sink.
Definition: introspect.h:290
pa_usec_t source_usec
Latency of the source device, see pa_timing_info for details.
Definition: introspect.h:707
Stores information about clients.
Definition: introspect.h:514
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.
uint32_t n_ports
Number of entries in port array.
Definition: introspect.h:392
pa_cvolume volume
Volume of the source.
Definition: introspect.h:379
const char * default_sink_name
Name of default sink.
Definition: introspect.h:448
pa_source_port_info * active_port
Pointer to active port in the array, or NULL.
Definition: introspect.h:394
uint32_t priority
The higher this value is, the more useful this port is as a default.
Definition: introspect.h:340
pa_proplist * proplist
Property list.
Definition: introspect.h:519
const char * driver
Driver name.
Definition: introspect.h:709
uint32_t n_sinks
Number of sinks this profile would create.
Definition: introspect.h:542
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_channel_map channel_map
Channel map.
Definition: introspect.h:272
Stores information about cards.
Definition: introspect.h:603
int has_volume
Stream has volume.
Definition: introspect.h:662
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_proplist * proplist
Property list.
Definition: introspect.h:281
Asynchronous operations.
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.
Stores information about sink inputs.
Definition: introspect.h:646
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.
const char * description
Description of this profile.
Definition: introspect.h:541
pa_proplist * proplist
Property list.
Definition: introspect.h:575
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.
const char * driver
Driver name.
Definition: introspect.h:384
Stores information about modules.
Definition: introspect.h:467
pa_sink_state_t state
State.
Definition: introspect.h:284
pa_source_state_t state
State.
Definition: introspect.h:389
struct pa_card_profile_info2 pa_card_profile_info2
Stores information about a specific profile of a card.
pa_source_port_info ** ports
Array of available ports, or NULL.
Definition: introspect.h:393
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
uint32_t index
Index of the sink input.
Definition: introspect.h:647
pa_sink_flags_t flags
Flags.
Definition: introspect.h:280
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_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata)
Get the complete list of source outputs.
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.
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.
const char * name
Name of this profile.
Definition: introspect.h:551
pa_proplist * proplist
Property list.
Definition: introspect.h:710
uint8_t n_formats
Number of formats supported by the source.
Definition: introspect.h:395
int mute
Mute switch of the sink.
Definition: introspect.h:380
uint32_t card
Card index, or PA_INVALID_INDEX.
Definition: introspect.h:286
const char * name
Name of the sink.
Definition: introspect.h:268
uint32_t n_sinks
Number of sinks this profile would create.
Definition: introspect.h:553
uint32_t n_sources
Number of sources this profile would create.
Definition: introspect.h:554
const char * name
Name of the source.
Definition: introspect.h:373
pa_sample_spec sample_spec
Sample specification of the sample.
Definition: introspect.h:775
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
uint32_t card
Card index, or PA_INVALID_INDEX.
Definition: introspect.h:391
uint32_t priority
The higher this value is, the more useful this profile is as a default.
Definition: introspect.h:544
const char * name
Name of the module.
Definition: introspect.h:469
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.
int direction
A pa_direction enum, indicating the direction of this port.
Definition: introspect.h:572
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_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_card_profile_info2 ** profiles2
Array of pointers to available profiles, or NULL.
Definition: introspect.h:614
uint32_t type
Port type, see pa_device_port_type.
Definition: introspect.h:366
uint32_t pa_volume_t
Volume specification: PA_VOLUME_MUTED: silence; < PA_VOLUME_NORM: decreased volume; PA_VOLUME_NORM: n...
Definition: volume.h:117
const char * name
Name of this port.
Definition: introspect.h:234
const char * name
Name of the sink input.
Definition: introspect.h:648
uint32_t index
Index of this entry.
Definition: introspect.h:772
const char * argument
Argument string of the module.
Definition: introspect.h:469
Represents the format of data provided in a stream or processed by a sink.
Definition: format.h:98
pa_card_profile_info * profiles
Definition: introspect.h:609
A channel map which can be used to attach labels to specific channels of a stream.
Definition: channelmap.h:264
uint32_t index
Index of the source.
Definition: introspect.h:374
pa_proplist * proplist
Property list for this sample.
Definition: introspect.h:781
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.
const char * name
Name of this client.
Definition: introspect.h:516
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.
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
struct pa_proplist pa_proplist
A property list object.
Definition: proplist.h:278
pa_format_info ** formats
Array of formats supported by the sink.
Definition: introspect.h:291
uint32_t bytes
Length of this sample in bytes.
Definition: introspect.h:778
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.
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.
int mute
Stream muted.
Definition: introspect.h:713
pa_format_info ** formats
Array of formats supported by the source.
Definition: introspect.h:396
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
pa_cvolume volume
The volume of this sink input.
Definition: introspect.h:654
pa_operation * pa_context_get_card_info_list(pa_context *c, pa_card_info_cb_t cb, void *userdata)
Get the complete card list.
uint32_t n_ports
Number of entries in port array.
Definition: introspect.h:287
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
pa_operation * pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata)
Get daemon memory block statistics.
const char * driver
Driver name.
Definition: introspect.h:518
pa_usec_t sink_usec
Latency of the sink device, see pa_timing_info for details.
Definition: introspect.h:656
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_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.
Property list constants and functions.
struct pa_source_output_info pa_source_output_info
Stores information about source outputs.
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_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.
struct pa_sink_info pa_sink_info
Stores information about sinks.
pa_card_profile_info ** profiles
Definition: introspect.h:574
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_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.
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
struct pa_client_info pa_client_info
Stores information about clients.
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_usec_t configured_latency
The latency this device has been configured to.
Definition: introspect.h:282
Stores information about a specific port of a card.
Definition: introspect.h:567
pa_operation * pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata)
Unload a module.
pa_format_info * format
Stream format information.
Definition: introspect.h:716
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.
pa_card_profile_info2 ** profiles2
Array of pointers to available profiles, or NULL.
Definition: introspect.h:577
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_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata)
Get the complete sink list.
uint32_t index
Index of the module.
Definition: introspect.h:468
uint32_t priority
The higher this value is, the more useful this port is as a default.
Definition: introspect.h:236
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
pa_proplist * proplist
Property list.
Definition: introspect.h:611
const char * description
Description of this port.
Definition: introspect.h:235