blob: 342b5a89368dc0d9f6ed2b865bcc4f286405149c [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"
kwibergac9f8762016-09-30 22:29:43 -070013#include "webrtc/test/gtest.h"
kwiberg37e99fd2017-04-10 05:15:48 -070014#include "webrtc/test/mock_audio_decoder_factory.h"
ossueb1fde42017-05-02 06:46:30 -070015#include "webrtc/test/mock_audio_encoder_factory.h"
jbauch4cb3e392016-01-26 13:07:54 -080016
17namespace cricket {
18
19class WebRtcMediaEngineNullVideo
20 : public CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine> {
21 public:
ossu29b1a8d2016-06-13 07:34:51 -070022 WebRtcMediaEngineNullVideo(
23 webrtc::AudioDeviceModule* adm,
ossueb1fde42017-05-02 06:46:30 -070024 const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
25 audio_encoder_factory,
ossu29b1a8d2016-06-13 07:34:51 -070026 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
27 audio_decoder_factory,
28 WebRtcVideoEncoderFactory* video_encoder_factory,
29 WebRtcVideoDecoderFactory* video_decoder_factory)
30 : CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine>(
gyzhou95aa9642016-12-13 14:06:26 -080031 adm,
ossueb1fde42017-05-02 06:46:30 -070032 audio_encoder_factory,
gyzhou95aa9642016-12-13 14:06:26 -080033 audio_decoder_factory,
34 nullptr) {
ossu29b1a8d2016-06-13 07:34:51 -070035 video_.SetExternalDecoderFactory(video_decoder_factory);
36 video_.SetExternalEncoderFactory(video_encoder_factory);
jbauch4cb3e392016-01-26 13:07:54 -080037 }
38};
39
40// Simple test to check if NullWebRtcVideoEngine implements the methods
41// required by CompositeMediaEngine.
42TEST(NullWebRtcVideoEngineTest, CheckInterface) {
ossuc54071d2016-08-17 02:45:41 -070043 WebRtcMediaEngineNullVideo engine(
ossueb1fde42017-05-02 06:46:30 -070044 nullptr, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(),
45 webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, nullptr);
solenbergff976312016-03-30 23:28:51 -070046 EXPECT_TRUE(engine.Init());
jbauch4cb3e392016-01-26 13:07:54 -080047}
48
49} // namespace cricket