On 20.10.2015 21:56, Jonas Maebe wrote:
This prevents the game Majesty Gold HD from flooding the console with "No interface for {56a868a5-0ad4-11ce-b03a-0020af0ba770}" messages.
Signed-off-by: Jonas Maebe jonas.maebe@elis.ugent.be
dlls/quartz/parser.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c index cd8d93d..a9384a5 100644 --- a/dlls/quartz/parser.c +++ b/dlls/quartz/parser.c @@ -634,6 +634,7 @@ static HRESULT WINAPI Parser_OutputPin_BreakConnect(BaseOutputPin *This)
static HRESULT WINAPI Parser_OutputPin_QueryInterface(IPin * iface, REFIID riid, LPVOID * ppv) {
static int once = 0; Parser_OutputPin *This = unsafe_impl_Parser_OutputPin_from_IPin(iface);
TRACE("(%s, %p)\n", qzdebugstr_guid(riid), ppv);
@@ -654,7 +655,11 @@ static HRESULT WINAPI Parser_OutputPin_QueryInterface(IPin * iface, REFIID riid, return S_OK; }
- FIXME("No interface for %s!\n", qzdebugstr_guid(riid));
if (!once)
{
FIXME("No interface for %s!\n", qzdebugstr_guid(riid));
once = 1;
}
return E_NOINTERFACE; }
This is too much, because it will disable every failed QI fixme after first one. Base output pin already supports IQualityControl case, by forwarding it. So proper fix is to try to write some tests for this pin implementation to see if it's supposed to be supported, and then act from there.
Nikolay Sivov wrote:
This is too much, because it will disable every failed QI fixme after first one. Base output pin already supports IQualityControl case, by forwarding it. So proper fix is to try to write some tests for this pin implementation to see if it's supposed to be supported, and then act from there.
How does one figure out the meaning of the interface "{56a868a5-0ad4-11ce-b03a-0020af0ba770}"? Google doesn't turn up anything but other people getting flooded with the same message when running various games under Wine (so I'm fairly confident it's supposed to be supported). There are no hits for it on the microsoft.com domain.
I don't have any Windows system, in case that's relevant. I can register for a testbot account, but I can't run local native tests nor debug them (nor hear what that the effect of that interface is supposed to sound like).
Jonas
On 21.10.2015 11:21, Jonas Maebe wrote:
Nikolay Sivov wrote:
This is too much, because it will disable every failed QI fixme after first one. Base output pin already supports IQualityControl case, by forwarding it. So proper fix is to try to write some tests for this pin implementation to see if it's supposed to be supported, and then act from there.
How does one figure out the meaning of the interface "{56a868a5-0ad4-11ce-b03a-0020af0ba770}"? Google doesn't turn up anything but other people getting flooded with the same message when running various games under Wine (so I'm fairly confident it's supposed to be supported). There are no hits for it on the microsoft.com domain.
It's defined in headers, in /include/.
I don't have any Windows system, in case that's relevant. I can register for a testbot account, but I can't run local native tests nor debug them (nor hear what that the effect of that interface is supposed to sound like).
If you only what to silence that one, make it targeted, no need to suppress all fixmes. But of course it's only hiding a problem.
Jonas
On 21/10/15 10:52, Nikolay Sivov wrote:
On 21.10.2015 11:21, Jonas Maebe wrote:
How does one figure out the meaning of the interface "{56a868a5-0ad4-11ce-b03a-0020af0ba770}"? Google doesn't turn up anything but other people getting flooded with the same message when running various games under Wine (so I'm fairly confident it's supposed to be supported). There are no hits for it on the microsoft.com domain.
It's defined in headers, in /include/.
I should have realised the IID of the interface was probably already available in the wine headers themselves, thanks.
If you only what to silence that one, make it targeted, no need to suppress all fixmes. But of course it's only hiding a problem.
I tried to have a go at figuring out how to implement it. To get a baseline, I ran "make test" in dlls/quartz/tests. This halted prematurely with a complaint that there was no test.avi available.
Given the preceding messages in the thread at https://www.winehq.org/pipermail/wine-devel/2011-September/092457.html I created one myself (converted SDL-1.2.15/test/sample.wav to an AVI file with Quicktime 7, which resulted in a "16-bit Integer (Little Endian), Mono, 22,050 kHz" file that starts with "R I F F R Z \a \0 A V I L I S T", which passes the validity check in the test), but now I get:
$ DYLD_FALLBACK_LIBRARY_PATH=/usr/X11/lib:/usr/lib:/Users/jmaebe/homebrew/lib make test ../../../../tools/runtest -q -P wine -T ../../.. -M quartz.dll -p quartz_test.exe.so avisplitter && touch avisplitter.ok fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046} fixme:quartz:Parser_QueryInterface No interface for {36b73880-c2c8-11cf-8b46-00805f6cef60}! fixme:quartz:Parser_QueryInterface No interface for {31efac30-515c-11d0-a9aa-00aa0061be93}! fixme:quartz:Parser_QueryInterface No interface for {56a868b2-0ad4-11ce-b03a-0020af0ba770}! fixme:quartz:Parser_QueryInterface No interface for {56a868a5-0ad4-11ce-b03a-0020af0ba770}! fixme:quartz:Parser_QueryInterface No interface for IID_IQualProp! fixme:quartz:PullPin_QueryInterface No interface for {56a8689d-0ad4-11ce-b03a-0020af0ba770}! fixme:quartz:Parser_QueryInterface No interface for {56a868a6-0ad4-11ce-b03a-0020af0ba770}! err:quartz:AVISplitter_first_request Horsemen of the apocalypse came to bring error 0x800703e6 err:quartz:PullPin_Thread_Process Request error: 800703e6 fixme:quartz:FileAsyncReader_WaitForNext Returned: 258 (000003e6) avisplitter.c:367: Test failed: The thread count should be 3 not 2 wine: Unhandled page fault on execute access to 0x001100c8 at address 0x1100c8 (thread 0009), starting debugger...
with as backtrace http://pastebin.com/CZ9sF419
Is this because my test.avi doesn't conform to what the test expects after all?
Jonas