12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /*
- * Copyright 2020 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 CALL_ADAPTATION_VIDEO_STREAM_INPUT_STATE_H_
- #define CALL_ADAPTATION_VIDEO_STREAM_INPUT_STATE_H_
- #include "absl/types/optional.h"
- #include "api/video/video_codec_type.h"
- namespace webrtc {
- // The source resolution, frame rate and other properties of a
- // VideoStreamEncoder.
- class VideoStreamInputState {
- public:
- VideoStreamInputState();
- void set_has_input(bool has_input);
- void set_frame_size_pixels(absl::optional<int> frame_size_pixels);
- void set_frames_per_second(int frames_per_second);
- void set_video_codec_type(VideoCodecType video_codec_type);
- void set_min_pixels_per_frame(int min_pixels_per_frame);
- bool has_input() const;
- absl::optional<int> frame_size_pixels() const;
- int frames_per_second() const;
- VideoCodecType video_codec_type() const;
- int min_pixels_per_frame() const;
- bool HasInputFrameSizeAndFramesPerSecond() const;
- private:
- bool has_input_;
- absl::optional<int> frame_size_pixels_;
- int frames_per_second_;
- VideoCodecType video_codec_type_;
- int min_pixels_per_frame_;
- };
- } // namespace webrtc
- #endif // CALL_ADAPTATION_VIDEO_STREAM_INPUT_STATE_H_
|