summaryrefslogtreecommitdiffstats
path: root/src/modules/module-null-sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/module-null-sink.c')
-rw-r--r--src/modules/module-null-sink.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/modules/module-null-sink.c b/src/modules/module-null-sink.c
index 470c622e..daf9767c 100644
--- a/src/modules/module-null-sink.c
+++ b/src/modules/module-null-sink.c
@@ -73,8 +73,6 @@ struct userdata {
pa_thread_mq thread_mq;
pa_rtpoll *rtpoll;
- size_t block_size;
-
pa_usec_t block_usec;
pa_usec_t timestamp;
};
@@ -89,7 +87,13 @@ static const char* const valid_modargs[] = {
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;
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;
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;
}
@@ -117,10 +121,12 @@ static void sink_update_requested_latency_cb(pa_sink *s) {
struct userdata *u;
pa_sink_assert_ref(s);
- u = s->userdata;
- pa_assert(u);
+ pa_assert_se(u = s->userdata);
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) {