2 This file is part of PulseAudio.
4 Copyright 2009 Lennart Poettering
6 PulseAudio is free software; you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as published
8 by the Free Software Foundation; either version 2.1 of the License,
9 or (at your option) any later version.
11 PulseAudio is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public License
17 along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
23 [CCode (cheader_filename="pulse/pulseaudio.h")]
24 namespace PulseAudio {
26 [CCode (cname="pa_get_library_version")]
27 public unowned string get_library_version();
29 [CCode (cname="PA_API_VERSION")]
30 public const int API_VERSION;
32 [CCode (cname="PA_PROTOCOL_VERSION")]
33 public const int PROTOCOL_VERSION;
35 [CCode (cname="PA_MAJOR")]
36 public const int MAJOR;
38 [CCode (cname="PA_MINOR")]
39 public const int MINOR;
41 [CCode (cname="PA_MICRO")]
42 public const int MICRO;
44 [CCode (cname="PA_CHECK_VERSION")]
45 public bool CHECK_VERSION(int major, int minor, int micro);
47 [CCode (cname="PA_INVALID_INDEX")]
48 public const uint32 INVALID_INDEX;
50 [CCode (cname="pa_free_cb_t", has_target=false)]
51 public delegate void FreeCb(void *p);
53 [CCode (cname="pa_sample_format_t", cprefix="PA_SAMPLE_", has_type_id=false)]
54 public enum SampleFormat {
80 [CCode (cname="pa_sample_size_of_format")]
83 [CCode (cname="pa_sample_format_to_string")]
84 public unowned string? to_string();
86 [CCode (cname="pa_sample_format_is_le")]
89 [CCode (cname="pa_sample_format_is_be")]
92 [CCode (cname="pa_sample_format_is_ne")]
95 [CCode (cname="pa_sample_format_is_re")]
98 [CCode (cname="pa_parse_sample_format")]
99 public static SampleFormat parse(string b);
102 [CCode (cname="pa_usec_t")]
103 public struct usec : uint64 {
106 [CCode (cname="pa_sample_spec", has_type_id=false)]
107 public struct SampleSpec {
108 public SampleFormat format;
110 public uint8 channels;
112 [CCode (cname="PA_SAMPLE_SPEC_SNPRINT_MAX")]
113 public const size_t SNPRINT_MAX;
115 [CCode (cname="pa_bytes_per_second")]
116 public size_t bytes_per_second();
118 [CCode (cname="pa_frame_size")]
119 public size_t frame_size();
121 [CCode (cname="pa_sample_size")]
122 public size_t sample_size();
124 [CCode (cname="pa_bytes_to_usec", instance_pos=1.1)]
125 public usec bytes_to_usec(size_t size);
127 [CCode (cname="pa_usec_to_bytes", instance_pos=1.1)]
128 public size_t usec_to_bytes(usec u);
130 [CCode (cname="pa_sample_spec_init")]
131 public unowned SampleSpec? init();
133 [CCode (cname="pa_sample_spec_valid")]
136 [CCode (cname="pa_sample_spec_equal")]
137 public bool equal(SampleSpec other);
139 [CCode (cname="pa_sample_spec_snprint", instance_pos=3.1)]
140 public unowned string snprint(char[] buf);
142 public string sprint() {
143 var buffer = new char[SNPRINT_MAX];
144 this.snprint(buffer);
145 return (string) buffer;
148 public string to_string() {
152 [CCode (cname="pa_sample_spec_init")]
156 // [CCode (cname="PA_BYTES_SNPRINT_MAX")]
157 [CCode (cname="PA_SAMPLE_SPEC_SNPRINT_MAX")]
158 public const size_t BYTES_SNPRINT_MAX;
160 [CCode (cname="pa_bytes_snprint")]
161 public unowned string bytes_snprint(char[] buf, uint bytes);
163 public string bytes_sprint(uint bytes) {
164 var buffer = new char[BYTES_SNPRINT_MAX];
165 bytes_snprint(buffer, bytes);
166 return (string) buffer;
169 [CCode (cname="pa_volume_t", has_type_id=false)]
170 public struct Volume : uint32 {
172 [CCode (cname="PA_SW_VOLUME_SNPRINT_DB_MAX")]
173 public const size_t SW_SNPRINT_DB_MAX;
175 [CCode (cname="PA_VOLUME_SNPRINT_MAX")]
176 public const size_t SNPRINT_MAX;
178 [CCode (cname="PA_VOLUME_MAX")]
179 public const Volume MAX;
181 [CCode (cname="PA_VOLUME_NORM")]
182 public const Volume NORM;
184 [CCode (cname="PA_VOLUME_MUTED")]
185 public const Volume MUTED;
187 // [CCode (cname="PA_VOLUME_INVALID")]
188 [CCode (cname="PA_VOLUME_MAX")]
189 public const Volume INVALID;
191 [CCode (cname="pa_volume_snprint", instance_pos = 3.1)]
192 public unowned string snprint(char[] s);
194 public string sprint() {
195 var buffer = new char[SNPRINT_MAX];
196 this.snprint(buffer);
197 return (string) buffer;
200 public string to_string() {
204 [CCode (cname="pa_sw_volume_snprint_dB", instance_pos = 3.1)]
205 public unowned string sw_snprint_dB(char[] s);
207 public string sw_sprint_dB() {
208 var buffer = new char[SW_SNPRINT_DB_MAX];
209 this.sw_snprint_dB(buffer);
210 return (string) buffer;
213 [CCode (cname="pa_sw_volume_multiply")]
214 public Volume sw_multiply(Volume other);
216 [CCode (cname="pa_sw_volume_divide")]
217 public Volume sw_divide(Volume other);
219 [CCode (cname="pa_sw_volume_from_dB")]
220 public static Volume sw_from_dB(double f);
222 [CCode (cname="pa_sw_volume_to_dB")]
223 public double sw_to_dB();
225 [CCode (cname="pa_sw_volume_from_linear")]
226 public static Volume sw_from_linear(double f);
228 [CCode (cname="pa_sw_volume_to_linear")]
229 public double sw_to_linear();
232 [CCode (cname="PA_DECIBEL_MININFTY")]
233 public const double DECIBEL_MININFTY;
235 [CCode (cname="PA_CHANNELS_MAX")]
236 public const int CHANNELS_MAX;
238 [CCode (cname="PA_RATE_MAX")]
239 public const int RATE_MAX;
241 [CCode (cname="pa_cvolume", has_type_id=false)]
242 public struct CVolume {
243 public uint8 channels;
244 // TODO: Replace array length with CHANNELS_MAX once vala's bug #647788 is fixed
245 public Volume values[32];
247 [CCode (cname="PA_SW_CVOLUME_SNPRINT_DB_MAX")]
248 public const size_t SW_SNPRINT_DB_MAX;
250 [CCode (cname="PA_CVOLUME_SNPRINT_MAX")]
251 public const size_t SNPRINT_MAX;
253 [CCode (cname="pa_cvolume_equal")]
254 public bool equal(CVolume other);
256 [CCode (cname="pa_cvolume_init")]
257 public unowned CVolume? init();
259 [CCode (cname="pa_cvolume_reset")]
260 public unowned CVolume? reset(uint8 channels);
262 [CCode (cname="pa_cvolume_mute")]
263 public unowned CVolume? mute(uint8 channels);
265 [CCode (cname="pa_cvolume_snprint", instance_pos = 3.1)]
266 public unowned string snprint(char[] s);
268 public string sprint() {
269 var buffer = new char[SNPRINT_MAX];
270 this.snprint(buffer);
271 return (string) buffer;
274 public string to_string() {
278 [CCode (cname="pa_sw_cvolume_snprint_dB", instance_pos = 3.1)]
279 public unowned string sw_snprint_dB(char [] s);
281 public string sw_sprint_dB() {
282 var buffer = new char[SW_SNPRINT_DB_MAX];
283 this.sw_snprint_dB(buffer);
284 return (string) buffer;
287 [CCode (cname="pa_cvolume_init")]
290 [CCode (cname="pa_cvolume_avg")]
293 [CCode (cname="pa_cvolume_max")]
296 [CCode (cname="pa_cvolume_min")]
299 [CCode (cname="pa_cvolume_avg_mask")]
300 public Volume avg_mask(ChannelMap map, ChannelPositionMask mask);
302 [CCode (cname="pa_cvolume_max_mask")]
303 public Volume max_mask(ChannelMap map, ChannelPositionMask mask);
305 [CCode (cname="pa_cvolume_min_mask")]
306 public Volume min_mask(ChannelMap map, ChannelPositionMask mask);
308 [CCode (cname="pa_cvolume_valid")]
311 [CCode (cname="pa_cvolume_channels_equal_to")]
312 public bool channels_equal_to(Volume other);
314 [CCode (cname="pa_cvolume_is_muted")]
315 public bool is_muted();
317 [CCode (cname="pa_cvolume_is_norm")]
318 public bool is_norm();
320 [CCode (cname="pa_sw_cvolume_multiply")]
321 public unowned CVolume? multiply(CVolume other);
323 [CCode (cname="pa_sw_cvolume_divide")]
324 public unowned CVolume? divide(CVolume other);
326 [CCode (cname="pa_sw_cvolume_multiply_scalar")]
327 public unowned CVolume? multiply_scalar(Volume other);
329 [CCode (cname="pa_sw_cvolume_divide_scalar")]
330 public unowned CVolume? divide_scalar(Volume other);
332 [CCode (cname="pa_cvolume_remap")]
333 public unowned CVolume? remap(ChannelMap from, ChannelMap to);
335 [CCode (cname="pa_cvolume_compatible")]
336 public bool compatible(SampleSpec ss);
338 [CCode (cname="pa_cvolume_compatible_with_channel_map")]
339 public bool compatible_with_channel_map(ChannelMap cm);
341 [CCode (cname="pa_cvolume_set")]
342 public unowned CVolume? set(uint8 channels, Volume v);
344 [CCode (cname="pa_cvolume_get_balance")]
345 public float get_balance(ChannelMap map);
347 [CCode (cname="pa_cvolume_set_balance")]
348 public unowned CVolume? set_balance(ChannelMap map, float b);
350 [CCode (cname="pa_cvolume_get_fade")]
351 public float get_fade(ChannelMap map);
353 [CCode (cname="pa_cvolume_set_fade")]
354 public unowned CVolume? set_fade(ChannelMap map, float f);
356 [CCode (cname="pa_cvolume_scale")]
357 public unowned CVolume? scale(Volume max);
359 [CCode (cname="pa_cvolume_scale_mask")]
360 public unowned CVolume? scale_mask(Volume max, ChannelMap map, ChannelPositionMask mask);
362 [CCode (cname="pa_cvolume_set_position")]
363 public unowned CVolume? set_position(ChannelMap map, ChannelPosition p, Volume v);
365 [CCode (cname="pa_cvolume_get_position")]
366 public Volume get_position(ChannelMap map, ChannelPosition p);
368 [CCode (cname="pa_cvolume_merge")]
369 public unowned CVolume? merge(CVolume other);
371 [CCode (cname="pa_cvolume_inc")]
372 public unowned CVolume? inc(Volume plus = 1);
374 [CCode (cname="pa_cvolume_dec")]
375 public unowned CVolume? dec(Volume minus = 1);
378 [CCode (cname="pa_channel_map", has_type_id=false)]
379 public struct ChannelMap {
380 public uint8 channels;
381 // TODO: Replace array length with CHANNELS_MAX once vala's bug #647788 is fixed
382 public ChannelPosition map[32];
384 [CCode (cname="PA_CHANNEL_MAP_SNPRINT_MAX")]
385 public const size_t SNPRINT_MAX;
387 [CCode (cname="pa_channel_map_init")]
390 [CCode (cname="pa_channel_map_init")]
391 public unowned ChannelMap? init();
393 [CCode (cname="pa_channel_map_init_mono")]
394 public unowned ChannelMap? init_mono();
396 [CCode (cname="pa_channel_map_init_stereo")]
397 public unowned ChannelMap? init_stereo();
399 [CCode (cname="pa_channel_map_init_auto")]
400 public unowned ChannelMap? init_auto(uint8 channels, ChannelMapDef def = ChannelMapDef.DEFAULT);
402 [CCode (cname="pa_channel_map_init_extend")]
403 public unowned ChannelMap? init_extend(uint8 channels, ChannelMapDef def = ChannelMapDef.DEFAULT);
405 [CCode (cname="pa_channel_map_snprint", instance_pos = 3.1)]
406 public unowned string snprint(char[] s);
408 public string sprint() {
409 var buffer = new char[SNPRINT_MAX];
410 this.snprint(buffer);
411 return (string) buffer;
414 public string to_string() {
418 [CCode (cname="pa_channel_map_parse")]
419 public unowned ChannelMap? parse(string s);
421 [CCode (cname="pa_channel_map_equal")]
422 public bool equal(ChannelMap other);
424 [CCode (cname="pa_channel_map_superset")]
425 public bool superset(ChannelMap other);
427 [CCode (cname="pa_channel_map_valid")]
430 [CCode (cname="pa_channel_map_compatible")]
431 public bool compatible(SampleSpec ss);
433 [CCode (cname="pa_channel_map_can_balance")]
434 public bool can_balance();
436 [CCode (cname="pa_channel_map_can_fade")]
437 public bool can_fade();
439 [CCode (cname="pa_channel_map_to_name")]
440 public unowned string? to_name();
442 [CCode (cname="pa_channel_map_to_pretty_name")]
443 public unowned string? to_pretty_name();
445 [CCode (cname="pa_channel_map_has_position")]
446 public bool has_position(ChannelPosition p);
448 [CCode (cname="pa_channel_map_mask")]
449 public ChannelPositionMask mask();
452 [CCode (cname="pa_channel_position_mask_t", has_type_id=false)]
453 public struct ChannelPositionMask : uint64 {
456 [CCode (cname="pa_channel_position_t", cprefix="PA_CHANNEL_POSITION_", has_type_id=false)]
457 public enum ChannelPosition {
467 FRONT_LEFT_OF_CENTER,
468 FRONT_RIGHT_OF_CENTER,
506 [CCode (cname="PA_CHANNEL_POSITION_MASK")]
507 public ChannelPositionMask mask();
509 [CCode (cname="pa_channel_position_to_string")]
510 public unowned string? to_string();
512 [CCode (cname="pa_channel_position_to_pretty_string")]
513 public unowned string? to_pretty_string();
515 [CCode (cname="pa_channel_position_from_string")]
516 public static ChannelPosition from_string(string s);
519 [CCode (cname="pa_channel_map_def_t", cprefix="PA_CHANNEL_MAP_", has_type_id=false)]
520 public enum ChannelMapDef {
526 [CCode (cname="PA_CHANNEL_MAP_DEF_MAX")]
531 [CCode (cname="pa_proplist", cprefix="pa_proplist_", free_function="pa_proplist_free", has_type_id=false)]
532 public class Proplist {
534 [CCode (cname="PA_PROP_MEDIA_NAME")]
535 public const string PROP_MEDIA_NAME;
536 [CCode (cname="PA_PROP_MEDIA_TITLE")]
537 public const string PROP_MEDIA_TITLE;
538 [CCode (cname="PA_PROP_MEDIA_ARTIST")]
539 public const string PROP_MEDIA_ARTIST;
540 [CCode (cname="PA_PROP_MEDIA_COPYRIGHT")]
541 public const string PROP_MEDIA_COPYRIGHT;
542 [CCode (cname="PA_PROP_MEDIA_SOFTWARE")]
543 public const string PROP_MEDIA_SOFTWARE;
544 [CCode (cname="PA_PROP_MEDIA_LANGUAGE")]
545 public const string PROP_MEDIA_LANGUAGE;
546 [CCode (cname="PA_PROP_MEDIA_FILENAME")]
547 public const string PROP_MEDIA_FILENAME;
548 [CCode (cname="PA_PROP_MEDIA_ICON_NAME")]
549 public const string PROP_MEDIA_ICON_NAME;
550 [CCode (cname="PA_PROP_MEDIA_ROLE")]
551 public const string PROP_MEDIA_ROLE;
552 [CCode (cname="PA_PROP_EVENT_ID")]
553 public const string PROP_EVENT_ID;
554 [CCode (cname="PA_PROP_EVENT_DESCRIPTION")]
555 public const string PROP_EVENT_DESCRIPTION;
556 [CCode (cname="PA_PROP_EVENT_MOUSE_X")]
557 public const string PROP_EVENT_MOUSE_X;
558 [CCode (cname="PA_PROP_EVENT_MOUSE_Y")]
559 public const string PROP_EVENT_MOUSE_Y;
560 [CCode (cname="PA_PROP_EVENT_MOUSE_HPOS")]
561 public const string PROP_EVENT_MOUSE_HPOS;
562 [CCode (cname="PA_PROP_EVENT_MOUSE_VPOS")]
563 public const string PROP_EVENT_MOUSE_VPOS;
564 [CCode (cname="PA_PROP_EVENT_MOUSE_BUTTON")]
565 public const string PROP_EVENT_MOUSE_BUTTON;
566 [CCode (cname="PA_PROP_WINDOW_NAME")]
567 public const string PROP_WINDOW_NAME;
568 [CCode (cname="PA_PROP_WINDOW_ID")]
569 public const string PROP_WINDOW_ID;
570 [CCode (cname="PA_PROP_WINDOW_ICON_NAME")]
571 public const string PROP_WINDOW_ICON_NAME;
572 [CCode (cname="PA_PROP_WINDOW_X11_DISPLAY")]
573 public const string PROP_WINDOW_X11_DISPLAY;
574 [CCode (cname="PA_PROP_WINDOW_X11_SCREEN")]
575 public const string PROP_WINDOW_X11_SCREEN;
576 [CCode (cname="PA_PROP_WINDOW_X11_MONITOR")]
577 public const string PROP_WINDOW_X11_MONITOR;
578 [CCode (cname="PA_PROP_WINDOW_X11_XID")]
579 public const string PROP_WINDOW_X11_XID;
580 [CCode (cname="PA_PROP_APPLICATION_NAME")]
581 public const string PROP_APPLICATION_NAME;
582 [CCode (cname="PA_PROP_APPLICATION_ID")]
583 public const string PROP_APPLICATION_ID;
584 [CCode (cname="PA_PROP_APPLICATION_VERSION")]
585 public const string PROP_APPLICATION_VERSION;
586 [CCode (cname="PA_PROP_APPLICATION_ICON_NAME")]
587 public const string PROP_APPLICATION_ICON_NAME;
588 [CCode (cname="PA_PROP_APPLICATION_LANGUAGE")]
589 public const string PROP_APPLICATION_LANGUAGE;
590 [CCode (cname="PA_PROP_APPLICATION_PROCESS_ID")]
591 public const string PROP_APPLICATION_PROCESS_ID;
592 [CCode (cname="PA_PROP_APPLICATION_PROCESS_BINARY")]
593 public const string PROP_APPLICATION_PROCESS_BINARY;
594 [CCode (cname="PA_PROP_APPLICATION_PROCESS_USER")]
595 public const string PROP_APPLICATION_PROCESS_USER;
596 [CCode (cname="PA_PROP_APPLICATION_PROCESS_HOST")]
597 public const string PROP_APPLICATION_PROCESS_HOST;
598 [CCode (cname="PA_PROP_APPLICATION_PROCESS_MACHINE_ID")]
599 public const string PROP_APPLICATION_PROCESS_MACHINE_ID;
600 [CCode (cname="PA_PROP_APPLICATION_PROCESS_SESSION_ID")]
601 public const string PROP_APPLICATION_PROCESS_SESSION_ID;
602 [CCode (cname="PA_PROP_DEVICE_STRING")]
603 public const string PROP_DEVICE_STRING;
604 [CCode (cname="PA_PROP_DEVICE_API")]
605 public const string PROP_DEVICE_API;
606 [CCode (cname="PA_PROP_DEVICE_DESCRIPTION")]
607 public const string PROP_DEVICE_DESCRIPTION;
608 [CCode (cname="PA_PROP_DEVICE_BUS_PATH")]
609 public const string PROP_DEVICE_BUS_PATH;
610 [CCode (cname="PA_PROP_DEVICE_SERIAL")]
611 public const string PROP_DEVICE_SERIAL;
612 [CCode (cname="PA_PROP_DEVICE_VENDOR_ID")]
613 public const string PROP_DEVICE_VENDOR_ID;
614 [CCode (cname="PA_PROP_DEVICE_VENDOR_NAME")]
615 public const string PROP_DEVICE_VENDOR_NAME;
616 [CCode (cname="PA_PROP_DEVICE_PRODUCT_ID")]
617 public const string PROP_DEVICE_PRODUCT_ID;
618 [CCode (cname="PA_PROP_DEVICE_PRODUCT_NAME")]
619 public const string PROP_DEVICE_PRODUCT_NAME;
620 [CCode (cname="PA_PROP_DEVICE_CLASS")]
621 public const string PROP_DEVICE_CLASS;
622 [CCode (cname="PA_PROP_DEVICE_FORM_FACTOR")]
623 public const string PROP_DEVICE_FORM_FACTOR;
624 [CCode (cname="PA_PROP_DEVICE_BUS")]
625 public const string PROP_DEVICE_BUS;
626 [CCode (cname="PA_PROP_DEVICE_ICON_NAME")]
627 public const string PROP_DEVICE_ICON_NAME;
628 [CCode (cname="PA_PROP_DEVICE_ACCESS_MODE")]
629 public const string PROP_DEVICE_ACCESS_MODE;
630 [CCode (cname="PA_PROP_DEVICE_MASTER_DEVICE")]
631 public const string PROP_DEVICE_MASTER_DEVICE;
632 [CCode (cname="PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE")]
633 public const string PROP_DEVICE_BUFFERING_BUFFER_SIZE;
634 [CCode (cname="PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE")]
635 public const string PROP_DEVICE_BUFFERING_FRAGMENT_SIZE;
636 [CCode (cname="PA_PROP_DEVICE_PROFILE_NAME")]
637 public const string PROP_DEVICE_PROFILE_NAME;
638 [CCode (cname="PA_PROP_DEVICE_INTENDED_ROLES")]
639 public const string PROP_DEVICE_INTENDED_ROLES;
640 [CCode (cname="PA_PROP_DEVICE_PROFILE_DESCRIPTION")]
641 public const string PROP_DEVICE_PROFILE_DESCRIPTION;
642 [CCode (cname="PA_PROP_MODULE_AUTHOR")]
643 public const string PROP_MODULE_AUTHOR;
644 [CCode (cname="PA_PROP_MODULE_DESCRIPTION")]
645 public const string PROP_MODULE_DESCRIPTION;
646 [CCode (cname="PA_PROP_MODULE_USAGE")]
647 public const string PROP_MODULE_USAGE;
648 [CCode (cname="PA_PROP_MODULE_VERSION")]
649 public const string PROP_MODULE_VERSION;
651 [CCode (cname="pa_proplist_new")]
654 public int sets(string key, string value);
655 public int setp(string pair);
658 public int setf(string key, string format, ...);
660 public int set(string key, void* data, size_t size);
662 public unowned string? gets(string key);
664 public int get(string key, out void* data, out size_t size);
666 public void update(UpdateMode mode, Proplist other);
668 public void unset(string key);
670 [CCode (array_length = false)]
671 public void unset_many(string[] key);
673 public unowned string? iterate(ref void* state);
675 public string to_string();
677 public string to_string_sep(string sep);
679 public static Proplist? from_string(string s);
681 public int contains(string key);
685 public Proplist copy();
689 public bool is_empty();
692 [CCode (cname="pa_update_mode_t", cprefix="PA_UPDATE_", has_type_id=false)]
693 public enum UpdateMode {
699 [CCode (cname="PA_OK")]
702 [CCode (cname="int", cprefix="PA_ERR_", has_type_id=false)]
714 CONNECTIONTERMINATED,
732 [CCode (cname="pa_strerror")]
733 public unowned string? strerror(Error e);
735 public delegate void VoidFunc();
737 [CCode (cname="pa_spawn_api", has_type_id=false)]
738 public struct SpawnApi {
744 [CCode (cname="pa_io_event_flags_t", cprefix="PA_IO_EVENT_", has_type_id=false)]
745 public enum IoEventFlags {
754 [CCode (cname="pa_io_event", unref_function="", ref_function="", has_type_id=false)]
755 public struct IoEvent {
759 [CCode (cname="pa_time_event", unref_function="", ref_function="", has_type_id=false)]
760 public struct TimeEvent {
764 [CCode (cname="pa_defer_event", unref_function="", ref_function="", has_type_id=false)]
765 public struct DeferEvent {
769 [CCode (cname="pa_signal_event", cprefix="pa_signal_", free_function="pa_signal_free", has_type_id=false)]
770 public struct SignalEvent {
772 [CCode (cname="pa_signal_new")]
773 public SignalEvent(int sig, MainLoopApi.SignalEventCb cb);
775 public void set_destroy(MainLoopApi.SignalEventDestroyCb cb);
779 [CCode (cname="pa_mainloop_api", unref_function="", ref_function="", has_type_id=false)]
780 public class MainLoopApi {
781 public void* userdata;
783 /* Callbacks for the consumer to implement*/
784 public delegate void IoEventCb(MainLoopApi a, IoEvent e, int fd, IoEventFlags flags);
785 public delegate void IoEventDestroyCb(MainLoopApi a, IoEvent e);
787 public delegate void TimeEventCb(MainLoopApi a, TimeEvent e, ref timeval t);
788 public delegate void TimeEventDestroyCb(MainLoopApi a, TimeEvent e);
790 public delegate void DeferEventCb(MainLoopApi a, DeferEvent e);
791 public delegate void DeferEventDestroyCb(MainLoopApi a, DeferEvent e);
793 public delegate void SignalEventCb(MainLoopApi a, SignalEvent e);
794 public delegate void SignalEventDestroyCb(MainLoopApi a, SignalEvent e);
796 /* Callbacks for the provider to implement */
797 public delegate IoEvent IoNewCb(MainLoopApi a, int fd, IoEventFlags flags, IoEventCb cb);
798 public delegate void IoEnableCb(MainLoopApi a, IoEvent e, IoEventFlags flags);
799 public delegate void IoFreeCb(MainLoopApi a, IoEvent e);
800 public delegate void IoSetDestroyCb(MainLoopApi a, IoEvent e, IoEventDestroyCb? cb);
802 public delegate TimeEvent TimeNewCb(MainLoopApi a, timeval? t, TimeEventCb cb);
803 public delegate void TimeRestartCb(MainLoopApi a, TimeEvent e, timeval? t);
804 public delegate void TimeFreeCb(MainLoopApi a, TimeEvent e);
805 public delegate void TimeSetDestroyCb(MainLoopApi a, TimeEvent e, TimeEventDestroyCb? cb);
807 public delegate DeferEvent DeferNewCb(MainLoopApi a, DeferEventCb cb);
808 public delegate void DeferEnableCb(MainLoopApi a, DeferEvent e, bool b);
809 public delegate void DeferFreeCb(MainLoopApi a, DeferEvent e);
810 public delegate void DeferSetDestroyCb(MainLoopApi a, DeferEvent e, DeferEventDestroyCb? cb);
812 public delegate void QuitCb(MainLoopApi a, int retval);
814 public delegate void OnceCb(MainLoopApi a);
816 public IoNewCb io_new;
817 public IoEnableCb io_enable;
818 public IoFreeCb io_free;
819 public IoSetDestroyCb io_set_destroy;
821 public TimeNewCb time_new;
822 public TimeRestartCb time_restart;
823 public TimeFreeCb time_free;
824 public TimeSetDestroyCb time_set_destroy;
826 public DeferNewCb defer_new;
827 public DeferEnableCb defer_enable;
828 public DeferFreeCb defer_free;
829 public DeferSetDestroyCb defer_set_destroy;
833 [CCode (cname="pa_mainloop_api_once")]
834 public void once(OnceCb cb);
837 [CCode (cname="pa_signal_init")]
838 public void signal_init(MainLoopApi api);
840 [CCode (cname="pa_signal_done")]
841 public void signal_done();
843 [CCode (cname="pa_poll_func")]
844 public delegate int PollFunc(pollfd[] ufds, int timeout);
847 [CCode (cname="pa_mainloop", cprefix="pa_mainloop_", free_function="pa_mainloop_free", has_type_id=false)]
848 public class MainLoop {
850 [CCode (cname="pa_mainloop_new")]
853 public int prepare(int timeout = -1);
855 public int dispatch();
856 public int get_retval();
857 public int iterate(bool block = true, out int retval = null);
858 public int run(out int retval = null);
859 public unowned MainLoopApi get_api();
860 public void quit(int retval);
861 public void wakeup();
862 public void set_poll_func(PollFunc poll_func);
866 [CCode (cname="pa_threaded_mainloop", cprefix="pa_threaded_mainloop_", free_function="pa_threaded_mainloop_free")]
867 public class ThreadedMainLoop {
869 [CCode (cname="pa_threaded_mainloop_new")]
870 public ThreadedMainLoop();
875 public void unlock();
877 public void signal(bool WaitForAccept = false);
878 public void accept();
879 public int get_retval();
880 public unowned MainLoopApi get_api();
881 public bool in_thread();
885 [CCode (cname="pa_operation", cprefix="pa_operation_", unref_function="pa_operation_unref", ref_function="pa_operation_ref", has_type_id=false)]
886 public class Operation {
888 [CCode (cname="pa_operation_state_t", cprefix="PA_OPERATION_", has_type_id=false)]
895 public void cancel();
896 public State get_state();
900 [CCode (cname="pa_context", cprefix="pa_context_", unref_function="pa_context_unref", ref_function="pa_context_ref", has_type_id=false)]
901 public class Context {
903 [CCode (cname="pa_context_flags_t", cprefix="PA_CONTEXT_", has_type_id=false)]
909 [CCode (cname="pa_context_state_t", cprefix="PA_CONTEXT_", has_type_id=false)]
919 [CCode (cname="PA_CONTEXT_IS_GOOD", has_type_id=false)]
920 public bool IS_GOOD();
923 [CCode (cname="pa_subscription_mask_t", cprefix="PA_SUBSCRIPTION_MASK_", has_type_id=false)]
924 public enum SubscriptionMask {
937 [CCode (cname="pa_subscription_match_flags")]
938 public bool match_flags(SubscriptionEventType t);
941 [CCode (cname="pa_subscription_event_type_t", cprefix="PA_SUBSCRIPTION_EVENT_", has_type_id=false)]
942 public enum SubscriptionEventType {
959 [CCode (cname = "pa_context_notify_cb_t")]
960 public delegate void NotifyCb(Context c);
961 [CCode (cname = "pa_context_success_cb_t")]
962 public delegate void SuccessCb(Context c, int success);
963 [CCode (cname = "pa_context_event_cb_t")]
964 public delegate void EventCb(Context c, string name, Proplist? proplist);
965 [CCode (cname = "pa_context_subscribe_cb_t")]
966 public delegate void SubscribeCb(Context c, SubscriptionEventType t, uint32 idx);
967 [CCode (cname = "pa_sink_info_cb_t")]
968 public delegate void SinkInfoCb(Context c, SinkInfo? i, int eol);
969 [CCode (cname = "pa_source_info_cb_t")]
970 public delegate void SourceInfoCb(Context c, SourceInfo? i, int eol);
971 [CCode (cname = "pa_card_info_cb_t")]
972 public delegate void CardInfoCb(Context c, CardInfo? i, int eol);
973 [CCode (cname = "pa_sink_input_info_cb_t")]
974 public delegate void SinkInputInfoCb(Context c, SinkInputInfo? i, int eol);
975 [CCode (cname = "pa_source_output_info_cb_t")]
976 public delegate void SourceOutputInfoCb(Context c, SourceOutputInfo? i, int eol);
977 [CCode (cname = "pa_server_info_cb_t")]
978 public delegate void ServerInfoCb(Context c, ServerInfo? i);
979 [CCode (cname = "pa_stat_info_cb_t")]
980 public delegate void StatInfoCb(Context c, ServerInfo? i);
981 [CCode (cname = "pa_module_info_cb_t")]
982 public delegate void ModuleInfoCb(Context c, ModuleInfo? i, int eol);
983 [CCode (cname = "pa_client_info_cb_t")]
984 public delegate void ClientInfoCb(Context c, ClientInfo? i, int eol);
985 [CCode (cname = "pa_sample_info_cb_t")]
986 public delegate void SampleInfoCb(Context c, SampleInfo? i, int eol);
987 [CCode (cname = "pa_context_index_cb_t")]
988 public delegate void IndexCb(Context c, uint32 idx);
990 [CCode (cname="pa_context_new_with_proplist")]
991 public Context(MainLoopApi api, string? name, Proplist? proplist = null);
993 public void set_state_callback(NotifyCb? cb = null);
994 public void set_event_callback(EventCb? cb = null);
995 public void set_subscribe_callback(SubscribeCb? cb = null);
997 public Error errno();
999 public int is_pending();
1000 public State get_state();
1001 public int is_local();
1002 public unowned string? get_server();
1003 public uint32 get_protocol_version();
1004 public uint32 get_server_protocol_version();
1005 public uint32 get_index();
1007 public int connect(string? server = null, Flags flags = 0, SpawnApi? api = null);
1008 public void disconnect();
1010 public Operation? drain(NotifyCb? cb = null);
1011 public Operation? exit_daemon(SuccessCb? cb = null);
1012 public Operation? set_default_sink(string name, SuccessCb? cb = null);
1013 public Operation? set_default_source(string name, SuccessCb? cb = null);
1014 public Operation? set_name(string name, SuccessCb? cb = null);
1016 [CCode (array_length = false)]
1017 public Operation? proplist_remove(string[] keys, SuccessCb? cb = null);
1018 public Operation? proplist_update(UpdateMode mode, Proplist pl, SuccessCb? cb = null);
1020 public Operation? subscribe(SubscriptionMask mask, SuccessCb? cb = null);
1022 public Operation? get_sink_info_by_name(string name, SinkInfoCb cb);
1023 public Operation? get_sink_info_by_index(uint32 idx, SinkInfoCb cb);
1024 public Operation? get_sink_info_list(SinkInfoCb cb);
1026 public Operation? set_sink_volume_by_name(string name, CVolume volume, SuccessCb? cb = null);
1027 public Operation? set_sink_volume_by_index(uint32 idx, CVolume volume, SuccessCb? cb = null);
1028 public Operation? set_sink_mute_by_name(string name, bool mute, SuccessCb? cb = null);
1029 public Operation? set_sink_mute_by_index(uint32 idx, bool mute, SuccessCb? cb = null);
1031 public Operation? suspend_sink_by_name(string name, bool suspend, SuccessCb? cb = null);
1032 public Operation? suspend_sink_by_index(uint32 idx, bool suspend, SuccessCb? cb = null);
1034 public Operation? set_sink_port_by_name(string name, string port, SuccessCb? cb = null);
1035 public Operation? set_sink_port_by_index(uint32 idx, string port, SuccessCb? cb = null);
1037 public Operation? get_source_info_by_name(string name, SourceInfoCb cb);
1038 public Operation? get_source_info_by_index(uint32 idx, SourceInfoCb cb);
1039 public Operation? get_source_info_list(SourceInfoCb cb);
1041 public Operation? set_source_volume_by_name(string name, CVolume volume, SuccessCb? cb = null);
1042 public Operation? set_source_volume_by_index(uint32 idx, CVolume volume, SuccessCb? cb = null);
1043 public Operation? set_source_mute_by_name(string name, bool mute, SuccessCb? cb = null);
1044 public Operation? set_source_mute_by_index(uint32 idx, bool mute, SuccessCb? cb = null);
1046 public Operation? suspend_source_by_name(string name, bool suspend, SuccessCb? cb = null);
1047 public Operation? suspend_source_by_index(uint32 idx, bool suspend, SuccessCb? cb = null);
1049 public Operation? set_source_port_by_name(string name, string port, SuccessCb? cb = null);
1050 public Operation? set_source_port_by_index(uint32 idx, string port, SuccessCb? cb = null);
1052 public Operation? get_server_info(ServerInfoCb cb);
1054 public Operation? get_module_info(uint32 idx, ModuleInfoCb cb);
1055 public Operation? get_module_info_list(ModuleInfoCb cb);
1057 public Operation? load_module(string name, string? argument, IndexCb? cb = null);
1058 public Operation? unload_module(uint32 idx, SuccessCb? cb = null);
1060 public Operation? get_client_info(uint32 idx, ClientInfoCb cb);
1061 public Operation? get_client_info_list(ClientInfoCb cb);
1063 public Operation? kill_client(uint32 idx, SuccessCb? cb = null);
1065 public Operation? get_card_info_by_name(string name, CardInfoCb cb);
1066 public Operation? get_card_info_by_index(uint32 idx, CardInfoCb cb);
1067 public Operation? get_card_info_list(CardInfoCb cb);
1069 public Operation? set_card_profile_by_index(uint32 idx, string profile, SuccessCb? cb = null);
1070 public Operation? set_card_profile_by_name(string name, string profile, SuccessCb? cb = null);
1072 public Operation? get_sink_input_info(uint32 idx, SinkInputInfoCb cb);
1073 public Operation? get_sink_input_info_list(SinkInputInfoCb cb);
1075 public Operation? move_sink_input_by_index(uint32 idx, uint32 sink_idx, SuccessCb? cb = null);
1076 public Operation? move_sink_input_by_name(uint32 idx, string sink_name, SuccessCb? cb = null);
1078 public Operation? set_sink_input_volume(uint32 idx, CVolume volume, SuccessCb? cb = null);
1079 public Operation? set_sink_input_mute(uint32 idx, bool mute, SuccessCb? cb = null);
1081 public Operation? set_source_output_volume(uint32 idx, CVolume volume, SuccessCb? cb = null);
1082 public Operation? set_source_output_mute(uint32 idx, bool mute, SuccessCb? cb = null);
1084 public Operation? kill_sink_input(uint32 idx, SuccessCb? cb = null);
1086 public Operation? get_source_output_info(uint32 idx, SourceOutputInfoCb cb);
1087 public Operation? get_source_output_info_list(SourceOutputInfoCb cb);
1089 public Operation? move_source_output_by_index(uint32 idx, uint32 source_idx, SuccessCb? cb = null);
1090 public Operation? move_source_output_by_name(uint32 idx, string source_name, SuccessCb? cb = null);
1092 public Operation? kill_source_output(uint32 idx, SuccessCb? cb = null);
1094 public Operation? stat(StatInfoCb cb);
1096 public Operation? get_sample_info_by_name(string name, SampleInfoCb cb);
1097 public Operation? get_sample_info_by_index(uint32 idx, SampleInfoCb cb);
1098 public Operation? get_sample_info_list(SampleInfoCb cb);
1100 public Operation? remove_sample(string name, SuccessCb? cb = null);
1102 public Operation? play_sample(string name, string? device = null, Volume volume = Volume.INVALID, SuccessCb? cb = null);
1103 public Operation? play_sample_with_proplist(string name, string? device = null, Volume volume = Volume.INVALID, Proplist? p = null, IndexCb? cb = null);
1107 [CCode (cname="pa_stream", cprefix="pa_stream_", unref_function="pa_stream_unref", ref_function="pa_stream_ref", has_type_id=false)]
1108 public class Stream {
1110 [CCode (cname="pa_stream_flags_t", cprefix="PA_STREAM_", has_type_id=false)]
1127 DONT_INHIBIT_AUTO_SUSPEND,
1132 [CCode (cname="pa_stream_state_t", cprefix="PA_STREAM_", has_type_id=false)]
1140 [CCode (cname="PA_STREAM_IS_GOOD")]
1141 public bool IS_GOOD();
1144 [CCode (cname="pa_stream_direction_t", cprefix="PA_STREAM_", has_type_id=false)]
1145 public enum Direction {
1152 [CCode (cname="pa_seek_mode_t", cprefix="PA_SEEK_", has_type_id=false)]
1153 public enum SeekMode {
1160 [CCode (cname="pa_buffer_attr", has_type_id=false)]
1161 public struct BufferAttr {
1169 [CCode (cname="pa_timing_info", has_type_id=false)]
1170 public struct TimingInfo {
1172 int synchronized_clocks;
1175 usec transport_usec;
1177 int write_index_corrupt;
1179 int read_index_corrupt;
1181 usec configured_sink_usec;
1182 usec configured_source_usec;
1183 int64 since_underrun;
1186 [CCode (cname="PA_STREAM_EVENT_REQUEST_CORK")]
1187 public const string EVENT_REQUEST_CORK;
1189 [CCode (cname="PA_STREAM_EVENT_REQUEST_UNCORK")]
1190 public const string EVENT_REQUEST_UNCORK;
1192 public delegate void SuccessCb(Stream s, int success);
1193 public delegate void RequestCb(Stream s, size_t nbytes);
1194 public delegate void NotifyCb(Stream s);
1195 public delegate void EventCb(Stream s, string name, Proplist proplist);
1197 [CCode (cname="pa_stream_new_with_proplist")]
1198 public Stream(Context c, string name, SampleSpec ss, ChannelMap? map = null, Proplist? proplist = null);
1200 public State get_state();
1201 public Context get_context();
1202 public uint32 get_index();
1203 public uint32 get_device_index();
1204 public unowned string? get_device_name();
1205 public int is_suspended();
1206 public int is_corked();
1208 public int connect_playback(string? dev = null, BufferAttr? a = null, Flags flags = 0, CVolume? volume = null, Stream? sync_stream = null);
1209 public int connect_record(string? dev = null, BufferAttr? a = null, Flags flags = 0);
1210 public int connect_upload(size_t length);
1211 public int disconnect();
1212 public int finish_upload();
1214 public int begin_write(out void* data, out size_t nbytes);
1215 public int cancel_write();
1216 public int write(void *data, size_t bytes, FreeCb? free_cb = null, int64 offset = 0, SeekMode mode = SeekMode.RELATIVE);
1217 public int peek(out void *data, out size_t nbytes);
1219 public size_t writable_size();
1220 public size_t readable_size();
1222 public void set_state_callback(NotifyCb? cb = null);
1223 public void set_write_callback(RequestCb? cb = null);
1224 public void set_read_callback(RequestCb? cb = null);
1225 public void set_overflow_callback(NotifyCb? cb = null);
1226 public void set_underflow_callback(NotifyCb? cb = null);
1227 public void set_started_callback(NotifyCb? cb = null);
1228 public void set_latency_update_callback(NotifyCb? cb = null);
1229 public void set_moved_callback(NotifyCb? cb = null);
1230 public void set_suspended_callback(NotifyCb? cb = null);
1231 public void set_event_callback(EventCb? cb = null);
1232 public void set_buffer_attr_callback(NotifyCb? cb = null);
1234 public Operation? drain(SuccessCb? cb = null);
1235 public Operation? update_timing_info(SuccessCb? cb = null);
1237 public Operation? cork(bool b, SuccessCb? cb = null);
1238 public Operation? flush(SuccessCb? cb = null);
1239 public Operation? prebuf(SuccessCb? cb = null);
1240 public Operation? trigger(SuccessCb? cb = null);
1242 public Operation? set_name(string name, SuccessCb? cb = null);
1243 public Operation? set_buffer_attr(BufferAttr attr, SuccessCb? cb = null);
1244 public Operation? update_sample_rate(uint32 rate, SuccessCb? cb = null);
1246 [CCode (array_length = false)]
1247 public Operation? proplist_remove(string[] keys, SuccessCb? cb = null);
1248 public Operation? proplist_update(UpdateMode mode, Proplist pl, SuccessCb? cb = null);
1250 public unowned TimingInfo? get_timing_info();
1251 public int get_time(out usec u);
1252 public int get_latency(out usec u, out bool negative = null);
1254 public unowned SampleSpec? get_sample_spec();
1255 public unowned ChannelMap? get_channel_map();
1256 public unowned BufferAttr? get_buffer_attr();
1258 public int set_monitor_stream(uint32 sink_input);
1259 public uint32 get_monitor_stream();
1262 [CCode (cname="pa_direction_t", cprefix="PA_DIRECTION_", has_type_id=false)]
1264 public enum Direction {
1269 [CCode (cname="pa_port_available_t", cprefix="PA_PORT_AVAILABLE_", has_type_id=false)]
1270 public enum PortAvailable {
1276 [CCode (cname="pa_sink_port_info", has_type_id=false)]
1277 public struct SinkPortInfo {
1279 public string description;
1280 public uint32 priority;
1283 [CCode (cname="pa_sink_info", has_type_id=false)]
1284 public struct SinkInfo {
1286 public uint32 index;
1287 public string description;
1288 public SampleSpec sample_spec;
1289 public ChannelMap channel_map;
1290 public uint32 owner_module;
1291 public CVolume volume;
1293 public uint32 monitor_source;
1294 public string monitor_source_name;
1295 public usec latency;
1296 public string driver;
1297 public SinkFlags flags;
1298 public Proplist proplist;
1299 public usec configured_latency;
1300 public Volume base_volume;
1301 public SinkState state;
1302 public uint32 n_volume_steps;
1304 public uint32 n_ports;
1305 [CCode (array_length_cname="n_ports")]
1306 public SinkPortInfo*[] ports;
1307 public SinkPortInfo* active_port;
1310 [CCode (cname="pa_source_port_info", has_type_id=false)]
1311 public struct SourcePortInfo {
1313 public string description;
1314 public uint32 priority;
1317 [CCode (cname="pa_source_info", has_type_id=false)]
1318 public struct SourceInfo {
1320 public uint32 index;
1321 public string description;
1322 public SampleSpec sample_spec;
1323 public ChannelMap channel_map;
1324 public uint32 owner_module;
1325 public CVolume volume;
1327 public uint32 monitor_of_sink;
1328 public string monitor_of_sink_name;
1329 public usec latency;
1330 public string driver;
1331 public SourceFlags flags;
1332 public Proplist proplist;
1333 public usec configured_latency;
1334 public Volume base_volume;
1335 public SourceState state;
1336 public uint32 n_volume_steps;
1338 public uint32 n_ports;
1339 [CCode (array_length_cname="n_ports")]
1340 public SourcePortInfo*[] ports;
1341 public SourcePortInfo* active_port;
1344 [CCode (cname="pa_server_info", has_type_id=false)]
1345 public struct ServerInfo {
1346 public string user_name;
1347 public string host_name;
1348 public string server_version;
1349 public string server_name;
1350 public SampleSpec sample_spec;
1351 public string default_sink_name;
1352 public string default_source_name;
1353 public ChannelMap channel_map;
1356 [CCode (cname="pa_module_info", has_type_id=false)]
1357 public struct ModuleInfo {
1358 public uint32 index;
1360 public string argument;
1361 public uint32 n_used;
1362 public Proplist proplist;
1365 [CCode (cname="pa_client_info", has_type_id=false)]
1366 public struct ClientInfo {
1367 public uint32 index;
1369 public uint32 owner_module;
1370 public string driver;
1371 public Proplist proplist;
1374 [CCode (cname="pa_card_profile_info", has_type_id=false)]
1375 public struct CardProfileInfo {
1377 public string description;
1378 public uint32 n_sinks;
1379 public uint32 n_sources;
1380 public uint32 priority;
1383 [CCode (cname="pa_card_profile_info2", has_type_id=false)]
1384 public struct CardProfileInfo2 {
1386 public string description;
1387 public uint32 n_sinks;
1388 public uint32 n_sources;
1389 public uint32 priority;
1393 [CCode (cname="pa_card_port_info", has_type_id=false)]
1394 public struct CardPortInfo {
1396 public string description;
1397 public uint32 priority;
1398 PortAvailable available;
1399 Direction direction;
1400 public uint32 n_profiles;
1401 [CCode (array_length_cname="n_profiles")]
1402 public CardProfileInfo*[] profiles;
1403 public Proplist proplist;
1404 public int64 latency_offset;
1405 [CCode (array_length_cname="n_profiles")]
1406 public CardProfileInfo2*[] profiles2;
1409 [CCode (cname="pa_card_info", has_type_id=false)]
1410 public struct CardInfo {
1411 public uint32 index;
1413 public uint32 owner_module;
1414 public string driver;
1415 public uint32 n_profiles;
1416 [CCode (array_length_cname="n_profiles")]
1417 public CardProfileInfo[] profiles;
1418 public CardProfileInfo *active_profile;
1419 [CCode (array_length_cname="n_profiles")]
1420 public CardProfileInfo2*[] profiles2;
1421 public CardProfileInfo2 *active_profile2;
1422 public Proplist proplist;
1423 public uint32 n_ports;
1424 [CCode (array_length_cname="n_ports")]
1425 public CardPortInfo*[] ports;
1428 [CCode (cname="pa_sink_input_info", has_type_id=false)]
1429 public struct SinkInputInfo {
1430 public uint32 index;
1432 public uint32 owner_module;
1433 public uint32 client;
1435 public SampleSpec sample_spec;
1436 public ChannelMap channel_map;
1437 public CVolume volume;
1438 public uint32 buffer_usec;
1439 public uint32 sink_usec;
1440 public string resample_method;
1441 public string driver;
1443 public Proplist proplist;
1445 public int has_volume;
1446 public int volume_writable;
1449 [CCode (cname="pa_source_output_info", has_type_id=false)]
1450 public struct SourceOutputInfo {
1451 public uint32 index;
1453 public uint32 owner_module;
1454 public uint32 client;
1455 public uint32 source;
1456 public SampleSpec sample_spec;
1457 public ChannelMap channel_map;
1458 public uint32 buffer_usec;
1459 public uint32 source_usec;
1460 public string resample_method;
1461 public string driver;
1462 public Proplist proplist;
1464 public CVolume volume;
1466 public int has_volume;
1467 public int volume_writable;
1470 [CCode (cname="pa_stat_info", has_type_id=false)]
1471 public struct StatInfo {
1472 public uint32 memblock_total;
1473 public uint32 memblock_total_size;
1474 public uint32 memblock_allocated;
1475 public uint32 memblock_allocated_size;
1476 public uint32 scache_size;
1479 [CCode (cname="pa_sample_info", has_type_id=false)]
1480 public struct SampleInfo {
1481 public uint32 index;
1483 public CVolume volume;
1484 public SampleSpec sample_spec;
1485 public ChannelMap channel_map;
1486 public usec duration;
1487 public uint32 bytes;
1489 public string filename;
1490 public Proplist proplist;
1493 [CCode (cname="pa_sink_flags_t", cprefix="PA_SINK_", has_type_id=false)]
1494 public enum SinkFlags {
1505 [CCode (cname="pa_source_flags_t", cprefix="PA_SOURCE_", has_type_id=false)]
1506 public enum SourceFlags {
1516 [CCode (cname="pa_sink_state_t", cprefix="PA_SINK_", has_type_id=false)]
1517 public enum SinkState {
1523 [CCode (cname="PA_SINK_IS_OPENED")]
1524 public bool IS_OPENED();
1527 [CCode (cname="pa_source_state_t", cprefix="PA_SOURCE_", has_type_id=false)]
1528 public enum SourceState {
1534 [CCode (cname="PA_SOURCE_IS_OPENED")]
1535 public bool IS_OPENED();
1538 [CCode (cname="pa_gettimeofday")]
1539 public unowned timeval gettimeofday(out timeval tv);
1541 [CCode (cname="pa_timeval_diff")]
1542 public usec timeval_diff(ref timeval a, ref timeval b);
1544 [CCode (cname="pa_timeval_cmp")]
1545 public int timeval_cmp(ref timeval a, ref timeval b);
1547 [CCode (cname="pa_timeval_age")]
1548 public usec timeval_age(ref timeval a);
1550 [CCode (cname="pa_timeval_add")]
1551 public unowned timeval timeval_add(ref timeval tv, usec x);
1553 [CCode (cname="pa_timeval_sub")]
1554 public unowned timeval timeval_sub(ref timeval tv, usec x);
1556 [CCode (cname="pa_timeval_store")]
1557 public unowned timeval timeval_store(out timeval tv, usec c);
1559 [CCode (cname="pa_timeval_load")]
1560 public usec timeval_load(timeval tv);
1562 [CCode (cname="PA_USEC_MAX")]
1563 public const usec USEC_MAX;
1565 [CCode (cname="PA_USEC_INVALID")]
1566 public const usec USEC_INVALID;
1568 [CCode (cname="PA_MSEC_PER_SEC")]
1569 public const usec MSEC_PER_SEC;
1571 [CCode (cname="PA_USEC_PER_SEC")]
1572 public const usec USEC_PER_SEC;
1574 [CCode (cname="PA_NSEC_PER_SEC")]
1575 public const uint64 NSEC_PER_SEC;
1578 [CCode (cname="PA_USEC_PER_MSEC")]
1579 public const usec USEC_PER_MSEC;
1581 [CCode (cname="PA_NSEC_PER_MSEC")]
1582 public const uint64 NSEC_PER_MSEC;
1585 [CCode (cname="PA_NSEC_PER_USEC")]
1586 public const uint64 NSEC_PER_USEC;