pulse-server: handle prebuf state better

When we have a prebuf value, we start in the prebuf state.
We go back to prebuf when we have a prebuf value and an empty
ringbuffer.
This commit is contained in:
Wim Taymans 2021-12-03 17:49:59 +01:00
parent 16665d74d2
commit a8139b7acf
2 changed files with 4 additions and 1 deletions

View file

@ -490,6 +490,9 @@ static int reply_create_playback_stream(struct stream *stream, struct pw_manager
items[4] = SPA_DICT_ITEM_INIT("pulse.attr.minreq", attr_minreq);
pw_stream_update_properties(stream->stream, &SPA_DICT_INIT(items, 5));
if (stream->attr.prebuf > 0)
stream->in_prebuf = true;
missing = stream_pop_missing(stream);
pw_log_info("[%s] reply CREATE_PLAYBACK_STREAM tag:%u missing:%u latency:%s",

View file

@ -117,7 +117,7 @@ static bool stream_prebuf_active(struct stream *stream)
if (stream->in_prebuf)
return avail < (int32_t) stream->attr.prebuf;
else
return stream->attr.prebuf > 0 && avail >= 0;
return stream->attr.prebuf > 0 && avail <= 0;
}
uint32_t stream_pop_missing(struct stream *stream)