4 #ifndef OWT_BASE_COMMONTYPES_H_ 5 #define OWT_BASE_COMMONTYPES_H_ 8 #include <unordered_map> 12 enum class AudioCodec : int {
25 enum class VideoCodec : int {
33 enum class TrackKind : int{
44 Resolution(
unsigned long w,
unsigned long h) : width(w), height(h) {}
46 return this->width == rhs.width && this->height == rhs.height;
55 : name(AudioCodec::kUnknown), channel_count(0), clock_rate(0) {}
58 unsigned long channel_count,
59 unsigned long clock_rate)
61 channel_count(channel_count),
62 clock_rate(clock_rate) {}
64 unsigned long channel_count;
65 unsigned long clock_rate;
72 int max_bitrate_bps = 0;
76 int max_framerate = 0;
79 double scale_resolution_down_by = 1.0;
98 unsigned long bitrate_bps)
99 : codec(codec_param), max_bitrate(bitrate_bps) {}
102 std::vector<RtpEncodingParameters> rtp_encoding_parameters;
104 unsigned long max_bitrate;
112 : name(codec), profile(profile) {}
121 : codec(), max_bitrate(0), hardware_accelerated(
false) {}
124 unsigned long bitrate_bps,
126 : codec(codec_param),
127 max_bitrate(bitrate_bps),
128 hardware_accelerated(hw) {}
132 std::vector<RtpEncodingParameters> rtp_encoding_parameters;
133 unsigned long max_bitrate;
134 bool hardware_accelerated;
139 enum class AudioSourceInfo : int {
149 enum class VideoSourceInfo : int {
159 :
audio(AudioSourceInfo::kUnknown),
160 video(VideoSourceInfo::kUnknown) {}
161 StreamSourceInfo(AudioSourceInfo audio_source, VideoSourceInfo video_source)
162 :
audio(audio_source),
163 video(video_source) {}
170 template <
typename T>
171 std::size_t operator()(T t)
const {
172 return static_cast<std::size_t
>(t);
177 #endif // OWT_BASE_COMMONTYPES_H_ Audio encoding parameters.
Definition: commontypes.h:95
AudioSourceInfo audio
The audio source info of the stream.
Definition: commontypes.h:165
Definition: commontypes.h:169
RTP endoding settings for a stream.
Definition: commontypes.h:69
VideoCodecParameters()
Construct an instance of VideoCodecParameters with default parameters.
Definition: commontypes.h:109
AudioCodecParameters(const AudioCodec &codec_name, unsigned long channel_count, unsigned long clock_rate)
Construct an instance of AudioCodecParameters with codec name/channel count and clock rate...
Definition: commontypes.h:57
Definition: audioplayerinterface.h:8
AudioCodecParameters()
Construct an instance of AudioCodecParameters with default param.
Definition: commontypes.h:54
VideoSourceInfo video
The video source info of the stream.
Definition: commontypes.h:167
Resolution(unsigned long w, unsigned long h)
Construct an instance with specify width and height.
Definition: commontypes.h:44
Video codec parameters for a video track.
Definition: commontypes.h:107
Definition: commontypes.h:119
Audio codec parameters for an audio track.
Definition: commontypes.h:52
Stream source.
Definition: commontypes.h:157
This class represents a resolution value.
Definition: commontypes.h:40
VideoEncodingParameters(const VideoCodecParameters &codec_param, unsigned long bitrate_bps, bool hw)
Construct an instance of VideoEncodingParameters.
Definition: commontypes.h:123
VideoCodecParameters(const VideoCodec &codec, const std::string &profile)
Construct an instance of VideoCodecParameter with codec name and profile.
Definition: commontypes.h:111
Resolution()
Construct an instance with width and height equal to 0.
Definition: commontypes.h:42