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

Unified Diff: webrtc/api/peerconnectionfactory.cc

Issue 1949533002: WIP: Move the creation of AudioCodecFactory into PeerConnectionFactory. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Retained Channel API by adding overloads; also add intended AudioReceiveStream API Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/api/peerconnectionfactory.cc
diff --git a/webrtc/api/peerconnectionfactory.cc b/webrtc/api/peerconnectionfactory.cc
index ff8098cd57a277235a9cd72e01823503c740efda..687aa42873febe945fba7959260f6777bf76e4ff 100644
--- a/webrtc/api/peerconnectionfactory.cc
+++ b/webrtc/api/peerconnectionfactory.cc
@@ -28,6 +28,7 @@
#include "webrtc/media/engine/webrtcmediaengine.h"
#include "webrtc/media/engine/webrtcvideodecoderfactory.h"
#include "webrtc/media/engine/webrtcvideoencoderfactory.h"
+#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h"
#include "webrtc/modules/audio_device/include/audio_device.h"
#include "webrtc/p2p/base/basicpacketsocketfactory.h"
#include "webrtc/p2p/client/basicportallocator.h"
@@ -79,14 +80,17 @@ CreatePeerConnectionFactory(
rtc::Thread* worker_thread,
rtc::Thread* signaling_thread,
AudioDeviceModule* default_adm,
- cricket::WebRtcVideoEncoderFactory* encoder_factory,
- cricket::WebRtcVideoDecoderFactory* decoder_factory) {
+ cricket::WebRtcVideoEncoderFactory* video_encoder_factory,
+ cricket::WebRtcVideoDecoderFactory* video_decoder_factory) {
rtc::scoped_refptr<PeerConnectionFactory> pc_factory(
- new rtc::RefCountedObject<PeerConnectionFactory>(worker_thread,
- signaling_thread,
- default_adm,
- encoder_factory,
- decoder_factory));
+ new rtc::RefCountedObject<PeerConnectionFactory>(
+ worker_thread,
+ signaling_thread,
+ default_adm,
+ std::shared_ptr<AudioDecoderFactory>(
+ CreateBuiltinAudioDecoderFactory()),
kwiberg-webrtc 2016/05/17 13:33:48 unique_ptr converts implicitly to shared_ptr, so n
ossu 2016/05/17 14:25:35 Hmm, I've utilized that in other places. Must've h
+ video_encoder_factory,
+ video_decoder_factory));
// Call Initialize synchronously but make sure its executed on
// |signaling_thread|.
@@ -117,6 +121,7 @@ PeerConnectionFactory::PeerConnectionFactory(
rtc::Thread* worker_thread,
rtc::Thread* signaling_thread,
AudioDeviceModule* default_adm,
+ std::shared_ptr<webrtc::AudioDecoderFactory> audio_decoder_factory,
cricket::WebRtcVideoEncoderFactory* video_encoder_factory,
cricket::WebRtcVideoDecoderFactory* video_decoder_factory)
: owns_ptrs_(false),
@@ -124,6 +129,7 @@ PeerConnectionFactory::PeerConnectionFactory(
signaling_thread_(signaling_thread),
worker_thread_(worker_thread),
default_adm_(default_adm),
+ audio_decoder_factory_(std::move(audio_decoder_factory)),
video_encoder_factory_(video_encoder_factory),
video_decoder_factory_(video_decoder_factory) {
ASSERT(worker_thread != NULL);
@@ -339,7 +345,9 @@ rtc::Thread* PeerConnectionFactory::worker_thread() {
cricket::MediaEngineInterface* PeerConnectionFactory::CreateMediaEngine_w() {
ASSERT(worker_thread_ == rtc::Thread::Current());
return cricket::WebRtcMediaEngineFactory::Create(
- default_adm_.get(), video_encoder_factory_.get(),
+ default_adm_.get(),
+ audio_decoder_factory_,
+ video_encoder_factory_.get(),
video_decoder_factory_.get());
}

Powered by Google App Engine
This is Rietveld 408576698