The splitter may return S_FALSE (no pins) and this caused a crash when it somehow matched with the File Source (Async).
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/qedit/mediadet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/qedit/mediadet.c b/dlls/qedit/mediadet.c index eb7a519..c3891c5 100644 --- a/dlls/qedit/mediadet.c +++ b/dlls/qedit/mediadet.c @@ -197,7 +197,7 @@ static HRESULT find_splitter(MediaDetImpl *detector)
hr = IEnumPins_Next(enum_pins, 1, &splitter_pin, NULL); IEnumPins_Release(enum_pins); - if (FAILED(hr)) + if (hr != S_OK) goto next;
hr = IPin_Connect(source_pin, splitter_pin, NULL);