Adds interfaces for audio and video engines.

This makes the currently implicit interfaces explicit and
prepares for making CompositeMediaEngine non-templated.

Bug: webrtc:9883
Change-Id: I57452acc9ada60a801f6d624894440a942c12ded
Reviewed-on: https://webrtc-review.googlesource.com/c/106940
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25667}
This commit is contained in:
Sebastian Jansson
2018-11-16 10:40:36 +01:00
committed by Commit Bot
parent 2681523793
commit 84848f26b5
10 changed files with 173 additions and 111 deletions

View File

@ -79,7 +79,7 @@ class DefaultUnsignalledSsrcHandler : public UnsignalledSsrcHandler {
};
// WebRtcVideoEngine is used for the new native WebRTC Video API (webrtc:1667).
class WebRtcVideoEngine {
class WebRtcVideoEngine : public VideoEngineInterface {
public:
#if defined(USE_BUILTIN_SW_CODECS)
// Internal SW video codecs will be added on top of the external codecs.
@ -98,16 +98,16 @@ class WebRtcVideoEngine {
std::unique_ptr<webrtc::VideoBitrateAllocatorFactory>
video_bitrate_allocator_factory);
virtual ~WebRtcVideoEngine();
~WebRtcVideoEngine() override;
WebRtcVideoChannel* CreateChannel(
VideoMediaChannel* CreateMediaChannel(
webrtc::Call* call,
const MediaConfig& config,
const VideoOptions& options,
const webrtc::CryptoOptions& crypto_options);
const webrtc::CryptoOptions& crypto_options) override;
std::vector<VideoCodec> codecs() const;
RtpCapabilities GetCapabilities() const;
std::vector<VideoCodec> codecs() const override;
RtpCapabilities GetCapabilities() const override;
private:
const std::unique_ptr<webrtc::VideoDecoderFactory> decoder_factory_;