[vlc-commits] aout: avoid setting viewpoint more than once

Rémi Denis-Courmont git at videolan.org
Fri May 4 15:50:52 CEST 2018


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Fri May  4 16:40:37 2018 +0300| [488a1bed79a3912a7d1fb055edd14809f2b94c78] | committer: Rémi Denis-Courmont

aout: avoid setting viewpoint more than once

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=488a1bed79a3912a7d1fb055edd14809f2b94c78
---

 src/audio_output/dec.c    | 5 +++--
 src/audio_output/output.c | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/audio_output/dec.c b/src/audio_output/dec.c
index 1659a314d5..d395f8a9ec 100644
--- a/src/audio_output/dec.c
+++ b/src/audio_output/dec.c
@@ -108,7 +108,7 @@ error:
 
     atomic_init (&owner->buffers_lost, 0);
     atomic_init (&owner->buffers_played, 0);
-    atomic_store (&owner->vp.update, true);
+    atomic_store_explicit(&owner->vp.update, true, memory_order_relaxed);
     return 0;
 }
 
@@ -377,10 +377,11 @@ int aout_DecPlay(audio_output_t *aout, block_t *block)
     if (block->i_flags & BLOCK_FLAG_DISCONTINUITY)
         owner->sync.discontinuity = true;
 
-    if (atomic_exchange(&owner->vp.update, false))
+    if (atomic_load_explicit(&owner->vp.update, memory_order_relaxed))
     {
         vlc_mutex_lock (&owner->vp.lock);
         aout_FiltersChangeViewpoint (owner->filters, &owner->vp.value);
+        atomic_store_explicit(&owner->vp.update, false, memory_order_relaxed);
         vlc_mutex_unlock (&owner->vp.lock);
     }
 
diff --git a/src/audio_output/output.c b/src/audio_output/output.c
index c077631a2b..1bbbe9716e 100644
--- a/src/audio_output/output.c
+++ b/src/audio_output/output.c
@@ -930,6 +930,6 @@ static void aout_ChangeViewpoint(audio_output_t *aout,
 
     vlc_mutex_lock(&owner->vp.lock);
     owner->vp.value = *p_viewpoint;
-    atomic_store(&owner->vp.update, true);
+    atomic_store_explicit(&owner->vp.update, true, memory_order_relaxed);
     vlc_mutex_unlock(&owner->vp.lock);
 }



More information about the vlc-commits mailing list