From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JrkxG-0004zs-CB for qemu-devel@nongnu.org; Thu, 01 May 2008 22:24:58 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JrkxF-0004za-Ll for qemu-devel@nongnu.org; Thu, 01 May 2008 22:24:57 -0400 Received: from [199.232.76.173] (port=50192 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JrkxF-0004zX-HY for qemu-devel@nongnu.org; Thu, 01 May 2008 22:24:57 -0400 Received: from savannah.gnu.org ([199.232.41.3] helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JrkxF-0000PV-DY for qemu-devel@nongnu.org; Thu, 01 May 2008 22:24:57 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1JrkxE-0007GM-Bk for qemu-devel@nongnu.org; Fri, 02 May 2008 02:24:56 +0000 Received: from balrog by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1JrkxD-0007Fr-SA for qemu-devel@nongnu.org; Fri, 02 May 2008 02:24:56 +0000 MIME-Version: 1.0 Errors-To: balrog Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Andrzej Zaborowski Message-Id: Date: Fri, 02 May 2008 02:24:55 +0000 Subject: [Qemu-devel] [4296] Audio endianness and mutex usage fixes (malc.git). Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 4296 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4296 Author: balrog Date: 2008-05-02 02:24:55 +0000 (Fri, 02 May 2008) Log Message: ----------- Audio endianness and mutex usage fixes (malc.git). >>From http://repo.or.cz/w/qemu/malc.git?a=shortlog;h=refs/heads/audio : Implicitly lock the mutex at startup of playback/capture threads, otherwise pthread_mutex_destroy (in audio_pt_fini) fails with EBUSY. Endianness fix. Remove a c&p residue. Modified Paths: -------------- trunk/audio/esdaudio.c Modified: trunk/audio/esdaudio.c =================================================================== --- trunk/audio/esdaudio.c 2008-05-02 01:35:20 UTC (rev 4295) +++ trunk/audio/esdaudio.c 2008-05-02 02:24:55 UTC (rev 4296) @@ -84,6 +84,10 @@ threshold = conf.divisor ? hw->samples / conf.divisor : 0; + if (audio_pt_lock (&esd->pt, AUDIO_FUNC)) { + return NULL; + } + for (;;) { int decr, to_mix, rpos; @@ -215,13 +219,10 @@ default: dolog ("Internal logic error: Bad audio format %d\n", as->fmt); -#ifdef DEBUG_FMOD - abort (); -#endif goto deffmt; } - obt_as.endianness = 0; + obt_as.endianness = AUDIO_HOST_ENDIANNESS; audio_pcm_init_info (&hw->info, &obt_as); @@ -315,6 +316,10 @@ threshold = conf.divisor ? hw->samples / conf.divisor : 0; + if (audio_pt_lock (&esd->pt, AUDIO_FUNC)) { + return NULL; + } + for (;;) { int incr, to_grab, wpos; @@ -447,7 +452,7 @@ obt_as.fmt = AUD_FMT_S16; break; } - obt_as.endianness = 0; + obt_as.endianness = AUDIO_HOST_ENDIANNESS; audio_pcm_init_info (&hw->info, &obt_as);