mirror of
https://gitlab.winehq.org/wine/wine.git
synced 2024-11-21 17:09:06 -07:00
Merge branch 'bm_cw_23939' into 'master'
mf: Retry PROCESSINPUTNOTIFY if TRANSFORM_TYPE_NOT_SET is returned. See merge request wine/wine!6059
This commit is contained in:
commit
ce2c418261
2 changed files with 7 additions and 1 deletions
|
@ -416,7 +416,10 @@ static HRESULT WINAPI video_stream_sink_ProcessSample(IMFStreamSink *iface, IMFS
|
|||
}
|
||||
|
||||
if (SUCCEEDED(IMFTransform_ProcessInput(stream->parent->mixer, stream->id, sample, 0)))
|
||||
IMFVideoPresenter_ProcessMessage(stream->parent->presenter, MFVP_MESSAGE_PROCESSINPUTNOTIFY, 0);
|
||||
{
|
||||
while (hr == S_OK && (hr = IMFVideoPresenter_ProcessMessage(stream->parent->presenter, MFVP_MESSAGE_PROCESSINPUTNOTIFY, 0)) == MF_E_TRANSFORM_TYPE_NOT_SET)
|
||||
hr = IMFVideoPresenter_ProcessMessage(stream->parent->presenter, MFVP_MESSAGE_INVALIDATEMEDIATYPE, 0);
|
||||
}
|
||||
|
||||
if (stream->flags & EVR_STREAM_PREROLLING)
|
||||
{
|
||||
|
|
|
@ -3706,7 +3706,10 @@ static void session_deliver_sample_to_node(struct media_session *session, struct
|
|||
if (sample)
|
||||
{
|
||||
if (FAILED(hr = IMFStreamSink_ProcessSample(topo_node->object.sink_stream, sample)))
|
||||
{
|
||||
WARN("Stream sink failed to process sample, hr %#lx.\n", hr);
|
||||
IMFMediaEventQueue_QueueEventParamVar(session->event_queue, MEError, &GUID_NULL, hr, NULL);
|
||||
}
|
||||
}
|
||||
else if (FAILED(hr = IMFStreamSink_PlaceMarker(topo_node->object.sink_stream, MFSTREAMSINK_MARKER_ENDOFSEGMENT,
|
||||
NULL, NULL)))
|
||||
|
|
Loading…
Reference in a new issue