blob: eaa8c8ac17c578d4834232840592d90bbde14aa5 [file] [log] [blame]
Ivo Creusen3ce44a32019-10-31 14:38:11 +01001/*
2 * Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#include "api/neteq/custom_neteq_factory.h"
12
13#include <utility>
14
15#include "modules/audio_coding/neteq/neteq_impl.h"
16
17namespace webrtc {
18
19CustomNetEqFactory::CustomNetEqFactory(
Ivo Creusen68c65722019-11-26 12:29:05 +010020 std::unique_ptr<NetEqControllerFactory> controller_factory)
21 : controller_factory_(std::move(controller_factory)) {}
22
23CustomNetEqFactory::CustomNetEqFactory(
Ivo Creusen3ce44a32019-10-31 14:38:11 +010024 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory,
25 std::unique_ptr<NetEqControllerFactory> controller_factory)
26 : decoder_factory_(decoder_factory),
27 controller_factory_(std::move(controller_factory)) {}
28CustomNetEqFactory::~CustomNetEqFactory() = default;
29
30std::unique_ptr<NetEq> CustomNetEqFactory::CreateNetEq(
31 const NetEq::Config& config,
32 Clock* clock) const {
33 return std::make_unique<NetEqImpl>(
34 config, NetEqImpl::Dependencies(config, clock, decoder_factory_,
35 *controller_factory_));
36}
37
Ivo Creusen68c65722019-11-26 12:29:05 +010038std::unique_ptr<NetEq> CustomNetEqFactory::CreateNetEq(
39 const NetEq::Config& config,
40 const rtc::scoped_refptr<AudioDecoderFactory>& decoder_factory,
41 Clock* clock) const {
42 return std::make_unique<NetEqImpl>(
43 config, NetEqImpl::Dependencies(config, clock, decoder_factory,
44 *controller_factory_));
45}
46
Ivo Creusen3ce44a32019-10-31 14:38:11 +010047} // namespace webrtc