// SDP specification for a single audio codec. struct RTC_EXPORT SdpAudioFormat {
SdpAudioFormat(const SdpAudioFormat&);
SdpAudioFormat(SdpAudioFormat&&);
SdpAudioFormat(absl::string_view name, int clockrate_hz, size_t num_channels);
SdpAudioFormat(absl::string_view name,
int clockrate_hz,
size_t num_channels, const CodecParameterMap& param);
SdpAudioFormat(absl::string_view name,
int clockrate_hz,
size_t num_channels,
CodecParameterMap&& param);
~SdpAudioFormat();
// Returns true if this format is compatible with `o`. In SDP terminology: // would it represent the same codec between an offer and an answer? As // opposed to operator==, this method disregards codec parameters. bool Matches(const SdpAudioFormat& o) const;
std::string name;
int clockrate_hz;
size_t num_channels;
CodecParameterMap parameters;
};
// Information about how an audio format is treated by the codec implementation. // Contains basic information, such as sample rate and number of channels, which // isn't uniformly presented by SDP. Also contains flags indicating support for // integrating with other parts of WebRTC, like external VAD and comfort noise // level calculation. // // To avoid API breakage, and make the code clearer, AudioCodecInfo should not // be directly initializable with any flags indicating optional support. If it // were, these initializers would break any time a new flag was added. It's also // more difficult to understand: // AudioCodecInfo info{16000, 1, 32000, true, false, false, true, true}; // than // AudioCodecInfo info(16000, 1, 32000); // info.allow_comfort_noise = true; // info.future_flag_b = true; // info.future_flag_c = true; struct AudioCodecInfo {
AudioCodecInfo(int sample_rate_hz, size_t num_channels, int bitrate_bps);
AudioCodecInfo(int sample_rate_hz,
size_t num_channels,
int default_bitrate_bps,
int min_bitrate_bps,
int max_bitrate_bps);
AudioCodecInfo(const AudioCodecInfo& b) = default;
~AudioCodecInfo() = default;
int sample_rate_hz;
size_t num_channels;
int default_bitrate_bps;
int min_bitrate_bps;
int max_bitrate_bps;
bool allow_comfort_noise = true; // This codec can be used with an external // comfort noise generator. bool supports_network_adaption = false; // This codec can adapt to varying // network conditions.
};
// AudioCodecSpec ties an audio format to specific information about the codec // and its implementation. struct AudioCodecSpec { booloperator==(const AudioCodecSpec& b) const { return format == b.format && info == b.info;
}
booloperator!=(const AudioCodecSpec& b) const { return !(*this == b); }
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.