summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am17
-rw-r--r--configure.ac2
-rw-r--r--src/modules/gconf/module-gconf.c2
-rw-r--r--src/pulsecore/memtrap.c5
-rw-r--r--src/pulsecore/namereg.c13
-rw-r--r--vala/libpulse.vapi (renamed from pulseaudio.vapi)462
6 files changed, 293 insertions, 208 deletions
diff --git a/Makefile.am b/Makefile.am
index 5967f2ce..2713c0a2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,12 +17,27 @@
ACLOCAL_AMFLAGS = -I m4
-EXTRA_DIST = bootstrap.sh git-version-gen LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in README todo
+EXTRA_DIST = \
+ bootstrap.sh \
+ git-version-gen \
+ LICENSE \
+ GPL \
+ LGPL \
+ doxygen/Makefile.am \
+ doxygen/Makefile.in \
+ doxygen/doxygen.conf.in \
+ README \
+ todo \
+ vala/libpulse.vapi
+
SUBDIRS = src doxygen man po
MAINTAINERCLEANFILES =
noinst_DATA =
+vapidir = $(datadir)/vala/vapi
+vapi_DATA = vala/libpulse.vapi
+
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libpulse.pc libpulse-simple.pc
diff --git a/configure.ac b/configure.ac
index adf5d90a..e75378e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,7 +45,7 @@ AC_SUBST(PA_PROTOCOL_VERSION, 16)
# The stable ABI for client applications, for the version info x:y:z
# always will hold y=z
-AC_SUBST(LIBPULSE_VERSION_INFO, [10:0:10])
+AC_SUBST(LIBPULSE_VERSION_INFO, [11:0:11])
# A simplified, synchronous, ABI-stable interface for client
# applications, for the version info x:y:z always will hold y=z
diff --git a/src/modules/gconf/module-gconf.c b/src/modules/gconf/module-gconf.c
index 85523b39..5f31d688 100644
--- a/src/modules/gconf/module-gconf.c
+++ b/src/modules/gconf/module-gconf.c
@@ -342,7 +342,7 @@ int pa__init(pa_module*m) {
if ((u->fd = pa_start_child_for_read(
#if defined(__linux__) && !defined(__OPTIMIZE__)
- pa_run_from_build_tree() ? PA_BUILDDIR "/.libs/gconf-helper" :
+ pa_run_from_build_tree() ? PA_BUILDDIR "/gconf-helper" :
#endif
PA_GCONF_HELPER, NULL, &u->pid)) < 0)
goto fail;
diff --git a/src/pulsecore/memtrap.c b/src/pulsecore/memtrap.c
index 373872c1..4fc18210 100644
--- a/src/pulsecore/memtrap.c
+++ b/src/pulsecore/memtrap.c
@@ -107,7 +107,10 @@ static void memtrap_link(pa_memtrap *m, unsigned j) {
pa_assert(m);
m->prev[j] = NULL;
- m->next[j] = memtraps[j];
+
+ if ((m->next[j] = memtraps[j]))
+ m->next[j]->prev[j] = m;
+
memtraps[j] = m;
}
diff --git a/src/pulsecore/namereg.c b/src/pulsecore/namereg.c
index 37755777..d9821876 100644
--- a/src/pulsecore/namereg.c
+++ b/src/pulsecore/namereg.c
@@ -98,7 +98,7 @@ char* pa_namereg_make_valid_name(const char *name) {
if (*name == 0)
return NULL;
- n = pa_xmalloc(strlen(name)+1);
+ n = pa_xnew(char, strlen(name)+1);
for (a = name, b = n; *a && (a-name < PA_NAME_MAX); a++, b++)
*b = (char) (is_valid_char(*a) ? *a : '_');
@@ -170,6 +170,17 @@ const char *pa_namereg_register(pa_core *c, const char *name, pa_namereg_type_t
pa_assert_se(pa_hashmap_put(c->namereg, e->name, e) >= 0);
+ /* If a sink or source is registered and there was none registered
+ * before we inform the clients which then can ask for the default
+ * sink/source which is then assigned. We don't adjust the default
+ * sink/source here right away to give the module the chance to
+ * register more sinks/sources before we choose a new default
+ * sink/source. */
+
+ if ((!c->default_sink && type == PA_NAMEREG_SINK) ||
+ (!c->default_source && type == PA_NAMEREG_SOURCE))
+ pa_subscription_post(c, PA_SUBSCRIPTION_EVENT_SERVER|PA_SUBSCRIPTION_EVENT_CHANGE, PA_INVALID_INDEX);
+
return e->name;
}
diff --git a/pulseaudio.vapi b/vala/libpulse.vapi
index cf0e82e0..9e05b144 100644
--- a/pulseaudio.vapi
+++ b/vala/libpulse.vapi
@@ -23,7 +23,7 @@ using GLib;
using Posix;
[CCode (cheader_filename="pulse/pulseaudio.h")]
-namespace Pulse {
+namespace PulseAudio {
[CCode (cname="pa_get_library_version")]
public unowned string get_library_version();
@@ -152,7 +152,7 @@ namespace Pulse {
}
[CCode (cname="pa_sample_spec_init")]
- SampleSpec();
+ public SampleSpec();
}
// [CCode (cname="PA_BYTES_SNPRINT_MAX")]
@@ -747,18 +747,22 @@ namespace Pulse {
ERROR
}
- [CCode (cname="pa_io_event")]
+ [Compact]
+ [CCode (cname="pa_io_event", unref_function="", ref_function="")]
public struct IoEvent {
}
- [CCode (cname="pa_time_event")]
+ [Compact]
+ [CCode (cname="pa_time_event", unref_function="", ref_function="")]
public struct TimeEvent {
}
- [CCode (cname="pa_defer_event")]
+ [Compact]
+ [CCode (cname="pa_defer_event", unref_function="", ref_function="")]
public struct DeferEvent {
}
+ [Compact]
[CCode (cname="pa_signal_event", cprefix="pa_signal_", free_function="pa_signal_free")]
public struct SignalEvent {
@@ -769,42 +773,42 @@ namespace Pulse {
}
[Compact]
- [CCode (cname="pa_mainloop_api")]
+ [CCode (cname="pa_mainloop_api", unref_function="", ref_function="")]
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 IoEventCb(MainLoopApi a, IoEvent e, int fd, IoEventFlags flags);
+ public delegate void IoEventDestroyCb(MainLoopApi a, IoEvent e);
- public delegate void TimeEventCb(TimeEvent e, ref timeval t);
- public delegate void TimeEventDestroyCb(TimeEvent e);
+ public delegate void TimeEventCb(MainLoopApi a, TimeEvent e, ref timeval t);
+ public delegate void TimeEventDestroyCb(MainLoopApi a, TimeEvent e);
- public delegate void DeferEventCb(DeferEvent e);
- public delegate void DeferEventDestroyCb(DeferEvent e);
+ public delegate void DeferEventCb(MainLoopApi a, DeferEvent e);
+ public delegate void DeferEventDestroyCb(MainLoopApi a, DeferEvent e);
- public delegate void SignalEventCb(SignalEvent e);
- public delegate void SignalEventDestroyCb(SignalEvent e);
+ public delegate void SignalEventCb(MainLoopApi a, SignalEvent e);
+ public delegate void SignalEventDestroyCb(MainLoopApi a, 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 IoEvent IoNewCb(MainLoopApi a, int fd, IoEventFlags flags, IoEventCb cb);
+ public delegate void IoEnableCb(MainLoopApi a, IoEvent e, IoEventFlags flags);
+ public delegate void IoFreeCb(MainLoopApi a, IoEvent e);
+ public delegate void IoSetDestroyCb(MainLoopApi a, 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 TimeEvent TimeNewCb(MainLoopApi a, timeval? t, TimeEventCb cb);
+ public delegate void TimeRestartCb(MainLoopApi a, TimeEvent e, timeval? t);
+ public delegate void TimeFreeCb(MainLoopApi a, TimeEvent e);
+ public delegate void TimeSetDestroyCb(MainLoopApi a, 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 DeferEvent DeferNewCb(MainLoopApi a, DeferEventCb cb);
+ public delegate void DeferEnableCb(MainLoopApi a, DeferEvent e, bool b);
+ public delegate void DeferFreeCb(MainLoopApi a, DeferEvent e);
+ public delegate void DeferSetDestroyCb(MainLoopApi a, DeferEvent e, DeferEventDestroyCb? cb);
- public delegate void QuitCb(int retval);
+ public delegate void QuitCb(MainLoopApi a, int retval);
- public delegate void OnceCb();
+ public delegate void OnceCb(MainLoopApi a);
public IoNewCb io_new;
public IoEnableCb io_enable;
@@ -834,7 +838,7 @@ namespace Pulse {
public void signal_done();
[CCode (cname="pa_poll_func")]
- public delegate int PollFunc(pollfd[] ufds);
+ public delegate int PollFunc(pollfd[] ufds, int timeout);
[Compact]
[CCode (cname="pa_mainloop", cprefix="pa_mainloop_", free_function="pa_mainloop_free")]
@@ -915,11 +919,12 @@ namespace Pulse {
CONNECTING,
AUTHORIZING,
SETTING_NAME,
- READ,
+ READY,
FAILED,
TERMINATED;
- bool IS_GOOD();
+ [CCode (cname="PA_CONTEXT_IS_GOOD")]
+ public bool IS_GOOD();
}
[CCode (cname="pa_subscription_mask_t", cprefix="PA_SUBSCRIPTION_MASK_")]
@@ -937,7 +942,7 @@ namespace Pulse {
ALL;
[CCode (cname="pa_subscription_match_flags")]
- bool match_flags(SubscriptionEventType t);
+ public bool match_flags(SubscriptionEventType t);
}
[CCode (cname="pa_subscription_event_type_t", cprefix="PA_SUBSCRIPTION_EVENT_")]
@@ -958,21 +963,21 @@ namespace Pulse {
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);
+ public delegate void NotifyCb(Context c);
+ public delegate void SuccessCb(Context c, int success);
+ public delegate void EventCb(Context c, string name, Proplist? proplist);
+ public delegate void SubscribeCb(Context c, SubscriptionEventType t, uint32 idx);
+ public delegate void SinkInfoCb(Context c, SinkInfo? i, int eol);
+ public delegate void SourceInfoCb(Context c, SourceInfo? i, int eol);
+ public delegate void CardInfoCb(Context c, CardInfo? i, int eol);
+ public delegate void SinkInputInfoCb(Context c, SinkInputInfo? i, int eol);
+ public delegate void SourceOutputInfoCb(Context c, SourceOutputInfo? i, int eol);
+ public delegate void ServerInfoCb(Context c, ServerInfo? i);
+ public delegate void StatInfoCb(Context c, ServerInfo? i);
+ public delegate void ModuleInfoCb(Context c, ModuleInfo? i, int eol);
+ public delegate void ClientInfoCb(Context c, ClientInfo? i, int eol);
+ public delegate void SampleInfoCb(Context c, SampleInfo? i, int eol);
+ public delegate void IndexCb(Context c, uint32 idx);
[CCode (cname="pa_context_new_with_proplist")]
public Context(MainLoopApi api, string? name, Proplist? proplist = null);
@@ -1121,7 +1126,8 @@ namespace Pulse {
FAILED,
TERMINATED;
- bool IS_GOOD();
+ [CCode (cname="PA_STREAM_IS_GOOD")]
+ public bool IS_GOOD();
}
[CCode (cname="pa_stream_direction_t", cprefix="PA_STREAM_")]
@@ -1172,13 +1178,13 @@ namespace Pulse {
[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);
+ public delegate void SuccessCb(Stream s, int success);
+ public delegate void RequestCb(Stream s, size_t nbytes);
+ public delegate void NotifyCb(Stream s);
+ public delegate void EventCb(Stream s, 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 Stream(Context c, string name, SampleSpec ss, ChannelMap? map = null, Proplist? proplist = null);
public State get_state();
public Context get_context();
@@ -1188,47 +1194,47 @@ namespace Pulse {
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_playback(string dev, BufferAttr? a = null, Flags flags = 0, CVolume? 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 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);
+ 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 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);
@@ -1244,176 +1250,176 @@ namespace Pulse {
[CCode (cname="pa_sink_port_info")]
public struct SinkPortInfo {
- string name;
- string description;
- uint32 priority;
+ public string name;
+ public string description;
+ public 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;
+ public string name;
+ public uint32 index;
+ public string description;
+ public SampleSpec sample_spec;
+ public ChannelMap channel_map;
+ public uint32 owner_module;
+ public CVolume volume;
+ public int mute;
+ public uint32 monitor_source;
+ public string monitor_source_name;
+ public usec latency;
+ public string driver;
+ public SinkFlags flags;
+ public Proplist proplist;
+ public usec configured_latency;
+ public Volume base_volume;
+ public SinkState state;
+ public uint32 n_volume_steps;
+ public uint32 card;
+ public uint32 n_ports;
+ public SinkPortInfo*[] ports;
+ public SinkPortInfo* active_port;
}
[CCode (cname="pa_source_port_info")]
public struct SourcePortInfo {
- string name;
- string description;
- uint32 priority;
+ public string name;
+ public string description;
+ public 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;
+ public string name;
+ public uint32 index;
+ public string description;
+ public SampleSpec sample_spec;
+ public ChannelMap channel_map;
+ public uint32 owner_module;
+ public CVolume volume;
+ public int mute;
+ public uint32 monitor_of_sink;
+ public string monitor_of_sink_name;
+ public usec latency;
+ public string driver;
+ public SourceFlags flags;
+ public Proplist proplist;
+ public usec configured_latency;
+ public Volume base_volume;
+ public SourceState state;
+ public uint32 n_volume_steps;
+ public uint32 card;
+ public uint32 n_ports;
+ public SourcePortInfo*[] ports;
+ public 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;
+ public string user_name;
+ public string host_name;
+ public string server_version;
+ public string server_name;
+ public SampleSpec sample_spec;
+ public string default_sink_name;
+ public string default_source_name;
+ public ChannelMap channel_map;
}
[CCode (cname="pa_module_info")]
public struct ModuleInfo {
- uint32 index;
- string name;
- string argument;
- uint32 n_used;
- Proplist proplist;
+ public uint32 index;
+ public string name;
+ public string argument;
+ public uint32 n_used;
+ public Proplist proplist;
}
[CCode (cname="pa_client_info")]
public struct ClientInfo {
- uint32 index;
- string name;
- uint32 owner_module;
- string driver;
- Proplist proplist;
+ public uint32 index;
+ public string name;
+ public uint32 owner_module;
+ public string driver;
+ public Proplist proplist;
}
[CCode (cname="pa_card_profile_info")]
public struct CardProfileInfo {
- string name;
- string description;
- uint32 n_sinks;
- uint32 n_sources;
- uint32 priority;
+ public string name;
+ public string description;
+ public uint32 n_sinks;
+ public uint32 n_sources;
+ public 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;
+ public uint32 index;
+ public string name;
+ public uint32 owner_module;
+ public string driver;
+ public uint32 n_profiles;
+ public CardProfileInfo profiles[];
+ public CardProfileInfo *active_profile;
+ public 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;
+ public uint32 index;
+ public string name;
+ public uint32 owner_module;
+ public uint32 client;
+ public uint32 sink;
+ public SampleSpec sample_spec;
+ public ChannelMap channel_map;
+ public CVolume volume;
+ public uint32 buffer_usec;
+ public uint32 sink_usec;
+ public string resample_method;
+ public string driver;
+ public int mute;
+ public 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;
+ public uint32 index;
+ public string name;
+ public uint32 owner_module;
+ public uint32 client;
+ public uint32 source;
+ public SampleSpec sample_spec;
+ public ChannelMap channel_map;
+ public uint32 buffer_usec;
+ public uint32 sink_usec;
+ public string resample_method;
+ public string driver;
+ public 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;
+ public uint32 memblock_total;
+ public uint32 memblock_total_size;
+ public uint32 memblock_allocated;
+ public uint32 memblock_allocated_size;
+ public 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;
+ public uint32 index;
+ public string name;
+ public CVolume volume;
+ public SampleSpec sample_spec;
+ public ChannelMap channel_map;
+ public usec duration;
+ public uint32 bytes;
+ public bool lazy;
+ public string filename;
+ public Proplist proplist;
}
[CCode (cname="pa_sink_flags_t", cprefix="PA_SINK_")]
@@ -1460,4 +1466,54 @@ namespace Pulse {
[CCode (cname="PA_SOURCE_IS_OPENED")]
public bool IS_OPENED();
}
+
+ [CCode (cname="pa_gettimeofday")]
+ public unowned timeval gettimeofday(out timeval tv);
+
+ [CCode (cname="pa_timeval_diff")]
+ public usec timeval_diff(ref timeval a, ref timeval b);
+
+ [CCode (cname="pa_timeval_cmp")]
+ public int timeval_cmp(ref timeval a, ref timeval b);
+
+ [CCode (cname="pa_timeval_age")]
+ public usec timeval_age(ref timeval a);
+
+ [CCode (cname="pa_timeval_add")]
+ public unowned timeval timeval_add(ref timeval tv, usec x);
+
+ [CCode (cname="pa_timeval_sub")]
+ public unowned timeval timeval_sub(ref timeval tv, usec x);
+
+ [CCode (cname="pa_timeval_store")]
+ public unowned timeval timeval_store(out timeval tv, usec c);
+
+ [CCode (cname="pa_timeval_load")]
+ public usec timeval_load(timeval tv);
+
+ [CCode (cname="PA_USEC_MAX")]
+ public const usec USEC_MAX;
+
+ [CCode (cname="PA_USEC_INVALID")]
+ public const usec USEC_INVALID;
+
+ [CCode (cname="PA_MSEC_PER_SEC")]
+ public const usec MSEC_PER_SEC;
+
+ [CCode (cname="PA_USEC_PER_SEC")]
+ public const usec USEC_PER_SEC;
+
+ [CCode (cname="PA_NSEC_PER_SEC")]
+ public const uint64 NSEC_PER_SEC;
+
+
+ [CCode (cname="PA_USEC_PER_MSEC")]
+ public const usec USEC_PER_MSEC;
+
+ [CCode (cname="PA_NSEC_PER_MSEC")]
+ public const uint64 NSEC_PER_MSEC;
+
+
+ [CCode (cname="PA_NSEC_PER_USEC")]
+ public const uint64 NSEC_PER_USEC;
}