79331: [PATCH] quartz: Fix support for mpeg layer 1 and 2

buildbot at kegel.com buildbot at kegel.com
Mon Sep 26 10:48:31 CDT 2011


This is an experimental automated build and test service.
Please feel free to ignore this email while we work the kinks out.

For more info about this message, see http://wiki.winehq.org/BuildBot

The Buildbot has detected a failed build on builder runtests-default while building Wine.
Full details are available at: http://buildbot.kegel.com/builders/runtests-default/builds/73 (though maybe not for long, as I'm still reinstalling the buildbot periodically while experimenting)
BUILD FAILED: failed shell_3

Errors:
* Call to xpconnect wrapped JSObject produced this error:  *
* Call to xpconnect wrapped JSObject produced this error:  *
alarum: failed command was ../../../wine oleaut32_test.exe.so olepicture.c 
fixme:ole:OleLoadPictureEx (0x11ff10,60,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=100,y=100,f=0,0x33fcac), partially implemented.
fixme:ole:OleLoadPictureEx (0x11ff10,50,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=100,y=100,f=0,0x33fcd8), partially implemented.
fixme:ole:OLEPictureImpl_Load Unknown magic 0001, 50 read bytes:
01 00 09 00 00 03 19 00 01 00 
09 00 00 03 19 00 00 00 00 00 
0d 00 00 00 00 00 0d 00 00 00 
32 0a 16 00 0b 00 04 00 00 00 
54 65 73 74 03 00 05 00 08 00 
0c 00 03 00 00 00 00 00 
err:ole:OleLoadPictureEx IPersistStream_Load failed
fixme:ole:OleLoadPictureEx (0x11ff10,244,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=10,y=10,f=0,0x33fcb0), partially implemented.
err:ole:OLEPictureImpl_Invoke riid was {7bf80981-bf32-101a-8bbb-00aa00300cab} instead of IID_NULL
err:ole:OLEPictureImpl_Invoke riid was {00000000-0000-0000-c000-000000000046} instead of IID_NULL
err:ole:OLEPictureImpl_Invoke param count for DISPATCH_PROPERTYPUT was 0 instead of 1
err:ole:OLEPictureImpl_Invoke null pDispParams not allowed
err:ole:OLEPictureImpl_Invoke null pDispParams not allowed
err:ole:OLEPictureImpl_Invoke null pDispParams not allowed
err:ole:OLEPictureImpl_Invoke invalid dispid 0x2 or wFlags 0x1
err:ole:OLEPictureImpl_Invoke invalid dispid 0xdeadbeef or wFlags 0x2
err:ole:OLEPictureImpl_Invoke param count for DISPATCH_PROPERTYGET was 1 instead of 0
err:ole:OLEPictureImpl_Invoke param count for DISPATCH_PROPERTYGET was 1 instead of 0
fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering icons...
olepicture.c:696: Test failed: Color at 5,5 should have changed, but still was 0xF8D842
make: *** [olepicture.ok] Error 1

-------------- next part --------------
From: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Subject: [PATCH] quartz: Fix support for mpeg layer 1 and 2
Message-Id: <4E809B94.1090906 at gmail.com>
Date: Mon, 26 Sep 2011 17:34:44 +0200

Also make parse_header more quiet. 0xff is the marker for a header,
and mp3 goes out of its way to prevent this sequence from happening.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst at gmail.com>

---
diff --git a/dlls/quartz/mpegsplit.c b/dlls/quartz/mpegsplit.c
index 6043f69..059a854 100644
--- a/dlls/quartz/mpegsplit.c
+++ b/dlls/quartz/mpegsplit.c
@@ -128,12 +128,14 @@ static HRESULT parse_header(BYTE *header, LONGLONG *plen, LONGLONG *pduration)
     LONGLONG duration;
 
     int bitrate_index, freq_index, lsf = 1, mpeg1, layer, padding, bitrate, length;
+    if (header[0] != 0xff)
+        return E_INVALIDARG;
 
-    if (!(header[0] == 0xff && ((header[1]>>5)&0x7) == 0x7 &&
+    if (!(((header[1]>>5)&0x7) == 0x7 &&
        ((header[1]>>1)&0x3) != 0 && ((header[2]>>4)&0xf) != 0xf &&
        ((header[2]>>2)&0x3) != 0x3))
     {
-        FIXME("Not a valid header: %02x:%02x\n", header[0], header[1]);
+        FIXME("Not a valid header: %02x:%02x\n", header[1], header[2]);
         return E_INVALIDARG;
     }
 
@@ -147,7 +149,7 @@ static HRESULT parse_header(BYTE *header, LONGLONG *plen, LONGLONG *pduration)
     padding = ((header[2]>>1)&0x1);
 
     bitrate = tabsel_123[lsf][layer-1][bitrate_index] * 1000;
-    if (!bitrate || layer != 3)
+    if (!bitrate)
     {
         FIXME("Not a valid header: %02x:%02x:%02x:%02x\n", header[0], header[1], header[2], header[3]);
         return E_INVALIDARG;
@@ -353,6 +355,7 @@ static HRESULT MPEGSplitter_query_accept(LPVOID iface, const AM_MEDIA_TYPE *pmt)
         FIXME("MPEG-1 system streams not yet supported.\n");
     else if (IsEqualIID(&pmt->subtype, &MEDIASUBTYPE_MPEG1VideoCD))
         FIXME("MPEG-1 VideoCD streams not yet supported.\n");
+    else FIXME("%s\n", debugstr_guid(&pmt->subtype));
 
     return S_FALSE;
 }



More information about the wine-tests-results mailing list