blob: 2fe87f4badb9348a0e2d26345bc2d2b5635c1e71 [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#ifndef WEBRTC_MEDIA_ENGINE_NULLWEBRTCVIDEOENGINE_H_
12#define WEBRTC_MEDIA_ENGINE_NULLWEBRTCVIDEOENGINE_H_
jbauch4cb3e392016-01-26 13:07:54 -080013
14#include <vector>
15
kjellandera96e2d72016-02-04 23:52:28 -080016#include "webrtc/media/base/mediachannel.h"
17#include "webrtc/media/base/mediaengine.h"
jbauch4cb3e392016-01-26 13:07:54 -080018
19namespace webrtc {
20
21class Call;
22
23} // namespace webrtc
24
25
26namespace cricket {
27
28class VideoMediaChannel;
29class WebRtcVideoDecoderFactory;
30class WebRtcVideoEncoderFactory;
31
32// Video engine implementation that does nothing and can be used in
33// CompositeMediaEngine.
34class NullWebRtcVideoEngine {
35 public:
36 NullWebRtcVideoEngine() {}
37 ~NullWebRtcVideoEngine() {}
38
39 void SetExternalDecoderFactory(WebRtcVideoDecoderFactory* decoder_factory) {}
40 void SetExternalEncoderFactory(WebRtcVideoEncoderFactory* encoder_factory) {}
41
42 void Init() {}
43
44 const std::vector<VideoCodec>& codecs() {
45 return codecs_;
46 }
47
48 RtpCapabilities GetCapabilities() {
49 RtpCapabilities capabilities;
50 return capabilities;
51 }
52
53 VideoMediaChannel* CreateChannel(webrtc::Call* call,
nisse51542be2016-02-12 02:27:06 -080054 const MediaConfig& config,
55 const VideoOptions& options) {
jbauch4cb3e392016-01-26 13:07:54 -080056 return nullptr;
57 }
58
59 private:
60 std::vector<VideoCodec> codecs_;
61};
62
63} // namespace cricket
64
kjellander@webrtc.org5ad12972016-02-12 06:39:40 +010065#endif // WEBRTC_MEDIA_ENGINE_NULLWEBRTCVIDEOENGINE_H_