Dear users of machines with Vista/w2k8/w7,
Unfortunately, testbot has no mmdevapi-capture enabled machine.
If you have a capture-enabled sound card, could you please run the attached patch and report results to me?
How you can tell if capture/recording works on your machine: Run the regular mmdevapi:capture and render tests as well as winmm:* (mci, wave etc.) and see if and why they skip tests.
You'll find a binary mmdevapi_test.exe (and test64.exe) on testbot: https://testbot.winehq.org/JobDetails.pl?Key=13426
Testbot's machines say: capture.c:724: Tests skipped: No sound card available capture: 1 tests executed (0 marked as todo, 0 failures), 1 skipped. 1 test is too little and shows capture was skipped.
Background: I wrote a patch to fix the Get/ReleaseBuffer protocol in the renderer. Looking at the capture code, I suppose a similar patch could apply, but I've no machine at all to test it! ("Protocol" means the order in which methods can be invoked and implies testing the error codes and effects).
Thank you for testing, Jörg Höhle
From my Win7 x64 with a Soundblaster X-Fi:
D:\Downloads>mmdevapi_test64.exe capture capture.c:208: Returned periods: 10.00000 ms 3.00000 ms capture.c:220: pwfx: 000000000067A8C0 capture.c:221: Tag: fffe capture.c:222: bits: 32 capture.c:223: chan: 2 capture.c:224: rate: 48000 capture.c:225: align: 8 capture.c:226: extra: 22 capture.c:231: Res: 32 capture.c:232: Mask: 3 capture.c:233: Alg: FLOAT capture.c:258: Test failed: IsFormatSupported(0xffffffff) call returns 88890008 capture.c:290: Returned latency: 5.03333 ms capture.c:128: Device position is at 0, amount of frames locked: 480 capture.c:548: Test failed: Master volume wasn't 1: 0.501187 capture: 177 tests executed (0 marked as todo, 2 failures), 0 skipped.
D:\Downloads>mmdevapi_test64.exe render render.c:145: Returned periods: 10.00000 ms 3.00000 ms render.c:157: pwfx: 000000000068A8C0 render.c:158: Tag: fffe render.c:159: bits: 32 render.c:160: chan: 6 render.c:161: rate: 48000 render.c:162: align: 24 render.c:163: extra: 22 render.c:168: Res: 32 render.c:169: Mask: 3f render.c:170: Alg: FLOAT render.c:238: Returned latency: 14.03853 ms render.c:595: Test failed: Position should have been further along... render.c:648: Test failed: Position should have been further along... render: 344 tests executed (0 marked as todo, 2 failures), 0 skipped.
D:\Downloads>mmdevapi_test.exe capture capture.c:208: Returned periods: 10.00000 ms 3.00000 ms capture.c:220: pwfx: 00AAC820 capture.c:221: Tag: fffe capture.c:222: bits: 32 capture.c:223: chan: 2 capture.c:224: rate: 48000 capture.c:225: align: 8 capture.c:226: extra: 22 capture.c:231: Res: 32 capture.c:232: Mask: 3 capture.c:233: Alg: FLOAT capture.c:290: Returned latency: 5.03333 ms capture.c:128: Device position is at 0, amount of frames locked: 480 capture: 177 tests executed (0 marked as todo, 0 failures), 0 skipped.
D:\Downloads>mmdevapi_test.exe render render.c:145: Returned periods: 10.00000 ms 3.00000 ms render.c:157: pwfx: 0088C820 render.c:158: Tag: fffe render.c:159: bits: 32 render.c:160: chan: 6 render.c:161: rate: 48000 render.c:162: align: 24 render.c:163: extra: 22 render.c:168: Res: 32 render.c:169: Mask: 3f render.c:170: Alg: FLOAT render.c:238: Returned latency: 14.03853 ms render.c:595: Test failed: Position should have been further along... render.c:648: Test failed: Position should have been further along... render: 344 tests executed (0 marked as todo, 2 failures), 0 skipped.
Just let me know if you need me to run more tests. Note that there's a secondary soundcard (Realtek HDA onboard) which has input, but it ain't the default so I don't know if it actually matters. There's also an AMD HDMI output, but that should not give any trouble to capturing.
Matijn
On Fri, Aug 12, 2011 at 6:07 PM, Joerg-Cyril.Hoehle@t-systems.com wrote:
Dear users of machines with Vista/w2k8/w7,
Unfortunately, testbot has no mmdevapi-capture enabled machine.
If you have a capture-enabled sound card, could you please run the attached patch and report results to me?
How you can tell if capture/recording works on your machine: Run the regular mmdevapi:capture and render tests as well as winmm:* (mci, wave etc.) and see if and why they skip tests.
You'll find a binary mmdevapi_test.exe (and test64.exe) on testbot: https://testbot.winehq.org/JobDetails.pl?Key=13426
Testbot's machines say: capture.c:724: Tests skipped: No sound card available capture: 1 tests executed (0 marked as todo, 0 failures), 1 skipped. 1 test is too little and shows capture was skipped.
Background: I wrote a patch to fix the Get/ReleaseBuffer protocol in the renderer. Looking at the capture code, I suppose a similar patch could apply, but I've no machine at all to test it! ("Protocol" means the order in which methods can be invoked and implies testing the error codes and effects).
Thank you for testing, Jörg Höhle
On Fri, Aug 12, 2011 at 10:07 AM, Joerg-Cyril.Hoehle@t-systems.com wrote:
Dear users of machines with Vista/w2k8/w7,
It looks like I got one "test failed" followed by an ok one on the second run.
This is 32 bit, Win7, on a Dell Vostro V13 laptop with a "Realtek High Definition Audio" driver version 6.0.1.5958.
-Brian
C:\Users\bvincent\Downloads>mmdevapi_test.exe capture capture.c:208: Returned periods: 10.01587 ms 3.00000 ms capture.c:220: pwfx: 00761E60 capture.c:221: Tag: fffe capture.c:222: bits: 32 capture.c:223: chan: 2 capture.c:224: rate: 44100 capture.c:225: align: 8 capture.c:226: extra: 22 capture.c:231: Res: 32 capture.c:232: Mask: 3 capture.c:233: Alg: FLOAT capture.c:290: Returned latency: 13.01180 ms capture.c:128: Device position is at 0, amount of frames locked: 448 capture.c:548: Test failed: Master volume wasn't 1: 0.769175 capture: 177 tests executed (0 marked as todo, 1 failure), 0 skipped.
C:>mmdevapi_test.exe render render.c:145: Returned periods: 10.00000 ms 3.00000 ms render.c:157: pwfx: 003310A8 render.c:158: Tag: fffe render.c:159: bits: 32 render.c:160: chan: 2 render.c:161: rate: 48000 render.c:162: align: 8 render.c:163: extra: 22 render.c:168: Res: 32 render.c:169: Mask: 3 render.c:170: Alg: FLOAT render.c:238: Returned latency: 18.01041 ms render: 336 tests executed (0 marked as todo, 0 failures), 0 skipped.
C:>mmdevapi_test.exe capture capture.c:208: Returned periods: 10.01587 ms 3.00000 ms capture.c:220: pwfx: 007B10A8 capture.c:221: Tag: fffe capture.c:222: bits: 32 capture.c:223: chan: 2 capture.c:224: rate: 44100 capture.c:225: align: 8 capture.c:226: extra: 22 capture.c:231: Res: 32 capture.c:232: Mask: 3 capture.c:233: Alg: FLOAT capture.c:290: Returned latency: 13.01180 ms capture.c:128: Device position is at 0, amount of frames locked: 448 capture: 177 tests executed (0 marked as todo, 0 failures), 0 skipped.
C:>mmdevapi_test.exe render render.c:145: Returned periods: 10.00000 ms 3.00000 ms render.c:157: pwfx: 002910A8 render.c:158: Tag: fffe render.c:159: bits: 32 render.c:160: chan: 2 render.c:161: rate: 48000 render.c:162: align: 8 render.c:163: extra: 22 render.c:168: Res: 32 render.c:169: Mask: 3 render.c:170: Alg: FLOAT render.c:238: Returned latency: 18.01041 ms render: 336 tests executed (0 marked as todo, 0 failures), 0 skipped.
Brian Vincent wrote:
It looks like I got one "test failed" followed by an ok one on the second run. capture.c:548: Test failed: Master volume wasn't 1: 0.769175
I'm not familiar with the volume test, but past winmm experience is that native may have remembered your previous volume setting (winmm default: FFFF, sort of 1.0). E.g. your mixer GUI volume setting reflects what winmm reports.
The absence of other failures proves my expectations about GetBuffer ordering, which was my major interest in this test.
Thank you, Jörg Höhle