11
11
#ifndef MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_DEFAULT_H_
12
12
#define MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_DEFAULT_H_
13
13
14
- #include " modules/audio_device/audio_device_buffer.h"
15
14
#include " modules/audio_device/include/audio_device.h"
16
- #include " api/task_queue/default_task_queue_factory.h"
17
- #include " api/task_queue/task_queue_factory.h"
18
- #include " rtc_base/critical_section.h"
19
- #include " rtc_base/platform_thread.h"
20
- #include " rtc_base/time_utils.h"
21
- #include " system_wrappers/include/sleep.h"
22
15
23
16
namespace webrtc {
24
17
namespace webrtc_impl {
@@ -29,15 +22,11 @@ namespace webrtc_impl {
29
22
template <typename T>
30
23
class AudioDeviceModuleDefault : public T {
31
24
public:
32
- AudioDeviceModuleDefault () {
33
- task_queue_factory = webrtc::CreateDefaultTaskQueueFactory ();
34
- audio_device_buffer.reset (new AudioDeviceBuffer (task_queue_factory.get ()));
35
- playout_frames_in_10ms = 48000 / 100 ;
36
- }
25
+ AudioDeviceModuleDefault () {}
37
26
virtual ~AudioDeviceModuleDefault () {}
38
27
39
28
int32_t RegisterAudioCallback (AudioTransport* audioCallback) override {
40
- return audio_device_buffer-> RegisterAudioCallback (audioCallback) ;
29
+ return 0 ;
41
30
}
42
31
int32_t Init () override { return 0 ; }
43
32
int32_t InitSpeaker () override { return 0 ; }
@@ -47,17 +36,7 @@ class AudioDeviceModuleDefault : public T {
47
36
return 0 ;
48
37
}
49
38
int32_t SetStereoPlayout (bool enable) override { return 0 ; }
50
- int32_t StopPlayout () override {
51
- {
52
- rtc::CritScope lock (&_critSect);
53
- playing = false ;
54
- }
55
- if (play_thread.get ()) {
56
- play_thread->Stop ();
57
- play_thread.reset ();
58
- }
59
- return 0 ;
60
- }
39
+ int32_t StopPlayout () override { return 0 ; }
61
40
int32_t InitMicrophone () override { return 0 ; }
62
41
int32_t SetRecordingDevice (uint16_t index) override { return 0 ; }
63
42
int32_t SetRecordingDevice (
@@ -86,35 +65,16 @@ class AudioDeviceModuleDefault : public T {
86
65
char guid[kAdmMaxGuidSize ]) override {
87
66
return 0 ;
88
67
}
89
- int32_t PlayoutIsAvailable (bool * available) override {
90
- *available = true ;
91
- return 0 ;
92
- }
93
- int32_t InitPlayout () override {
94
- rtc::CritScope lock (&_critSect);
95
- if (audio_device_buffer.get ()) {
96
- audio_device_buffer->SetPlayoutSampleRate (48000 );
97
- audio_device_buffer->SetPlayoutChannels (2 );
98
- }
99
- return 0 ;
100
- }
68
+ int32_t PlayoutIsAvailable (bool * available) override { return 0 ; }
69
+ int32_t InitPlayout () override { return 0 ; }
101
70
bool PlayoutIsInitialized () const override { return true ; }
102
71
int32_t RecordingIsAvailable (bool * available) override { return 0 ; }
103
72
int32_t InitRecording () override { return 0 ; }
104
73
bool RecordingIsInitialized () const override { return true ; }
105
- int32_t StartPlayout () override {
106
- if (playing)
107
- return 0 ;
108
-
109
- playing = true ;
110
- play_thread.reset (new rtc::PlatformThread (PlayThreadFunc,
111
- this , " fake_audio_play_thread" , rtc::kRealtimePriority ));
112
- play_thread->Start ();
113
- return 0 ;
114
- }
115
- bool Playing () const override { return playing; }
74
+ int32_t StartPlayout () override { return 0 ; }
75
+ bool Playing () const override { return false ; }
116
76
int32_t StartRecording () override { return 0 ; }
117
- bool Recording () const override { return true ; }
77
+ bool Recording () const override { return false ; }
118
78
bool SpeakerIsInitialized () const override { return true ; }
119
79
bool MicrophoneIsInitialized () const override { return true ; }
120
80
int32_t SpeakerVolumeIsAvailable (bool * available) override { return 0 ; }
@@ -134,12 +94,12 @@ class AudioDeviceModuleDefault : public T {
134
94
int32_t SetMicrophoneMute (bool enable) override { return 0 ; }
135
95
int32_t MicrophoneMute (bool * enabled) const override { return 0 ; }
136
96
int32_t StereoPlayoutIsAvailable (bool * available) const override {
137
- *available = true ;
97
+ *available = false ;
138
98
return 0 ;
139
99
}
140
100
int32_t StereoPlayout (bool * enabled) const override { return 0 ; }
141
101
int32_t StereoRecordingIsAvailable (bool * available) const override {
142
- *available = true ;
102
+ *available = false ;
143
103
return 0 ;
144
104
}
145
105
int32_t StereoRecording (bool * enabled) const override { return 0 ; }
@@ -156,40 +116,6 @@ class AudioDeviceModuleDefault : public T {
156
116
157
117
int32_t GetPlayoutUnderrunCount () const override { return -1 ; }
158
118
159
- bool PlayThreadProcess () {
160
- if (!playing)
161
- return false ;
162
- int64_t current_time = rtc::TimeMillis ();
163
-
164
- _critSect.Enter ();
165
- if (last_call_millis == 0 ||
166
- current_time - last_call_millis >= 10 ) {
167
- _critSect.Leave ();
168
- audio_device_buffer->RequestPlayoutData (playout_frames_in_10ms);
169
- _critSect.Enter ();
170
- last_call_millis = current_time;
171
- }
172
- _critSect.Leave ();
173
- int64_t delta_time = rtc::TimeMillis () - current_time;
174
- if (delta_time < 10 ) {
175
- SleepMs (10 - delta_time);
176
- }
177
- return true ;
178
- }
179
-
180
- static void PlayThreadFunc (void * pThis) {
181
- AudioDeviceModuleDefault* device = static_cast <AudioDeviceModuleDefault*>(pThis);
182
- while (device->PlayThreadProcess ()) {
183
- }
184
- }
185
- std::unique_ptr<AudioDeviceBuffer> audio_device_buffer;
186
- std::unique_ptr<rtc::PlatformThread> play_thread;
187
- size_t playout_frames_in_10ms;
188
- rtc::CriticalSection _critSect;
189
- bool playing = false ;
190
- int64_t last_call_millis = 0 ;
191
- std::unique_ptr<webrtc::TaskQueueFactory> task_queue_factory;
192
-
193
119
#if defined(WEBRTC_IOS)
194
120
int GetPlayoutAudioParameters (AudioParameters* params) const override {
195
121
return -1 ;
0 commit comments