From: Santino Mazza smazza@codeweavers.com
--- dlls/amstream/ddrawstream.c | 11 +++++++++++ dlls/amstream/tests/amstream.c | 6 +++--- 2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/dlls/amstream/ddrawstream.c b/dlls/amstream/ddrawstream.c index da7fcc4bdd6..80a5bd5db14 100644 --- a/dlls/amstream/ddrawstream.c +++ b/dlls/amstream/ddrawstream.c @@ -1621,6 +1621,7 @@ static const IMemInputPinVtbl ddraw_meminput_vtbl = HRESULT ddraw_stream_create(IUnknown *outer, void **out) { struct ddraw_stream *object; + ALLOCATOR_PROPERTIES props, ret_props; HRESULT hr;
if (outer) @@ -1648,6 +1649,16 @@ HRESULT ddraw_stream_create(IUnknown *outer, void **out) return hr; }
+ props.cbBuffer = object->format.height * object->format.width; + props.cBuffers = 1; + props.cbAlign = 1; + props.cbPrefix = 0; + if (FAILED(hr = IMemAllocator_SetProperties(object->private_allocator, &props, &ret_props))) { + IMemAllocator_Release(object->private_allocator); + free(object); + return hr; + } + InitializeCriticalSection(&object->cs); InitializeConditionVariable(&object->update_queued_cv); list_init(&object->update_queue); diff --git a/dlls/amstream/tests/amstream.c b/dlls/amstream/tests/amstream.c index 45547b14018..b3fa59f6dab 100644 --- a/dlls/amstream/tests/amstream.c +++ b/dlls/amstream/tests/amstream.c @@ -8538,9 +8538,9 @@ static void test_ddrawstream_mem_allocator(void) /* Check default properties. */ hr = IMemAllocator_GetProperties(ddraw_allocator, &props); ok(hr == S_OK, "Got hr %#lx.\n", hr); - todo_wine ok(props.cbBuffer == 10000, "Expected sample size to be 10000 got %ld\n", props.cbBuffer); - todo_wine ok(props.cBuffers == 1, "Expected 1 sample got %ld\n", props.cBuffers); - todo_wine ok(props.cbAlign == 1, "Expected alignment of 1 got %ld\n", props.cbAlign); + ok(props.cbBuffer == 10000, "Expected sample size to be 10000 got %ld\n", props.cbBuffer); + ok(props.cBuffers == 1, "Expected 1 sample got %ld\n", props.cBuffers); + ok(props.cbAlign == 1, "Expected alignment of 1 got %ld\n", props.cbAlign);
/* Try changing allocator properties. */ props.cbAlign = 1;