[pulseaudio-commits] [SCM] PulseAudio Sound Server branch, master, updated. v0.9.16-test7-33-g508c462
Lennart Poettering
gitmailer-noreply at 0pointer.de
Mon Sep 7 13:47:52 PDT 2009
This is an automated email from the git hooks/post-receive script. It was
generated because of a push to the "PulseAudio Sound Server" repository.
The master branch has been updated
from b705a9bb8dfd7f859b0aca98833010f831ba2e6a (commit)
- Log -----------------------------------------------------------------
508c462 Merge remote branch 'wtay/optimize'
08a4d57 libpulse: allow invocation of pa_context_play_sample_with_proplist() with NULL proplist
f8f8cdc vala: reindent
7234994 x86: also call see init for SSE2
b5ac383 x86: only install some functions when SSE2
-----------------------------------------------------------------------
Summary of changes:
pulseaudio.vapi | 2598 +++++++++++++++++++++---------------------
src/pulse/scache.c | 10 +-
src/pulsecore/cpu-x86.c | 2 +-
src/pulsecore/remap_sse.c | 9 +-
src/pulsecore/svolume_sse.c | 10 +-
5 files changed, 1319 insertions(+), 1310 deletions(-)
-----------------------------------------------------------------------
commit b5ac3839e18524524fa3e0da7ec68dbce16e8203
Author: Wim Taymans <wim.taymans at collabora.co.uk>
Date: Mon Sep 7 17:21:21 2009 +0200
x86: only install some functions when SSE2
Remap and volume functions use SSE2 instructions so only install them when SSE2
is present.
diff --git a/src/pulsecore/remap_sse.c b/src/pulsecore/remap_sse.c
index bf22df7..dac072e 100644
--- a/src/pulsecore/remap_sse.c
+++ b/src/pulsecore/remap_sse.c
@@ -102,7 +102,7 @@
"4: \n\t"
#if defined (__i386__) || defined (__amd64__)
-static void remap_mono_to_stereo_sse (pa_remap_t *m, void *dst, const void *src, unsigned n) {
+static void remap_mono_to_stereo_sse2 (pa_remap_t *m, void *dst, const void *src, unsigned n) {
pa_reg_x86 temp, temp2;
switch (*m->format) {
@@ -132,7 +132,7 @@ static void remap_mono_to_stereo_sse (pa_remap_t *m, void *dst, const void *src,
}
/* set the function that will execute the remapping based on the matrices */
-static void init_remap_sse (pa_remap_t *m) {
+static void init_remap_sse2 (pa_remap_t *m) {
unsigned n_oc, n_ic;
n_oc = m->o_ss->channels;
@@ -141,7 +141,7 @@ static void init_remap_sse (pa_remap_t *m) {
/* find some common channel remappings, fall back to full matrix operation. */
if (n_ic == 1 && n_oc == 2 &&
m->map_table_f[0][0] >= 1.0 && m->map_table_f[1][0] >= 1.0) {
- m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_sse;
+ m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_sse2;
pa_log_info("Using SSE mono to stereo remapping");
}
}
@@ -151,6 +151,7 @@ void pa_remap_func_init_sse (pa_cpu_x86_flag_t flags) {
#if defined (__i386__) || defined (__amd64__)
pa_log_info("Initialising SSE optimized remappers.");
- pa_set_init_remap_func ((pa_init_remap_func_t) init_remap_sse);
+ if (flags & PA_CPU_X86_SSE2)
+ pa_set_init_remap_func ((pa_init_remap_func_t) init_remap_sse2);
#endif /* defined (__i386__) || defined (__amd64__) */
}
diff --git a/src/pulsecore/svolume_sse.c b/src/pulsecore/svolume_sse.c
index 54af4a5..d9dcf47 100644
--- a/src/pulsecore/svolume_sse.c
+++ b/src/pulsecore/svolume_sse.c
@@ -75,7 +75,7 @@
" por %%xmm5, "#s2" \n\t"
static void
-pa_volume_s16ne_sse (int16_t *samples, int32_t *volumes, unsigned channels, unsigned length)
+pa_volume_s16ne_sse2 (int16_t *samples, int32_t *volumes, unsigned channels, unsigned length)
{
pa_reg_x86 channel, temp;
@@ -155,7 +155,7 @@ pa_volume_s16ne_sse (int16_t *samples, int32_t *volumes, unsigned channels, unsi
}
static void
-pa_volume_s16re_sse (int16_t *samples, int32_t *volumes, unsigned channels, unsigned length)
+pa_volume_s16re_sse2 (int16_t *samples, int32_t *volumes, unsigned channels, unsigned length)
{
pa_reg_x86 channel, temp;
@@ -308,7 +308,9 @@ void pa_volume_func_init_sse (pa_cpu_x86_flag_t flags) {
run_test ();
#endif
- pa_set_volume_func (PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_sse);
- pa_set_volume_func (PA_SAMPLE_S16RE, (pa_do_volume_func_t) pa_volume_s16re_sse);
+ if (flags & PA_CPU_X86_SSE2) {
+ pa_set_volume_func (PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_sse2);
+ pa_set_volume_func (PA_SAMPLE_S16RE, (pa_do_volume_func_t) pa_volume_s16re_sse2);
+ }
#endif /* defined (__i386__) || defined (__amd64__) */
}
commit 723499439f575f744f07c85a42b47d95cdc98de6
Author: Wim Taymans <wim.taymans at collabora.co.uk>
Date: Mon Sep 7 17:28:19 2009 +0200
x86: also call see init for SSE2
diff --git a/src/pulsecore/cpu-x86.c b/src/pulsecore/cpu-x86.c
index 1ba9f1a..f194a60 100644
--- a/src/pulsecore/cpu-x86.c
+++ b/src/pulsecore/cpu-x86.c
@@ -115,7 +115,7 @@ void pa_cpu_init_x86 (void) {
pa_remap_func_init_mmx (flags);
}
- if (flags & PA_CPU_X86_SSE) {
+ if (flags & (PA_CPU_X86_SSE | PA_CPU_X86_SSE2)) {
pa_volume_func_init_sse (flags);
pa_remap_func_init_sse (flags);
pa_convert_func_init_sse (flags);
commit f8f8cdc78c4d9e461184ad97ffe8c0bee043ebd8
Author: Lennart Poettering <lennart at poettering.net>
Date: Mon Sep 7 22:42:47 2009 +0200
vala: reindent
diff --git a/pulseaudio.vapi b/pulseaudio.vapi
index 8818abf..cf0e82e 100644
--- a/pulseaudio.vapi
+++ b/pulseaudio.vapi
@@ -1,5 +1,3 @@
-/*-*- Mode: vala; c-basic-offset: 8 -*-*/
-
/***
This file is part of PulseAudio.
@@ -28,31 +26,31 @@ using Posix;
namespace Pulse {
[CCode (cname="pa_get_library_version")]
- public unowned string get_library_version();
+ public unowned string get_library_version();
- [CCode (cname="PA_API_VERSION")]
- public const int API_VERSION;
+ [CCode (cname="PA_API_VERSION")]
+ public const int API_VERSION;
- [CCode (cname="PA_PROTOCOL_VERSION")]
- public const int PROTOCOL_VERSION;
+ [CCode (cname="PA_PROTOCOL_VERSION")]
+ public const int PROTOCOL_VERSION;
- [CCode (cname="PA_MAJOR")]
- public const int MAJOR;
+ [CCode (cname="PA_MAJOR")]
+ public const int MAJOR;
- [CCode (cname="PA_MINOR")]
- public const int MINOR;
+ [CCode (cname="PA_MINOR")]
+ public const int MINOR;
- [CCode (cname="PA_MICRO")]
- public const int MICRO;
+ [CCode (cname="PA_MICRO")]
+ public const int MICRO;
- [CCode (cname="PA_CHECK_VERSION")]
- public bool CHECK_VERSION(int major, int minor, int micro);
+ [CCode (cname="PA_CHECK_VERSION")]
+ public bool CHECK_VERSION(int major, int minor, int micro);
- [CCode (cname="INVALID_INDEX")]
- public const uint32 INVALID_INDEX;
+ [CCode (cname="INVALID_INDEX")]
+ public const uint32 INVALID_INDEX;
- [CCode (cname="pa_free_cb_t")]
- public delegate void FreeCb(void *p);
+ [CCode (cname="pa_free_cb_t")]
+ public delegate void FreeCb(void *p);
[CCode (cname="pa_sample_format_t", cprefix="PA_SAMPLE_")]
public enum SampleFormat {
@@ -81,1383 +79,1385 @@ namespace Pulse {
S24_32NE,
S24_32RE;
- [CCode (cname="pa_sample_size_of_format")]
- public size_t size();
+ [CCode (cname="pa_sample_size_of_format")]
+ public size_t size();
- [CCode (cname="pa_sample_format_to_string")]
- public unowned string? to_string();
+ [CCode (cname="pa_sample_format_to_string")]
+ public unowned string? to_string();
- [CCode (cname="pa_sample_format_is_le")]
- public int is_le();
+ [CCode (cname="pa_sample_format_is_le")]
+ public int is_le();
- [CCode (cname="pa_sample_format_is_be")]
- public int is_be();
+ [CCode (cname="pa_sample_format_is_be")]
+ public int is_be();
- [CCode (cname="pa_sample_format_is_ne")]
- public int is_ne();
+ [CCode (cname="pa_sample_format_is_ne")]
+ public int is_ne();
- [CCode (cname="pa_sample_format_is_re")]
- public int is_re();
+ [CCode (cname="pa_sample_format_is_re")]
+ public int is_re();
- [CCode (cname="pa_parse_sample_format")]
- public static SampleFormat parse(string b);
+ [CCode (cname="pa_parse_sample_format")]
+ public static SampleFormat parse(string b);
}
[CCode (cname="pa_usec_t")]
- public struct usec : uint64 {
- }
+ public struct usec : uint64 {
+ }
[CCode (cname="pa_sample_spec")]
- public struct SampleSpec {
- public SampleFormat format;
- public uint32 rate;
- public uint8 channels;
+ public struct SampleSpec {
+ public SampleFormat format;
+ public uint32 rate;
+ public uint8 channels;
+
+ [CCode (cname="PA_SAMPLE_SPEC_SNPRINT_MAX")]
+ public static const size_t SNPRINT_MAX;
+
+ [CCode (cname="pa_bytes_per_second")]
+ public size_t bytes_per_second();
+
+ [CCode (cname="pa_frame_size")]
+ public size_t frame_size();
+
+ [CCode (cname="pa_sample_size")]
+ public size_t sample_size();
+
+ [CCode (cname="pa_bytes_to_usec", instance_pos=1.1)]
+ public usec bytes_to_usec(size_t size);
+
+ [CCode (cname="pa_usec_to_bytes", instance_pos=1.1)]
+ public size_t usec_to_bytes(usec u);
+
+ [CCode (cname="pa_sample_spec_init")]
+ public unowned SampleSpec? init();
- [CCode (cname="PA_SAMPLE_SPEC_SNPRINT_MAX")]
- public static const size_t SNPRINT_MAX;
+ [CCode (cname="pa_sample_spec_valid")]
+ public bool valid();
- [CCode (cname="pa_bytes_per_second")]
- public size_t bytes_per_second();
+ [CCode (cname="pa_sample_spec_equal")]
+ public bool equal(SampleSpec other);
- [CCode (cname="pa_frame_size")]
- public size_t frame_size();
+ [CCode (cname="pa_sample_spec_snprint", instance_pos=3.1)]
+ public unowned string snprint(char[] buf);
- [CCode (cname="pa_sample_size")]
- public size_t sample_size();
+ public string sprint() {
+ var buffer = new char[SNPRINT_MAX];
+ this.snprint(buffer);
+ return (string) buffer;
+ }
- [CCode (cname="pa_bytes_to_usec", instance_pos=1.1)]
- public usec bytes_to_usec(size_t size);
+ public string to_string() {
+ return sprint();
+ }
- [CCode (cname="pa_usec_to_bytes", instance_pos=1.1)]
- public size_t usec_to_bytes(usec u);
+ [CCode (cname="pa_sample_spec_init")]
+ SampleSpec();
+ }
+
+ // [CCode (cname="PA_BYTES_SNPRINT_MAX")]
+ [CCode (cname="PA_SAMPLE_SPEC_SNPRINT_MAX")]
+ public const size_t BYTES_SNPRINT_MAX;
- [CCode (cname="pa_sample_spec_init")]
- public unowned SampleSpec? init();
+ [CCode (cname="pa_bytes_snprint")]
+ public unowned string bytes_snprint(char[] buf, uint bytes);
- [CCode (cname="pa_sample_spec_valid")]
- public bool valid();
+ public string bytes_sprint(uint bytes) {
+ var buffer = new char[BYTES_SNPRINT_MAX];
+ bytes_snprint(buffer, bytes);
+ return (string) buffer;
+ }
- [CCode (cname="pa_sample_spec_equal")]
- public bool equal(SampleSpec other);
+ [CCode (cname="pa_volume_t")]
+ public struct Volume : uint32 {
- [CCode (cname="pa_sample_spec_snprint", instance_pos=3.1)]
- public unowned string snprint(char[] buf);
+ [CCode (cname="PA_SW_VOLUME_SNPRINT_DB_MAX")]
+ public static const size_t SW_SNPRINT_DB_MAX;
- public string sprint() {
- var buffer = new char[SNPRINT_MAX];
- this.snprint(buffer);
- return (string) buffer;
- }
+ [CCode (cname="PA_VOLUME_SNPRINT_MAX")]
+ public static const size_t SNPRINT_MAX;
- public string to_string() {
- return sprint();
- }
+ [CCode (cname="PA_VOLUME_MAX")]
+ public static const Volume MAX;
- [CCode (cname="pa_sample_spec_init")]
- SampleSpec();
- }
+ [CCode (cname="PA_VOLUME_NORM")]
+ public static const Volume NORM;
- // [CCode (cname="PA_BYTES_SNPRINT_MAX")]
- [CCode (cname="PA_SAMPLE_SPEC_SNPRINT_MAX")]
- public const size_t BYTES_SNPRINT_MAX;
+ [CCode (cname="PA_VOLUME_MUTED")]
+ public static const Volume MUTED;
- [CCode (cname="pa_bytes_snprint")]
- public unowned string bytes_snprint(char[] buf, uint bytes);
+ // [CCode (cname="PA_VOLUME_INVALID")]
+ [CCode (cname="PA_VOLUME_MAX")]
+ public static const Volume INVALID;
- public string bytes_sprint(uint bytes) {
- var buffer = new char[BYTES_SNPRINT_MAX];
- bytes_snprint(buffer, bytes);
- return (string) buffer;
- }
+ [CCode (cname="pa_volume_snprint", instance_pos = 3.1)]
+ public unowned string snprint(char[] s);
- [CCode (cname="pa_volume_t")]
- public struct Volume : uint32 {
+ public string sprint() {
+ var buffer = new char[SNPRINT_MAX];
+ this.snprint(buffer);
+ return (string) buffer;
+ }
- [CCode (cname="PA_SW_VOLUME_SNPRINT_DB_MAX")]
- public static const size_t SW_SNPRINT_DB_MAX;
+ public string to_string() {
+ return sprint();
+ }
- [CCode (cname="PA_VOLUME_SNPRINT_MAX")]
- public static const size_t SNPRINT_MAX;
+ [CCode (cname="pa_sw_volume_snprint_dB", instance_pos = 3.1)]
+ public unowned string sw_snprint_dB(char[] s);
- [CCode (cname="PA_VOLUME_MAX")]
- public static const Volume MAX;
+ public string sw_sprint_dB() {
+ var buffer = new char[SW_SNPRINT_DB_MAX];
+ this.sw_snprint_dB(buffer);
+ return (string) buffer;
+ }
- [CCode (cname="PA_VOLUME_NORM")]
- public static const Volume NORM;
+ [CCode (cname="pa_sw_volume_multiply")]
+ public Volume sw_multiply(Volume other);
- [CCode (cname="PA_VOLUME_MUTED")]
- public static const Volume MUTED;
+ [CCode (cname="pa_sw_volume_divide")]
+ public Volume sw_divide(Volume other);
- // [CCode (cname="PA_VOLUME_INVALID")]
- [CCode (cname="PA_VOLUME_MAX")]
- public static const Volume INVALID;
+ [CCode (cname="pa_sw_volume_from_dB")]
+ public static Volume sw_from_dB(double f);
- [CCode (cname="pa_volume_snprint", instance_pos = 3.1)]
- public unowned string snprint(char[] s);
+ [CCode (cname="pa_sw_volume_to_dB")]
+ public double sw_to_dB();
- public string sprint() {
- var buffer = new char[SNPRINT_MAX];
- this.snprint(buffer);
- return (string) buffer;
- }
+ [CCode (cname="pa_sw_volume_from_linear")]
+ public static Volume sw_from_linear(double f);
+
+ [CCode (cname="pa_sw_volume_to_linear")]
+ public double sw_to_linear();
+ }
- public string to_string() {
- return sprint();
- }
+ [CCode (cname="PA_DECIBEL_MININFTY")]
+ public const double DECIBEL_MININFTY;
- [CCode (cname="pa_sw_volume_snprint_dB", instance_pos = 3.1)]
- public unowned string sw_snprint_dB(char[] s);
+ [CCode (cname="PA_CHANNELS_MAX")]
+ public const int CHANNELS_MAX;
- public string sw_sprint_dB() {
- var buffer = new char[SW_SNPRINT_DB_MAX];
- this.sw_snprint_dB(buffer);
- return (string) buffer;
- }
+ [CCode (cname="PA_CHANNELS_MAX")]
+ public const int RATE_MAX;
- [CCode (cname="pa_sw_volume_multiply")]
- public Volume sw_multiply(Volume other);
+ [CCode (cname="pa_cvolume")]
+ public struct CVolume {
+ public uint8 channels;
+ public Volume values[];
- [CCode (cname="pa_sw_volume_divide")]
- public Volume sw_divide(Volume other);
+ [CCode (cname="PA_SW_CVOLUME_SNPRINT_DB_MAX")]
+ public static const size_t SW_SNPRINT_DB_MAX;
- [CCode (cname="pa_sw_volume_from_dB")]
- public static Volume sw_from_dB(double f);
+ [CCode (cname="PA_CVOLUME_SNPRINT_MAX")]
+ public static const size_t SNPRINT_MAX;
- [CCode (cname="pa_sw_volume_to_dB")]
- public double sw_to_dB();
+ [CCode (cname="pa_cvolume_equal")]
+ public bool equal(CVolume other);
- [CCode (cname="pa_sw_volume_from_linear")]
- public static Volume sw_from_linear(double f);
+ [CCode (cname="pa_cvolume_init")]
+ public unowned CVolume? init();
- [CCode (cname="pa_sw_volume_to_linear")]
- public double sw_to_linear();
- }
+ [CCode (cname="pa_cvolume_reset")]
+ public unowned CVolume? reset(uint8 channels);
- [CCode (cname="PA_DECIBEL_MININFTY")]
- public const double DECIBEL_MININFTY;
+ [CCode (cname="pa_cvolume_mute")]
+ public unowned CVolume? mute(uint8 channels);
- [CCode (cname="PA_CHANNELS_MAX")]
- public const int CHANNELS_MAX;
+ [CCode (cname="pa_cvolume_snprint", instance_pos = 3.1)]
+ public unowned string snprint(char[] s);
- [CCode (cname="PA_CHANNELS_MAX")]
- public const int RATE_MAX;
+ public string sprint() {
+ var buffer = new char[SNPRINT_MAX];
+ this.snprint(buffer);
+ return (string) buffer;
+ }
- [CCode (cname="pa_cvolume")]
- public struct CVolume {
- public uint8 channels;
- public Volume values[];
+ public string to_string() {
+ return sprint();
+ }
- [CCode (cname="PA_SW_CVOLUME_SNPRINT_DB_MAX")]
- public static const size_t SW_SNPRINT_DB_MAX;
+ [CCode (cname="pa_sw_cvolume_snprint_dB", instance_pos = 3.1)]
+ public unowned string sw_snprint_dB(char [] s);
- [CCode (cname="PA_CVOLUME_SNPRINT_MAX")]
- public static const size_t SNPRINT_MAX;
+ public string sw_sprint_dB() {
+ var buffer = new char[SW_SNPRINT_DB_MAX];
+ this.sw_snprint_dB(buffer);
+ return (string) buffer;
+ }
- [CCode (cname="pa_cvolume_equal")]
- public bool equal(CVolume other);
+ [CCode (cname="pa_cvolume_init")]
+ public CVolume();
- [CCode (cname="pa_cvolume_init")]
- public unowned CVolume? init();
+ [CCode (cname="pa_cvolume_avg")]
+ public Volume avg();
- [CCode (cname="pa_cvolume_reset")]
- public unowned CVolume? reset(uint8 channels);
+ [CCode (cname="pa_cvolume_max")]
+ public Volume max();
- [CCode (cname="pa_cvolume_mute")]
- public unowned CVolume? mute(uint8 channels);
+ [CCode (cname="pa_cvolume_min")]
+ public Volume min();
- [CCode (cname="pa_cvolume_snprint", instance_pos = 3.1)]
- public unowned string snprint(char[] s);
+ [CCode (cname="pa_cvolume_avg_mask")]
+ public Volume avg_mask(ChannelMap map, ChannelPositionMask mask);
- public string sprint() {
- var buffer = new char[SNPRINT_MAX];
- this.snprint(buffer);
- return (string) buffer;
- }
+ [CCode (cname="pa_cvolume_max_mask")]
+ public Volume max_mask(ChannelMap map, ChannelPositionMask mask);
- public string to_string() {
- return sprint();
- }
+ [CCode (cname="pa_cvolume_min_mask")]
+ public Volume min_mask(ChannelMap map, ChannelPositionMask mask);
- [CCode (cname="pa_sw_cvolume_snprint_dB", instance_pos = 3.1)]
- public unowned string sw_snprint_dB(char [] s);
+ [CCode (cname="pa_cvolume_valid")]
+ public bool valid();
- public string sw_sprint_dB() {
- var buffer = new char[SW_SNPRINT_DB_MAX];
- this.sw_snprint_dB(buffer);
- return (string) buffer;
- }
+ [CCode (cname="pa_cvolume_channels_equal_to")]
+ public bool channels_equal_to(Volume other);
- [CCode (cname="pa_cvolume_init")]
- public CVolume();
+ [CCode (cname="pa_cvolume_is_muted")]
+ public bool is_muted();
- [CCode (cname="pa_cvolume_avg")]
- public Volume avg();
+ [CCode (cname="pa_cvolume_is_norm")]
+ public bool is_norm();
- [CCode (cname="pa_cvolume_max")]
- public Volume max();
+ [CCode (cname="pa_sw_cvolume_multiply")]
+ public unowned CVolume? multiply(CVolume other);
- [CCode (cname="pa_cvolume_min")]
- public Volume min();
+ [CCode (cname="pa_sw_cvolume_divide")]
+ public unowned CVolume? divide(CVolume other);
- [CCode (cname="pa_cvolume_avg_mask")]
- public Volume avg_mask(ChannelMap map, ChannelPositionMask mask);
+ [CCode (cname="pa_sw_cvolume_multiply_scalar")]
+ public unowned CVolume? multiply_scalar(Volume other);
- [CCode (cname="pa_cvolume_max_mask")]
- public Volume max_mask(ChannelMap map, ChannelPositionMask mask);
+ [CCode (cname="pa_sw_cvolume_divide_scalar")]
+ public unowned CVolume? divide_scalar(Volume other);
- [CCode (cname="pa_cvolume_min_mask")]
- public Volume min_mask(ChannelMap map, ChannelPositionMask mask);
+ [CCode (cname="pa_cvolume_remap")]
+ public unowned CVolume? remap(ChannelMap from, ChannelMap to);
- [CCode (cname="pa_cvolume_valid")]
- public bool valid();
+ [CCode (cname="pa_cvolume_compatible")]
+ public bool compatible(SampleSpec ss);
- [CCode (cname="pa_cvolume_channels_equal_to")]
- public bool channels_equal_to(Volume other);
+ [CCode (cname="pa_cvolume_compatible_with_channel_map")]
+ public bool compatible_with_channel_map(ChannelMap cm);
- [CCode (cname="pa_cvolume_is_muted")]
- public bool is_muted();
+ [CCode (cname="pa_cvolume_get_balance")]
+ public float get_balance(ChannelMap map);
- [CCode (cname="pa_cvolume_is_norm")]
- public bool is_norm();
+ [CCode (cname="pa_cvolume_set_balance")]
+ public unowned CVolume? set_balance(ChannelMap map, float b);
- [CCode (cname="pa_sw_cvolume_multiply")]
- public unowned CVolume? multiply(CVolume other);
+ [CCode (cname="pa_cvolume_get_fade")]
+ public float get_fade(ChannelMap map);
- [CCode (cname="pa_sw_cvolume_divide")]
- public unowned CVolume? divide(CVolume other);
+ [CCode (cname="pa_cvolume_set_fade")]
+ public unowned CVolume? set_fade(ChannelMap map, float f);
- [CCode (cname="pa_sw_cvolume_multiply_scalar")]
- public unowned CVolume? multiply_scalar(Volume other);
+ [CCode (cname="pa_cvolume_scale")]
+ public unowned CVolume? scale(Volume max);
- [CCode (cname="pa_sw_cvolume_divide_scalar")]
- public unowned CVolume? divide_scalar(Volume other);
+ [CCode (cname="pa_cvolume_scale_mask")]
+ public unowned CVolume? scale_mask(Volume max, ChannelMap map, ChannelPositionMask mask);
- [CCode (cname="pa_cvolume_remap")]
- public unowned CVolume? remap(ChannelMap from, ChannelMap to);
+ [CCode (cname="pa_cvolume_set_position")]
+ public unowned CVolume? set_position(ChannelMap map, ChannelPosition p, Volume v);
- [CCode (cname="pa_cvolume_compatible")]
- public bool compatible(SampleSpec ss);
+ [CCode (cname="pa_cvolume_get_position")]
+ public Volume get_position(ChannelMap map, ChannelPosition p);
+
+ [CCode (cname="pa_cvolume_merge")]
+ public unowned CVolume? merge(CVolume other);
+
+ [CCode (cname="pa_cvolume_inc")]
+ public unowned CVolume? inc(Volume plus = 1);
+
+ [CCode (cname="pa_cvolume_dec")]
+ public unowned CVolume? dec(Volume minus = 1);
+ }
- [CCode (cname="pa_cvolume_compatible_with_channel_map")]
- public bool compatible_with_channel_map(ChannelMap cm);
+ [CCode (cname="pa_channel_map")]
+ public struct ChannelMap {
+ public uint8 channels;
+ public ChannelPosition map[];
- [CCode (cname="pa_cvolume_get_balance")]
- public float get_balance(ChannelMap map);
+ [CCode (cname="PA_CHANNEL_MAP_SNPRINT_MAX")]
+ public static const size_t SNPRINT_MAX;
- [CCode (cname="pa_cvolume_set_balance")]
- public unowned CVolume? set_balance(ChannelMap map, float b);
+ [CCode (cname="pa_channel_map_init")]
+ public ChannelMap();
- [CCode (cname="pa_cvolume_get_fade")]
- public float get_fade(ChannelMap map);
+ [CCode (cname="pa_channel_map_init")]
+ public unowned ChannelMap? init();
- [CCode (cname="pa_cvolume_set_fade")]
- public unowned CVolume? set_fade(ChannelMap map, float f);
+ [CCode (cname="pa_channel_map_init_mono")]
+ public unowned ChannelMap? init_mono();
- [CCode (cname="pa_cvolume_scale")]
- public unowned CVolume? scale(Volume max);
+ [CCode (cname="pa_channel_map_init_stereo")]
+ public unowned ChannelMap? init_stereo();
- [CCode (cname="pa_cvolume_scale_mask")]
- public unowned CVolume? scale_mask(Volume max, ChannelMap map, ChannelPositionMask mask);
+ [CCode (cname="pa_channel_map_init_auto")]
+ public unowned ChannelMap? init_auto(uint8 channels, ChannelMapDef def = ChannelMapDef.DEFAULT);
- [CCode (cname="pa_cvolume_set_position")]
- public unowned CVolume? set_position(ChannelMap map, ChannelPosition p, Volume v);
+ [CCode (cname="pa_channel_map_init_extend")]
+ public unowned ChannelMap? init_extend(uint8 channels, ChannelMapDef def = ChannelMapDef.DEFAULT);
- [CCode (cname="pa_cvolume_get_position")]
- public Volume get_position(ChannelMap map, ChannelPosition p);
+ [CCode (cname="pa_channel_map_snprint", instance_pos = 3.1)]
+ public unowned string snprint(char[] s);
- [CCode (cname="pa_cvolume_merge")]
- public unowned CVolume? merge(CVolume other);
+ public string sprint() {
+ var buffer = new char[SNPRINT_MAX];
+ this.snprint(buffer);
+ return (string) buffer;
+ }
- [CCode (cname="pa_cvolume_inc")]
- public unowned CVolume? inc(Volume plus = 1);
+ public string to_string() {
+ return sprint();
+ }
- [CCode (cname="pa_cvolume_dec")]
- public unowned CVolume? dec(Volume minus = 1);
- }
+ [CCode (cname="pa_channel_map_parse")]
+ public unowned ChannelMap? parse(string s);
- [CCode (cname="pa_channel_map")]
- public struct ChannelMap {
- public uint8 channels;
- public ChannelPosition map[];
+ [CCode (cname="pa_channel_map_equal")]
+ public bool equal(ChannelMap other);
- [CCode (cname="PA_CHANNEL_MAP_SNPRINT_MAX")]
- public static const size_t SNPRINT_MAX;
+ [CCode (cname="pa_channel_map_superset")]
+ public bool superset(ChannelMap other);
- [CCode (cname="pa_channel_map_init")]
- public ChannelMap();
+ [CCode (cname="pa_channel_map_valid")]
+ public bool valid();
- [CCode (cname="pa_channel_map_init")]
- public unowned ChannelMap? init();
+ [CCode (cname="pa_channel_map_compatible")]
+ public bool compatible(SampleSpec ss);
- [CCode (cname="pa_channel_map_init_mono")]
- public unowned ChannelMap? init_mono();
+ [CCode (cname="pa_channel_map_can_balance")]
+ public bool can_balance();
+
+ [CCode (cname="pa_channel_map_can_fade")]
+ public bool can_fade();
+
+ [CCode (cname="pa_channel_map_to_name")]
+ public unowned string? to_name();
+
+ [CCode (cname="pa_channel_map_to_pretty_name")]
+ public unowned string? to_pretty_name();
+
+ [CCode (cname="pa_channel_map_has_position")]
+ public bool has_position(ChannelPosition p);
+
+ [CCode (cname="pa_channel_map_mask")]
+ public ChannelPositionMask mask();
+ }
+
+ [CCode (cname="pa_channel_position_mask_t")]
+ public struct ChannelPositionMask : uint64 {
+ }
+
+ [CCode (cname="pa_channel_position_t", cprefix="PA_CHANNEL_POSITION_")]
+ public enum ChannelPosition {
+ INVALID,
+ MONO,
+ FRONT_LEFT,
+ FRONT_RIGHT,
+ FRONT_CENTER,
+ REAR_CENTER,
+ REAR_LEFT,
+ REAR_RIGHT,
+ LFE,
+ FRONT_LEFT_OF_CENTER,
+ FRONT_RIGHT_OF_CENTER,
+ SIDE_LEFT,
+ SIDE_RIGHT,
+ TOP_CENTER,
+ AUX0,
+ AUX1,
+ AUX2,
+ AUX3,
+ AUX4,
+ AUX5,
+ AUX6,
+ AUX7,
+ AUX8,
+ AUX9,
+ AUX10,
+ AUX11,
+ AUX12,
+ AUX13,
+ AUX14,
+ AUX15,
+ AUX16,
+ AUX17,
+ AUX18,
+ AUX19,
+ AUX20,
+ AUX21,
+ AUX22,
+ AUX23,
+ AUX24,
+ AUX25,
+ AUX26,
+ AUX27,
+ AUX28,
+ AUX29,
+ AUX30,
+ AUX31,
+ MAX;
+
+ [CCode (cname="PA_CHANNEL_POSITION_MASK")]
+ public ChannelPositionMask mask();
+
+ [CCode (cname="pa_channel_position_to_string")]
+ public unowned string? to_string();
+
+ [CCode (cname="pa_channel_position_to_pretty_string")]
+ public unowned string? to_pretty_string();
+
+ [CCode (cname="pa_channel_position_from_string")]
+ public static ChannelPosition from_string(string s);
+ }
+
+ [CCode (cname="pa_channel_map_def_t", cprefix="PA_CHANNEL_MAP_")]
+ public enum ChannelMapDef {
+ AIFF,
+ WAVEEX,
+ AUX,
+ DEFAULT,
+
+ [CCode (cname="PA_CHANNEL_MAP_DEF_MAX")]
+ MAX
+ }
+
+ [Compact]
+ [CCode (cname="pa_proplist", cprefix="pa_proplist_", free_function="pa_proplist_free")]
+ public class Proplist {
+
+ [CCode (cname="PA_PROP_MEDIA_NAME")]
+ public static const string PROP_MEDIA_NAME;
+ [CCode (cname="PA_PROP_MEDIA_TITLE")]
+ public static const string PROP_MEDIA_TITLE;
+ [CCode (cname="PA_PROP_MEDIA_ARTIST")]
+ public static const string PROP_MEDIA_ARTIST;
+ [CCode (cname="PA_PROP_MEDIA_COPYRIGHT")]
+ public static const string PROP_MEDIA_COPYRIGHT;
+ [CCode (cname="PA_PROP_MEDIA_SOFTWARE")]
+ public static const string PROP_MEDIA_SOFTWARE;
+ [CCode (cname="PA_PROP_MEDIA_LANGUAGE")]
+ public static const string PROP_MEDIA_LANGUAGE;
+ [CCode (cname="PA_PROP_MEDIA_FILENAME")]
+ public static const string PROP_MEDIA_FILENAME;
+ [CCode (cname="PA_PROP_MEDIA_ICON_NAME")]
+ public static const string PROP_MEDIA_ICON_NAME;
+ [CCode (cname="PA_PROP_MEDIA_ROLE")]
+ public static const string PROP_MEDIA_ROLE;
+ [CCode (cname="PA_PROP_EVENT_ID")]
+ public static const string PROP_EVENT_ID;
+ [CCode (cname="PA_PROP_EVENT_DESCRIPTION")]
+ public static const string PROP_EVENT_DESCRIPTION;
+ [CCode (cname="PA_PROP_EVENT_MOUSE_X")]
+ public static const string PROP_EVENT_MOUSE_X;
+ [CCode (cname="PA_PROP_EVENT_MOUSE_Y")]
+ public static const string PROP_EVENT_MOUSE_Y;
+ [CCode (cname="PA_PROP_EVENT_MOUSE_HPOS")]
+ public static const string PROP_EVENT_MOUSE_HPOS;
+ [CCode (cname="PA_PROP_EVENT_MOUSE_VPOS")]
+ public static const string PROP_EVENT_MOUSE_VPOS;
+ [CCode (cname="PA_PROP_EVENT_MOUSE_BUTTON")]
+ public static const string PROP_EVENT_MOUSE_BUTTON;
+ [CCode (cname="PA_PROP_WINDOW_NAME")]
+ public static const string PROP_WINDOW_NAME;
+ [CCode (cname="PA_PROP_WINDOW_ID")]
+ public static const string PROP_WINDOW_ID;
+ [CCode (cname="PA_PROP_WINDOW_ICON_NAME")]
+ public static const string PROP_WINDOW_ICON_NAME;
+ [CCode (cname="PA_PROP_WINDOW_X11_DISPLAY")]
+ public static const string PROP_WINDOW_X11_DISPLAY;
+ [CCode (cname="PA_PROP_WINDOW_X11_SCREEN")]
+ public static const string PROP_WINDOW_X11_SCREEN;
+ [CCode (cname="PA_PROP_WINDOW_X11_MONITOR")]
+ public static const string PROP_WINDOW_X11_MONITOR;
+ [CCode (cname="PA_PROP_WINDOW_X11_XID")]
+ public static const string PROP_WINDOW_X11_XID;
+ [CCode (cname="PA_PROP_APPLICATION_NAME")]
+ public static const string PROP_APPLICATION_NAME;
+ [CCode (cname="PA_PROP_APPLICATION_ID")]
+ public static const string PROP_APPLICATION_ID;
+ [CCode (cname="PA_PROP_APPLICATION_VERSION")]
+ public static const string PROP_APPLICATION_VERSION;
+ [CCode (cname="PA_PROP_APPLICATION_ICON_NAME")]
+ public static const string PROP_APPLICATION_ICON_NAME;
+ [CCode (cname="PA_PROP_APPLICATION_LANGUAGE")]
+ public static const string PROP_APPLICATION_LANGUAGE;
+ [CCode (cname="PA_PROP_APPLICATION_PROCESS_ID")]
+ public static const string PROP_APPLICATION_PROCESS_ID;
+ [CCode (cname="PA_PROP_APPLICATION_PROCESS_BINARY")]
+ public static const string PROP_APPLICATION_PROCESS_BINARY;
+ [CCode (cname="PA_PROP_APPLICATION_PROCESS_USER")]
+ public static const string PROP_APPLICATION_PROCESS_USER;
+ [CCode (cname="PA_PROP_APPLICATION_PROCESS_HOST")]
+ public static const string PROP_APPLICATION_PROCESS_HOST;
+ [CCode (cname="PA_PROP_APPLICATION_PROCESS_MACHINE_ID")]
+ public static const string PROP_APPLICATION_PROCESS_MACHINE_ID;
+ [CCode (cname="PA_PROP_APPLICATION_PROCESS_SESSION_ID")]
+ public static const string PROP_APPLICATION_PROCESS_SESSION_ID;
+ [CCode (cname="PA_PROP_DEVICE_STRING")]
+ public static const string PROP_DEVICE_STRING;
+ [CCode (cname="PA_PROP_DEVICE_API")]
+ public static const string PROP_DEVICE_API;
+ [CCode (cname="PA_PROP_DEVICE_DESCRIPTION")]
+ public static const string PROP_DEVICE_DESCRIPTION;
+ [CCode (cname="PA_PROP_DEVICE_BUS_PATH")]
+ public static const string PROP_DEVICE_BUS_PATH;
+ [CCode (cname="PA_PROP_DEVICE_SERIAL")]
+ public static const string PROP_DEVICE_SERIAL;
+ [CCode (cname="PA_PROP_DEVICE_VENDOR_ID")]
+ public static const string PROP_DEVICE_VENDOR_ID;
+ [CCode (cname="PA_PROP_DEVICE_VENDOR_NAME")]
+ public static const string PROP_DEVICE_VENDOR_NAME;
+ [CCode (cname="PA_PROP_DEVICE_PRODUCT_ID")]
+ public static const string PROP_DEVICE_PRODUCT_ID;
+ [CCode (cname="PA_PROP_DEVICE_PRODUCT_NAME")]
+ public static const string PROP_DEVICE_PRODUCT_NAME;
+ [CCode (cname="PA_PROP_DEVICE_CLASS")]
+ public static const string PROP_DEVICE_CLASS;
+ [CCode (cname="PA_PROP_DEVICE_FORM_FACTOR")]
+ public static const string PROP_DEVICE_FORM_FACTOR;
+ [CCode (cname="PA_PROP_DEVICE_BUS")]
+ public static const string PROP_DEVICE_BUS;
+ [CCode (cname="PA_PROP_DEVICE_ICON_NAME")]
+ public static const string PROP_DEVICE_ICON_NAME;
+ [CCode (cname="PA_PROP_DEVICE_ACCESS_MODE")]
+ public static const string PROP_DEVICE_ACCESS_MODE;
+ [CCode (cname="PA_PROP_DEVICE_MASTER_DEVICE")]
+ public static const string PROP_DEVICE_MASTER_DEVICE;
+ [CCode (cname="PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE")]
+ public static const string PROP_DEVICE_BUFFERING_BUFFER_SIZE;
+ [CCode (cname="PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE")]
+ public static const string PROP_DEVICE_BUFFERING_FRAGMENT_SIZE;
+ [CCode (cname="PA_PROP_DEVICE_PROFILE_NAME")]
+ public static const string PROP_DEVICE_PROFILE_NAME;
+ [CCode (cname="PA_PROP_DEVICE_INTENDED_ROLES")]
+ public static const string PROP_DEVICE_INTENDED_ROLES;
+ [CCode (cname="PA_PROP_DEVICE_PROFILE_DESCRIPTION")]
+ public static const string PROP_DEVICE_PROFILE_DESCRIPTION;
+ [CCode (cname="PA_PROP_MODULE_AUTHOR")]
+ public static const string PROP_MODULE_AUTHOR;
+ [CCode (cname="PA_PROP_MODULE_DESCRIPTION")]
+ public static const string PROP_MODULE_DESCRIPTION;
+ [CCode (cname="PA_PROP_MODULE_USAGE")]
+ public static const string PROP_MODULE_USAGE;
+ [CCode (cname="PA_PROP_MODULE_VERSION")]
+ public static const string PROP_MODULE_VERSION;
+
+ [CCode (cname="pa_proplist_new")]
+ public Proplist();
+
+ public int sets(string key, string value);
+ public int setp(string pair);
+
+ [PrintfFormat]
+ public int setf(string key, string format, ...);
+
+ public int set(string key, void* data, size_t size);
+
+ public unowned string? gets(string key);
+
+ public int get(string key, out void* data, out size_t size);
+
+ public void update(UpdateMode mode, Proplist other);
+
+ public void unset(string key);
+
+ [CCode (array_length = false)]
+ public void unset_many(string[] key);
+
+ public unowned string? iterate(ref void* state);
+
+ public string to_string();
+
+ public string to_string_sep(string sep);
+
+ public static Proplist? from_string(string s);
+
+ public int contains(string key);
+
+ public void clear();
+
+ public Proplist copy();
+
+ public uint size();
+
+ public bool is_empty();
+ }
+
+ [CCode (cname="pa_update_mode_t", cprefix="PA_UPDATE_")]
+ public enum UpdateMode {
+ SET,
+ MERGE,
+ REPLACE
+ }
+
+ [CCode (cname="PA_OK")]
+ public const int OK;
+
+ [CCode (cname="int", cprefix="PA_ERR_")]
+ public enum Error {
+ ACCESS,
+ COMMAND,
+ INVALID,
+ EXIST,
+ NOENTITY,
+ CONNECTIONREFUSED,
+ PROTOCOL,
+ TIMEOUT,
+ AUTHKEY,
+ INTERNAL,
+ CONNECTIONTERMINATED,
+ KILLED,
+ INVALIDSERVER,
+ MODINITFAILED,
+ BADSTATE,
+ NODATA,
+ VERSION,
+ TOOLARGE,
+ NOTSUPPORTED,
+ UNKNOWN,
+ NOEXTENSION,
+ OBSOLETE,
+ NOTIMPLEMENTED,
+ FORKED,
+ IO,
+ MAX
+ }
+
+ [CCode (cname="pa_strerror")]
+ public unowned string? strerror(Error e);
+
+ public delegate void VoidFunc();
+
+ [CCode (cname="pa_spawn_api")]
+ public struct SpawnApi {
+ VoidFunc? prefork;
+ VoidFunc? postfork;
+ VoidFunc? atfork;
+ }
+
+ [CCode (cname="pa_io_event_flags_t", cprefix="PA_IO_EVENT_")]
+ public enum IoEventFlags {
+ NULL,
+ INPUT,
+ OUTPUT,
+ HANGUP,
+ ERROR
+ }
+
+ [CCode (cname="pa_io_event")]
+ public struct IoEvent {
+ }
+
+ [CCode (cname="pa_time_event")]
+ public struct TimeEvent {
+ }
+
+ [CCode (cname="pa_defer_event")]
+ public struct DeferEvent {
+ }
+
+ [CCode (cname="pa_signal_event", cprefix="pa_signal_", free_function="pa_signal_free")]
+ public struct SignalEvent {
+
+ [CCode (cname="pa_signal_new")]
+ public SignalEvent(int sig, MainLoopApi.SignalEventCb cb);
+
+ public void set_destroy(MainLoopApi.SignalEventDestroyCb cb);
+ }
+
+ [Compact]
+ [CCode (cname="pa_mainloop_api")]
+ public class MainLoopApi {
+ public void* userdata;
+
+ /* Callbacks for the consumer to implement*/
+ public delegate void IoEventCb(IoEvent e, int fd, IoEventFlags flags);
+ public delegate void IoEventDestroyCb(IoEvent e);
+
+ public delegate void TimeEventCb(TimeEvent e, ref timeval t);
+ public delegate void TimeEventDestroyCb(TimeEvent e);
+
+ public delegate void DeferEventCb(DeferEvent e);
+ public delegate void DeferEventDestroyCb(DeferEvent e);
+
+ public delegate void SignalEventCb(SignalEvent e);
+ public delegate void SignalEventDestroyCb(SignalEvent e);
+
+ /* Callbacks for the provider to implement */
+ public delegate IoEvent IoNewCb(int fd, IoEventFlags flags, IoEventCb cb);
+ public delegate void IoEnableCb(IoEvent e, IoEventFlags flags);
+ public delegate void IoFreeCb(IoEvent e);
+ public delegate void IoSetDestroyCb(IoEvent e, IoEventDestroyCb? cb);
+
+ public delegate TimeEvent TimeNewCb(ref timeval? t, TimeEventCb cb);
+ public delegate void TimeRestartCb(TimeEvent e, ref timeval? t);
+ public delegate void TimeFreeCb(TimeEvent e);
+ public delegate void TimeSetDestroyCb(TimeEvent e, TimeEventDestroyCb? cb);
+
+ public delegate DeferEvent DeferNewCb(DeferEventCb cb);
+ public delegate void DeferEnableCb(DeferEvent e, bool b);
+ public delegate void DeferFreeCb(DeferEvent e);
+ public delegate void DeferSetDestroyCb(DeferEvent e, DeferEventDestroyCb? cb);
+
+ public delegate void QuitCb(int retval);
+
+ public delegate void OnceCb();
+
+ public IoNewCb io_new;
+ public IoEnableCb io_enable;
+ public IoFreeCb io_free;
+ public IoSetDestroyCb io_set_destroy;
+
+ public TimeNewCb time_new;
+ public TimeRestartCb time_restart;
+ public TimeFreeCb time_free;
+ public TimeSetDestroyCb time_set_destroy;
+
+ public DeferNewCb defer_new;
+ public DeferEnableCb defer_enable;
+ public DeferFreeCb defer_free;
+ public DeferSetDestroyCb defer_set_destroy;
+
+ public QuitCb quit;
+
+ [CCode (cname="pa_mainloop_api_once")]
+ public void once(OnceCb cb);
+ }
- [CCode (cname="pa_channel_map_init_stereo")]
- public unowned ChannelMap? init_stereo();
+ [CCode (cname="pa_signal_init")]
+ public void signal_init(MainLoopApi api);
- [CCode (cname="pa_channel_map_init_auto")]
- public unowned ChannelMap? init_auto(uint8 channels, ChannelMapDef def = ChannelMapDef.DEFAULT);
-
- [CCode (cname="pa_channel_map_init_extend")]
- public unowned ChannelMap? init_extend(uint8 channels, ChannelMapDef def = ChannelMapDef.DEFAULT);
-
- [CCode (cname="pa_channel_map_snprint", instance_pos = 3.1)]
- public unowned string snprint(char[] s);
-
- public string sprint() {
- var buffer = new char[SNPRINT_MAX];
- this.snprint(buffer);
- return (string) buffer;
- }
-
- public string to_string() {
- return sprint();
- }
-
- [CCode (cname="pa_channel_map_parse")]
- public unowned ChannelMap? parse(string s);
-
- [CCode (cname="pa_channel_map_equal")]
- public bool equal(ChannelMap other);
-
- [CCode (cname="pa_channel_map_superset")]
- public bool superset(ChannelMap other);
-
- [CCode (cname="pa_channel_map_valid")]
- public bool valid();
-
- [CCode (cname="pa_channel_map_compatible")]
- public bool compatible(SampleSpec ss);
-
- [CCode (cname="pa_channel_map_can_balance")]
- public bool can_balance();
-
- [CCode (cname="pa_channel_map_can_fade")]
- public bool can_fade();
-
- [CCode (cname="pa_channel_map_to_name")]
- public unowned string? to_name();
-
- [CCode (cname="pa_channel_map_to_pretty_name")]
- public unowned string? to_pretty_name();
-
- [CCode (cname="pa_channel_map_has_position")]
- public bool has_position(ChannelPosition p);
-
- [CCode (cname="pa_channel_map_mask")]
- public ChannelPositionMask mask();
- }
-
- [CCode (cname="pa_channel_position_mask_t")]
- public struct ChannelPositionMask : uint64 {
- }
-
- [CCode (cname="pa_channel_position_t", cprefix="PA_CHANNEL_POSITION_")]
- public enum ChannelPosition {
- INVALID,
- MONO,
- FRONT_LEFT,
- FRONT_RIGHT,
- FRONT_CENTER,
- REAR_CENTER,
- REAR_LEFT,
- REAR_RIGHT,
- LFE,
- FRONT_LEFT_OF_CENTER,
- FRONT_RIGHT_OF_CENTER,
- SIDE_LEFT,
- SIDE_RIGHT,
- TOP_CENTER,
- AUX0,
- AUX1,
- AUX2,
- AUX3,
- AUX4,
- AUX5,
- AUX6,
- AUX7,
- AUX8,
- AUX9,
- AUX10,
- AUX11,
- AUX12,
- AUX13,
- AUX14,
- AUX15,
- AUX16,
- AUX17,
- AUX18,
- AUX19,
- AUX20,
- AUX21,
- AUX22,
- AUX23,
- AUX24,
- AUX25,
- AUX26,
- AUX27,
- AUX28,
- AUX29,
- AUX30,
- AUX31,
- MAX;
-
- [CCode (cname="PA_CHANNEL_POSITION_MASK")]
- public ChannelPositionMask mask();
-
- [CCode (cname="pa_channel_position_to_string")]
- public unowned string? to_string();
-
- [CCode (cname="pa_channel_position_to_pretty_string")]
- public unowned string? to_pretty_string();
-
- [CCode (cname="pa_channel_position_from_string")]
- public static ChannelPosition from_string(string s);
- }
-
- [CCode (cname="pa_channel_map_def_t", cprefix="PA_CHANNEL_MAP_")]
- public enum ChannelMapDef {
- AIFF,
- WAVEEX,
- AUX,
- DEFAULT,
-
- [CCode (cname="PA_CHANNEL_MAP_DEF_MAX")]
- MAX
- }
-
- [Compact]
- [CCode (cname="pa_proplist", cprefix="pa_proplist_", free_function="pa_proplist_free")]
- public class Proplist {
-
- [CCode (cname="PA_PROP_MEDIA_NAME")]
- public static const string PROP_MEDIA_NAME;
- [CCode (cname="PA_PROP_MEDIA_TITLE")]
- public static const string PROP_MEDIA_TITLE;
- [CCode (cname="PA_PROP_MEDIA_ARTIST")]
- public static const string PROP_MEDIA_ARTIST;
- [CCode (cname="PA_PROP_MEDIA_COPYRIGHT")]
- public static const string PROP_MEDIA_COPYRIGHT;
- [CCode (cname="PA_PROP_MEDIA_SOFTWARE")]
- public static const string PROP_MEDIA_SOFTWARE;
- [CCode (cname="PA_PROP_MEDIA_LANGUAGE")]
- public static const string PROP_MEDIA_LANGUAGE;
- [CCode (cname="PA_PROP_MEDIA_FILENAME")]
- public static const string PROP_MEDIA_FILENAME;
- [CCode (cname="PA_PROP_MEDIA_ICON_NAME")]
- public static const string PROP_MEDIA_ICON_NAME;
- [CCode (cname="PA_PROP_MEDIA_ROLE")]
- public static const string PROP_MEDIA_ROLE;
- [CCode (cname="PA_PROP_EVENT_ID")]
- public static const string PROP_EVENT_ID;
- [CCode (cname="PA_PROP_EVENT_DESCRIPTION")]
- public static const string PROP_EVENT_DESCRIPTION;
- [CCode (cname="PA_PROP_EVENT_MOUSE_X")]
- public static const string PROP_EVENT_MOUSE_X;
- [CCode (cname="PA_PROP_EVENT_MOUSE_Y")]
- public static const string PROP_EVENT_MOUSE_Y;
- [CCode (cname="PA_PROP_EVENT_MOUSE_HPOS")]
- public static const string PROP_EVENT_MOUSE_HPOS;
- [CCode (cname="PA_PROP_EVENT_MOUSE_VPOS")]
- public static const string PROP_EVENT_MOUSE_VPOS;
- [CCode (cname="PA_PROP_EVENT_MOUSE_BUTTON")]
- public static const string PROP_EVENT_MOUSE_BUTTON;
- [CCode (cname="PA_PROP_WINDOW_NAME")]
- public static const string PROP_WINDOW_NAME;
- [CCode (cname="PA_PROP_WINDOW_ID")]
- public static const string PROP_WINDOW_ID;
- [CCode (cname="PA_PROP_WINDOW_ICON_NAME")]
- public static const string PROP_WINDOW_ICON_NAME;
- [CCode (cname="PA_PROP_WINDOW_X11_DISPLAY")]
- public static const string PROP_WINDOW_X11_DISPLAY;
- [CCode (cname="PA_PROP_WINDOW_X11_SCREEN")]
- public static const string PROP_WINDOW_X11_SCREEN;
- [CCode (cname="PA_PROP_WINDOW_X11_MONITOR")]
- public static const string PROP_WINDOW_X11_MONITOR;
- [CCode (cname="PA_PROP_WINDOW_X11_XID")]
- public static const string PROP_WINDOW_X11_XID;
- [CCode (cname="PA_PROP_APPLICATION_NAME")]
- public static const string PROP_APPLICATION_NAME;
- [CCode (cname="PA_PROP_APPLICATION_ID")]
- public static const string PROP_APPLICATION_ID;
- [CCode (cname="PA_PROP_APPLICATION_VERSION")]
- public static const string PROP_APPLICATION_VERSION;
- [CCode (cname="PA_PROP_APPLICATION_ICON_NAME")]
- public static const string PROP_APPLICATION_ICON_NAME;
- [CCode (cname="PA_PROP_APPLICATION_LANGUAGE")]
- public static const string PROP_APPLICATION_LANGUAGE;
- [CCode (cname="PA_PROP_APPLICATION_PROCESS_ID")]
- public static const string PROP_APPLICATION_PROCESS_ID;
- [CCode (cname="PA_PROP_APPLICATION_PROCESS_BINARY")]
- public static const string PROP_APPLICATION_PROCESS_BINARY;
- [CCode (cname="PA_PROP_APPLICATION_PROCESS_USER")]
- public static const string PROP_APPLICATION_PROCESS_USER;
- [CCode (cname="PA_PROP_APPLICATION_PROCESS_HOST")]
- public static const string PROP_APPLICATION_PROCESS_HOST;
- [CCode (cname="PA_PROP_APPLICATION_PROCESS_MACHINE_ID")]
- public static const string PROP_APPLICATION_PROCESS_MACHINE_ID;
- [CCode (cname="PA_PROP_APPLICATION_PROCESS_SESSION_ID")]
- public static const string PROP_APPLICATION_PROCESS_SESSION_ID;
- [CCode (cname="PA_PROP_DEVICE_STRING")]
- public static const string PROP_DEVICE_STRING;
- [CCode (cname="PA_PROP_DEVICE_API")]
- public static const string PROP_DEVICE_API;
- [CCode (cname="PA_PROP_DEVICE_DESCRIPTION")]
- public static const string PROP_DEVICE_DESCRIPTION;
- [CCode (cname="PA_PROP_DEVICE_BUS_PATH")]
- public static const string PROP_DEVICE_BUS_PATH;
- [CCode (cname="PA_PROP_DEVICE_SERIAL")]
- public static const string PROP_DEVICE_SERIAL;
- [CCode (cname="PA_PROP_DEVICE_VENDOR_ID")]
- public static const string PROP_DEVICE_VENDOR_ID;
- [CCode (cname="PA_PROP_DEVICE_VENDOR_NAME")]
- public static const string PROP_DEVICE_VENDOR_NAME;
- [CCode (cname="PA_PROP_DEVICE_PRODUCT_ID")]
- public static const string PROP_DEVICE_PRODUCT_ID;
- [CCode (cname="PA_PROP_DEVICE_PRODUCT_NAME")]
- public static const string PROP_DEVICE_PRODUCT_NAME;
- [CCode (cname="PA_PROP_DEVICE_CLASS")]
- public static const string PROP_DEVICE_CLASS;
- [CCode (cname="PA_PROP_DEVICE_FORM_FACTOR")]
- public static const string PROP_DEVICE_FORM_FACTOR;
- [CCode (cname="PA_PROP_DEVICE_BUS")]
- public static const string PROP_DEVICE_BUS;
- [CCode (cname="PA_PROP_DEVICE_ICON_NAME")]
- public static const string PROP_DEVICE_ICON_NAME;
- [CCode (cname="PA_PROP_DEVICE_ACCESS_MODE")]
- public static const string PROP_DEVICE_ACCESS_MODE;
- [CCode (cname="PA_PROP_DEVICE_MASTER_DEVICE")]
- public static const string PROP_DEVICE_MASTER_DEVICE;
- [CCode (cname="PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE")]
- public static const string PROP_DEVICE_BUFFERING_BUFFER_SIZE;
- [CCode (cname="PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE")]
- public static const string PROP_DEVICE_BUFFERING_FRAGMENT_SIZE;
- [CCode (cname="PA_PROP_DEVICE_PROFILE_NAME")]
- public static const string PROP_DEVICE_PROFILE_NAME;
- [CCode (cname="PA_PROP_DEVICE_INTENDED_ROLES")]
- public static const string PROP_DEVICE_INTENDED_ROLES;
- [CCode (cname="PA_PROP_DEVICE_PROFILE_DESCRIPTION")]
- public static const string PROP_DEVICE_PROFILE_DESCRIPTION;
- [CCode (cname="PA_PROP_MODULE_AUTHOR")]
- public static const string PROP_MODULE_AUTHOR;
- [CCode (cname="PA_PROP_MODULE_DESCRIPTION")]
- public static const string PROP_MODULE_DESCRIPTION;
- [CCode (cname="PA_PROP_MODULE_USAGE")]
- public static const string PROP_MODULE_USAGE;
- [CCode (cname="PA_PROP_MODULE_VERSION")]
- public static const string PROP_MODULE_VERSION;
-
- [CCode (cname="pa_proplist_new")]
- public Proplist();
-
- public int sets(string key, string value);
- public int setp(string pair);
-
- [PrintfFormat]
- public int setf(string key, string format, ...);
-
- public int set(string key, void* data, size_t size);
-
- public unowned string? gets(string key);
-
- public int get(string key, out void* data, out size_t size);
-
- public void update(UpdateMode mode, Proplist other);
-
- public void unset(string key);
-
- [CCode (array_length = false)]
- public void unset_many(string[] key);
-
- public unowned string? iterate(ref void* state);
-
- public string to_string();
-
- public string to_string_sep(string sep);
-
- public static Proplist? from_string(string s);
-
- public int contains(string key);
-
- public void clear();
-
- public Proplist copy();
-
- public uint size();
-
- public bool is_empty();
- }
-
- [CCode (cname="pa_update_mode_t", cprefix="PA_UPDATE_")]
- public enum UpdateMode {
- SET,
- MERGE,
- REPLACE
- }
-
- [CCode (cname="PA_OK")]
- public const int OK;
-
- [CCode (cname="int", cprefix="PA_ERR_")]
- public enum Error {
- ACCESS,
- COMMAND,
- INVALID,
- EXIST,
- NOENTITY,
- CONNECTIONREFUSED,
- PROTOCOL,
- TIMEOUT,
- AUTHKEY,
- INTERNAL,
- CONNECTIONTERMINATED,
- KILLED,
- INVALIDSERVER,
- MODINITFAILED,
- BADSTATE,
- NODATA,
- VERSION,
- TOOLARGE,
- NOTSUPPORTED,
- UNKNOWN,
- NOEXTENSION,
- OBSOLETE,
- NOTIMPLEMENTED,
- FORKED,
- IO,
- MAX
- }
-
- [CCode (cname="pa_strerror")]
- public unowned string? strerror(Error e);
-
- public delegate void VoidFunc();
-
- [CCode (cname="pa_spawn_api")]
- public struct SpawnApi {
- VoidFunc? prefork;
- VoidFunc? postfork;
- VoidFunc? atfork;
- }
+ [CCode (cname="pa_signal_done")]
+ public void signal_done();
- [CCode (cname="pa_io_event_flags_t", cprefix="PA_IO_EVENT_")]
- public enum IoEventFlags {
- NULL,
- INPUT,
- OUTPUT,
- HANGUP,
- ERROR
- }
+ [CCode (cname="pa_poll_func")]
+ public delegate int PollFunc(pollfd[] ufds);
- [CCode (cname="pa_io_event")]
- public struct IoEvent {
- }
+ [Compact]
+ [CCode (cname="pa_mainloop", cprefix="pa_mainloop_", free_function="pa_mainloop_free")]
+ public class MainLoop {
- [CCode (cname="pa_time_event")]
- public struct TimeEvent {
- }
-
- [CCode (cname="pa_defer_event")]
- public struct DeferEvent {
- }
-
- [CCode (cname="pa_signal_event", cprefix="pa_signal_", free_function="pa_signal_free")]
- public struct SignalEvent {
-
- [CCode (cname="pa_signal_new")]
- public SignalEvent(int sig, MainLoopApi.SignalEventCb cb);
-
- public void set_destroy(MainLoopApi.SignalEventDestroyCb cb);
- }
-
- [Compact]
- [CCode (cname="pa_mainloop_api")]
- public class MainLoopApi {
- public void* userdata;
-
- /* Callbacks for the consumer to implement*/
- public delegate void IoEventCb(IoEvent e, int fd, IoEventFlags flags);
- public delegate void IoEventDestroyCb(IoEvent e);
-
- public delegate void TimeEventCb(TimeEvent e, ref timeval t);
- public delegate void TimeEventDestroyCb(TimeEvent e);
-
- public delegate void DeferEventCb(DeferEvent e);
- public delegate void DeferEventDestroyCb(DeferEvent e);
-
- public delegate void SignalEventCb(SignalEvent e);
- public delegate void SignalEventDestroyCb(SignalEvent e);
-
- /* Callbacks for the provider to implement */
- public delegate IoEvent IoNewCb(int fd, IoEventFlags flags, IoEventCb cb);
- public delegate void IoEnableCb(IoEvent e, IoEventFlags flags);
- public delegate void IoFreeCb(IoEvent e);
- public delegate void IoSetDestroyCb(IoEvent e, IoEventDestroyCb? cb);
-
- public delegate TimeEvent TimeNewCb(ref timeval? t, TimeEventCb cb);
- public delegate void TimeRestartCb(TimeEvent e, ref timeval? t);
- public delegate void TimeFreeCb(TimeEvent e);
- public delegate void TimeSetDestroyCb(TimeEvent e, TimeEventDestroyCb? cb);
-
- public delegate DeferEvent DeferNewCb(DeferEventCb cb);
- public delegate void DeferEnableCb(DeferEvent e, bool b);
- public delegate void DeferFreeCb(DeferEvent e);
- public delegate void DeferSetDestroyCb(DeferEvent e, DeferEventDestroyCb? cb);
-
- public delegate void QuitCb(int retval);
-
- public delegate void OnceCb();
-
- public IoNewCb io_new;
- public IoEnableCb io_enable;
- public IoFreeCb io_free;
- public IoSetDestroyCb io_set_destroy;
-
- public TimeNewCb time_new;
- public TimeRestartCb time_restart;
- public TimeFreeCb time_free;
- public TimeSetDestroyCb time_set_destroy;
-
- public DeferNewCb defer_new;
- public DeferEnableCb defer_enable;
- public DeferFreeCb defer_free;
- public DeferSetDestroyCb defer_set_destroy;
-
- public QuitCb quit;
-
- [CCode (cname="pa_mainloop_api_once")]
- public void once(OnceCb cb);
- }
-
- [CCode (cname="pa_signal_init")]
- public void signal_init(MainLoopApi api);
-
- [CCode (cname="pa_signal_done")]
- public void signal_done();
-
- [CCode (cname="pa_poll_func")]
- public delegate int PollFunc(pollfd[] ufds);
-
- [Compact]
- [CCode (cname="pa_mainloop", cprefix="pa_mainloop_", free_function="pa_mainloop_free")]
- public class MainLoop {
-
- [CCode (cname="pa_mainloop_new")]
- public MainLoop();
-
- public int prepare(int timeout = -1);
- public int poll();
- public int dispatch();
- public int get_retval();
- public int iterate(bool block = true, out int retval = null);
- public int run(out int retval = null);
- public unowned MainLoopApi get_api();
- public void quit(int r);
- public void wakeup();
- public void set_poll_func(PollFunc poll_func);
- }
-
- [Compact]
- [CCode (cname="pa_threaded_mainloop", cprefix="pa_threaded_mainloop_", free_function="pa_threaded_mainloop_free")]
- public class ThreadedMainLoop {
-
- [CCode (cname="pa_threaded_mainloop_new")]
- public ThreadedMainLoop();
-
- public int start();
- public void stop();
- public void lock();
- public void unlock();
- public void wait();
- public void signal(bool WaitForAccept = false);
- public void accept();
- public int get_retval();
- public unowned MainLoopApi get_api();
- public bool in_thread();
- }
-
- [Compact]
- [CCode (cname="pa_glib_mainloop", cprefix="pa_glib_mainloop_", free_function="pa_glib_mainloop_free")]
- public class GLibMainLoop {
-
- [CCode (cname="pa_glib_mainloop_new")]
- public GLibMainLoop();
-
- public unowned MainLoopApi get_api();
- }
-
- [Compact]
- [CCode (cname="pa_operation", cprefix="pa_operation_", unref_function="pa_operation_unref", ref_function="pa_operation_ref")]
- public class Operation {
-
- [CCode (cname="pa_operation_state_t", cprefix="PA_OPERATION_")]
- public enum State {
- RUNNING,
- DONE,
- CANCELED
- }
-
- public void cancel();
- public State get_state();
- }
-
- [Compact]
- [CCode (cname="pa_context", cprefix="pa_context_", unref_function="pa_context_unref", ref_function="pa_context_ref")]
- public class Context {
-
- [CCode (cname="pa_context_flags_t", cprefix="PA_CONTEXT_")]
- public enum Flags {
- NOAUTOSPAWN,
- NOFAIL
- }
-
- [CCode (cname="pa_context_state_t", cprefix="PA_CONTEXT_")]
- public enum State {
- UNCONNECTED,
- CONNECTING,
- AUTHORIZING,
- SETTING_NAME,
- READ,
- FAILED,
- TERMINATED;
-
- bool IS_GOOD();
- }
-
- [CCode (cname="pa_subscription_mask_t", cprefix="PA_SUBSCRIPTION_MASK_")]
- public enum SubscriptionMask {
- NULL,
- SINK,
- SOURCE,
- SINK_INPUT,
- SOURCE_OUTPUT,
- MODULE,
- CLIENT,
- SAMPLE_CACHE,
- SERVER,
- CARD,
- ALL;
-
- [CCode (cname="pa_subscription_match_flags")]
- bool match_flags(SubscriptionEventType t);
- }
-
- [CCode (cname="pa_subscription_event_type_t", cprefix="PA_SUBSCRIPTION_EVENT_")]
- public enum SubscriptionEventType {
- SINK,
- SOURCE,
- SINK_INPUT,
- SOURCE_OUTPUT,
- MODULE,
- CLIENT,
- SAMPLE_CACHE,
- SERVER,
- CARD,
- FACILITY_MASK,
- NEW,
- CHANGE,
- REMOVE,
- TYPE_MASK
- }
-
- public delegate void NotifyCb();
- public delegate void SuccessCb(int success);
- public delegate void EventCb(string name, Proplist? proplist);
- public delegate void SubscribeCb(SubscriptionEventType t, uint32 idx);
- public delegate void SinkInfoCb(SinkInfo? i, int eol);
- public delegate void SourceInfoCb(SourceInfo? i, int eol);
- public delegate void CardInfoCb(CardInfo? i, int eol);
- public delegate void SinkInputInfoCb(SinkInputInfo? i, int eol);
- public delegate void SourceOutputInfoCb(SourceOutputInfo? i, int eol);
- public delegate void ServerInfoCb(ServerInfo? i);
- public delegate void StatInfoCb(ServerInfo? i);
- public delegate void ModuleInfoCb(ModuleInfo? i, int eol);
- public delegate void ClientInfoCb(ClientInfo? i, int eol);
- public delegate void SampleInfoCb(SampleInfo? i, int eol);
- public delegate void IndexCb(uint32 idx);
-
- [CCode (cname="pa_context_new_with_proplist")]
- public Context(MainLoopApi api, string? name, Proplist? proplist = null);
-
- public void set_state_callback(NotifyCb? cb = null);
- public void set_event_callback(EventCb? cb = null);
- public void set_subscribe_callback(SubscribeCb? cb = null);
-
- public Error errno();
-
- public int is_pending();
- public State get_state();
- public int is_local();
- public unowned string? get_server();
- public uint32 get_protocol_version();
- public uint32 get_server_protocol_version();
- public uint32 get_index();
-
- public int connect(string? server = null, Flags flags = 0, SpawnApi? api = null);
- public void disconnect();
-
- public Operation? drain(NotifyCb? cb = null);
- public Operation? exit_daemon(SuccessCb? cb = null);
- public Operation? set_default_sink(string name, SuccessCb? cb = null);
- public Operation? set_default_source(string name, SuccessCb? cb = null);
- public Operation? set_name(string name, SuccessCb? cb = null);
-
- [CCode (array_length = false)]
- public Operation? proplist_remove(string[] keys, SuccessCb? cb = null);
- public Operation? proplist_update(UpdateMode mode, Proplist pl, SuccessCb? cb = null);
-
- public Operation? subscribe(SubscriptionMask mask, SuccessCb? cb = null);
-
- public Operation? get_sink_info_by_name(string name, SinkInfoCb cb);
- public Operation? get_sink_info_by_index(uint32 idx, SinkInfoCb cb);
- public Operation? get_sink_info_list(SinkInfoCb cb);
-
- public Operation? set_sink_volume_by_name(string name, CVolume volume, SuccessCb? cb = null);
- public Operation? set_sink_volume_by_index(uint32 idx, CVolume volume, SuccessCb? cb = null);
- public Operation? set_sink_mute_by_name(string name, bool mute, SuccessCb? cb = null);
- public Operation? set_sink_mute_by_index(uint32 idx, bool mute, SuccessCb? cb = null);
-
- public Operation? suspend_sink_by_name(string name, bool suspend, SuccessCb? cb = null);
- public Operation? suspend_sink_by_index(uint32 idx, bool suspend, SuccessCb? cb = null);
-
- public Operation? set_sink_port_by_name(string name, string port, SuccessCb? cb = null);
- public Operation? set_sink_port_by_index(string idx, string port, SuccessCb? cb = null);
-
- public Operation? get_source_info_by_name(string name, SourceInfoCb cb);
- public Operation? get_source_info_by_index(uint32 idx, SourceInfoCb cb);
- public Operation? get_source_info_list(SourceInfoCb cb);
-
- public Operation? set_source_volume_by_name(string name, CVolume volume, SuccessCb? cb = null);
- public Operation? set_source_volume_by_index(uint32 idx, CVolume volume, SuccessCb? cb = null);
- public Operation? set_source_mute_by_name(string name, bool mute, SuccessCb? cb = null);
- public Operation? set_source_mute_by_index(uint32 idx, bool mute, SuccessCb? cb = null);
-
- public Operation? suspend_source_by_name(string name, bool suspend, SuccessCb? cb = null);
- public Operation? suspend_source_by_index(uint32 idx, bool suspend, SuccessCb? cb = null);
-
- public Operation? set_source_port_by_name(string name, string port, SuccessCb? cb = null);
- public Operation? set_source_port_by_index(string idx, string port, SuccessCb? cb = null);
-
- public Operation? get_server_info(ServerInfoCb cb);
-
- public Operation? get_module_info(uint32 idx, ModuleInfoCb cb);
- public Operation? get_module_info_list(ModuleInfoCb cb);
-
- public Operation? load_module(string name, string? argument, IndexCb? cb = null);
- public Operation? unload_module(uint32 idx, SuccessCb? cb = null);
-
- public Operation? get_client_info(uint32 idx, ClientInfoCb cb);
- public Operation? get_client_info_list(ClientInfoCb cb);
-
- public Operation? kill_client(uint32 idx, SuccessCb? cb = null);
-
- public Operation? get_card_info_by_name(string name, CardInfoCb cb);
- public Operation? get_card_info_by_index(uint32 idx, CardInfoCb cb);
- public Operation? get_card_info_list(CardInfoCb cb);
-
- public Operation? set_card_profile_by_index(uint32 idx, string profile, SuccessCb? cb = null);
- public Operation? set_card_profile_by_name(string name, string profile, SuccessCb? cb = null);
-
- public Operation? get_sink_input_info(uint32 idx, SinkInputInfoCb cb);
- public Operation? get_sink_input_info_list(SinkInputInfoCb cb);
-
- public Operation? move_sink_input_by_index(uint32 idx, uint32 sink_idx, SuccessCb? cb = null);
- public Operation? move_sink_input_by_name(uint32 idx, string sink_name, SuccessCb? cb = null);
-
- public Operation? set_sink_input_volume(uint32 idx, CVolume volume, SuccessCb? cb = null);
- public Operation? set_sink_input_mute(uint32 idx, bool mute, SuccessCb? cb = null);
-
- public Operation? kill_sink_input(uint32 idx, SuccessCb? cb = null);
-
- public Operation? get_source_output_info(uint32 idx, SourceOutputInfoCb cb);
- public Operation? get_source_output_info_list(SourceOutputInfoCb cb);
-
- public Operation? move_source_output_by_index(uint32 idx, uint32 source_idx, SuccessCb? cb = null);
- public Operation? move_source_output_by_name(uint32 idx, string source_name, SuccessCb? cb = null);
-
- public Operation? kill_source_output(uint32 idx, SuccessCb? cb = null);
-
- public Operation? stat(StatInfoCb cb);
-
- public Operation? get_sample_info_by_name(string name, SampleInfoCb cb);
- public Operation? get_sample_info_by_index(uint32 idx, SampleInfoCb cb);
- public Operation? get_sample_info_list(SampleInfoCb cb);
-
- public Operation? remove_sample(string name, SuccessCb? cb = null);
- public Operation? play_sample(string name, string? device = null, Volume volume = Volume.INVALID
- }
-
- [Compact]
- [CCode (cname="pa_stream", cprefix="pa_stream_", unref_function="pa_stream_unref", ref_function="pa_stream_ref")]
- public class Stream {
-
- [CCode (cname="pa_stream_flags_t", cprefix="PA_STREAM_")]
- public enum Flags {
- START_CORKED,
- INTERPOLATE_TIMING,
- NOT_MONOTONIC,
- AUTO_TIMING_UPDATE,
- NO_REMAP_CHANNELS,
- NO_REMIX_CHANNELS,
- FIX_FORMAT,
- FIX_RATE,
- FIX_CHANNELS,
- DONT_MOVE,
- VARIABLE_RATE,
- PEAK_DETECT,
- START_MUTED,
- ADJUST_LATENCY,
- EARLY_REQUESTS,
- DONT_INHIBIT_AUTO_SUSPEND,
- START_UNMUTED,
- FAIL_ON_SUSPEND
- }
-
- [CCode (cname="pa_stream_state_t", cprefix="PA_STREAM_")]
- public enum State {
- UNCONNECTED,
- CREATING,
- READY,
- FAILED,
- TERMINATED;
-
- bool IS_GOOD();
- }
-
- [CCode (cname="pa_stream_direction_t", cprefix="PA_STREAM_")]
- public enum Direction {
- NODIRECTION,
- PLAYBACK,
- RECORD,
- UPLOAD
- }
-
- [CCode (cname="pa_seek_mode_t", cprefix="PA_SEEK_")]
- public enum SeekMode {
- RELATIVE,
- ABSOLUTE,
- RELATIVE_ON_READ,
- RELATIVE_END
- }
-
- [CCode (cname="pa_buffer_attr")]
- public struct BufferAttr {
- uint32 maxlength;
- uint32 tlength;
- uint32 prebuf;
- uint32 minreq;
- uint32 fragsize;
- }
-
- [CCode (cname="pa_timing_info")]
- public struct TimingInfo {
- timeval timestamp;
- int synchronized_clocks;
- usec sink_usec;
- usec source_usec;
- usec transport_usec;
- int playing;
- int write_index_corrupt;
- int64 write_index;
- int read_index_corrupt;
- int64 read_index;
- usec configured_sink_usec;
- usec configured_source_usec;
- int64 since_underrun;
- }
-
- [CCode (cname="PA_STREAM_EVENT_REQUEST_CORK")]
- public const string EVENT_REQUEST_CORK;
-
- [CCode (cname="PA_STREAM_EVENT_REQUEST_UNCORK")]
- public const string EVENT_REQUEST_UNCORK;
-
- public delegate void SuccessCb(int success);
- public delegate void RequestCb(size_t nbytes);
- public delegate void NotifyCb();
- public delegate void EventCb(string name, Proplist proplist);
-
- [CCode (cname="pa_stream_new_with_proplist")]
- public Stream(Context c, string name, SampleSpec ss, ChannelMap map = null, Proplist proplist = null);
-
- public State get_state();
- public Context get_context();
- public uint32 get_index();
- public uint32 get_device_index();
- public unowned string? get_device_name();
- public int is_suspended();
- public int is_corked();
-
- public int connect_playback(string dev, BufferAttr a = null, Flags flags = 0, Volume volume = null, Stream sync_stream = null);
- public int connect_record(string dev, BufferAttr a = null, Flags flags = 0);
- public int connect_upload(size_t length);
- public int disconnect();
- public int finish_upload();
-
- public int begin_write(out void* data, out size_t nbytes);
- public int cancel_write();
- public int write(void *data, size_t bytes, FreeCb free_cb = null, int64 offset = 0, SeekMode mode = SeekMode.RELATIVE);
- public int peek(out void *data, out size_t nbytes);
- public int drop();
- public size_t writable_size();
- public size_t readable_size();
-
- public void set_state_callback(NotifyCb cb = null);
- public void set_write_callback(RequestCb cb = null);
- public void set_read_callback(RequestCb cb = null);
- public void set_overflow_callback(NotifyCb cb = null);
- public void set_underflow_callback(NotifyCb cb = null);
- public void set_started_callback(NotifyCb cb = null);
- public void set_latency_update_callback(NotifyCb cb = null);
- public void set_moved_callback(NotifyCb cb = null);
- public void set_suspended_callback(NotifyCb cb = null);
- public void set_event_callback(EventCb cb = null);
- public void set_buffer_attr_callback(NotifyCb cb = null);
-
- public Operation? drain(SuccessCb cb = null);
- public Operation? update_timing_info(SuccessCb cb = null);
-
- public Operation? cork(bool b, SuccessCb cb = null);
- public Operation? flush(SuccessCb cb = null);
- public Operation? prebuf(SuccessCb cb = null);
- public Operation? trigger(SuccessCb cb = null);
-
- public Operation? set_name(string name, SuccessCb cb = null);
- public Operation? set_buffer_attr(BufferAttr attr, SuccessCb cb = null);
- public Operation? update_sample_rate(uint32 rate, SuccessCb cb = null);
-
- [CCode (array_length = false)]
- public Operation? proplist_remove(string[] keys, SuccessCb cb = null);
- public Operation? proplist_update(UpdateMode mode, Proplist pl, SuccessCb cb = null);
-
- public unowned TimingInfo? get_timing_info();
- public int get_time(out usec u);
- public int get_latency(out usec u, out bool negative = null);
-
- public unowned SampleSpec? get_sample_spec();
- public unowned ChannelMap? get_channel_map();
- public unowned BufferAttr? get_buffer_attr();
-
- public int set_monitor_stream(uint32 sink_input);
- public uint32 get_monitor_stream();
- }
-
- [CCode (cname="pa_sink_port_info")]
- public struct SinkPortInfo {
- string name;
- string description;
- uint32 priority;
- }
-
- [CCode (cname="pa_sink_info")]
- public struct SinkInfo {
- string name;
- uint32 index;
- string description;
- SampleSpec sample_spec;
- ChannelMap channel_map;
- uint32 owner_module;
- CVolume volume;
- int mute;
- uint32 monitor_source;
- string monitor_source_name;
- usec latency;
- string driver;
- SinkFlags flags;
- Proplist proplist;
- usec configured_latency;
- Volume base_volume;
- SinkState state;
- uint32 n_volume_steps;
- uint32 card;
- uint32 n_ports;
- SinkPortInfo*[] ports;
- SinkPortInfo* active_port;
- }
-
- [CCode (cname="pa_source_port_info")]
- public struct SourcePortInfo {
- string name;
- string description;
- uint32 priority;
- }
-
- [CCode (cname="pa_source_info")]
- public struct SourceInfo {
- string name;
- uint32 index;
- string description;
- SampleSpec sample_spec;
- ChannelMap channel_map;
- uint32 owner_module;
- CVolume volume;
- int mute;
- uint32 monitor_of_sink;
- string monitor_of_sink_name;
- usec latency;
- string driver;
- SourceFlags flags;
- Proplist proplist;
- usec configured_latency;
- Volume base_volume;
- SourceState state;
- uint32 n_volume_steps;
- uint32 card;
- uint32 n_ports;
- SourcePortInfo*[] ports;
- SourcePortInfo* active_port;
- }
-
- [CCode (cname="pa_server_info")]
- public struct ServerInfo {
- string user_name;
- string host_name;
- string server_version;
- string server_name;
- SampleSpec sample_spec;
- string default_sink_name;
- string default_source_name;
- ChannelMap channel_map;
- }
-
- [CCode (cname="pa_module_info")]
- public struct ModuleInfo {
- uint32 index;
- string name;
- string argument;
- uint32 n_used;
- Proplist proplist;
- }
-
- [CCode (cname="pa_client_info")]
- public struct ClientInfo {
- uint32 index;
- string name;
- uint32 owner_module;
- string driver;
- Proplist proplist;
- }
-
- [CCode (cname="pa_card_profile_info")]
- public struct CardProfileInfo {
- string name;
- string description;
- uint32 n_sinks;
- uint32 n_sources;
- uint32 priority;
- }
-
- [CCode (cname="pa_card_info")]
- public struct CardInfo {
- uint32 index;
- string name;
- uint32 owner_module;
- string driver;
- uint32 n_profiles;
- CardProfileInfo profiles[];
- CardProfileInfo *active_profile;
- Proplist proplist;
- }
-
- [CCode (cname="pa_sink_input_info")]
- public struct SinkInputInfo {
- uint32 index;
- string name;
- uint32 owner_module;
- uint32 client;
- uint32 sink;
- SampleSpec sample_spec;
- ChannelMap channel_map;
- CVolume volume;
- uint32 buffer_usec;
- uint32 sink_usec;
- string resample_method;
- string driver;
- int mute;
- Proplist proplist;
- }
-
- [CCode (cname="pa_source_output_info")]
- public struct SourceOutputInfo {
- uint32 index;
- string name;
- uint32 owner_module;
- uint32 client;
- uint32 source;
- SampleSpec sample_spec;
- ChannelMap channel_map;
- uint32 buffer_usec;
- uint32 sink_usec;
- string resample_method;
- string driver;
- Proplist proplist;
- }
-
- [CCode (cname="pa_stat_info")]
- public struct StatInfo {
- uint32 memblock_total;
- uint32 memblock_total_size;
- uint32 memblock_allocated;
- uint32 memblock_allocated_size;
- uint32 scache_size;
- }
-
- [CCode (cname="pa_sample_info")]
- public struct SampleInfo {
- uint32 index;
- string name;
- CVolume volume;
- SampleSpec sample_spec;
- ChannelMap channel_map;
- usec duration;
- uint32 bytes;
- bool lazy;
- string filename;
- Proplist proplist;
- }
-
- [CCode (cname="pa_sink_flags_t", cprefix="PA_SINK_")]
- public enum SinkFlags {
- HW_VOLUME_CTRL,
- LATENCY,
- HARDWARE,
- NETWORK,
- HW_MUTE_CTRL,
- DECIBEL_VOLUME,
- FLAT_VOLUME,
- DYNAMIC_LATENCY
- }
-
- [CCode (cname="pa_source_flags_t", cprefix="PA_SOURCE_")]
- public enum SourceFlags {
- HW_VOLUME_CTRL,
- LATENCY,
- HARDWARE,
- NETWORK,
- HW_MUTE_CTRL,
- DECIBEL_VOLUME,
- DYNAMIC_LATENCY
- }
-
- [CCode (cname="pa_sink_state_t", cprefix="PA_SINK_")]
- public enum SinkState {
- INVALID_STATE,
- RUNNING,
- IDLE,
- SUSPENDED;
-
- [CCode (cname="PA_SINK_IS_OPENED")]
- public bool IS_OPENED();
- }
-
- [CCode (cname="pa_source_state_t", cprefix="PA_SOURCE_")]
- public enum SourceState {
- INVALID_STATE,
- RUNNING,
- IDLE,
- SUSPENDED;
-
- [CCode (cname="PA_SOURCE_IS_OPENED")]
- public bool IS_OPENED();
- }
+ [CCode (cname="pa_mainloop_new")]
+ public MainLoop();
+
+ public int prepare(int timeout = -1);
+ public int poll();
+ public int dispatch();
+ public int get_retval();
+ public int iterate(bool block = true, out int retval = null);
+ public int run(out int retval = null);
+ public unowned MainLoopApi get_api();
+ public void quit(int r);
+ public void wakeup();
+ public void set_poll_func(PollFunc poll_func);
+ }
+
+ [Compact]
+ [CCode (cname="pa_threaded_mainloop", cprefix="pa_threaded_mainloop_", free_function="pa_threaded_mainloop_free")]
+ public class ThreadedMainLoop {
+
+ [CCode (cname="pa_threaded_mainloop_new")]
+ public ThreadedMainLoop();
+
+ public int start();
+ public void stop();
+ public void lock();
+ public void unlock();
+ public void wait();
+ public void signal(bool WaitForAccept = false);
+ public void accept();
+ public int get_retval();
+ public unowned MainLoopApi get_api();
+ public bool in_thread();
+ }
+
+ [Compact]
+ [CCode (cname="pa_glib_mainloop", cprefix="pa_glib_mainloop_", free_function="pa_glib_mainloop_free")]
+ public class GLibMainLoop {
+
+ [CCode (cname="pa_glib_mainloop_new")]
+ public GLibMainLoop();
+
+ public unowned MainLoopApi get_api();
+ }
+
+ [Compact]
+ [CCode (cname="pa_operation", cprefix="pa_operation_", unref_function="pa_operation_unref", ref_function="pa_operation_ref")]
+ public class Operation {
+
+ [CCode (cname="pa_operation_state_t", cprefix="PA_OPERATION_")]
+ public enum State {
+ RUNNING,
+ DONE,
+ CANCELED
+ }
+
+ public void cancel();
+ public State get_state();
+ }
+
+ [Compact]
+ [CCode (cname="pa_context", cprefix="pa_context_", unref_function="pa_context_unref", ref_function="pa_context_ref")]
+ public class Context {
+
+ [CCode (cname="pa_context_flags_t", cprefix="PA_CONTEXT_")]
+ public enum Flags {
+ NOAUTOSPAWN,
+ NOFAIL
+ }
+
+ [CCode (cname="pa_context_state_t", cprefix="PA_CONTEXT_")]
+ public enum State {
+ UNCONNECTED,
+ CONNECTING,
+ AUTHORIZING,
+ SETTING_NAME,
+ READ,
+ FAILED,
+ TERMINATED;
+
+ bool IS_GOOD();
+ }
+
+ [CCode (cname="pa_subscription_mask_t", cprefix="PA_SUBSCRIPTION_MASK_")]
+ public enum SubscriptionMask {
+ NULL,
+ SINK,
+ SOURCE,
+ SINK_INPUT,
+ SOURCE_OUTPUT,
+ MODULE,
+ CLIENT,
+ SAMPLE_CACHE,
+ SERVER,
+ CARD,
+ ALL;
+
+ [CCode (cname="pa_subscription_match_flags")]
+ bool match_flags(SubscriptionEventType t);
+ }
+
+ [CCode (cname="pa_subscription_event_type_t", cprefix="PA_SUBSCRIPTION_EVENT_")]
+ public enum SubscriptionEventType {
+ SINK,
+ SOURCE,
+ SINK_INPUT,
+ SOURCE_OUTPUT,
+ MODULE,
+ CLIENT,
+ SAMPLE_CACHE,
+ SERVER,
+ CARD,
+ FACILITY_MASK,
+ NEW,
+ CHANGE,
+ REMOVE,
+ TYPE_MASK
+ }
+
+ public delegate void NotifyCb();
+ public delegate void SuccessCb(int success);
+ public delegate void EventCb(string name, Proplist? proplist);
+ public delegate void SubscribeCb(SubscriptionEventType t, uint32 idx);
+ public delegate void SinkInfoCb(SinkInfo? i, int eol);
+ public delegate void SourceInfoCb(SourceInfo? i, int eol);
+ public delegate void CardInfoCb(CardInfo? i, int eol);
+ public delegate void SinkInputInfoCb(SinkInputInfo? i, int eol);
+ public delegate void SourceOutputInfoCb(SourceOutputInfo? i, int eol);
+ public delegate void ServerInfoCb(ServerInfo? i);
+ public delegate void StatInfoCb(ServerInfo? i);
+ public delegate void ModuleInfoCb(ModuleInfo? i, int eol);
+ public delegate void ClientInfoCb(ClientInfo? i, int eol);
+ public delegate void SampleInfoCb(SampleInfo? i, int eol);
+ public delegate void IndexCb(uint32 idx);
+
+ [CCode (cname="pa_context_new_with_proplist")]
+ public Context(MainLoopApi api, string? name, Proplist? proplist = null);
+
+ public void set_state_callback(NotifyCb? cb = null);
+ public void set_event_callback(EventCb? cb = null);
+ public void set_subscribe_callback(SubscribeCb? cb = null);
+
+ public Error errno();
+
+ public int is_pending();
+ public State get_state();
+ public int is_local();
+ public unowned string? get_server();
+ public uint32 get_protocol_version();
+ public uint32 get_server_protocol_version();
+ public uint32 get_index();
+
+ public int connect(string? server = null, Flags flags = 0, SpawnApi? api = null);
+ public void disconnect();
+
+ public Operation? drain(NotifyCb? cb = null);
+ public Operation? exit_daemon(SuccessCb? cb = null);
+ public Operation? set_default_sink(string name, SuccessCb? cb = null);
+ public Operation? set_default_source(string name, SuccessCb? cb = null);
+ public Operation? set_name(string name, SuccessCb? cb = null);
+
+ [CCode (array_length = false)]
+ public Operation? proplist_remove(string[] keys, SuccessCb? cb = null);
+ public Operation? proplist_update(UpdateMode mode, Proplist pl, SuccessCb? cb = null);
+
+ public Operation? subscribe(SubscriptionMask mask, SuccessCb? cb = null);
+
+ public Operation? get_sink_info_by_name(string name, SinkInfoCb cb);
+ public Operation? get_sink_info_by_index(uint32 idx, SinkInfoCb cb);
+ public Operation? get_sink_info_list(SinkInfoCb cb);
+
+ public Operation? set_sink_volume_by_name(string name, CVolume volume, SuccessCb? cb = null);
+ public Operation? set_sink_volume_by_index(uint32 idx, CVolume volume, SuccessCb? cb = null);
+ public Operation? set_sink_mute_by_name(string name, bool mute, SuccessCb? cb = null);
+ public Operation? set_sink_mute_by_index(uint32 idx, bool mute, SuccessCb? cb = null);
+
+ public Operation? suspend_sink_by_name(string name, bool suspend, SuccessCb? cb = null);
+ public Operation? suspend_sink_by_index(uint32 idx, bool suspend, SuccessCb? cb = null);
+
+ public Operation? set_sink_port_by_name(string name, string port, SuccessCb? cb = null);
+ public Operation? set_sink_port_by_index(string idx, string port, SuccessCb? cb = null);
+
+ public Operation? get_source_info_by_name(string name, SourceInfoCb cb);
+ public Operation? get_source_info_by_index(uint32 idx, SourceInfoCb cb);
+ public Operation? get_source_info_list(SourceInfoCb cb);
+
+ public Operation? set_source_volume_by_name(string name, CVolume volume, SuccessCb? cb = null);
+ public Operation? set_source_volume_by_index(uint32 idx, CVolume volume, SuccessCb? cb = null);
+ public Operation? set_source_mute_by_name(string name, bool mute, SuccessCb? cb = null);
+ public Operation? set_source_mute_by_index(uint32 idx, bool mute, SuccessCb? cb = null);
+
+ public Operation? suspend_source_by_name(string name, bool suspend, SuccessCb? cb = null);
+ public Operation? suspend_source_by_index(uint32 idx, bool suspend, SuccessCb? cb = null);
+
+ public Operation? set_source_port_by_name(string name, string port, SuccessCb? cb = null);
+ public Operation? set_source_port_by_index(string idx, string port, SuccessCb? cb = null);
+
+ public Operation? get_server_info(ServerInfoCb cb);
+
+ public Operation? get_module_info(uint32 idx, ModuleInfoCb cb);
+ public Operation? get_module_info_list(ModuleInfoCb cb);
+
+ public Operation? load_module(string name, string? argument, IndexCb? cb = null);
+ public Operation? unload_module(uint32 idx, SuccessCb? cb = null);
+
+ public Operation? get_client_info(uint32 idx, ClientInfoCb cb);
+ public Operation? get_client_info_list(ClientInfoCb cb);
+
+ public Operation? kill_client(uint32 idx, SuccessCb? cb = null);
+
+ public Operation? get_card_info_by_name(string name, CardInfoCb cb);
+ public Operation? get_card_info_by_index(uint32 idx, CardInfoCb cb);
+ public Operation? get_card_info_list(CardInfoCb cb);
+
+ public Operation? set_card_profile_by_index(uint32 idx, string profile, SuccessCb? cb = null);
+ public Operation? set_card_profile_by_name(string name, string profile, SuccessCb? cb = null);
+
+ public Operation? get_sink_input_info(uint32 idx, SinkInputInfoCb cb);
+ public Operation? get_sink_input_info_list(SinkInputInfoCb cb);
+
+ public Operation? move_sink_input_by_index(uint32 idx, uint32 sink_idx, SuccessCb? cb = null);
+ public Operation? move_sink_input_by_name(uint32 idx, string sink_name, SuccessCb? cb = null);
+
+ public Operation? set_sink_input_volume(uint32 idx, CVolume volume, SuccessCb? cb = null);
+ public Operation? set_sink_input_mute(uint32 idx, bool mute, SuccessCb? cb = null);
+
+ public Operation? kill_sink_input(uint32 idx, SuccessCb? cb = null);
+
+ public Operation? get_source_output_info(uint32 idx, SourceOutputInfoCb cb);
+ public Operation? get_source_output_info_list(SourceOutputInfoCb cb);
+
+ public Operation? move_source_output_by_index(uint32 idx, uint32 source_idx, SuccessCb? cb = null);
+ public Operation? move_source_output_by_name(uint32 idx, string source_name, SuccessCb? cb = null);
+
+ public Operation? kill_source_output(uint32 idx, SuccessCb? cb = null);
+
+ public Operation? stat(StatInfoCb cb);
+
+ public Operation? get_sample_info_by_name(string name, SampleInfoCb cb);
+ public Operation? get_sample_info_by_index(uint32 idx, SampleInfoCb cb);
+ public Operation? get_sample_info_list(SampleInfoCb cb);
+
+ public Operation? remove_sample(string name, SuccessCb? cb = null);
+
+ public Operation? play_sample(string name, string? device = null, Volume volume = Volume.INVALID, SuccessCb? cb = null);
+ public Operation? play_sample_with_proplist(string name, string? device = null, Volume volume = Volume.INVALID, Proplist? p = null, IndexCb? cb = null);
+ }
+
+ [Compact]
+ [CCode (cname="pa_stream", cprefix="pa_stream_", unref_function="pa_stream_unref", ref_function="pa_stream_ref")]
+ public class Stream {
+
+ [CCode (cname="pa_stream_flags_t", cprefix="PA_STREAM_")]
+ public enum Flags {
+ START_CORKED,
+ INTERPOLATE_TIMING,
+ NOT_MONOTONIC,
+ AUTO_TIMING_UPDATE,
+ NO_REMAP_CHANNELS,
+ NO_REMIX_CHANNELS,
+ FIX_FORMAT,
+ FIX_RATE,
+ FIX_CHANNELS,
+ DONT_MOVE,
+ VARIABLE_RATE,
+ PEAK_DETECT,
+ START_MUTED,
+ ADJUST_LATENCY,
+ EARLY_REQUESTS,
+ DONT_INHIBIT_AUTO_SUSPEND,
+ START_UNMUTED,
+ FAIL_ON_SUSPEND
+ }
+
+ [CCode (cname="pa_stream_state_t", cprefix="PA_STREAM_")]
+ public enum State {
+ UNCONNECTED,
+ CREATING,
+ READY,
+ FAILED,
+ TERMINATED;
+
+ bool IS_GOOD();
+ }
+
+ [CCode (cname="pa_stream_direction_t", cprefix="PA_STREAM_")]
+ public enum Direction {
+ NODIRECTION,
+ PLAYBACK,
+ RECORD,
+ UPLOAD
+ }
+
+ [CCode (cname="pa_seek_mode_t", cprefix="PA_SEEK_")]
+ public enum SeekMode {
+ RELATIVE,
+ ABSOLUTE,
+ RELATIVE_ON_READ,
+ RELATIVE_END
+ }
+
+ [CCode (cname="pa_buffer_attr")]
+ public struct BufferAttr {
+ uint32 maxlength;
+ uint32 tlength;
+ uint32 prebuf;
+ uint32 minreq;
+ uint32 fragsize;
+ }
+
+ [CCode (cname="pa_timing_info")]
+ public struct TimingInfo {
+ timeval timestamp;
+ int synchronized_clocks;
+ usec sink_usec;
+ usec source_usec;
+ usec transport_usec;
+ int playing;
+ int write_index_corrupt;
+ int64 write_index;
+ int read_index_corrupt;
+ int64 read_index;
+ usec configured_sink_usec;
+ usec configured_source_usec;
+ int64 since_underrun;
+ }
+
+ [CCode (cname="PA_STREAM_EVENT_REQUEST_CORK")]
+ public const string EVENT_REQUEST_CORK;
+
+ [CCode (cname="PA_STREAM_EVENT_REQUEST_UNCORK")]
+ public const string EVENT_REQUEST_UNCORK;
+
+ public delegate void SuccessCb(int success);
+ public delegate void RequestCb(size_t nbytes);
+ public delegate void NotifyCb();
+ public delegate void EventCb(string name, Proplist proplist);
+
+ [CCode (cname="pa_stream_new_with_proplist")]
+ public Stream(Context c, string name, SampleSpec ss, ChannelMap map = null, Proplist proplist = null);
+
+ public State get_state();
+ public Context get_context();
+ public uint32 get_index();
+ public uint32 get_device_index();
+ public unowned string? get_device_name();
+ public int is_suspended();
+ public int is_corked();
+
+ public int connect_playback(string dev, BufferAttr a = null, Flags flags = 0, Volume volume = null, Stream sync_stream = null);
+ public int connect_record(string dev, BufferAttr a = null, Flags flags = 0);
+ public int connect_upload(size_t length);
+ public int disconnect();
+ public int finish_upload();
+
+ public int begin_write(out void* data, out size_t nbytes);
+ public int cancel_write();
+ public int write(void *data, size_t bytes, FreeCb free_cb = null, int64 offset = 0, SeekMode mode = SeekMode.RELATIVE);
+ public int peek(out void *data, out size_t nbytes);
+ public int drop();
+ public size_t writable_size();
+ public size_t readable_size();
+
+ public void set_state_callback(NotifyCb cb = null);
+ public void set_write_callback(RequestCb cb = null);
+ public void set_read_callback(RequestCb cb = null);
+ public void set_overflow_callback(NotifyCb cb = null);
+ public void set_underflow_callback(NotifyCb cb = null);
+ public void set_started_callback(NotifyCb cb = null);
+ public void set_latency_update_callback(NotifyCb cb = null);
+ public void set_moved_callback(NotifyCb cb = null);
+ public void set_suspended_callback(NotifyCb cb = null);
+ public void set_event_callback(EventCb cb = null);
+ public void set_buffer_attr_callback(NotifyCb cb = null);
+
+ public Operation? drain(SuccessCb cb = null);
+ public Operation? update_timing_info(SuccessCb cb = null);
+
+ public Operation? cork(bool b, SuccessCb cb = null);
+ public Operation? flush(SuccessCb cb = null);
+ public Operation? prebuf(SuccessCb cb = null);
+ public Operation? trigger(SuccessCb cb = null);
+
+ public Operation? set_name(string name, SuccessCb cb = null);
+ public Operation? set_buffer_attr(BufferAttr attr, SuccessCb cb = null);
+ public Operation? update_sample_rate(uint32 rate, SuccessCb cb = null);
+
+ [CCode (array_length = false)]
+ public Operation? proplist_remove(string[] keys, SuccessCb cb = null);
+ public Operation? proplist_update(UpdateMode mode, Proplist pl, SuccessCb cb = null);
+
+ public unowned TimingInfo? get_timing_info();
+ public int get_time(out usec u);
+ public int get_latency(out usec u, out bool negative = null);
+
+ public unowned SampleSpec? get_sample_spec();
+ public unowned ChannelMap? get_channel_map();
+ public unowned BufferAttr? get_buffer_attr();
+
+ public int set_monitor_stream(uint32 sink_input);
+ public uint32 get_monitor_stream();
+ }
+
+ [CCode (cname="pa_sink_port_info")]
+ public struct SinkPortInfo {
+ string name;
+ string description;
+ uint32 priority;
+ }
+
+ [CCode (cname="pa_sink_info")]
+ public struct SinkInfo {
+ string name;
+ uint32 index;
+ string description;
+ SampleSpec sample_spec;
+ ChannelMap channel_map;
+ uint32 owner_module;
+ CVolume volume;
+ int mute;
+ uint32 monitor_source;
+ string monitor_source_name;
+ usec latency;
+ string driver;
+ SinkFlags flags;
+ Proplist proplist;
+ usec configured_latency;
+ Volume base_volume;
+ SinkState state;
+ uint32 n_volume_steps;
+ uint32 card;
+ uint32 n_ports;
+ SinkPortInfo*[] ports;
+ SinkPortInfo* active_port;
+ }
+
+ [CCode (cname="pa_source_port_info")]
+ public struct SourcePortInfo {
+ string name;
+ string description;
+ uint32 priority;
+ }
+
+ [CCode (cname="pa_source_info")]
+ public struct SourceInfo {
+ string name;
+ uint32 index;
+ string description;
+ SampleSpec sample_spec;
+ ChannelMap channel_map;
+ uint32 owner_module;
+ CVolume volume;
+ int mute;
+ uint32 monitor_of_sink;
+ string monitor_of_sink_name;
+ usec latency;
+ string driver;
+ SourceFlags flags;
+ Proplist proplist;
+ usec configured_latency;
+ Volume base_volume;
+ SourceState state;
+ uint32 n_volume_steps;
+ uint32 card;
+ uint32 n_ports;
+ SourcePortInfo*[] ports;
+ SourcePortInfo* active_port;
+ }
+
+ [CCode (cname="pa_server_info")]
+ public struct ServerInfo {
+ string user_name;
+ string host_name;
+ string server_version;
+ string server_name;
+ SampleSpec sample_spec;
+ string default_sink_name;
+ string default_source_name;
+ ChannelMap channel_map;
+ }
+
+ [CCode (cname="pa_module_info")]
+ public struct ModuleInfo {
+ uint32 index;
+ string name;
+ string argument;
+ uint32 n_used;
+ Proplist proplist;
+ }
+
+ [CCode (cname="pa_client_info")]
+ public struct ClientInfo {
+ uint32 index;
+ string name;
+ uint32 owner_module;
+ string driver;
+ Proplist proplist;
+ }
+
+ [CCode (cname="pa_card_profile_info")]
+ public struct CardProfileInfo {
+ string name;
+ string description;
+ uint32 n_sinks;
+ uint32 n_sources;
+ uint32 priority;
+ }
+
+ [CCode (cname="pa_card_info")]
+ public struct CardInfo {
+ uint32 index;
+ string name;
+ uint32 owner_module;
+ string driver;
+ uint32 n_profiles;
+ CardProfileInfo profiles[];
+ CardProfileInfo *active_profile;
+ Proplist proplist;
+ }
+
+ [CCode (cname="pa_sink_input_info")]
+ public struct SinkInputInfo {
+ uint32 index;
+ string name;
+ uint32 owner_module;
+ uint32 client;
+ uint32 sink;
+ SampleSpec sample_spec;
+ ChannelMap channel_map;
+ CVolume volume;
+ uint32 buffer_usec;
+ uint32 sink_usec;
+ string resample_method;
+ string driver;
+ int mute;
+ Proplist proplist;
+ }
+
+ [CCode (cname="pa_source_output_info")]
+ public struct SourceOutputInfo {
+ uint32 index;
+ string name;
+ uint32 owner_module;
+ uint32 client;
+ uint32 source;
+ SampleSpec sample_spec;
+ ChannelMap channel_map;
+ uint32 buffer_usec;
+ uint32 sink_usec;
+ string resample_method;
+ string driver;
+ Proplist proplist;
+ }
+
+ [CCode (cname="pa_stat_info")]
+ public struct StatInfo {
+ uint32 memblock_total;
+ uint32 memblock_total_size;
+ uint32 memblock_allocated;
+ uint32 memblock_allocated_size;
+ uint32 scache_size;
+ }
+
+ [CCode (cname="pa_sample_info")]
+ public struct SampleInfo {
+ uint32 index;
+ string name;
+ CVolume volume;
+ SampleSpec sample_spec;
+ ChannelMap channel_map;
+ usec duration;
+ uint32 bytes;
+ bool lazy;
+ string filename;
+ Proplist proplist;
+ }
+
+ [CCode (cname="pa_sink_flags_t", cprefix="PA_SINK_")]
+ public enum SinkFlags {
+ HW_VOLUME_CTRL,
+ LATENCY,
+ HARDWARE,
+ NETWORK,
+ HW_MUTE_CTRL,
+ DECIBEL_VOLUME,
+ FLAT_VOLUME,
+ DYNAMIC_LATENCY
+ }
+
+ [CCode (cname="pa_source_flags_t", cprefix="PA_SOURCE_")]
+ public enum SourceFlags {
+ HW_VOLUME_CTRL,
+ LATENCY,
+ HARDWARE,
+ NETWORK,
+ HW_MUTE_CTRL,
+ DECIBEL_VOLUME,
+ DYNAMIC_LATENCY
+ }
+
+ [CCode (cname="pa_sink_state_t", cprefix="PA_SINK_")]
+ public enum SinkState {
+ INVALID_STATE,
+ RUNNING,
+ IDLE,
+ SUSPENDED;
+
+ [CCode (cname="PA_SINK_IS_OPENED")]
+ public bool IS_OPENED();
+ }
+
+ [CCode (cname="pa_source_state_t", cprefix="PA_SOURCE_")]
+ public enum SourceState {
+ INVALID_STATE,
+ RUNNING,
+ IDLE,
+ SUSPENDED;
+
+ [CCode (cname="PA_SOURCE_IS_OPENED")]
+ public bool IS_OPENED();
+ }
}
commit 08a4d57ce2f20173ea8a90e597a3ebcd28398242
Author: Lennart Poettering <lennart at poettering.net>
Date: Mon Sep 7 22:43:35 2009 +0200
libpulse: allow invocation of pa_context_play_sample_with_proplist() with NULL proplist
diff --git a/src/pulse/scache.c b/src/pulse/scache.c
index 43dc529..27da688 100644
--- a/src/pulse/scache.c
+++ b/src/pulse/scache.c
@@ -216,7 +216,6 @@ pa_operation *pa_context_play_sample_with_proplist(pa_context *c, const char *na
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, name && *name, PA_ERR_INVALID);
PA_CHECK_VALIDITY_RETURN_NULL(c, !dev || *dev, PA_ERR_INVALID);
- PA_CHECK_VALIDITY_RETURN_NULL(c, p, PA_ERR_INVALID);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 13, PA_ERR_NOTSUPPORTED);
o = pa_operation_new(c, NULL, (pa_operation_cb_t) cb, userdata);
@@ -233,7 +232,14 @@ pa_operation *pa_context_play_sample_with_proplist(pa_context *c, const char *na
pa_tagstruct_putu32(t, volume);
pa_tagstruct_puts(t, name);
- pa_tagstruct_put_proplist(t, p);
+
+ if (p)
+ pa_tagstruct_put_proplist(t, p);
+ else {
+ p = pa_proplist_new();
+ pa_tagstruct_put_proplist(t, p);
+ pa_proplist_free(p);
+ }
pa_pstream_send_tagstruct(c->pstream, t);
pa_pdispatch_register_reply(c->pdispatch, tag, DEFAULT_TIMEOUT, play_sample_with_proplist_ack_callback, pa_operation_ref(o), (pa_free_cb_t) pa_operation_unref);
commit 508c462841fd087528649ed1ca3646363387bb5d
Merge: 08a4d57 7234994
Author: Lennart Poettering <lennart at poettering.net>
Date: Mon Sep 7 22:44:16 2009 +0200
Merge remote branch 'wtay/optimize'
--
hooks/post-receive
PulseAudio Sound Server
More information about the pulseaudio-commits
mailing list