webrtc_m130/api/video/video_bitrate_allocator_factory.h
Jiawei Ou 51ef008ef6 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}
2018-08-14 17:57:22 +00:00

33 lines
1.1 KiB
C++

/*
* 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_