muteable.h 766 B

1234567891011121314151617181920212223
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef SERVICES_AUDIO_MUTEABLE_H_
  5. #define SERVICES_AUDIO_MUTEABLE_H_
  6. namespace audio {
  7. class Muteable {
  8. public:
  9. // Starts/Stops muting of the outbound audio signal from this group member.
  10. // However, the audio data being sent to Snoopers should be the original,
  11. // unmuted audio. Note that an equal number of start versus stop calls here is
  12. // not required, and the implementation should ignore redundant calls.
  13. virtual void StartMuting() = 0;
  14. virtual void StopMuting() = 0;
  15. protected:
  16. virtual ~Muteable() = default;
  17. };
  18. } // namespace audio
  19. #endif // SERVICES_AUDIO_MUTEABLE_H_