Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(598)

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

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. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 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 15 matching lines...) Expand all
26 #ifdef HAVE_WEBRTC_VIDEO 26 #ifdef HAVE_WEBRTC_VIDEO
27 : public CompositeMediaEngine<WebRtcVoiceEngine, WebRtcVideoEngine2> { 27 : public CompositeMediaEngine<WebRtcVoiceEngine, WebRtcVideoEngine2> {
28 #else 28 #else
29 : public CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine> { 29 : public CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine> {
30 #endif 30 #endif
31 public: 31 public:
32 WebRtcMediaEngine2(webrtc::AudioDeviceModule* adm, 32 WebRtcMediaEngine2(webrtc::AudioDeviceModule* adm,
33 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& 33 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
34 audio_decoder_factory, 34 audio_decoder_factory,
35 WebRtcVideoEncoderFactory* video_encoder_factory, 35 WebRtcVideoEncoderFactory* video_encoder_factory,
36 WebRtcVideoDecoderFactory* video_decoder_factory, 36 WebRtcVideoDecoderFactory* video_decoder_factory)
37 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer)
38 #ifdef HAVE_WEBRTC_VIDEO 37 #ifdef HAVE_WEBRTC_VIDEO
39 : CompositeMediaEngine<WebRtcVoiceEngine, WebRtcVideoEngine2>( 38 : CompositeMediaEngine<WebRtcVoiceEngine, WebRtcVideoEngine2>(
40 adm, 39 adm, audio_decoder_factory){
41 audio_decoder_factory,
42 audio_mixer){
43 #else 40 #else
44 : CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine>( 41 : CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine>(
45 adm, 42 adm, audio_decoder_factory) {
46 audio_decoder_factory,
47 audio_mixer) {
48 #endif 43 #endif
49 video_.SetExternalDecoderFactory(video_decoder_factory); 44 video_.SetExternalDecoderFactory(video_decoder_factory);
50 video_.SetExternalEncoderFactory(video_encoder_factory); 45 video_.SetExternalEncoderFactory(video_encoder_factory);
51 } 46 }
52 }; 47 };
53 48
54 } // namespace cricket 49 } // namespace cricket
55 50
56 cricket::MediaEngineInterface* CreateWebRtcMediaEngine( 51 cricket::MediaEngineInterface* CreateWebRtcMediaEngine(
57 webrtc::AudioDeviceModule* adm, 52 webrtc::AudioDeviceModule* adm,
58 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& 53 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
59 audio_decoder_factory, 54 audio_decoder_factory,
60 cricket::WebRtcVideoEncoderFactory* video_encoder_factory, 55 cricket::WebRtcVideoEncoderFactory* video_encoder_factory,
61 cricket::WebRtcVideoDecoderFactory* video_decoder_factory, 56 cricket::WebRtcVideoDecoderFactory* video_decoder_factory) {
62 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) { 57 return new cricket::WebRtcMediaEngine2(
63 return new cricket::WebRtcMediaEngine2(adm, audio_decoder_factory, 58 adm, audio_decoder_factory, video_encoder_factory, video_decoder_factory);
64 video_encoder_factory,
65 video_decoder_factory, audio_mixer);
66 } 59 }
67 60
68 void DestroyWebRtcMediaEngine(cricket::MediaEngineInterface* media_engine) { 61 void DestroyWebRtcMediaEngine(cricket::MediaEngineInterface* media_engine) {
69 delete media_engine; 62 delete media_engine;
70 } 63 }
71 64
72 namespace cricket { 65 namespace cricket {
73 66
74 // TODO(ossu): Backwards-compatible interface. Will be deprecated once the 67 // TODO(ossu): Backwards-compatible interface. Will be deprecated once the
75 // audio decoder factory is fully plumbed and used throughout WebRTC. 68 // audio decoder factory is fully plumbed and used throughout WebRTC.
76 // See: crbug.com/webrtc/6000 69 // See: crbug.com/webrtc/6000
77 MediaEngineInterface* WebRtcMediaEngineFactory::Create( 70 MediaEngineInterface* WebRtcMediaEngineFactory::Create(
78 webrtc::AudioDeviceModule* adm, 71 webrtc::AudioDeviceModule* adm,
79 WebRtcVideoEncoderFactory* video_encoder_factory, 72 WebRtcVideoEncoderFactory* video_encoder_factory,
80 WebRtcVideoDecoderFactory* video_decoder_factory) { 73 WebRtcVideoDecoderFactory* video_decoder_factory) {
81 return CreateWebRtcMediaEngine( 74 return CreateWebRtcMediaEngine(adm,
82 adm, webrtc::CreateBuiltinAudioDecoderFactory(), video_encoder_factory, 75 webrtc::CreateBuiltinAudioDecoderFactory(),
83 video_decoder_factory, nullptr); 76 video_encoder_factory, video_decoder_factory);
84 } 77 }
85 78
86 // Used by PeerConnectionFactory to create a media engine passed into 79 // Used by PeerConnectionFactory to create a media engine passed into
87 // ChannelManager. 80 // ChannelManager.
88 MediaEngineInterface* WebRtcMediaEngineFactory::Create( 81 MediaEngineInterface* WebRtcMediaEngineFactory::Create(
89 webrtc::AudioDeviceModule* adm, 82 webrtc::AudioDeviceModule* adm,
90 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& 83 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
91 audio_decoder_factory, 84 audio_decoder_factory,
92 WebRtcVideoEncoderFactory* video_encoder_factory, 85 WebRtcVideoEncoderFactory* video_encoder_factory,
93 WebRtcVideoDecoderFactory* video_decoder_factory, 86 WebRtcVideoDecoderFactory* video_decoder_factory) {
94 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) {
95 return CreateWebRtcMediaEngine(adm, audio_decoder_factory, 87 return CreateWebRtcMediaEngine(adm, audio_decoder_factory,
96 video_encoder_factory, video_decoder_factory, 88 video_encoder_factory, video_decoder_factory);
97 audio_mixer);
98 } 89 }
99 90
100 namespace { 91 namespace {
101 // Remove mutually exclusive extensions with lower priority. 92 // Remove mutually exclusive extensions with lower priority.
102 void DiscardRedundantExtensions( 93 void DiscardRedundantExtensions(
103 std::vector<webrtc::RtpExtension>* extensions, 94 std::vector<webrtc::RtpExtension>* extensions,
104 rtc::ArrayView<const char*> extensions_decreasing_prio) { 95 rtc::ArrayView<const char*> extensions_decreasing_prio) {
105 RTC_DCHECK(extensions); 96 RTC_DCHECK(extensions);
106 bool found = false; 97 bool found = false;
107 for (const char* uri : extensions_decreasing_prio) { 98 for (const char* uri : extensions_decreasing_prio) {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 static const char* kBweExtensionPriorities[] = { 162 static const char* kBweExtensionPriorities[] = {
172 webrtc::RtpExtension::kTransportSequenceNumberUri, 163 webrtc::RtpExtension::kTransportSequenceNumberUri,
173 webrtc::RtpExtension::kAbsSendTimeUri, 164 webrtc::RtpExtension::kAbsSendTimeUri,
174 webrtc::RtpExtension::kTimestampOffsetUri}; 165 webrtc::RtpExtension::kTimestampOffsetUri};
175 DiscardRedundantExtensions(&result, kBweExtensionPriorities); 166 DiscardRedundantExtensions(&result, kBweExtensionPriorities);
176 } 167 }
177 168
178 return result; 169 return result;
179 } 170 }
180 } // namespace cricket 171 } // namespace cricket
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcmediaengine.h ('k') | webrtc/media/engine/webrtcmediaengine_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698