Change GetStreamBySsrc to not copy StreamParams.
This is something I stumbled upon while looking at string copying we do (in spades) and did a simple change to not be constantly copying things around needlessly. There's a lot more that can be done in these files of course so this is sort of a reminder for future code edits that it's possible to design interfaces/function in a way that's more performance aware and avoid forcing creation of copies, while still being very simple.  Also, we can use lambdas now :)

BUG=
R=perkj@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/41589004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8131 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/media/base/rtpdataengine.cc b/talk/media/base/rtpdataengine.cc
index 0acc43a..24b6e84 100644
--- a/talk/media/base/rtpdataengine.cc
+++ b/talk/media/base/rtpdataengine.cc
@@ -174,8 +174,7 @@
     return false;
   }
 
-  StreamParams found_stream;
-  if (GetStreamBySsrc(send_streams_, stream.first_ssrc(), &found_stream)) {
+  if (GetStreamBySsrc(send_streams_, stream.first_ssrc())) {
     LOG(LS_WARNING) << "Not adding data send stream '" << stream.id
                     << "' with ssrc=" << stream.first_ssrc()
                     << " because stream already exists.";
@@ -195,8 +194,7 @@
 }
 
 bool RtpDataMediaChannel::RemoveSendStream(uint32 ssrc) {
-  StreamParams found_stream;
-  if (!GetStreamBySsrc(send_streams_, ssrc, &found_stream)) {
+  if (!GetStreamBySsrc(send_streams_, ssrc)) {
     return false;
   }
 
@@ -211,8 +209,7 @@
     return false;
   }
 
-  StreamParams found_stream;
-  if (GetStreamBySsrc(recv_streams_, stream.first_ssrc(), &found_stream)) {
+  if (GetStreamBySsrc(recv_streams_, stream.first_ssrc())) {
     LOG(LS_WARNING) << "Not adding data recv stream '" << stream.id
                     << "' with ssrc=" << stream.first_ssrc()
                     << " because stream already exists.";
@@ -269,13 +266,13 @@
     return;
   }
 
-  StreamParams found_stream;
-  if (!GetStreamBySsrc(recv_streams_, header.ssrc, &found_stream)) {
+  if (!GetStreamBySsrc(recv_streams_, header.ssrc)) {
     LOG(LS_WARNING) << "Received packet for unknown ssrc: " << header.ssrc;
     return;
   }
 
   // Uncomment this for easy debugging.
+  // const auto* found_stream = GetStreamBySsrc(recv_streams_, header.ssrc);
   // LOG(LS_INFO) << "Received packet"
   //              << " groupid=" << found_stream.groupid
   //              << ", ssrc=" << header.ssrc
@@ -318,8 +315,9 @@
     return false;
   }
 
-  StreamParams found_stream;
-  if (!GetStreamBySsrc(send_streams_, params.ssrc, &found_stream)) {
+  const StreamParams* found_stream =
+      GetStreamBySsrc(send_streams_, params.ssrc);
+  if (!found_stream) {
     LOG(LS_WARNING) << "Not sending data because ssrc is unknown: "
                     << params.ssrc;
     return false;
@@ -363,7 +361,7 @@
   packet.AppendData(payload.data(), payload.length());
 
   LOG(LS_VERBOSE) << "Sent RTP data packet: "
-                  << " stream=" << found_stream.id
+                  << " stream=" << found_stream->id
                   << " ssrc=" << header.ssrc
                   << ", seqnum=" << header.seq_num
                   << ", timestamp=" << header.timestamp