OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2011 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 19 matching lines...) Expand all Loading... | |
30 #include <set> | 30 #include <set> |
31 #include <string> | 31 #include <string> |
32 #include <vector> | 32 #include <vector> |
33 | 33 |
34 #include "webrtc/base/basictypes.h" | 34 #include "webrtc/base/basictypes.h" |
35 #include "webrtc/base/constructormagic.h" | 35 #include "webrtc/base/constructormagic.h" |
36 | 36 |
37 namespace cricket { | 37 namespace cricket { |
38 | 38 |
39 extern const char kFecSsrcGroupSemantics[]; | 39 extern const char kFecSsrcGroupSemantics[]; |
40 extern const char kFecFrSsrcGroupSemantics[]; | |
40 extern const char kFidSsrcGroupSemantics[]; | 41 extern const char kFidSsrcGroupSemantics[]; |
41 extern const char kSimSsrcGroupSemantics[]; | 42 extern const char kSimSsrcGroupSemantics[]; |
42 | 43 |
43 struct SsrcGroup { | 44 struct SsrcGroup { |
44 SsrcGroup(const std::string& usage, const std::vector<uint32_t>& ssrcs) | 45 SsrcGroup(const std::string& usage, const std::vector<uint32_t>& ssrcs) |
45 : semantics(usage), ssrcs(ssrcs) {} | 46 : semantics(usage), ssrcs(ssrcs) {} |
46 | 47 |
47 bool operator==(const SsrcGroup& other) const { | 48 bool operator==(const SsrcGroup& other) const { |
48 return (semantics == other.semantics && ssrcs == other.ssrcs); | 49 return (semantics == other.semantics && ssrcs == other.ssrcs); |
49 } | 50 } |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
115 inline bool AddFidSsrc(uint32_t primary_ssrc, uint32_t fid_ssrc) { | 116 inline bool AddFidSsrc(uint32_t primary_ssrc, uint32_t fid_ssrc) { |
116 return AddSecondarySsrc(kFidSsrcGroupSemantics, primary_ssrc, fid_ssrc); | 117 return AddSecondarySsrc(kFidSsrcGroupSemantics, primary_ssrc, fid_ssrc); |
117 } | 118 } |
118 | 119 |
119 // Convenience function to lookup the FID ssrc for a primary_ssrc. | 120 // Convenience function to lookup the FID ssrc for a primary_ssrc. |
120 // Returns false if primary_ssrc not found or FID not defined for it. | 121 // Returns false if primary_ssrc not found or FID not defined for it. |
121 inline bool GetFidSsrc(uint32_t primary_ssrc, uint32_t* fid_ssrc) const { | 122 inline bool GetFidSsrc(uint32_t primary_ssrc, uint32_t* fid_ssrc) const { |
122 return GetSecondarySsrc(kFidSsrcGroupSemantics, primary_ssrc, fid_ssrc); | 123 return GetSecondarySsrc(kFidSsrcGroupSemantics, primary_ssrc, fid_ssrc); |
123 } | 124 } |
124 | 125 |
126 // Convenience function to add an FEC-FR ssrc for a primary_ssrc | |
127 // that's already been added. | |
128 inline bool AddFecFrSsrc(uint32_t primary_ssrc, uint32_t fecfr_ssrc) { | |
magjed_webrtc
2016/11/22 08:22:18
nit: you don't really need inline here since membe
brandtr
2016/11/22 08:40:30
Removed :)
| |
129 return AddSecondarySsrc(kFecFrSsrcGroupSemantics, primary_ssrc, fecfr_ssrc); | |
130 } | |
131 | |
132 // Convenience function to lookup the FEC-FR ssrc for a primary_ssrc. | |
133 // Returns false if primary_ssrc not found or FEC-FR not defined for it. | |
134 inline bool GetFecFrSsrc(uint32_t primary_ssrc, uint32_t* fecfr_ssrc) const { | |
135 return GetSecondarySsrc(kFecFrSsrcGroupSemantics, primary_ssrc, fecfr_ssrc); | |
136 } | |
137 | |
125 // Convenience to get all the SIM SSRCs if there are SIM ssrcs, or | 138 // Convenience to get all the SIM SSRCs if there are SIM ssrcs, or |
126 // the first SSRC otherwise. | 139 // the first SSRC otherwise. |
127 void GetPrimarySsrcs(std::vector<uint32_t>* ssrcs) const; | 140 void GetPrimarySsrcs(std::vector<uint32_t>* ssrcs) const; |
128 | 141 |
129 // Convenience to get all the FID SSRCs for the given primary ssrcs. | 142 // Convenience to get all the FID SSRCs for the given primary ssrcs. |
130 // If a given primary SSRC does not have a FID SSRC, the list of FID | 143 // If a given primary SSRC does not have a FID SSRC, the list of FID |
131 // SSRCS will be smaller than the list of primary SSRCs. | 144 // SSRCS will be smaller than the list of primary SSRCs. |
132 void GetFidSsrcs(const std::vector<uint32_t>& primary_ssrcs, | 145 void GetFidSsrcs(const std::vector<uint32_t>& primary_ssrcs, |
133 std::vector<uint32_t>* fid_ssrcs) const; | 146 std::vector<uint32_t>* fid_ssrcs) const; |
134 | 147 |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
282 inline bool RemoveStreamByIds(StreamParamsVec* streams, | 295 inline bool RemoveStreamByIds(StreamParamsVec* streams, |
283 const std::string& groupid, | 296 const std::string& groupid, |
284 const std::string& id) { | 297 const std::string& id) { |
285 return RemoveStream(streams, | 298 return RemoveStream(streams, |
286 [&groupid, &id](const StreamParams& sp) { | 299 [&groupid, &id](const StreamParams& sp) { |
287 return sp.groupid == groupid && sp.id == id; | 300 return sp.groupid == groupid && sp.id == id; |
288 }); | 301 }); |
289 } | 302 } |
290 | 303 |
291 // Checks if |sp| defines parameters for a single primary stream. There may | 304 // Checks if |sp| defines parameters for a single primary stream. There may |
292 // be an RTX stream associated with the primary stream. Leaving as non-static so | 305 // be an RTX stream or a FlexFEC stream (or both) associated with the primary |
293 // we can test this function. | 306 // stream. Leaving as non-static so we can test this function. |
294 bool IsOneSsrcStream(const StreamParams& sp); | 307 bool IsOneSsrcStream(const StreamParams& sp); |
295 | 308 |
296 // Checks if |sp| defines parameters for one Simulcast stream. There may be RTX | 309 // Checks if |sp| defines parameters for one Simulcast stream. There may be RTX |
297 // streams associated with the simulcast streams. Leaving as non-static so we | 310 // streams associated with the simulcast streams. Leaving as non-static so we |
298 // can test this function. | 311 // can test this function. |
299 bool IsSimulcastStream(const StreamParams& sp); | 312 bool IsSimulcastStream(const StreamParams& sp); |
300 | 313 |
301 } // namespace cricket | 314 } // namespace cricket |
302 | 315 |
303 #endif // WEBRTC_MEDIA_BASE_STREAMPARAMS_H_ | 316 #endif // WEBRTC_MEDIA_BASE_STREAMPARAMS_H_ |
OLD | NEW |