blob: 8b5888786a984ff0fad42a1ec24f6d95a7e808af [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//------------------------------------------------
// Functions from pulse used in media code.
//------------------------------------------------
pa_mainloop_api* pa_threaded_mainloop_get_api(pa_threaded_mainloop* m);
void pa_threaded_mainloop_free(pa_threaded_mainloop* m);
pa_threaded_mainloop* pa_threaded_mainloop_new();
void pa_threaded_mainloop_lock(pa_threaded_mainloop* m);
int pa_threaded_mainloop_in_thread(pa_threaded_mainloop* m);
void pa_threaded_mainloop_signal(pa_threaded_mainloop* m, int wait_for_accept);
int pa_threaded_mainloop_start(pa_threaded_mainloop* m);
void pa_threaded_mainloop_stop(pa_threaded_mainloop* m);
void pa_threaded_mainloop_unlock(pa_threaded_mainloop* m);
void pa_threaded_mainloop_wait(pa_threaded_mainloop* m);
pa_channel_map* pa_channel_map_init(pa_channel_map* m);
pa_channel_map* pa_channel_map_init_mono(pa_channel_map* m);
int pa_context_connect(pa_context* c, const char* server, pa_context_flags_t flags, const pa_spawn_api* api);
void pa_context_disconnect(pa_context* c);
pa_operation* pa_context_get_server_info(pa_context* c, pa_server_info_cb_t cb, void* userdata);
pa_operation* pa_context_get_source_info_by_index(pa_context* c, uint32_t idx, pa_source_info_cb_t cb, void* userdata);
pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
pa_context_state_t pa_context_get_state(pa_context* c);
pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
pa_operation_state_t pa_operation_get_state(pa_operation* o);
void pa_context_unref(pa_context* c);
void pa_operation_unref(pa_operation* o);
int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
int pa_stream_connect_playback(pa_stream* s, const char* dev, const pa_buffer_attr* attr, pa_stream_flags_t flags, const pa_cvolume* volume,pa_stream* sync_stream);
int pa_stream_connect_record(pa_stream* s, const char* dev, const pa_buffer_attr* attr, pa_stream_flags_t flags);
pa_operation* pa_stream_cork(pa_stream* s, int b, pa_stream_success_cb_t cb, void* userdata);
int pa_stream_disconnect(pa_stream* s);
int pa_stream_drop(pa_stream *p);
pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
uint32_t pa_stream_get_device_index(pa_stream* s);
int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
pa_stream_state_t pa_stream_get_state(pa_stream* p);
pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
pa_proplist* pa_proplist_new(void);
int pa_proplist_contains(pa_proplist* p, const char* key);
void pa_proplist_free(pa_proplist* p);
const char* pa_proplist_gets(pa_proplist* p, const char* key);
int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
size_t pa_stream_readable_size(pa_stream *p);
int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
void pa_stream_unref(pa_stream* s);
int pa_context_errno(pa_context *c);
const char* pa_strerror(int error);
pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);