1 #ifndef OPENTERA_WEBRTC_NATIVE_CLIENT_CONFIGURATIONS_STREAM_CONFIGURATION_H
2 #define OPENTERA_WEBRTC_NATIVE_CLIENT_CONFIGURATIONS_STREAM_CONFIGURATION_H
4 #include <api/data_channel_interface.h>
7 #include <unordered_set>
14 enum class VideoStreamCodec
20 absl::optional<VideoStreamCodec> stringToVideoStreamCodec(std::string_view value);
27 std::unordered_set<VideoStreamCodec> m_forcedCodecs;
28 bool m_forceGStreamerHardwareAcceleration;
29 bool m_useGStreamerSoftwareEncoderDecoder;
48 [[nodiscard]]
const std::unordered_set<VideoStreamCodec>&
forcedCodecs()
const;
84 std::unordered_set<VideoStreamCodec> forcedCodecs,
85 bool forceGStreamerHardwareAcceleration,
86 bool useGStreamerSoftwareEncoderDecoder)
97 return m_forcedCodecs;
106 return m_forceGStreamerHardwareAcceleration;
115 return m_useGStreamerSoftwareEncoderDecoder;
Represents a video stream configuration.
Definition: VideoStreamConfiguration.h:26
static VideoStreamConfiguration create()
Creates a stream configuration with default values.
Definition: VideoStreamConfiguration.h:60
const std::unordered_set< VideoStreamCodec > & forcedCodecs() const
Returns the codecs that must be used. An empty set means all codecs.
Definition: VideoStreamConfiguration.h:95
bool forceGStreamerHardwareAcceleration() const
Indicates that hardware accelerated codecs must be used.
Definition: VideoStreamConfiguration.h:104
bool useGStreamerSoftwareEncoderDecoder() const
Indicates to use GStreamer software codecs instead of WebRTC ones.
Definition: VideoStreamConfiguration.h:113