Re: winmm: Fix notification when recording using MSACM.
<Joerg-Cyril.Hoehle(a)t-systems.com> writes:
To achieve this, we eliminate the tail call and turn it into a loop, which allows us to preserve the local state in the variable "last".
Please do this as a proper loop, not with a goto. -- Alexandre Julliard julliard(a)winehq.org
Hi, Alexandre Julliard wrote:
To achieve this, we eliminate the tail call and turn it into a loop, which allows us to preserve the local state in the variable "last". Please do this as a proper loop, not with a goto.
In bug #33155 I explained that Wine's PullACMData needs a redesign http://bugs.winehq.org/show_bug.cgi?id=33155 The core issue is the fundamental impedance mismatch between mmdevapi capture and WinMM/ACM recording w.r.t. packet/headers sizes that shows off depending on codec's block size. I have no plans to fix that. Any takers? As a consequence, I won't spend time now refactoring the existing misdesigned code into a set of nested loops -- still as misdesigned -- just to eliminate a goto. So the choice was: - Perform a tiny surgical change now, using a goto, with the benefit that 1:1 ACM codecs like µ-Law or A-Law would start working, while all others are left in the cold, waiting for a redesign. - Leave as is, waiting for somebody to perform the redesign. Meanwhile, ACM recording doesn't work at all and the whole function could as well be replaced by a single FIXME line. Regards, Jörg Höhle
participants (2)
-
Alexandre Julliard -
Joerg-Cyril.Hoehle@t-systems.com