Browse Source

audio: pipewire: Condition variable doesn't need to be atomic

The condition variable is guarded by a mutex, so no need for it to be atomic.
Frank Praznik 3 years ago
parent
commit
66866249a2
2 changed files with 5 additions and 5 deletions
  1. 2 2
      src/audio/pipewire/SDL_pipewire.c
  2. 3 3
      src/audio/pipewire/SDL_pipewire.h

+ 2 - 2
src/audio/pipewire/SDL_pipewire.c

@@ -1012,7 +1012,7 @@ stream_state_changed_callback(void *data, enum pw_stream_state old, enum pw_stre
     _THIS = data;
 
     if (state == PW_STREAM_STATE_STREAMING || state == PW_STREAM_STATE_ERROR) {
-        SDL_AtomicSet(&this->hidden->stream_initialized, 1);
+        this->hidden->stream_initialized = 1;
         PIPEWIRE_pw_thread_loop_signal(this->hidden->loop, false);
     }
 }
@@ -1167,7 +1167,7 @@ PIPEWIRE_OpenDevice(_THIS, const char *devname)
 
     /* Wait until the stream is either running or failed */
     PIPEWIRE_pw_thread_loop_lock(priv->loop);
-    if (!SDL_AtomicGet(&priv->stream_initialized)) {
+    if (!priv->stream_initialized) {
         PIPEWIRE_pw_thread_loop_wait(priv->loop);
     }
     PIPEWIRE_pw_thread_loop_unlock(priv->loop);

+ 3 - 3
src/audio/pipewire/SDL_pipewire.h

@@ -37,9 +37,9 @@ struct SDL_PrivateAudioData
     struct pw_context     *context;
     struct SDL_DataQueue  *buffer;
 
-    size_t       buffer_period_size;
-    Sint32       stride; /* Bytes-per-frame */
-    SDL_atomic_t stream_initialized;
+    size_t buffer_period_size;
+    Sint32 stride; /* Bytes-per-frame */
+    int    stream_initialized;
 };
 
 #endif /* SDL_pipewire_h_ */