diff options
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/module-null-sink.c | 36 | ||||
-rw-r--r-- | src/modules/module-pipe-sink.c | 30 |
2 files changed, 33 insertions, 33 deletions
diff --git a/src/modules/module-null-sink.c b/src/modules/module-null-sink.c index 8cf961b9..ce3b29b0 100644 --- a/src/modules/module-null-sink.c +++ b/src/modules/module-null-sink.c @@ -94,7 +94,7 @@ static void thread_func(void *userdata) { pollfd.events = POLLIN; pa_gettimeofday(u->timestamp); - + for (;;) { int code; void *data, *object; @@ -116,7 +116,7 @@ static void thread_func(void *userdata) { pa_sink_process_msg(u->sink->asyncmsgq, object, code, data); } - + } else if (object == u->sink) { switch (code) { @@ -124,29 +124,29 @@ static void thread_func(void *userdata) { pa_assert(running); running = 0; break; - + case PA_SINK_MESSAGE_START: pa_assert(!running); running = 1; - + pa_gettimeofday(u->timestamp); break; - + case PA_SINK_MESSAGE_GET_LATENCY: - + if (pa_timeval_cmp(&u->timestamp, &now) > 0) *((pa_usec_t*) data) = 0; else *((pa_usec_t*) data) = pa_timeval_diff(&u->timestamp, &now); break; - + /* ... */ default: pa_sink_process_msg(u->sink->asyncmsgq, object, code, data); } } - + pa_asyncmsgq_done(u->sink->asyncmsgq); continue; } @@ -155,30 +155,30 @@ static void thread_func(void *userdata) { if (running) { pa_gettimeofday(&now); - + if (pa_timeval_cmp(u->timestamp, &now) <= 0) { pa_memchunk chunk; size_t l; - + if (pa_sink_render(u->sink, u->block_size, &chunk) >= 0) { l = chunk.length; pa_memblock_unref(chunk.memblock); } else l = u->block_size; - + pa_timeval_add(&u->timestamp, pa_bytes_to_usec(l, &u->sink->sample_spec)); continue; } timeout = pa_timeval_diff(&u->timestamp, &now)/1000; - + if (timeout < 1) timeout = 1; } else timeout = -1; /* Hmm, nothing to do. Let's sleep */ - + if (pa_asyncmsgq_before_poll(u->sink->asyncmsgq) < 0) continue; @@ -192,7 +192,7 @@ static void thread_func(void *userdata) { pa_log("poll() failed: %s", pa_cstrerror(errno)); goto fail; } - + pa_assert(r == 0 || pollfd.revents == POLLIN); } @@ -241,7 +241,7 @@ int pa__init(pa_core *c, pa_module*m) { pa_sink_set_description(u->sink, pa_modargs_get_value(ma, "description", "NULL sink")); u->block_size = pa_bytes_per_second(&ss) / 20; /* 50 ms */ - + if (u->block_size <= 0) u->block_size = pa_frame_size(&ss); @@ -249,7 +249,7 @@ int pa__init(pa_core *c, pa_module*m) { pa_log("Failed to create thread."); goto fail; } - + pa_modargs_free(ma); return 0; @@ -265,7 +265,7 @@ fail: void pa__done(pa_core *c, pa_module*m) { struct userdata *u; - + pa_assert(c); pa_assert(m); @@ -278,7 +278,7 @@ void pa__done(pa_core *c, pa_module*m) { pa_asyncmsgq_send(u->sink->asyncmsgq, PA_SINK_MESSAGE_SHUTDOWN, NULL); pa_thread_free(u->thread); } - + pa_sink_unref(u->sink); pa_xfree(u); diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c index 61672ede..e4735f61 100644 --- a/src/modules/module-pipe-sink.c +++ b/src/modules/module-pipe-sink.c @@ -124,9 +124,9 @@ static void thread_func(void *userdata) { default: pa_sink_process_msg(u->sink->asyncmsgq, object, code, data); } - + } else if (object == u->sink) { - + case PA_SINK_MESSAGE_STOP: pa_assert(running); running = 0; @@ -155,7 +155,7 @@ static void thread_func(void *userdata) { default: pa_sink_process_msg(u->sink->asyncmsgq, object, code, data); } - + pa_asyncmsgq_done(u->sink->asyncmsgq); continue; } @@ -171,20 +171,20 @@ static void thread_func(void *userdata) { if (!underrun) { ssize_t l; - + p = pa_memblock_acquire(u->memchunk.memblock); l = pa_write(u->fd, (uint8_t*) p + u->memchunk.index, u->memchunk.length); pa_memblock_release(p); - + if (l < 0) { if (errno != EINTR && errno != EAGAIN) { pa_log("Failed to write data to FIFO: %s", pa_cstrerror(errno)); goto fail; } - + } else { - + u->memchunk.index += l; u->memchunk.length -= l; @@ -202,7 +202,7 @@ static void thread_func(void *userdata) { pollfd[POLLFD_FIFO].events = running && !underrun ? POLLOUT : 0; /* Hmm, nothing to do. Let's sleep */ - + if (pa_asyncmsgq_before_poll(u->sink->asyncmsgq) < 0) continue; @@ -221,10 +221,10 @@ static void thread_func(void *userdata) { pa_log("FIFO shutdown."); goto fail; } - + pa_assert(pollfd[POLLFD_ASYNCQ].revents & ~POLLIN == 0); } - + fail: /* We have to continue processing messages until we receive the * SHUTDOWN message */ @@ -265,9 +265,9 @@ int pa__init(pa_core *c, pa_module*m) { u->memchunk.memblock = NULL; u->memchunk.length = 0; m->userdata = u; - + mkfifo(u->filename, 0666); - + if ((u->fd = open(u->filename, O_RDWR)) < 0) { pa_log("open('%s'): %s", p, pa_cstrerror(errno)); goto fail; @@ -290,7 +290,7 @@ int pa__init(pa_core *c, pa_module*m) { pa_log("Failed to create sink."); goto fail; } - + u->sink->userdata = u; pa_sink_set_owner(u->sink, m); pa_sink_set_description(u->sink, t = pa_sprintf_malloc("Unix FIFO sink '%s'", p)); @@ -300,7 +300,7 @@ int pa__init(pa_core *c, pa_module*m) { pa_log("Failed to create thread."); goto fail; } - + pa_modargs_free(ma); return 0; @@ -328,7 +328,7 @@ void pa__done(pa_core *c, pa_module*m) { pa_asyncmsgq_send(u->sink->asyncmsgq, PA_SINK_MESSAGE_SHUTDOWN, NULL); pa_thread_free(u->thread); } - + pa_sink_unref(u->sink); if (u->memchunk.memblock) |