Module: wine Branch: master Commit: 6946c761bf0a043b1c777b39311addc5f66859e6 URL: https://gitlab.winehq.org/wine/wine/-/commit/6946c761bf0a043b1c777b39311addc...
Author: Rémi Bernon rbernon@codeweavers.com Date: Thu Jul 6 10:59:40 2023 +0200
mf/session: Drain transform node input streams individually.
---
dlls/mf/session.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c index 254fea6dfe4..1fbacde318c 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -3255,16 +3255,14 @@ static void session_deliver_sample_to_node(struct media_session *session, IMFTop { transform_stream_drop_samples(stream); drain = TRUE; + + if (FAILED(hr = IMFTransform_ProcessMessage(topo_node->object.transform, + MFT_MESSAGE_COMMAND_DRAIN, stream_id))) + WARN("Drain command failed for transform, hr %#lx.\n", hr); } } }
- if (drain) - { - if (FAILED(hr = IMFTransform_ProcessMessage(topo_node->object.transform, MFT_MESSAGE_COMMAND_DRAIN, 0))) - WARN("Drain command failed for transform, hr %#lx.\n", hr); - } - transform_node_pull_samples(session, topo_node);
/* Remaining unprocessed input has been discarded, now queue markers for every output. */