Negotiating Simulcast in the initial offer/answer - Part1.
This change adds Simulcast negotiation to media session offers/answers.
Next step is to add negotiation logic to PeerConnection.
Bug: webrtc:10075
Change-Id: Iea3a1084c16058f0efbc974cf623ec05c3c7a74f
Reviewed-on: https://webrtc-review.googlesource.com/c/115790
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26115}
diff --git a/pc/simulcastdescription.h b/pc/simulcastdescription.h
index 9f15f78..0781a6a 100644
--- a/pc/simulcastdescription.h
+++ b/pc/simulcastdescription.h
@@ -25,6 +25,7 @@
SimulcastLayer(const SimulcastLayer& other) = default;
SimulcastLayer& operator=(const SimulcastLayer& other) = default;
+ bool operator==(const SimulcastLayer& other) const;
std::string rid;
bool is_paused;
@@ -48,6 +49,12 @@
// {SimulcastLayer("4", false), SimulcastLayer("5", false});
class SimulcastLayerList final {
public:
+ // Type definitions required by a container.
+ typedef size_t size_type;
+ typedef std::vector<SimulcastLayer> value_type;
+ typedef std::vector<std::vector<SimulcastLayer>>::const_iterator
+ const_iterator;
+
// Use to add a layer when there will be no alternatives.
void AddLayer(const SimulcastLayer& layer);
@@ -57,13 +64,9 @@
// Read-only access to the contents.
// Note: This object does not allow removal of layers.
- std::vector<std::vector<SimulcastLayer>>::const_iterator begin() const {
- return list_.begin();
- }
+ const_iterator begin() const { return list_.begin(); }
- std::vector<std::vector<SimulcastLayer>>::const_iterator end() const {
- return list_.end();
- }
+ const_iterator end() const { return list_.end(); }
const std::vector<SimulcastLayer>& operator[](size_t index) const;