blob: cb34ebb5e170dcf599c5e2086f41869329e2aee9 [file] [log] [blame]
Jiawei Ou51ef0082018-08-13 17:21:211/*
2 * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
3 *
4 * 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.
9 */
10
11#ifndef API_VIDEO_VIDEO_BITRATE_ALLOCATOR_FACTORY_H_
12#define API_VIDEO_VIDEO_BITRATE_ALLOCATOR_FACTORY_H_
13
14#include <memory>
Jonas Olssona4d87372019-07-05 17:08:3315
Jiawei Ou51ef0082018-08-13 17:21:2116#include "api/video/video_bitrate_allocator.h"
Jiawei Oue4749c22018-08-21 23:29:3617#include "api/video_codecs/video_codec.h"
Jiawei Ou51ef0082018-08-13 17:21:2118
19namespace webrtc {
20
21// A factory that creates VideoBitrateAllocator.
22// NOTE: This class is still under development and may change without notice.
23class VideoBitrateAllocatorFactory {
24 public:
25 virtual ~VideoBitrateAllocatorFactory() = default;
26 // Creates a VideoBitrateAllocator for a specific video codec.
27 virtual std::unique_ptr<VideoBitrateAllocator> CreateVideoBitrateAllocator(
28 const VideoCodec& codec) = 0;
29};
30
31} // namespace webrtc
32
33#endif // API_VIDEO_VIDEO_BITRATE_ALLOCATOR_FACTORY_H_