mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00
Partial revert: "Use unordered map in RtpDemuxer"
While the savings were positive in Media Servers, there was a regression
in some scenarios (crbug.com/webrtc/12718) so let's revert it.
This partially reverts commit 553fd3220b
.
Bug: webrtc:12718
Change-Id: If9252fd996ffc5efd7609eb4c7c0e7f001893676
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220103
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34117}
This commit is contained in:
parent
238da9a57e
commit
fade919bb1
1 changed files with 7 additions and 12 deletions
|
@ -14,12 +14,9 @@
|
|||
#include <map>
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "rtc_base/hash.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
class RtpPacketReceived;
|
||||
|
@ -171,14 +168,12 @@ class RtpDemuxer {
|
|||
// Note: Mappings are only modified by AddSink/RemoveSink (except for
|
||||
// SSRC mapping which receives all MID, payload type, or RSID to SSRC bindings
|
||||
// discovered when demuxing packets).
|
||||
std::unordered_map<std::string, RtpPacketSinkInterface*> sink_by_mid_;
|
||||
std::unordered_map<uint32_t, RtpPacketSinkInterface*> sink_by_ssrc_;
|
||||
std::unordered_multimap<uint8_t, RtpPacketSinkInterface*> sinks_by_pt_;
|
||||
std::unordered_map<std::pair<std::string, std::string>,
|
||||
RtpPacketSinkInterface*,
|
||||
webrtc::PairHash>
|
||||
std::map<std::string, RtpPacketSinkInterface*> sink_by_mid_;
|
||||
std::map<uint32_t, RtpPacketSinkInterface*> sink_by_ssrc_;
|
||||
std::multimap<uint8_t, RtpPacketSinkInterface*> sinks_by_pt_;
|
||||
std::map<std::pair<std::string, std::string>, RtpPacketSinkInterface*>
|
||||
sink_by_mid_and_rsid_;
|
||||
std::unordered_map<std::string, RtpPacketSinkInterface*> sink_by_rsid_;
|
||||
std::map<std::string, RtpPacketSinkInterface*> sink_by_rsid_;
|
||||
|
||||
// Tracks all the MIDs that have been identified in added criteria. Used to
|
||||
// determine if a packet should be dropped right away because the MID is
|
||||
|
@ -189,8 +184,8 @@ class RtpDemuxer {
|
|||
// received.
|
||||
// This is stored separately from the sink mappings because if a sink is
|
||||
// removed we want to still remember these associations.
|
||||
std::unordered_map<uint32_t, std::string> mid_by_ssrc_;
|
||||
std::unordered_map<uint32_t, std::string> rsid_by_ssrc_;
|
||||
std::map<uint32_t, std::string> mid_by_ssrc_;
|
||||
std::map<uint32_t, std::string> rsid_by_ssrc_;
|
||||
|
||||
// Adds a binding from the SSRC to the given sink.
|
||||
void AddSsrcSinkBinding(uint32_t ssrc, RtpPacketSinkInterface* sink);
|
||||
|
|
Loading…
Reference in a new issue