From: Ziqing Hui zhui@codeweavers.com
--- dlls/mf/tests/transform.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/mf/tests/transform.c b/dlls/mf/tests/transform.c index 0c9f7548d42..7ce68728574 100644 --- a/dlls/mf/tests/transform.c +++ b/dlls/mf/tests/transform.c @@ -327,11 +327,14 @@ static void init_dmo_media_type_video(DMO_MEDIA_TYPE *media_type, { VIDEOINFOHEADER *header = (VIDEOINFOHEADER *)(media_type + 1); BOOL compressed = is_compressed_subtype(subtype); + ULONG codec_data_size = compressed ? 4 : 0; + + memset(media_type, 0, sizeof(*media_type) + sizeof(*header) + codec_data_size);
- memset(header, 0, sizeof(*header)); header->bmiHeader.biSize = sizeof(header->bmiHeader); header->bmiHeader.biWidth = width; header->bmiHeader.biHeight = height; + header->bmiHeader.biPlanes = 1; header->bmiHeader.biBitCount = subtype_to_bpp(subtype); header->bmiHeader.biCompression = subtype_to_compression(subtype);
@@ -342,7 +345,7 @@ static void init_dmo_media_type_video(DMO_MEDIA_TYPE *media_type, media_type->lSampleSize = 0; media_type->formattype = FORMAT_VideoInfo; media_type->pUnk = NULL; - media_type->cbFormat = sizeof(*header) + 4; /* 4 bytes codec data. */ + media_type->cbFormat = sizeof(*header) + codec_data_size; media_type->pbFormat = (BYTE *)header; }