Signed-off-by: Anton Baskanov baskanov@gmail.com --- Otherwise the streaming thread sometimes fails to allocate a sample. --- dlls/winegstreamer/gstdemux.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c index 299a7ddf56..7c38e421f9 100644 --- a/dlls/winegstreamer/gstdemux.c +++ b/dlls/winegstreamer/gstdemux.c @@ -1391,6 +1391,15 @@ static HRESULT gstdemux_init_stream(struct strmbase_filter *iface) if (!filter->container) return VFW_E_NOT_CONNECTED;
+ for (i = 0; i < filter->source_count; ++i) + { + if (SUCCEEDED(pin_hr = BaseOutputPinImpl_Active(&filter->sources[i]->pin))) + hr = pin_hr; + } + + if (FAILED(hr)) + return hr; + if (filter->no_more_pads_event) ResetEvent(filter->no_more_pads_event);
@@ -1422,11 +1431,6 @@ static HRESULT gstdemux_init_stream(struct strmbase_filter *iface) stop_type, seeking->llStop * 100)); }
- for (i = 0; i < filter->source_count; ++i) - { - if (SUCCEEDED(pin_hr = BaseOutputPinImpl_Active(&filter->sources[i]->pin))) - hr = pin_hr; - } return hr; }