diff options
-rw-r--r-- | polyp/polyplib-context.c | 4 | ||||
-rw-r--r-- | polyp/polyplib-stream.c | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/polyp/polyplib-context.c b/polyp/polyplib-context.c index b736daa7..cf1a8e60 100644 --- a/polyp/polyplib-context.c +++ b/polyp/polyplib-context.c @@ -230,9 +230,11 @@ static void pstream_memblock_callback(struct pa_pstream *p, uint32_t channel, ui } int pa_context_handle_error(struct pa_context *c, uint32_t command, struct pa_tagstruct *t) { - assert(c && t); + assert(c); if (command == PA_COMMAND_ERROR) { + assert(t); + if (pa_tagstruct_getu32(t, &c->error) < 0) { pa_context_fail(c, PA_ERROR_PROTOCOL); return -1; diff --git a/polyp/polyplib-stream.c b/polyp/polyplib-stream.c index 68035b0f..c8fef673 100644 --- a/polyp/polyplib-stream.c +++ b/polyp/polyplib-stream.c @@ -420,7 +420,7 @@ static void stream_get_latency_info_callback(struct pa_pdispatch *pd, uint32_t c } if (o->stream->interpolate) { - o->stream->ipol_timestamp = now; + o->stream->ipol_timestamp = i.timestamp; o->stream->ipol_usec = pa_stream_get_time(o->stream, &i); } @@ -659,7 +659,7 @@ pa_usec_t pa_stream_get_time(struct pa_stream *s, const struct pa_latency_info * pa_usec_t usec; assert(s); - usec = pa_bytes_to_usec(s->counter, &s->sample_spec); + usec = pa_bytes_to_usec(i->counter, &s->sample_spec); if (i) { if (s->direction == PA_STREAM_PLAYBACK) { |