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

Side by Side Diff: webrtc/media/engine/payload_type_mapper.cc

Issue 2493133002: Stop using hardcoded payload types for video codecs (Closed)
Patch Set: Rebase again Created 4 years, 1 month 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) 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2016 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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 // and 1 here, to increase the chances it will be correctly used if 46 // and 1 here, to increase the chances it will be correctly used if
47 // someone implements an MPEG audio encoder/decoder. 47 // someone implements an MPEG audio encoder/decoder.
48 {{"MPA", 90000, 0}, 14}, 48 {{"MPA", 90000, 0}, 14},
49 {{"MPA", 90000, 1}, 14}, 49 {{"MPA", 90000, 1}, 14},
50 {{"G728", 8000, 1}, 15}, 50 {{"G728", 8000, 1}, 15},
51 {{"DVI4", 11025, 1}, 16}, 51 {{"DVI4", 11025, 1}, 16},
52 {{"DVI4", 22050, 1}, 17}, 52 {{"DVI4", 22050, 1}, 17},
53 {{"G729", 8000, 1}, 18}, 53 {{"G729", 8000, 1}, 18},
54 54
55 // Payload type assignments currently used by WebRTC. 55 // Payload type assignments currently used by WebRTC.
56 // Includes video and data to reduce collisions (and thus 56 // Includes data to reduce collisions (and thus reassignments)
57 // reassignments).
58 // RTX codecs mapping to specific video payload types 57 // RTX codecs mapping to specific video payload types
59 {{kRtxCodecName, 90000, 0,
60 {{kCodecParamAssociatedPayloadType,
61 std::to_string(kDefaultVp8PlType)}}},
62 kDefaultRtxVp8PlType},
63 {{kRtxCodecName, 90000, 0,
64 {{kCodecParamAssociatedPayloadType,
65 std::to_string(kDefaultVp9PlType)}}},
66 kDefaultRtxVp9PlType},
67 {{kRtxCodecName, 90000, 0,
68 {{kCodecParamAssociatedPayloadType,
69 std::to_string(kDefaultRedPlType)}}},
70 kDefaultRtxRedPlType},
71 {{kRtxCodecName, 90000, 0,
72 {{kCodecParamAssociatedPayloadType,
73 std::to_string(kDefaultH264PlType)}}},
74 kDefaultRtxH264ConstrainedBaselinePlType},
75 // Other codecs 58 // Other codecs
76 {{kVp8CodecName, 90000, 0}, kDefaultVp8PlType},
77 {{kVp9CodecName, 90000, 0}, kDefaultVp9PlType},
78 {{kGoogleRtpDataCodecName, 0, 0}, kGoogleRtpDataCodecPlType}, 59 {{kGoogleRtpDataCodecName, 0, 0}, kGoogleRtpDataCodecPlType},
79 {{kIlbcCodecName, 8000, 1}, 102}, 60 {{kIlbcCodecName, 8000, 1}, 102},
80 {{kIsacCodecName, 16000, 1}, 103}, 61 {{kIsacCodecName, 16000, 1}, 103},
81 {{kIsacCodecName, 32000, 1}, 104}, 62 {{kIsacCodecName, 32000, 1}, 104},
82 {{kCnCodecName, 16000, 1}, 105}, 63 {{kCnCodecName, 16000, 1}, 105},
83 {{kCnCodecName, 32000, 1}, 106}, 64 {{kCnCodecName, 32000, 1}, 106},
84 {{kH264CodecName, 90000, 0}, kDefaultH264PlType},
85 {{kGoogleSctpDataCodecName, 0, 0}, kGoogleSctpDataCodecPlType}, 65 {{kGoogleSctpDataCodecName, 0, 0}, kGoogleSctpDataCodecPlType},
86 {{kOpusCodecName, 48000, 2, 66 {{kOpusCodecName, 48000, 2,
87 {{"minptime", "10"}, {"useinbandfec", "1"}}}, 111}, 67 {{"minptime", "10"}, {"useinbandfec", "1"}}}, 111},
88 {{kRedCodecName, 90000, 0}, kDefaultRedPlType},
89 {{kUlpfecCodecName, 90000, 0}, kDefaultUlpfecType},
90 {{kFlexfecCodecName, 90000, 0}, kDefaultFlexfecPlType},
91 // TODO(solenberg): Remove the hard coded 16k,32k,48k DTMF once we 68 // TODO(solenberg): Remove the hard coded 16k,32k,48k DTMF once we
92 // assign payload types dynamically for send side as well. 69 // assign payload types dynamically for send side as well.
93 {{kDtmfCodecName, 48000, 1}, 110}, 70 {{kDtmfCodecName, 48000, 1}, 110},
94 {{kDtmfCodecName, 32000, 1}, 112}, 71 {{kDtmfCodecName, 32000, 1}, 112},
95 {{kDtmfCodecName, 16000, 1}, 113}, 72 {{kDtmfCodecName, 16000, 1}, 113},
96 {{kDtmfCodecName, 8000, 1}, 126}}) { 73 {{kDtmfCodecName, 8000, 1}, 126}}) {
97 // TODO(ossu): Try to keep this as change-proof as possible until we're able 74 // TODO(ossu): Try to keep this as change-proof as possible until we're able
98 // to remove the payload type constants from everywhere in the code. 75 // to remove the payload type constants from everywhere in the code.
99 for (const auto& mapping : mappings_) { 76 for (const auto& mapping : mappings_) {
100 used_payload_types_.insert(mapping.second); 77 used_payload_types_.insert(mapping.second);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 if (name_cmp == 0) 136 if (name_cmp == 0)
160 return a.parameters < b.parameters; 137 return a.parameters < b.parameters;
161 return name_cmp < 0; 138 return name_cmp < 0;
162 } 139 }
163 return a.num_channels < b.num_channels; 140 return a.num_channels < b.num_channels;
164 } 141 }
165 return a.clockrate_hz < b.clockrate_hz; 142 return a.clockrate_hz < b.clockrate_hz;
166 } 143 }
167 144
168 } // namespace cricket 145 } // namespace cricket
OLDNEW
« no previous file with comments | « webrtc/media/engine/internalencoderfactory.cc ('k') | webrtc/media/engine/payload_type_mapper_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698