diff options
Diffstat (limited to 'src/plugins/Output/pulseaudio')
| -rw-r--r-- | src/plugins/Output/pulseaudio/outputpulseaudio.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/Output/pulseaudio/outputpulseaudio.h | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp index 478d6cdc7..65fa0bff6 100644 --- a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp +++ b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp @@ -223,6 +223,13 @@ void OutputPulseAudio::resume() process(op); } +void OutputPulseAudio::setMuted(bool mute) +{ + pa_operation *op = pa_context_set_sink_input_mute(m_ctx, pa_stream_get_index(m_stream), mute, + OutputPulseAudio::context_success_cb, nullptr); + pa_operation_unref(op); +} + void OutputPulseAudio::setVolume(const VolumeSettings &v) { pa_cvolume volume = VolumePulseAudio::volumeSettingsToCvolume(v, audioParameters().channels()); diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.h b/src/plugins/Output/pulseaudio/outputpulseaudio.h index bd601fc05..ff320abf8 100644 --- a/src/plugins/Output/pulseaudio/outputpulseaudio.h +++ b/src/plugins/Output/pulseaudio/outputpulseaudio.h @@ -48,6 +48,7 @@ public: void reset() override; void suspend() override; void resume() override; + void setMuted(bool mute) override; void setVolume(const VolumeSettings &v); static OutputPulseAudio *instance; @@ -62,7 +63,6 @@ private: //callbacks static void subscribe_cb(pa_context *ctx, pa_subscription_event_type t, uint32_t index, void *data); static void info_cb(pa_context *ctx, const pa_sink_input_info * info, int, void * data); - //converters static void context_success_cb(pa_context *, int success, void *data); static void stream_success_cb(pa_stream *, int success, void *data); |
