wasapi2sink: Do not push too large preroll buffer to endpoint
To avoid startup glitches, a silent buffer is pushed to render endpoint, but pushing too large silent buffer will introduce unnecessary latency. Limit it to a single period worth data. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9553>
This commit is contained in:
parent
71b787a39f
commit
cb7dcff69e
@ -874,6 +874,9 @@ gst_wasapi2_device_manager_create_ctx (IMMDeviceEnumerator * enumerator,
|
||||
auto hr = ctx->client->GetCurrentPadding (&padding);
|
||||
if (SUCCEEDED (hr) && padding < ctx->client_buf_size) {
|
||||
auto can_write = ctx->client_buf_size - padding;
|
||||
if (can_write > ctx->period)
|
||||
can_write = ctx->period;
|
||||
|
||||
BYTE *data;
|
||||
hr = ctx->render_client->GetBuffer (can_write, &data);
|
||||
if (SUCCEEDED (hr)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user