https://bugs.winehq.org/show_bug.cgi?id=48836
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gofmanp@gmail.com
--- Comment #3 from Paul Gofman gofmanp@gmail.com --- I tested this game a short while ago.
It actually plays the sound OK, just with zero volume. The application sets volume of -10000 (min, i. e. zero volume) itself through Basicaudio_put_Volume to an output filter from filter graph. This is triggered by a special code path in BBCT which is not run on Windows. The application adds initializing the filter graph basically like this: CoCreateInstance(&CLSID_FilterGraph, ... IFilterGraph2_AddSourceFilter(graph, L"data/MoviesHD/bbcsopening.wmv", L"SOURCE", ... ... Then it does IBaseFilter_FindPin(source_filter, L"Output",... on source filter and Wine returns the pin as it has AsyncReader class there. Windows returns VFW_E_NOT_FOUND there because it created WMAsfReader filter for this media format, and this filter has different pins: separate audio and video output with different names. If I ultimately return VFW_E_NOT_FOUND from strmbase/filter.c:filter_FindPin() the sound is OK under Wine. If I replace data/MoviesHD/bbcsopening.wmv with some other movie file with different format for which Windows also creates AsyncReader source, the video is played without sound on Windows just like on Wine.
So it looks like a proper fix would be implementing WMAsfReader class.