Commit 6f8990b4 authored by Zhiyi Zhang's avatar Zhiyi Zhang Committed by Alexandre Julliard

winegstreamer: Always check the return value from mf_media_type_from_wg_format().

mf_media_type_from_wg_format() may return NULL. Fix Airborne Kingdom crash at start because WG_AUDIO_FORMAT_UNKNOWN is passed to mf_media_type_from_wg_format(). Signed-off-by: 's avatarZhiyi Zhang <zzhang@codeweavers.com>
parent 4244b4b1
......@@ -879,6 +879,12 @@ static HRESULT media_stream_init_desc(struct media_stream *stream)
IMFMediaType *base_type = mf_media_type_from_wg_format(&format);
GUID base_subtype;
if (!base_type)
{
hr = MF_E_INVALIDMEDIATYPE;
goto done;
}
IMFMediaType_GetGUID(base_type, &MF_MT_SUBTYPE, &base_subtype);
stream_types[0] = base_type;
......@@ -911,8 +917,8 @@ static HRESULT media_stream_init_desc(struct media_stream *stream)
WG_AUDIO_FORMAT_F32LE,
};
stream_types[0] = mf_media_type_from_wg_format(&format);
type_count = 1;
if ((stream_types[0] = mf_media_type_from_wg_format(&format)))
type_count = 1;
for (i = 0; i < ARRAY_SIZE(audio_types); i++)
{
......@@ -921,7 +927,8 @@ static HRESULT media_stream_init_desc(struct media_stream *stream)
continue;
new_format = format;
new_format.u.audio.format = audio_types[i];
stream_types[type_count++] = mf_media_type_from_wg_format(&new_format);
if ((stream_types[type_count] = mf_media_type_from_wg_format(&new_format)))
type_count++;
}
}
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment