blob: e1a2964722171c6db2e09fc61752efd88e367297 [file] [log] [blame]
jbauch4cb3e392016-01-26 13:07:54 -08001/*
kjellander1afca732016-02-07 20:46:45 -08002 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
jbauch4cb3e392016-01-26 13:07:54 -08003 *
kjellander1afca732016-02-07 20:46:45 -08004 * 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.
jbauch4cb3e392016-01-26 13:07:54 -08009 */
10
kjellander@webrtc.org5ad12972016-02-12 06:39:40 +010011#include "webrtc/media/engine/nullwebrtcvideoengine.h"
12#include "webrtc/media/engine/webrtcvoiceengine.h"
peaha9cc40b2017-06-29 08:32:09 -070013#include "webrtc/modules/audio_processing/include/audio_processing.h"
kwibergac9f8762016-09-30 22:29:43 -070014#include "webrtc/test/gtest.h"
kwiberg37e99fd2017-04-10 05:15:48 -070015#include "webrtc/test/mock_audio_decoder_factory.h"
ossueb1fde42017-05-02 06:46:30 -070016#include "webrtc/test/mock_audio_encoder_factory.h"
jbauch4cb3e392016-01-26 13:07:54 -080017
18namespace cricket {
19
20class WebRtcMediaEngineNullVideo
21 : public CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine> {
22 public:
ossu29b1a8d2016-06-13 07:34:51 -070023 WebRtcMediaEngineNullVideo(
24 webrtc::AudioDeviceModule* adm,
ossueb1fde42017-05-02 06:46:30 -070025 const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
26 audio_encoder_factory,
ossu29b1a8d2016-06-13 07:34:51 -070027 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
28 audio_decoder_factory,
29 WebRtcVideoEncoderFactory* video_encoder_factory,
30 WebRtcVideoDecoderFactory* video_decoder_factory)
31 : CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine>(
gyzhou95aa9642016-12-13 14:06:26 -080032 adm,
ossueb1fde42017-05-02 06:46:30 -070033 audio_encoder_factory,
gyzhou95aa9642016-12-13 14:06:26 -080034 audio_decoder_factory,
peaha9cc40b2017-06-29 08:32:09 -070035 nullptr,
36 webrtc::AudioProcessing::Create()) {
ossu29b1a8d2016-06-13 07:34:51 -070037 video_.SetExternalDecoderFactory(video_decoder_factory);
38 video_.SetExternalEncoderFactory(video_encoder_factory);
jbauch4cb3e392016-01-26 13:07:54 -080039 }
40};
41
42// Simple test to check if NullWebRtcVideoEngine implements the methods
43// required by CompositeMediaEngine.
44TEST(NullWebRtcVideoEngineTest, CheckInterface) {
ossuc54071d2016-08-17 02:45:41 -070045 WebRtcMediaEngineNullVideo engine(
ossueb1fde42017-05-02 06:46:30 -070046 nullptr, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(),
47 webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, nullptr);
solenbergff976312016-03-30 23:28:51 -070048 EXPECT_TRUE(engine.Init());
jbauch4cb3e392016-01-26 13:07:54 -080049}
50
51} // namespace cricket