mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-09-19 16:01:45 +00:00
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:
parent
16665d74d2
commit
a8139b7acf
|
@ -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",
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue