diff options
Diffstat (limited to 'webrtc/modules/audio_conference_mixer/interface')
-rw-r--r-- | webrtc/modules/audio_conference_mixer/interface/audio_conference_mixer.h | 77 | ||||
-rw-r--r-- | webrtc/modules/audio_conference_mixer/interface/audio_conference_mixer_defines.h | 60 |
2 files changed, 0 insertions, 137 deletions
diff --git a/webrtc/modules/audio_conference_mixer/interface/audio_conference_mixer.h b/webrtc/modules/audio_conference_mixer/interface/audio_conference_mixer.h deleted file mode 100644 index 7ff39579ee..0000000000 --- a/webrtc/modules/audio_conference_mixer/interface/audio_conference_mixer.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#ifndef WEBRTC_MODULES_AUDIO_CONFERENCE_MIXER_INTERFACE_AUDIO_CONFERENCE_MIXER_H_ -#define WEBRTC_MODULES_AUDIO_CONFERENCE_MIXER_INTERFACE_AUDIO_CONFERENCE_MIXER_H_ - -#include "webrtc/modules/audio_conference_mixer/interface/audio_conference_mixer_defines.h" -#include "webrtc/modules/interface/module.h" -#include "webrtc/modules/interface/module_common_types.h" - -namespace webrtc { -class AudioMixerOutputReceiver; -class MixerParticipant; -class Trace; - -class AudioConferenceMixer : public Module -{ -public: - enum {kMaximumAmountOfMixedParticipants = 3}; - enum Frequency - { - kNbInHz = 8000, - kWbInHz = 16000, - kSwbInHz = 32000, - kFbInHz = 48000, - kLowestPossible = -1, - kDefaultFrequency = kWbInHz - }; - - // Factory method. Constructor disabled. - static AudioConferenceMixer* Create(int id); - virtual ~AudioConferenceMixer() {} - - // Module functions - int64_t TimeUntilNextProcess() override = 0; - int32_t Process() override = 0; - - // Register/unregister a callback class for receiving the mixed audio. - virtual int32_t RegisterMixedStreamCallback( - AudioMixerOutputReceiver* receiver) = 0; - virtual int32_t UnRegisterMixedStreamCallback() = 0; - - // Add/remove participants as candidates for mixing. - virtual int32_t SetMixabilityStatus(MixerParticipant* participant, - bool mixable) = 0; - // Returns true if a participant is a candidate for mixing. - virtual bool MixabilityStatus( - const MixerParticipant& participant) const = 0; - - // Inform the mixer that the participant should always be mixed and not - // count toward the number of mixed participants. Note that a participant - // must have been added to the mixer (by calling SetMixabilityStatus()) - // before this function can be successfully called. - virtual int32_t SetAnonymousMixabilityStatus( - MixerParticipant* participant, bool mixable) = 0; - // Returns true if the participant is mixed anonymously. - virtual bool AnonymousMixabilityStatus( - const MixerParticipant& participant) const = 0; - - // Set the minimum sampling frequency at which to mix. The mixing algorithm - // may still choose to mix at a higher samling frequency to avoid - // downsampling of audio contributing to the mixed audio. - virtual int32_t SetMinimumMixingFrequency(Frequency freq) = 0; - -protected: - AudioConferenceMixer() {} -}; -} // namespace webrtc - -#endif // WEBRTC_MODULES_AUDIO_CONFERENCE_MIXER_INTERFACE_AUDIO_CONFERENCE_MIXER_H_ diff --git a/webrtc/modules/audio_conference_mixer/interface/audio_conference_mixer_defines.h b/webrtc/modules/audio_conference_mixer/interface/audio_conference_mixer_defines.h deleted file mode 100644 index d15b7fca02..0000000000 --- a/webrtc/modules/audio_conference_mixer/interface/audio_conference_mixer_defines.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#ifndef WEBRTC_MODULES_AUDIO_CONFERENCE_MIXER_INTERFACE_AUDIO_CONFERENCE_MIXER_DEFINES_H_ -#define WEBRTC_MODULES_AUDIO_CONFERENCE_MIXER_INTERFACE_AUDIO_CONFERENCE_MIXER_DEFINES_H_ - -#include "webrtc/modules/interface/module_common_types.h" -#include "webrtc/typedefs.h" - -namespace webrtc { -class MixHistory; - -// A callback class that all mixer participants must inherit from/implement. -class MixerParticipant -{ -public: - // The implementation of this function should update audioFrame with new - // audio every time it's called. - // - // If it returns -1, the frame will not be added to the mix. - virtual int32_t GetAudioFrame(int32_t id, - AudioFrame* audioFrame) = 0; - - // Returns true if the participant was mixed this mix iteration. - bool IsMixed() const; - - // This function specifies the sampling frequency needed for the AudioFrame - // for future GetAudioFrame(..) calls. - virtual int32_t NeededFrequency(int32_t id) const = 0; - - MixHistory* _mixHistory; -protected: - MixerParticipant(); - virtual ~MixerParticipant(); -}; - -class AudioMixerOutputReceiver -{ -public: - // This callback function provides the mixed audio for this mix iteration. - // Note that uniqueAudioFrames is an array of AudioFrame pointers with the - // size according to the size parameter. - virtual void NewMixedAudio(const int32_t id, - const AudioFrame& generalAudioFrame, - const AudioFrame** uniqueAudioFrames, - const uint32_t size) = 0; -protected: - AudioMixerOutputReceiver() {} - virtual ~AudioMixerOutputReceiver() {} -}; -} // namespace webrtc - -#endif // WEBRTC_MODULES_AUDIO_CONFERENCE_MIXER_INTERFACE_AUDIO_CONFERENCE_MIXER_DEFINES_H_ |