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

Side by Side Diff: webrtc/pc/peerconnectionfactory.h

Issue 2653343003: Add CreatePeerConnectionFactory overloads that take audio codec factory args (Closed)
Patch Set: . Created 3 years, 10 months 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 2011 The WebRTC project authors. All Rights Reserved. 2 * Copyright 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
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 RtcEventLog* event_log) const; 95 RtcEventLog* event_log) const;
96 virtual cricket::TransportController* CreateTransportController( 96 virtual cricket::TransportController* CreateTransportController(
97 cricket::PortAllocator* port_allocator, 97 cricket::PortAllocator* port_allocator,
98 bool redetermine_role_on_ice_restart); 98 bool redetermine_role_on_ice_restart);
99 virtual rtc::Thread* signaling_thread(); 99 virtual rtc::Thread* signaling_thread();
100 virtual rtc::Thread* worker_thread(); 100 virtual rtc::Thread* worker_thread();
101 virtual rtc::Thread* network_thread(); 101 virtual rtc::Thread* network_thread();
102 const Options& options() const { return options_; } 102 const Options& options() const { return options_; }
103 103
104 protected: 104 protected:
105 PeerConnectionFactory(); 105 PeerConnectionFactory(
106 rtc::scoped_refptr<webrtc::AudioEncoderFactory> audio_encoder_factory,
107 rtc::scoped_refptr<webrtc::AudioDecoderFactory> audio_decoder_factory);
106 PeerConnectionFactory( 108 PeerConnectionFactory(
107 rtc::Thread* network_thread, 109 rtc::Thread* network_thread,
108 rtc::Thread* worker_thread, 110 rtc::Thread* worker_thread,
109 rtc::Thread* signaling_thread, 111 rtc::Thread* signaling_thread,
110 AudioDeviceModule* default_adm, 112 AudioDeviceModule* default_adm,
111 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& 113 rtc::scoped_refptr<webrtc::AudioEncoderFactory> audio_encoder_factory,
112 audio_decoder_factory, 114 rtc::scoped_refptr<webrtc::AudioDecoderFactory> audio_decoder_factory,
113 cricket::WebRtcVideoEncoderFactory* video_encoder_factory, 115 cricket::WebRtcVideoEncoderFactory* video_encoder_factory,
114 cricket::WebRtcVideoDecoderFactory* video_decoder_factory, 116 cricket::WebRtcVideoDecoderFactory* video_decoder_factory,
115 rtc::scoped_refptr<AudioMixer> audio_mixer); 117 rtc::scoped_refptr<AudioMixer> audio_mixer);
116 virtual ~PeerConnectionFactory(); 118 virtual ~PeerConnectionFactory();
117 119
118 private: 120 private:
119 cricket::MediaEngineInterface* CreateMediaEngine_w(); 121 cricket::MediaEngineInterface* CreateMediaEngine_w();
120 122
121 bool owns_ptrs_; 123 bool owns_ptrs_;
122 bool wraps_current_thread_; 124 bool wraps_current_thread_;
123 rtc::Thread* network_thread_; 125 rtc::Thread* network_thread_;
124 rtc::Thread* worker_thread_; 126 rtc::Thread* worker_thread_;
125 rtc::Thread* signaling_thread_; 127 rtc::Thread* signaling_thread_;
126 Options options_; 128 Options options_;
127 // External Audio device used for audio playback. 129 // External Audio device used for audio playback.
128 rtc::scoped_refptr<AudioDeviceModule> default_adm_; 130 rtc::scoped_refptr<AudioDeviceModule> default_adm_;
131 rtc::scoped_refptr<AudioEncoderFactory> audio_encoder_factory_;
ossu 2017/01/26 12:53:53 I expected with the API change we'd just drop the
kwiberg-webrtc 2017/01/30 13:15:21 No, I just chose a slightly different place to dro
129 rtc::scoped_refptr<AudioDecoderFactory> audio_decoder_factory_; 132 rtc::scoped_refptr<AudioDecoderFactory> audio_decoder_factory_;
130 std::unique_ptr<cricket::ChannelManager> channel_manager_; 133 std::unique_ptr<cricket::ChannelManager> channel_manager_;
131 // External Video encoder factory. This can be NULL if the client has not 134 // External Video encoder factory. This can be NULL if the client has not
132 // injected any. In that case, video engine will use the internal SW encoder. 135 // injected any. In that case, video engine will use the internal SW encoder.
133 std::unique_ptr<cricket::WebRtcVideoEncoderFactory> video_encoder_factory_; 136 std::unique_ptr<cricket::WebRtcVideoEncoderFactory> video_encoder_factory_;
134 // External Video decoder factory. This can be NULL if the client has not 137 // External Video decoder factory. This can be NULL if the client has not
135 // injected any. In that case, video engine will use the internal SW decoder. 138 // injected any. In that case, video engine will use the internal SW decoder.
136 std::unique_ptr<cricket::WebRtcVideoDecoderFactory> video_decoder_factory_; 139 std::unique_ptr<cricket::WebRtcVideoDecoderFactory> video_decoder_factory_;
137 std::unique_ptr<rtc::BasicNetworkManager> default_network_manager_; 140 std::unique_ptr<rtc::BasicNetworkManager> default_network_manager_;
138 std::unique_ptr<rtc::BasicPacketSocketFactory> default_socket_factory_; 141 std::unique_ptr<rtc::BasicPacketSocketFactory> default_socket_factory_;
139 // External audio mixer. This can be NULL. In that case, internal audio mixer 142 // External audio mixer. This can be NULL. In that case, internal audio mixer
140 // will be created and used. 143 // will be created and used.
141 rtc::scoped_refptr<AudioMixer> external_audio_mixer_; 144 rtc::scoped_refptr<AudioMixer> external_audio_mixer_;
142 }; 145 };
143 146
144 } // namespace webrtc 147 } // namespace webrtc
145 148
146 #endif // WEBRTC_PC_PEERCONNECTIONFACTORY_H_ 149 #endif // WEBRTC_PC_PEERCONNECTIONFACTORY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698