OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 14 matching lines...) Expand all Loading... |
25 class AudioProcessing; | 25 class AudioProcessing; |
26 class FileWrapper; | 26 class FileWrapper; |
27 class VoEMediaProcess; | 27 class VoEMediaProcess; |
28 | 28 |
29 namespace voe { | 29 namespace voe { |
30 class Statistics; | 30 class Statistics; |
31 | 31 |
32 // Note: this class is in the process of being rewritten and merged | 32 // Note: this class is in the process of being rewritten and merged |
33 // with AudioConferenceMixer. Expect inheritance chains to be changed, | 33 // with AudioConferenceMixer. Expect inheritance chains to be changed, |
34 // member functions removed or renamed. | 34 // member functions removed or renamed. |
35 class AudioMixer : public OldAudioMixerOutputReceiver, public FileCallback { | 35 class AudioMixer : public FileCallback { |
36 public: | 36 public: |
37 static int32_t Create(AudioMixer*& mixer, uint32_t instanceId); // NOLINT | 37 static int32_t Create(AudioMixer*& mixer, uint32_t instanceId); // NOLINT |
38 | 38 |
39 static void Destroy(AudioMixer*& mixer); // NOLINT | 39 static void Destroy(AudioMixer*& mixer); // NOLINT |
40 | 40 |
41 int32_t SetEngineInformation(Statistics& engineStatistics); // NOLINT | 41 int32_t SetEngineInformation(Statistics& engineStatistics); // NOLINT |
42 | 42 |
43 int32_t SetAudioProcessingModule(AudioProcessing* audioProcessingModule); | 43 int32_t SetAudioProcessingModule(AudioProcessing* audioProcessingModule); |
44 | 44 |
45 // VoEExternalMedia | 45 // VoEExternalMedia |
46 int RegisterExternalMediaProcessing(VoEMediaProcess& // NOLINT | 46 int RegisterExternalMediaProcessing(VoEMediaProcess& // NOLINT |
47 proccess_object); | 47 proccess_object); |
48 | 48 |
49 int DeRegisterExternalMediaProcessing(); | 49 int DeRegisterExternalMediaProcessing(); |
50 | 50 |
51 int32_t MixActiveChannels(); | 51 int32_t MixActiveChannels(); |
52 | 52 |
53 int32_t DoOperationsOnCombinedSignal(bool feed_data_to_apm); | 53 int32_t DoOperationsOnCombinedSignal(bool feed_data_to_apm); |
54 | 54 |
55 int32_t SetMixabilityStatus(MixerAudioSource& participant, // NOLINT | 55 int32_t SetMixabilityStatus(MixerAudioSource& audio_source, // NOLINT |
56 bool mixable); | 56 bool mixable); |
57 | 57 |
58 int32_t SetAnonymousMixabilityStatus(MixerAudioSource& participant, // NOLINT | 58 int32_t SetAnonymousMixabilityStatus( |
59 bool mixable); | 59 MixerAudioSource& audio_source, // NOLINT |
| 60 bool mixable); |
60 | 61 |
61 int GetMixedAudio(int sample_rate_hz, | 62 int GetMixedAudio(int sample_rate_hz, |
62 size_t num_channels, | 63 size_t num_channels, |
63 AudioFrame* audioFrame); | 64 AudioFrame* audioFrame); |
64 | 65 |
65 // VoEVolumeControl | 66 // VoEVolumeControl |
66 int GetSpeechOutputLevel(uint32_t& level); // NOLINT | 67 int GetSpeechOutputLevel(uint32_t& level); // NOLINT |
67 | 68 |
68 int GetSpeechOutputLevelFullRange(uint32_t& level); // NOLINT | 69 int GetSpeechOutputLevelFullRange(uint32_t& level); // NOLINT |
69 | 70 |
70 int SetOutputVolumePan(float left, float right); | 71 int SetOutputVolumePan(float left, float right); |
71 | 72 |
72 int GetOutputVolumePan(float& left, float& right); // NOLINT | 73 int GetOutputVolumePan(float& left, float& right); // NOLINT |
73 | 74 |
74 // VoEFile | 75 // VoEFile |
75 int StartRecordingPlayout(const char* fileName, const CodecInst* codecInst); | 76 int StartRecordingPlayout(const char* fileName, const CodecInst* codecInst); |
76 | 77 |
77 int StartRecordingPlayout(OutStream* stream, const CodecInst* codecInst); | 78 int StartRecordingPlayout(OutStream* stream, const CodecInst* codecInst); |
78 int StopRecordingPlayout(); | 79 int StopRecordingPlayout(); |
79 | 80 |
80 virtual ~AudioMixer(); | 81 virtual ~AudioMixer(); |
81 | 82 |
82 // from AudioMixerOutputReceiver | |
83 virtual void NewMixedAudio(int32_t id, | |
84 const AudioFrame& generalAudioFrame, | |
85 const AudioFrame** uniqueAudioFrames, | |
86 uint32_t size); | |
87 | |
88 // For file recording | 83 // For file recording |
89 void PlayNotification(int32_t id, uint32_t durationMs); | 84 void PlayNotification(int32_t id, uint32_t durationMs); |
90 | 85 |
91 void RecordNotification(int32_t id, uint32_t durationMs); | 86 void RecordNotification(int32_t id, uint32_t durationMs); |
92 | 87 |
93 void PlayFileEnded(int32_t id); | 88 void PlayFileEnded(int32_t id); |
94 void RecordFileEnded(int32_t id); | 89 void RecordFileEnded(int32_t id); |
95 | 90 |
96 private: | 91 private: |
97 explicit AudioMixer(uint32_t instanceId); | 92 explicit AudioMixer(uint32_t instanceId); |
(...skipping 20 matching lines...) Expand all Loading... |
118 int _mixingFrequencyHz; | 113 int _mixingFrequencyHz; |
119 FileRecorder* _outputFileRecorderPtr; | 114 FileRecorder* _outputFileRecorderPtr; |
120 bool _outputFileRecording; | 115 bool _outputFileRecording; |
121 }; | 116 }; |
122 | 117 |
123 } // namespace voe | 118 } // namespace voe |
124 | 119 |
125 } // namespace webrtc | 120 } // namespace webrtc |
126 | 121 |
127 #endif // WEBRTC_MODULES_AUDIO_MIXER_AUDIO_MIXER_H_ | 122 #endif // WEBRTC_MODULES_AUDIO_MIXER_AUDIO_MIXER_H_ |
OLD | NEW |