diff --git a/pipewire-pulseaudio/src/stream.c b/pipewire-pulseaudio/src/stream.c index c01b5bbef..00c08dcae 100644 --- a/pipewire-pulseaudio/src/stream.c +++ b/pipewire-pulseaudio/src/stream.c @@ -1335,14 +1335,15 @@ size_t pa_stream_writable_size(PA_CONST pa_stream *s) PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->direction != PA_STREAM_RECORD, PA_ERR_BADSTATE, (size_t) -1); - if (!s->have_time) - return 0; - i = &s->timing_info; - clock_gettime(CLOCK_MONOTONIC, &ts); - now = SPA_TIMESPEC_TO_USEC(&ts); - elapsed = pa_usec_to_bytes(now - SPA_TIMEVAL_TO_USEC(&i->timestamp), &s->sample_spec); + if (s->have_time) { + clock_gettime(CLOCK_MONOTONIC, &ts); + now = SPA_TIMESPEC_TO_USEC(&ts); + elapsed = pa_usec_to_bytes(now - SPA_TIMEVAL_TO_USEC(&i->timestamp), &s->sample_spec); + } else { + elapsed = 0; + } queued = i->write_index - SPA_MIN(i->read_index, i->write_index); queued -= SPA_MIN(queued, elapsed);