├── pulseaudio ├── __init__.py └── lib_pulseaudio.py ├── .gitignore ├── LICENSE ├── README ├── setup.py └── LGPL /pulseaudio/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | build 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Since this is a simple binding for libpulseaudio, the same LGPL license 2 | applies. 3 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | These are simple ctypes bindings for pulseaudio. 2 | 3 | Generated from pulseaudio 1.1 on 24/11/2011. 4 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from distutils.core import setup 4 | 5 | setup(name='libpulseaudio', 6 | version='1.1', 7 | description='simple libpulseaudio bindings', 8 | author='Valodim', 9 | author_email='valodim@mugenguild.com', 10 | license='LGPL', 11 | url='http://github.com/valodim/python-pulseaudio', 12 | packages=['pulseaudio'], 13 | provides=['libpulseaudio'], 14 | download_url='http://datatomb.de/~valodim/libpulseaudio-1.1.tar.gz' 15 | ) 16 | -------------------------------------------------------------------------------- /LGPL: -------------------------------------------------------------------------------- 1 | 2 | GNU LESSER GENERAL PUBLIC LICENSE 3 | Version 2.1, February 1999 4 | 5 | Copyright (C) 1991, 1999 Free Software Foundation, Inc. 6 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 7 | Everyone is permitted to copy and distribute verbatim copies 8 | of this license document, but changing it is not allowed. 9 | 10 | [This is the first released version of the Lesser GPL. It also counts 11 | as the successor of the GNU Library Public License, version 2, hence 12 | the version number 2.1.] 13 | 14 | Preamble 15 | 16 | The licenses for most software are designed to take away your 17 | freedom to share and change it. By contrast, the GNU General Public 18 | Licenses are intended to guarantee your freedom to share and change 19 | free software--to make sure the software is free for all its users. 20 | 21 | This license, the Lesser General Public License, applies to some 22 | specially designated software packages--typically libraries--of the 23 | Free Software Foundation and other authors who decide to use it. You 24 | can use it too, but we suggest you first think carefully about whether 25 | this license or the ordinary General Public License is the better 26 | strategy to use in any particular case, based on the explanations 27 | below. 28 | 29 | When we speak of free software, we are referring to freedom of use, 30 | not price. Our General Public Licenses are designed to make sure that 31 | you have the freedom to distribute copies of free software (and charge 32 | for this service if you wish); that you receive source code or can get 33 | it if you want it; that you can change the software and use pieces of 34 | it in new free programs; and that you are informed that you can do 35 | these things. 36 | 37 | To protect your rights, we need to make restrictions that forbid 38 | distributors to deny you these rights or to ask you to surrender these 39 | rights. These restrictions translate to certain responsibilities for 40 | you if you distribute copies of the library or if you modify it. 41 | 42 | For example, if you distribute copies of the library, whether gratis 43 | or for a fee, you must give the recipients all the rights that we gave 44 | you. You must make sure that they, too, receive or can get the source 45 | code. If you link other code with the library, you must provide 46 | complete object files to the recipients, so that they can relink them 47 | with the library after making changes to the library and recompiling 48 | it. And you must show them these terms so they know their rights. 49 | 50 | We protect your rights with a two-step method: (1) we copyright the 51 | library, and (2) we offer you this license, which gives you legal 52 | permission to copy, distribute and/or modify the library. 53 | 54 | To protect each distributor, we want to make it very clear that 55 | there is no warranty for the free library. Also, if the library is 56 | modified by someone else and passed on, the recipients should know 57 | that what they have is not the original version, so that the original 58 | author's reputation will not be affected by problems that might be 59 | introduced by others. 60 | 61 | Finally, software patents pose a constant threat to the existence of 62 | any free program. We wish to make sure that a company cannot 63 | effectively restrict the users of a free program by obtaining a 64 | restrictive license from a patent holder. Therefore, we insist that 65 | any patent license obtained for a version of the library must be 66 | consistent with the full freedom of use specified in this license. 67 | 68 | Most GNU software, including some libraries, is covered by the 69 | ordinary GNU General Public License. This license, the GNU Lesser 70 | General Public License, applies to certain designated libraries, and 71 | is quite different from the ordinary General Public License. We use 72 | this license for certain libraries in order to permit linking those 73 | libraries into non-free programs. 74 | 75 | When a program is linked with a library, whether statically or using 76 | a shared library, the combination of the two is legally speaking a 77 | combined work, a derivative of the original library. The ordinary 78 | General Public License therefore permits such linking only if the 79 | entire combination fits its criteria of freedom. The Lesser General 80 | Public License permits more lax criteria for linking other code with 81 | the library. 82 | 83 | We call this license the "Lesser" General Public License because it 84 | does Less to protect the user's freedom than the ordinary General 85 | Public License. It also provides other free software developers Less 86 | of an advantage over competing non-free programs. These disadvantages 87 | are the reason we use the ordinary General Public License for many 88 | libraries. However, the Lesser license provides advantages in certain 89 | special circumstances. 90 | 91 | For example, on rare occasions, there may be a special need to 92 | encourage the widest possible use of a certain library, so that it 93 | becomes a de-facto standard. To achieve this, non-free programs must 94 | be allowed to use the library. A more frequent case is that a free 95 | library does the same job as widely used non-free libraries. In this 96 | case, there is little to gain by limiting the free library to free 97 | software only, so we use the Lesser General Public License. 98 | 99 | In other cases, permission to use a particular library in non-free 100 | programs enables a greater number of people to use a large body of 101 | free software. For example, permission to use the GNU C Library in 102 | non-free programs enables many more people to use the whole GNU 103 | operating system, as well as its variant, the GNU/Linux operating 104 | system. 105 | 106 | Although the Lesser General Public License is Less protective of the 107 | users' freedom, it does ensure that the user of a program that is 108 | linked with the Library has the freedom and the wherewithal to run 109 | that program using a modified version of the Library. 110 | 111 | The precise terms and conditions for copying, distribution and 112 | modification follow. Pay close attention to the difference between a 113 | "work based on the library" and a "work that uses the library". The 114 | former contains code derived from the library, whereas the latter must 115 | be combined with the library in order to run. 116 | 117 | GNU LESSER GENERAL PUBLIC LICENSE 118 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 119 | 120 | 0. This License Agreement applies to any software library or other 121 | program which contains a notice placed by the copyright holder or 122 | other authorized party saying it may be distributed under the terms of 123 | this Lesser General Public License (also called "this License"). 124 | Each licensee is addressed as "you". 125 | 126 | A "library" means a collection of software functions and/or data 127 | prepared so as to be conveniently linked with application programs 128 | (which use some of those functions and data) to form executables. 129 | 130 | The "Library", below, refers to any such software library or work 131 | which has been distributed under these terms. A "work based on the 132 | Library" means either the Library or any derivative work under 133 | copyright law: that is to say, a work containing the Library or a 134 | portion of it, either verbatim or with modifications and/or translated 135 | straightforwardly into another language. (Hereinafter, translation is 136 | included without limitation in the term "modification".) 137 | 138 | "Source code" for a work means the preferred form of the work for 139 | making modifications to it. For a library, complete source code means 140 | all the source code for all modules it contains, plus any associated 141 | interface definition files, plus the scripts used to control 142 | compilation and installation of the library. 143 | 144 | Activities other than copying, distribution and modification are not 145 | covered by this License; they are outside its scope. The act of 146 | running a program using the Library is not restricted, and output from 147 | such a program is covered only if its contents constitute a work based 148 | on the Library (independent of the use of the Library in a tool for 149 | writing it). Whether that is true depends on what the Library does 150 | and what the program that uses the Library does. 151 | 152 | 1. You may copy and distribute verbatim copies of the Library's 153 | complete source code as you receive it, in any medium, provided that 154 | you conspicuously and appropriately publish on each copy an 155 | appropriate copyright notice and disclaimer of warranty; keep intact 156 | all the notices that refer to this License and to the absence of any 157 | warranty; and distribute a copy of this License along with the 158 | Library. 159 | 160 | You may charge a fee for the physical act of transferring a copy, 161 | and you may at your option offer warranty protection in exchange for a 162 | fee. 163 | 164 | 2. You may modify your copy or copies of the Library or any portion 165 | of it, thus forming a work based on the Library, and copy and 166 | distribute such modifications or work under the terms of Section 1 167 | above, provided that you also meet all of these conditions: 168 | 169 | a) The modified work must itself be a software library. 170 | 171 | b) You must cause the files modified to carry prominent notices 172 | stating that you changed the files and the date of any change. 173 | 174 | c) You must cause the whole of the work to be licensed at no 175 | charge to all third parties under the terms of this License. 176 | 177 | d) If a facility in the modified Library refers to a function or a 178 | table of data to be supplied by an application program that uses 179 | the facility, other than as an argument passed when the facility 180 | is invoked, then you must make a good faith effort to ensure that, 181 | in the event an application does not supply such function or 182 | table, the facility still operates, and performs whatever part of 183 | its purpose remains meaningful. 184 | 185 | (For example, a function in a library to compute square roots has 186 | a purpose that is entirely well-defined independent of the 187 | application. Therefore, Subsection 2d requires that any 188 | application-supplied function or table used by this function must 189 | be optional: if the application does not supply it, the square 190 | root function must still compute square roots.) 191 | 192 | These requirements apply to the modified work as a whole. If 193 | identifiable sections of that work are not derived from the Library, 194 | and can be reasonably considered independent and separate works in 195 | themselves, then this License, and its terms, do not apply to those 196 | sections when you distribute them as separate works. But when you 197 | distribute the same sections as part of a whole which is a work based 198 | on the Library, the distribution of the whole must be on the terms of 199 | this License, whose permissions for other licensees extend to the 200 | entire whole, and thus to each and every part regardless of who wrote 201 | it. 202 | 203 | Thus, it is not the intent of this section to claim rights or contest 204 | your rights to work written entirely by you; rather, the intent is to 205 | exercise the right to control the distribution of derivative or 206 | collective works based on the Library. 207 | 208 | In addition, mere aggregation of another work not based on the Library 209 | with the Library (or with a work based on the Library) on a volume of 210 | a storage or distribution medium does not bring the other work under 211 | the scope of this License. 212 | 213 | 3. You may opt to apply the terms of the ordinary GNU General Public 214 | License instead of this License to a given copy of the Library. To do 215 | this, you must alter all the notices that refer to this License, so 216 | that they refer to the ordinary GNU General Public License, version 2, 217 | instead of to this License. (If a newer version than version 2 of the 218 | ordinary GNU General Public License has appeared, then you can specify 219 | that version instead if you wish.) Do not make any other change in 220 | these notices. 221 | 222 | Once this change is made in a given copy, it is irreversible for 223 | that copy, so the ordinary GNU General Public License applies to all 224 | subsequent copies and derivative works made from that copy. 225 | 226 | This option is useful when you wish to copy part of the code of 227 | the Library into a program that is not a library. 228 | 229 | 4. You may copy and distribute the Library (or a portion or 230 | derivative of it, under Section 2) in object code or executable form 231 | under the terms of Sections 1 and 2 above provided that you accompany 232 | it with the complete corresponding machine-readable source code, which 233 | must be distributed under the terms of Sections 1 and 2 above on a 234 | medium customarily used for software interchange. 235 | 236 | If distribution of object code is made by offering access to copy 237 | from a designated place, then offering equivalent access to copy the 238 | source code from the same place satisfies the requirement to 239 | distribute the source code, even though third parties are not 240 | compelled to copy the source along with the object code. 241 | 242 | 5. A program that contains no derivative of any portion of the 243 | Library, but is designed to work with the Library by being compiled or 244 | linked with it, is called a "work that uses the Library". Such a 245 | work, in isolation, is not a derivative work of the Library, and 246 | therefore falls outside the scope of this License. 247 | 248 | However, linking a "work that uses the Library" with the Library 249 | creates an executable that is a derivative of the Library (because it 250 | contains portions of the Library), rather than a "work that uses the 251 | library". The executable is therefore covered by this License. 252 | Section 6 states terms for distribution of such executables. 253 | 254 | When a "work that uses the Library" uses material from a header file 255 | that is part of the Library, the object code for the work may be a 256 | derivative work of the Library even though the source code is not. 257 | Whether this is true is especially significant if the work can be 258 | linked without the Library, or if the work is itself a library. The 259 | threshold for this to be true is not precisely defined by law. 260 | 261 | If such an object file uses only numerical parameters, data 262 | structure layouts and accessors, and small macros and small inline 263 | functions (ten lines or less in length), then the use of the object 264 | file is unrestricted, regardless of whether it is legally a derivative 265 | work. (Executables containing this object code plus portions of the 266 | Library will still fall under Section 6.) 267 | 268 | Otherwise, if the work is a derivative of the Library, you may 269 | distribute the object code for the work under the terms of Section 6. 270 | Any executables containing that work also fall under Section 6, 271 | whether or not they are linked directly with the Library itself. 272 | 273 | 6. As an exception to the Sections above, you may also combine or 274 | link a "work that uses the Library" with the Library to produce a 275 | work containing portions of the Library, and distribute that work 276 | under terms of your choice, provided that the terms permit 277 | modification of the work for the customer's own use and reverse 278 | engineering for debugging such modifications. 279 | 280 | You must give prominent notice with each copy of the work that the 281 | Library is used in it and that the Library and its use are covered by 282 | this License. You must supply a copy of this License. If the work 283 | during execution displays copyright notices, you must include the 284 | copyright notice for the Library among them, as well as a reference 285 | directing the user to the copy of this License. Also, you must do one 286 | of these things: 287 | 288 | a) Accompany the work with the complete corresponding 289 | machine-readable source code for the Library including whatever 290 | changes were used in the work (which must be distributed under 291 | Sections 1 and 2 above); and, if the work is an executable linked 292 | with the Library, with the complete machine-readable "work that 293 | uses the Library", as object code and/or source code, so that the 294 | user can modify the Library and then relink to produce a modified 295 | executable containing the modified Library. (It is understood 296 | that the user who changes the contents of definitions files in the 297 | Library will not necessarily be able to recompile the application 298 | to use the modified definitions.) 299 | 300 | b) Use a suitable shared library mechanism for linking with the 301 | Library. A suitable mechanism is one that (1) uses at run time a 302 | copy of the library already present on the user's computer system, 303 | rather than copying library functions into the executable, and (2) 304 | will operate properly with a modified version of the library, if 305 | the user installs one, as long as the modified version is 306 | interface-compatible with the version that the work was made with. 307 | 308 | c) Accompany the work with a written offer, valid for at least 309 | three years, to give the same user the materials specified in 310 | Subsection 6a, above, for a charge no more than the cost of 311 | performing this distribution. 312 | 313 | d) If distribution of the work is made by offering access to copy 314 | from a designated place, offer equivalent access to copy the above 315 | specified materials from the same place. 316 | 317 | e) Verify that the user has already received a copy of these 318 | materials or that you have already sent this user a copy. 319 | 320 | For an executable, the required form of the "work that uses the 321 | Library" must include any data and utility programs needed for 322 | reproducing the executable from it. However, as a special exception, 323 | the materials to be distributed need not include anything that is 324 | normally distributed (in either source or binary form) with the major 325 | components (compiler, kernel, and so on) of the operating system on 326 | which the executable runs, unless that component itself accompanies 327 | the executable. 328 | 329 | It may happen that this requirement contradicts the license 330 | restrictions of other proprietary libraries that do not normally 331 | accompany the operating system. Such a contradiction means you cannot 332 | use both them and the Library together in an executable that you 333 | distribute. 334 | 335 | 7. You may place library facilities that are a work based on the 336 | Library side-by-side in a single library together with other library 337 | facilities not covered by this License, and distribute such a combined 338 | library, provided that the separate distribution of the work based on 339 | the Library and of the other library facilities is otherwise 340 | permitted, and provided that you do these two things: 341 | 342 | a) Accompany the combined library with a copy of the same work 343 | based on the Library, uncombined with any other library 344 | facilities. This must be distributed under the terms of the 345 | Sections above. 346 | 347 | b) Give prominent notice with the combined library of the fact 348 | that part of it is a work based on the Library, and explaining 349 | where to find the accompanying uncombined form of the same work. 350 | 351 | 8. You may not copy, modify, sublicense, link with, or distribute 352 | the Library except as expressly provided under this License. Any 353 | attempt otherwise to copy, modify, sublicense, link with, or 354 | distribute the Library is void, and will automatically terminate your 355 | rights under this License. However, parties who have received copies, 356 | or rights, from you under this License will not have their licenses 357 | terminated so long as such parties remain in full compliance. 358 | 359 | 9. You are not required to accept this License, since you have not 360 | signed it. However, nothing else grants you permission to modify or 361 | distribute the Library or its derivative works. These actions are 362 | prohibited by law if you do not accept this License. Therefore, by 363 | modifying or distributing the Library (or any work based on the 364 | Library), you indicate your acceptance of this License to do so, and 365 | all its terms and conditions for copying, distributing or modifying 366 | the Library or works based on it. 367 | 368 | 10. Each time you redistribute the Library (or any work based on the 369 | Library), the recipient automatically receives a license from the 370 | original licensor to copy, distribute, link with or modify the Library 371 | subject to these terms and conditions. You may not impose any further 372 | restrictions on the recipients' exercise of the rights granted herein. 373 | You are not responsible for enforcing compliance by third parties with 374 | this License. 375 | 376 | 11. If, as a consequence of a court judgment or allegation of patent 377 | infringement or for any other reason (not limited to patent issues), 378 | conditions are imposed on you (whether by court order, agreement or 379 | otherwise) that contradict the conditions of this License, they do not 380 | excuse you from the conditions of this License. If you cannot 381 | distribute so as to satisfy simultaneously your obligations under this 382 | License and any other pertinent obligations, then as a consequence you 383 | may not distribute the Library at all. For example, if a patent 384 | license would not permit royalty-free redistribution of the Library by 385 | all those who receive copies directly or indirectly through you, then 386 | the only way you could satisfy both it and this License would be to 387 | refrain entirely from distribution of the Library. 388 | 389 | If any portion of this section is held invalid or unenforceable under 390 | any particular circumstance, the balance of the section is intended to 391 | apply, and the section as a whole is intended to apply in other 392 | circumstances. 393 | 394 | It is not the purpose of this section to induce you to infringe any 395 | patents or other property right claims or to contest validity of any 396 | such claims; this section has the sole purpose of protecting the 397 | integrity of the free software distribution system which is 398 | implemented by public license practices. Many people have made 399 | generous contributions to the wide range of software distributed 400 | through that system in reliance on consistent application of that 401 | system; it is up to the author/donor to decide if he or she is willing 402 | to distribute software through any other system and a licensee cannot 403 | impose that choice. 404 | 405 | This section is intended to make thoroughly clear what is believed to 406 | be a consequence of the rest of this License. 407 | 408 | 12. If the distribution and/or use of the Library is restricted in 409 | certain countries either by patents or by copyrighted interfaces, the 410 | original copyright holder who places the Library under this License 411 | may add an explicit geographical distribution limitation excluding those 412 | countries, so that distribution is permitted only in or among 413 | countries not thus excluded. In such case, this License incorporates 414 | the limitation as if written in the body of this License. 415 | 416 | 13. The Free Software Foundation may publish revised and/or new 417 | versions of the Lesser General Public License from time to time. 418 | Such new versions will be similar in spirit to the present version, 419 | but may differ in detail to address new problems or concerns. 420 | 421 | Each version is given a distinguishing version number. If the Library 422 | specifies a version number of this License which applies to it and 423 | "any later version", you have the option of following the terms and 424 | conditions either of that version or of any later version published by 425 | the Free Software Foundation. If the Library does not specify a 426 | license version number, you may choose any version ever published by 427 | the Free Software Foundation. 428 | 429 | 14. If you wish to incorporate parts of the Library into other free 430 | programs whose distribution conditions are incompatible with these, 431 | write to the author to ask for permission. For software which is 432 | copyrighted by the Free Software Foundation, write to the Free 433 | Software Foundation; we sometimes make exceptions for this. Our 434 | decision will be guided by the two goals of preserving the free status 435 | of all derivatives of our free software and of promoting the sharing 436 | and reuse of software generally. 437 | 438 | NO WARRANTY 439 | 440 | 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 441 | WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. 442 | EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR 443 | OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY 444 | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE 445 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 446 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 447 | LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME 448 | THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 449 | 450 | 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN 451 | WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY 452 | AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU 453 | FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR 454 | CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE 455 | LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING 456 | RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A 457 | FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF 458 | SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 459 | DAMAGES. 460 | 461 | END OF TERMS AND CONDITIONS 462 | 463 | How to Apply These Terms to Your New Libraries 464 | 465 | If you develop a new library, and you want it to be of the greatest 466 | possible use to the public, we recommend making it free software that 467 | everyone can redistribute and change. You can do so by permitting 468 | redistribution under these terms (or, alternatively, under the terms 469 | of the ordinary General Public License). 470 | 471 | To apply these terms, attach the following notices to the library. 472 | It is safest to attach them to the start of each source file to most 473 | effectively convey the exclusion of warranty; and each file should 474 | have at least the "copyright" line and a pointer to where the full 475 | notice is found. 476 | 477 | 478 | 479 | Copyright (C) 480 | 481 | This library is free software; you can redistribute it and/or 482 | modify it under the terms of the GNU Lesser General Public 483 | License as published by the Free Software Foundation; either 484 | version 2.1 of the License, or (at your option) any later version. 485 | 486 | This library is distributed in the hope that it will be useful, 487 | but WITHOUT ANY WARRANTY; without even the implied warranty of 488 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 489 | Lesser General Public License for more details. 490 | 491 | You should have received a copy of the GNU Lesser General Public 492 | License along with this library; if not, write to the Free Software 493 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 494 | 495 | Also add information on how to contact you by electronic and paper mail. 496 | 497 | You should also get your employer (if you work as a programmer) or 498 | your school, if any, to sign a "copyright disclaimer" for the library, 499 | if necessary. Here is a sample; alter the names: 500 | 501 | Yoyodyne, Inc., hereby disclaims all copyright interest in the 502 | library `Frob' (a library for tweaking knobs) written by James 503 | Random Hacker. 504 | 505 | , 1 April 1990 506 | Ty Coon, President of Vice 507 | 508 | That's all there is to it! 509 | 510 | 511 | -------------------------------------------------------------------------------- /pulseaudio/lib_pulseaudio.py: -------------------------------------------------------------------------------- 1 | # generation commands 2 | # h2xml.py -I $PWD -c -o pa.xml pulse/mainloop-api.h pulse/sample.h pulse/def.h pulse/operation.h pulse/context.h pulse/channelmap.h pulse/volume.h pulse/stream.h pulse/introspect.h pulse/subscribe.h pulse/scache.h pulse/version.h pulse/error.h pulse/xmalloc.h pulse/utf8.h pulse/thread-mainloop.h pulse/mainloop.h pulse/mainloop-signal.h pulse/util.h pulse/timeval.h 3 | # xml2py.py -k efstd -o lib_pulseaudio.py -l 'pulse' -r '(pa|PA)_.+' pa.xml 4 | 5 | from ctypes import * 6 | 7 | _libraries = {} 8 | _libraries['libpulse.so.0'] = CDLL('libpulse.so.0') 9 | STRING = c_char_p 10 | 11 | 12 | PA_CHANNEL_MAP_DEF_MAX = 5 13 | PA_SAMPLE_S24_32BE = 12 14 | PA_SOURCE_DECIBEL_VOLUME = 32 15 | PA_SAMPLE_S24_32LE = 11 16 | PA_SUBSCRIPTION_MASK_NULL = 0 17 | PA_SAMPLE_S24BE = 10 18 | PA_CHANNEL_POSITION_TOP_REAR_CENTER = 50 19 | PA_CHANNEL_MAP_AIFF = 0 20 | PA_CHANNEL_POSITION_TOP_REAR_LEFT = 48 21 | PA_SAMPLE_S32LE = 7 22 | PA_SOURCE_HARDWARE = 4 23 | PA_CHANNEL_POSITION_TOP_FRONT_CENTER = 47 24 | PA_CONTEXT_TERMINATED = 6 25 | PA_CONTEXT_FAILED = 5 26 | PA_CONTEXT_CONNECTING = 1 27 | PA_CHANNEL_POSITION_TOP_FRONT_LEFT = 45 28 | PA_UPDATE_REPLACE = 2 29 | PA_UPDATE_MERGE = 1 30 | PA_SOURCE_NOFLAGS = 0 31 | PA_IO_EVENT_HANGUP = 4 32 | PA_ERR_INVALID = 3 33 | PA_CHANNEL_POSITION_AUX31 = 43 34 | PA_STREAM_AUTO_TIMING_UPDATE = 8 35 | PA_SAMPLE_ULAW = 2 36 | PA_SAMPLE_ALAW = 1 37 | PA_CHANNEL_POSITION_AUX28 = 40 38 | PA_AUTOLOAD_SINK = 0 39 | PA_SOURCE_FLAT_VOLUME = 128 40 | PA_CHANNEL_POSITION_AUX27 = 39 41 | PA_SOURCE_HW_MUTE_CTRL = 16 42 | PA_SOURCE_NETWORK = 8 43 | PA_SOURCE_LATENCY = 2 44 | PA_SOURCE_HW_VOLUME_CTRL = 1 45 | PA_CHANNEL_POSITION_AUX24 = 36 46 | PA_STREAM_RELATIVE_VOLUME = 262144 47 | PA_SINK_DYNAMIC_LATENCY = 128 48 | PA_STREAM_START_UNMUTED = 65536 49 | PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND = 32768 50 | PA_STREAM_ADJUST_LATENCY = 8192 51 | PA_STREAM_START_MUTED = 4096 52 | PA_STREAM_PEAK_DETECT = 2048 53 | PA_STREAM_DONT_MOVE = 512 54 | PA_STREAM_FIX_CHANNELS = 256 55 | PA_STREAM_NO_REMAP_CHANNELS = 16 56 | PA_SINK_IDLE = 1 57 | PA_STREAM_NOT_MONOTONIC = 4 58 | PA_CHANNEL_MAP_ALSA = 1 59 | PA_SEEK_ABSOLUTE = 1 60 | PA_CHANNEL_POSITION_AUX17 = 29 61 | PA_SOURCE_DYNAMIC_LATENCY = 64 62 | PA_SUBSCRIPTION_EVENT_TYPE_MASK = 48 63 | PA_CHANNEL_POSITION_AUX16 = 28 64 | PA_STREAM_START_CORKED = 1 65 | PA_STREAM_UPLOAD = 3 66 | PA_STREAM_RECORD = 2 67 | PA_SINK_UNLINKED = -3 68 | PA_SOURCE_SUSPENDED = 2 69 | PA_CHANNEL_POSITION_AUX13 = 25 70 | PA_SINK_DECIBEL_VOLUME = 32 71 | PA_SOURCE_RUNNING = 0 72 | PA_AUTOLOAD_SOURCE = 1 73 | PA_STREAM_NOFLAGS = 0 74 | PA_IO_EVENT_ERROR = 8 75 | PA_CHANNEL_POSITION_AUX26 = 38 76 | PA_CONTEXT_NOAUTOSPAWN = 1 77 | PA_SAMPLE_FLOAT32BE = 6 78 | PA_SINK_RUNNING = 0 79 | PA_SINK_INVALID_STATE = -1 80 | PA_ENCODING_ANY = 0 81 | PA_STREAM_PLAYBACK = 1 82 | PA_STREAM_NODIRECTION = 0 83 | PA_OPERATION_CANCELLED = 2 84 | PA_OPERATION_DONE = 1 85 | PA_OPERATION_RUNNING = 0 86 | PA_IO_EVENT_INPUT = 1 87 | PA_IO_EVENT_OUTPUT = 2 88 | PA_STREAM_EARLY_REQUESTS = 16384 89 | PA_CHANNEL_POSITION_AUX6 = 18 90 | PA_CHANNEL_POSITION_AUX19 = 31 91 | PA_SINK_SET_FORMATS = 256 92 | PA_CHANNEL_POSITION_AUX5 = 17 93 | PA_SINK_FLAT_VOLUME = 64 94 | PA_SINK_HW_MUTE_CTRL = 16 95 | PA_STREAM_FAIL_ON_SUSPEND = 131072 96 | PA_SINK_NETWORK = 8 97 | PA_SINK_HARDWARE = 4 98 | PA_SINK_LATENCY = 2 99 | PA_SINK_HW_VOLUME_CTRL = 1 100 | PA_SINK_NOFLAGS = 0 101 | PA_STREAM_VARIABLE_RATE = 1024 102 | PA_CHANNEL_POSITION_AUX2 = 14 103 | PA_CHANNEL_POSITION_AUX1 = 13 104 | PA_ENCODING_INVALID = -1 105 | PA_ENCODING_MAX = 6 106 | PA_ENCODING_DTS_IEC61937 = 5 107 | PA_ENCODING_MPEG_IEC61937 = 4 108 | PA_SUBSCRIPTION_MASK_AUTOLOAD = 256 109 | PA_CHANNEL_POSITION_AUX18 = 30 110 | PA_CHANNEL_POSITION_SIDE_RIGHT = 11 111 | PA_CHANNEL_POSITION_MAX = 51 112 | PA_STREAM_FIX_RATE = 128 113 | PA_CHANNEL_POSITION_TOP_REAR_RIGHT = 49 114 | PA_CHANNEL_POSITION_SIDE_LEFT = 10 115 | PA_CHANNEL_POSITION_TOP_FRONT_RIGHT = 46 116 | PA_CHANNEL_POSITION_TOP_CENTER = 44 117 | PA_STREAM_FIX_FORMAT = 64 118 | PA_UPDATE_SET = 0 119 | PA_CHANNEL_POSITION_AUX30 = 42 120 | PA_ERR_TIMEOUT = 8 121 | PA_CHANNEL_POSITION_AUX29 = 41 122 | PA_STREAM_NO_REMIX_CHANNELS = 32 123 | PA_CHANNEL_POSITION_AUX23 = 35 124 | PA_CHANNEL_POSITION_AUX22 = 34 125 | PA_CHANNEL_POSITION_AUX20 = 32 126 | PA_SOURCE_IDLE = 1 127 | PA_SOURCE_UNLINKED = -3 128 | PA_SOURCE_INIT = -2 129 | PA_CHANNEL_POSITION_AUX14 = 26 130 | PA_CHANNEL_POSITION_AUX0 = 12 131 | PA_CHANNEL_POSITION_AUX12 = 24 132 | PA_CHANNEL_POSITION_LFE = 7 133 | PA_SEEK_RELATIVE_END = 3 134 | PA_CHANNEL_POSITION_AUX8 = 20 135 | PA_CHANNEL_POSITION_AUX7 = 19 136 | PA_CONTEXT_SETTING_NAME = 3 137 | PA_CHANNEL_POSITION_AUX4 = 16 138 | PA_CHANNEL_POSITION_AUX3 = 15 139 | PA_STREAM_INTERPOLATE_TIMING = 2 140 | PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER = 8 141 | PA_CHANNEL_POSITION_SUBWOOFER = 7 142 | PA_CHANNEL_POSITION_REAR_CENTER = 4 143 | PA_CHANNEL_POSITION_REAR_RIGHT = 6 144 | PA_CHANNEL_POSITION_REAR_LEFT = 5 145 | PA_CHANNEL_POSITION_CENTER = 3 146 | PA_CHANNEL_POSITION_RIGHT = 2 147 | PA_CHANNEL_POSITION_LEFT = 1 148 | PA_CONTEXT_UNCONNECTED = 0 149 | PA_CHANNEL_POSITION_FRONT_RIGHT = 2 150 | PA_CHANNEL_POSITION_FRONT_LEFT = 1 151 | PA_CHANNEL_POSITION_MONO = 0 152 | PA_CHANNEL_POSITION_INVALID = -1 153 | PA_ERR_KILLED = 12 154 | PA_SUBSCRIPTION_MASK_ALL = 767 155 | PA_ERR_MAX = 27 156 | PA_CHANNEL_POSITION_FRONT_CENTER = 3 157 | PA_ERR_BUSY = 26 158 | PA_SUBSCRIPTION_MASK_SERVER = 128 159 | PA_ERR_FORKED = 24 160 | PA_SUBSCRIPTION_MASK_CLIENT = 32 161 | PA_SUBSCRIPTION_MASK_MODULE = 16 162 | PA_SUBSCRIPTION_MASK_SINK_INPUT = 4 163 | PA_SEEK_RELATIVE_ON_READ = 2 164 | PA_ERR_VERSION = 17 165 | PA_SOURCE_INVALID_STATE = -1 166 | PA_ERR_NODATA = 16 167 | PA_ERR_BADSTATE = 15 168 | PA_ERR_MODINITFAILED = 14 169 | PA_ERR_INVALIDSERVER = 13 170 | PA_CHANNEL_POSITION_AUX25 = 37 171 | PA_ERR_CONNECTIONTERMINATED = 11 172 | PA_ERR_INTERNAL = 10 173 | PA_ERR_AUTHKEY = 9 174 | PA_CHANNEL_POSITION_AUX15 = 27 175 | PA_ENCODING_EAC3_IEC61937 = 3 176 | PA_ERR_PROTOCOL = 7 177 | PA_ERR_CONNECTIONREFUSED = 6 178 | PA_ERR_NOENTITY = 5 179 | PA_ERR_COMMAND = 2 180 | PA_ERR_ACCESS = 1 181 | PA_OK = 0 182 | PA_SUBSCRIPTION_EVENT_REMOVE = 32 183 | PA_SUBSCRIPTION_EVENT_CHANGE = 16 184 | PA_SUBSCRIPTION_EVENT_NEW = 0 185 | PA_SINK_INIT = -2 186 | PA_SUBSCRIPTION_EVENT_FACILITY_MASK = 15 187 | PA_SUBSCRIPTION_EVENT_CARD = 9 188 | PA_SUBSCRIPTION_EVENT_AUTOLOAD = 8 189 | PA_SUBSCRIPTION_EVENT_SERVER = 7 190 | PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER = 9 191 | PA_SUBSCRIPTION_EVENT_CLIENT = 5 192 | PA_SUBSCRIPTION_EVENT_MODULE = 4 193 | PA_ENCODING_AC3_IEC61937 = 2 194 | PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT = 3 195 | PA_SUBSCRIPTION_EVENT_SINK_INPUT = 2 196 | PA_SUBSCRIPTION_EVENT_SOURCE = 1 197 | PA_SUBSCRIPTION_EVENT_SINK = 0 198 | PA_ERR_EXIST = 4 199 | PA_ERR_NOEXTENSION = 21 200 | PA_CONTEXT_READY = 4 201 | PA_DEVICE_TYPE_SOURCE = 1 202 | PA_DEVICE_TYPE_SINK = 0 203 | PA_CHANNEL_POSITION_AUX9 = 21 204 | PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT = 8 205 | PA_ENCODING_PCM = 1 206 | PA_STREAM_TERMINATED = 4 207 | PA_STREAM_FAILED = 3 208 | PA_STREAM_CREATING = 1 209 | PA_ERR_UNKNOWN = 20 210 | PA_STREAM_UNCONNECTED = 0 211 | PA_CHANNEL_MAP_DEFAULT = 0 212 | PA_SAMPLE_MAX = 13 213 | PA_CHANNEL_MAP_OSS = 4 214 | PA_CHANNEL_MAP_WAVEEX = 3 215 | PA_CONTEXT_NOFLAGS = 0 216 | PA_CHANNEL_MAP_AUX = 2 217 | PA_SUBSCRIPTION_MASK_CARD = 512 218 | PA_CHANNEL_POSITION_AUX21 = 33 219 | PA_SAMPLE_S24LE = 9 220 | PA_SAMPLE_S32BE = 8 221 | PA_SAMPLE_FLOAT32LE = 5 222 | PA_STREAM_PASSTHROUGH = 524288 223 | PA_SAMPLE_S16BE = 4 224 | PA_SAMPLE_U8 = 0 225 | PA_ERR_IO = 25 226 | PA_SUBSCRIPTION_MASK_SAMPLE_CACHE = 64 227 | PA_ERR_NOTSUPPORTED = 19 228 | PA_ERR_TOOLARGE = 18 229 | PA_CONTEXT_AUTHORIZING = 2 230 | PA_ERR_NOTIMPLEMENTED = 23 231 | PA_CONTEXT_NOFAIL = 2 232 | PA_ERR_OBSOLETE = 22 233 | PA_STREAM_READY = 2 234 | PA_SAMPLE_INVALID = -1 235 | PA_CHANNEL_POSITION_AUX11 = 23 236 | PA_SUBSCRIPTION_MASK_SOURCE = 2 237 | PA_SINK_SUSPENDED = 2 238 | PA_SUBSCRIPTION_MASK_SINK = 1 239 | PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE = 6 240 | PA_CHANNEL_POSITION_AUX10 = 22 241 | PA_SEEK_RELATIVE = 0 242 | PA_SAMPLE_S16LE = 3 243 | PA_IO_EVENT_NULL = 0 244 | 245 | # values for enumeration 'pa_channel_position' 246 | pa_channel_position = c_int # enum 247 | pa_channel_position_t = pa_channel_position 248 | uint64_t = c_uint64 249 | pa_channel_position_mask_t = uint64_t 250 | 251 | # values for enumeration 'pa_channel_map_def' 252 | pa_channel_map_def = c_int # enum 253 | pa_channel_map_def_t = pa_channel_map_def 254 | class pa_channel_map(Structure): 255 | pass 256 | uint8_t = c_uint8 257 | pa_channel_map._fields_ = [ 258 | ('channels', uint8_t), 259 | ('map', pa_channel_position_t * 32), 260 | ] 261 | pa_channel_map_init = _libraries['libpulse.so.0'].pa_channel_map_init 262 | pa_channel_map_init.restype = POINTER(pa_channel_map) 263 | pa_channel_map_init.argtypes = [POINTER(pa_channel_map)] 264 | pa_channel_map_init_mono = _libraries['libpulse.so.0'].pa_channel_map_init_mono 265 | pa_channel_map_init_mono.restype = POINTER(pa_channel_map) 266 | pa_channel_map_init_mono.argtypes = [POINTER(pa_channel_map)] 267 | pa_channel_map_init_stereo = _libraries['libpulse.so.0'].pa_channel_map_init_stereo 268 | pa_channel_map_init_stereo.restype = POINTER(pa_channel_map) 269 | pa_channel_map_init_stereo.argtypes = [POINTER(pa_channel_map)] 270 | pa_channel_map_init_auto = _libraries['libpulse.so.0'].pa_channel_map_init_auto 271 | pa_channel_map_init_auto.restype = POINTER(pa_channel_map) 272 | pa_channel_map_init_auto.argtypes = [POINTER(pa_channel_map), c_uint, pa_channel_map_def_t] 273 | pa_channel_map_init_extend = _libraries['libpulse.so.0'].pa_channel_map_init_extend 274 | pa_channel_map_init_extend.restype = POINTER(pa_channel_map) 275 | pa_channel_map_init_extend.argtypes = [POINTER(pa_channel_map), c_uint, pa_channel_map_def_t] 276 | pa_channel_position_to_string = _libraries['libpulse.so.0'].pa_channel_position_to_string 277 | pa_channel_position_to_string.restype = STRING 278 | pa_channel_position_to_string.argtypes = [pa_channel_position_t] 279 | pa_channel_position_from_string = _libraries['libpulse.so.0'].pa_channel_position_from_string 280 | pa_channel_position_from_string.restype = pa_channel_position_t 281 | pa_channel_position_from_string.argtypes = [STRING] 282 | pa_channel_position_to_pretty_string = _libraries['libpulse.so.0'].pa_channel_position_to_pretty_string 283 | pa_channel_position_to_pretty_string.restype = STRING 284 | pa_channel_position_to_pretty_string.argtypes = [pa_channel_position_t] 285 | size_t = c_ulong 286 | pa_channel_map_snprint = _libraries['libpulse.so.0'].pa_channel_map_snprint 287 | pa_channel_map_snprint.restype = STRING 288 | pa_channel_map_snprint.argtypes = [STRING, size_t, POINTER(pa_channel_map)] 289 | pa_channel_map_parse = _libraries['libpulse.so.0'].pa_channel_map_parse 290 | pa_channel_map_parse.restype = POINTER(pa_channel_map) 291 | pa_channel_map_parse.argtypes = [POINTER(pa_channel_map), STRING] 292 | pa_channel_map_equal = _libraries['libpulse.so.0'].pa_channel_map_equal 293 | pa_channel_map_equal.restype = c_int 294 | pa_channel_map_equal.argtypes = [POINTER(pa_channel_map), POINTER(pa_channel_map)] 295 | pa_channel_map_valid = _libraries['libpulse.so.0'].pa_channel_map_valid 296 | pa_channel_map_valid.restype = c_int 297 | pa_channel_map_valid.argtypes = [POINTER(pa_channel_map)] 298 | class pa_sample_spec(Structure): 299 | pass 300 | pa_channel_map_compatible = _libraries['libpulse.so.0'].pa_channel_map_compatible 301 | pa_channel_map_compatible.restype = c_int 302 | pa_channel_map_compatible.argtypes = [POINTER(pa_channel_map), POINTER(pa_sample_spec)] 303 | pa_channel_map_superset = _libraries['libpulse.so.0'].pa_channel_map_superset 304 | pa_channel_map_superset.restype = c_int 305 | pa_channel_map_superset.argtypes = [POINTER(pa_channel_map), POINTER(pa_channel_map)] 306 | pa_channel_map_can_balance = _libraries['libpulse.so.0'].pa_channel_map_can_balance 307 | pa_channel_map_can_balance.restype = c_int 308 | pa_channel_map_can_balance.argtypes = [POINTER(pa_channel_map)] 309 | pa_channel_map_can_fade = _libraries['libpulse.so.0'].pa_channel_map_can_fade 310 | pa_channel_map_can_fade.restype = c_int 311 | pa_channel_map_can_fade.argtypes = [POINTER(pa_channel_map)] 312 | pa_channel_map_to_name = _libraries['libpulse.so.0'].pa_channel_map_to_name 313 | pa_channel_map_to_name.restype = STRING 314 | pa_channel_map_to_name.argtypes = [POINTER(pa_channel_map)] 315 | pa_channel_map_to_pretty_name = _libraries['libpulse.so.0'].pa_channel_map_to_pretty_name 316 | pa_channel_map_to_pretty_name.restype = STRING 317 | pa_channel_map_to_pretty_name.argtypes = [POINTER(pa_channel_map)] 318 | pa_channel_map_has_position = _libraries['libpulse.so.0'].pa_channel_map_has_position 319 | pa_channel_map_has_position.restype = c_int 320 | pa_channel_map_has_position.argtypes = [POINTER(pa_channel_map), pa_channel_position_t] 321 | pa_channel_map_mask = _libraries['libpulse.so.0'].pa_channel_map_mask 322 | pa_channel_map_mask.restype = pa_channel_position_mask_t 323 | pa_channel_map_mask.argtypes = [POINTER(pa_channel_map)] 324 | class pa_context(Structure): 325 | pass 326 | pa_context._fields_ = [ 327 | ] 328 | pa_context_notify_cb_t = CFUNCTYPE(None, POINTER(pa_context), c_void_p) 329 | pa_context_success_cb_t = CFUNCTYPE(None, POINTER(pa_context), c_int, c_void_p) 330 | class pa_proplist(Structure): 331 | pass 332 | pa_context_event_cb_t = CFUNCTYPE(None, POINTER(pa_context), STRING, POINTER(pa_proplist), c_void_p) 333 | class pa_mainloop_api(Structure): 334 | pass 335 | pa_context_new = _libraries['libpulse.so.0'].pa_context_new 336 | pa_context_new.restype = POINTER(pa_context) 337 | pa_context_new.argtypes = [POINTER(pa_mainloop_api), STRING] 338 | pa_context_new_with_proplist = _libraries['libpulse.so.0'].pa_context_new_with_proplist 339 | pa_context_new_with_proplist.restype = POINTER(pa_context) 340 | pa_context_new_with_proplist.argtypes = [POINTER(pa_mainloop_api), STRING, POINTER(pa_proplist)] 341 | pa_context_unref = _libraries['libpulse.so.0'].pa_context_unref 342 | pa_context_unref.restype = None 343 | pa_context_unref.argtypes = [POINTER(pa_context)] 344 | pa_context_ref = _libraries['libpulse.so.0'].pa_context_ref 345 | pa_context_ref.restype = POINTER(pa_context) 346 | pa_context_ref.argtypes = [POINTER(pa_context)] 347 | pa_context_set_state_callback = _libraries['libpulse.so.0'].pa_context_set_state_callback 348 | pa_context_set_state_callback.restype = None 349 | pa_context_set_state_callback.argtypes = [POINTER(pa_context), pa_context_notify_cb_t, c_void_p] 350 | pa_context_set_event_callback = _libraries['libpulse.so.0'].pa_context_set_event_callback 351 | pa_context_set_event_callback.restype = None 352 | pa_context_set_event_callback.argtypes = [POINTER(pa_context), pa_context_event_cb_t, c_void_p] 353 | pa_context_errno = _libraries['libpulse.so.0'].pa_context_errno 354 | pa_context_errno.restype = c_int 355 | pa_context_errno.argtypes = [POINTER(pa_context)] 356 | pa_context_is_pending = _libraries['libpulse.so.0'].pa_context_is_pending 357 | pa_context_is_pending.restype = c_int 358 | pa_context_is_pending.argtypes = [POINTER(pa_context)] 359 | 360 | # values for enumeration 'pa_context_state' 361 | pa_context_state = c_int # enum 362 | pa_context_state_t = pa_context_state 363 | pa_context_get_state = _libraries['libpulse.so.0'].pa_context_get_state 364 | pa_context_get_state.restype = pa_context_state_t 365 | pa_context_get_state.argtypes = [POINTER(pa_context)] 366 | 367 | # values for enumeration 'pa_context_flags' 368 | pa_context_flags = c_int # enum 369 | pa_context_flags_t = pa_context_flags 370 | class pa_spawn_api(Structure): 371 | pass 372 | pa_context_connect = _libraries['libpulse.so.0'].pa_context_connect 373 | pa_context_connect.restype = c_int 374 | pa_context_connect.argtypes = [POINTER(pa_context), STRING, pa_context_flags_t, POINTER(pa_spawn_api)] 375 | pa_context_disconnect = _libraries['libpulse.so.0'].pa_context_disconnect 376 | pa_context_disconnect.restype = None 377 | pa_context_disconnect.argtypes = [POINTER(pa_context)] 378 | class pa_operation(Structure): 379 | pass 380 | pa_context_drain = _libraries['libpulse.so.0'].pa_context_drain 381 | pa_context_drain.restype = POINTER(pa_operation) 382 | pa_context_drain.argtypes = [POINTER(pa_context), pa_context_notify_cb_t, c_void_p] 383 | pa_context_exit_daemon = _libraries['libpulse.so.0'].pa_context_exit_daemon 384 | pa_context_exit_daemon.restype = POINTER(pa_operation) 385 | pa_context_exit_daemon.argtypes = [POINTER(pa_context), pa_context_success_cb_t, c_void_p] 386 | pa_context_set_default_sink = _libraries['libpulse.so.0'].pa_context_set_default_sink 387 | pa_context_set_default_sink.restype = POINTER(pa_operation) 388 | pa_context_set_default_sink.argtypes = [POINTER(pa_context), STRING, pa_context_success_cb_t, c_void_p] 389 | pa_context_set_default_source = _libraries['libpulse.so.0'].pa_context_set_default_source 390 | pa_context_set_default_source.restype = POINTER(pa_operation) 391 | pa_context_set_default_source.argtypes = [POINTER(pa_context), STRING, pa_context_success_cb_t, c_void_p] 392 | pa_context_is_local = _libraries['libpulse.so.0'].pa_context_is_local 393 | pa_context_is_local.restype = c_int 394 | pa_context_is_local.argtypes = [POINTER(pa_context)] 395 | pa_context_set_name = _libraries['libpulse.so.0'].pa_context_set_name 396 | pa_context_set_name.restype = POINTER(pa_operation) 397 | pa_context_set_name.argtypes = [POINTER(pa_context), STRING, pa_context_success_cb_t, c_void_p] 398 | pa_context_get_server = _libraries['libpulse.so.0'].pa_context_get_server 399 | pa_context_get_server.restype = STRING 400 | pa_context_get_server.argtypes = [POINTER(pa_context)] 401 | uint32_t = c_uint32 402 | pa_context_get_protocol_version = _libraries['libpulse.so.0'].pa_context_get_protocol_version 403 | pa_context_get_protocol_version.restype = uint32_t 404 | pa_context_get_protocol_version.argtypes = [POINTER(pa_context)] 405 | pa_context_get_server_protocol_version = _libraries['libpulse.so.0'].pa_context_get_server_protocol_version 406 | pa_context_get_server_protocol_version.restype = uint32_t 407 | pa_context_get_server_protocol_version.argtypes = [POINTER(pa_context)] 408 | 409 | # values for enumeration 'pa_update_mode' 410 | pa_update_mode = c_int # enum 411 | pa_update_mode_t = pa_update_mode 412 | pa_context_proplist_update = _libraries['libpulse.so.0'].pa_context_proplist_update 413 | pa_context_proplist_update.restype = POINTER(pa_operation) 414 | pa_context_proplist_update.argtypes = [POINTER(pa_context), pa_update_mode_t, POINTER(pa_proplist), pa_context_success_cb_t, c_void_p] 415 | pa_context_proplist_remove = _libraries['libpulse.so.0'].pa_context_proplist_remove 416 | pa_context_proplist_remove.restype = POINTER(pa_operation) 417 | pa_context_proplist_remove.argtypes = [POINTER(pa_context), POINTER(STRING), pa_context_success_cb_t, c_void_p] 418 | pa_context_get_index = _libraries['libpulse.so.0'].pa_context_get_index 419 | pa_context_get_index.restype = uint32_t 420 | pa_context_get_index.argtypes = [POINTER(pa_context)] 421 | class pa_time_event(Structure): 422 | pass 423 | pa_usec_t = uint64_t 424 | class timeval(Structure): 425 | pass 426 | __time_t = c_long 427 | __suseconds_t = c_long 428 | timeval._fields_ = [ 429 | ('tv_sec', __time_t), 430 | ('tv_usec', __suseconds_t), 431 | ] 432 | pa_time_event_cb_t = CFUNCTYPE(None, POINTER(pa_mainloop_api), POINTER(pa_time_event), POINTER(timeval), c_void_p) 433 | pa_context_rttime_new = _libraries['libpulse.so.0'].pa_context_rttime_new 434 | pa_context_rttime_new.restype = POINTER(pa_time_event) 435 | pa_context_rttime_new.argtypes = [POINTER(pa_context), pa_usec_t, pa_time_event_cb_t, c_void_p] 436 | pa_context_rttime_restart = _libraries['libpulse.so.0'].pa_context_rttime_restart 437 | pa_context_rttime_restart.restype = None 438 | pa_context_rttime_restart.argtypes = [POINTER(pa_context), POINTER(pa_time_event), pa_usec_t] 439 | pa_context_get_tile_size = _libraries['libpulse.so.0'].pa_context_get_tile_size 440 | pa_context_get_tile_size.restype = size_t 441 | pa_context_get_tile_size.argtypes = [POINTER(pa_context), POINTER(pa_sample_spec)] 442 | 443 | # values for enumeration 'pa_stream_state' 444 | pa_stream_state = c_int # enum 445 | pa_stream_state_t = pa_stream_state 446 | 447 | # values for enumeration 'pa_operation_state' 448 | pa_operation_state = c_int # enum 449 | pa_operation_state_t = pa_operation_state 450 | 451 | # values for enumeration 'pa_device_type' 452 | pa_device_type = c_int # enum 453 | pa_device_type_t = pa_device_type 454 | 455 | # values for enumeration 'pa_stream_direction' 456 | pa_stream_direction = c_int # enum 457 | pa_stream_direction_t = pa_stream_direction 458 | 459 | # values for enumeration 'pa_stream_flags' 460 | pa_stream_flags = c_int # enum 461 | pa_stream_flags_t = pa_stream_flags 462 | class pa_buffer_attr(Structure): 463 | pass 464 | pa_buffer_attr._fields_ = [ 465 | ('maxlength', uint32_t), 466 | ('tlength', uint32_t), 467 | ('prebuf', uint32_t), 468 | ('minreq', uint32_t), 469 | ('fragsize', uint32_t), 470 | ] 471 | 472 | # values for enumeration 'pa_subscription_mask' 473 | pa_subscription_mask = c_int # enum 474 | pa_subscription_mask_t = pa_subscription_mask 475 | 476 | # values for enumeration 'pa_subscription_event_type' 477 | pa_subscription_event_type = c_int # enum 478 | pa_subscription_event_type_t = pa_subscription_event_type 479 | class pa_timing_info(Structure): 480 | pass 481 | int64_t = c_int64 482 | pa_timing_info._fields_ = [ 483 | ('timestamp', timeval), 484 | ('synchronized_clocks', c_int), 485 | ('sink_usec', pa_usec_t), 486 | ('source_usec', pa_usec_t), 487 | ('transport_usec', pa_usec_t), 488 | ('playing', c_int), 489 | ('write_index_corrupt', c_int), 490 | ('write_index', int64_t), 491 | ('read_index_corrupt', c_int), 492 | ('read_index', int64_t), 493 | ('configured_sink_usec', pa_usec_t), 494 | ('configured_source_usec', pa_usec_t), 495 | ('since_underrun', int64_t), 496 | ] 497 | pa_spawn_api._fields_ = [ 498 | ('prefork', CFUNCTYPE(None)), 499 | ('postfork', CFUNCTYPE(None)), 500 | ('atfork', CFUNCTYPE(None)), 501 | ] 502 | 503 | # values for enumeration 'pa_seek_mode' 504 | pa_seek_mode = c_int # enum 505 | pa_seek_mode_t = pa_seek_mode 506 | 507 | # values for enumeration 'pa_sink_flags' 508 | pa_sink_flags = c_int # enum 509 | pa_sink_flags_t = pa_sink_flags 510 | 511 | # values for enumeration 'pa_sink_state' 512 | pa_sink_state = c_int # enum 513 | pa_sink_state_t = pa_sink_state 514 | 515 | # values for enumeration 'pa_source_flags' 516 | pa_source_flags = c_int # enum 517 | pa_source_flags_t = pa_source_flags 518 | 519 | # values for enumeration 'pa_source_state' 520 | pa_source_state = c_int # enum 521 | pa_source_state_t = pa_source_state 522 | pa_free_cb_t = CFUNCTYPE(None, c_void_p) 523 | pa_strerror = _libraries['libpulse.so.0'].pa_strerror 524 | pa_strerror.restype = STRING 525 | pa_strerror.argtypes = [c_int] 526 | 527 | # values for enumeration 'pa_encoding' 528 | pa_encoding = c_int # enum 529 | pa_encoding_t = pa_encoding 530 | pa_encoding_to_string = _libraries['libpulse.so.0'].pa_encoding_to_string 531 | pa_encoding_to_string.restype = STRING 532 | pa_encoding_to_string.argtypes = [pa_encoding_t] 533 | class pa_format_info(Structure): 534 | pass 535 | pa_format_info._fields_ = [ 536 | ('encoding', pa_encoding_t), 537 | ('plist', POINTER(pa_proplist)), 538 | ] 539 | pa_format_info_new = _libraries['libpulse.so.0'].pa_format_info_new 540 | pa_format_info_new.restype = POINTER(pa_format_info) 541 | pa_format_info_new.argtypes = [] 542 | pa_format_info_copy = _libraries['libpulse.so.0'].pa_format_info_copy 543 | pa_format_info_copy.restype = POINTER(pa_format_info) 544 | pa_format_info_copy.argtypes = [POINTER(pa_format_info)] 545 | pa_format_info_free = _libraries['libpulse.so.0'].pa_format_info_free 546 | pa_format_info_free.restype = None 547 | pa_format_info_free.argtypes = [POINTER(pa_format_info)] 548 | pa_format_info_valid = _libraries['libpulse.so.0'].pa_format_info_valid 549 | pa_format_info_valid.restype = c_int 550 | pa_format_info_valid.argtypes = [POINTER(pa_format_info)] 551 | pa_format_info_is_pcm = _libraries['libpulse.so.0'].pa_format_info_is_pcm 552 | pa_format_info_is_pcm.restype = c_int 553 | pa_format_info_is_pcm.argtypes = [POINTER(pa_format_info)] 554 | pa_format_info_is_compatible = _libraries['libpulse.so.0'].pa_format_info_is_compatible 555 | pa_format_info_is_compatible.restype = c_int 556 | pa_format_info_is_compatible.argtypes = [POINTER(pa_format_info), POINTER(pa_format_info)] 557 | pa_format_info_snprint = _libraries['libpulse.so.0'].pa_format_info_snprint 558 | pa_format_info_snprint.restype = STRING 559 | pa_format_info_snprint.argtypes = [STRING, size_t, POINTER(pa_format_info)] 560 | pa_format_info_from_string = _libraries['libpulse.so.0'].pa_format_info_from_string 561 | pa_format_info_from_string.restype = POINTER(pa_format_info) 562 | pa_format_info_from_string.argtypes = [STRING] 563 | pa_format_info_set_prop_int = _libraries['libpulse.so.0'].pa_format_info_set_prop_int 564 | pa_format_info_set_prop_int.restype = None 565 | pa_format_info_set_prop_int.argtypes = [POINTER(pa_format_info), STRING, c_int] 566 | pa_format_info_set_prop_int_array = _libraries['libpulse.so.0'].pa_format_info_set_prop_int_array 567 | pa_format_info_set_prop_int_array.restype = None 568 | pa_format_info_set_prop_int_array.argtypes = [POINTER(pa_format_info), STRING, POINTER(c_int), c_int] 569 | pa_format_info_set_prop_int_range = _libraries['libpulse.so.0'].pa_format_info_set_prop_int_range 570 | pa_format_info_set_prop_int_range.restype = None 571 | pa_format_info_set_prop_int_range.argtypes = [POINTER(pa_format_info), STRING, c_int, c_int] 572 | pa_format_info_set_prop_string = _libraries['libpulse.so.0'].pa_format_info_set_prop_string 573 | pa_format_info_set_prop_string.restype = None 574 | pa_format_info_set_prop_string.argtypes = [POINTER(pa_format_info), STRING, STRING] 575 | pa_format_info_set_prop_string_array = _libraries['libpulse.so.0'].pa_format_info_set_prop_string_array 576 | pa_format_info_set_prop_string_array.restype = None 577 | pa_format_info_set_prop_string_array.argtypes = [POINTER(pa_format_info), STRING, POINTER(STRING), c_int] 578 | 579 | # values for enumeration 'pa_sample_format' 580 | pa_sample_format = c_int # enum 581 | pa_sample_format_t = pa_sample_format 582 | pa_format_info_set_sample_format = _libraries['libpulse.so.0'].pa_format_info_set_sample_format 583 | pa_format_info_set_sample_format.restype = None 584 | pa_format_info_set_sample_format.argtypes = [POINTER(pa_format_info), pa_sample_format_t] 585 | pa_format_info_set_rate = _libraries['libpulse.so.0'].pa_format_info_set_rate 586 | pa_format_info_set_rate.restype = None 587 | pa_format_info_set_rate.argtypes = [POINTER(pa_format_info), c_int] 588 | pa_format_info_set_channels = _libraries['libpulse.so.0'].pa_format_info_set_channels 589 | pa_format_info_set_channels.restype = None 590 | pa_format_info_set_channels.argtypes = [POINTER(pa_format_info), c_int] 591 | pa_format_info_set_channel_map = _libraries['libpulse.so.0'].pa_format_info_set_channel_map 592 | pa_format_info_set_channel_map.restype = None 593 | pa_format_info_set_channel_map.argtypes = [POINTER(pa_format_info), POINTER(pa_channel_map)] 594 | class pa_sink_port_info(Structure): 595 | pass 596 | pa_sink_port_info._fields_ = [ 597 | ('name', STRING), 598 | ('description', STRING), 599 | ('priority', uint32_t), 600 | ] 601 | class pa_sink_info(Structure): 602 | pass 603 | pa_sample_spec._fields_ = [ 604 | ('format', pa_sample_format_t), 605 | ('rate', uint32_t), 606 | ('channels', uint8_t), 607 | ] 608 | class pa_cvolume(Structure): 609 | pass 610 | pa_volume_t = uint32_t 611 | pa_cvolume._fields_ = [ 612 | ('channels', uint8_t), 613 | ('values', pa_volume_t * 32), 614 | ] 615 | pa_sink_info._fields_ = [ 616 | ('name', STRING), 617 | ('index', uint32_t), 618 | ('description', STRING), 619 | ('sample_spec', pa_sample_spec), 620 | ('channel_map', pa_channel_map), 621 | ('owner_module', uint32_t), 622 | ('volume', pa_cvolume), 623 | ('mute', c_int), 624 | ('monitor_source', uint32_t), 625 | ('monitor_source_name', STRING), 626 | ('latency', pa_usec_t), 627 | ('driver', STRING), 628 | ('flags', pa_sink_flags_t), 629 | ('proplist', POINTER(pa_proplist)), 630 | ('configured_latency', pa_usec_t), 631 | ('base_volume', pa_volume_t), 632 | ('state', pa_sink_state_t), 633 | ('n_volume_steps', uint32_t), 634 | ('card', uint32_t), 635 | ('n_ports', uint32_t), 636 | ('ports', POINTER(POINTER(pa_sink_port_info))), 637 | ('active_port', POINTER(pa_sink_port_info)), 638 | ('n_formats', uint8_t), 639 | ('formats', POINTER(POINTER(pa_format_info))), 640 | ] 641 | pa_sink_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_sink_info), c_int, c_void_p) 642 | pa_context_get_sink_info_by_name = _libraries['libpulse.so.0'].pa_context_get_sink_info_by_name 643 | pa_context_get_sink_info_by_name.restype = POINTER(pa_operation) 644 | pa_context_get_sink_info_by_name.argtypes = [POINTER(pa_context), STRING, pa_sink_info_cb_t, c_void_p] 645 | pa_context_get_sink_info_by_index = _libraries['libpulse.so.0'].pa_context_get_sink_info_by_index 646 | pa_context_get_sink_info_by_index.restype = POINTER(pa_operation) 647 | pa_context_get_sink_info_by_index.argtypes = [POINTER(pa_context), uint32_t, pa_sink_info_cb_t, c_void_p] 648 | pa_context_get_sink_info_list = _libraries['libpulse.so.0'].pa_context_get_sink_info_list 649 | pa_context_get_sink_info_list.restype = POINTER(pa_operation) 650 | pa_context_get_sink_info_list.argtypes = [POINTER(pa_context), pa_sink_info_cb_t, c_void_p] 651 | pa_context_set_sink_volume_by_index = _libraries['libpulse.so.0'].pa_context_set_sink_volume_by_index 652 | pa_context_set_sink_volume_by_index.restype = POINTER(pa_operation) 653 | pa_context_set_sink_volume_by_index.argtypes = [POINTER(pa_context), uint32_t, POINTER(pa_cvolume), pa_context_success_cb_t, c_void_p] 654 | pa_context_set_sink_volume_by_name = _libraries['libpulse.so.0'].pa_context_set_sink_volume_by_name 655 | pa_context_set_sink_volume_by_name.restype = POINTER(pa_operation) 656 | pa_context_set_sink_volume_by_name.argtypes = [POINTER(pa_context), STRING, POINTER(pa_cvolume), pa_context_success_cb_t, c_void_p] 657 | pa_context_set_sink_mute_by_index = _libraries['libpulse.so.0'].pa_context_set_sink_mute_by_index 658 | pa_context_set_sink_mute_by_index.restype = POINTER(pa_operation) 659 | pa_context_set_sink_mute_by_index.argtypes = [POINTER(pa_context), uint32_t, c_int, pa_context_success_cb_t, c_void_p] 660 | pa_context_set_sink_mute_by_name = _libraries['libpulse.so.0'].pa_context_set_sink_mute_by_name 661 | pa_context_set_sink_mute_by_name.restype = POINTER(pa_operation) 662 | pa_context_set_sink_mute_by_name.argtypes = [POINTER(pa_context), STRING, c_int, pa_context_success_cb_t, c_void_p] 663 | pa_context_suspend_sink_by_name = _libraries['libpulse.so.0'].pa_context_suspend_sink_by_name 664 | pa_context_suspend_sink_by_name.restype = POINTER(pa_operation) 665 | pa_context_suspend_sink_by_name.argtypes = [POINTER(pa_context), STRING, c_int, pa_context_success_cb_t, c_void_p] 666 | pa_context_suspend_sink_by_index = _libraries['libpulse.so.0'].pa_context_suspend_sink_by_index 667 | pa_context_suspend_sink_by_index.restype = POINTER(pa_operation) 668 | pa_context_suspend_sink_by_index.argtypes = [POINTER(pa_context), uint32_t, c_int, pa_context_success_cb_t, c_void_p] 669 | pa_context_set_sink_port_by_index = _libraries['libpulse.so.0'].pa_context_set_sink_port_by_index 670 | pa_context_set_sink_port_by_index.restype = POINTER(pa_operation) 671 | pa_context_set_sink_port_by_index.argtypes = [POINTER(pa_context), uint32_t, STRING, pa_context_success_cb_t, c_void_p] 672 | pa_context_set_sink_port_by_name = _libraries['libpulse.so.0'].pa_context_set_sink_port_by_name 673 | pa_context_set_sink_port_by_name.restype = POINTER(pa_operation) 674 | pa_context_set_sink_port_by_name.argtypes = [POINTER(pa_context), STRING, STRING, pa_context_success_cb_t, c_void_p] 675 | class pa_source_port_info(Structure): 676 | pass 677 | pa_source_port_info._fields_ = [ 678 | ('name', STRING), 679 | ('description', STRING), 680 | ('priority', uint32_t), 681 | ] 682 | class pa_source_info(Structure): 683 | pass 684 | pa_source_info._fields_ = [ 685 | ('name', STRING), 686 | ('index', uint32_t), 687 | ('description', STRING), 688 | ('sample_spec', pa_sample_spec), 689 | ('channel_map', pa_channel_map), 690 | ('owner_module', uint32_t), 691 | ('volume', pa_cvolume), 692 | ('mute', c_int), 693 | ('monitor_of_sink', uint32_t), 694 | ('monitor_of_sink_name', STRING), 695 | ('latency', pa_usec_t), 696 | ('driver', STRING), 697 | ('flags', pa_source_flags_t), 698 | ('proplist', POINTER(pa_proplist)), 699 | ('configured_latency', pa_usec_t), 700 | ('base_volume', pa_volume_t), 701 | ('state', pa_source_state_t), 702 | ('n_volume_steps', uint32_t), 703 | ('card', uint32_t), 704 | ('n_ports', uint32_t), 705 | ('ports', POINTER(POINTER(pa_source_port_info))), 706 | ('active_port', POINTER(pa_source_port_info)), 707 | ('n_formats', uint8_t), 708 | ('formats', POINTER(POINTER(pa_format_info))), 709 | ] 710 | pa_source_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_source_info), c_int, c_void_p) 711 | pa_context_get_source_info_by_name = _libraries['libpulse.so.0'].pa_context_get_source_info_by_name 712 | pa_context_get_source_info_by_name.restype = POINTER(pa_operation) 713 | pa_context_get_source_info_by_name.argtypes = [POINTER(pa_context), STRING, pa_source_info_cb_t, c_void_p] 714 | pa_context_get_source_info_by_index = _libraries['libpulse.so.0'].pa_context_get_source_info_by_index 715 | pa_context_get_source_info_by_index.restype = POINTER(pa_operation) 716 | pa_context_get_source_info_by_index.argtypes = [POINTER(pa_context), uint32_t, pa_source_info_cb_t, c_void_p] 717 | pa_context_get_source_info_list = _libraries['libpulse.so.0'].pa_context_get_source_info_list 718 | pa_context_get_source_info_list.restype = POINTER(pa_operation) 719 | pa_context_get_source_info_list.argtypes = [POINTER(pa_context), pa_source_info_cb_t, c_void_p] 720 | pa_context_set_source_volume_by_index = _libraries['libpulse.so.0'].pa_context_set_source_volume_by_index 721 | pa_context_set_source_volume_by_index.restype = POINTER(pa_operation) 722 | pa_context_set_source_volume_by_index.argtypes = [POINTER(pa_context), uint32_t, POINTER(pa_cvolume), pa_context_success_cb_t, c_void_p] 723 | pa_context_set_source_volume_by_name = _libraries['libpulse.so.0'].pa_context_set_source_volume_by_name 724 | pa_context_set_source_volume_by_name.restype = POINTER(pa_operation) 725 | pa_context_set_source_volume_by_name.argtypes = [POINTER(pa_context), STRING, POINTER(pa_cvolume), pa_context_success_cb_t, c_void_p] 726 | pa_context_set_source_mute_by_index = _libraries['libpulse.so.0'].pa_context_set_source_mute_by_index 727 | pa_context_set_source_mute_by_index.restype = POINTER(pa_operation) 728 | pa_context_set_source_mute_by_index.argtypes = [POINTER(pa_context), uint32_t, c_int, pa_context_success_cb_t, c_void_p] 729 | pa_context_set_source_mute_by_name = _libraries['libpulse.so.0'].pa_context_set_source_mute_by_name 730 | pa_context_set_source_mute_by_name.restype = POINTER(pa_operation) 731 | pa_context_set_source_mute_by_name.argtypes = [POINTER(pa_context), STRING, c_int, pa_context_success_cb_t, c_void_p] 732 | pa_context_suspend_source_by_name = _libraries['libpulse.so.0'].pa_context_suspend_source_by_name 733 | pa_context_suspend_source_by_name.restype = POINTER(pa_operation) 734 | pa_context_suspend_source_by_name.argtypes = [POINTER(pa_context), STRING, c_int, pa_context_success_cb_t, c_void_p] 735 | pa_context_suspend_source_by_index = _libraries['libpulse.so.0'].pa_context_suspend_source_by_index 736 | pa_context_suspend_source_by_index.restype = POINTER(pa_operation) 737 | pa_context_suspend_source_by_index.argtypes = [POINTER(pa_context), uint32_t, c_int, pa_context_success_cb_t, c_void_p] 738 | pa_context_set_source_port_by_index = _libraries['libpulse.so.0'].pa_context_set_source_port_by_index 739 | pa_context_set_source_port_by_index.restype = POINTER(pa_operation) 740 | pa_context_set_source_port_by_index.argtypes = [POINTER(pa_context), uint32_t, STRING, pa_context_success_cb_t, c_void_p] 741 | pa_context_set_source_port_by_name = _libraries['libpulse.so.0'].pa_context_set_source_port_by_name 742 | pa_context_set_source_port_by_name.restype = POINTER(pa_operation) 743 | pa_context_set_source_port_by_name.argtypes = [POINTER(pa_context), STRING, STRING, pa_context_success_cb_t, c_void_p] 744 | class pa_server_info(Structure): 745 | pass 746 | pa_server_info._fields_ = [ 747 | ('user_name', STRING), 748 | ('host_name', STRING), 749 | ('server_version', STRING), 750 | ('server_name', STRING), 751 | ('sample_spec', pa_sample_spec), 752 | ('default_sink_name', STRING), 753 | ('default_source_name', STRING), 754 | ('cookie', uint32_t), 755 | ('channel_map', pa_channel_map), 756 | ] 757 | pa_server_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_server_info), c_void_p) 758 | pa_context_get_server_info = _libraries['libpulse.so.0'].pa_context_get_server_info 759 | pa_context_get_server_info.restype = POINTER(pa_operation) 760 | pa_context_get_server_info.argtypes = [POINTER(pa_context), pa_server_info_cb_t, c_void_p] 761 | class pa_module_info(Structure): 762 | pass 763 | pa_module_info._fields_ = [ 764 | ('index', uint32_t), 765 | ('name', STRING), 766 | ('argument', STRING), 767 | ('n_used', uint32_t), 768 | ('auto_unload', c_int), 769 | ('proplist', POINTER(pa_proplist)), 770 | ] 771 | pa_module_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_module_info), c_int, c_void_p) 772 | pa_context_get_module_info = _libraries['libpulse.so.0'].pa_context_get_module_info 773 | pa_context_get_module_info.restype = POINTER(pa_operation) 774 | pa_context_get_module_info.argtypes = [POINTER(pa_context), uint32_t, pa_module_info_cb_t, c_void_p] 775 | pa_context_get_module_info_list = _libraries['libpulse.so.0'].pa_context_get_module_info_list 776 | pa_context_get_module_info_list.restype = POINTER(pa_operation) 777 | pa_context_get_module_info_list.argtypes = [POINTER(pa_context), pa_module_info_cb_t, c_void_p] 778 | pa_context_index_cb_t = CFUNCTYPE(None, POINTER(pa_context), uint32_t, c_void_p) 779 | pa_context_load_module = _libraries['libpulse.so.0'].pa_context_load_module 780 | pa_context_load_module.restype = POINTER(pa_operation) 781 | pa_context_load_module.argtypes = [POINTER(pa_context), STRING, STRING, pa_context_index_cb_t, c_void_p] 782 | pa_context_unload_module = _libraries['libpulse.so.0'].pa_context_unload_module 783 | pa_context_unload_module.restype = POINTER(pa_operation) 784 | pa_context_unload_module.argtypes = [POINTER(pa_context), uint32_t, pa_context_success_cb_t, c_void_p] 785 | class pa_client_info(Structure): 786 | pass 787 | pa_client_info._fields_ = [ 788 | ('index', uint32_t), 789 | ('name', STRING), 790 | ('owner_module', uint32_t), 791 | ('driver', STRING), 792 | ('proplist', POINTER(pa_proplist)), 793 | ] 794 | pa_client_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_client_info), c_int, c_void_p) 795 | pa_context_get_client_info = _libraries['libpulse.so.0'].pa_context_get_client_info 796 | pa_context_get_client_info.restype = POINTER(pa_operation) 797 | pa_context_get_client_info.argtypes = [POINTER(pa_context), uint32_t, pa_client_info_cb_t, c_void_p] 798 | pa_context_get_client_info_list = _libraries['libpulse.so.0'].pa_context_get_client_info_list 799 | pa_context_get_client_info_list.restype = POINTER(pa_operation) 800 | pa_context_get_client_info_list.argtypes = [POINTER(pa_context), pa_client_info_cb_t, c_void_p] 801 | pa_context_kill_client = _libraries['libpulse.so.0'].pa_context_kill_client 802 | pa_context_kill_client.restype = POINTER(pa_operation) 803 | pa_context_kill_client.argtypes = [POINTER(pa_context), uint32_t, pa_context_success_cb_t, c_void_p] 804 | class pa_card_profile_info(Structure): 805 | pass 806 | pa_card_profile_info._fields_ = [ 807 | ('name', STRING), 808 | ('description', STRING), 809 | ('n_sinks', uint32_t), 810 | ('n_sources', uint32_t), 811 | ('priority', uint32_t), 812 | ] 813 | class pa_card_info(Structure): 814 | pass 815 | pa_card_info._fields_ = [ 816 | ('index', uint32_t), 817 | ('name', STRING), 818 | ('owner_module', uint32_t), 819 | ('driver', STRING), 820 | ('n_profiles', uint32_t), 821 | ('profiles', POINTER(pa_card_profile_info)), 822 | ('active_profile', POINTER(pa_card_profile_info)), 823 | ('proplist', POINTER(pa_proplist)), 824 | ] 825 | pa_card_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_card_info), c_int, c_void_p) 826 | pa_context_get_card_info_by_index = _libraries['libpulse.so.0'].pa_context_get_card_info_by_index 827 | pa_context_get_card_info_by_index.restype = POINTER(pa_operation) 828 | pa_context_get_card_info_by_index.argtypes = [POINTER(pa_context), uint32_t, pa_card_info_cb_t, c_void_p] 829 | pa_context_get_card_info_by_name = _libraries['libpulse.so.0'].pa_context_get_card_info_by_name 830 | pa_context_get_card_info_by_name.restype = POINTER(pa_operation) 831 | pa_context_get_card_info_by_name.argtypes = [POINTER(pa_context), STRING, pa_card_info_cb_t, c_void_p] 832 | pa_context_get_card_info_list = _libraries['libpulse.so.0'].pa_context_get_card_info_list 833 | pa_context_get_card_info_list.restype = POINTER(pa_operation) 834 | pa_context_get_card_info_list.argtypes = [POINTER(pa_context), pa_card_info_cb_t, c_void_p] 835 | pa_context_set_card_profile_by_index = _libraries['libpulse.so.0'].pa_context_set_card_profile_by_index 836 | pa_context_set_card_profile_by_index.restype = POINTER(pa_operation) 837 | pa_context_set_card_profile_by_index.argtypes = [POINTER(pa_context), uint32_t, STRING, pa_context_success_cb_t, c_void_p] 838 | pa_context_set_card_profile_by_name = _libraries['libpulse.so.0'].pa_context_set_card_profile_by_name 839 | pa_context_set_card_profile_by_name.restype = POINTER(pa_operation) 840 | pa_context_set_card_profile_by_name.argtypes = [POINTER(pa_context), STRING, STRING, pa_context_success_cb_t, c_void_p] 841 | class pa_sink_input_info(Structure): 842 | pass 843 | pa_sink_input_info._fields_ = [ 844 | ('index', uint32_t), 845 | ('name', STRING), 846 | ('owner_module', uint32_t), 847 | ('client', uint32_t), 848 | ('sink', uint32_t), 849 | ('sample_spec', pa_sample_spec), 850 | ('channel_map', pa_channel_map), 851 | ('volume', pa_cvolume), 852 | ('buffer_usec', pa_usec_t), 853 | ('sink_usec', pa_usec_t), 854 | ('resample_method', STRING), 855 | ('driver', STRING), 856 | ('mute', c_int), 857 | ('proplist', POINTER(pa_proplist)), 858 | ('corked', c_int), 859 | ('has_volume', c_int), 860 | ('volume_writable', c_int), 861 | ('format', POINTER(pa_format_info)), 862 | ] 863 | pa_sink_input_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_sink_input_info), c_int, c_void_p) 864 | pa_context_get_sink_input_info = _libraries['libpulse.so.0'].pa_context_get_sink_input_info 865 | pa_context_get_sink_input_info.restype = POINTER(pa_operation) 866 | pa_context_get_sink_input_info.argtypes = [POINTER(pa_context), uint32_t, pa_sink_input_info_cb_t, c_void_p] 867 | pa_context_get_sink_input_info_list = _libraries['libpulse.so.0'].pa_context_get_sink_input_info_list 868 | pa_context_get_sink_input_info_list.restype = POINTER(pa_operation) 869 | pa_context_get_sink_input_info_list.argtypes = [POINTER(pa_context), pa_sink_input_info_cb_t, c_void_p] 870 | pa_context_move_sink_input_by_name = _libraries['libpulse.so.0'].pa_context_move_sink_input_by_name 871 | pa_context_move_sink_input_by_name.restype = POINTER(pa_operation) 872 | pa_context_move_sink_input_by_name.argtypes = [POINTER(pa_context), uint32_t, STRING, pa_context_success_cb_t, c_void_p] 873 | pa_context_move_sink_input_by_index = _libraries['libpulse.so.0'].pa_context_move_sink_input_by_index 874 | pa_context_move_sink_input_by_index.restype = POINTER(pa_operation) 875 | pa_context_move_sink_input_by_index.argtypes = [POINTER(pa_context), uint32_t, uint32_t, pa_context_success_cb_t, c_void_p] 876 | pa_context_set_sink_input_volume = _libraries['libpulse.so.0'].pa_context_set_sink_input_volume 877 | pa_context_set_sink_input_volume.restype = POINTER(pa_operation) 878 | pa_context_set_sink_input_volume.argtypes = [POINTER(pa_context), uint32_t, POINTER(pa_cvolume), pa_context_success_cb_t, c_void_p] 879 | pa_context_set_sink_input_mute = _libraries['libpulse.so.0'].pa_context_set_sink_input_mute 880 | pa_context_set_sink_input_mute.restype = POINTER(pa_operation) 881 | pa_context_set_sink_input_mute.argtypes = [POINTER(pa_context), uint32_t, c_int, pa_context_success_cb_t, c_void_p] 882 | pa_context_kill_sink_input = _libraries['libpulse.so.0'].pa_context_kill_sink_input 883 | pa_context_kill_sink_input.restype = POINTER(pa_operation) 884 | pa_context_kill_sink_input.argtypes = [POINTER(pa_context), uint32_t, pa_context_success_cb_t, c_void_p] 885 | class pa_source_output_info(Structure): 886 | pass 887 | pa_source_output_info._fields_ = [ 888 | ('index', uint32_t), 889 | ('name', STRING), 890 | ('owner_module', uint32_t), 891 | ('client', uint32_t), 892 | ('source', uint32_t), 893 | ('sample_spec', pa_sample_spec), 894 | ('channel_map', pa_channel_map), 895 | ('buffer_usec', pa_usec_t), 896 | ('source_usec', pa_usec_t), 897 | ('resample_method', STRING), 898 | ('driver', STRING), 899 | ('proplist', POINTER(pa_proplist)), 900 | ('corked', c_int), 901 | ('volume', pa_cvolume), 902 | ('mute', c_int), 903 | ('has_volume', c_int), 904 | ('volume_writable', c_int), 905 | ('format', POINTER(pa_format_info)), 906 | ] 907 | pa_source_output_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_source_output_info), c_int, c_void_p) 908 | pa_context_get_source_output_info = _libraries['libpulse.so.0'].pa_context_get_source_output_info 909 | pa_context_get_source_output_info.restype = POINTER(pa_operation) 910 | pa_context_get_source_output_info.argtypes = [POINTER(pa_context), uint32_t, pa_source_output_info_cb_t, c_void_p] 911 | pa_context_get_source_output_info_list = _libraries['libpulse.so.0'].pa_context_get_source_output_info_list 912 | pa_context_get_source_output_info_list.restype = POINTER(pa_operation) 913 | pa_context_get_source_output_info_list.argtypes = [POINTER(pa_context), pa_source_output_info_cb_t, c_void_p] 914 | pa_context_move_source_output_by_name = _libraries['libpulse.so.0'].pa_context_move_source_output_by_name 915 | pa_context_move_source_output_by_name.restype = POINTER(pa_operation) 916 | pa_context_move_source_output_by_name.argtypes = [POINTER(pa_context), uint32_t, STRING, pa_context_success_cb_t, c_void_p] 917 | pa_context_move_source_output_by_index = _libraries['libpulse.so.0'].pa_context_move_source_output_by_index 918 | pa_context_move_source_output_by_index.restype = POINTER(pa_operation) 919 | pa_context_move_source_output_by_index.argtypes = [POINTER(pa_context), uint32_t, uint32_t, pa_context_success_cb_t, c_void_p] 920 | pa_context_set_source_output_volume = _libraries['libpulse.so.0'].pa_context_set_source_output_volume 921 | pa_context_set_source_output_volume.restype = POINTER(pa_operation) 922 | pa_context_set_source_output_volume.argtypes = [POINTER(pa_context), uint32_t, POINTER(pa_cvolume), pa_context_success_cb_t, c_void_p] 923 | pa_context_set_source_output_mute = _libraries['libpulse.so.0'].pa_context_set_source_output_mute 924 | pa_context_set_source_output_mute.restype = POINTER(pa_operation) 925 | pa_context_set_source_output_mute.argtypes = [POINTER(pa_context), uint32_t, c_int, pa_context_success_cb_t, c_void_p] 926 | pa_context_kill_source_output = _libraries['libpulse.so.0'].pa_context_kill_source_output 927 | pa_context_kill_source_output.restype = POINTER(pa_operation) 928 | pa_context_kill_source_output.argtypes = [POINTER(pa_context), uint32_t, pa_context_success_cb_t, c_void_p] 929 | class pa_stat_info(Structure): 930 | pass 931 | pa_stat_info._fields_ = [ 932 | ('memblock_total', uint32_t), 933 | ('memblock_total_size', uint32_t), 934 | ('memblock_allocated', uint32_t), 935 | ('memblock_allocated_size', uint32_t), 936 | ('scache_size', uint32_t), 937 | ] 938 | pa_stat_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_stat_info), c_void_p) 939 | pa_context_stat = _libraries['libpulse.so.0'].pa_context_stat 940 | pa_context_stat.restype = POINTER(pa_operation) 941 | pa_context_stat.argtypes = [POINTER(pa_context), pa_stat_info_cb_t, c_void_p] 942 | class pa_sample_info(Structure): 943 | pass 944 | pa_sample_info._fields_ = [ 945 | ('index', uint32_t), 946 | ('name', STRING), 947 | ('volume', pa_cvolume), 948 | ('sample_spec', pa_sample_spec), 949 | ('channel_map', pa_channel_map), 950 | ('duration', pa_usec_t), 951 | ('bytes', uint32_t), 952 | ('lazy', c_int), 953 | ('filename', STRING), 954 | ('proplist', POINTER(pa_proplist)), 955 | ] 956 | pa_sample_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_sample_info), c_int, c_void_p) 957 | pa_context_get_sample_info_by_name = _libraries['libpulse.so.0'].pa_context_get_sample_info_by_name 958 | pa_context_get_sample_info_by_name.restype = POINTER(pa_operation) 959 | pa_context_get_sample_info_by_name.argtypes = [POINTER(pa_context), STRING, pa_sample_info_cb_t, c_void_p] 960 | pa_context_get_sample_info_by_index = _libraries['libpulse.so.0'].pa_context_get_sample_info_by_index 961 | pa_context_get_sample_info_by_index.restype = POINTER(pa_operation) 962 | pa_context_get_sample_info_by_index.argtypes = [POINTER(pa_context), uint32_t, pa_sample_info_cb_t, c_void_p] 963 | pa_context_get_sample_info_list = _libraries['libpulse.so.0'].pa_context_get_sample_info_list 964 | pa_context_get_sample_info_list.restype = POINTER(pa_operation) 965 | pa_context_get_sample_info_list.argtypes = [POINTER(pa_context), pa_sample_info_cb_t, c_void_p] 966 | 967 | # values for enumeration 'pa_autoload_type' 968 | pa_autoload_type = c_int # enum 969 | pa_autoload_type_t = pa_autoload_type 970 | class pa_autoload_info(Structure): 971 | pass 972 | pa_autoload_info._fields_ = [ 973 | ('index', uint32_t), 974 | ('name', STRING), 975 | ('type', pa_autoload_type_t), 976 | ('module', STRING), 977 | ('argument', STRING), 978 | ] 979 | pa_autoload_info_cb_t = CFUNCTYPE(None, POINTER(pa_context), POINTER(pa_autoload_info), c_int, c_void_p) 980 | pa_context_get_autoload_info_by_name = _libraries['libpulse.so.0'].pa_context_get_autoload_info_by_name 981 | pa_context_get_autoload_info_by_name.restype = POINTER(pa_operation) 982 | pa_context_get_autoload_info_by_name.argtypes = [POINTER(pa_context), STRING, pa_autoload_type_t, pa_autoload_info_cb_t, c_void_p] 983 | pa_context_get_autoload_info_by_index = _libraries['libpulse.so.0'].pa_context_get_autoload_info_by_index 984 | pa_context_get_autoload_info_by_index.restype = POINTER(pa_operation) 985 | pa_context_get_autoload_info_by_index.argtypes = [POINTER(pa_context), uint32_t, pa_autoload_info_cb_t, c_void_p] 986 | pa_context_get_autoload_info_list = _libraries['libpulse.so.0'].pa_context_get_autoload_info_list 987 | pa_context_get_autoload_info_list.restype = POINTER(pa_operation) 988 | pa_context_get_autoload_info_list.argtypes = [POINTER(pa_context), pa_autoload_info_cb_t, c_void_p] 989 | pa_context_add_autoload = _libraries['libpulse.so.0'].pa_context_add_autoload 990 | pa_context_add_autoload.restype = POINTER(pa_operation) 991 | pa_context_add_autoload.argtypes = [POINTER(pa_context), STRING, pa_autoload_type_t, STRING, STRING, pa_context_index_cb_t, c_void_p] 992 | pa_context_remove_autoload_by_name = _libraries['libpulse.so.0'].pa_context_remove_autoload_by_name 993 | pa_context_remove_autoload_by_name.restype = POINTER(pa_operation) 994 | pa_context_remove_autoload_by_name.argtypes = [POINTER(pa_context), STRING, pa_autoload_type_t, pa_context_success_cb_t, c_void_p] 995 | pa_context_remove_autoload_by_index = _libraries['libpulse.so.0'].pa_context_remove_autoload_by_index 996 | pa_context_remove_autoload_by_index.restype = POINTER(pa_operation) 997 | pa_context_remove_autoload_by_index.argtypes = [POINTER(pa_context), uint32_t, pa_context_success_cb_t, c_void_p] 998 | 999 | # values for enumeration 'pa_io_event_flags' 1000 | pa_io_event_flags = c_int # enum 1001 | pa_io_event_flags_t = pa_io_event_flags 1002 | class pa_io_event(Structure): 1003 | pass 1004 | pa_io_event._fields_ = [ 1005 | ] 1006 | pa_io_event_cb_t = CFUNCTYPE(None, POINTER(pa_mainloop_api), POINTER(pa_io_event), c_int, pa_io_event_flags_t, c_void_p) 1007 | pa_io_event_destroy_cb_t = CFUNCTYPE(None, POINTER(pa_mainloop_api), POINTER(pa_io_event), c_void_p) 1008 | pa_time_event._fields_ = [ 1009 | ] 1010 | pa_time_event_destroy_cb_t = CFUNCTYPE(None, POINTER(pa_mainloop_api), POINTER(pa_time_event), c_void_p) 1011 | class pa_defer_event(Structure): 1012 | pass 1013 | pa_defer_event._fields_ = [ 1014 | ] 1015 | pa_defer_event_cb_t = CFUNCTYPE(None, POINTER(pa_mainloop_api), POINTER(pa_defer_event), c_void_p) 1016 | pa_defer_event_destroy_cb_t = CFUNCTYPE(None, POINTER(pa_mainloop_api), POINTER(pa_defer_event), c_void_p) 1017 | pa_mainloop_api._fields_ = [ 1018 | ('userdata', c_void_p), 1019 | ('io_new', CFUNCTYPE(POINTER(pa_io_event), POINTER(pa_mainloop_api), c_int, pa_io_event_flags_t, pa_io_event_cb_t, c_void_p)), 1020 | ('io_enable', CFUNCTYPE(None, POINTER(pa_io_event), pa_io_event_flags_t)), 1021 | ('io_free', CFUNCTYPE(None, POINTER(pa_io_event))), 1022 | ('io_set_destroy', CFUNCTYPE(None, POINTER(pa_io_event), pa_io_event_destroy_cb_t)), 1023 | ('time_new', CFUNCTYPE(POINTER(pa_time_event), POINTER(pa_mainloop_api), POINTER(timeval), pa_time_event_cb_t, c_void_p)), 1024 | ('time_restart', CFUNCTYPE(None, POINTER(pa_time_event), POINTER(timeval))), 1025 | ('time_free', CFUNCTYPE(None, POINTER(pa_time_event))), 1026 | ('time_set_destroy', CFUNCTYPE(None, POINTER(pa_time_event), pa_time_event_destroy_cb_t)), 1027 | ('defer_new', CFUNCTYPE(POINTER(pa_defer_event), POINTER(pa_mainloop_api), pa_defer_event_cb_t, c_void_p)), 1028 | ('defer_enable', CFUNCTYPE(None, POINTER(pa_defer_event), c_int)), 1029 | ('defer_free', CFUNCTYPE(None, POINTER(pa_defer_event))), 1030 | ('defer_set_destroy', CFUNCTYPE(None, POINTER(pa_defer_event), pa_defer_event_destroy_cb_t)), 1031 | ('quit', CFUNCTYPE(None, POINTER(pa_mainloop_api), c_int)), 1032 | ] 1033 | pa_mainloop_api_once = _libraries['libpulse.so.0'].pa_mainloop_api_once 1034 | pa_mainloop_api_once.restype = None 1035 | pa_mainloop_api_once.argtypes = [POINTER(pa_mainloop_api), CFUNCTYPE(None, POINTER(pa_mainloop_api), c_void_p), c_void_p] 1036 | class pa_signal_event(Structure): 1037 | pass 1038 | pa_signal_event._fields_ = [ 1039 | ] 1040 | pa_signal_cb_t = CFUNCTYPE(None, POINTER(pa_mainloop_api), POINTER(pa_signal_event), c_int, c_void_p) 1041 | pa_signal_destroy_cb_t = CFUNCTYPE(None, POINTER(pa_mainloop_api), POINTER(pa_signal_event), c_void_p) 1042 | pa_signal_init = _libraries['libpulse.so.0'].pa_signal_init 1043 | pa_signal_init.restype = c_int 1044 | pa_signal_init.argtypes = [POINTER(pa_mainloop_api)] 1045 | pa_signal_done = _libraries['libpulse.so.0'].pa_signal_done 1046 | pa_signal_done.restype = None 1047 | pa_signal_done.argtypes = [] 1048 | pa_signal_new = _libraries['libpulse.so.0'].pa_signal_new 1049 | pa_signal_new.restype = POINTER(pa_signal_event) 1050 | pa_signal_new.argtypes = [c_int, pa_signal_cb_t, c_void_p] 1051 | pa_signal_free = _libraries['libpulse.so.0'].pa_signal_free 1052 | pa_signal_free.restype = None 1053 | pa_signal_free.argtypes = [POINTER(pa_signal_event)] 1054 | pa_signal_set_destroy = _libraries['libpulse.so.0'].pa_signal_set_destroy 1055 | pa_signal_set_destroy.restype = None 1056 | pa_signal_set_destroy.argtypes = [POINTER(pa_signal_event), pa_signal_destroy_cb_t] 1057 | class pa_mainloop(Structure): 1058 | pass 1059 | pa_mainloop._fields_ = [ 1060 | ] 1061 | pa_mainloop_new = _libraries['libpulse.so.0'].pa_mainloop_new 1062 | pa_mainloop_new.restype = POINTER(pa_mainloop) 1063 | pa_mainloop_new.argtypes = [] 1064 | pa_mainloop_free = _libraries['libpulse.so.0'].pa_mainloop_free 1065 | pa_mainloop_free.restype = None 1066 | pa_mainloop_free.argtypes = [POINTER(pa_mainloop)] 1067 | pa_mainloop_prepare = _libraries['libpulse.so.0'].pa_mainloop_prepare 1068 | pa_mainloop_prepare.restype = c_int 1069 | pa_mainloop_prepare.argtypes = [POINTER(pa_mainloop), c_int] 1070 | pa_mainloop_poll = _libraries['libpulse.so.0'].pa_mainloop_poll 1071 | pa_mainloop_poll.restype = c_int 1072 | pa_mainloop_poll.argtypes = [POINTER(pa_mainloop)] 1073 | pa_mainloop_dispatch = _libraries['libpulse.so.0'].pa_mainloop_dispatch 1074 | pa_mainloop_dispatch.restype = c_int 1075 | pa_mainloop_dispatch.argtypes = [POINTER(pa_mainloop)] 1076 | pa_mainloop_get_retval = _libraries['libpulse.so.0'].pa_mainloop_get_retval 1077 | pa_mainloop_get_retval.restype = c_int 1078 | pa_mainloop_get_retval.argtypes = [POINTER(pa_mainloop)] 1079 | pa_mainloop_iterate = _libraries['libpulse.so.0'].pa_mainloop_iterate 1080 | pa_mainloop_iterate.restype = c_int 1081 | pa_mainloop_iterate.argtypes = [POINTER(pa_mainloop), c_int, POINTER(c_int)] 1082 | pa_mainloop_run = _libraries['libpulse.so.0'].pa_mainloop_run 1083 | pa_mainloop_run.restype = c_int 1084 | pa_mainloop_run.argtypes = [POINTER(pa_mainloop), POINTER(c_int)] 1085 | pa_mainloop_get_api = _libraries['libpulse.so.0'].pa_mainloop_get_api 1086 | pa_mainloop_get_api.restype = POINTER(pa_mainloop_api) 1087 | pa_mainloop_get_api.argtypes = [POINTER(pa_mainloop)] 1088 | pa_mainloop_quit = _libraries['libpulse.so.0'].pa_mainloop_quit 1089 | pa_mainloop_quit.restype = None 1090 | pa_mainloop_quit.argtypes = [POINTER(pa_mainloop), c_int] 1091 | pa_mainloop_wakeup = _libraries['libpulse.so.0'].pa_mainloop_wakeup 1092 | pa_mainloop_wakeup.restype = None 1093 | pa_mainloop_wakeup.argtypes = [POINTER(pa_mainloop)] 1094 | class pollfd(Structure): 1095 | pass 1096 | pa_poll_func = CFUNCTYPE(c_int, POINTER(pollfd), c_ulong, c_int, c_void_p) 1097 | pa_mainloop_set_poll_func = _libraries['libpulse.so.0'].pa_mainloop_set_poll_func 1098 | pa_mainloop_set_poll_func.restype = None 1099 | pa_mainloop_set_poll_func.argtypes = [POINTER(pa_mainloop), pa_poll_func, c_void_p] 1100 | pa_operation._fields_ = [ 1101 | ] 1102 | pa_operation_ref = _libraries['libpulse.so.0'].pa_operation_ref 1103 | pa_operation_ref.restype = POINTER(pa_operation) 1104 | pa_operation_ref.argtypes = [POINTER(pa_operation)] 1105 | pa_operation_unref = _libraries['libpulse.so.0'].pa_operation_unref 1106 | pa_operation_unref.restype = None 1107 | pa_operation_unref.argtypes = [POINTER(pa_operation)] 1108 | pa_operation_cancel = _libraries['libpulse.so.0'].pa_operation_cancel 1109 | pa_operation_cancel.restype = None 1110 | pa_operation_cancel.argtypes = [POINTER(pa_operation)] 1111 | pa_operation_get_state = _libraries['libpulse.so.0'].pa_operation_get_state 1112 | pa_operation_get_state.restype = pa_operation_state_t 1113 | pa_operation_get_state.argtypes = [POINTER(pa_operation)] 1114 | pa_proplist._fields_ = [ 1115 | ] 1116 | pa_proplist_new = _libraries['libpulse.so.0'].pa_proplist_new 1117 | pa_proplist_new.restype = POINTER(pa_proplist) 1118 | pa_proplist_new.argtypes = [] 1119 | pa_proplist_free = _libraries['libpulse.so.0'].pa_proplist_free 1120 | pa_proplist_free.restype = None 1121 | pa_proplist_free.argtypes = [POINTER(pa_proplist)] 1122 | pa_proplist_sets = _libraries['libpulse.so.0'].pa_proplist_sets 1123 | pa_proplist_sets.restype = c_int 1124 | pa_proplist_sets.argtypes = [POINTER(pa_proplist), STRING, STRING] 1125 | pa_proplist_setp = _libraries['libpulse.so.0'].pa_proplist_setp 1126 | pa_proplist_setp.restype = c_int 1127 | pa_proplist_setp.argtypes = [POINTER(pa_proplist), STRING] 1128 | pa_proplist_setf = _libraries['libpulse.so.0'].pa_proplist_setf 1129 | pa_proplist_setf.restype = c_int 1130 | pa_proplist_setf.argtypes = [POINTER(pa_proplist), STRING, STRING] 1131 | pa_proplist_set = _libraries['libpulse.so.0'].pa_proplist_set 1132 | pa_proplist_set.restype = c_int 1133 | pa_proplist_set.argtypes = [POINTER(pa_proplist), STRING, c_void_p, size_t] 1134 | pa_proplist_gets = _libraries['libpulse.so.0'].pa_proplist_gets 1135 | pa_proplist_gets.restype = STRING 1136 | pa_proplist_gets.argtypes = [POINTER(pa_proplist), STRING] 1137 | pa_proplist_get = _libraries['libpulse.so.0'].pa_proplist_get 1138 | pa_proplist_get.restype = c_int 1139 | pa_proplist_get.argtypes = [POINTER(pa_proplist), STRING, POINTER(c_void_p), POINTER(size_t)] 1140 | pa_proplist_update = _libraries['libpulse.so.0'].pa_proplist_update 1141 | pa_proplist_update.restype = None 1142 | pa_proplist_update.argtypes = [POINTER(pa_proplist), pa_update_mode_t, POINTER(pa_proplist)] 1143 | pa_proplist_unset = _libraries['libpulse.so.0'].pa_proplist_unset 1144 | pa_proplist_unset.restype = c_int 1145 | pa_proplist_unset.argtypes = [POINTER(pa_proplist), STRING] 1146 | pa_proplist_unset_many = _libraries['libpulse.so.0'].pa_proplist_unset_many 1147 | pa_proplist_unset_many.restype = c_int 1148 | pa_proplist_unset_many.argtypes = [POINTER(pa_proplist), POINTER(STRING)] 1149 | pa_proplist_iterate = _libraries['libpulse.so.0'].pa_proplist_iterate 1150 | pa_proplist_iterate.restype = STRING 1151 | pa_proplist_iterate.argtypes = [POINTER(pa_proplist), POINTER(c_void_p)] 1152 | pa_proplist_to_string = _libraries['libpulse.so.0'].pa_proplist_to_string 1153 | pa_proplist_to_string.restype = STRING 1154 | pa_proplist_to_string.argtypes = [POINTER(pa_proplist)] 1155 | pa_proplist_to_string_sep = _libraries['libpulse.so.0'].pa_proplist_to_string_sep 1156 | pa_proplist_to_string_sep.restype = STRING 1157 | pa_proplist_to_string_sep.argtypes = [POINTER(pa_proplist), STRING] 1158 | pa_proplist_from_string = _libraries['libpulse.so.0'].pa_proplist_from_string 1159 | pa_proplist_from_string.restype = POINTER(pa_proplist) 1160 | pa_proplist_from_string.argtypes = [STRING] 1161 | pa_proplist_contains = _libraries['libpulse.so.0'].pa_proplist_contains 1162 | pa_proplist_contains.restype = c_int 1163 | pa_proplist_contains.argtypes = [POINTER(pa_proplist), STRING] 1164 | pa_proplist_clear = _libraries['libpulse.so.0'].pa_proplist_clear 1165 | pa_proplist_clear.restype = None 1166 | pa_proplist_clear.argtypes = [POINTER(pa_proplist)] 1167 | pa_proplist_copy = _libraries['libpulse.so.0'].pa_proplist_copy 1168 | pa_proplist_copy.restype = POINTER(pa_proplist) 1169 | pa_proplist_copy.argtypes = [POINTER(pa_proplist)] 1170 | pa_proplist_size = _libraries['libpulse.so.0'].pa_proplist_size 1171 | pa_proplist_size.restype = c_uint 1172 | pa_proplist_size.argtypes = [POINTER(pa_proplist)] 1173 | pa_proplist_isempty = _libraries['libpulse.so.0'].pa_proplist_isempty 1174 | pa_proplist_isempty.restype = c_int 1175 | pa_proplist_isempty.argtypes = [POINTER(pa_proplist)] 1176 | pa_proplist_equal = _libraries['libpulse.so.0'].pa_proplist_equal 1177 | pa_proplist_equal.restype = c_int 1178 | pa_proplist_equal.argtypes = [POINTER(pa_proplist), POINTER(pa_proplist)] 1179 | pa_bytes_per_second = _libraries['libpulse.so.0'].pa_bytes_per_second 1180 | pa_bytes_per_second.restype = size_t 1181 | pa_bytes_per_second.argtypes = [POINTER(pa_sample_spec)] 1182 | pa_frame_size = _libraries['libpulse.so.0'].pa_frame_size 1183 | pa_frame_size.restype = size_t 1184 | pa_frame_size.argtypes = [POINTER(pa_sample_spec)] 1185 | pa_sample_size = _libraries['libpulse.so.0'].pa_sample_size 1186 | pa_sample_size.restype = size_t 1187 | pa_sample_size.argtypes = [POINTER(pa_sample_spec)] 1188 | pa_sample_size_of_format = _libraries['libpulse.so.0'].pa_sample_size_of_format 1189 | pa_sample_size_of_format.restype = size_t 1190 | pa_sample_size_of_format.argtypes = [pa_sample_format_t] 1191 | pa_bytes_to_usec = _libraries['libpulse.so.0'].pa_bytes_to_usec 1192 | pa_bytes_to_usec.restype = pa_usec_t 1193 | pa_bytes_to_usec.argtypes = [uint64_t, POINTER(pa_sample_spec)] 1194 | pa_usec_to_bytes = _libraries['libpulse.so.0'].pa_usec_to_bytes 1195 | pa_usec_to_bytes.restype = size_t 1196 | pa_usec_to_bytes.argtypes = [pa_usec_t, POINTER(pa_sample_spec)] 1197 | pa_sample_spec_init = _libraries['libpulse.so.0'].pa_sample_spec_init 1198 | pa_sample_spec_init.restype = POINTER(pa_sample_spec) 1199 | pa_sample_spec_init.argtypes = [POINTER(pa_sample_spec)] 1200 | pa_sample_spec_valid = _libraries['libpulse.so.0'].pa_sample_spec_valid 1201 | pa_sample_spec_valid.restype = c_int 1202 | pa_sample_spec_valid.argtypes = [POINTER(pa_sample_spec)] 1203 | pa_sample_spec_equal = _libraries['libpulse.so.0'].pa_sample_spec_equal 1204 | pa_sample_spec_equal.restype = c_int 1205 | pa_sample_spec_equal.argtypes = [POINTER(pa_sample_spec), POINTER(pa_sample_spec)] 1206 | pa_sample_format_to_string = _libraries['libpulse.so.0'].pa_sample_format_to_string 1207 | pa_sample_format_to_string.restype = STRING 1208 | pa_sample_format_to_string.argtypes = [pa_sample_format_t] 1209 | pa_parse_sample_format = _libraries['libpulse.so.0'].pa_parse_sample_format 1210 | pa_parse_sample_format.restype = pa_sample_format_t 1211 | pa_parse_sample_format.argtypes = [STRING] 1212 | pa_sample_spec_snprint = _libraries['libpulse.so.0'].pa_sample_spec_snprint 1213 | pa_sample_spec_snprint.restype = STRING 1214 | pa_sample_spec_snprint.argtypes = [STRING, size_t, POINTER(pa_sample_spec)] 1215 | pa_bytes_snprint = _libraries['libpulse.so.0'].pa_bytes_snprint 1216 | pa_bytes_snprint.restype = STRING 1217 | pa_bytes_snprint.argtypes = [STRING, size_t, c_uint] 1218 | pa_sample_format_is_le = _libraries['libpulse.so.0'].pa_sample_format_is_le 1219 | pa_sample_format_is_le.restype = c_int 1220 | pa_sample_format_is_le.argtypes = [pa_sample_format_t] 1221 | pa_sample_format_is_be = _libraries['libpulse.so.0'].pa_sample_format_is_be 1222 | pa_sample_format_is_be.restype = c_int 1223 | pa_sample_format_is_be.argtypes = [pa_sample_format_t] 1224 | pa_context_play_sample_cb_t = CFUNCTYPE(None, POINTER(pa_context), uint32_t, c_void_p) 1225 | class pa_stream(Structure): 1226 | pass 1227 | pa_stream_connect_upload = _libraries['libpulse.so.0'].pa_stream_connect_upload 1228 | pa_stream_connect_upload.restype = c_int 1229 | pa_stream_connect_upload.argtypes = [POINTER(pa_stream), size_t] 1230 | pa_stream_finish_upload = _libraries['libpulse.so.0'].pa_stream_finish_upload 1231 | pa_stream_finish_upload.restype = c_int 1232 | pa_stream_finish_upload.argtypes = [POINTER(pa_stream)] 1233 | pa_context_remove_sample = _libraries['libpulse.so.0'].pa_context_remove_sample 1234 | pa_context_remove_sample.restype = POINTER(pa_operation) 1235 | pa_context_remove_sample.argtypes = [POINTER(pa_context), STRING, pa_context_success_cb_t, c_void_p] 1236 | pa_context_play_sample = _libraries['libpulse.so.0'].pa_context_play_sample 1237 | pa_context_play_sample.restype = POINTER(pa_operation) 1238 | pa_context_play_sample.argtypes = [POINTER(pa_context), STRING, STRING, pa_volume_t, pa_context_success_cb_t, c_void_p] 1239 | pa_context_play_sample_with_proplist = _libraries['libpulse.so.0'].pa_context_play_sample_with_proplist 1240 | pa_context_play_sample_with_proplist.restype = POINTER(pa_operation) 1241 | pa_context_play_sample_with_proplist.argtypes = [POINTER(pa_context), STRING, STRING, pa_volume_t, POINTER(pa_proplist), pa_context_play_sample_cb_t, c_void_p] 1242 | pa_stream._fields_ = [ 1243 | ] 1244 | pa_stream_success_cb_t = CFUNCTYPE(None, POINTER(pa_stream), c_int, c_void_p) 1245 | pa_stream_request_cb_t = CFUNCTYPE(None, POINTER(pa_stream), size_t, c_void_p) 1246 | pa_stream_notify_cb_t = CFUNCTYPE(None, POINTER(pa_stream), c_void_p) 1247 | pa_stream_event_cb_t = CFUNCTYPE(None, POINTER(pa_stream), STRING, POINTER(pa_proplist), c_void_p) 1248 | pa_stream_new = _libraries['libpulse.so.0'].pa_stream_new 1249 | pa_stream_new.restype = POINTER(pa_stream) 1250 | pa_stream_new.argtypes = [POINTER(pa_context), STRING, POINTER(pa_sample_spec), POINTER(pa_channel_map)] 1251 | pa_stream_new_with_proplist = _libraries['libpulse.so.0'].pa_stream_new_with_proplist 1252 | pa_stream_new_with_proplist.restype = POINTER(pa_stream) 1253 | pa_stream_new_with_proplist.argtypes = [POINTER(pa_context), STRING, POINTER(pa_sample_spec), POINTER(pa_channel_map), POINTER(pa_proplist)] 1254 | pa_stream_new_extended = _libraries['libpulse.so.0'].pa_stream_new_extended 1255 | pa_stream_new_extended.restype = POINTER(pa_stream) 1256 | pa_stream_new_extended.argtypes = [POINTER(pa_context), STRING, POINTER(POINTER(pa_format_info)), c_uint, POINTER(pa_proplist)] 1257 | pa_stream_unref = _libraries['libpulse.so.0'].pa_stream_unref 1258 | pa_stream_unref.restype = None 1259 | pa_stream_unref.argtypes = [POINTER(pa_stream)] 1260 | pa_stream_ref = _libraries['libpulse.so.0'].pa_stream_ref 1261 | pa_stream_ref.restype = POINTER(pa_stream) 1262 | pa_stream_ref.argtypes = [POINTER(pa_stream)] 1263 | pa_stream_get_state = _libraries['libpulse.so.0'].pa_stream_get_state 1264 | pa_stream_get_state.restype = pa_stream_state_t 1265 | pa_stream_get_state.argtypes = [POINTER(pa_stream)] 1266 | pa_stream_get_context = _libraries['libpulse.so.0'].pa_stream_get_context 1267 | pa_stream_get_context.restype = POINTER(pa_context) 1268 | pa_stream_get_context.argtypes = [POINTER(pa_stream)] 1269 | pa_stream_get_index = _libraries['libpulse.so.0'].pa_stream_get_index 1270 | pa_stream_get_index.restype = uint32_t 1271 | pa_stream_get_index.argtypes = [POINTER(pa_stream)] 1272 | pa_stream_get_device_index = _libraries['libpulse.so.0'].pa_stream_get_device_index 1273 | pa_stream_get_device_index.restype = uint32_t 1274 | pa_stream_get_device_index.argtypes = [POINTER(pa_stream)] 1275 | pa_stream_get_device_name = _libraries['libpulse.so.0'].pa_stream_get_device_name 1276 | pa_stream_get_device_name.restype = STRING 1277 | pa_stream_get_device_name.argtypes = [POINTER(pa_stream)] 1278 | pa_stream_is_suspended = _libraries['libpulse.so.0'].pa_stream_is_suspended 1279 | pa_stream_is_suspended.restype = c_int 1280 | pa_stream_is_suspended.argtypes = [POINTER(pa_stream)] 1281 | pa_stream_is_corked = _libraries['libpulse.so.0'].pa_stream_is_corked 1282 | pa_stream_is_corked.restype = c_int 1283 | pa_stream_is_corked.argtypes = [POINTER(pa_stream)] 1284 | pa_stream_connect_playback = _libraries['libpulse.so.0'].pa_stream_connect_playback 1285 | pa_stream_connect_playback.restype = c_int 1286 | pa_stream_connect_playback.argtypes = [POINTER(pa_stream), STRING, POINTER(pa_buffer_attr), pa_stream_flags_t, POINTER(pa_cvolume), POINTER(pa_stream)] 1287 | pa_stream_connect_record = _libraries['libpulse.so.0'].pa_stream_connect_record 1288 | pa_stream_connect_record.restype = c_int 1289 | pa_stream_connect_record.argtypes = [POINTER(pa_stream), STRING, POINTER(pa_buffer_attr), pa_stream_flags_t] 1290 | pa_stream_disconnect = _libraries['libpulse.so.0'].pa_stream_disconnect 1291 | pa_stream_disconnect.restype = c_int 1292 | pa_stream_disconnect.argtypes = [POINTER(pa_stream)] 1293 | pa_stream_begin_write = _libraries['libpulse.so.0'].pa_stream_begin_write 1294 | pa_stream_begin_write.restype = c_int 1295 | pa_stream_begin_write.argtypes = [POINTER(pa_stream), POINTER(c_void_p), POINTER(size_t)] 1296 | pa_stream_cancel_write = _libraries['libpulse.so.0'].pa_stream_cancel_write 1297 | pa_stream_cancel_write.restype = c_int 1298 | pa_stream_cancel_write.argtypes = [POINTER(pa_stream)] 1299 | pa_stream_write = _libraries['libpulse.so.0'].pa_stream_write 1300 | pa_stream_write.restype = c_int 1301 | pa_stream_write.argtypes = [POINTER(pa_stream), c_void_p, size_t, pa_free_cb_t, int64_t, pa_seek_mode_t] 1302 | pa_stream_peek = _libraries['libpulse.so.0'].pa_stream_peek 1303 | pa_stream_peek.restype = c_int 1304 | pa_stream_peek.argtypes = [POINTER(pa_stream), POINTER(c_void_p), POINTER(size_t)] 1305 | pa_stream_drop = _libraries['libpulse.so.0'].pa_stream_drop 1306 | pa_stream_drop.restype = c_int 1307 | pa_stream_drop.argtypes = [POINTER(pa_stream)] 1308 | pa_stream_writable_size = _libraries['libpulse.so.0'].pa_stream_writable_size 1309 | pa_stream_writable_size.restype = size_t 1310 | pa_stream_writable_size.argtypes = [POINTER(pa_stream)] 1311 | pa_stream_readable_size = _libraries['libpulse.so.0'].pa_stream_readable_size 1312 | pa_stream_readable_size.restype = size_t 1313 | pa_stream_readable_size.argtypes = [POINTER(pa_stream)] 1314 | pa_stream_drain = _libraries['libpulse.so.0'].pa_stream_drain 1315 | pa_stream_drain.restype = POINTER(pa_operation) 1316 | pa_stream_drain.argtypes = [POINTER(pa_stream), pa_stream_success_cb_t, c_void_p] 1317 | pa_stream_update_timing_info = _libraries['libpulse.so.0'].pa_stream_update_timing_info 1318 | pa_stream_update_timing_info.restype = POINTER(pa_operation) 1319 | pa_stream_update_timing_info.argtypes = [POINTER(pa_stream), pa_stream_success_cb_t, c_void_p] 1320 | pa_stream_set_state_callback = _libraries['libpulse.so.0'].pa_stream_set_state_callback 1321 | pa_stream_set_state_callback.restype = None 1322 | pa_stream_set_state_callback.argtypes = [POINTER(pa_stream), pa_stream_notify_cb_t, c_void_p] 1323 | pa_stream_set_write_callback = _libraries['libpulse.so.0'].pa_stream_set_write_callback 1324 | pa_stream_set_write_callback.restype = None 1325 | pa_stream_set_write_callback.argtypes = [POINTER(pa_stream), pa_stream_request_cb_t, c_void_p] 1326 | pa_stream_set_read_callback = _libraries['libpulse.so.0'].pa_stream_set_read_callback 1327 | pa_stream_set_read_callback.restype = None 1328 | pa_stream_set_read_callback.argtypes = [POINTER(pa_stream), pa_stream_request_cb_t, c_void_p] 1329 | pa_stream_set_overflow_callback = _libraries['libpulse.so.0'].pa_stream_set_overflow_callback 1330 | pa_stream_set_overflow_callback.restype = None 1331 | pa_stream_set_overflow_callback.argtypes = [POINTER(pa_stream), pa_stream_notify_cb_t, c_void_p] 1332 | pa_stream_get_underflow_index = _libraries['libpulse.so.0'].pa_stream_get_underflow_index 1333 | pa_stream_get_underflow_index.restype = int64_t 1334 | pa_stream_get_underflow_index.argtypes = [POINTER(pa_stream)] 1335 | pa_stream_set_underflow_callback = _libraries['libpulse.so.0'].pa_stream_set_underflow_callback 1336 | pa_stream_set_underflow_callback.restype = None 1337 | pa_stream_set_underflow_callback.argtypes = [POINTER(pa_stream), pa_stream_notify_cb_t, c_void_p] 1338 | pa_stream_set_started_callback = _libraries['libpulse.so.0'].pa_stream_set_started_callback 1339 | pa_stream_set_started_callback.restype = None 1340 | pa_stream_set_started_callback.argtypes = [POINTER(pa_stream), pa_stream_notify_cb_t, c_void_p] 1341 | pa_stream_set_latency_update_callback = _libraries['libpulse.so.0'].pa_stream_set_latency_update_callback 1342 | pa_stream_set_latency_update_callback.restype = None 1343 | pa_stream_set_latency_update_callback.argtypes = [POINTER(pa_stream), pa_stream_notify_cb_t, c_void_p] 1344 | pa_stream_set_moved_callback = _libraries['libpulse.so.0'].pa_stream_set_moved_callback 1345 | pa_stream_set_moved_callback.restype = None 1346 | pa_stream_set_moved_callback.argtypes = [POINTER(pa_stream), pa_stream_notify_cb_t, c_void_p] 1347 | pa_stream_set_suspended_callback = _libraries['libpulse.so.0'].pa_stream_set_suspended_callback 1348 | pa_stream_set_suspended_callback.restype = None 1349 | pa_stream_set_suspended_callback.argtypes = [POINTER(pa_stream), pa_stream_notify_cb_t, c_void_p] 1350 | pa_stream_set_event_callback = _libraries['libpulse.so.0'].pa_stream_set_event_callback 1351 | pa_stream_set_event_callback.restype = None 1352 | pa_stream_set_event_callback.argtypes = [POINTER(pa_stream), pa_stream_event_cb_t, c_void_p] 1353 | pa_stream_set_buffer_attr_callback = _libraries['libpulse.so.0'].pa_stream_set_buffer_attr_callback 1354 | pa_stream_set_buffer_attr_callback.restype = None 1355 | pa_stream_set_buffer_attr_callback.argtypes = [POINTER(pa_stream), pa_stream_notify_cb_t, c_void_p] 1356 | pa_stream_cork = _libraries['libpulse.so.0'].pa_stream_cork 1357 | pa_stream_cork.restype = POINTER(pa_operation) 1358 | pa_stream_cork.argtypes = [POINTER(pa_stream), c_int, pa_stream_success_cb_t, c_void_p] 1359 | pa_stream_flush = _libraries['libpulse.so.0'].pa_stream_flush 1360 | pa_stream_flush.restype = POINTER(pa_operation) 1361 | pa_stream_flush.argtypes = [POINTER(pa_stream), pa_stream_success_cb_t, c_void_p] 1362 | pa_stream_prebuf = _libraries['libpulse.so.0'].pa_stream_prebuf 1363 | pa_stream_prebuf.restype = POINTER(pa_operation) 1364 | pa_stream_prebuf.argtypes = [POINTER(pa_stream), pa_stream_success_cb_t, c_void_p] 1365 | pa_stream_trigger = _libraries['libpulse.so.0'].pa_stream_trigger 1366 | pa_stream_trigger.restype = POINTER(pa_operation) 1367 | pa_stream_trigger.argtypes = [POINTER(pa_stream), pa_stream_success_cb_t, c_void_p] 1368 | pa_stream_set_name = _libraries['libpulse.so.0'].pa_stream_set_name 1369 | pa_stream_set_name.restype = POINTER(pa_operation) 1370 | pa_stream_set_name.argtypes = [POINTER(pa_stream), STRING, pa_stream_success_cb_t, c_void_p] 1371 | pa_stream_get_time = _libraries['libpulse.so.0'].pa_stream_get_time 1372 | pa_stream_get_time.restype = c_int 1373 | pa_stream_get_time.argtypes = [POINTER(pa_stream), POINTER(pa_usec_t)] 1374 | pa_stream_get_latency = _libraries['libpulse.so.0'].pa_stream_get_latency 1375 | pa_stream_get_latency.restype = c_int 1376 | pa_stream_get_latency.argtypes = [POINTER(pa_stream), POINTER(pa_usec_t), POINTER(c_int)] 1377 | pa_stream_get_timing_info = _libraries['libpulse.so.0'].pa_stream_get_timing_info 1378 | pa_stream_get_timing_info.restype = POINTER(pa_timing_info) 1379 | pa_stream_get_timing_info.argtypes = [POINTER(pa_stream)] 1380 | pa_stream_get_sample_spec = _libraries['libpulse.so.0'].pa_stream_get_sample_spec 1381 | pa_stream_get_sample_spec.restype = POINTER(pa_sample_spec) 1382 | pa_stream_get_sample_spec.argtypes = [POINTER(pa_stream)] 1383 | pa_stream_get_channel_map = _libraries['libpulse.so.0'].pa_stream_get_channel_map 1384 | pa_stream_get_channel_map.restype = POINTER(pa_channel_map) 1385 | pa_stream_get_channel_map.argtypes = [POINTER(pa_stream)] 1386 | pa_stream_get_format_info = _libraries['libpulse.so.0'].pa_stream_get_format_info 1387 | pa_stream_get_format_info.restype = POINTER(pa_format_info) 1388 | pa_stream_get_format_info.argtypes = [POINTER(pa_stream)] 1389 | pa_stream_get_buffer_attr = _libraries['libpulse.so.0'].pa_stream_get_buffer_attr 1390 | pa_stream_get_buffer_attr.restype = POINTER(pa_buffer_attr) 1391 | pa_stream_get_buffer_attr.argtypes = [POINTER(pa_stream)] 1392 | pa_stream_set_buffer_attr = _libraries['libpulse.so.0'].pa_stream_set_buffer_attr 1393 | pa_stream_set_buffer_attr.restype = POINTER(pa_operation) 1394 | pa_stream_set_buffer_attr.argtypes = [POINTER(pa_stream), POINTER(pa_buffer_attr), pa_stream_success_cb_t, c_void_p] 1395 | pa_stream_update_sample_rate = _libraries['libpulse.so.0'].pa_stream_update_sample_rate 1396 | pa_stream_update_sample_rate.restype = POINTER(pa_operation) 1397 | pa_stream_update_sample_rate.argtypes = [POINTER(pa_stream), uint32_t, pa_stream_success_cb_t, c_void_p] 1398 | pa_stream_proplist_update = _libraries['libpulse.so.0'].pa_stream_proplist_update 1399 | pa_stream_proplist_update.restype = POINTER(pa_operation) 1400 | pa_stream_proplist_update.argtypes = [POINTER(pa_stream), pa_update_mode_t, POINTER(pa_proplist), pa_stream_success_cb_t, c_void_p] 1401 | pa_stream_proplist_remove = _libraries['libpulse.so.0'].pa_stream_proplist_remove 1402 | pa_stream_proplist_remove.restype = POINTER(pa_operation) 1403 | pa_stream_proplist_remove.argtypes = [POINTER(pa_stream), POINTER(STRING), pa_stream_success_cb_t, c_void_p] 1404 | pa_stream_set_monitor_stream = _libraries['libpulse.so.0'].pa_stream_set_monitor_stream 1405 | pa_stream_set_monitor_stream.restype = c_int 1406 | pa_stream_set_monitor_stream.argtypes = [POINTER(pa_stream), uint32_t] 1407 | pa_stream_get_monitor_stream = _libraries['libpulse.so.0'].pa_stream_get_monitor_stream 1408 | pa_stream_get_monitor_stream.restype = uint32_t 1409 | pa_stream_get_monitor_stream.argtypes = [POINTER(pa_stream)] 1410 | pa_context_subscribe_cb_t = CFUNCTYPE(None, POINTER(pa_context), pa_subscription_event_type_t, uint32_t, c_void_p) 1411 | pa_context_subscribe = _libraries['libpulse.so.0'].pa_context_subscribe 1412 | pa_context_subscribe.restype = POINTER(pa_operation) 1413 | pa_context_subscribe.argtypes = [POINTER(pa_context), pa_subscription_mask_t, pa_context_success_cb_t, c_void_p] 1414 | pa_context_set_subscribe_callback = _libraries['libpulse.so.0'].pa_context_set_subscribe_callback 1415 | pa_context_set_subscribe_callback.restype = None 1416 | pa_context_set_subscribe_callback.argtypes = [POINTER(pa_context), pa_context_subscribe_cb_t, c_void_p] 1417 | class pa_threaded_mainloop(Structure): 1418 | pass 1419 | pa_threaded_mainloop._fields_ = [ 1420 | ] 1421 | pa_threaded_mainloop_new = _libraries['libpulse.so.0'].pa_threaded_mainloop_new 1422 | pa_threaded_mainloop_new.restype = POINTER(pa_threaded_mainloop) 1423 | pa_threaded_mainloop_new.argtypes = [] 1424 | pa_threaded_mainloop_free = _libraries['libpulse.so.0'].pa_threaded_mainloop_free 1425 | pa_threaded_mainloop_free.restype = None 1426 | pa_threaded_mainloop_free.argtypes = [POINTER(pa_threaded_mainloop)] 1427 | pa_threaded_mainloop_start = _libraries['libpulse.so.0'].pa_threaded_mainloop_start 1428 | pa_threaded_mainloop_start.restype = c_int 1429 | pa_threaded_mainloop_start.argtypes = [POINTER(pa_threaded_mainloop)] 1430 | pa_threaded_mainloop_stop = _libraries['libpulse.so.0'].pa_threaded_mainloop_stop 1431 | pa_threaded_mainloop_stop.restype = None 1432 | pa_threaded_mainloop_stop.argtypes = [POINTER(pa_threaded_mainloop)] 1433 | pa_threaded_mainloop_lock = _libraries['libpulse.so.0'].pa_threaded_mainloop_lock 1434 | pa_threaded_mainloop_lock.restype = None 1435 | pa_threaded_mainloop_lock.argtypes = [POINTER(pa_threaded_mainloop)] 1436 | pa_threaded_mainloop_unlock = _libraries['libpulse.so.0'].pa_threaded_mainloop_unlock 1437 | pa_threaded_mainloop_unlock.restype = None 1438 | pa_threaded_mainloop_unlock.argtypes = [POINTER(pa_threaded_mainloop)] 1439 | pa_threaded_mainloop_wait = _libraries['libpulse.so.0'].pa_threaded_mainloop_wait 1440 | pa_threaded_mainloop_wait.restype = None 1441 | pa_threaded_mainloop_wait.argtypes = [POINTER(pa_threaded_mainloop)] 1442 | pa_threaded_mainloop_signal = _libraries['libpulse.so.0'].pa_threaded_mainloop_signal 1443 | pa_threaded_mainloop_signal.restype = None 1444 | pa_threaded_mainloop_signal.argtypes = [POINTER(pa_threaded_mainloop), c_int] 1445 | pa_threaded_mainloop_accept = _libraries['libpulse.so.0'].pa_threaded_mainloop_accept 1446 | pa_threaded_mainloop_accept.restype = None 1447 | pa_threaded_mainloop_accept.argtypes = [POINTER(pa_threaded_mainloop)] 1448 | pa_threaded_mainloop_get_retval = _libraries['libpulse.so.0'].pa_threaded_mainloop_get_retval 1449 | pa_threaded_mainloop_get_retval.restype = c_int 1450 | pa_threaded_mainloop_get_retval.argtypes = [POINTER(pa_threaded_mainloop)] 1451 | pa_threaded_mainloop_get_api = _libraries['libpulse.so.0'].pa_threaded_mainloop_get_api 1452 | pa_threaded_mainloop_get_api.restype = POINTER(pa_mainloop_api) 1453 | pa_threaded_mainloop_get_api.argtypes = [POINTER(pa_threaded_mainloop)] 1454 | pa_threaded_mainloop_in_thread = _libraries['libpulse.so.0'].pa_threaded_mainloop_in_thread 1455 | pa_threaded_mainloop_in_thread.restype = c_int 1456 | pa_threaded_mainloop_in_thread.argtypes = [POINTER(pa_threaded_mainloop)] 1457 | pa_gettimeofday = _libraries['libpulse.so.0'].pa_gettimeofday 1458 | pa_gettimeofday.restype = POINTER(timeval) 1459 | pa_gettimeofday.argtypes = [POINTER(timeval)] 1460 | pa_timeval_diff = _libraries['libpulse.so.0'].pa_timeval_diff 1461 | pa_timeval_diff.restype = pa_usec_t 1462 | pa_timeval_diff.argtypes = [POINTER(timeval), POINTER(timeval)] 1463 | pa_timeval_cmp = _libraries['libpulse.so.0'].pa_timeval_cmp 1464 | pa_timeval_cmp.restype = c_int 1465 | pa_timeval_cmp.argtypes = [POINTER(timeval), POINTER(timeval)] 1466 | pa_timeval_age = _libraries['libpulse.so.0'].pa_timeval_age 1467 | pa_timeval_age.restype = pa_usec_t 1468 | pa_timeval_age.argtypes = [POINTER(timeval)] 1469 | pa_timeval_add = _libraries['libpulse.so.0'].pa_timeval_add 1470 | pa_timeval_add.restype = POINTER(timeval) 1471 | pa_timeval_add.argtypes = [POINTER(timeval), pa_usec_t] 1472 | pa_timeval_sub = _libraries['libpulse.so.0'].pa_timeval_sub 1473 | pa_timeval_sub.restype = POINTER(timeval) 1474 | pa_timeval_sub.argtypes = [POINTER(timeval), pa_usec_t] 1475 | pa_timeval_store = _libraries['libpulse.so.0'].pa_timeval_store 1476 | pa_timeval_store.restype = POINTER(timeval) 1477 | pa_timeval_store.argtypes = [POINTER(timeval), pa_usec_t] 1478 | pa_timeval_load = _libraries['libpulse.so.0'].pa_timeval_load 1479 | pa_timeval_load.restype = pa_usec_t 1480 | pa_timeval_load.argtypes = [POINTER(timeval)] 1481 | pa_utf8_valid = _libraries['libpulse.so.0'].pa_utf8_valid 1482 | pa_utf8_valid.restype = STRING 1483 | pa_utf8_valid.argtypes = [STRING] 1484 | pa_ascii_valid = _libraries['libpulse.so.0'].pa_ascii_valid 1485 | pa_ascii_valid.restype = STRING 1486 | pa_ascii_valid.argtypes = [STRING] 1487 | pa_utf8_filter = _libraries['libpulse.so.0'].pa_utf8_filter 1488 | pa_utf8_filter.restype = STRING 1489 | pa_utf8_filter.argtypes = [STRING] 1490 | pa_ascii_filter = _libraries['libpulse.so.0'].pa_ascii_filter 1491 | pa_ascii_filter.restype = STRING 1492 | pa_ascii_filter.argtypes = [STRING] 1493 | pa_utf8_to_locale = _libraries['libpulse.so.0'].pa_utf8_to_locale 1494 | pa_utf8_to_locale.restype = STRING 1495 | pa_utf8_to_locale.argtypes = [STRING] 1496 | pa_locale_to_utf8 = _libraries['libpulse.so.0'].pa_locale_to_utf8 1497 | pa_locale_to_utf8.restype = STRING 1498 | pa_locale_to_utf8.argtypes = [STRING] 1499 | pa_get_user_name = _libraries['libpulse.so.0'].pa_get_user_name 1500 | pa_get_user_name.restype = STRING 1501 | pa_get_user_name.argtypes = [STRING, size_t] 1502 | pa_get_host_name = _libraries['libpulse.so.0'].pa_get_host_name 1503 | pa_get_host_name.restype = STRING 1504 | pa_get_host_name.argtypes = [STRING, size_t] 1505 | pa_get_fqdn = _libraries['libpulse.so.0'].pa_get_fqdn 1506 | pa_get_fqdn.restype = STRING 1507 | pa_get_fqdn.argtypes = [STRING, size_t] 1508 | pa_get_home_dir = _libraries['libpulse.so.0'].pa_get_home_dir 1509 | pa_get_home_dir.restype = STRING 1510 | pa_get_home_dir.argtypes = [STRING, size_t] 1511 | pa_get_binary_name = _libraries['libpulse.so.0'].pa_get_binary_name 1512 | pa_get_binary_name.restype = STRING 1513 | pa_get_binary_name.argtypes = [STRING, size_t] 1514 | pa_path_get_filename = _libraries['libpulse.so.0'].pa_path_get_filename 1515 | pa_path_get_filename.restype = STRING 1516 | pa_path_get_filename.argtypes = [STRING] 1517 | pa_msleep = _libraries['libpulse.so.0'].pa_msleep 1518 | pa_msleep.restype = c_int 1519 | pa_msleep.argtypes = [c_ulong] 1520 | pa_get_library_version = _libraries['libpulse.so.0'].pa_get_library_version 1521 | pa_get_library_version.restype = STRING 1522 | pa_get_library_version.argtypes = [] 1523 | pa_cvolume_equal = _libraries['libpulse.so.0'].pa_cvolume_equal 1524 | pa_cvolume_equal.restype = c_int 1525 | pa_cvolume_equal.argtypes = [POINTER(pa_cvolume), POINTER(pa_cvolume)] 1526 | pa_cvolume_init = _libraries['libpulse.so.0'].pa_cvolume_init 1527 | pa_cvolume_init.restype = POINTER(pa_cvolume) 1528 | pa_cvolume_init.argtypes = [POINTER(pa_cvolume)] 1529 | pa_cvolume_set = _libraries['libpulse.so.0'].pa_cvolume_set 1530 | pa_cvolume_set.restype = POINTER(pa_cvolume) 1531 | pa_cvolume_set.argtypes = [POINTER(pa_cvolume), c_uint, pa_volume_t] 1532 | pa_cvolume_snprint = _libraries['libpulse.so.0'].pa_cvolume_snprint 1533 | pa_cvolume_snprint.restype = STRING 1534 | pa_cvolume_snprint.argtypes = [STRING, size_t, POINTER(pa_cvolume)] 1535 | pa_sw_cvolume_snprint_dB = _libraries['libpulse.so.0'].pa_sw_cvolume_snprint_dB 1536 | pa_sw_cvolume_snprint_dB.restype = STRING 1537 | pa_sw_cvolume_snprint_dB.argtypes = [STRING, size_t, POINTER(pa_cvolume)] 1538 | pa_volume_snprint = _libraries['libpulse.so.0'].pa_volume_snprint 1539 | pa_volume_snprint.restype = STRING 1540 | pa_volume_snprint.argtypes = [STRING, size_t, pa_volume_t] 1541 | pa_sw_volume_snprint_dB = _libraries['libpulse.so.0'].pa_sw_volume_snprint_dB 1542 | pa_sw_volume_snprint_dB.restype = STRING 1543 | pa_sw_volume_snprint_dB.argtypes = [STRING, size_t, pa_volume_t] 1544 | pa_cvolume_avg = _libraries['libpulse.so.0'].pa_cvolume_avg 1545 | pa_cvolume_avg.restype = pa_volume_t 1546 | pa_cvolume_avg.argtypes = [POINTER(pa_cvolume)] 1547 | pa_cvolume_avg_mask = _libraries['libpulse.so.0'].pa_cvolume_avg_mask 1548 | pa_cvolume_avg_mask.restype = pa_volume_t 1549 | pa_cvolume_avg_mask.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map), pa_channel_position_mask_t] 1550 | pa_cvolume_max = _libraries['libpulse.so.0'].pa_cvolume_max 1551 | pa_cvolume_max.restype = pa_volume_t 1552 | pa_cvolume_max.argtypes = [POINTER(pa_cvolume)] 1553 | pa_cvolume_max_mask = _libraries['libpulse.so.0'].pa_cvolume_max_mask 1554 | pa_cvolume_max_mask.restype = pa_volume_t 1555 | pa_cvolume_max_mask.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map), pa_channel_position_mask_t] 1556 | pa_cvolume_min = _libraries['libpulse.so.0'].pa_cvolume_min 1557 | pa_cvolume_min.restype = pa_volume_t 1558 | pa_cvolume_min.argtypes = [POINTER(pa_cvolume)] 1559 | pa_cvolume_min_mask = _libraries['libpulse.so.0'].pa_cvolume_min_mask 1560 | pa_cvolume_min_mask.restype = pa_volume_t 1561 | pa_cvolume_min_mask.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map), pa_channel_position_mask_t] 1562 | pa_cvolume_valid = _libraries['libpulse.so.0'].pa_cvolume_valid 1563 | pa_cvolume_valid.restype = c_int 1564 | pa_cvolume_valid.argtypes = [POINTER(pa_cvolume)] 1565 | pa_cvolume_channels_equal_to = _libraries['libpulse.so.0'].pa_cvolume_channels_equal_to 1566 | pa_cvolume_channels_equal_to.restype = c_int 1567 | pa_cvolume_channels_equal_to.argtypes = [POINTER(pa_cvolume), pa_volume_t] 1568 | pa_sw_volume_multiply = _libraries['libpulse.so.0'].pa_sw_volume_multiply 1569 | pa_sw_volume_multiply.restype = pa_volume_t 1570 | pa_sw_volume_multiply.argtypes = [pa_volume_t, pa_volume_t] 1571 | pa_sw_cvolume_multiply = _libraries['libpulse.so.0'].pa_sw_cvolume_multiply 1572 | pa_sw_cvolume_multiply.restype = POINTER(pa_cvolume) 1573 | pa_sw_cvolume_multiply.argtypes = [POINTER(pa_cvolume), POINTER(pa_cvolume), POINTER(pa_cvolume)] 1574 | pa_sw_cvolume_multiply_scalar = _libraries['libpulse.so.0'].pa_sw_cvolume_multiply_scalar 1575 | pa_sw_cvolume_multiply_scalar.restype = POINTER(pa_cvolume) 1576 | pa_sw_cvolume_multiply_scalar.argtypes = [POINTER(pa_cvolume), POINTER(pa_cvolume), pa_volume_t] 1577 | pa_sw_volume_divide = _libraries['libpulse.so.0'].pa_sw_volume_divide 1578 | pa_sw_volume_divide.restype = pa_volume_t 1579 | pa_sw_volume_divide.argtypes = [pa_volume_t, pa_volume_t] 1580 | pa_sw_cvolume_divide = _libraries['libpulse.so.0'].pa_sw_cvolume_divide 1581 | pa_sw_cvolume_divide.restype = POINTER(pa_cvolume) 1582 | pa_sw_cvolume_divide.argtypes = [POINTER(pa_cvolume), POINTER(pa_cvolume), POINTER(pa_cvolume)] 1583 | pa_sw_cvolume_divide_scalar = _libraries['libpulse.so.0'].pa_sw_cvolume_divide_scalar 1584 | pa_sw_cvolume_divide_scalar.restype = POINTER(pa_cvolume) 1585 | pa_sw_cvolume_divide_scalar.argtypes = [POINTER(pa_cvolume), POINTER(pa_cvolume), pa_volume_t] 1586 | pa_sw_volume_from_dB = _libraries['libpulse.so.0'].pa_sw_volume_from_dB 1587 | pa_sw_volume_from_dB.restype = pa_volume_t 1588 | pa_sw_volume_from_dB.argtypes = [c_double] 1589 | pa_sw_volume_to_dB = _libraries['libpulse.so.0'].pa_sw_volume_to_dB 1590 | pa_sw_volume_to_dB.restype = c_double 1591 | pa_sw_volume_to_dB.argtypes = [pa_volume_t] 1592 | pa_sw_volume_from_linear = _libraries['libpulse.so.0'].pa_sw_volume_from_linear 1593 | pa_sw_volume_from_linear.restype = pa_volume_t 1594 | pa_sw_volume_from_linear.argtypes = [c_double] 1595 | pa_sw_volume_to_linear = _libraries['libpulse.so.0'].pa_sw_volume_to_linear 1596 | pa_sw_volume_to_linear.restype = c_double 1597 | pa_sw_volume_to_linear.argtypes = [pa_volume_t] 1598 | pa_cvolume_remap = _libraries['libpulse.so.0'].pa_cvolume_remap 1599 | pa_cvolume_remap.restype = POINTER(pa_cvolume) 1600 | pa_cvolume_remap.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map), POINTER(pa_channel_map)] 1601 | pa_cvolume_compatible = _libraries['libpulse.so.0'].pa_cvolume_compatible 1602 | pa_cvolume_compatible.restype = c_int 1603 | pa_cvolume_compatible.argtypes = [POINTER(pa_cvolume), POINTER(pa_sample_spec)] 1604 | pa_cvolume_compatible_with_channel_map = _libraries['libpulse.so.0'].pa_cvolume_compatible_with_channel_map 1605 | pa_cvolume_compatible_with_channel_map.restype = c_int 1606 | pa_cvolume_compatible_with_channel_map.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map)] 1607 | pa_cvolume_get_balance = _libraries['libpulse.so.0'].pa_cvolume_get_balance 1608 | pa_cvolume_get_balance.restype = c_float 1609 | pa_cvolume_get_balance.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map)] 1610 | pa_cvolume_set_balance = _libraries['libpulse.so.0'].pa_cvolume_set_balance 1611 | pa_cvolume_set_balance.restype = POINTER(pa_cvolume) 1612 | pa_cvolume_set_balance.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map), c_float] 1613 | pa_cvolume_get_fade = _libraries['libpulse.so.0'].pa_cvolume_get_fade 1614 | pa_cvolume_get_fade.restype = c_float 1615 | pa_cvolume_get_fade.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map)] 1616 | pa_cvolume_set_fade = _libraries['libpulse.so.0'].pa_cvolume_set_fade 1617 | pa_cvolume_set_fade.restype = POINTER(pa_cvolume) 1618 | pa_cvolume_set_fade.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map), c_float] 1619 | pa_cvolume_scale = _libraries['libpulse.so.0'].pa_cvolume_scale 1620 | pa_cvolume_scale.restype = POINTER(pa_cvolume) 1621 | pa_cvolume_scale.argtypes = [POINTER(pa_cvolume), pa_volume_t] 1622 | pa_cvolume_scale_mask = _libraries['libpulse.so.0'].pa_cvolume_scale_mask 1623 | pa_cvolume_scale_mask.restype = POINTER(pa_cvolume) 1624 | pa_cvolume_scale_mask.argtypes = [POINTER(pa_cvolume), pa_volume_t, POINTER(pa_channel_map), pa_channel_position_mask_t] 1625 | pa_cvolume_set_position = _libraries['libpulse.so.0'].pa_cvolume_set_position 1626 | pa_cvolume_set_position.restype = POINTER(pa_cvolume) 1627 | pa_cvolume_set_position.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map), pa_channel_position_t, pa_volume_t] 1628 | pa_cvolume_get_position = _libraries['libpulse.so.0'].pa_cvolume_get_position 1629 | pa_cvolume_get_position.restype = pa_volume_t 1630 | pa_cvolume_get_position.argtypes = [POINTER(pa_cvolume), POINTER(pa_channel_map), pa_channel_position_t] 1631 | pa_cvolume_merge = _libraries['libpulse.so.0'].pa_cvolume_merge 1632 | pa_cvolume_merge.restype = POINTER(pa_cvolume) 1633 | pa_cvolume_merge.argtypes = [POINTER(pa_cvolume), POINTER(pa_cvolume), POINTER(pa_cvolume)] 1634 | pa_cvolume_inc_clamp = _libraries['libpulse.so.0'].pa_cvolume_inc_clamp 1635 | pa_cvolume_inc_clamp.restype = POINTER(pa_cvolume) 1636 | pa_cvolume_inc_clamp.argtypes = [POINTER(pa_cvolume), pa_volume_t, pa_volume_t] 1637 | pa_cvolume_inc = _libraries['libpulse.so.0'].pa_cvolume_inc 1638 | pa_cvolume_inc.restype = POINTER(pa_cvolume) 1639 | pa_cvolume_inc.argtypes = [POINTER(pa_cvolume), pa_volume_t] 1640 | pa_cvolume_dec = _libraries['libpulse.so.0'].pa_cvolume_dec 1641 | pa_cvolume_dec.restype = POINTER(pa_cvolume) 1642 | pa_cvolume_dec.argtypes = [POINTER(pa_cvolume), pa_volume_t] 1643 | pa_xmalloc = _libraries['libpulse.so.0'].pa_xmalloc 1644 | pa_xmalloc.restype = c_void_p 1645 | pa_xmalloc.argtypes = [size_t] 1646 | pa_xmalloc0 = _libraries['libpulse.so.0'].pa_xmalloc0 1647 | pa_xmalloc0.restype = c_void_p 1648 | pa_xmalloc0.argtypes = [size_t] 1649 | pa_xrealloc = _libraries['libpulse.so.0'].pa_xrealloc 1650 | pa_xrealloc.restype = c_void_p 1651 | pa_xrealloc.argtypes = [c_void_p, size_t] 1652 | pa_xfree = _libraries['libpulse.so.0'].pa_xfree 1653 | pa_xfree.restype = None 1654 | pa_xfree.argtypes = [c_void_p] 1655 | pa_xstrdup = _libraries['libpulse.so.0'].pa_xstrdup 1656 | pa_xstrdup.restype = STRING 1657 | pa_xstrdup.argtypes = [STRING] 1658 | pa_xstrndup = _libraries['libpulse.so.0'].pa_xstrndup 1659 | pa_xstrndup.restype = STRING 1660 | pa_xstrndup.argtypes = [STRING, size_t] 1661 | pa_xmemdup = _libraries['libpulse.so.0'].pa_xmemdup 1662 | pa_xmemdup.restype = c_void_p 1663 | pa_xmemdup.argtypes = [c_void_p, size_t] 1664 | PA_CHANNELS_MAX = 32L # Variable c_uint '32u' 1665 | PA_PROP_WINDOW_DESKTOP = 'window.desktop' # Variable STRING '(const char*)"window.desktop"' 1666 | PA_NSEC_PER_SEC = 1000000000L # Variable c_ulonglong '1000000000ull' 1667 | PA_PROP_WINDOW_ICON = 'window.icon' # Variable STRING '(const char*)"window.icon"' 1668 | PA_NSEC_PER_MSEC = 1000000L # Variable c_ulonglong '1000000ull' 1669 | PA_USEC_PER_MSEC = 1000L # Variable c_ulong '1000u' 1670 | PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE = 'device.buffering.buffer_size' # Variable STRING '(const char*)"device.buffering.buffer_size"' 1671 | PA_VOLUME_MUTED = 0L # Variable c_uint '0u' 1672 | PA_PROP_WINDOW_HPOS = 'window.hpos' # Variable STRING '(const char*)"window.hpos"' 1673 | PA_PROP_DEVICE_CLASS = 'device.class' # Variable STRING '(const char*)"device.class"' 1674 | PA_USEC_PER_SEC = 1000000L # Variable c_ulong '1000000u' 1675 | PA_PROP_WINDOW_X11_DISPLAY = 'window.x11.display' # Variable STRING '(const char*)"window.x11.display"' 1676 | PA_PROP_DEVICE_VENDOR_ID = 'device.vendor.id' # Variable STRING '(const char*)"device.vendor.id"' 1677 | PA_PROP_FILTER_SUPPRESS = 'filter.suppress' # Variable STRING '(const char*)"filter.suppress"' 1678 | PA_PROP_FORMAT_CHANNEL_MAP = 'format.channel_map' # Variable STRING '(const char*)"format.channel_map"' 1679 | PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE = 'device.buffering.fragment_size' # Variable STRING '(const char*)"device.buffering.fragment_size"' 1680 | PA_PROP_DEVICE_PROFILE_DESCRIPTION = 'device.profile.description' # Variable STRING '(const char*)"device.profile.description"' 1681 | PA_PROP_MEDIA_ICON = 'media.icon' # Variable STRING '(const char*)"media.icon"' 1682 | PA_PROP_DEVICE_PRODUCT_ID = 'device.product.id' # Variable STRING '(const char*)"device.product.id"' 1683 | PA_PROP_FILTER_APPLY = 'filter.apply' # Variable STRING '(const char*)"filter.apply"' 1684 | PA_PROP_WINDOW_VPOS = 'window.vpos' # Variable STRING '(const char*)"window.vpos"' 1685 | PA_PROP_DEVICE_BUS_PATH = 'device.bus_path' # Variable STRING '(const char*)"device.bus_path"' 1686 | PA_PROP_APPLICATION_PROCESS_MACHINE_ID = 'application.process.machine_id' # Variable STRING '(const char*)"application.process.machine_id"' 1687 | PA_PROP_WINDOW_Y = 'window.y' # Variable STRING '(const char*)"window.y"' 1688 | PA_PROP_WINDOW_X = 'window.x' # Variable STRING '(const char*)"window.x"' 1689 | PA_PROP_APPLICATION_PROCESS_ID = 'application.process.id' # Variable STRING '(const char*)"application.process.id"' 1690 | PA_PROP_MEDIA_ICON_NAME = 'media.icon_name' # Variable STRING '(const char*)"media.icon_name"' 1691 | PA_CVOLUME_SNPRINT_MAX = 320 # Variable c_int '320' 1692 | PA_RATE_MAX = 192000L # Variable c_uint '192000u' 1693 | PA_MICRO = 0 # Variable c_int '0' 1694 | PA_PROP_APPLICATION_ICON_NAME = 'application.icon_name' # Variable STRING '(const char*)"application.icon_name"' 1695 | PA_PROP_MODULE_VERSION = 'module.version' # Variable STRING '(const char*)"module.version"' 1696 | PA_INVALID_INDEX = 4294967295L # Variable c_uint '4294967295u' 1697 | PA_PROP_APPLICATION_PROCESS_HOST = 'application.process.host' # Variable STRING '(const char*)"application.process.host"' 1698 | PA_PROP_DEVICE_ICON = 'device.icon' # Variable STRING '(const char*)"device.icon"' 1699 | PA_PROP_WINDOW_X11_SCREEN = 'window.x11.screen' # Variable STRING '(const char*)"window.x11.screen"' 1700 | PA_USEC_INVALID = 18446744073709551615L # Variable c_ulong '-1u' 1701 | PA_PROP_APPLICATION_LANGUAGE = 'application.language' # Variable STRING '(const char*)"application.language"' 1702 | PA_PROP_WINDOW_WIDTH = 'window.width' # Variable STRING '(const char*)"window.width"' 1703 | PA_PROP_DEVICE_STRING = 'device.string' # Variable STRING '(const char*)"device.string"' 1704 | PA_PROP_DEVICE_BUS = 'device.bus' # Variable STRING '(const char*)"device.bus"' 1705 | PA_PROTOCOL_VERSION = 23 # Variable c_int '23' 1706 | PA_PROP_MEDIA_ROLE = 'media.role' # Variable STRING '(const char*)"media.role"' 1707 | PA_MINOR = 1 # Variable c_int '1' 1708 | PA_PROP_EVENT_MOUSE_VPOS = 'event.mouse.vpos' # Variable STRING '(const char*)"event.mouse.vpos"' 1709 | PA_PROP_MEDIA_ARTIST = 'media.artist' # Variable STRING '(const char*)"media.artist"' 1710 | PA_PROP_MEDIA_SOFTWARE = 'media.software' # Variable STRING '(const char*)"media.software"' 1711 | PA_PROP_APPLICATION_ID = 'application.id' # Variable STRING '(const char*)"application.id"' 1712 | PA_DECIBEL_MININFTY = -200.0 # Variable c_double '-2.0e+2' 1713 | PA_PROP_WINDOW_NAME = 'window.name' # Variable STRING '(const char*)"window.name"' 1714 | PA_NSEC_PER_USEC = 1000L # Variable c_ulonglong '1000ull' 1715 | PA_API_VERSION = 12 # Variable c_int '12' 1716 | PA_PROP_WINDOW_X11_XID = 'window.x11.xid' # Variable STRING '(const char*)"window.x11.xid"' 1717 | PA_VOLUME_NORM = 65536L # Variable c_uint '65536u' 1718 | PA_PROP_EVENT_MOUSE_BUTTON = 'event.mouse.button' # Variable STRING '(const char*)"event.mouse.button"' 1719 | PA_PROP_APPLICATION_PROCESS_USER = 'application.process.user' # Variable STRING '(const char*)"application.process.user"' 1720 | PA_PROP_APPLICATION_ICON = 'application.icon' # Variable STRING '(const char*)"application.icon"' 1721 | PA_PROP_WINDOW_X11_MONITOR = 'window.x11.monitor' # Variable STRING '(const char*)"window.x11.monitor"' 1722 | PA_STREAM_EVENT_REQUEST_CORK = 'request-cork' # Variable STRING '(const char*)"request-cork"' 1723 | PA_PROP_MEDIA_FILENAME = 'media.filename' # Variable STRING '(const char*)"media.filename"' 1724 | PA_PROP_FORMAT_SAMPLE_FORMAT = 'format.sample_format' # Variable STRING '(const char*)"format.sample_format"' 1725 | PA_CHANNEL_MAP_SNPRINT_MAX = 336 # Variable c_int '336' 1726 | PA_PROP_MEDIA_TITLE = 'media.title' # Variable STRING '(const char*)"media.title"' 1727 | PA_PROP_EVENT_MOUSE_X = 'event.mouse.x' # Variable STRING '(const char*)"event.mouse.x"' 1728 | PA_SAMPLE_SPEC_SNPRINT_MAX = 32 # Variable c_int '32' 1729 | PA_PROP_EVENT_MOUSE_Y = 'event.mouse.y' # Variable STRING '(const char*)"event.mouse.y"' 1730 | PA_PROP_FILTER_WANT = 'filter.want' # Variable STRING '(const char*)"filter.want"' 1731 | PA_PROP_MODULE_USAGE = 'module.usage' # Variable STRING '(const char*)"module.usage"' 1732 | PA_PROP_WINDOW_ID = 'window.id' # Variable STRING '(const char*)"window.id"' 1733 | PA_PROP_DEVICE_API = 'device.api' # Variable STRING '(const char*)"device.api"' 1734 | PA_PROP_EVENT_DESCRIPTION = 'event.description' # Variable STRING '(const char*)"event.description"' 1735 | PA_PROP_DEVICE_ACCESS_MODE = 'device.access_mode' # Variable STRING '(const char*)"device.access_mode"' 1736 | PA_PROP_EVENT_MOUSE_HPOS = 'event.mouse.hpos' # Variable STRING '(const char*)"event.mouse.hpos"' 1737 | PA_PROP_DEVICE_MASTER_DEVICE = 'device.master_device' # Variable STRING '(const char*)"device.master_device"' 1738 | PA_PROP_FORMAT_RATE = 'format.rate' # Variable STRING '(const char*)"format.rate"' 1739 | PA_PROP_DEVICE_PROFILE_NAME = 'device.profile.name' # Variable STRING '(const char*)"device.profile.name"' 1740 | PA_STREAM_EVENT_REQUEST_UNCORK = 'request-uncork' # Variable STRING '(const char*)"request-uncork"' 1741 | PA_PROP_EVENT_ID = 'event.id' # Variable STRING '(const char*)"event.id"' 1742 | PA_BYTES_SNPRINT_MAX = 11 # Variable c_int '11' 1743 | PA_PROP_DEVICE_FORM_FACTOR = 'device.form_factor' # Variable STRING '(const char*)"device.form_factor"' 1744 | PA_PROP_APPLICATION_PROCESS_SESSION_ID = 'application.process.session_id' # Variable STRING '(const char*)"application.process.session_id"' 1745 | PA_USEC_MAX = 18446744073709551614L # Variable c_ulong '-2u' 1746 | PA_PROP_FORMAT_CHANNELS = 'format.channels' # Variable STRING '(const char*)"format.channels"' 1747 | PA_PROP_MEDIA_NAME = 'media.name' # Variable STRING '(const char*)"media.name"' 1748 | PA_VOLUME_SNPRINT_MAX = 10 # Variable c_int '10' 1749 | PA_PROP_DEVICE_SERIAL = 'device.serial' # Variable STRING '(const char*)"device.serial"' 1750 | PA_STREAM_EVENT_FORMAT_LOST = 'format-lost' # Variable STRING '(const char*)"format-lost"' 1751 | PA_PROP_APPLICATION_VERSION = 'application.version' # Variable STRING '(const char*)"application.version"' 1752 | PA_PROP_DEVICE_PRODUCT_NAME = 'device.product.name' # Variable STRING '(const char*)"device.product.name"' 1753 | PA_PROP_MODULE_AUTHOR = 'module.author' # Variable STRING '(const char*)"module.author"' 1754 | PA_PROP_WINDOW_ICON_NAME = 'window.icon_name' # Variable STRING '(const char*)"window.icon_name"' 1755 | PA_MAJOR = 1 # Variable c_int '1' 1756 | PA_MSEC_PER_SEC = 1000L # Variable c_ulong '1000u' 1757 | PA_PROP_DEVICE_VENDOR_NAME = 'device.vendor.name' # Variable STRING '(const char*)"device.vendor.name"' 1758 | PA_PROP_DEVICE_INTENDED_ROLES = 'device.intended_roles' # Variable STRING '(const char*)"device.intended_roles"' 1759 | PA_SW_CVOLUME_SNPRINT_DB_MAX = 448 # Variable c_int '448' 1760 | PA_PROP_DEVICE_DESCRIPTION = 'device.description' # Variable STRING '(const char*)"device.description"' 1761 | PA_PROP_APPLICATION_NAME = 'application.name' # Variable STRING '(const char*)"application.name"' 1762 | PA_PROP_DEVICE_ICON_NAME = 'device.icon_name' # Variable STRING '(const char*)"device.icon_name"' 1763 | PA_PROP_MODULE_DESCRIPTION = 'module.description' # Variable STRING '(const char*)"module.description"' 1764 | PA_FORMAT_INFO_SNPRINT_MAX = 256 # Variable c_int '256' 1765 | PA_PROP_APPLICATION_PROCESS_BINARY = 'application.process.binary' # Variable STRING '(const char*)"application.process.binary"' 1766 | PA_PROP_WINDOW_HEIGHT = 'window.height' # Variable STRING '(const char*)"window.height"' 1767 | PA_PROP_MEDIA_COPYRIGHT = 'media.copyright' # Variable STRING '(const char*)"media.copyright"' 1768 | PA_SW_VOLUME_SNPRINT_DB_MAX = 10 # Variable c_int '10' 1769 | PA_PROP_MEDIA_LANGUAGE = 'media.language' # Variable STRING '(const char*)"media.language"' 1770 | pollfd._fields_ = [ 1771 | ] 1772 | __all__ = ['pa_context_set_name', 1773 | 'pa_context_get_source_info_by_index', 1774 | 'pa_time_event_destroy_cb_t', 'PA_IO_EVENT_HANGUP', 1775 | 'pa_client_info', 'pa_context_set_sink_volume_by_name', 1776 | 'pa_stream_request_cb_t', 'PA_PROP_MEDIA_ROLE', 1777 | 'PA_STREAM_UPLOAD', 'PA_SUBSCRIPTION_MASK_SOURCE', 1778 | 'PA_PROP_DEVICE_API', 'pa_context_get_protocol_version', 1779 | 'pa_channel_map_def_t', 1780 | 'pa_context_set_card_profile_by_name', 1781 | 'pa_context_get_server_info', 'pa_stream_set_buffer_attr', 1782 | 'pa_context_get_sample_info_by_index', 'uint8_t', 1783 | 'pa_get_host_name', 'pa_bytes_to_usec', 'pa_free_cb_t', 1784 | 'pa_format_info_set_channel_map', 1785 | 'pa_context_get_client_info_list', 1786 | 'pa_threaded_mainloop_in_thread', 'pa_xfree', 1787 | 'pa_proplist_iterate', 1788 | 'PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE', 'PA_VOLUME_MUTED', 1789 | 'pa_context_move_sink_input_by_index', 1790 | 'pa_context_suspend_sink_by_name', 'PA_CONTEXT_NOFAIL', 1791 | 'PA_PROP_DEVICE_CLASS', 'pa_encoding_t', 1792 | 'pa_stream_set_name', 'PA_PROP_FILTER_SUPPRESS', 1793 | 'pa_stream_set_event_callback', 'pa_channel_map_valid', 1794 | 'PA_CHANNEL_POSITION_SUBWOOFER', 'pa_signal_destroy_cb_t', 1795 | 'pa_channel_position_from_string', '__time_t', 1796 | 'pa_seek_mode', 'PA_SUBSCRIPTION_MASK_CLIENT', 1797 | 'pa_context_set_sink_volume_by_index', 1798 | 'pa_context_get_module_info', 'pa_sample_spec_init', 1799 | 'PA_RATE_MAX', 'pa_channel_position_mask_t', 1800 | 'PA_SINK_LATENCY', 'PA_PROP_MEDIA_ICON', 'PA_USEC_INVALID', 1801 | 'pa_cvolume_set_fade', 1802 | 'pa_context_remove_autoload_by_name', 1803 | 'pa_mainloop_get_retval', 1804 | 'pa_format_info_set_prop_string_array', 'PA_SINK_UNLINKED', 1805 | 'pa_subscription_event_type_t', 'PA_ERR_TIMEOUT', 1806 | 'PA_PROP_APPLICATION_PROCESS_ID', 1807 | 'pa_context_get_source_output_info_list', 'pa_sample_spec', 1808 | 'pa_context_play_sample_with_proplist', 1809 | 'PA_ENCODING_DTS_IEC61937', 'PA_ERR_NOTSUPPORTED', 1810 | 'pa_stream_get_channel_map', 'pa_channel_map_parse', 1811 | 'pa_channel_map_equal', 'PA_CHANNEL_POSITION_MAX', 1812 | 'pa_cvolume_remap', 'PA_STREAM_AUTO_TIMING_UPDATE', 1813 | 'PA_STREAM_PASSTHROUGH', 'PA_PROP_DEVICE_STRING', 1814 | 'pa_context_get_autoload_info_by_index', 1815 | 'pa_format_info_is_compatible', 1816 | 'pa_context_play_sample_cb_t', 'pa_proplist_size', 1817 | 'pa_xstrdup', 'pa_stream_get_timing_info', 1818 | 'pa_cvolume_get_position', 'PA_CHANNEL_POSITION_AUX18', 1819 | 'PA_CHANNEL_POSITION_AUX19', 'pa_signal_init', 1820 | 'PA_CHANNEL_POSITION_AUX10', 'PA_CHANNEL_POSITION_AUX11', 1821 | 'PA_CHANNEL_POSITION_AUX12', 'PA_CHANNEL_POSITION_AUX13', 1822 | 'PA_CHANNEL_POSITION_AUX14', 'PA_CHANNEL_POSITION_AUX15', 1823 | 'PA_CHANNEL_POSITION_AUX16', 'PA_CHANNEL_POSITION_AUX17', 1824 | 'pa_stream_set_moved_callback', 'pa_stream_trigger', 1825 | 'pa_timeval_age', 'PA_SAMPLE_U8', 'PA_SINK_HARDWARE', 1826 | 'pa_stream_get_device_index', 'pa_cvolume_max', 1827 | 'PA_PROP_EVENT_ID', 'PA_NSEC_PER_USEC', 1828 | 'pa_format_info_set_rate', 'pa_stream_state_t', 1829 | 'PA_BYTES_SNPRINT_MAX', 'pa_proplist_from_string', 1830 | 'PA_CHANNEL_POSITION_INVALID', 'PA_ERR_INTERNAL', 1831 | 'PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER', 1832 | 'pa_cvolume_avg', 'pa_stream_state', 1833 | 'PA_PROP_WINDOW_X11_XID', 'PA_CONTEXT_UNCONNECTED', 1834 | 'PA_SUBSCRIPTION_EVENT_MODULE', 'PA_ERR_TOOLARGE', 1835 | 'PA_CHANNEL_MAP_ALSA', 'PA_STREAM_FIX_FORMAT', 1836 | 'PA_SOURCE_HARDWARE', 'PA_CHANNEL_POSITION_CENTER', 1837 | 'PA_PROP_WINDOW_X11_MONITOR', 1838 | 'pa_context_set_source_volume_by_index', 1839 | 'PA_PROP_MEDIA_FILENAME', 'PA_SINK_DECIBEL_VOLUME', 1840 | 'pa_operation_ref', 'pa_format_info_copy', 1841 | 'pa_channel_position_t', 'pa_sample_format_t', 1842 | 'pa_stream_flush', 'PA_PROP_FORMAT_SAMPLE_FORMAT', 1843 | 'PA_SEEK_ABSOLUTE', 'PA_PROP_MEDIA_TITLE', 1844 | 'PA_SAMPLE_SPEC_SNPRINT_MAX', 'PA_SOURCE_INVALID_STATE', 1845 | 'pa_stream_set_write_callback', 'PA_SOURCE_LATENCY', 1846 | 'PA_CHANNELS_MAX', 'PA_CONTEXT_NOAUTOSPAWN', 1847 | 'pa_cvolume_set_position', 'pa_sample_info', 1848 | 'pa_subscription_mask_t', 'PA_SUBSCRIPTION_EVENT_SOURCE', 1849 | 'pa_io_event_flags', 'pa_context_errno', 1850 | 'PA_CONTEXT_READY', 'PA_SAMPLE_S24BE', 1851 | 'pa_threaded_mainloop_wait', 'pa_stream_connect_record', 1852 | 'pa_context_remove_autoload_by_index', 1853 | 'PA_SEEK_RELATIVE_END', 'pa_timing_info', 1854 | 'pa_path_get_filename', 'pa_stream_get_buffer_attr', 1855 | 'PA_STREAM_EVENT_REQUEST_UNCORK', 'pa_defer_event', 1856 | 'pa_get_binary_name', 'pa_channel_map_can_balance', 1857 | 'PA_API_VERSION', 'pa_stream_set_buffer_attr_callback', 1858 | 'PA_CHANNEL_MAP_OSS', 'pa_format_info_is_pcm', 1859 | 'pa_context_get_server_protocol_version', 1860 | 'pa_sample_format_is_be', 'PA_SUBSCRIPTION_EVENT_CLIENT', 1861 | 'pa_stream_ref', 'PA_SOURCE_HW_VOLUME_CTRL', 1862 | 'PA_PROP_MEDIA_COPYRIGHT', 'pollfd', 'PA_ERR_ACCESS', 1863 | 'PA_CHANNEL_POSITION_TOP_FRONT_RIGHT', 1864 | 'pa_defer_event_destroy_cb_t', 'pa_strerror', 1865 | 'pa_channel_map_snprint', 'PA_STREAM_FIX_RATE', 1866 | 'pa_context_drain', 'pa_stream_direction_t', 1867 | 'PA_PROP_DEVICE_VENDOR_NAME', 1868 | 'PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE', 1869 | 'PA_PROP_APPLICATION_PROCESS_HOST', 1870 | 'pa_stream_get_format_info', 'PA_PROP_APPLICATION_NAME', 1871 | 'pa_signal_new', 'PA_SAMPLE_S24_32BE', 'PA_SOURCE_NETWORK', 1872 | 'PA_SUBSCRIPTION_EVENT_FACILITY_MASK', 1873 | 'pa_mainloop_wakeup', 'pa_xstrndup', 'PA_SEEK_RELATIVE', 1874 | 'pa_module_info', 'pa_encoding_to_string', 'PA_ERR_IO', 1875 | 'pa_stream_flags_t', 'pa_timeval_sub', 'pa_timeval_add', 1876 | 'PA_CHANNEL_POSITION_TOP_REAR_CENTER', 1877 | 'PA_CONTEXT_CONNECTING', 'pa_context_add_autoload', 1878 | 'pa_sw_cvolume_divide', 1879 | 'pa_context_set_source_mute_by_name', 1880 | 'PA_SUBSCRIPTION_MASK_AUTOLOAD', 'pa_stream_cancel_write', 1881 | 'PA_SINK_HW_MUTE_CTRL', 'PA_CHANNEL_POSITION_AUX21', 1882 | 'PA_CHANNEL_POSITION_AUX20', 'PA_CHANNEL_POSITION_AUX23', 1883 | 'PA_CHANNEL_POSITION_AUX22', 'PA_CHANNEL_POSITION_AUX25', 1884 | 'PA_UPDATE_MERGE', 'PA_CHANNEL_POSITION_AUX27', 1885 | 'PA_SOURCE_DYNAMIC_LATENCY', 'PA_CHANNEL_POSITION_AUX29', 1886 | 'PA_CHANNEL_POSITION_AUX28', 1887 | 'pa_stream_set_started_callback', 'PA_SINK_FLAT_VOLUME', 1888 | 'size_t', 'pa_context_flags', 'pa_utf8_to_locale', 1889 | 'pa_proplist_sets', 'pa_proplist_setp', 1890 | 'PA_ERR_CONNECTIONTERMINATED', 'pa_format_info_free', 1891 | 'PA_PROP_WINDOW_ICON', 'pa_operation_cancel', 1892 | 'PA_CHANNEL_MAP_SNPRINT_MAX', 'PA_DEVICE_TYPE_SINK', 1893 | 'PA_CHANNEL_POSITION_TOP_FRONT_CENTER', 1894 | 'pa_format_info_from_string', 'pa_proplist_setf', 1895 | 'pa_cvolume_set', 'pa_bytes_per_second', 1896 | 'PA_PROP_DEVICE_PROFILE_DESCRIPTION', 'pa_stream', 1897 | 'PA_ERR_COMMAND', 'PA_SUBSCRIPTION_MASK_SINK_INPUT', 1898 | 'pa_channel_map_to_pretty_name', 'pa_card_info', 1899 | 'PA_CONTEXT_SETTING_NAME', 'PA_IO_EVENT_OUTPUT', 1900 | 'PA_PROP_FORMAT_CHANNEL_MAP', 1901 | 'pa_context_set_card_profile_by_index', 1902 | 'PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER', 1903 | 'pa_sample_info_cb_t', 'pa_source_state', 1904 | 'pa_channel_map_init_mono', 'pa_stream_readable_size', 1905 | 'PA_PROP_WINDOW_WIDTH', 'pa_stream_set_suspended_callback', 1906 | 'pa_cvolume_scale_mask', 'pa_stream_get_underflow_index', 1907 | 'pa_stream_begin_write', 'pa_stream_get_time', 1908 | 'pa_cvolume', 'pa_context_set_state_callback', 1909 | 'pa_sw_cvolume_multiply', 'PA_CHANNEL_POSITION_REAR_LEFT', 1910 | 'PA_ERR_EXIST', 'pa_threaded_mainloop_lock', 'pa_io_event', 1911 | 'PA_VOLUME_NORM', 'pa_proplist_unset_many', 1912 | 'PA_SAMPLE_MAX', 'PA_SOURCE_DECIBEL_VOLUME', 1913 | 'PA_PROP_WINDOW_Y', 'PA_PROP_WINDOW_X', 1914 | 'pa_stream_get_state', 'pa_frame_size', 1915 | 'pa_sample_size_of_format', 'PA_SAMPLE_FLOAT32LE', 1916 | 'PA_STREAM_FIX_CHANNELS', 'PA_CONTEXT_NOFLAGS', 1917 | 'PA_STREAM_EARLY_REQUESTS', 'pa_update_mode_t', 1918 | 'pa_proplist_unset', 'PA_ERR_PROTOCOL', 1919 | 'PA_PROP_MODULE_AUTHOR', 'PA_SOURCE_HW_MUTE_CTRL', 1920 | 'pa_context_set_subscribe_callback', 1921 | 'PA_PROP_MODULE_VERSION', 'PA_ENCODING_ANY', 1922 | 'pa_context_set_default_sink', 'PA_SAMPLE_S24_32LE', 1923 | 'pa_context_get_client_info', 'PA_ENCODING_PCM', 1924 | 'pa_stream_notify_cb_t', 'pa_context_index_cb_t', 1925 | 'pa_cvolume_merge', 'PA_ENCODING_MAX', 'pa_signal_done', 1926 | 'pa_threaded_mainloop_new', 'PA_PROP_DEVICE_ICON', 1927 | 'pa_channel_map_init_extend', 'PA_SUBSCRIPTION_MASK_SINK', 1928 | 'pa_context_set_sink_mute_by_name', 'pa_sample_spec_equal', 1929 | 'pa_mainloop_api_once', 'pa_threaded_mainloop_stop', 1930 | 'pa_timeval_cmp', 'pa_source_flags_t', 'pa_sink_flags', 1931 | 'pa_io_event_cb_t', 'pa_mainloop_get_api', 1932 | 'PA_CHANNEL_MAP_DEF_MAX', 'pa_usec_to_bytes', 1933 | 'PA_ERR_VERSION', 'pa_stream_prebuf', 'PA_IO_EVENT_NULL', 1934 | 'PA_OPERATION_RUNNING', 'PA_CHANNEL_POSITION_LEFT', 1935 | 'pa_cvolume_min', 'PA_CHANNEL_POSITION_RIGHT', 1936 | 'PA_SINK_INVALID_STATE', 'PA_SUBSCRIPTION_EVENT_SINK', 1937 | 'pa_io_event_flags_t', '__suseconds_t', 1938 | 'pa_channel_map_init_stereo', 'PA_CHANNEL_MAP_AUX', 1939 | 'pa_threaded_mainloop_unlock', 'PA_SINK_RUNNING', 1940 | 'pa_source_flags', 'pa_stream_proplist_remove', 1941 | 'pa_get_library_version', 'PA_SINK_NETWORK', 1942 | 'pa_stream_event_cb_t', 'PA_ENCODING_MPEG_IEC61937', 1943 | 'PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT', 'pa_source_state_t', 1944 | 'pa_xmalloc0', 'PA_UPDATE_SET', 1945 | 'pa_stream_update_timing_info', 1946 | 'PA_SUBSCRIPTION_EVENT_REMOVE', 'pa_stat_info', 1947 | 'PA_CONTEXT_AUTHORIZING', 'pa_proplist_new', 1948 | 'PA_SOURCE_INIT', 'pa_mainloop', 'PA_USEC_PER_SEC', 1949 | 'pa_stream_writable_size', 'PA_PROP_EVENT_MOUSE_HPOS', 1950 | 'PA_SUBSCRIPTION_MASK_CARD', 1951 | 'pa_context_set_sink_port_by_name', 1952 | 'pa_sw_cvolume_snprint_dB', 1953 | 'PA_SUBSCRIPTION_MASK_SAMPLE_CACHE', 'PA_PROP_FILTER_WANT', 1954 | 'PA_STREAM_INTERPOLATE_TIMING', 1955 | 'pa_context_set_sink_input_volume', 1956 | 'pa_stream_proplist_update', 'pa_volume_snprint', 1957 | 'pa_context_get_sink_info_by_name', 'uint64_t', 1958 | 'PA_CVOLUME_SNPRINT_MAX', 'pa_spawn_api', 1959 | 'PA_CHANNEL_POSITION_TOP_FRONT_LEFT', 1960 | 'pa_context_set_sink_input_mute', 'PA_USEC_MAX', 1961 | 'PA_CHANNEL_POSITION_TOP_CENTER', 'pa_get_home_dir', 1962 | 'pa_operation_unref', 'PA_ERR_BADSTATE', 'pa_mainloop_run', 1963 | 'pa_mainloop_iterate', 'PA_SUBSCRIPTION_MASK_NULL', 1964 | 'pa_cvolume_inc_clamp', 'PA_PROP_MODULE_USAGE', 1965 | 'pa_device_type', 'pa_sample_format_is_le', 'pa_xmalloc', 1966 | 'PA_ERR_MODINITFAILED', 'timeval', 1967 | 'PA_PROP_WINDOW_ICON_NAME', 'pa_sample_spec_snprint', 1968 | 'PA_MSEC_PER_SEC', 'pa_stream_get_sample_spec', 1969 | 'PA_STREAM_START_UNMUTED', 'PA_STREAM_TERMINATED', 1970 | 'pa_context_get_card_info_list', 'pa_cvolume_scale', 1971 | 'pa_proplist', 'pa_cvolume_init', 1972 | 'pa_stream_set_read_callback', 'pa_server_info', 1973 | 'PA_PROP_APPLICATION_ICON_NAME', 'PA_SAMPLE_ALAW', 1974 | 'PA_SUBSCRIPTION_MASK_MODULE', 'PA_STREAM_FAILED', 1975 | 'pa_sw_volume_divide', 'pa_stream_finish_upload', 1976 | 'PA_PROP_EVENT_DESCRIPTION', 'pa_sw_volume_from_dB', 1977 | 'pa_format_info_set_prop_int_array', 'PA_ERR_AUTHKEY', 1978 | 'PA_SUBSCRIPTION_EVENT_NEW', 'PA_STREAM_EVENT_FORMAT_LOST', 1979 | 'PA_SUBSCRIPTION_EVENT_SINK_INPUT', 1980 | 'PA_PROP_FORMAT_CHANNELS', 'PA_PROP_MEDIA_LANGUAGE', 1981 | 'pa_source_output_info', 'pa_context_state_t', 1982 | 'PA_PROP_APPLICATION_ICON', 1983 | 'PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND', 1984 | 'PA_PROP_WINDOW_DESKTOP', 'pa_io_event_destroy_cb_t', 1985 | 'PA_ERR_MAX', 'pa_proplist_to_string', 1986 | 'PA_CHANNEL_POSITION_SIDE_RIGHT', 'pa_context_stat', 1987 | 'pa_locale_to_utf8', 'pa_context_set_source_port_by_index', 1988 | 'pa_stream_set_latency_update_callback', 1989 | 'PA_PROP_WINDOW_VPOS', 'pa_operation_state_t', 1990 | 'PA_CHANNEL_POSITION_AUX24', 'pa_context_get_state', 1991 | 'PA_ERR_FORKED', 'pa_source_info', 1992 | 'PA_CHANNEL_POSITION_AUX26', 'PA_ERR_CONNECTIONREFUSED', 1993 | 'PA_CHANNEL_POSITION_FRONT_RIGHT', 'pa_sample_size', 1994 | 'PA_PROP_DEVICE_DESCRIPTION', 'pa_msleep', 1995 | 'PA_USEC_PER_MSEC', 'pa_context_get_sink_info_list', 1996 | 'PA_CHANNEL_POSITION_AUX30', 'PA_CHANNEL_POSITION_AUX31', 1997 | 'PA_SAMPLE_INVALID', 'PA_SAMPLE_ULAW', 'pa_usec_t', 1998 | 'pa_autoload_info_cb_t', 'pa_gettimeofday', 1999 | 'pa_card_info_cb_t', 'PA_STREAM_ADJUST_LATENCY', 2000 | 'PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE', 2001 | 'pa_cvolume_equal', 'pa_parse_sample_format', 2002 | 'PA_IO_EVENT_ERROR', 'pa_context_set_sink_port_by_index', 2003 | 'PA_DEVICE_TYPE_SOURCE', 'pa_threaded_mainloop_get_api', 2004 | 'pa_bytes_snprint', 'pa_context_event_cb_t', 2005 | 'pa_cvolume_valid', 'pa_context_rttime_restart', 2006 | 'PA_PROP_EVENT_MOUSE_VPOS', 'pa_mainloop_poll', 2007 | 'PA_STREAM_NO_REMAP_CHANNELS', 'pa_mainloop_free', 2008 | 'PA_SINK_SUSPENDED', 'pa_threaded_mainloop_start', 2009 | 'pa_format_info_set_sample_format', 2010 | 'pa_format_info_set_prop_int', 'PA_PROP_MEDIA_ICON_NAME', 2011 | 'pa_autoload_type', 'pa_threaded_mainloop', 2012 | 'PA_SINK_DYNAMIC_LATENCY', 'pa_context_kill_client', 2013 | 'pa_sink_state', 'pa_stream_write', 'pa_sink_port_info', 2014 | 'pa_mainloop_new', 'pa_context_get_source_info_by_name', 2015 | 'PA_STREAM_NO_REMIX_CHANNELS', 'pa_context_remove_sample', 2016 | 'PA_MAJOR', 'PA_STREAM_FAIL_ON_SUSPEND', 2017 | 'pa_context_get_tile_size', 'pa_stream_set_state_callback', 2018 | 'PA_PROP_APPLICATION_PROCESS_SESSION_ID', 2019 | 'pa_client_info_cb_t', 'pa_stream_connect_playback', 2020 | 'pa_context_unref', 'pa_format_info_set_prop_int_range', 2021 | 'pa_context_new_with_proplist', 'PA_PROP_DEVICE_BUS', 2022 | 'PA_SINK_SET_FORMATS', 'pa_stream_new_extended', 2023 | 'PA_CHANNEL_POSITION_TOP_REAR_LEFT', 2024 | 'PA_SUBSCRIPTION_EVENT_AUTOLOAD', 2025 | 'PA_CHANNEL_POSITION_FRONT_CENTER', 2026 | 'PA_SEEK_RELATIVE_ON_READ', 'pa_channel_position', 2027 | 'pa_mainloop_api', 'pa_proplist_gets', 2028 | 'pa_context_set_default_source', 'PA_CHANNEL_POSITION_LFE', 2029 | 'pa_sample_format', 'pa_sw_cvolume_divide_scalar', 2030 | 'pa_cvolume_min_mask', 'PA_STREAM_PEAK_DETECT', 2031 | 'PA_IO_EVENT_INPUT', 'PA_STREAM_VARIABLE_RATE', 2032 | 'PA_ERR_NODATA', 'PA_DECIBEL_MININFTY', 2033 | 'PA_PROP_WINDOW_NAME', 2034 | 'pa_channel_position_to_pretty_string', 2035 | 'pa_stream_is_corked', 'pa_context_get_sink_input_info', 2036 | 'pa_sw_volume_snprint_dB', 2037 | 'pa_context_move_source_output_by_name', 2038 | 'pa_stream_get_device_name', 'pa_operation_state', 2039 | 'pa_channel_map_mask', 'pa_stream_disconnect', 2040 | 'PA_PROP_DEVICE_FORM_FACTOR', 2041 | 'PA_PROP_APPLICATION_PROCESS_MACHINE_ID', 2042 | 'pa_cvolume_set_balance', 2043 | 'PA_PROP_APPLICATION_PROCESS_USER', 'pa_get_user_name', 2044 | 'PA_STREAM_EVENT_REQUEST_CORK', 2045 | 'pa_proplist_to_string_sep', 'PA_STREAM_START_MUTED', 2046 | 'PA_SOURCE_NOFLAGS', 'pa_threaded_mainloop_accept', 2047 | 'PA_SAMPLE_S32LE', 'pa_context_notify_cb_t', 2048 | 'pa_context_set_source_mute_by_index', 'PA_SOURCE_IDLE', 2049 | 'pa_context_suspend_source_by_index', 2050 | 'PA_PROP_MEDIA_SOFTWARE', 'PA_PROP_WINDOW_ID', 2051 | 'PA_PROP_WINDOW_HPOS', 'pa_context_play_sample', 2052 | 'pa_channel_map_to_name', 2053 | 'pa_context_get_module_info_list', 'pa_operation', 2054 | 'PA_STREAM_RECORD', 'PA_AUTOLOAD_SOURCE', 2055 | 'pa_context_get_card_info_by_name', 2056 | 'PA_PROP_DEVICE_ACCESS_MODE', 'pa_context_subscribe', 2057 | 'PA_AUTOLOAD_SINK', 'pa_context_get_source_info_list', 2058 | 'PA_MINOR', 'pa_timeval_diff', 'PA_SOURCE_RUNNING', 2059 | 'pa_server_info_cb_t', 'pa_context_ref', 2060 | 'pa_sw_cvolume_multiply_scalar', 2061 | 'PA_SW_CVOLUME_SNPRINT_DB_MAX', 'PA_VOLUME_SNPRINT_MAX', 2062 | 'pa_time_event_cb_t', 'pa_stream_get_latency', 2063 | 'pa_xmemdup', 'PA_CHANNEL_POSITION_MONO', 2064 | 'PA_CHANNEL_MAP_DEFAULT', 'PA_OPERATION_DONE', 2065 | 'pa_mainloop_dispatch', 'pa_proplist_set', 'PA_SINK_INIT', 2066 | 'pa_cvolume_max_mask', 'PA_STREAM_NODIRECTION', 2067 | 'PA_PROP_DEVICE_SERIAL', 'pa_autoload_info', 2068 | 'PA_PROP_APPLICATION_VERSION', 2069 | 'pa_context_kill_sink_input', 'PA_PROP_WINDOW_X11_DISPLAY', 2070 | 'pa_sink_info_cb_t', 'pa_channel_map_superset', 2071 | 'PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT', 2072 | 'pa_card_profile_info', 'pa_context_get_sample_info_list', 2073 | 'PA_MICRO', 'PA_PROP_DEVICE_VENDOR_ID', 2074 | 'pa_subscription_mask', 'PA_STREAM_DONT_MOVE', 2075 | 'pa_threaded_mainloop_free', 'PA_SAMPLE_S16BE', 2076 | 'pa_stream_connect_upload', 'PA_FORMAT_INFO_SNPRINT_MAX', 2077 | 'PA_ERR_KILLED', 'pa_context_get_source_output_info', 2078 | 'pa_stat_info_cb_t', 'pa_ascii_filter', 2079 | 'pa_context_get_autoload_info_list', 2080 | 'PA_ENCODING_AC3_IEC61937', 'PA_STREAM_PLAYBACK', 2081 | 'pa_format_info_set_channels', 'PA_PROP_FILTER_APPLY', 2082 | 'pa_sw_volume_to_dB', 'pa_format_info', 'pa_sink_state_t', 2083 | 'uint32_t', 'PA_SW_VOLUME_SNPRINT_DB_MAX', 'pa_volume_t', 2084 | 'PA_STREAM_UNCONNECTED', 'PA_CHANNEL_MAP_WAVEEX', 2085 | 'pa_stream_cork', 'pa_channel_map_init', 2086 | 'PA_ENCODING_EAC3_IEC61937', 'pa_stream_new_with_proplist', 2087 | 'PA_STREAM_NOFLAGS', 'pa_stream_success_cb_t', 2088 | 'PA_STREAM_NOT_MONOTONIC', 'PA_PROP_DEVICE_MASTER_DEVICE', 2089 | 'pa_stream_drain', 'PA_SINK_IDLE', 'pa_context_new', 2090 | 'pa_context_suspend_sink_by_index', 'pa_cvolume_dec', 2091 | 'PA_CONTEXT_TERMINATED', 'pa_context_rttime_new', 2092 | 'pa_module_info_cb_t', 2093 | 'PA_CHANNEL_POSITION_TOP_REAR_RIGHT', 'PA_NSEC_PER_MSEC', 2094 | 'pa_stream_peek', 'PA_PROP_MEDIA_NAME', 2095 | 'pa_channel_map_can_fade', 'PA_CONTEXT_FAILED', 2096 | 'pa_context_set_sink_mute_by_index', 'pa_sink_info', 2097 | 'pa_context_set_source_output_volume', 2098 | 'pa_sample_spec_valid', 'pa_operation_get_state', 2099 | 'PA_PROP_APPLICATION_PROCESS_BINARY', 2100 | 'pa_context_proplist_remove', 2101 | 'pa_context_move_source_output_by_index', 2102 | 'pa_timeval_load', 'pa_get_fqdn', 'pa_stream_unref', 2103 | 'pa_stream_set_monitor_stream', 2104 | 'PA_CHANNEL_POSITION_FRONT_LEFT', 'pa_mainloop_quit', 2105 | 'pa_channel_map_init_auto', 'pa_cvolume_inc', 2106 | 'PA_PROP_DEVICE_PRODUCT_ID', 'pa_cvolume_get_balance', 2107 | 'PA_PROTOCOL_VERSION', 'pa_source_info_cb_t', 2108 | 'pa_context_get_index', 'pa_signal_free', 2109 | 'PA_PROP_DEVICE_BUS_PATH', 'pa_cvolume_compatible', 2110 | 'pa_encoding', 'PA_NSEC_PER_SEC', 2111 | 'PA_SUBSCRIPTION_MASK_SERVER', 'pa_cvolume_get_fade', 2112 | 'pa_context', 'PA_PROP_EVENT_MOUSE_BUTTON', 2113 | 'pa_utf8_filter', 'pa_stream_update_sample_rate', 2114 | 'PA_PROP_DEVICE_PROFILE_NAME', 'pa_sw_volume_multiply', 2115 | 'pa_cvolume_snprint', 'pa_format_info_new', 2116 | 'pa_stream_flags', 'PA_CHANNEL_POSITION_AUX2', 2117 | 'PA_CHANNEL_POSITION_AUX3', 'PA_CHANNEL_POSITION_AUX0', 2118 | 'PA_SAMPLE_S16LE', 'PA_CHANNEL_POSITION_AUX6', 2119 | 'PA_STREAM_RELATIVE_VOLUME', 'PA_CHANNEL_POSITION_AUX4', 2120 | 'PA_CHANNEL_POSITION_AUX5', 'pa_xrealloc', 2121 | 'PA_CHANNEL_POSITION_AUX8', 'PA_CHANNEL_POSITION_AUX9', 2122 | 'PA_PROP_WINDOW_X11_SCREEN', 'PA_SOURCE_SUSPENDED', 2123 | 'pa_defer_event_cb_t', 'pa_threaded_mainloop_signal', 2124 | 'PA_STREAM_START_CORKED', 'pa_time_event', 2125 | 'PA_CHANNEL_MAP_AIFF', 'PA_PROP_APPLICATION_LANGUAGE', 2126 | 'PA_ERR_NOENTITY', 'PA_CHANNEL_POSITION_REAR_RIGHT', 2127 | 'pa_stream_get_context', 'pa_sw_volume_to_linear', 2128 | 'pa_source_output_info_cb_t', 2129 | 'pa_format_info_set_prop_string', 'pa_proplist_clear', 2130 | 'pa_context_get_server', 'pa_stream_set_overflow_callback', 2131 | 'PA_ERR_BUSY', 'pa_cvolume_compatible_with_channel_map', 2132 | 'PA_PROP_MEDIA_ARTIST', 'pa_utf8_valid', 2133 | 'pa_proplist_free', 'pa_stream_set_underflow_callback', 2134 | 'pa_channel_map', 'pa_update_mode', 2135 | 'PA_PROP_APPLICATION_ID', 'PA_UPDATE_REPLACE', 2136 | 'pa_stream_is_suspended', 'PA_SAMPLE_S24LE', 2137 | 'PA_ENCODING_INVALID', 'pa_context_get_card_info_by_index', 2138 | 'pa_proplist_equal', 'pa_stream_get_index', 2139 | 'pa_context_get_sample_info_by_name', 2140 | 'PA_SINK_HW_VOLUME_CTRL', 'PA_OPERATION_CANCELLED', 2141 | 'pa_context_get_sink_input_info_list', 2142 | 'pa_threaded_mainloop_get_retval', 'PA_SAMPLE_S32BE', 2143 | 'pa_proplist_copy', 'pa_context_proplist_update', 2144 | 'PA_INVALID_INDEX', 'PA_SAMPLE_FLOAT32BE', 2145 | 'pa_context_get_sink_info_by_index', 'pa_proplist_update', 2146 | 'PA_ERR_UNKNOWN', 'pa_stream_drop', 'pa_signal_cb_t', 2147 | 'pa_context_set_source_volume_by_name', 2148 | 'pa_context_subscribe_cb_t', 'pa_source_port_info', 2149 | 'pa_cvolume_channels_equal_to', 'PA_SINK_NOFLAGS', 2150 | 'PA_CHANNEL_POSITION_SIDE_LEFT', 'pa_device_type_t', 2151 | 'PA_SUBSCRIPTION_EVENT_CHANGE', 'PA_OK', 2152 | 'pa_channel_position_to_string', 'pa_context_load_module', 2153 | 'pa_context_connect', 'pa_autoload_type_t', 2154 | 'PA_SUBSCRIPTION_EVENT_CARD', 2155 | 'PA_CHANNEL_POSITION_REAR_CENTER', 'PA_ERR_INVALID', 2156 | 'pa_channel_map_def', 'pa_proplist_get', 2157 | 'PA_PROP_FORMAT_RATE', 'pa_context_flags_t', 2158 | 'PA_ERR_NOEXTENSION', 'pa_signal_set_destroy', 2159 | 'pa_poll_func', 'pa_context_set_source_output_mute', 2160 | 'pa_timeval_store', 'PA_SUBSCRIPTION_EVENT_TYPE_MASK', 2161 | 'pa_proplist_isempty', 'pa_cvolume_avg_mask', 2162 | 'pa_context_exit_daemon', 2163 | 'pa_context_suspend_source_by_name', 2164 | 'pa_context_set_event_callback', 'PA_ERR_NOTIMPLEMENTED', 2165 | 'PA_PROP_EVENT_MOUSE_X', 'PA_PROP_EVENT_MOUSE_Y', 2166 | 'pa_subscription_event_type', 2167 | 'pa_context_move_sink_input_by_name', 'int64_t', 2168 | 'pa_mainloop_set_poll_func', 'PA_SOURCE_FLAT_VOLUME', 2169 | 'PA_ERR_OBSOLETE', 'pa_mainloop_prepare', 2170 | 'PA_PROP_MODULE_DESCRIPTION', 'pa_context_is_pending', 2171 | 'PA_STREAM_CREATING', 'PA_PROP_DEVICE_PRODUCT_NAME', 2172 | 'pa_context_get_autoload_info_by_name', 'pa_context_state', 2173 | 'pa_ascii_valid', 'pa_context_disconnect', 2174 | 'pa_channel_map_compatible', 2175 | 'PA_SUBSCRIPTION_EVENT_SERVER', 'pa_stream_direction', 2176 | 'PA_SOURCE_UNLINKED', 'pa_sink_flags_t', 'pa_seek_mode_t', 2177 | 'pa_context_set_source_port_by_name', 2178 | 'pa_context_is_local', 'PA_PROP_DEVICE_INTENDED_ROLES', 2179 | 'pa_context_kill_source_output', 'pa_stream_new', 2180 | 'PA_SUBSCRIPTION_MASK_ALL', 'pa_proplist_contains', 2181 | 'PA_ERR_INVALIDSERVER', 'pa_stream_get_monitor_stream', 2182 | 'PA_PROP_DEVICE_ICON_NAME', 'PA_CHANNEL_POSITION_AUX1', 2183 | 'pa_sink_input_info_cb_t', 'pa_channel_map_has_position', 2184 | 'PA_STREAM_READY', 'pa_sw_volume_from_linear', 2185 | 'PA_CHANNEL_POSITION_AUX7', 'pa_context_unload_module', 2186 | 'PA_PROP_WINDOW_HEIGHT', 'pa_format_info_valid', 2187 | 'pa_signal_event', 'pa_sink_input_info', 2188 | 'pa_sample_format_to_string', 'pa_format_info_snprint', 2189 | 'pa_context_success_cb_t', 'pa_buffer_attr'] 2190 | --------------------------------------------------------------------------------