Video bitrate allocator factory interface for custom video bitrate allocator

Bug: webrtc:9513
Change-Id: If5719f4f71a2a9e44b2aaa0b592d3921b68ba5d9
Reviewed-on: https://webrtc-review.googlesource.com/92280
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Jiawei Ou <ouj@fb.com>
Cr-Commit-Position: refs/heads/master@{#24279}
This commit is contained in:
Jiawei Ou
2018-08-13 10:21:21 -07:00
committed by Commit Bot
parent 88fc06366a
commit 51ef008ef6
2 changed files with 43 additions and 0 deletions

View File

@ -101,6 +101,17 @@ rtc_source_set("video_bitrate_allocator") {
]
}
rtc_source_set("video_bitrate_allocator_factory") {
visibility = [ "*" ]
sources = [
"video_bitrate_allocator_factory.h",
]
deps = [
":video_bitrate_allocator",
"../../media:rtc_media_base",
]
}
rtc_source_set("video_stream_decoder") {
visibility = [ "*" ]
sources = [

View File

@ -0,0 +1,32 @@
/*
* Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef API_VIDEO_VIDEO_BITRATE_ALLOCATOR_FACTORY_H_
#define API_VIDEO_VIDEO_BITRATE_ALLOCATOR_FACTORY_H_
#include <memory>
#include "api/video/video_bitrate_allocator.h"
#include "media/base/codec.h"
namespace webrtc {
// A factory that creates VideoBitrateAllocator.
// NOTE: This class is still under development and may change without notice.
class VideoBitrateAllocatorFactory {
public:
virtual ~VideoBitrateAllocatorFactory() = default;
// Creates a VideoBitrateAllocator for a specific video codec.
virtual std::unique_ptr<VideoBitrateAllocator> CreateVideoBitrateAllocator(
const VideoCodec& codec) = 0;
};
} // namespace webrtc
#endif // API_VIDEO_VIDEO_BITRATE_ALLOCATOR_FACTORY_H_