From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44025) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X2zje-00050N-F7 for qemu-devel@nongnu.org; Fri, 04 Jul 2014 05:24:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X2zjY-0001AU-Bo for qemu-devel@nongnu.org; Fri, 04 Jul 2014 05:24:50 -0400 Received: from mail-qg0-f49.google.com ([209.85.192.49]:43452) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X2zjY-0001AO-7d for qemu-devel@nongnu.org; Fri, 04 Jul 2014 05:24:44 -0400 Received: by mail-qg0-f49.google.com with SMTP id f51so1252290qge.36 for ; Fri, 04 Jul 2014 02:24:43 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <87lhsaudd7.fsf@blackfin.pond.sub.org> References: <204C8AEC-4973-4F6D-A7D4-4E0108F754C0@gmail.com> <87lhsaudd7.fsf@blackfin.pond.sub.org> From: Anshul Makkar Date: Fri, 4 Jul 2014 11:24:22 +0200 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] Help debugging audio problem List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Programmingkid , qemu-devel Use of glue is heavily uses in audio code. I completely redesigned it for Virtualbox and removed all the hard to understand glue code :) . Not sure if this glue magic is such heavily used anywhere else also. Moreover audio code uses one big monolythic big audio file audio.c . So bringing modularity was another aim of my redesigning. Anshul Makkar On Thu, Jul 3, 2014 at 9:10 AM, Markus Armbruster wrote: > Programmingkid writes: > >> What does this code mean? >> >> if (!glue (s->nb_hw_voices_, TYPE)) { >> return NULL; >> } >> >> The code is found in audio_template.h at line 244. >> >> I tried using GDB to figure out what it was doing, but had little luck. >> >> The AC97 sound card does not work, and I'm trying to change that. >> >> Any help would be great. Thanks. > > Definition of macro glue is in osdep.h. It glues together its > arguments. Consult your textbook on C to understand how that kind of > arcane preprocessor magic works. > > The audio subsystem is exceedingly fond of magic. > > In actual use, macro TYPE has either value in or out, thus the result is > either s->nb_hw_voices_in or s->nb_hw_voices_out. >