Chromium Code Reviews

Side by Side Diff: webrtc/media/engine/webrtcmediaengine.h

Issue 2562333003: Revert of Support external audio mixer. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2011 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
11 #ifndef WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_ 11 #ifndef WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_
12 #define WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_ 12 #define WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_
13 13
14 #include <string> 14 #include <string>
15 #include <vector> 15 #include <vector>
16 16
17 #include "webrtc/config.h" 17 #include "webrtc/config.h"
18 #include "webrtc/media/base/mediaengine.h" 18 #include "webrtc/media/base/mediaengine.h"
19 19
20 namespace webrtc { 20 namespace webrtc {
21 class AudioDecoderFactory; 21 class AudioDecoderFactory;
22 class AudioDeviceModule; 22 class AudioDeviceModule;
23 class AudioMixer;
24 } 23 }
25 namespace cricket { 24 namespace cricket {
26 class WebRtcVideoDecoderFactory; 25 class WebRtcVideoDecoderFactory;
27 class WebRtcVideoEncoderFactory; 26 class WebRtcVideoEncoderFactory;
28 } 27 }
29 28
30 namespace cricket { 29 namespace cricket {
31 30
32 class WebRtcMediaEngineFactory { 31 class WebRtcMediaEngineFactory {
33 public: 32 public:
34 // TODO(ossu): Backwards-compatible interface. Will be deprecated once the 33 // TODO(ossu): Backwards-compatible interface. Will be deprecated once the
35 // audio decoder factory is fully plumbed and used throughout WebRTC. 34 // audio decoder factory is fully plumbed and used throughout WebRTC.
36 // See: crbug.com/webrtc/6000 35 // See: crbug.com/webrtc/6000
37 static MediaEngineInterface* Create( 36 static MediaEngineInterface* Create(
38 webrtc::AudioDeviceModule* adm, 37 webrtc::AudioDeviceModule* adm,
39 WebRtcVideoEncoderFactory* video_encoder_factory, 38 WebRtcVideoEncoderFactory* video_encoder_factory,
40 WebRtcVideoDecoderFactory* video_decoder_factory); 39 WebRtcVideoDecoderFactory* video_decoder_factory);
41 40
42 static MediaEngineInterface* Create( 41 static MediaEngineInterface* Create(
43 webrtc::AudioDeviceModule* adm, 42 webrtc::AudioDeviceModule* adm,
44 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& 43 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
45 audio_decoder_factory, 44 audio_decoder_factory,
46 WebRtcVideoEncoderFactory* video_encoder_factory, 45 WebRtcVideoEncoderFactory* video_encoder_factory,
47 WebRtcVideoDecoderFactory* video_decoder_factory, 46 WebRtcVideoDecoderFactory* video_decoder_factory);
48 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer);
49 }; 47 };
50 48
51 // Verify that extension IDs are within 1-byte extension range and are not 49 // Verify that extension IDs are within 1-byte extension range and are not
52 // overlapping. 50 // overlapping.
53 bool ValidateRtpExtensions(const std::vector<webrtc::RtpExtension>& extensions); 51 bool ValidateRtpExtensions(const std::vector<webrtc::RtpExtension>& extensions);
54 52
55 // Discard any extensions not validated by the 'supported' predicate. Duplicate 53 // Discard any extensions not validated by the 'supported' predicate. Duplicate
56 // extensions are removed if 'filter_redundant_extensions' is set, and also any 54 // extensions are removed if 'filter_redundant_extensions' is set, and also any
57 // mutually exclusive extensions (see implementation for details) are removed. 55 // mutually exclusive extensions (see implementation for details) are removed.
58 std::vector<webrtc::RtpExtension> FilterRtpExtensions( 56 std::vector<webrtc::RtpExtension> FilterRtpExtensions(
59 const std::vector<webrtc::RtpExtension>& extensions, 57 const std::vector<webrtc::RtpExtension>& extensions,
60 bool (*supported)(const std::string&), 58 bool (*supported)(const std::string&),
61 bool filter_redundant_extensions); 59 bool filter_redundant_extensions);
62 60
63 } // namespace cricket 61 } // namespace cricket
64 62
65 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_ 63 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_
OLDNEW
« no previous file with comments | « webrtc/media/engine/nullwebrtcvideoengine_unittest.cc ('k') | webrtc/media/engine/webrtcmediaengine.cc » ('j') | no next file with comments »

Powered by Google App Engine