LeviLamina
Loading...
Searching...
No Matches
VideoEncoderFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace webrtc { class DataRate; }
8namespace webrtc { class Environment; }
9namespace webrtc { class RenderResolution; }
10namespace webrtc { class VideoEncoder; }
11namespace webrtc { struct SdpVideoFormat; }
12// clang-format on
13
14namespace webrtc {
15
17public:
18 // VideoEncoderFactory inner types declare
19 // clang-format off
20 struct CodecSupport;
22 // clang-format on
23
24 // VideoEncoderFactory inner types define
25 struct CodecSupport {
26 public:
27 // member variables
28 // NOLINTBEGIN
31 // NOLINTEND
32
33 public:
34 // prevent constructor by default
35 CodecSupport& operator=(CodecSupport const&);
36 CodecSupport(CodecSupport const&);
37 CodecSupport();
38 };
39
41 public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~EncoderSelectorInterface() = default;
45
46 virtual void OnCurrentEncoder(::webrtc::SdpVideoFormat const&) = 0;
47
48 virtual ::std::optional<::webrtc::SdpVideoFormat> OnAvailableBitrate(::webrtc::DataRate const&) = 0;
49
50 virtual ::std::optional<::webrtc::SdpVideoFormat> OnResolutionChange(::webrtc::RenderResolution const&);
51
52 virtual ::std::optional<::webrtc::SdpVideoFormat> OnEncoderBroken() = 0;
53 // NOLINTEND
54
55 public:
56 // virtual function thunks
57 // NOLINTBEGIN
58
59 // NOLINTEND
60 };
61
62public:
63 // virtual functions
64 // NOLINTBEGIN
65 virtual ::std::vector<::webrtc::SdpVideoFormat> GetSupportedFormats() const = 0;
66
67 virtual ::std::vector<::webrtc::SdpVideoFormat> GetImplementations() const;
68
69 virtual ::webrtc::VideoEncoderFactory::CodecSupport
70 QueryCodecSupport(::webrtc::SdpVideoFormat const&, ::std::optional<::std::string>) const;
71
72 virtual ::std::unique_ptr<::webrtc::VideoEncoder>
74
75 virtual ::std::unique_ptr<::webrtc::VideoEncoder> CreateVideoEncoder(::webrtc::SdpVideoFormat const&);
76
77 virtual ::std::unique_ptr<::webrtc::VideoEncoderFactory::EncoderSelectorInterface> GetEncoderSelector() const;
78
79 virtual ~VideoEncoderFactory() = default;
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85
86 // NOLINTEND
87};
88
89} // namespace webrtc
Definition DataRate.h:10
Definition Environment.h:7
Definition RenderResolution.h:7
Definition VideoEncoderFactory.h:16
Definition VideoEncoder.h:18
Definition Alias.h:14
Definition SdpVideoFormat.h:10
Definition VideoEncoderFactory.h:25