Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: webrtc/config.h

Issue 2761143002: Support encrypted RTP extensions (RFC 6904) (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 51
52 // Payload type used for RED packets. 52 // Payload type used for RED packets.
53 int red_payload_type; 53 int red_payload_type;
54 54
55 // RTX payload type for RED payload. 55 // RTX payload type for RED payload.
56 int red_rtx_payload_type; 56 int red_rtx_payload_type;
57 }; 57 };
58 58
59 // RTP header extension, see RFC 5285. 59 // RTP header extension, see RFC 5285.
60 struct RtpExtension { 60 struct RtpExtension {
61 RtpExtension() : id(0) {} 61 RtpExtension() {}
62 RtpExtension(const std::string& uri, int id) : uri(uri), id(id) {} 62 RtpExtension(const std::string& uri, int id) : uri(uri), id(id) {}
63 RtpExtension(const std::string& uri, int id, bool encrypted) : uri(uri),
64 id(id), encrypted(encrypted) {}
63 std::string ToString() const; 65 std::string ToString() const;
64 bool operator==(const RtpExtension& rhs) const { 66 bool operator==(const RtpExtension& rhs) const {
65 return uri == rhs.uri && id == rhs.id; 67 return uri == rhs.uri && id == rhs.id && encrypted == rhs.encrypted;
66 } 68 }
67 static bool IsSupportedForAudio(const std::string& uri); 69 static bool IsSupportedForAudio(const std::string& uri);
68 static bool IsSupportedForVideo(const std::string& uri); 70 static bool IsSupportedForVideo(const std::string& uri);
71 static bool AllowEncrypt(const std::string& uri);
Taylor Brandstetter 2017/03/22 18:00:10 Can you leave a comment describing this method?
joachim 2017/03/23 00:04:32 Done.
69 72
70 // Header extension for audio levels, as defined in: 73 // Header extension for audio levels, as defined in:
71 // http://tools.ietf.org/html/draft-ietf-avtext-client-to-mixer-audio-level-03 74 // http://tools.ietf.org/html/draft-ietf-avtext-client-to-mixer-audio-level-03
72 static const char* kAudioLevelUri; 75 static const char* kAudioLevelUri;
73 static const int kAudioLevelDefaultId; 76 static const int kAudioLevelDefaultId;
74 77
75 // Header extension for RTP timestamp offset, see RFC 5450 for details: 78 // Header extension for RTP timestamp offset, see RFC 5450 for details:
76 // http://tools.ietf.org/html/rfc5450 79 // http://tools.ietf.org/html/rfc5450
77 static const char* kTimestampOffsetUri; 80 static const char* kTimestampOffsetUri;
78 static const int kTimestampOffsetDefaultId; 81 static const int kTimestampOffsetDefaultId;
(...skipping 10 matching lines...) Expand all
89 static const int kVideoRotationDefaultId; 92 static const int kVideoRotationDefaultId;
90 93
91 // Header extension for transport sequence number, see url for details: 94 // Header extension for transport sequence number, see url for details:
92 // http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions 95 // http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions
93 static const char* kTransportSequenceNumberUri; 96 static const char* kTransportSequenceNumberUri;
94 static const int kTransportSequenceNumberDefaultId; 97 static const int kTransportSequenceNumberDefaultId;
95 98
96 static const char* kPlayoutDelayUri; 99 static const char* kPlayoutDelayUri;
97 static const int kPlayoutDelayDefaultId; 100 static const int kPlayoutDelayDefaultId;
98 101
102 // Encryption of Header Extensions, see RFC 6904 for details:
103 // https://tools.ietf.org/html/rfc6904
104 static const char* kEncryptHeaderExtensionsUri;
105
99 // Inclusive min and max IDs for one-byte header extensions, per RFC5285. 106 // Inclusive min and max IDs for one-byte header extensions, per RFC5285.
100 static const int kMinId; 107 static const int kMinId;
101 static const int kMaxId; 108 static const int kMaxId;
102 109
103 std::string uri; 110 std::string uri;
104 int id; 111 int id = 0;
112 bool encrypted = false;
Taylor Brandstetter 2017/03/22 18:00:10 nit: If this was just "encrypt" rather than "encry
joachim 2017/03/23 00:04:32 Done.
105 }; 113 };
106 114
107 struct VideoStream { 115 struct VideoStream {
108 VideoStream(); 116 VideoStream();
109 ~VideoStream(); 117 ~VideoStream();
110 std::string ToString() const; 118 std::string ToString() const;
111 119
112 size_t width; 120 size_t width;
113 size_t height; 121 size_t height;
114 int max_framerate; 122 int max_framerate;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 236
229 private: 237 private:
230 // Access to the copy constructor is private to force use of the Copy() 238 // Access to the copy constructor is private to force use of the Copy()
231 // method for those exceptional cases where we do use it. 239 // method for those exceptional cases where we do use it.
232 VideoEncoderConfig(const VideoEncoderConfig&); 240 VideoEncoderConfig(const VideoEncoderConfig&);
233 }; 241 };
234 242
235 } // namespace webrtc 243 } // namespace webrtc
236 244
237 #endif // WEBRTC_CONFIG_H_ 245 #endif // WEBRTC_CONFIG_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698