Bug 1361139 - pt 2 - remove test-related SSRC filtering from MediaPipeline. r=drno draft
authorMichael Froman <mfroman@mozilla.com>
Fri, 05 May 2017 17:32:01 -0500
changeset 576525 5539f9badc99a8abfcf5419b436718233e9ab567
parent 576524 6e36e4fdaab46b44fadadd7f55eb60c6c89ac106
child 628219 d9963ec47694ee9fe5146ad9a65767adf673a593
push id58387
push userbmo:mfroman@nostrum.com
push dateThu, 11 May 2017 19:49:06 +0000
reviewersdrno
bugs1361139, 1358224, 1351531, 1351590
milestone55.0a1
Bug 1361139 - pt 2 - remove test-related SSRC filtering from MediaPipeline. r=drno Now that RID filtering (Bug 1358224) has fixed the intermittant oranges from Bug 1351531 and 1351590, remove the functionality from MediaPipeline. MozReview-Commit-ID: 1rED3iaHRCK
media/webrtc/signaling/src/mediapipeline/MediaPipeline.cpp
media/webrtc/signaling/src/mediapipeline/MediaPipeline.h
media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.h
--- a/media/webrtc/signaling/src/mediapipeline/MediaPipeline.cpp
+++ b/media/webrtc/signaling/src/mediapipeline/MediaPipeline.cpp
@@ -764,39 +764,16 @@ MediaPipeline::AddRIDFilter_m(const std:
 
 void
 MediaPipeline::AddRIDFilter_s(const std::string& rid)
 {
   filter_ = new MediaPipelineFilter;
   filter_->AddRemoteRtpStreamId(rid);
 }
 
-void
-MediaPipeline::SelectSsrc_m(size_t ssrc_index)
-{
-  if (ssrc_index < ssrcs_received_.size()) {
-    uint32_t ssrc = ssrcs_received_[ssrc_index];
-    RUN_ON_THREAD(sts_thread_,
-                  WrapRunnable(
-                               this,
-                               &MediaPipeline::SelectSsrc_s,
-                               ssrc),
-                  NS_DISPATCH_NORMAL);
-
-    conduit_->SetRemoteSSRC(ssrc);
-  }
-}
-
-void
-MediaPipeline::SelectSsrc_s(uint32_t ssrc)
-{
-  filter_ = new MediaPipelineFilter;
-  filter_->AddRemoteSSRC(ssrc);
-}
-
 void MediaPipeline::StateChange(TransportFlow *flow, TransportLayer::State state) {
   TransportInfo* info = GetTransportInfo_s(flow);
   MOZ_ASSERT(info);
 
   if (state == TransportLayer::TS_OPEN) {
     MOZ_MTLOG(ML_INFO, "Flow is ready");
     TransportReady_s(*info);
   } else if (state == TransportLayer::TS_CLOSED ||
@@ -1077,21 +1054,16 @@ void MediaPipeline::RtpPacketReceived(Tr
     return;
   }
 
   webrtc::RTPHeader header;
   if (!rtp_parser_->Parse(data, len, &header)) {
     return;
   }
 
-  if (std::find(ssrcs_received_.begin(), ssrcs_received_.end(), header.ssrc) ==
-      ssrcs_received_.end()) {
-    ssrcs_received_.push_back(header.ssrc);
-  }
-
   if (filter_ && !filter_->Filter(header)) {
     return;
   }
 
   // Make a copy rather than cast away constness
   auto inner_data = MakeUnique<unsigned char[]>(len);
   memcpy(inner_data.get(), data, len);
   int out_len = 0;
--- a/media/webrtc/signaling/src/mediapipeline/MediaPipeline.h
+++ b/media/webrtc/signaling/src/mediapipeline/MediaPipeline.h
@@ -109,20 +109,16 @@ class MediaPipeline : public sigslot::ha
                          RefPtr<TransportFlow> rtcp_transport,
                          nsAutoPtr<MediaPipelineFilter> filter);
 
   void UpdateTransport_s(int level,
                          RefPtr<TransportFlow> rtp_transport,
                          RefPtr<TransportFlow> rtcp_transport,
                          nsAutoPtr<MediaPipelineFilter> filter);
 
-  // Used only for testing; installs a MediaPipelineFilter that filters
-  // everything but the nth ssrc
-  void SelectSsrc_m(size_t ssrc_index);
-  void SelectSsrc_s(uint32_t ssrc);
   // Used only for testing; adds RTP header extension for RTP Stream Id with
   // the given id.
   void AddRIDExtension_m(size_t extension_id);
   void AddRIDExtension_s(size_t extension_id);
   // Used only for testing; installs a MediaPipelineFilter that filters
   // everything but the given RID
   void AddRIDFilter_m(const std::string& rid);
   void AddRIDFilter_s(const std::string& rid);
@@ -268,18 +264,16 @@ class MediaPipeline : public sigslot::ha
   // Build into TransportInfo?
   int32_t rtp_packets_sent_;
   int32_t rtcp_packets_sent_;
   int32_t rtp_packets_received_;
   int32_t rtcp_packets_received_;
   int64_t rtp_bytes_sent_;
   int64_t rtp_bytes_received_;
 
-  std::vector<uint32_t> ssrcs_received_;
-
   // Written on Init. Read on STS thread.
   std::string pc_;
   std::string description_;
 
   // Written on Init, all following accesses are on the STS thread.
   nsAutoPtr<MediaPipelineFilter> filter_;
   nsAutoPtr<webrtc::RtpHeaderParser> rtp_parser_;
 
--- a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
+++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
@@ -2363,27 +2363,16 @@ PeerConnectionImpl::GetMediaPipelineForT
       }
     }
   }
 
   return nullptr;
 }
 
 nsresult
-PeerConnectionImpl::SelectSsrc(MediaStreamTrack& aRecvTrack,
-                               unsigned short aSsrcIndex)
-{
-  RefPtr<MediaPipeline> pipeline = GetMediaPipelineForTrack(aRecvTrack);
-  if (pipeline) {
-    pipeline->SelectSsrc_m(aSsrcIndex);
-  }
-  return NS_OK;
-}
-
-nsresult
 PeerConnectionImpl::AddRIDExtension(MediaStreamTrack& aRecvTrack,
                                     unsigned short aExtensionId)
 {
   RefPtr<MediaPipeline> pipeline = GetMediaPipelineForTrack(aRecvTrack);
   if (pipeline) {
     pipeline->AddRIDExtension_m(aExtensionId);
   }
   return NS_OK;
--- a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.h
+++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.h
@@ -445,23 +445,16 @@ public:
   nsresult
   SetParameters(dom::MediaStreamTrack& aTrack,
                 const std::vector<JsepTrack::JsConstraints>& aConstraints);
 
   nsresult
   GetParameters(dom::MediaStreamTrack& aTrack,
                 std::vector<JsepTrack::JsConstraints>* aOutConstraints);
 
-  NS_IMETHODIMP_TO_ERRORRESULT(SelectSsrc, ErrorResult &rv,
-                               dom::MediaStreamTrack& aRecvTrack,
-                               unsigned short aSsrcIndex)
-  {
-    rv = SelectSsrc(aRecvTrack, aSsrcIndex);
-  }
-
   NS_IMETHODIMP_TO_ERRORRESULT(AddRIDExtension, ErrorResult &rv,
                                dom::MediaStreamTrack& aRecvTrack,
                                unsigned short aExtensionId)
   {
     rv = AddRIDExtension(aRecvTrack, aExtensionId);
   }
 
   NS_IMETHODIMP_TO_ERRORRESULT(AddRIDFilter, ErrorResult& rv,