[Bug 27184] Unhandled Exception in CoreAudio (AudioRenderClient_ReleaseBuffer)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Jun 6 01:46:21 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=27184

--- Comment #2 from Jörg Höhle <hoehle at users.sourceforge.net> 2011-06-06 01:46:14 CDT ---
Created an attachment (id=35042)
 --> (http://bugs.winehq.org/attachment.cgi?id=35042)
render.c test output to compare with testbot job #11482

The crash with my render test occurs after GetData yields a NULL data pointer.
This happens when GetCurrentPadding equals GetBufferSize, and the renderer
invokes GetData(numFramesRequested=0). We need a testcase to cover this "buffer
full" situation.

MSDN says: "If the caller sets NumFramesRequested = 0, the method returns
status code S_OK but does not write to the variable that the ppData parameter
points to." I.e. the data pointer is not initialized!
ReleaseBuffer must not crash in such a case, because "The client has the option
of calling or not calling ReleaseBuffer to release a packet of size 0."

Note that in native, my player does not trigger such a "buffer full" situation,
because after sleeping for 100ms, 9-10 10ms chunks will be found free.
That could be another bug.  If you look at the attached output from
render.c:723 GetCurrentPadding on MacOS, you'll note "available space"
behaviour vastly different from native.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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