blob: 6d66b61c8b2adb298c99f3e1b1af894cc89b403c [file] [log] [blame]
Danil Chapovalovb471ac792020-05-15 12:21:031/*
2 * Copyright (c) 2020 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 */
Danil Chapovalovda7fe392020-10-15 13:57:1710#ifndef MODULES_VIDEO_CODING_SVC_SCALABLE_VIDEO_CONTROLLER_NO_LAYERING_H_
11#define MODULES_VIDEO_CODING_SVC_SCALABLE_VIDEO_CONTROLLER_NO_LAYERING_H_
Danil Chapovalovb471ac792020-05-15 12:21:0312
13#include <vector>
14
15#include "api/transport/rtp/dependency_descriptor.h"
Danil Chapovalov347a3272020-10-26 10:40:2616#include "api/video/video_bitrate_allocation.h"
Danil Chapovalovb471ac792020-05-15 12:21:0317#include "common_video/generic_frame_descriptor/generic_frame_info.h"
Danil Chapovalovda7fe392020-10-15 13:57:1718#include "modules/video_coding/svc/scalable_video_controller.h"
Danil Chapovalovb471ac792020-05-15 12:21:0319
20namespace webrtc {
21
22class ScalableVideoControllerNoLayering : public ScalableVideoController {
23 public:
24 ~ScalableVideoControllerNoLayering() override;
25
26 StreamLayersConfig StreamConfig() const override;
27 FrameDependencyStructure DependencyStructure() const override;
28
29 std::vector<LayerFrameConfig> NextFrameConfig(bool restart) override;
Danil Chapovalovc85baeb2020-10-14 16:09:5830 GenericFrameInfo OnEncodeDone(const LayerFrameConfig& config) override;
Danil Chapovalov45d22342021-02-11 13:58:2931 void OnRatesUpdated(const VideoBitrateAllocation& bitrates) override;
Danil Chapovalovb471ac792020-05-15 12:21:0332
33 private:
34 bool start_ = true;
Danil Chapovalov45d22342021-02-11 13:58:2935 bool enabled_ = true;
Danil Chapovalovb471ac792020-05-15 12:21:0336};
37
38} // namespace webrtc
39
Danil Chapovalovda7fe392020-10-15 13:57:1740#endif // MODULES_VIDEO_CODING_SVC_SCALABLE_VIDEO_CONTROLLER_NO_LAYERING_H_