Anton Baskanov (@baskanov) commented about dlls/winegstreamer/quartz_parser.c:
return hr;
}
static HRESULT avi_splitter_source_get_media_type(struct parser_source *pin, unsigned int index, AM_MEDIA_TYPE *mt) {
- struct wg_format format;
HRESULT hr;
if (index > 0) return VFW_S_NO_MORE_ITEMS;
- wg_parser_stream_get_current_format(pin->wg_stream, &format);
- if (!amt_from_wg_format(mt, &format, false))
return E_OUTOFMEMORY;
- return S_OK;
- if (SUCCEEDED(hr = wg_parser_stream_get_current_type_quartz(pin->wg_stream, mt)))
Compressed media types returned by `wg_parser_stream_get_current_type_quartz()` have `biSizeImage` set to 0. This will cause `IMemAllocator::Commit()` to fail. `amt_from_wg_format()` estimated `biSizeImage` at least for Cinepak, so we should probably do something similar here.