Line data Source code
1 : /*
2 : * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 : *
4 : * Use of this source code is governed by a BSD-style license
5 : * that can be found in the LICENSE file in the root of the source
6 : * tree. An additional intellectual property rights grant can be found
7 : * in the file PATENTS. All contributing project authors may
8 : * be found in the AUTHORS file in the root of the source tree.
9 : */
10 :
11 : #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_H_
12 : #define WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_H_
13 :
14 : #include <map>
15 : #include <ostream>
16 : #include <string>
17 : #include <utility>
18 :
19 : namespace webrtc {
20 :
21 : // SDP specification for a single audio codec.
22 : // NOTE: This class is still under development and may change without notice.
23 0 : struct SdpAudioFormat {
24 : using Parameters = std::map<std::string, std::string>;
25 :
26 : SdpAudioFormat(const SdpAudioFormat&);
27 : SdpAudioFormat(SdpAudioFormat&&);
28 : SdpAudioFormat(const char* name, int clockrate_hz, int num_channels);
29 : SdpAudioFormat(const char* name,
30 : int clockrate_hz,
31 : int num_channels,
32 : Parameters&& param);
33 : ~SdpAudioFormat();
34 :
35 : SdpAudioFormat& operator=(const SdpAudioFormat&);
36 : SdpAudioFormat& operator=(SdpAudioFormat&&);
37 :
38 : friend bool operator==(const SdpAudioFormat& a, const SdpAudioFormat& b);
39 : friend bool operator!=(const SdpAudioFormat& a, const SdpAudioFormat& b) {
40 : return !(a == b);
41 : }
42 :
43 : std::string name;
44 : int clockrate_hz;
45 : int num_channels;
46 : Parameters parameters;
47 : };
48 :
49 : void swap(SdpAudioFormat& a, SdpAudioFormat& b);
50 : std::ostream& operator<<(std::ostream& os, const SdpAudioFormat& saf);
51 :
52 0 : struct AudioCodecSpec {
53 : SdpAudioFormat format;
54 : bool allow_comfort_noise; // This encoder can be used with an external
55 : // comfort noise generator.
56 : };
57 :
58 : } // namespace webrtc
59 :
60 : #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_AUDIO_FORMAT_H_
|