Bug 1271669 - Remove GetVideoTrackByTrackId(). r?bwc draft
authorAndreas Pehrson <pehrsons@gmail.com>
Thu, 19 May 2016 15:28:03 +0200
changeset 369108 8dd6d585a96df1db0cb485d72e84ec7dd24ad90d
parent 369107 d58842e4a678f77b39de66b4575fc2b6a76ecc71
child 369109 fa136139f3e4943a160ec297ba453cafa4860df5
push id18740
push userpehrsons@gmail.com
push dateFri, 20 May 2016 08:44:08 +0000
reviewersbwc
bugs1271669
milestone49.0a1
Bug 1271669 - Remove GetVideoTrackByTrackId(). r?bwc We have GetTrackById() now that does essentially the same thing. Also, GetVideoTrackByTrackId() was too focused on the owning MediaStream and didn't work. MozReview-Commit-ID: 9z3rg4FI9H8
media/webrtc/signaling/src/peerconnection/MediaPipelineFactory.cpp
media/webrtc/signaling/src/peerconnection/PeerConnectionMedia.cpp
media/webrtc/signaling/src/peerconnection/PeerConnectionMedia.h
--- a/media/webrtc/signaling/src/peerconnection/MediaPipelineFactory.cpp
+++ b/media/webrtc/signaling/src/peerconnection/MediaPipelineFactory.cpp
@@ -865,18 +865,21 @@ nsresult
 MediaPipelineFactory::ConfigureVideoCodecMode(const JsepTrack& aTrack,
                                               VideoSessionConduit& aConduit)
 {
 #if !defined(MOZILLA_EXTERNAL_LINKAGE)
   RefPtr<LocalSourceStreamInfo> stream =
     mPCMedia->GetLocalStreamByTrackId(aTrack.GetTrackId());
 
   //get video track
+  RefPtr<mozilla::dom::MediaStreamTrack> track =
+    stream->GetTrackById(aTrack.GetTrackId());
+
   RefPtr<mozilla::dom::VideoStreamTrack> videotrack =
-    stream->GetVideoTrackByTrackId(aTrack.GetTrackId());
+    track->AsVideoStreamTrack();
 
   if (!videotrack) {
     MOZ_MTLOG(ML_ERROR, "video track not available");
     return NS_ERROR_FAILURE;
   }
 
   dom::MediaSourceEnum source = videotrack->GetSource().GetMediaSource();
   webrtc::VideoCodecMode mode = webrtc::kRealtimeVideo;
--- a/media/webrtc/signaling/src/peerconnection/PeerConnectionMedia.cpp
+++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionMedia.cpp
@@ -1490,36 +1490,16 @@ SourceStreamInfo::AnyCodecHasPluginID(ui
   for (auto it = mPipelines.begin(); it != mPipelines.end(); ++it) {
     if (it->second->Conduit()->CodecPluginID() == aPluginID) {
       return true;
     }
   }
   return false;
 }
 
-#if !defined(MOZILLA_EXTERNAL_LINKAGE)
-RefPtr<mozilla::dom::VideoStreamTrack>
-SourceStreamInfo::GetVideoTrackByTrackId(const std::string& trackId)
-{
-  nsTArray<RefPtr<mozilla::dom::VideoStreamTrack>> videoTracks;
-
-  mMediaStream->GetVideoTracks(videoTracks);
-
-  for (size_t i = 0; i < videoTracks.Length(); ++i) {
-    nsString aTrackId;
-    videoTracks[i]->GetId(aTrackId);
-    if (aTrackId.EqualsIgnoreCase(trackId.c_str())) {
-      return videoTracks[i];
-    }
-  }
-
-  return nullptr;
-}
-#endif
-
 nsresult
 SourceStreamInfo::StorePipeline(
     const std::string& trackId,
     const RefPtr<mozilla::MediaPipeline>& aPipeline)
 {
   MOZ_ASSERT(mPipelines.find(trackId) == mPipelines.end());
   if (mPipelines.find(trackId) != mPipelines.end()) {
     CSFLogError(logTag, "%s: Storing duplicate track", __FUNCTION__);
--- a/media/webrtc/signaling/src/peerconnection/PeerConnectionMedia.h
+++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionMedia.h
@@ -110,19 +110,16 @@ public:
 
     return it->second;
   }
   const std::string& GetId() const { return mId; }
 
   void DetachTransport_s();
   void DetachMedia_m();
   bool AnyCodecHasPluginID(uint64_t aPluginID);
-#if !defined(MOZILLA_EXTERNAL_LINKAGE)
-  RefPtr<mozilla::dom::VideoStreamTrack> GetVideoTrackByTrackId(const std::string& trackId);
-#endif
 protected:
   RefPtr<DOMMediaStream> mMediaStream;
   PeerConnectionMedia *mParent;
   const std::string mId;
   // These get set up before we generate our local description, the pipelines
   // and conduits are set up once offer/answer completes.
   std::map<std::string, RefPtr<dom::MediaStreamTrack>> mTracks;
   std::map<std::string, RefPtr<MediaPipeline>> mPipelines;