[Bug 48769] Attack on Titan 2 can't play WMV3 video

WineHQ Bugzilla wine-bugs at winehq.org
Mon Mar 23 19:09:28 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=48769

--- Comment #4 from qsniyg <qsniyg at mail.com> ---
(In reply to Zebediah Figura from comment #3)

Thank you very much for the detailed reply!

> This specific application wants to create the ASF reader manually but
> autoplug from its pins.
> 
> The way this works on Windows is:
> 
> * the ASF reader filter, which lives in qasf and is implemented on top of
> wmvcore, outputs compressed media samples;
> 
> * the CWMVDecMediaObject DMO (wrapped using the DMO wrapper filter), which
> lives in wmvdecod.dll or wmvdmod.dll (depending on Windows version), decodes
> the video.
> 
> This is true regardless of architecture, at least since XP and probably
> earlier wmv9vcm isn't shipped with the OS. I'm not sure that bug 32723 is
> particularly valid.
> 
> How we want this to work in Wine is less clear. We probably want to
> implement the ASF reader on top of wmvcore. We *may* want it to output
> compressed media samples, though I'm not sure that any application yet
> depends on this, and it probably wouldn't be too difficult to correct if we
> did find one.
> 
> If we did output compressed media samples, we'd need a way to uncompress
> them. Bug 34622 mentions that native .NET XNA creates the WMA decoder DMO
> manually. (I'm not sure if it also creates the WMV decoder manually). That
> would probably have to make use of gstreamer (which is directly wrapping
> libav for WMV/WMA formats; I'm of the opinion that we should use libav
> directly, but better maintainers than I have disagreed).

I initially tried doing a prototype by rather painfully attempting to integrate
ffmpeg's VC1 decoder code directly into wine, for an implementation of wmv9vcm.
Though being several thousand lines of code, it might not be as desirable as
using gstreamer like you've mentioned (I'm not familiar with it which is why I
opted for ffmpeg instead).

The issue I ran into however was communicating the information found in the
header to the decompressor. Clearly it's possible as windows found a way to do
it, but I haven't yet found a method. I'll look into the DMO method you
suggested, thanks again!

> Since you're interested in making this work using native components, you
> probably want `winetricks wmp9`. I think you'll also need native devenum,
> since ours doesn't enumerate DMOs yet.

Unfortunately it doesn't work, since the game is 64-bit. If it helps, I wrote
what I found so far here: https://github.com/ValveSoftware/Proton/issues/2830

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list