webrtc/media/engine/webrtc_media_engine_defaults.cc
Jonas Oreland a3aa9bd75b Make VideoBitrateAllocatorFactory injectable.
This patch makes VideoBitrateAllocatorFactory injectable
by adding to PeerConnectionDependencies instead of allowing it to be
overridden using MediaEngine (on PeerConnectionFactory).

With this patch VideoBitrateAllocatorFactory is owned
by the PeerConnection.

WANT_LGTM (examples) : sakal@
WANT_LGTM (api/pc) : steveanton@

Bug: webrtc:10547
Change-Id: I768d400a621f2b7a98795eb7f410adb48651bfd6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132706
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27654}
2019-04-17 06:17:34 +00:00

43 lines
1.8 KiB
C++

/*
* Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "media/engine/webrtc_media_engine_defaults.h"
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
#include "api/task_queue/default_task_queue_factory.h"
#include "api/video/builtin_video_bitrate_allocator_factory.h"
#include "api/video_codecs/builtin_video_decoder_factory.h"
#include "api/video_codecs/builtin_video_encoder_factory.h"
#include "modules/audio_processing/include/audio_processing.h"
#include "rtc_base/checks.h"
namespace webrtc {
void SetMediaEngineDefaults(cricket::MediaEngineDependencies* deps) {
RTC_DCHECK(deps);
if (deps->task_queue_factory == nullptr) {
static TaskQueueFactory* const task_queue_factory =
CreateDefaultTaskQueueFactory().release();
deps->task_queue_factory = task_queue_factory;
}
if (deps->audio_encoder_factory == nullptr)
deps->audio_encoder_factory = CreateBuiltinAudioEncoderFactory();
if (deps->audio_decoder_factory == nullptr)
deps->audio_decoder_factory = CreateBuiltinAudioDecoderFactory();
if (deps->audio_processing == nullptr)
deps->audio_processing = AudioProcessingBuilder().Create();
if (deps->video_encoder_factory == nullptr)
deps->video_encoder_factory = CreateBuiltinVideoEncoderFactory();
if (deps->video_decoder_factory == nullptr)
deps->video_decoder_factory = CreateBuiltinVideoDecoderFactory();
}
} // namespace webrtc