[Bug 38765] VMR9 steals focus from within Wine

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jun 18 01:58:11 CDT 2015


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

--- Comment #6 from Jason <jasonwinter at hotmail.com> ---
Hi Nikolay,

It's actually non-trivial to set something like this up for a test case.

This link explains the VMR9 (and 7) differences from the normal renderer:

https://msdn.microsoft.com/en-us/library/windows/desktop/dd407299%28v=vs.85%29.aspx

(Note the comment: when the VMR is in windowless mode, it does not even expose
the IVideoWindow interface, which is no longer needed.  I'm not sure Wine hides
the interface, as it should.  This may be important, since many programs that
work with different renderers run through a list of interfaces to set various
things, so obtaining this interface when it's in the wrong mode may cause
[more] unexpected things to happen.)

There is also a VMR9 Windowless sample in the Direct Show area of the Windows
SDK:

https://msdn.microsoft.com/en-us/library/windows/desktop/dd390982%28v=vs.85%29.aspx

When I was coding with this stuff (10 years ago now) I used a few audioless
.mpg files (you've got to have something to show in the video window) and as
few filter objects as I could (trying to use the auto connect feature of quartz
to find what's needed in the graph to show the video).

I do remember using that sample though, it helped a lot.

As for tests, I would use a timer to trigger the API calls I've pointed out (so
it can all be done without focus) so you can tell what Windows and Wine do
differently in this case.

I'd also search the Wine codebase (as I did, as well as my own) so you can see
just how many places use SWP_NOZORDER and SWP_NOACTIVATE together.  I was
surprised that most of my own code and much of Wine uses the flags together,
except in vmr9.c where I'm getting so many problems.

Best regards,
Jason.

-- 
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