qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [4296] Audio endianness and mutex usage fixes (malc.git).


From: Andrzej Zaborowski
Subject: [Qemu-devel] [4296] Audio endianness and mutex usage fixes (malc.git).
Date: Fri, 02 May 2008 02:24:55 +0000

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);
 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]