// Explicitly set the muted or unmuted state of the sink. // func (self *Sink) SetMute(mute bool) error { operation := NewOperation(self.Client) var muting C.int if mute { muting = C.int(1) } else { muting = C.int(0) } operation.paOper = C.pa_context_set_sink_mute_by_index(C.pulse_get_context(), C.uint32_t(self.Index), muting, (C.pa_context_success_cb_t)(unsafe.Pointer(C.pulse_generic_success_callback)), unsafe.Pointer(operation)) // wait for the result, refresh, return any errors return operation.WaitSuccess(func(op *Operation) error { return self.Refresh() }) }
// Explicitly set the muted or unmuted state of the sink. // func (self *Sink) SetMute(mute bool) error { operation := NewOperation(self.Client) defer operation.Destroy() var muting C.int if mute { muting = C.int(1) } else { muting = C.int(0) } operation.paOper = C.pa_context_set_sink_mute_by_index(self.Client.context, C.uint32_t(self.Index), muting, (C.pa_context_success_cb_t)(C.pulse_generic_success_callback), operation.ToUserdata()) // wait for the result, refresh, return any errors if err := operation.Wait(); err == nil { return self.Refresh() } else { return err } }