mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
A few minor cleanups and updates
This commit is contained in:
parent
aff7768fb1
commit
e5c093897e
5 changed files with 21 additions and 14 deletions
|
|
@ -599,9 +599,9 @@ static int update_sw_params(struct userdata *u) {
|
||||||
u->hwbuf_unused_frames = (snd_pcm_sframes_t)
|
u->hwbuf_unused_frames = (snd_pcm_sframes_t)
|
||||||
(PA_LIKELY(b < u->hwbuf_size) ?
|
(PA_LIKELY(b < u->hwbuf_size) ?
|
||||||
((u->hwbuf_size - b) / u->frame_size) : 0);
|
((u->hwbuf_size - b) / u->frame_size) : 0);
|
||||||
|
|
||||||
fix_tsched_watermark(u);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fix_tsched_watermark(u);
|
||||||
}
|
}
|
||||||
|
|
||||||
pa_log_debug("hwbuf_unused_frames=%lu", (unsigned long) u->hwbuf_unused_frames);
|
pa_log_debug("hwbuf_unused_frames=%lu", (unsigned long) u->hwbuf_unused_frames);
|
||||||
|
|
|
||||||
|
|
@ -545,9 +545,9 @@ static int update_sw_params(struct userdata *u) {
|
||||||
u->hwbuf_unused_frames = (snd_pcm_sframes_t)
|
u->hwbuf_unused_frames = (snd_pcm_sframes_t)
|
||||||
(PA_LIKELY(b < u->hwbuf_size) ?
|
(PA_LIKELY(b < u->hwbuf_size) ?
|
||||||
((u->hwbuf_size - b) / u->frame_size) : 0);
|
((u->hwbuf_size - b) / u->frame_size) : 0);
|
||||||
|
|
||||||
fix_tsched_watermark(u);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fix_tsched_watermark(u);
|
||||||
}
|
}
|
||||||
|
|
||||||
pa_log_debug("hwbuf_unused_frames=%lu", (unsigned long) u->hwbuf_unused_frames);
|
pa_log_debug("hwbuf_unused_frames=%lu", (unsigned long) u->hwbuf_unused_frames);
|
||||||
|
|
|
||||||
|
|
@ -73,8 +73,6 @@ struct userdata {
|
||||||
pa_thread_mq thread_mq;
|
pa_thread_mq thread_mq;
|
||||||
pa_rtpoll *rtpoll;
|
pa_rtpoll *rtpoll;
|
||||||
|
|
||||||
size_t block_size;
|
|
||||||
|
|
||||||
pa_usec_t block_usec;
|
pa_usec_t block_usec;
|
||||||
pa_usec_t timestamp;
|
pa_usec_t timestamp;
|
||||||
};
|
};
|
||||||
|
|
@ -89,7 +87,13 @@ static const char* const valid_modargs[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offset, pa_memchunk *chunk) {
|
static int sink_process_msg(
|
||||||
|
pa_msgobject *o,
|
||||||
|
int code,
|
||||||
|
void *data,
|
||||||
|
int64_t offset,
|
||||||
|
pa_memchunk *chunk) {
|
||||||
|
|
||||||
struct userdata *u = PA_SINK(o)->userdata;
|
struct userdata *u = PA_SINK(o)->userdata;
|
||||||
|
|
||||||
switch (code) {
|
switch (code) {
|
||||||
|
|
@ -104,7 +108,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
|
||||||
pa_usec_t now;
|
pa_usec_t now;
|
||||||
|
|
||||||
now = pa_rtclock_usec();
|
now = pa_rtclock_usec();
|
||||||
*((pa_usec_t*) data) = u->timestamp > now ? u->timestamp - now : 0;
|
*((pa_usec_t*) data) = u->timestamp > now ? u->timestamp - now : 0ULL;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -117,10 +121,12 @@ static void sink_update_requested_latency_cb(pa_sink *s) {
|
||||||
struct userdata *u;
|
struct userdata *u;
|
||||||
|
|
||||||
pa_sink_assert_ref(s);
|
pa_sink_assert_ref(s);
|
||||||
u = s->userdata;
|
pa_assert_se(u = s->userdata);
|
||||||
pa_assert(u);
|
|
||||||
|
|
||||||
u->block_usec = pa_sink_get_requested_latency_within_thread(s);
|
u->block_usec = pa_sink_get_requested_latency_within_thread(s);
|
||||||
|
|
||||||
|
if (u->block_usec == (pa_usec_t) -1)
|
||||||
|
u->block_usec = s->thread_info.max_latency;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void process_rewind(struct userdata *u, pa_usec_t now) {
|
static void process_rewind(struct userdata *u, pa_usec_t now) {
|
||||||
|
|
|
||||||
|
|
@ -226,10 +226,9 @@ int pa__init(pa_module*m) {
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
u = pa_xnew0(struct userdata, 1);
|
m->userdata = u = pa_xnew0(struct userdata, 1);
|
||||||
u->core = m->core;
|
u->core = m->core;
|
||||||
u->module = m;
|
u->module = m;
|
||||||
m->userdata = u;
|
|
||||||
pa_memchunk_reset(&u->memchunk);
|
pa_memchunk_reset(&u->memchunk);
|
||||||
u->rtpoll = pa_rtpoll_new();
|
u->rtpoll = pa_rtpoll_new();
|
||||||
pa_thread_mq_init(&u->thread_mq, m->core->mainloop, u->rtpoll);
|
pa_thread_mq_init(&u->thread_mq, m->core->mainloop, u->rtpoll);
|
||||||
|
|
@ -264,7 +263,7 @@ int pa__init(pa_module*m) {
|
||||||
pa_source_new_data_set_sample_spec(&data, &ss);
|
pa_source_new_data_set_sample_spec(&data, &ss);
|
||||||
pa_source_new_data_set_channel_map(&data, &map);
|
pa_source_new_data_set_channel_map(&data, &map);
|
||||||
|
|
||||||
u->source = pa_source_new(m->core, &data, 0);
|
u->source = pa_source_new(m->core, &data, PA_SOURCE_LATENCY);
|
||||||
pa_source_new_data_done(&data);
|
pa_source_new_data_done(&data);
|
||||||
|
|
||||||
if (!u->source) {
|
if (!u->source) {
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,9 @@ PA_MODULE_AUTHOR("Lennart Poettering");
|
||||||
PA_MODULE_DESCRIPTION("Sine wave generator");
|
PA_MODULE_DESCRIPTION("Sine wave generator");
|
||||||
PA_MODULE_VERSION(PACKAGE_VERSION);
|
PA_MODULE_VERSION(PACKAGE_VERSION);
|
||||||
PA_MODULE_LOAD_ONCE(FALSE);
|
PA_MODULE_LOAD_ONCE(FALSE);
|
||||||
PA_MODULE_USAGE("sink=<sink to connect to> frequency=<frequency in Hz>");
|
PA_MODULE_USAGE(
|
||||||
|
"sink=<sink to connect to> "
|
||||||
|
"frequency=<frequency in Hz>");
|
||||||
|
|
||||||
struct userdata {
|
struct userdata {
|
||||||
pa_core *core;
|
pa_core *core;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue