Kaynağa Gözat

UI: Sanitize muted handling in VolControl

Palana 10 yıl önce
ebeveyn
işleme
9ddbb1077a
2 değiştirilmiş dosya ile 6 ekleme ve 4 silme
  1. 5 3
      obs/volume-control.cpp
  2. 1 1
      obs/volume-control.hpp

+ 5 - 3
obs/volume-control.cpp

@@ -28,11 +28,13 @@ void VolControl::OBSVolumeLevel(void *data, calldata_t *calldata)
 	float peak      = calldata_float(calldata, "level");
 	float mag       = calldata_float(calldata, "magnitude");
 	float peakHold  = calldata_float(calldata, "peak");
+	bool  muted     = calldata_bool (calldata, "muted");
 
 	QMetaObject::invokeMethod(volControl, "VolumeLevel",
 		Q_ARG(float, mag),
 		Q_ARG(float, peak),
-		Q_ARG(float, peakHold));
+		Q_ARG(float, peakHold),
+		Q_ARG(bool,  muted));
 }
 
 void VolControl::OBSVolumeMuted(void *data, calldata_t *calldata)
@@ -53,9 +55,9 @@ void VolControl::VolumeChanged()
 	updateText();
 }
 
-void VolControl::VolumeLevel(float mag, float peak, float peakHold)
+void VolControl::VolumeLevel(float mag, float peak, float peakHold, bool muted)
 {
-	if (obs_source_muted(source) || !obs_source_enabled(source)) {
+	if (muted) {
 		mag = 0.0f;
 		peak = 0.0f;
 		peakHold = 0.0f;

+ 1 - 1
obs/volume-control.hpp

@@ -60,7 +60,7 @@ private:
 private slots:
 	void VolumeChanged();
 	void VolumeMuted(bool muted);
-	void VolumeLevel(float mag, float peak, float peakHold);
+	void VolumeLevel(float mag, float peak, float peakHold, bool muted);
 
 	void SetMuted(bool checked);
 	void SliderChanged(int vol);