summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ext/pulse/pulsemixerctrl.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/ext/pulse/pulsemixerctrl.c b/ext/pulse/pulsemixerctrl.c
index 41b68cfc..ae807c66 100644
--- a/ext/pulse/pulsemixerctrl.c
+++ b/ext/pulse/pulsemixerctrl.c
@@ -93,10 +93,11 @@ gst_pulsemixer_ctrl_sink_info_cb (pa_context * context, const pa_sink_info * i,
c->type = GST_PULSEMIXER_SINK;
if (c->track) {
- int i = g_atomic_int_get ((gint *) & c->track->flags);
+ GstMixerTrackFlags flags = c->track->flags;
- i = (i & ~GST_MIXER_TRACK_MUTE) | (c->muted ? GST_MIXER_TRACK_MUTE : 0);
- g_atomic_int_set ((gint *) & c->track->flags, i);
+ flags =
+ (flags & ~GST_MIXER_TRACK_MUTE) | (c->muted ? GST_MIXER_TRACK_MUTE : 0);
+ c->track->flags = flags;
}
c->operation_success = 1;
@@ -142,10 +143,11 @@ gst_pulsemixer_ctrl_source_info_cb (pa_context * context,
c->type = GST_PULSEMIXER_SOURCE;
if (c->track) {
- int i = g_atomic_int_get ((gint *) & c->track->flags);
+ GstMixerTrackFlags flags = c->track->flags;
- i = (i & ~GST_MIXER_TRACK_MUTE) | (c->muted ? GST_MIXER_TRACK_MUTE : 0);
- g_atomic_int_set ((gint *) & c->track->flags, i);
+ flags =
+ (flags & ~GST_MIXER_TRACK_MUTE) | (c->muted ? GST_MIXER_TRACK_MUTE : 0);
+ c->track->flags = flags;
}
c->operation_success = 1;
@@ -572,10 +574,11 @@ gst_pulsemixer_ctrl_set_mute (GstPulseMixerCtrl * c, GstMixerTrack * track,
c->update_mute = TRUE;
if (c->track) {
- int i = g_atomic_int_get ((gint *) & c->track->flags);
+ GstMixerTrackFlags flags = c->track->flags;
- i = (i & ~GST_MIXER_TRACK_MUTE) | (c->muted ? GST_MIXER_TRACK_MUTE : 0);
- g_atomic_int_set ((gint *) & c->track->flags, i);
+ flags =
+ (flags & ~GST_MIXER_TRACK_MUTE) | (c->muted ? GST_MIXER_TRACK_MUTE : 0);
+ c->track->flags = flags;
}
restart_time_event (c);