audio: Fixed previous non-implemented PauseAudio(true)
authorJerome St-Louis <jerome@ecere.com>
Wed, 6 Aug 2014 23:11:35 +0000 (19:11 -0400)
committerJerome St-Louis <jerome@ecere.com>
Wed, 6 Aug 2014 23:12:22 +0000 (19:12 -0400)
- Also changed the parameter from an int to a bool

audio/alsa.ec
audio/audio.ec
audio/dsound.ec

index 563190b..8305a85 100644 (file)
@@ -144,12 +144,15 @@ public int OpenAudio(AudioSpec wanted, AudioSpec result)
    return 1;
 }
 
-public void PauseAudio(int value)
+public void PauseAudio(bool value)
 {
-   if(!value)
+   if(value)
    {
-      soundThread.Create();
+      soundThread.done = true;
+      soundThread.Wait();
    }
+   else
+      soundThread.Create();
 }
 
 public void CloseAudio()
index 812dd8d..1f53ca2 100644 (file)
@@ -27,5 +27,5 @@ public bool AudioSetVolume(VolumeControl type, double percent);
 public bool AudioGetVolume(VolumeControl type, double * percent);
 public void AudioSetBalance(double percent);
 public int OpenAudio(AudioSpec wanted, AudioSpec result);
-public void PauseAudio(int value);
+public void PauseAudio(bool value);
 public void CloseAudio();
index d52c0c2..4c91ca0 100644 (file)
@@ -184,9 +184,15 @@ public int OpenAudio(AudioSpec wanted, AudioSpec result)
    return 0;
 }
 
-public void PauseAudio(int value)
+public void PauseAudio(bool value)
 {
-   if(!value)
+   if(value)
+   {
+      dSoundThread.bDone = true;
+      SetEvent(dSoundThread.g_hNotificationEvent);
+      dSoundThread.Wait();
+   }
+   else
    {
       PlayBuffer(false);
       dSoundThread.Create();