From: R��mi Bernon rbernon@codeweavers.com
--- dlls/mf/copier.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/dlls/mf/copier.c b/dlls/mf/copier.c index ab995fb98db..14cb391e17e 100644 --- a/dlls/mf/copier.c +++ b/dlls/mf/copier.c @@ -102,7 +102,14 @@ static HRESULT WINAPI sample_copier_transform_GetStreamLimits(IMFTransform *ifac { TRACE("%p, %p, %p, %p, %p.\n", iface, input_minimum, input_maximum, output_minimum, output_maximum);
- *input_minimum = *input_maximum = *output_minimum = *output_maximum = 1; + if (input_minimum) + *input_minimum = 1; + if (input_maximum) + *input_maximum = 1; + if (output_minimum) + *output_minimum = 1; + if (output_maximum) + *output_maximum = 1;
return S_OK; } @@ -111,8 +118,10 @@ static HRESULT WINAPI sample_copier_transform_GetStreamCount(IMFTransform *iface { TRACE("%p, %p, %p.\n", iface, inputs, outputs);
- *inputs = 1; - *outputs = 1; + if (inputs) + *inputs = 1; + if (outputs) + *outputs = 1;
return S_OK; } @@ -162,6 +171,9 @@ static HRESULT WINAPI sample_copier_transform_GetAttributes(IMFTransform *iface,
TRACE("%p, %p.\n", iface, attributes);
+ if (!attributes) + return E_POINTER; + *attributes = transform->attributes; IMFAttributes_AddRef(*attributes);