2006-02-16 23:11:28 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# ifndef foointrospecthfoo 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# define foointrospecthfoo 
 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/***
 
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 21:53:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  This  file  is  part  of  PulseAudio . 
							 
						 
					
						
							
								
									
										
										
										
											2007-01-04 13:43:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2007-02-13 15:35:19 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  Copyright  2004 - 2006  Lennart  Poettering 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  Copyright  2006  Pierre  Ossman  < ossman @ cendio . se >  for  Cendio  AB 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 21:53:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  PulseAudio  is  free  software ;  you  can  redistribute  it  and / or  modify 
							 
						 
					
						
							
								
									
										
										
										
											2004-11-14 14:58:54 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  it  under  the  terms  of  the  GNU  Lesser  General  Public  License  as  published 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-03 20:23:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  by  the  Free  Software  Foundation ;  either  version  2.1  of  the  License , 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  or  ( at  your  option )  any  later  version . 
							 
						 
					
						
							
								
									
										
										
										
											2007-01-04 13:43:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 21:53:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  PulseAudio  is  distributed  in  the  hope  that  it  will  be  useful ,  but 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  WITHOUT  ANY  WARRANTY ;  without  even  the  implied  warranty  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE .  See  the  GNU 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  General  Public  License  for  more  details . 
							 
						 
					
						
							
								
									
										
										
										
											2007-01-04 13:43:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-11-14 14:58:54 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  You  should  have  received  a  copy  of  the  GNU  Lesser  General  Public  License 
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 21:53:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  along  with  PulseAudio ;  if  not ,  write  to  the  Free  Software 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  Foundation ,  Inc . ,  59  Temple  Place ,  Suite  330 ,  Boston ,  MA  02111 - 1307 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  USA . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* * */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-14 20:25:32 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  <inttypes.h> 
 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 21:53:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  <pulse/operation.h> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  <pulse/context.h> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  <pulse/cdecl.h> 
 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  <pulse/gccmacro.h> 
 
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 21:53:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  <pulse/channelmap.h> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  <pulse/volume.h> 
 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  <pulse/proplist.h> 
 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-08 23:30:24 +05:30 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  <pulse/format.h> 
 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-27 02:36:42 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  <pulse/version.h> 
 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2006-04-13 13:45:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \page introspect Server Query and Control
 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ section  overv_sec  Overview 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Sometimes  it  is  necessary  to  query  and  modify  global  settings  in  the 
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 22:11:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  server .  For  this ,  PulseAudio  has  the  introspection  API .  It  can  list  sinks , 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  sources ,  samples  and  other  aspects  of  the  server .  It  can  also  modify  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  attributes  of  the  server  that  will  affect  operations  on  a  global  level , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  and  not  just  the  application ' s  context . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ section  query_sec  Querying 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  All  querying  is  done  through  callbacks .  This  approach  is  necessary  to 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  maintain  an  asynchronous  design .  The  client  will  request  the  information 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  and  some  time  later ,  the  server  will  respond  with  the  desired  data . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  Some  objects  can  have  multiple  instances  on  the  server .  When  requesting  all 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  of  these  at  once ,  the  callback  will  be  called  multiple  times ,  once  for 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  each  object .  When  the  list  has  been  exhausted ,  the  callback  will  be  called 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-04 23:33:10 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  without  an  information  structure  and  the  eol  parameter  set  to  a  positive 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Note  that  even  if  a  single  object  is  requested ,  and  not  the  entire  list , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  the  terminating  call  will  still  be  made . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  If  an  error  occurs ,  the  callback  will  be  invoked  without  an  information 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-04 23:33:10 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  structure  and  eol  set  to  a  negative  value . . 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Data  members  in  the  information  structures  are  only  valid  during  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  duration  of  the  callback .  If  they  are  required  after  the  callback  is 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  finished ,  a  deep  copy  of  the  information  structure  must  be  performed . 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-13 13:45:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  \ subsection  server_subsec  Server  Information 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  The  server  can  be  queried  about  its  name ,  the  environment  it ' s  running  on 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  and  the  currently  active  global  defaults .  Calling 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  pa_context_get_server_info ( )  provides  access  to  a  pa_server_info  structure 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  containing  all  of  these . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-13 13:45:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  \ subsection  memstat_subsec  Memory  Usage 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Statistics  about  memory  usage  can  be  fetched  using  pa_context_stat ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  giving  a  pa_stat_info  structure . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-13 13:45:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  \ subsection  sinksrc_subsec  Sinks  and  Sources 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  The  server  can  have  an  arbitrary  number  of  sinks  and  sources .  Each  sink 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  and  source  have  both  an  index  and  a  name  associated  with  it .  As  such , 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  there  are  three  ways  to  get  access  to  them : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  By  index  -  pa_context_get_sink_info_by_index ( )  / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *                 pa_context_get_source_info_by_index ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  By  name  -  pa_context_get_sink_info_by_name ( )  / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *                pa_context_get_source_info_by_name ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  All  -  pa_context_get_sink_info_list ( )  / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *            pa_context_get_source_info_list ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  All  three  method  use  the  same  callback  and  will  provide  a  pa_sink_info  or 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  pa_source_info  structure . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-13 13:45:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  \ subsection  siso_subsec  Sink  Inputs  and  Source  Outputs 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Sink  inputs  and  source  outputs  are  the  representations  of  the  client  ends 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  of  streams  inside  the  server .  I . e .  they  connect  a  client  stream  to  one  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  the  global  sinks  or  sources . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Sink  inputs  and  source  outputs  only  have  an  index  to  identify  them .  As 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  such ,  there  are  only  two  ways  to  get  information  about  them : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  By  index  -  pa_context_get_sink_input_info ( )  / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *                 pa_context_get_source_output_info ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  All  -  pa_context_get_sink_input_info_list ( )  / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *            pa_context_get_source_output_info_list ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  The  structure  returned  is  the  pa_sink_input_info  or  pa_source_output_info 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  structure . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ subsection  samples_subsec  Samples 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  The  list  of  cached  samples  can  be  retrieved  from  the  server .  Three  methods 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  exist  for  querying  the  sample  cache  list : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  By  index  -  pa_context_get_sample_info_by_index ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  By  name  -  pa_context_get_sample_info_by_name ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  All  -  pa_context_get_sample_info_list ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Note  that  this  only  retrieves  information  about  the  sample ,  not  the  sample 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  data  itself . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-13 13:45:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  \ subsection  module_subsec  Driver  Modules 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 22:11:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  PulseAudio  driver  modules  are  identified  by  index  and  are  retrieved  using  either 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  pa_context_get_module_info ( )  or  pa_context_get_module_info_list ( ) .  The 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  information  structure  is  called  pa_module_info . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ subsection  client_subsec  Clients 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 22:11:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  PulseAudio  clients  are  also  identified  by  index  and  are  retrieved  using 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  either  pa_context_get_client_info ( )  or  pa_context_get_client_info_list ( ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  The  information  structure  is  called  pa_client_info . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ section  ctrl_sec  Control 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Some  parts  of  the  server  are  only  possible  to  read ,  but  most  can  also  be 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  modified  in  different  ways .  Note  that  these  changes  will  affect  all 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  connected  clients  and  not  just  the  one  issuing  the  request . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-13 13:45:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  \ subsection  sinksrc_subsec  Sinks  and  Sources 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  The  most  common  change  one  would  want  to  apply  to  sinks  and  sources  is  to 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  modify  the  volume  of  the  audio .  Identically  to  how  sinks  and  sources  can 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  be  queried ,  there  are  two  ways  of  identifying  them : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  By  index  -  pa_context_set_sink_volume_by_index ( )  / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *                 pa_context_set_source_volume_by_index ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  By  name  -  pa_context_set_sink_volume_by_name ( )  / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *                pa_context_set_source_volume_by_name ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  It  is  also  possible  to  mute  a  sink  or  source : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  By  index  -  pa_context_set_sink_mute_by_index ( )  / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *                 pa_context_set_source_mute_by_index ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  By  name  -  pa_context_set_sink_mute_by_name ( )  / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *                pa_context_set_source_mute_by_name ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-13 13:45:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  \ subsection  siso_subsec  Sink  Inputs  and  Source  Outputs 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  If  an  application  desires  to  modify  the  volume  of  just  a  single  stream 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  ( commonly  one  of  its  own  streams ) ,  this  can  be  done  by  setting  the  volume 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-17 22:31:10 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  of  its  associated  sink  input  or  source  output ,  using 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  pa_context_set_sink_input_volume ( )  or  pa_context_set_source_output_volume ( ) . 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  It  is  also  possible  to  remove  sink  inputs  and  source  outputs ,  terminating 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  the  streams  associated  with  them : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  Sink  input  -  pa_context_kill_sink_input ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ li  Source  output  -  pa_context_kill_source_output ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ subsection  module_subsec  Modules 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Server  modules  can  be  remotely  loaded  and  unloaded  using 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  pa_context_load_module ( )  and  pa_context_unload_module ( ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ subsection  client_subsec  Clients 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  The  only  operation  supported  on  clients  is  the  possibility  of  kicking 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  them  off  the  server  using  pa_context_kill_client ( ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-17 17:17:22 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \file
 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  Routines  for  daemon  introspection . 
							 
						 
					
						
							
								
									
										
										
										
											2010-10-03 13:41:27 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  See  also  \ subpage  introspect 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-09 19:31:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-17 17:17:22 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-14 20:25:32 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								PA_C_DECL_BEGIN 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @{ \name Sinks */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-17 23:17:37 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Stores information about a specific port of a sink.  Please
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  note  that  this  structure  can  be  extended  as  part  of  evolutionary 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  API  updates  at  any  time  in  any  new  release .  \ since  0.9 .16  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  struct  pa_sink_port_info  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * name ;                    /**< Name of this port */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * description ;             /**< Description of this port */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  priority ;                   /**< The higher this value is, the more useful this port is as a default. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  available ;                       /**< A flags (see #pa_port_available), indicating availability status of this port. \since 2.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-17 23:17:37 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_sink_port_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Stores information about sinks. Please note that this structure
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_sink_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * name ;                   /**< Name of the sink */ 
							 
						 
					
						
							
								
									
										
										
										
											2007-01-04 13:43:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  index ;                     /**< Index of the sink */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * description ;            /**< Description of this sink */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-27 16:25:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_sample_spec  sample_spec ;         /**< Sample spec of this sink */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_channel_map  channel_map ;         /**< Channel map */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  owner_module ;              /**< Index of the owning module of this sink, or PA_INVALID_INDEX. */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-27 16:25:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_cvolume  volume ;                  /**< Volume of the sink */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  mute ;                           /**< Mute switch of the sink */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  monitor_source ;            /**< Index of the monitor source connected to this sink. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * monitor_source_name ;    /**< The name of the monitor source. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_usec_t  latency ;                  /**< Length of queued audio in the output buffer. */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * driver ;                 /**< Driver name */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_sink_flags_t  flags ;              /**< Flags */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_proplist  * proplist ;              /**< Property list \since 0.9.11 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_usec_t  configured_latency ;       /**< The latency this device has been configured to. \since 0.9.11 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-19 23:03:22 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_volume_t  base_volume ;            /**< Some kind of "base" volume that refers to unamplified/unattenuated volume in the context of the output device. \since 0.9.15 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 17:16:31 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_sink_state_t  state ;              /**< State \since 0.9.15 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-27 04:39:07 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  n_volume_steps ;            /**< Number of volume steps for sinks which do not support arbitrary volumes. \since 0.9.15 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-02-18 22:11:50 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  card ;                      /**< Card index, or PA_INVALID_INDEX. \since 0.9.15 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-17 23:17:37 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  n_ports ;                   /**< Number of entries in port array \since 0.9.16 */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_sink_port_info * *  ports ;          /**< Array of available ports, or NULL. Array is terminated by an entry set to NULL. The number of entries is stored in n_ports. \since 0.9.16 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_sink_port_info *  active_port ;     /**< Pointer to active port in the array, or NULL. \since 0.9.16 */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-08 23:30:24 +05:30 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint8_t  n_formats ;                  /**< Number of formats supported by the sink. \since 1.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_format_info  * * formats ;           /**< Array of formats supported by the sink. \since 1.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_sink_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_sink_info_by_name() and friends */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_sink_info_cb_t ) ( pa_context  * c ,  const  pa_sink_info  * i ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Get information about a sink by its name */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_sink_info_by_name ( pa_context  * c ,  const  char  * name ,  pa_sink_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get information about a sink by its index */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_sink_info_by_index ( pa_context  * c ,  uint32_t  idx ,  pa_sink_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get the complete sink list */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_sink_info_list ( pa_context  * c ,  pa_sink_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Set the volume of a sink device specified by its index */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 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 mute switch of a sink device specified by its index */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 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 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Suspend/Resume a sink. \since 0.9.7 */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-06-16 19:04:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Suspend/Resume a sink. If idx is PA_INVALID_INDEX all sinks will be suspended. \since 0.9.7 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_suspend_sink_by_index ( pa_context  * c ,  uint32_t  idx ,  int  suspend ,   pa_context_success_cb_t  cb ,  void *  userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-17 04:54:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Change the profile of a sink. \since 0.9.16 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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. \since 0.9.15 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @{ \name Sources */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-17 23:17:37 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Stores information about a specific port of a source.  Please
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  note  that  this  structure  can  be  extended  as  part  of  evolutionary 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  API  updates  at  any  time  in  any  new  release .  \ since  0.9 .16  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  struct  pa_source_port_info  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * name ;                    /**< Name of this port */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * description ;             /**< Description of this port */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  priority ;                   /**< The higher this value is, the more useful this port is as a default. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  available ;                       /**< A flags (see #pa_port_available), indicating availability status of this port. \since 2.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-17 23:17:37 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_source_port_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Stores information about sources. Please note that this structure
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2007-01-04 13:43:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_source_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * name ;                    /**< Name of the source */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  index ;                      /**< Index of the source */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * description ;             /**< Description of this source */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-27 16:25:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_sample_spec  sample_spec ;          /**< Sample spec of this source */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_channel_map  channel_map ;          /**< Channel map */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  owner_module ;               /**< Owning module index, or PA_INVALID_INDEX. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_cvolume  volume ;                   /**< Volume of the source */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  mute ;                            /**< Mute switch of the sink */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  monitor_of_sink ;            /**< If this is a monitor source, the index of the owning sink, otherwise PA_INVALID_INDEX. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * monitor_of_sink_name ;    /**< Name of the owning sink, or PA_INVALID_INDEX. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_usec_t  latency ;                   /**< Length of filled record buffer of this source. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * driver ;                  /**< Driver name */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_source_flags_t  flags ;             /**< Flags */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_proplist  * proplist ;               /**< Property list \since 0.9.11 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_usec_t  configured_latency ;        /**< The latency this device has been configured to. \since 0.9.11 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-27 04:39:07 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_volume_t  base_volume ;             /**< Some kind of "base" volume that refers to unamplified/unattenuated volume in the context of the input device. \since 0.9.15 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_source_state_t  state ;             /**< State \since 0.9.15 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint32_t  n_volume_steps ;             /**< Number of volume steps for sources which do not support arbitrary volumes. \since 0.9.15 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-02-18 22:11:50 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  card ;                       /**< Card index, or PA_INVALID_INDEX. \since 0.9.15 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-17 23:17:37 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  n_ports ;                    /**< Number of entries in port array \since 0.9.16 */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_source_port_info * *  ports ;         /**< Array of available ports, or NULL. Array is terminated by an entry set to NULL. The number of entries is stored in n_ports. \since 0.9.16  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_source_port_info *  active_port ;    /**< Pointer to active port in the array, or NULL. \since 0.9.16  */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-16 22:15:57 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint8_t  n_formats ;                   /**< Number of formats supported by the source. \since 1.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_format_info  * * formats ;            /**< Array of formats supported by the source. \since 1.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_source_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_source_info_by_name() and friends */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_source_info_cb_t ) ( pa_context  * c ,  const  pa_source_info  * i ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Get information about a source by its name */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_source_info_by_name ( pa_context  * c ,  const  char  * name ,  pa_source_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get information about a source by its index */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_source_info_by_index ( pa_context  * c ,  uint32_t  idx ,  pa_source_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get the complete source list */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_source_info_list ( pa_context  * c ,  pa_source_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Set the volume of a source device specified by its index */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 name */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 mute switch of a source device specified by its index */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 name */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-09-06 23:14:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Suspend/Resume a source. \since 0.9.7 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Suspend/Resume a source. If idx is PA_INVALID_INDEX, all sources will be suspended. \since 0.9.7 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-06 23:14:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_suspend_source_by_index ( pa_context  * c ,  uint32_t  idx ,  int  suspend ,  pa_context_success_cb_t  cb ,  void *  userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-17 04:54:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Change the profile of a source. \since 0.9.16 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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. \since 0.9.15 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @{ \name Server */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Server information. Please note that this structure can be
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  extended  as  part  of  evolutionary  API  updates  at  any  time  in  any  new 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_server_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-17 17:17:22 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * user_name ;               /**< User name of the daemon process */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * host_name ;               /**< Host name the daemon is running on */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * server_version ;          /**< Version string of the daemon */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-06-19 21:53:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * server_name ;             /**< Server package name (usually "pulseaudio") */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-27 16:25:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_sample_spec  sample_spec ;          /**< Default sample specification */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * default_sink_name ;       /**< Name of default sink. */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-16 15:02:51 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * default_source_name ;     /**< Name of default source. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  cookie ;                     /**< A random cookie for identifying this instance of PulseAudio. */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-02-21 16:32:42 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_channel_map  channel_map ;          /**< Default channel map. \since 0.9.15 */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_server_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_server_info() */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_server_info_cb_t )  ( pa_context  * c ,  const  pa_server_info * i ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2006-04-10 16:40:29 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Get some information about the server */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_server_info ( pa_context  * c ,  pa_server_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @{ \name Modules */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Stores information about modules. Please note that this structure
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_module_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  index ;                      /**< Index of the module */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char * name ,                     /**< Name of the module */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        * argument ;                       /**< Argument string of the module */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-04 00:27:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  n_used ;                     /**< Usage counter or PA_INVALID_INDEX */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \cond fulldocs */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  auto_unload ;                     /**< \deprecated Non-zero if this is an autoloaded module. */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \endcond */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-19 22:02:28 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_proplist  * proplist ;               /**< Property list \since 0.9.15 */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_module_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_module_info() and friends */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_module_info_cb_t )  ( pa_context  * c ,  const  pa_module_info * i ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Get some information about a module by its index */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_module_info ( pa_context  * c ,  uint32_t  idx ,  pa_module_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get the complete list of currently loaded modules */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_module_info_list ( pa_context  * c ,  pa_module_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_load_module() */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_context_index_cb_t ) ( pa_context  * c ,  uint32_t  idx ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Load a module. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_load_module ( pa_context  * c ,  const  char * name ,  const  char  * argument ,  pa_context_index_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Unload a module. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_unload_module ( pa_context  * c ,  uint32_t  idx ,  pa_context_success_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @{ \name Clients */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Stores information about clients. Please note that this structure
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_client_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  index ;                       /**< Index of this client */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * name ;                     /**< Name of this client */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  owner_module ;                /**< Index of the owning module, or PA_INVALID_INDEX. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * driver ;                   /**< Driver name */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_proplist  * proplist ;                /**< Property list \since 0.9.11 */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_client_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_client_info() and friends */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_client_info_cb_t )  ( pa_context  * c ,  const  pa_client_info * i ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Get information about a client by its index */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_client_info ( pa_context  * c ,  uint32_t  idx ,  pa_client_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get the complete client list */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_client_info_list ( pa_context  * c ,  pa_client_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Kill a client. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_kill_client ( pa_context  * c ,  uint32_t  idx ,  pa_context_success_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @{ \name Cards */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Stores information about a specific profile of a card.  Please
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  note  that  this  structure  can  be  extended  as  part  of  evolutionary 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  API  updates  at  any  time  in  any  new  release .  \ since  0.9 .15  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  struct  pa_card_profile_info  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * name ;                    /**< Name of this profile */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * description ;             /**< Description of this profile */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-02-18 22:11:50 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  n_sinks ;                    /**< Number of sinks this profile would create */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint32_t  n_sources ;                  /**< Number of sources this profile would create */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  priority ;                   /**< The higher this value is, the more useful this profile is as a default. */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-15 18:21:25 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  available ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    /**< Is this profile available? If this is zero, meaning "unavailable",
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  then  it  makes  no  sense  to  try  to  activate  this  profile .  If  this  is 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  non - zero ,  it ' s  still  not  a  guarantee  that  activating  the  profile  will 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  result  in  anything  useful ,  it  just  means  that  the  server  isn ' t  aware  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  any  reason  why  the  profile  would  definitely  be  useless .  \ since  5.0  */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_card_profile_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-23 07:17:06 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Stores information about a specific port of a card.  Please
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  note  that  this  structure  can  be  extended  as  part  of  evolutionary 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  API  updates  at  any  time  in  any  new  release .  \ since  2.0  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  struct  pa_card_port_info  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * name ;                    /**< Name of this port */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * description ;             /**< Description of this port */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  priority ;                   /**< The higher this value is, the more useful this port is as a default. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  available ;                       /**< A #pa_port_available enum, indicating availability status of this port. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  direction ;                       /**< A #pa_direction enum, indicating the direction of this port. */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-23 07:17:06 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  n_profiles ;                 /**< Number of entries in profile array */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_card_profile_info * *  profiles ;     /**< Array of pointers to available profiles, or NULL. Array is terminated by an entry set to NULL. */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-23 07:17:06 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_proplist  * proplist ;               /**< Property list */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-06-28 15:00:45 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int64_t  latency_offset ;              /**< Latency offset of the port that gets added to the sink/source latency when the port is active. \since 3.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-23 07:17:06 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_card_port_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Stores information about cards. Please note that this structure
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .   \ since  0.9 .15  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  struct  pa_card_info  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint32_t  index ;                       /**< Index of this card */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * name ;                     /**< Name of this card */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  owner_module ;                /**< Index of the owning module, or PA_INVALID_INDEX. */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * driver ;                   /**< Driver name */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint32_t  n_profiles ;                  /**< Number of entries in profile array */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_card_profile_info *  profiles ;       /**< Array of available profile, or NULL. Array is terminated by an entry with name set to NULL. Number of entries is stored in n_profiles. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_card_profile_info *  active_profile ;  /**< Pointer to active profile in the array, or NULL. */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_proplist  * proplist ;                /**< Property list */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-23 07:17:06 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  n_ports ;                     /**< Number of entries in port array */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_card_port_info  * * ports ;            /**< Array of pointers to ports, or NULL. Array is terminated by an entry set to NULL. */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_card_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-12-11 16:20:31 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_card_info_...() \since 0.9.15 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_card_info_cb_t )  ( pa_context  * c ,  const  pa_card_info * i ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get information about a card by its index \since 0.9.15 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 name \since 0.9.15 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_card_info_by_name ( pa_context  * c ,  const  char  * name ,  pa_card_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get the complete card list \since 0.9.15 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_card_info_list ( pa_context  * c ,  pa_card_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Change the profile of a card. \since 0.9.15 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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. \since 0.9.15 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-06-28 15:00:45 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Set the latency offset of a port. \since 3.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-20 03:25:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @{ \name Sink Inputs */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Stores information about sink inputs. Please note that this structure
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_sink_input_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2007-01-04 13:43:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  index ;                       /**< Index of the sink input */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 16:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * name ;                     /**< Name of the sink input */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  owner_module ;                /**< Index of the module this sink input belongs to, or PA_INVALID_INDEX when it does not belong to any module. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint32_t  client ;                      /**< Index of the client this sink input belongs to, or PA_INVALID_INDEX when it does not belong to any client. */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 16:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  sink ;                        /**< Index of the connected sink */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_sample_spec  sample_spec ;           /**< The sample specification of the sink input. */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-27 16:25:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_channel_map  channel_map ;           /**< Channel map */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_cvolume  volume ;                    /**< The volume of this sink input. */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-11-08 14:53:55 +05:30 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_usec_t  buffer_usec ;                /**< Latency due to buffering in sink input, see pa_timing_info for details. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_usec_t  sink_usec ;                  /**< Latency of the sink device, see pa_timing_info for details. */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-04-01 12:35:44 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * resample_method ;          /**< The resampling method used by this sink input. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * driver ;                   /**< Driver name */ 
							 
						 
					
						
							
								
									
										
										
										
											2007-10-28 19:13:50 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  mute ;                             /**< Stream muted \since 0.9.7 */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_proplist  * proplist ;                /**< Property list \since 0.9.11 */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-12-04 16:43:04 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  corked ;                           /**< Stream corked \since 1.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-02-14 13:41:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  has_volume ;                       /**< Stream has volume. If not set, then the meaning of this struct's volume member is unspecified. \since 1.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-27 23:00:26 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  volume_writable ;                  /**< The volume can be set. If not set, the volume can still change even though clients can't control the volume. \since 1.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-08 23:31:59 +05:30 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_format_info  * format ;               /**< Stream format information. \since 1.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_sink_input_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_sink_input_info() and friends */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_sink_input_info_cb_t )  ( pa_context  * c ,  const  pa_sink_input_info  * i ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Get some information about a sink input by its index */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_sink_input_info ( pa_context  * c ,  uint32_t  idx ,  pa_sink_input_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get the complete sink input list */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_sink_input_info_list ( pa_context  * c ,  pa_sink_input_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Move the specified sink input to a different sink. \since 0.9.5 */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-06-16 19:04:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Move the specified sink input to a different sink. \since 0.9.5 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Set the volume of a sink input stream */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 mute switch of a sink input stream \since 0.9.7 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_set_sink_input_mute ( pa_context  * c ,  uint32_t  idx ,  int  mute ,  pa_context_success_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Kill a sink input. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_kill_sink_input ( pa_context  * c ,  uint32_t  idx ,  pa_context_success_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @{ \name Source Outputs */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Stores information about source outputs. Please note that this structure
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_source_output_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-02 13:38:10 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  index ;                       /**< Index of the source output */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * name ;                     /**< Name of the source output */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  owner_module ;                /**< Index of the module this source output belongs to, or PA_INVALID_INDEX when it does not belong to any module. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint32_t  client ;                      /**< Index of the client this source output belongs to, or PA_INVALID_INDEX when it does not belong to any client. */ 
							 
						 
					
						
							
								
									
										
										
										
											2007-01-04 13:43:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  source ;                      /**< Index of the connected source */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-27 16:25:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_sample_spec  sample_spec ;           /**< The sample specification of the source output */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_channel_map  channel_map ;           /**< Channel map */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-11-08 14:53:55 +05:30 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_usec_t  buffer_usec ;                /**< Latency due to buffering in the source output, see pa_timing_info for details. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_usec_t  source_usec ;                /**< Latency of the source device, see pa_timing_info for details. */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-04-01 12:35:44 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * resample_method ;          /**< The resampling method used by this source output. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * driver ;                   /**< Driver name */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_proplist  * proplist ;                /**< Property list \since 0.9.11 */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-12-04 16:43:04 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  corked ;                           /**< Stream corked \since 1.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-17 22:31:10 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_cvolume  volume ;                    /**< The volume of this source output \since 1.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  mute ;                             /**< Stream muted \since 1.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  has_volume ;                       /**< Stream has volume. If not set, then the meaning of this struct's volume member is unspecified. \since 1.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  volume_writable ;                  /**< The volume can be set. If not set, the volume can still change even though clients can't control the volume. \since 1.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-16 22:23:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_format_info  * format ;               /**< Stream format information. \since 1.0 */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_source_output_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_source_output_info() and friends */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_source_output_info_cb_t )  ( pa_context  * c ,  const  pa_source_output_info  * i ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Get information about a source output by its index */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_source_output_info ( pa_context  * c ,  uint32_t  idx ,  pa_source_output_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get the complete list of source outputs */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_source_output_info_list ( pa_context  * c ,  pa_source_output_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Move the specified source output to a different source. \since 0.9.5 */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-06-16 19:04:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-23 12:04:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Move the specified source output to a different source. \since 0.9.5 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-05-17 22:31:10 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Set the volume of a source output stream \since 1.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 mute switch of a source output stream \since 1.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_set_source_output_mute ( pa_context  * c ,  uint32_t  idx ,  int  mute ,  pa_context_success_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Kill a source output. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_kill_source_output ( pa_context  * c ,  uint32_t  idx ,  pa_context_success_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-22 14:11:23 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-23 12:04:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @{ \name Statistics */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-23 12:04:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Memory block statistics. Please note that this structure
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_stat_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-17 19:37:29 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  memblock_total ;            /**< Currently allocated memory blocks */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-04-01 12:35:44 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  memblock_total_size ;       /**< Current total size of allocated memory blocks */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-04-06 15:06:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  memblock_allocated ;        /**< Allocated memory blocks during the whole lifetime of the daemon. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint32_t  memblock_allocated_size ;   /**< Total size of all memory blocks allocated during the whole lifetime of the daemon. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  scache_size ;               /**< Total size of all sample cache entries. */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_stat_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_stat() */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_stat_info_cb_t )  ( pa_context  * c ,  const  pa_stat_info  * i ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-17 17:17:22 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Get daemon memory block statistics */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_stat ( pa_context  * c ,  pa_stat_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @{ \name Cached Samples */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Stores information about sample cache entries. Please note that this structure
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_sample_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  index ;                        /**< Index of this entry */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * name ;                      /**< Name of this entry */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-27 16:25:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_cvolume  volume ;                     /**< Default volume of this entry */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_sample_spec  sample_spec ;            /**< Sample specification of the sample */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_channel_map  channel_map ;            /**< The channel map */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_usec_t  duration ;                    /**< Duration of this entry */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  bytes ;                        /**< Length of this sample in bytes. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  lazy ;                              /**< Non-zero when this is a lazy cache entry. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * filename ;                  /**< In case this is a lazy cache entry, the filename for the sound file to be loaded on demand. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_proplist  * proplist ;                 /**< Property list for this sample. \since 0.9.11 */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_sample_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-19 23:14:59 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 20:41:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_sample_info_by_name() and friends */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_sample_info_cb_t ) ( pa_context  * c ,  const  pa_sample_info  * i ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** Get information about a sample by its name */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_sample_info_by_name ( pa_context  * c ,  const  char  * name ,  pa_sample_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get information about a sample by its index */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_sample_info_by_index ( pa_context  * c ,  uint32_t  idx ,  pa_sample_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-27 17:03:38 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get the complete list of samples stored in the daemon. */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_sample_info_list ( pa_context  * c ,  pa_sample_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-19 23:14:59 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
									
										
										
										
											2007-01-04 13:43:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-03 14:09:20 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @{ \name Routing Nodes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Routing node information. Please note that this structure can be extended
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  as  part  of  evolutionary  API  updates  at  any  time  in  any  new  release . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ since  5.0  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  struct  pa_node_info  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    /** The index of this node. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint32_t  index ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    /** The name of this node. While one name can refer to only one node at any
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  given  time ,  the  same  name  can  still  refer  to  multiple  nodes  over  time , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  and  the  same  node  may  have  a  different  name  e . g .  after  server  restart . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  This  means  that  nodes  don ' t  have  any  identifier  that  could  be  e . g .  saved 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  to  disk  for  referring  to  the  same  node  later .  There  may  be  some  nodes  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  the  future  that  have  a  fixed  name ,  but  currently  there  are  none .  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    /** The human-readable description of this node. This is localized and
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  suitable  to  be  shown  in  user  interfaces  as  the  label  for  this  node .  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * description ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    /** The direction of this node. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pa_direction_t  direction ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}  pa_node_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Callback prototype for pa_context_get_node_info_by_name() and friends.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  \ since  5.0  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_node_info_cb_t ) ( pa_context  * c ,  const  pa_node_info  * info ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get information about a node by its name. \since 5.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation  * pa_context_get_node_info_by_name ( pa_context  * c ,  const  char  * name ,  pa_node_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get information about a node by its index. \since 5.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation  * pa_context_get_node_info_by_index ( pa_context  * c ,  uint32_t  idx ,  pa_node_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** Get a list of all nodes. \since 5.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								pa_operation  * pa_context_get_node_info_list ( pa_context  * c ,  pa_node_info_cb_t  cb ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \cond fulldocs */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @{ \name Autoload Entries */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \deprecated Type of an autoload entry. */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  enum  pa_autoload_type  { 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    PA_AUTOLOAD_SINK  =  0 , 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-16 23:34:25 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    PA_AUTOLOAD_SOURCE  =  1 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-27 16:25:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_autoload_type_t ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \deprecated Stores information about autoload entries. Please note that this structure
 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  can  be  extended  as  part  of  evolutionary  API  updates  at  any  time  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  any  new  release .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  struct  pa_autoload_info  { 
							 
						 
					
						
							
								
									
										
										
										
											2004-10-27 16:23:23 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    uint32_t  index ;                /**< Index of this autoload entry */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * name ;              /**< Name of the sink or source */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-09-03 18:51:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    pa_autoload_type_t  type ;       /**< Type of the autoload entry */ 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    const  char  * module ;            /**< Module name to load */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    const  char  * argument ;          /**< Argument string for module */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-01-11 01:17:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								}  pa_autoload_info ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 20:41:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \deprecated Callback prototype for pa_context_get_autoload_info_by_name() and friends */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-20 22:41:02 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								typedef  void  ( * pa_autoload_info_cb_t ) ( pa_context  * c ,  const  pa_autoload_info  * i ,  int  eol ,  void  * userdata ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \deprecated Get info about a specific autoload entry. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-10-27 16:23:23 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \deprecated Get info about a specific autoload entry. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \deprecated Get the complete list of autoload entries. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								pa_operation *  pa_context_get_autoload_info_list ( pa_context  * c ,  pa_autoload_info_cb_t  cb ,  void  * userdata )  PA_GCC_DEPRECATED ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \deprecated Add a new autoload entry. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-10-27 16:23:23 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \deprecated Remove an autoload entry. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-10-27 16:23:23 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-15 20:07:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \deprecated Remove an autoload entry. */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 ; 
							 
						 
					
						
							
								
									
										
										
										
											2004-09-15 19:16:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** @} */ 
							 
						 
					
						
							
								
									
										
										
										
											2006-08-03 22:33:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-05-15 23:34:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** \endcond */ 
							 
						 
					
						
							
								
									
										
										
										
											2007-10-28 19:13:50 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-08-14 20:25:32 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								PA_C_DECL_END 
							 
						 
					
						
							
								
									
										
										
										
											2004-08-13 13:22:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif