OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | |
3 * | |
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 | |
6 * tree. An additional intellectual property rights grant can be found | |
7 * in the file PATENTS. All contributing project authors may | |
8 * be found in the AUTHORS file in the root of the source tree. | |
9 */ | |
10 | |
11 #include "webrtc/voice_engine/transmit_mixer.h" | |
12 | |
13 #include "webrtc/test/gtest.h" | |
14 #include "webrtc/voice_engine/include/voe_external_media.h" | |
15 | |
16 namespace webrtc { | |
17 namespace voe { | |
18 namespace { | |
19 | |
20 class MediaCallback : public VoEMediaProcess { | |
21 public: | |
22 virtual void Process(int channel, ProcessingTypes type, | |
23 int16_t audio[], size_t samples_per_channel, | |
24 int sample_rate_hz, bool is_stereo) { | |
25 } | |
26 }; | |
27 | |
28 // TODO(andrew): Mock VoEMediaProcess, and verify the behavior when calling | |
29 // PrepareDemux(). | |
30 TEST(TransmitMixerTest, RegisterExternalMediaCallback) { | |
31 TransmitMixer* tm = NULL; | |
32 ASSERT_EQ(0, TransmitMixer::Create(tm, 0)); | |
33 ASSERT_TRUE(tm != NULL); | |
34 MediaCallback callback; | |
35 EXPECT_EQ(-1, tm->RegisterExternalMediaProcessing(NULL, | |
36 kRecordingPreprocessing)); | |
37 EXPECT_EQ(-1, tm->RegisterExternalMediaProcessing(&callback, | |
38 kPlaybackPerChannel)); | |
39 EXPECT_EQ(-1, tm->RegisterExternalMediaProcessing(&callback, | |
40 kPlaybackAllChannelsMixed)); | |
41 EXPECT_EQ(-1, tm->RegisterExternalMediaProcessing(&callback, | |
42 kRecordingPerChannel)); | |
43 EXPECT_EQ(0, tm->RegisterExternalMediaProcessing(&callback, | |
44 kRecordingAllChannelsMixed)); | |
45 EXPECT_EQ(0, tm->RegisterExternalMediaProcessing(&callback, | |
46 kRecordingPreprocessing)); | |
47 EXPECT_EQ(-1, tm->DeRegisterExternalMediaProcessing(kPlaybackPerChannel)); | |
48 EXPECT_EQ(-1, tm->DeRegisterExternalMediaProcessing( | |
49 kPlaybackAllChannelsMixed)); | |
50 EXPECT_EQ(-1, tm->DeRegisterExternalMediaProcessing(kRecordingPerChannel)); | |
51 EXPECT_EQ(0, tm->DeRegisterExternalMediaProcessing( | |
52 kRecordingAllChannelsMixed)); | |
53 EXPECT_EQ(0, tm->DeRegisterExternalMediaProcessing(kRecordingPreprocessing)); | |
54 TransmitMixer::Destroy(tm); | |
55 } | |
56 | |
57 } // namespace | |
58 } // namespace voe | |
59 } // namespace webrtc | |
OLD | NEW |