mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
More spelling fixes
This commit is contained in:
parent
231645d4fc
commit
c5dca7cf2b
81 changed files with 165 additions and 167 deletions
|
|
@ -71,7 +71,7 @@ enum {
|
|||
ARG_START
|
||||
};
|
||||
|
||||
/* Tabel for getopt_long() */
|
||||
/* Table for getopt_long() */
|
||||
static const struct option long_options[] = {
|
||||
{"help", 0, 0, ARG_HELP},
|
||||
{"version", 0, 0, ARG_VERSION},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
#include "daemon-conf.h"
|
||||
|
||||
/* Parese the command line and store its data in *c. Return the index
|
||||
/* Parse the command line and store its data in *c. Return the index
|
||||
* of the first unparsed argument in *d. */
|
||||
int pa_cmdline_parse(pa_daemon_conf*c, int argc, char *const argv [], int *d);
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@
|
|||
relocations on any libraries that are already loaded into our
|
||||
process, i.e. because the pulseaudio binary links directly to
|
||||
them. To disable lazy relocations for those libraries it is possible
|
||||
to set $LT_BIND_NOW before starting the pulsaudio binary.
|
||||
to set $LT_BIND_NOW before starting the pulseaudio binary.
|
||||
*/
|
||||
|
||||
static lt_module bind_now_open(lt_user_data d, const char *fname, lt_dladvise advise) {
|
||||
|
|
|
|||
|
|
@ -3826,7 +3826,7 @@ static int profile_verify(pa_alsa_profile *p) {
|
|||
continue;
|
||||
|
||||
if (!(m = pa_hashmap_get(p->profile_set->mappings, *name)) || m->direction == PA_ALSA_DIRECTION_INPUT) {
|
||||
pa_log("Profile '%s' refers to unexistant mapping '%s'.", p->name, *name);
|
||||
pa_log("Profile '%s' refers to nonexistent mapping '%s'.", p->name, *name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -3862,7 +3862,7 @@ static int profile_verify(pa_alsa_profile *p) {
|
|||
continue;
|
||||
|
||||
if (!(m = pa_hashmap_get(p->profile_set->mappings, *name)) || m->direction == PA_ALSA_DIRECTION_OUTPUT) {
|
||||
pa_log("Profile '%s' refers to unexistant mapping '%s'.", p->name, *name);
|
||||
pa_log("Profile '%s' refers to nonexistent mapping '%s'.", p->name, *name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ struct pa_alsa_decibel_fix {
|
|||
long max_step;
|
||||
|
||||
/* An array that maps alsa volume element steps to decibels. The steps can
|
||||
* be used as indices to this array, after substracting min_step from the
|
||||
* be used as indices to this array, after subtracting min_step from the
|
||||
* real value.
|
||||
*
|
||||
* The values are actually stored as integers representing millibels,
|
||||
|
|
|
|||
|
|
@ -69,10 +69,10 @@
|
|||
#define TSCHED_WATERMARK_INC_STEP_USEC (10*PA_USEC_PER_MSEC) /* 10ms -- On underrun, increase watermark by this */
|
||||
#define TSCHED_WATERMARK_DEC_STEP_USEC (5*PA_USEC_PER_MSEC) /* 5ms -- When everything's great, decrease watermark by this */
|
||||
#define TSCHED_WATERMARK_VERIFY_AFTER_USEC (20*PA_USEC_PER_SEC) /* 20s -- How long after a drop out recheck if things are good now */
|
||||
#define TSCHED_WATERMARK_INC_THRESHOLD_USEC (0*PA_USEC_PER_MSEC) /* 0ms -- If the buffer level ever below this theshold, increase the watermark */
|
||||
#define TSCHED_WATERMARK_DEC_THRESHOLD_USEC (100*PA_USEC_PER_MSEC) /* 100ms -- If the buffer level didn't drop below this theshold in the verification time, decrease the watermark */
|
||||
#define TSCHED_WATERMARK_INC_THRESHOLD_USEC (0*PA_USEC_PER_MSEC) /* 0ms -- If the buffer level ever below this threshold, increase the watermark */
|
||||
#define TSCHED_WATERMARK_DEC_THRESHOLD_USEC (100*PA_USEC_PER_MSEC) /* 100ms -- If the buffer level didn't drop below this threshold in the verification time, decrease the watermark */
|
||||
|
||||
/* Note that TSCHED_WATERMARK_INC_THRESHOLD_USEC == 0 means tht we
|
||||
/* Note that TSCHED_WATERMARK_INC_THRESHOLD_USEC == 0 means that we
|
||||
* will increase the watermark only if we hit a real underrun. */
|
||||
|
||||
#define TSCHED_MIN_SLEEP_USEC (10*PA_USEC_PER_MSEC) /* 10ms -- Sleep at least 10ms on each iteration */
|
||||
|
|
@ -929,7 +929,7 @@ static int update_sw_params(struct userdata *u) {
|
|||
|
||||
pa_assert(u);
|
||||
|
||||
/* Use the full buffer if noone asked us for anything specific */
|
||||
/* Use the full buffer if no one asked us for anything specific */
|
||||
u->hwbuf_unused = 0;
|
||||
|
||||
if (u->use_tsched) {
|
||||
|
|
|
|||
|
|
@ -850,7 +850,7 @@ static int update_sw_params(struct userdata *u) {
|
|||
|
||||
pa_assert(u);
|
||||
|
||||
/* Use the full buffer if noone asked us for anything specific */
|
||||
/* Use the full buffer if no one asked us for anything specific */
|
||||
u->hwbuf_unused = 0;
|
||||
|
||||
if (u->use_tsched) {
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
#include "module-echo-cancel-symdef.h"
|
||||
|
||||
PA_MODULE_AUTHOR("Wim Taymans");
|
||||
PA_MODULE_DESCRIPTION("Echo Cancelation");
|
||||
PA_MODULE_DESCRIPTION("Echo Cancellation");
|
||||
PA_MODULE_VERSION(PACKAGE_VERSION);
|
||||
PA_MODULE_LOAD_ONCE(FALSE);
|
||||
PA_MODULE_USAGE(
|
||||
|
|
@ -132,10 +132,10 @@ static const pa_echo_canceller ec_table[] = {
|
|||
*
|
||||
* Alignment is performed in two steps:
|
||||
*
|
||||
* 1) when something happens that requires quick adjustement of the alignment of
|
||||
* 1) when something happens that requires quick adjustment of the alignment of
|
||||
* capture and playback samples, we perform a resync. This adjusts the
|
||||
* position in the playback memblock to the requested sample. Quick
|
||||
* adjustements include moving the playback samples before the capture
|
||||
* adjustments include moving the playback samples before the capture
|
||||
* samples (because else the echo canceler does not work) or when the
|
||||
* playback pointer drifts too far away.
|
||||
*
|
||||
|
|
@ -250,7 +250,7 @@ static int64_t calc_diff(struct userdata *u, struct snapshot *snapshot) {
|
|||
|
||||
buffer += snapshot->source_delay + snapshot->sink_delay;
|
||||
|
||||
/* add the amount of samples not yet transfered to the source context */
|
||||
/* add the amount of samples not yet transferred to the source context */
|
||||
if (snapshot->recv_counter <= snapshot->send_counter)
|
||||
buffer += (int64_t) (snapshot->send_counter - snapshot->recv_counter);
|
||||
else
|
||||
|
|
@ -322,7 +322,7 @@ static void time_callback(pa_mainloop_api *a, pa_time_event *e, const struct tim
|
|||
new_rate = base_rate;
|
||||
}
|
||||
|
||||
/* make sure we don't make too big adjustements because that sounds horrible */
|
||||
/* make sure we don't make too big adjustments because that sounds horrible */
|
||||
if (new_rate > base_rate * 1.1 || new_rate < base_rate * 0.9)
|
||||
new_rate = base_rate;
|
||||
|
||||
|
|
@ -724,7 +724,7 @@ static void source_output_push_cb(pa_source_output *o, const pa_memchunk *chunk)
|
|||
fwrite(pdata, 1, u->blocksize, u->played_file);
|
||||
}
|
||||
|
||||
/* perform echo cancelation */
|
||||
/* perform echo cancellation */
|
||||
u->ec->run(u->ec, rdata, pdata, cdata);
|
||||
|
||||
/* preprecessor is run after AEC. This is not a mistake! */
|
||||
|
|
@ -1441,7 +1441,7 @@ int pa__init(pa_module*m) {
|
|||
|
||||
u->ec->echo_suppress_attenuation_active = DEFAULT_ECHO_SUPPRESS_ATTENUATION;
|
||||
if (pa_modargs_get_value_s32(ma, "echo_suppress_attenuation_active", &u->ec->echo_suppress_attenuation_active) < 0) {
|
||||
pa_log("Failed to parse echo_supress_attenuation_active value");
|
||||
pa_log("Failed to parse echo_suppress_attenuation_active value");
|
||||
goto fail;
|
||||
}
|
||||
if (u->ec->echo_suppress_attenuation_active > 0) {
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
/* General overview:
|
||||
*
|
||||
* Because JACK has a very unflexible event loop management which
|
||||
* Because JACK has a very inflexible event loop management which
|
||||
* doesn't allow us to add our own event sources to the event thread
|
||||
* we cannot use the JACK real-time thread for dispatching our PA
|
||||
* work. Instead, we run an additional RT thread which does most of
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ struct output {
|
|||
/* For communication of the stream latencies to the main thread */
|
||||
pa_usec_t total_latency;
|
||||
|
||||
/* For coomunication of the stream parameters to the sink thread */
|
||||
/* For communication of the stream parameters to the sink thread */
|
||||
pa_atomic_t max_request;
|
||||
pa_atomic_t requested_latency;
|
||||
|
||||
|
|
@ -991,7 +991,7 @@ static void output_disable(struct output *o) {
|
|||
* pass any further data to this output */
|
||||
pa_asyncmsgq_send(o->userdata->sink->asyncmsgq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_REMOVE_OUTPUT, o, 0, NULL);
|
||||
|
||||
/* Now dellocate the stream */
|
||||
/* Now deallocate the stream */
|
||||
pa_sink_input_unref(o->sink_input);
|
||||
o->sink_input = NULL;
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ static void load(struct userdata *u) {
|
|||
pa_namereg_set_default_sink(u->core, s);
|
||||
pa_log_info("Restored default sink '%s'.", ln);
|
||||
} else
|
||||
pa_log_info("Saved default sink '%s' not existant, not restoring default sink setting.", ln);
|
||||
pa_log_info("Saved default sink '%s' not existent, not restoring default sink setting.", ln);
|
||||
|
||||
} else if (errno != ENOENT)
|
||||
pa_log("Failed to load default sink: %s", pa_cstrerror(errno));
|
||||
|
|
@ -95,7 +95,7 @@ static void load(struct userdata *u) {
|
|||
pa_namereg_set_default_source(u->core, s);
|
||||
pa_log_info("Restored default source '%s'.", ln);
|
||||
} else
|
||||
pa_log_info("Saved default source '%s' not existant, not restoring default source setting.", ln);
|
||||
pa_log_info("Saved default source '%s' not existent, not restoring default source setting.", ln);
|
||||
|
||||
} else if (errno != ENOENT)
|
||||
pa_log("Failed to load default sink: %s", pa_cstrerror(errno));
|
||||
|
|
|
|||
|
|
@ -1334,7 +1334,7 @@ static int extension_cb(pa_native_protocol *p, pa_module *m, pa_native_connectio
|
|||
goto fail;
|
||||
}
|
||||
|
||||
/* Add the device to our hashmap. If it's alredy in it, free it now and carry on */
|
||||
/* Add the device to our hashmap. If it's already in it, free it now and carry on */
|
||||
device = pa_xnew(struct device_t, 1);
|
||||
device->device = pa_xstrdup(s);
|
||||
if (pa_hashmap_put(h, device->device, device) == 0) {
|
||||
|
|
@ -1352,7 +1352,7 @@ static int extension_cb(pa_native_protocol *p, pa_module *m, pa_native_connectio
|
|||
}*/
|
||||
|
||||
/* Now cycle through our list and add all the devices.
|
||||
This has the effect of addign in any in our DB,
|
||||
This has the effect of adding in any in our DB,
|
||||
not specified in the device list (and thus will be
|
||||
tacked on at the end) */
|
||||
offset = idx;
|
||||
|
|
@ -1368,10 +1368,10 @@ static int extension_cb(pa_native_protocol *p, pa_module *m, pa_native_connectio
|
|||
if ((sink_mode && 0 == strncmp("sink:", device->device, 5))
|
||||
|| (!sink_mode && 0 == strncmp("source:", device->device, 7))) {
|
||||
|
||||
/* Add the device to our hashmap. If it's alredy in it, free it now and carry on */
|
||||
/* Add the device to our hashmap. If it's already in it, free it now and carry on */
|
||||
if (pa_hashmap_put(h, device->device, device) == 0
|
||||
&& (e = entry_read(u, device->device))) {
|
||||
/* We add offset on to the existing priorirty so that when we order, the
|
||||
/* We add offset on to the existing priority so that when we order, the
|
||||
existing entries are always lower priority than the new ones. */
|
||||
device->prio = (offset + e->priority[role_index]);
|
||||
pa_xfree(e);
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ struct userdata {
|
|||
pa_bool_t restore_formats:1;
|
||||
};
|
||||
|
||||
/* Protocol extention commands */
|
||||
/* Protocol extension commands */
|
||||
enum {
|
||||
SUBCOMMAND_TEST,
|
||||
SUBCOMMAND_SUBSCRIBE,
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ struct userdata {
|
|||
//size_t samplings;
|
||||
|
||||
float **Xs;
|
||||
float ***Hs;//thread updatable copies of the freq response filters (magintude based)
|
||||
float ***Hs;//thread updatable copies of the freq response filters (magnitude based)
|
||||
pa_aupdate **a_H;
|
||||
pa_memblockq *input_q;
|
||||
char *output_buffer;
|
||||
|
|
@ -356,10 +356,10 @@ static void dsp_logic(
|
|||
*automatically cycled in routine
|
||||
*/
|
||||
float * restrict overlap,
|
||||
const float X,//multipliar
|
||||
const float X,//multiplier
|
||||
const float * restrict H,//The freq. magnitude scalers filter
|
||||
const float * restrict W,//The windowing function
|
||||
fftwf_complex * restrict output_window,//The transformed window'd src
|
||||
fftwf_complex * restrict output_window,//The transformed windowed src
|
||||
struct userdata *u){
|
||||
|
||||
//use a linear-phase sliding STFT and overlap-add method (for each channel)
|
||||
|
|
@ -367,7 +367,7 @@ static void dsp_logic(
|
|||
for(size_t j = 0; j < u->window_size; ++j){
|
||||
dst[j] = X * W[j] * src[j];
|
||||
}
|
||||
//zero padd the the remaining fft window
|
||||
//zero pad the the remaining fft window
|
||||
memset(dst + u->window_size, 0, (u->fft_size - u->window_size) * sizeof(float));
|
||||
//Processing is done here!
|
||||
//do fft
|
||||
|
|
@ -379,7 +379,7 @@ static void dsp_logic(
|
|||
}
|
||||
//inverse fft
|
||||
fftwf_execute_dft_c2r(u->inverse_plan, output_window, dst);
|
||||
////debug: tests overlaping add
|
||||
////debug: tests overlapping add
|
||||
////and negates ALL PREVIOUS processing
|
||||
////yields a perfect reconstruction if COLA is held
|
||||
//for(size_t j = 0; j < u->window_size; ++j){
|
||||
|
|
@ -397,7 +397,7 @@ static void dsp_logic(
|
|||
// u->work_buffer[j] = u->input[c][j];
|
||||
//}
|
||||
|
||||
//preseve the needed input for the next window's overlap
|
||||
//preserve the needed input for the next window's overlap
|
||||
memmove(src, src + u->R,
|
||||
(u->samples_gathered - u->R) * sizeof(float)
|
||||
);
|
||||
|
|
@ -418,10 +418,10 @@ static void dsp_logic(
|
|||
*automatically cycled in routine
|
||||
*/
|
||||
float * restrict overlap,//The size of the overlap
|
||||
const float X,//multipliar
|
||||
const float X,//multiplier
|
||||
const float * restrict H,//The freq. magnitude scalers filter
|
||||
const float * restrict W,//The windowing function
|
||||
fftwf_complex * restrict output_window,//The transformed window'd src
|
||||
fftwf_complex * restrict output_window,//The transformed windowed src
|
||||
struct userdata *u){//Collection of constants
|
||||
const size_t overlap_size = PA_ROUND_UP(u->overlap_size, v_size);
|
||||
float_vector_t x;
|
||||
|
|
@ -439,7 +439,7 @@ static void dsp_logic(
|
|||
// d->v = x->v * w->v * s->v;
|
||||
//#endif
|
||||
}
|
||||
//zero padd the the remaining fft window
|
||||
//zero pad the the remaining fft window
|
||||
memset(dst + u->window_size, 0, (u->fft_size - u->window_size) * sizeof(float));
|
||||
|
||||
//Processing is done here!
|
||||
|
|
@ -463,7 +463,7 @@ static void dsp_logic(
|
|||
//inverse fft
|
||||
fftwf_execute_dft_c2r(u->inverse_plan, output_window, dst);
|
||||
|
||||
////debug: tests overlaping add
|
||||
////debug: tests overlapping add
|
||||
////and negates ALL PREVIOUS processing
|
||||
////yields a perfect reconstruction if COLA is held
|
||||
//for(size_t j = 0; j < u->window_size; ++j){
|
||||
|
|
@ -494,7 +494,7 @@ static void dsp_logic(
|
|||
// dst[j] = src[j];
|
||||
//}
|
||||
|
||||
//preseve the needed input for the next window's overlap
|
||||
//preserve the needed input for the next window's overlap
|
||||
memmove(src, src + u->R,
|
||||
(u->samples_gathered - u->R) * sizeof(float)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ static int hal_device_load_alsa(struct userdata *u, const char *udi, struct devi
|
|||
|
||||
/* For each ALSA card that appears the control device will be the
|
||||
* last one to be created, this is considered part of the ALSA
|
||||
* usperspace API. We rely on this and load our modules only when
|
||||
* userspace API. We rely on this and load our modules only when
|
||||
* the control device is available assuming that *all* device
|
||||
* nodes have been properly created and assigned the right ACLs at
|
||||
* that time. Also see:
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ PA_MODULE_USAGE(
|
|||
"channel_map=<input channel map> "
|
||||
"plugin=<ladspa plugin name> "
|
||||
"label=<ladspa plugin label> "
|
||||
"control=<comma seperated list of input control values> "
|
||||
"control=<comma separated list of input control values> "
|
||||
"input_ladspaport_map=<comma separated list of input LADSPA port names> "
|
||||
"output_ladspaport_map=<comma separated list of output LADSPA port names> "));
|
||||
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ static pa_hook_result_t sink_input_fixate_hook_callback(pa_core *core, pa_sink_i
|
|||
if ((id = pa_proplist_gets(data->proplist, PA_PROP_EVENT_ID))) {
|
||||
|
||||
/* The test sounds should never be positioned in space, since
|
||||
* they might be trigered themselves to configure the speakers
|
||||
* they might be triggered themselves to configure the speakers
|
||||
* in space, which we don't want to mess up. */
|
||||
|
||||
if (pa_startswith(id, "audio-channel-"))
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@
|
|||
PA_MODULE_DESCRIPTION("Native protocol "SOCKET_DESCRIPTION);
|
||||
PA_MODULE_USAGE("auth-anonymous=<don't check for cookies?> "
|
||||
"auth-cookie=<path to cookie file> "
|
||||
"auth-cookie-enabled=<enable cookie authentification?> "
|
||||
"auth-cookie-enabled=<enable cookie authentication?> "
|
||||
AUTH_USAGE
|
||||
SOCKET_USAGE);
|
||||
#elif defined(USE_PROTOCOL_ESOUND)
|
||||
|
|
@ -162,7 +162,7 @@
|
|||
"source=<source to connect to> "
|
||||
"auth-anonymous=<don't verify cookies?> "
|
||||
"auth-cookie=<path to cookie file> "
|
||||
"auth-cookie-enabled=<enable cookie authentification?> "
|
||||
"auth-cookie-enabled=<enable cookie authentication?> "
|
||||
AUTH_USAGE
|
||||
SOCKET_USAGE);
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -485,7 +485,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
|
|||
case PA_SINK_MESSAGE_SET_STATE: {
|
||||
int r;
|
||||
|
||||
/* First, change the state, because otherwide pa_sink_render() would fail */
|
||||
/* First, change the state, because otherwise pa_sink_render() would fail */
|
||||
if ((r = pa_sink_process_msg(o, code, data, offset, chunk)) >= 0) {
|
||||
|
||||
stream_cork_within_thread(u, u->sink->state == PA_SINK_SUSPENDED);
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ PA_MODULE_LOAD_ONCE(TRUE);
|
|||
PA_MODULE_USAGE(
|
||||
"tsched=<enable system timer based scheduling mode?> "
|
||||
"ignore_dB=<ignore dB information from the device?> "
|
||||
"sync_volume=<syncronize sw and hw voluchanges in IO-thread?>");
|
||||
"sync_volume=<syncronize sw and hw volume changes in IO-thread?>");
|
||||
|
||||
struct device {
|
||||
char *path;
|
||||
|
|
@ -318,7 +318,7 @@ static void verify_access(struct userdata *u, struct device *d) {
|
|||
* A clean fix would be if we would be able to ignore
|
||||
* our own inotify close events. However, inotify
|
||||
* lacks such functionality. Also, during probing of
|
||||
* the device we cannot really distuingish between
|
||||
* the device we cannot really distinguish between
|
||||
* other processes causing EBUSY or ourselves, which
|
||||
* means we have no way to figure out if the probing
|
||||
* during opening was canceled by a "try again"
|
||||
|
|
@ -721,7 +721,7 @@ int pa__init(pa_module *m) {
|
|||
pa_log("Failed to enable monitor: %s", pa_cstrerror(errno));
|
||||
if (errno == EPERM)
|
||||
pa_log_info("Most likely your kernel is simply too old and "
|
||||
"allows only priviliged processes to listen to device events. "
|
||||
"allows only privileged processes to listen to device events. "
|
||||
"Please upgrade your kernel to at least 2.6.30.");
|
||||
goto fail;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
* We make no difference between IDLE and RUNNING in our handling.
|
||||
*
|
||||
* As long as we are in RUNNING/IDLE state we will *always* write data to
|
||||
* the device. If none is avilable from the inputs, we write silence
|
||||
* the device. If none is available from the inputs, we write silence
|
||||
* instead.
|
||||
*
|
||||
* If power should be saved on IDLE module-suspend-on-idle should be used.
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
|
|||
pa_rtpoll_item_free(u->rtpoll_item);
|
||||
u->rtpoll_item = NULL;
|
||||
} else {
|
||||
/* Quesiton: is this valid here: or should we do some sort of:
|
||||
/* Question: is this valid here: or should we do some sort of:
|
||||
return pa_sink_process_msg(PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL);
|
||||
?? */
|
||||
pa_module_unload_request(u->module, TRUE);
|
||||
|
|
@ -287,7 +287,7 @@ static void sink_set_volume_cb(pa_sink *s) {
|
|||
pa_log_debug("Got hardware volume: %s", pa_cvolume_snprint(t, sizeof(t), &hw));
|
||||
pa_log_debug("Calculated software volume: %s", pa_cvolume_snprint(t, sizeof(t), &s->soft_volume));
|
||||
|
||||
/* Any necessary software volume manipulateion is done so set
|
||||
/* Any necessary software volume manipulation is done so set
|
||||
our hw volume (or v as a single value) on the device */
|
||||
pa_raop_client_set_volume(u->raop, v);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ static inline void bit_writer(uint8_t **buffer, uint8_t *bit_pos, int *size, uin
|
|||
if (!data_bit_len)
|
||||
return;
|
||||
|
||||
/* If bit pos is zero, we will definatly use at least one bit from the current byte so size increments. */
|
||||
/* If bit pos is zero, we will definately use at least one bit from the current byte so size increments. */
|
||||
if (!*bit_pos)
|
||||
*size += 1;
|
||||
|
||||
|
|
@ -128,7 +128,7 @@ static inline void bit_writer(uint8_t **buffer, uint8_t *bit_pos, int *size, uin
|
|||
**buffer = bit_data;
|
||||
/* If our data fits exactly into the current byte, we need to increment our pointer */
|
||||
if (0 == bit_overflow) {
|
||||
/* Do not increment size as it will be incremeneted on next call as bit_pos is zero */
|
||||
/* Do not increment size as it will be incremented on next call as bit_pos is zero */
|
||||
*buffer += 1;
|
||||
*bit_pos = 0;
|
||||
} else {
|
||||
|
|
@ -523,7 +523,7 @@ int pa_raop_client_encode_sample(pa_raop_client* c, pa_memchunk* raw, pa_memchun
|
|||
pa_memblock_release(raw->memblock);
|
||||
encoded->length = header_size + size;
|
||||
|
||||
/* store the lenght (endian swapped: make this better) */
|
||||
/* store the length (endian swapped: make this better) */
|
||||
len = size + header_size - 4;
|
||||
*(b + 2) = len >> 8;
|
||||
*(b + 3) = len & 0xff;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ typedef void (*rm_change_cb_t)(rm_monitor *m);
|
|||
* DBus error might be set as well if the error was caused D-Bus. */
|
||||
int rm_watch(
|
||||
rm_monitor **m, /* On success a pointer to the newly allocated rm_device object will be filled in here */
|
||||
DBusConnection *connection, /* Session bus (when D-Bus learns about user busses we should switchg to user busses) */
|
||||
DBusConnection *connection, /* Session bus (when D-Bus learns about user busses we should switch to user busses) */
|
||||
const char *device_name, /* The device to monitor, e.g. "Audio0" */
|
||||
rm_change_cb_t change_cb, /* Will be called whenever the lock status changes. May be NULL */
|
||||
DBusError *error); /* If we fail due to a D-Bus related issue the error will be filled in here. May be NULL. */
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ typedef int (*rd_request_cb_t)(
|
|||
* the error was caused D-Bus. */
|
||||
int rd_acquire(
|
||||
rd_device **d, /* On success a pointer to the newly allocated rd_device object will be filled in here */
|
||||
DBusConnection *connection, /* Session bus (when D-Bus learns about user busses we should switchg to user busses) */
|
||||
DBusConnection *connection, /* Session bus (when D-Bus learns about user busses we should switch to user busses) */
|
||||
const char *device_name, /* The device to lock, e.g. "Audio0" */
|
||||
const char *application_name, /* A human readable name of the application, e.g. "PulseAudio Sound Server" */
|
||||
int32_t priority, /* The priority for this application. If unsure use 0 */
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ int pa_udev_get_info(int card_idx, pa_proplist *p) {
|
|||
if ((v = udev_device_get_property_value(card, "SOUND_FORM_FACTOR")) && *v)
|
||||
pa_proplist_sets(p, PA_PROP_DEVICE_FORM_FACTOR, v);
|
||||
|
||||
/* This is normaly not set by the udev rules but may be useful to
|
||||
/* This is normally not set by the udev rules but may be useful to
|
||||
* allow administrators to overwrite the device description.*/
|
||||
if (!pa_proplist_contains(p, PA_PROP_DEVICE_DESCRIPTION))
|
||||
if ((v = udev_device_get_property_value(card, "SOUND_DESCRIPTION")) && *v)
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
#include "internal.h"
|
||||
#include "ext-device-restore.h"
|
||||
|
||||
/* Protocol extention commands */
|
||||
/* Protocol extension commands */
|
||||
enum {
|
||||
SUBCOMMAND_TEST,
|
||||
SUBCOMMAND_SUBSCRIBE,
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ static void context_get_sink_info_callback(pa_pdispatch *pd, uint32_t command, u
|
|||
pa_assert(o);
|
||||
pa_assert(PA_REFCNT_VALUE(o) >= 1);
|
||||
|
||||
/* For safety incase someone use fail: outside the while loop below */
|
||||
/* For safety in case someone use fail: outside the while loop below */
|
||||
pa_zero(i);
|
||||
|
||||
if (!o->context)
|
||||
|
|
@ -409,7 +409,7 @@ static void context_get_source_info_callback(pa_pdispatch *pd, uint32_t command,
|
|||
pa_assert(o);
|
||||
pa_assert(PA_REFCNT_VALUE(o) >= 1);
|
||||
|
||||
/* For safety incase someone use fail: outside the while loop below */
|
||||
/* For safety in case someone use fail: outside the while loop below */
|
||||
pa_zero(i);
|
||||
|
||||
if (!o->context)
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ static void stream_unlink(pa_stream *s) {
|
|||
|
||||
/* Detach from context */
|
||||
|
||||
/* Unref all operatio object that point to us */
|
||||
/* Unref all operation object that point to us */
|
||||
for (o = s->context->operations; o; o = n) {
|
||||
n = o->next;
|
||||
|
||||
|
|
@ -1206,7 +1206,7 @@ static int create_stream(
|
|||
PA_CHECK_VALIDITY(s->context, s->context->version >= 12 || !(flags & PA_STREAM_VARIABLE_RATE), PA_ERR_NOTSUPPORTED);
|
||||
PA_CHECK_VALIDITY(s->context, s->context->version >= 13 || !(flags & PA_STREAM_PEAK_DETECT), PA_ERR_NOTSUPPORTED);
|
||||
PA_CHECK_VALIDITY(s->context, s->context->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
|
||||
/* Althought some of the other flags are not supported on older
|
||||
/* Although some of the other flags are not supported on older
|
||||
* version, we don't check for them here, because it doesn't hurt
|
||||
* when they are passed but actually not supported. This makes
|
||||
* client development easier */
|
||||
|
|
@ -1804,7 +1804,7 @@ static void stream_get_timing_info_callback(pa_pdispatch *pd, uint32_t command,
|
|||
|
||||
pa_gettimeofday(&now);
|
||||
|
||||
/* Calculcate timestamps */
|
||||
/* Calculate timestamps */
|
||||
if (pa_timeval_cmp(&local, &remote) <= 0 && pa_timeval_cmp(&remote, &now) <= 0) {
|
||||
/* local and remote seem to have synchronized clocks */
|
||||
|
||||
|
|
@ -2660,7 +2660,7 @@ pa_operation* pa_stream_set_buffer_attr(pa_stream *s, const pa_buffer_attr *attr
|
|||
pa_pstream_send_tagstruct(s->context->pstream, t);
|
||||
pa_pdispatch_register_reply(s->context->pdispatch, tag, DEFAULT_TIMEOUT, stream_set_buffer_attr_callback, pa_operation_ref(o), (pa_free_cb_t) pa_operation_unref);
|
||||
|
||||
/* This might cause changes in the read/write indexex, hence let's
|
||||
/* This might cause changes in the read/write index, hence let's
|
||||
* request a timing update */
|
||||
request_auto_timing_update(s, TRUE);
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ pa_usec_t pa_timeval_diff(const struct timeval *a, const struct timeval *b) {
|
|||
pa_assert(a);
|
||||
pa_assert(b);
|
||||
|
||||
/* Check which whan is the earlier time and swap the two arguments if required. */
|
||||
/* Check which is the earlier time and swap the two arguments if required. */
|
||||
if (PA_UNLIKELY(pa_timeval_cmp(a, b) < 0)) {
|
||||
const struct timeval *c;
|
||||
c = a;
|
||||
|
|
|
|||
|
|
@ -288,7 +288,7 @@ static inline int pa_atomic_ptr_cmpxchg(pa_atomic_ptr_t *a, void *old_p, void* n
|
|||
|
||||
#warn "The native atomic operations implementation for AMD64 has not been tested thoroughly. libatomic_ops is known to not work properly on AMD64 and your gcc version is too old for the gcc-builtin atomic ops support. You have three options now: test the native atomic operations implementation for AMD64, fix libatomic_ops, or upgrade your GCC."
|
||||
|
||||
/* Addapted from glibc */
|
||||
/* Adapted from glibc */
|
||||
|
||||
typedef struct pa_atomic {
|
||||
volatile int value;
|
||||
|
|
@ -491,7 +491,7 @@ static inline pa_bool_t pa_atomic_ptr_cmpxchg(pa_atomic_ptr_t *a, void *old_p, v
|
|||
/* See file arch/arm/kernel/entry-armv.S in your kernel sources for more
|
||||
information about these functions. The arm kernel helper functions first
|
||||
appeared in 2.6.16.
|
||||
Apply --disable-atomic-arm-linux-helpers flag to confugure if you prefere
|
||||
Apply --disable-atomic-arm-linux-helpers flag to configure if you prefer
|
||||
inline asm implementation or you have an obsolete Linux kernel.
|
||||
*/
|
||||
/* Memory barrier */
|
||||
|
|
|
|||
|
|
@ -47,10 +47,10 @@ unsigned pa_aupdate_write_swap(pa_aupdate *a);
|
|||
/*
|
||||
* This infrastructure allows lock-free updates of arbitrary data
|
||||
* structures in an rcu'ish way: two copies of the data structure
|
||||
* should be exisiting. One side ('the reader') has read access to one
|
||||
* should be existing. One side ('the reader') has read access to one
|
||||
* of the two data structure at a time. It does not have to lock it,
|
||||
* however it needs to signal that it is using it/stopped using
|
||||
* it. The other side ('the writer') modifes the second data structure,
|
||||
* it. The other side ('the writer') modifies the second data structure,
|
||||
* and then atomically swaps the two data structures, followed by a
|
||||
* modification of the other one.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ static int generate(int fd, void *ret_data, size_t length) {
|
|||
#define O_BINARY 0
|
||||
#endif
|
||||
|
||||
/* Load an euthorization cookie from file fn and store it in data. If
|
||||
/* Load an authorization cookie from file fn and store it in data. If
|
||||
* the cookie file doesn't exist, create it */
|
||||
static int load(const char *fn, void *data, size_t length) {
|
||||
int fd = -1;
|
||||
|
|
|
|||
|
|
@ -1784,7 +1784,7 @@ int pa_cli_command_execute_line_stateful(pa_core *c, const char *s, pa_strbuf *b
|
|||
if (filename[0] == PA_PATH_SEP_CHAR) {
|
||||
|
||||
*ifstate = access(filename, F_OK) == 0 ? IFSTATE_TRUE : IFSTATE_FALSE;
|
||||
pa_log_debug("Checking for existance of '%s': %s", filename, *ifstate == IFSTATE_TRUE ? "success" : "failure");
|
||||
pa_log_debug("Checking for existence of '%s': %s", filename, *ifstate == IFSTATE_TRUE ? "success" : "failure");
|
||||
|
||||
} else {
|
||||
const char *paths, *state = NULL;
|
||||
|
|
@ -1800,7 +1800,7 @@ int pa_cli_command_execute_line_stateful(pa_core *c, const char *s, pa_strbuf *b
|
|||
pa_xfree(p);
|
||||
|
||||
*ifstate = access(pathname, F_OK) == 0 ? IFSTATE_TRUE : IFSTATE_FALSE;
|
||||
pa_log_debug("Checking for existance of '%s': %s", pathname, *ifstate == IFSTATE_TRUE ? "success" : "failure");
|
||||
pa_log_debug("Checking for existence of '%s': %s", pathname, *ifstate == IFSTATE_TRUE ? "success" : "failure");
|
||||
|
||||
pa_xfree(pathname);
|
||||
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ static void dump_event(const char * prefix, pa_subscription_event*e) {
|
|||
}
|
||||
#endif
|
||||
|
||||
/* Deferred callback for dispatching subscirption events */
|
||||
/* Deferred callback for dispatching subscription events */
|
||||
static void defer_cb(pa_mainloop_api *m, pa_defer_event *de, void *userdata) {
|
||||
pa_core *c = userdata;
|
||||
pa_subscription *s;
|
||||
|
|
@ -208,7 +208,7 @@ void pa_subscription_post(pa_core *c, pa_subscription_event_type_t t, uint32_t i
|
|||
pa_subscription_event *e;
|
||||
pa_assert(c);
|
||||
|
||||
/* No need for queuing subscriptions of noone is listening */
|
||||
/* No need for queuing subscriptions of no one is listening */
|
||||
if (!c->subscriptions)
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -891,7 +891,7 @@ int pa_match(const char *expr, const char *v) {
|
|||
int pa_parse_boolean(const char *v) {
|
||||
pa_assert(v);
|
||||
|
||||
/* First we check language independant */
|
||||
/* First we check language independent */
|
||||
if (!strcmp(v, "1") || v[0] == 'y' || v[0] == 'Y' || v[0] == 't' || v[0] == 'T' || !strcasecmp(v, "on"))
|
||||
return 1;
|
||||
else if (!strcmp(v, "0") || v[0] == 'n' || v[0] == 'N' || v[0] == 'f' || v[0] == 'F' || !strcasecmp(v, "off"))
|
||||
|
|
@ -900,7 +900,7 @@ int pa_parse_boolean(const char *v) {
|
|||
#ifdef HAVE_LANGINFO_H
|
||||
{
|
||||
const char *expr;
|
||||
/* And then we check language dependant */
|
||||
/* And then we check language dependent */
|
||||
if ((expr = nl_langinfo(YESEXPR)))
|
||||
if (expr[0])
|
||||
if (pa_match(expr, v) > 0)
|
||||
|
|
@ -920,7 +920,7 @@ int pa_parse_boolean(const char *v) {
|
|||
/* Split the specified string wherever one of the strings in delimiter
|
||||
* occurs. Each time it is called returns a newly allocated string
|
||||
* with pa_xmalloc(). The variable state points to, should be
|
||||
* initiallized to NULL before the first call. */
|
||||
* initialized to NULL before the first call. */
|
||||
char *pa_split(const char *c, const char *delimiter, const char**state) {
|
||||
const char *current = *state ? *state : c;
|
||||
size_t l;
|
||||
|
|
@ -1150,7 +1150,7 @@ finish:
|
|||
return r;
|
||||
}
|
||||
|
||||
/* Check whether the specifc user id is a member of the specified group */
|
||||
/* Check whether the specific user id is a member of the specified group */
|
||||
int pa_uid_in_group(uid_t uid, const char *name) {
|
||||
struct group *group = NULL;
|
||||
char **i;
|
||||
|
|
@ -1186,7 +1186,7 @@ finish:
|
|||
return r;
|
||||
}
|
||||
|
||||
/* Get the GID of a gfiven group, return (gid_t) -1 on failure. */
|
||||
/* Get the GID of a given group, return (gid_t) -1 on failure. */
|
||||
gid_t pa_get_gid_of_group(const char *name) {
|
||||
gid_t ret = (gid_t) -1;
|
||||
struct group *gr = NULL;
|
||||
|
|
@ -1260,7 +1260,7 @@ int pa_lock_fd(int fd, int b) {
|
|||
if (fcntl(fd, F_SETLKW, &f_lock) >= 0)
|
||||
return 0;
|
||||
|
||||
/* Perhaps the file descriptor qas opened for read only, than try again with a read lock. */
|
||||
/* Perhaps the file descriptor was opened for read only, than try again with a read lock. */
|
||||
if (b && errno == EBADF) {
|
||||
f_lock.l_type = F_RDLCK;
|
||||
if (fcntl(fd, F_SETLKW, &f_lock) >= 0)
|
||||
|
|
@ -1371,7 +1371,7 @@ fail:
|
|||
return -1;
|
||||
}
|
||||
|
||||
/* Unlock a temporary lcok file */
|
||||
/* Unlock a temporary lock file */
|
||||
int pa_unlock_lockfile(const char *fn, int fd) {
|
||||
int r = 0;
|
||||
pa_assert(fd >= 0);
|
||||
|
|
@ -1569,7 +1569,7 @@ char *pa_get_runtime_dir(void) {
|
|||
mode_t m;
|
||||
|
||||
/* The runtime directory shall contain dynamic data that needs NOT
|
||||
* to be kept accross reboots and is usuallly private to the user,
|
||||
* to be kept across reboots and is usually private to the user,
|
||||
* except in system mode, where it might be accessible by other
|
||||
* users, too. Since we need POSIX locking and UNIX sockets in
|
||||
* this directory, we link it to a random subdir in /tmp, if it
|
||||
|
|
@ -1606,8 +1606,7 @@ char *pa_get_runtime_dir(void) {
|
|||
pa_xfree(mid);
|
||||
|
||||
for (;;) {
|
||||
/* OK, first let's check if the "runtime" symlink is already
|
||||
* existant */
|
||||
/* OK, first let's check if the "runtime" symlink already exists */
|
||||
|
||||
if (!(p = pa_readlink(k))) {
|
||||
|
||||
|
|
@ -1691,7 +1690,7 @@ char *pa_get_runtime_dir(void) {
|
|||
pa_xfree(t);
|
||||
t = NULL;
|
||||
|
||||
/* Hmm, someone lese was quicker then us. Let's give
|
||||
/* Hmm, someone else was quicker then us. Let's give
|
||||
* him some time to finish, and retry. */
|
||||
pa_msleep(10);
|
||||
continue;
|
||||
|
|
@ -2873,7 +2872,7 @@ char *pa_realpath(const char *path) {
|
|||
char *t;
|
||||
pa_assert(path);
|
||||
|
||||
/* We want only abolsute paths */
|
||||
/* We want only absolute paths */
|
||||
if (path[0] != '/') {
|
||||
errno = EINVAL;
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ unsigned pa_ncpus(void);
|
|||
char *pa_replace(const char*s, const char*a, const char *b);
|
||||
|
||||
/* Escapes p by inserting backslashes in front of backslashes. chars is a
|
||||
* regular (ie. NULL-terminated) string containing additional characters that
|
||||
* regular (i.e. NULL-terminated) string containing additional characters that
|
||||
* should be escaped. chars can be NULL. The caller has to free the returned
|
||||
* string. */
|
||||
char *pa_escape(const char *p, const char *chars);
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ enum {
|
|||
|
||||
pa_core* pa_core_new(pa_mainloop_api *m, pa_bool_t shared, size_t shm_size);
|
||||
|
||||
/* Check whether noone is connected to this core */
|
||||
/* Check whether no one is connected to this core */
|
||||
void pa_core_check_idle(pa_core *c);
|
||||
|
||||
int pa_core_exit(pa_core *c, pa_bool_t force, int retval);
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ pa_database* pa_database_open(const char *fn, pa_bool_t for_write) {
|
|||
pa_assert(fn);
|
||||
|
||||
/* We include the host identifier in the file name because gdbm
|
||||
* files are CPU dependant, and we don't want things to go wrong
|
||||
* files are CPU dependent, and we don't want things to go wrong
|
||||
* if we are on a multiarch system. */
|
||||
path = pa_sprintf_malloc("%s."CANONICAL_HOST".gdbm", fn);
|
||||
errno = 0;
|
||||
|
|
|
|||
|
|
@ -311,7 +311,7 @@ int pa_database_set(pa_database *database, const pa_datum *key, const pa_datum*
|
|||
r = pa_hashmap_remove(db->map, key);
|
||||
pa_hashmap_put(db->map, &e->key, e);
|
||||
} else {
|
||||
/* wont't overwrite, so clean new entry */
|
||||
/* won't overwrite, so clean new entry */
|
||||
r = e;
|
||||
ret = -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
/* A little abstraction over simple databases, such as gdbm, tdb, and
|
||||
* so on. We only make minimal assumptions about the supported
|
||||
* backend: it does not need to support locking, it does not have to
|
||||
* be arch independant. */
|
||||
* be arch independent. */
|
||||
|
||||
typedef struct pa_database pa_database;
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
/*************************************/
|
||||
/* what can we do to/with the EsounD */
|
||||
enum esd_proto {
|
||||
ESD_PROTO_CONNECT, /* implied on inital client connection */
|
||||
ESD_PROTO_CONNECT, /* implied on initial client connection */
|
||||
|
||||
/* pseudo "security" functionality */
|
||||
ESD_PROTO_LOCK, /* disable "foreign" client connections */
|
||||
|
|
@ -72,7 +72,7 @@ enum esd_proto {
|
|||
ESD_PROTO_SAMPLE_PLAY, /* play a cached sample */
|
||||
ESD_PROTO_SAMPLE_LOOP, /* loop a cached sample, til eoloop */
|
||||
ESD_PROTO_SAMPLE_STOP, /* stop a looping sample when done */
|
||||
ESD_PROTO_SAMPLE_KILL, /* stop the looping sample immed. */
|
||||
ESD_PROTO_SAMPLE_KILL, /* stop the looping sample immediately */
|
||||
|
||||
/* free and reclaim /dev/dsp functionality */
|
||||
ESD_PROTO_STANDBY, /* release /dev/dsp and ignore all data */
|
||||
|
|
@ -194,7 +194,7 @@ typedef int esd_standby_mode_t;
|
|||
enum esd_client_state {
|
||||
ESD_STREAMING_DATA, /* data from here on is streamed data */
|
||||
ESD_CACHING_SAMPLE, /* midway through caching a sample */
|
||||
ESD_NEEDS_REQDATA, /* more data needed to complere request */
|
||||
ESD_NEEDS_REQDATA, /* more data needed to complete request */
|
||||
ESD_NEXT_REQUEST, /* proceed to next request */
|
||||
ESD_CLIENT_STATE_MAX /* place holder */
|
||||
};
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ void pa_flist_free(pa_flist *l, pa_free_cb_t free_cb);
|
|||
int pa_flist_push(pa_flist*l, void *p);
|
||||
void* pa_flist_pop(pa_flist*l);
|
||||
|
||||
/* Please not that the destructor stuff is not really necesary, we do
|
||||
/* Please note that the destructor stuff is not really necessary, we do
|
||||
* this just to make valgrind output more useful. */
|
||||
|
||||
#define PA_STATIC_FLIST_DECLARE(name, size, free_cb) \
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
#include <pulsecore/macro.h>
|
||||
|
||||
/* A wrapper around UNIX file descriptors for attaching them to the a
|
||||
main event loop. Everytime new data may be read or be written to
|
||||
main event loop. Every time new data may be read or be written to
|
||||
the channel a callback function is called. It is safe to destroy
|
||||
the calling iochannel object from the callback */
|
||||
|
||||
|
|
@ -63,7 +63,7 @@ pa_bool_t pa_iochannel_is_readable(pa_iochannel*io);
|
|||
pa_bool_t pa_iochannel_is_writable(pa_iochannel*io);
|
||||
pa_bool_t pa_iochannel_is_hungup(pa_iochannel*io);
|
||||
|
||||
/* Don't close the file descirptors when the io channel is freed. By
|
||||
/* Don't close the file descriptors when the io channel is freed. By
|
||||
* default the file descriptors are closed. */
|
||||
void pa_iochannel_set_noclose(pa_iochannel*io, pa_bool_t b);
|
||||
|
||||
|
|
@ -74,7 +74,7 @@ void pa_iochannel_set_callback(pa_iochannel*io, pa_iochannel_cb_t callback, void
|
|||
/* In case the file descriptor is a socket, return a pretty-printed string in *s which describes the peer connected */
|
||||
void pa_iochannel_socket_peer_to_string(pa_iochannel*io, char*s, size_t l);
|
||||
|
||||
/* Use setsockopt() to tune the recieve and send buffers of TCP sockets */
|
||||
/* Use setsockopt() to tune the receive and send buffers of TCP sockets */
|
||||
int pa_iochannel_socket_set_rcvbuf(pa_iochannel*io, size_t l);
|
||||
int pa_iochannel_socket_set_sndbuf(pa_iochannel*io, size_t l);
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
#include <pulsecore/iochannel.h>
|
||||
|
||||
/* An ioline wraps an iochannel for line based communication. A
|
||||
* callback function is called whenever a new line has been recieved
|
||||
* callback function is called whenever a new line has been received
|
||||
* from the client */
|
||||
|
||||
typedef struct pa_ioline pa_ioline;
|
||||
|
|
@ -46,7 +46,7 @@ void pa_ioline_puts(pa_ioline *s, const char *c);
|
|||
/* Write a string to the channel */
|
||||
void pa_ioline_printf(pa_ioline *s, const char *format, ...) PA_GCC_PRINTF_ATTR(2,3);
|
||||
|
||||
/* Set the callback function that is called for every recieved line */
|
||||
/* Set the callback function that is called for every received line */
|
||||
void pa_ioline_set_callback(pa_ioline*io, pa_ioline_cb_t callback, void *userdata);
|
||||
|
||||
/* Set the callback function that is called when everything has been written */
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ typedef enum pa_log_flags {
|
|||
PA_LOG_COLORS = 0x01, /* Show colorful output */
|
||||
PA_LOG_PRINT_TIME = 0x02, /* Show time */
|
||||
PA_LOG_PRINT_FILE = 0x04, /* Show source file */
|
||||
PA_LOG_PRINT_META = 0x08, /* Show extended locaton information */
|
||||
PA_LOG_PRINT_META = 0x08, /* Show extended location information */
|
||||
PA_LOG_PRINT_LEVEL = 0x10, /* Show log level prefix */
|
||||
} pa_log_flags_t;
|
||||
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ int pa_mcalign_pop(pa_mcalign *m, pa_memchunk *c) {
|
|||
if (m->current.length == 0)
|
||||
pa_memblock_unref(m->current.memblock);
|
||||
else {
|
||||
/* Move the raimainder to leftover */
|
||||
/* Move the remainder to leftover */
|
||||
pa_assert(m->current.length < m->base && !m->leftover.memblock);
|
||||
|
||||
m->leftover = m->current;
|
||||
|
|
|
|||
|
|
@ -873,7 +873,7 @@ pa_bool_t pa_mempool_is_shared(pa_mempool *p) {
|
|||
return !!p->memory.shared;
|
||||
}
|
||||
|
||||
/* For recieving blocks from other nodes */
|
||||
/* For receiving blocks from other nodes */
|
||||
pa_memimport* pa_memimport_new(pa_mempool *p, pa_memimport_release_cb_t cb, void *userdata) {
|
||||
pa_memimport *i;
|
||||
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ int pa_mempool_get_shm_id(pa_mempool *p, uint32_t *id);
|
|||
pa_bool_t pa_mempool_is_shared(pa_mempool *p);
|
||||
size_t pa_mempool_block_size_max(pa_mempool *p);
|
||||
|
||||
/* For recieving blocks from other nodes */
|
||||
/* For receiving blocks from other nodes */
|
||||
pa_memimport* pa_memimport_new(pa_mempool *p, pa_memimport_release_cb_t cb, void *userdata);
|
||||
void pa_memimport_free(pa_memimport *i);
|
||||
pa_memblock* pa_memimport_get(pa_memimport *i, uint32_t block_id, uint32_t shm_id, size_t offset, size_t size);
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@ int pa_memblockq_push(pa_memblockq* bq, const pa_memchunk *uchunk) {
|
|||
struct list_item *p;
|
||||
size_t d;
|
||||
|
||||
/* Create a new list entry for the end of thie memchunk */
|
||||
/* Create a new list entry for the end of the memchunk */
|
||||
if (!(p = pa_flist_pop(PA_STATIC_FLIST_GET(list_items))))
|
||||
p = pa_xnew(struct list_item, 1);
|
||||
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ typedef struct pa_memblockq pa_memblockq;
|
|||
|
||||
- maxrewind: how many bytes of history to keep in the queue
|
||||
|
||||
- silence: return this memchunk when reading unitialized data
|
||||
- silence: return this memchunk when reading uninitialized data
|
||||
*/
|
||||
pa_memblockq* pa_memblockq_new(
|
||||
int64_t idx,
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ typedef struct pa_memchunk {
|
|||
* specified size, i.e. is enlarged if necessary. */
|
||||
pa_memchunk* pa_memchunk_make_writable(pa_memchunk *c, size_t min);
|
||||
|
||||
/* Invalidate a memchunk. This does not free the cotaining memblock,
|
||||
/* Invalidate a memchunk. This does not free the containing memblock,
|
||||
* but sets all members to zero. */
|
||||
pa_memchunk* pa_memchunk_reset(pa_memchunk *c);
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ int pa_modargs_get_proplist(pa_modargs *ma, const char *name, pa_proplist *p, pa
|
|||
* state variable of type void* and initialize it with NULL. A pointer
|
||||
* to this variable should then be passed to pa_modargs_iterate()
|
||||
* which should be called in a loop until it returns NULL which
|
||||
* signifies EOL. On each invication this function will return the
|
||||
* signifies EOL. On each invocation this function will return the
|
||||
* key string for the next entry. The keys in the argument list do not
|
||||
* have any particular order. */
|
||||
const char *pa_modargs_iterate(pa_modargs *ma, void **state);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
typedef struct pa_mutex pa_mutex;
|
||||
|
||||
/* Please think twice before enabling priority inheritance. This is no
|
||||
* magic wand! Use it only when the potentially priorized threads are
|
||||
* magic wand! Use it only when the potentially prioritized threads are
|
||||
* good candidates for it. Don't use this blindly! Also, note that
|
||||
* only very few operating systems actually implement this, hence this
|
||||
* is merely a hint. */
|
||||
|
|
|
|||
|
|
@ -320,7 +320,7 @@ fail:
|
|||
}
|
||||
|
||||
/* Check whether the daemon is currently running, i.e. if a PID file
|
||||
* exists and the PID therein too. Returns 0 on succcess, -1
|
||||
* exists and the PID therein too. Returns 0 on success, -1
|
||||
* otherwise. If pid is non-NULL and a running daemon was found,
|
||||
* return its PID therein */
|
||||
int pa_pid_file_check_running(pid_t *pid, const char *procname) {
|
||||
|
|
|
|||
|
|
@ -44,13 +44,13 @@ pa_prioq_item* pa_prioq_put(pa_prioq *q, void* data);
|
|||
/* Get the item on the top of the queue, but don't remove it from the queue*/
|
||||
void* pa_prioq_peek(pa_prioq*q);
|
||||
|
||||
/* Get the item on the top of the queue, and remove it from thq queue */
|
||||
/* Get the item on the top of the queue, and remove it from the queue */
|
||||
void* pa_prioq_pop(pa_prioq*q);
|
||||
|
||||
/* Remove an arbitrary from theq prioq, returning it's data */
|
||||
/* Remove an arbitrary from the prioq, returning it's data */
|
||||
void* pa_prioq_remove(pa_prioq*q, pa_prioq_item *i);
|
||||
|
||||
/* The priority of an item was modified. Adjustthe queue to that */
|
||||
/* The priority of an item was modified. Adjust the queue to that */
|
||||
void pa_prioq_reshuffle(pa_prioq *q, pa_prioq_item *i);
|
||||
|
||||
/* Return the current number of items in the prioq */
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ enum find_result_t {
|
|||
* mode doesn't match the call. */
|
||||
PROPERTY_ACCESS_DENIED,
|
||||
|
||||
/* The new value signature of a .Set call didn't match the expexted
|
||||
/* The new value signature of a .Set call didn't match the expected
|
||||
* signature. */
|
||||
INVALID_PROPERTY_SIG,
|
||||
|
||||
|
|
|
|||
|
|
@ -1019,7 +1019,7 @@ static int do_read(connection *c) {
|
|||
c->request = PA_MAYBE_INT32_SWAP(c->swap_byte_order, c->request);
|
||||
|
||||
if (c->request < ESD_PROTO_CONNECT || c->request >= ESD_PROTO_MAX) {
|
||||
pa_log("recieved invalid request.");
|
||||
pa_log("received invalid request.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -1028,7 +1028,7 @@ static int do_read(connection *c) {
|
|||
/* pa_log("executing request #%u", c->request); */
|
||||
|
||||
if (!handler->proc) {
|
||||
pa_log("recieved unimplemented request #%u.", c->request);
|
||||
pa_log("received unimplemented request #%u.", c->request);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -953,9 +953,9 @@ static void fix_playback_buffer_attr(playback_stream *s) {
|
|||
* half the latency will be spent on the hw buffer, the other
|
||||
* half of it in the async buffer queue we maintain for each
|
||||
* client. In between we'll have a safety space of size
|
||||
* 2*minreq. Why the 2*minreq? When the hw buffer is completey
|
||||
* 2*minreq. Why the 2*minreq? When the hw buffer is completely
|
||||
* empty and needs to be filled, then our buffer must have
|
||||
* enough data to fulfill this request immediatly and thus
|
||||
* enough data to fulfill this request immediately and thus
|
||||
* have at least the same tlength as the size of the hw
|
||||
* buffer. It additionally needs space for 2 times minreq
|
||||
* because if the buffer ran empty and a partial fillup
|
||||
|
|
@ -1110,7 +1110,7 @@ static playback_stream* playback_stream_new(
|
|||
pa_sink_input_new_data_set_channel_map(&data, map);
|
||||
if (formats) {
|
||||
pa_sink_input_new_data_set_formats(&data, formats);
|
||||
/* Ownership transferred to new_data, so we don't free it ourseleves */
|
||||
/* Ownership transferred to new_data, so we don't free it ourselves */
|
||||
formats = NULL;
|
||||
}
|
||||
if (volume) {
|
||||
|
|
@ -1385,7 +1385,7 @@ static void handle_seek(playback_stream *s, int64_t indexw) {
|
|||
|
||||
if (indexw < indexr) {
|
||||
/* OK, the sink already asked for this data, so
|
||||
* let's have it usk us again */
|
||||
* let's have it ask us again */
|
||||
|
||||
pa_log_debug("Requesting rewind due to rewrite.");
|
||||
pa_sink_input_request_rewind(s->sink_input, (size_t) (indexr - indexw), TRUE, FALSE, FALSE);
|
||||
|
|
@ -2099,7 +2099,7 @@ static void command_create_playback_stream(pa_pdispatch *pd, uint32_t command, u
|
|||
(fail_on_suspend ? PA_SINK_INPUT_NO_CREATE_ON_SUSPEND|PA_SINK_INPUT_KILL_ON_SUSPEND : 0) |
|
||||
(passthrough ? PA_SINK_INPUT_PASSTHROUGH : 0);
|
||||
|
||||
/* Only since protocol version 15 there's a seperate muted_set
|
||||
/* Only since protocol version 15 there's a separate muted_set
|
||||
* flag. For older versions we synthesize it here */
|
||||
muted_set = muted_set || muted;
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ enum {
|
|||
enum {
|
||||
CONNECTION_MESSAGE_REQUEST_DATA, /* data requested from sink input from the main loop */
|
||||
CONNECTION_MESSAGE_POST_DATA, /* data from source output to main loop */
|
||||
CONNECTION_MESSAGE_UNLINK_CONNECTION /* Please drop a aconnection now */
|
||||
CONNECTION_MESSAGE_UNLINK_CONNECTION /* Please drop the connection now */
|
||||
};
|
||||
|
||||
#define PLAYBACK_BUFFER_SECONDS (.5)
|
||||
|
|
|
|||
|
|
@ -645,7 +645,7 @@ static void calc_map_table(pa_resampler *r) {
|
|||
* volume will not match, and the two channels will be a
|
||||
* linear combination of both.
|
||||
*
|
||||
* This is losely based on random suggestions found on the
|
||||
* This is loosely based on random suggestions found on the
|
||||
* Internet, such as this:
|
||||
* http://www.halfgaar.net/surround-sound-in-linux and the
|
||||
* alsa upmix plugin.
|
||||
|
|
@ -840,7 +840,7 @@ static void calc_map_table(pa_resampler *r) {
|
|||
/* OK, so there are unconnected input channels on the
|
||||
* left. Let's multiply all already connected channels on
|
||||
* the left side by .9 and add in our averaged unconnected
|
||||
* channels multplied by .1 */
|
||||
* channels multiplied by .1 */
|
||||
|
||||
for (oc = 0; oc < n_oc; oc++) {
|
||||
|
||||
|
|
@ -865,7 +865,7 @@ static void calc_map_table(pa_resampler *r) {
|
|||
/* OK, so there are unconnected input channels on the
|
||||
* right. Let's multiply all already connected channels on
|
||||
* the right side by .9 and add in our averaged unconnected
|
||||
* channels multplied by .1 */
|
||||
* channels multiplied by .1 */
|
||||
|
||||
for (oc = 0; oc < n_oc; oc++) {
|
||||
|
||||
|
|
@ -891,7 +891,7 @@ static void calc_map_table(pa_resampler *r) {
|
|||
/* OK, so there are unconnected input channels on the
|
||||
* center. Let's multiply all already connected channels on
|
||||
* the center side by .9 and add in our averaged unconnected
|
||||
* channels multplied by .1 */
|
||||
* channels multiplied by .1 */
|
||||
|
||||
for (oc = 0; oc < n_oc; oc++) {
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ typedef struct pa_rtpoll pa_rtpoll;
|
|||
typedef struct pa_rtpoll_item pa_rtpoll_item;
|
||||
|
||||
typedef enum pa_rtpoll_priority {
|
||||
PA_RTPOLL_EARLY = -100, /* For veeery important stuff, like handling control messages */
|
||||
PA_RTPOLL_EARLY = -100, /* For very important stuff, like handling control messages */
|
||||
PA_RTPOLL_NORMAL = 0, /* For normal stuff */
|
||||
PA_RTPOLL_LATE = +100, /* For housekeeping */
|
||||
PA_RTPOLL_NEVER = INT_MAX, /* For stuff that doesn't register any callbacks, but only fds to listen on */
|
||||
|
|
@ -88,13 +88,12 @@ struct pollfd *pa_rtpoll_item_get_pollfd(pa_rtpoll_item *i, unsigned *n_fds);
|
|||
|
||||
/* Set the callback that shall be called when there's time to do some work: If the
|
||||
* callback returns a value > 0, the poll is skipped and the next
|
||||
* iteraton of the loop will start immediately. */
|
||||
* iteration of the loop will start immediately. */
|
||||
void pa_rtpoll_item_set_work_callback(pa_rtpoll_item *i, int (*work_cb)(pa_rtpoll_item *i));
|
||||
|
||||
/* Set the callback that shall be called immediately before entering
|
||||
* the sleeping poll: If the callback returns a value > 0, the poll is
|
||||
* skipped and the next iteraton of the loop will start
|
||||
* immediately.. */
|
||||
* skipped and the next iteration of the loop will start immediately. */
|
||||
void pa_rtpoll_item_set_before_callback(pa_rtpoll_item *i, int (*before_cb)(pa_rtpoll_item *i));
|
||||
|
||||
/* Set the callback that shall be called immediately after having
|
||||
|
|
|
|||
|
|
@ -231,7 +231,7 @@ size_t pa_mix(
|
|||
/* Multiplying the 32bit volume factor with the
|
||||
* 16bit sample might result in an 48bit value. We
|
||||
* want to do without 64 bit integers and hence do
|
||||
* the multiplication independantly for the HI and
|
||||
* the multiplication independently for the HI and
|
||||
* LO part of the volume. */
|
||||
|
||||
hi = cv >> 16;
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@
|
|||
/* We now put this SHM marker at the end of each segment. It's
|
||||
* optional, to not require a reboot when upgrading, though. Note that
|
||||
* on multiarch systems 32bit and 64bit processes might access this
|
||||
* region simultaneously. The header fields need to be independant
|
||||
* region simultaneously. The header fields need to be independent
|
||||
* from the process' word with */
|
||||
struct shm_marker {
|
||||
pa_atomic_t marker; /* 0xbeefcafe */
|
||||
|
|
|
|||
|
|
@ -144,11 +144,11 @@ struct pa_sink_input {
|
|||
* changes. Called from IO context. */
|
||||
void (*update_sink_requested_latency) (pa_sink_input *i); /* may be NULL */
|
||||
|
||||
/* Called whenver the latency range of the sink changes. Called
|
||||
/* Called whenever the latency range of the sink changes. Called
|
||||
* from IO context. */
|
||||
void (*update_sink_latency_range) (pa_sink_input *i); /* may be NULL */
|
||||
|
||||
/* Called whenver the fixed latency of the sink changes, if there
|
||||
/* Called whenever the fixed latency of the sink changes, if there
|
||||
* is one. Called from IO context. */
|
||||
void (*update_sink_fixed_latency) (pa_sink_input *i); /* may be NULL */
|
||||
|
||||
|
|
@ -183,7 +183,7 @@ struct pa_sink_input {
|
|||
* context. */
|
||||
void (*kill) (pa_sink_input *i); /* may NOT be NULL */
|
||||
|
||||
/* Return the current latency (i.e. length of bufferd audio) of
|
||||
/* Return the current latency (i.e. length of buffered audio) of
|
||||
this stream. Called from main context. This is added to what the
|
||||
PA_SINK_INPUT_MESSAGE_GET_LATENCY message sent to the IO thread
|
||||
returns */
|
||||
|
|
@ -368,7 +368,7 @@ int pa_sink_input_move_to(pa_sink_input *i, pa_sink *dest, pa_bool_t save);
|
|||
pa_bool_t pa_sink_input_may_move(pa_sink_input *i); /* may this sink input move at all? */
|
||||
pa_bool_t pa_sink_input_may_move_to(pa_sink_input *i, pa_sink *dest); /* may this sink input move to this sink? */
|
||||
|
||||
/* The same as pa_sink_input_move_to() but in two seperate steps,
|
||||
/* The same as pa_sink_input_move_to() but in two separate steps,
|
||||
* first the detaching from the old sink, then the attaching to the
|
||||
* new sink */
|
||||
int pa_sink_input_start_move(pa_sink_input *i);
|
||||
|
|
|
|||
|
|
@ -427,7 +427,7 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {
|
|||
|
||||
s->state = state;
|
||||
|
||||
if (state != PA_SINK_UNLINKED) { /* if we enter UNLINKED state pa_sink_unlink() will fire the apropriate events */
|
||||
if (state != PA_SINK_UNLINKED) { /* if we enter UNLINKED state pa_sink_unlink() will fire the appropriate events */
|
||||
pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_STATE_CHANGED], s);
|
||||
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK | PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
|
||||
}
|
||||
|
|
@ -1782,7 +1782,7 @@ static pa_bool_t update_reference_volume(pa_sink *s, const pa_cvolume *v, const
|
|||
* due to rounding errors. If that happens, we still want to propagate
|
||||
* the changed root sink volume to the sinks connected to the
|
||||
* intermediate sink that didn't change its volume. This theoretical
|
||||
* possiblity is the reason why we have that !(s->flags &
|
||||
* possibility is the reason why we have that !(s->flags &
|
||||
* PA_SINK_SHARE_VOLUME_WITH_MASTER) condition. Probably nobody would
|
||||
* notice even if we returned here FALSE always if
|
||||
* reference_volume_changed is FALSE. */
|
||||
|
|
@ -2155,7 +2155,7 @@ unsigned pa_sink_linked_by(pa_sink *s) {
|
|||
ret = pa_idxset_size(s->inputs);
|
||||
|
||||
/* We add in the number of streams connected to us here. Please
|
||||
* note the asymmmetry to pa_sink_used_by()! */
|
||||
* note the asymmetry to pa_sink_used_by()! */
|
||||
|
||||
if (s->monitor_source)
|
||||
ret += pa_source_linked_by(s->monitor_source);
|
||||
|
|
@ -2202,7 +2202,7 @@ unsigned pa_sink_check_suspend(pa_sink *s) {
|
|||
/* We do not assert here. It is perfectly valid for a sink input to
|
||||
* be in the INIT state (i.e. created, marked done but not yet put)
|
||||
* and we should not care if it's unlinked as it won't contribute
|
||||
* towarards our busy status.
|
||||
* towards our busy status.
|
||||
*/
|
||||
if (!PA_SINK_INPUT_IS_LINKED(st))
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ int pa_sndfile_read_channel_map(SNDFILE *sf, pa_channel_map *cm) {
|
|||
|
||||
static const pa_channel_position_t table[] = {
|
||||
[SF_CHANNEL_MAP_MONO] = PA_CHANNEL_POSITION_MONO,
|
||||
[SF_CHANNEL_MAP_LEFT] = PA_CHANNEL_POSITION_FRONT_LEFT, /* libsndfile distuingishes left und front-left, which we don't */
|
||||
[SF_CHANNEL_MAP_LEFT] = PA_CHANNEL_POSITION_FRONT_LEFT, /* libsndfile distinguishes left and front-left, which we don't */
|
||||
[SF_CHANNEL_MAP_RIGHT] = PA_CHANNEL_POSITION_FRONT_RIGHT,
|
||||
[SF_CHANNEL_MAP_CENTER] = PA_CHANNEL_POSITION_FRONT_CENTER,
|
||||
[SF_CHANNEL_MAP_FRONT_LEFT] = PA_CHANNEL_POSITION_FRONT_LEFT,
|
||||
|
|
|
|||
|
|
@ -124,11 +124,11 @@ struct pa_source_output {
|
|||
* changes. Called from IO context. */
|
||||
void (*update_source_requested_latency) (pa_source_output *o); /* may be NULL */
|
||||
|
||||
/* Called whenver the latency range of the source changes. Called
|
||||
/* Called whenever the latency range of the source changes. Called
|
||||
* from IO context. */
|
||||
void (*update_source_latency_range) (pa_source_output *o); /* may be NULL */
|
||||
|
||||
/* Called whenver the fixed latency of the source changes, if there
|
||||
/* Called whenever the fixed latency of the source changes, if there
|
||||
* is one. Called from IO context. */
|
||||
void (*update_source_fixed_latency) (pa_source_output *i); /* may be NULL */
|
||||
|
||||
|
|
@ -163,7 +163,7 @@ struct pa_source_output {
|
|||
* context. */
|
||||
void (*kill)(pa_source_output* o); /* may NOT be NULL */
|
||||
|
||||
/* Return the current latency (i.e. length of bufferd audio) of
|
||||
/* Return the current latency (i.e. length of buffered audio) of
|
||||
this stream. Called from main context. This is added to what the
|
||||
PA_SOURCE_OUTPUT_MESSAGE_GET_LATENCY message sent to the IO thread
|
||||
returns */
|
||||
|
|
@ -306,7 +306,7 @@ size_t pa_source_output_get_max_rewind(pa_source_output *o);
|
|||
|
||||
/* Callable by everyone */
|
||||
|
||||
/* External code may request disconnection with this funcion */
|
||||
/* External code may request disconnection with this function */
|
||||
void pa_source_output_kill(pa_source_output*o);
|
||||
|
||||
pa_usec_t pa_source_output_get_latency(pa_source_output *o, pa_usec_t *source_latency);
|
||||
|
|
@ -329,7 +329,7 @@ pa_bool_t pa_source_output_may_move(pa_source_output *o);
|
|||
pa_bool_t pa_source_output_may_move_to(pa_source_output *o, pa_source *dest);
|
||||
int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t save);
|
||||
|
||||
/* The same as pa_source_output_move_to() but in two seperate steps,
|
||||
/* The same as pa_source_output_move_to() but in two separate steps,
|
||||
* first the detaching from the old source, then the attaching to the
|
||||
* new source */
|
||||
int pa_source_output_start_move(pa_source_output *o);
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@ static int source_set_state(pa_source *s, pa_source_state_t state) {
|
|||
|
||||
s->state = state;
|
||||
|
||||
if (state != PA_SOURCE_UNLINKED) { /* if we enter UNLINKED state pa_source_unlink() will fire the apropriate events */
|
||||
if (state != PA_SOURCE_UNLINKED) { /* if we enter UNLINKED state pa_source_unlink() will fire the appropriate events */
|
||||
pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SOURCE_STATE_CHANGED], s);
|
||||
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE | PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
|
||||
}
|
||||
|
|
@ -1181,7 +1181,7 @@ static void get_maximum_output_volume(pa_source *s, pa_cvolume *max_volume, cons
|
|||
|
||||
/* Ignore this output. The origin source uses volume sharing, so this
|
||||
* output's volume will be set to be equal to the root source's real
|
||||
* volume. Obviously this outputs's current volume must not then
|
||||
* volume. Obviously this output's current volume must not then
|
||||
* affect what the root source's real volume will be. */
|
||||
continue;
|
||||
}
|
||||
|
|
@ -1358,7 +1358,7 @@ static pa_bool_t update_reference_volume(pa_source *s, const pa_cvolume *v, cons
|
|||
* due to rounding errors. If that happens, we still want to propagate
|
||||
* the changed root source volume to the sources connected to the
|
||||
* intermediate source that didn't change its volume. This theoretical
|
||||
* possiblity is the reason why we have that !(s->flags &
|
||||
* possibility is the reason why we have that !(s->flags &
|
||||
* PA_SOURCE_SHARE_VOLUME_WITH_MASTER) condition. Probably nobody would
|
||||
* notice even if we returned here FALSE always if
|
||||
* reference_volume_changed is FALSE. */
|
||||
|
|
@ -1757,7 +1757,7 @@ unsigned pa_source_check_suspend(pa_source *s) {
|
|||
/* We do not assert here. It is perfectly valid for a source output to
|
||||
* be in the INIT state (i.e. created, marked done but not yet put)
|
||||
* and we should not care if it's unlinked as it won't contribute
|
||||
* towarards our busy status.
|
||||
* towards our busy status.
|
||||
*/
|
||||
if (!PA_SOURCE_OUTPUT_IS_LINKED(st))
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ struct pa_source {
|
|||
* inhibited */
|
||||
int (*set_state)(pa_source*source, pa_source_state_t state); /* may be NULL */
|
||||
|
||||
/* Callled when the volume is queried. Called from main loop
|
||||
/* Called when the volume is queried. Called from main loop
|
||||
* context. If this is NULL a PA_SOURCE_MESSAGE_GET_VOLUME message
|
||||
* will be sent to the IO thread instead. If refresh_volume is
|
||||
* FALSE neither this function is called nor a message is sent.
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ pa_strlist* pa_strlist_prepend(pa_strlist *l, const char *s);
|
|||
/* Remove the specified string from the list, return the new linked list head */
|
||||
pa_strlist* pa_strlist_remove(pa_strlist *l, const char *s);
|
||||
|
||||
/* Make a whitespace separated string of all server stringes. Returned memory has to be freed with pa_xfree() */
|
||||
/* Make a whitespace separated string of all server strings. Returned memory has to be freed with pa_xfree() */
|
||||
char *pa_strlist_tostring(pa_strlist *l);
|
||||
|
||||
/* Free the entire list */
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ static void pa_volume_s16ne_c(int16_t *samples, int32_t *volumes, unsigned chann
|
|||
/* Multiplying the 32bit volume factor with the 16bit
|
||||
* sample might result in an 48bit value. We want to
|
||||
* do without 64 bit integers and hence do the
|
||||
* multiplication independantly for the HI and LO part
|
||||
* multiplication independently for the HI and LO part
|
||||
* of the volume. */
|
||||
|
||||
hi = volumes[channel] >> 16;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
* out s: contains scaled and clamped int16_t samples.
|
||||
*
|
||||
* We calculate the high 32 bits of a 32x16 multiply which we then
|
||||
* clamp to 16 bits. The calulcation is:
|
||||
* clamp to 16 bits. The calculation is:
|
||||
*
|
||||
* vl = (v & 0xffff)
|
||||
* vh = (v >> 16)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
* Implementation of a time smoothing algorithm to synchronize remote
|
||||
* clocks to a local one. Evens out noise, adjusts to clock skew and
|
||||
* allows cheap estimations of the remote time while clock updates may
|
||||
* be seldom and recieved in non-equidistant intervals.
|
||||
* be seldom and received in non-equidistant intervals.
|
||||
*
|
||||
* Basically, we estimate the gradient of received clock samples in a
|
||||
* certain history window (of size 'history_time') with linear
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
* towards that point with a 3rd order polynomial interpolation with
|
||||
* fitting derivatives. (more or less a b-spline)
|
||||
*
|
||||
* The larger 'history_time' is chosen the better we will surpress
|
||||
* The larger 'history_time' is chosen the better we will suppress
|
||||
* noise -- but we'll adjust to clock skew slower..
|
||||
*
|
||||
* The larger 'adjust_time' is chosen the smoother our estimation
|
||||
|
|
@ -83,7 +83,7 @@ struct pa_smoother {
|
|||
|
||||
pa_bool_t monotonic:1;
|
||||
pa_bool_t paused:1;
|
||||
pa_bool_t smoothing:1; /* If FALSE we skip the polonyomial interpolation step */
|
||||
pa_bool_t smoothing:1; /* If FALSE we skip the polynomial interpolation step */
|
||||
|
||||
pa_usec_t pause_time;
|
||||
|
||||
|
|
@ -264,7 +264,7 @@ static void calc_abc(pa_smoother *s) {
|
|||
|
||||
pa_assert(ex < px);
|
||||
|
||||
/* To increase the dynamic range and symplify calculation, we
|
||||
/* To increase the dynamic range and simplify calculation, we
|
||||
* move these values to the origin */
|
||||
kx = (int64_t) px - (int64_t) ex;
|
||||
ky = (int64_t) py - (int64_t) ey;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
* int16_t, int32_t, float. The vector type is a union. The fields .i,
|
||||
* .u, .f are arrays for accessing the separate elements of a
|
||||
* vector. .v is a gcc vector type of the right format. .m is the
|
||||
* vector in the type the SIMD extenstion specific intrinsics API
|
||||
* vector in the type the SIMD extension specific intrinsic API
|
||||
* expects. PA_xxx_VECTOR_SIZE is the size of the
|
||||
* entries. PA_xxxx_VECTOR_MAKE constructs a gcc vector variable with
|
||||
* the same value in all elements. */
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ typedef int (*pa_x11_event_cb_t)(pa_x11_wrapper *w, XEvent *e, void *userdata);
|
|||
typedef void (*pa_x11_kill_cb_t)(pa_x11_wrapper *w, void *userdata);
|
||||
|
||||
/* Return the X11 wrapper for this core. In case no wrapper was
|
||||
existant before, allocate a new one */
|
||||
existent before, allocate a new one */
|
||||
pa_x11_wrapper* pa_x11_wrapper_get(pa_core *c, const char *name);
|
||||
|
||||
/* Increase the wrapper's reference count by one */
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ int main(int argc, char *argv[]) {
|
|||
pa_assert(pa_format_info_is_compatible(f1, f2));
|
||||
pa_assert(pa_format_info_is_compatible(f2, f1));
|
||||
|
||||
/* 3. Check int array memebership - negative */
|
||||
/* 3. Check int array membership - negative */
|
||||
REINIT(f2);
|
||||
f2->encoding = PA_ENCODING_AC3_IEC61937;
|
||||
pa_format_info_set_prop_int(f2, PA_PROP_FORMAT_RATE, 96000);
|
||||
|
|
@ -92,7 +92,7 @@ int main(int argc, char *argv[]) {
|
|||
pa_assert(pa_format_info_is_compatible(f1, f2));
|
||||
pa_assert(pa_format_info_is_compatible(f2, f1));
|
||||
|
||||
/* 8. Check string array memebership - negative */
|
||||
/* 8. Check string array membership - negative */
|
||||
REINIT(f2);
|
||||
f2->encoding = PA_ENCODING_AC3_IEC61937;
|
||||
pa_format_info_set_prop_string(f2, "format.test_string", "thing5");
|
||||
|
|
|
|||
|
|
@ -158,13 +158,13 @@ int main(int argc, char *argv[]) {
|
|||
pa_memexport_free(export_a);
|
||||
}
|
||||
|
||||
printf("vaccuuming...\n");
|
||||
printf("vacuuming...\n");
|
||||
|
||||
pa_mempool_vacuum(pool_a);
|
||||
pa_mempool_vacuum(pool_b);
|
||||
pa_mempool_vacuum(pool_c);
|
||||
|
||||
printf("vaccuuming done...\n");
|
||||
printf("vacuuming done...\n");
|
||||
|
||||
pa_mempool_free(pool_a);
|
||||
pa_mempool_free(pool_b);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ int main(int argc, char *argv[]) {
|
|||
unsigned mdn = 0;
|
||||
|
||||
printf("Attenuation of sample 1 against 32767: %g dB\n", 20.0*log10(1.0/32767.0));
|
||||
printf("Smallest possible attenutation > 0 applied to 32767: %li\n", lrint(32767.0*pa_sw_volume_to_linear(1)));
|
||||
printf("Smallest possible attenuation > 0 applied to 32767: %li\n", lrint(32767.0*pa_sw_volume_to_linear(1)));
|
||||
|
||||
for (v = PA_VOLUME_MUTED; v <= PA_VOLUME_NORM*2; v += 256) {
|
||||
|
||||
|
|
|
|||
|
|
@ -577,7 +577,7 @@ static void stdout_callback(pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_eve
|
|||
}
|
||||
}
|
||||
|
||||
/* UNIX signal to quit recieved */
|
||||
/* UNIX signal to quit received */
|
||||
static void exit_signal_callback(pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata) {
|
||||
if (verbose)
|
||||
pa_log(_("Got signal, exiting."));
|
||||
|
|
|
|||
|
|
@ -2341,7 +2341,7 @@ static int dsp_ioctl(fd_info *i, unsigned long request, void*argp, int *_errno)
|
|||
break;
|
||||
|
||||
default:
|
||||
/* Mixer ioctls are valid on /dev/dsp aswell */
|
||||
/* Mixer ioctls are valid on /dev/dsp as well */
|
||||
return mixer_ioctl(i, request, argp, _errno);
|
||||
|
||||
inval:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue