aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--stream/tvi_dshow.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/stream/tvi_dshow.c b/stream/tvi_dshow.c
index 36ddf5e8b3..63fa8d5c2c 100644
--- a/stream/tvi_dshow.c
+++ b/stream/tvi_dshow.c
@@ -2146,6 +2146,16 @@ static HRESULT get_available_formats_pin(ICaptureGraphBuilder2 * pBuilder,
if (!pBuilder || !chain->pCaptureFilter)
return E_POINTER;
+ if (!chain->pCapturePin)
+ {
+ hr = OLE_CALL_ARGS(pBuilder, FindPin,
+ (IUnknown *) chain->pCaptureFilter,
+ PINDIR_OUTPUT, &PIN_CATEGORY_CAPTURE,
+ chain->majortype, FALSE, 0, &chain->pCapturePin);
+
+ if (!chain->pCapturePin)
+ return E_POINTER;
+ }
if (chain->type == video) {
size = sizeof(VIDEO_STREAM_CONFIG_CAPS);
} else if (chain->type == audio) {