RTCMediaStreamTrackStats collected on a per-attachment basis.

According to recent spec change:
https://github.com/w3c/webrtc-stats/pull/138/files

This establishes the relationship between tracks and
[Voice/Video][Sender/Receiver]Info(s). Follow-up CLs will easily be able
to collect more stats from them.

BUG=webrtc:6757, chromium:659137, chromium:627816

Review-Url: https://codereview.webrtc.org/2641763003
Cr-Commit-Position: refs/heads/master@{#16181}
diff --git a/webrtc/api/rtcstats_integrationtest.cc b/webrtc/api/rtcstats_integrationtest.cc
index 98eafb0..33b1436 100644
--- a/webrtc/api/rtcstats_integrationtest.cc
+++ b/webrtc/api/rtcstats_integrationtest.cc
@@ -433,17 +433,10 @@
     // Video or audio media stream track?
     if (*media_stream_track.kind == RTCMediaStreamTrackKind::kVideo) {
       // Video-only members
-      if (!*media_stream_track.remote_source) {
-        verifier.TestMemberIsNonNegative<uint32_t>(
-            media_stream_track.frame_width);
-        verifier.TestMemberIsNonNegative<uint32_t>(
-            media_stream_track.frame_height);
-      } else {
-        // TODO(hbos): Frame width/height should be defined for the remote case.
-        // Is this a real problem or an artifact of testing? crbug.com/659137
-        verifier.TestMemberIsUndefined(media_stream_track.frame_width);
-        verifier.TestMemberIsUndefined(media_stream_track.frame_height);
-      }
+      verifier.TestMemberIsNonNegative<uint32_t>(
+          media_stream_track.frame_width);
+      verifier.TestMemberIsNonNegative<uint32_t>(
+          media_stream_track.frame_height);
       verifier.TestMemberIsUndefined(media_stream_track.frames_per_second);
       verifier.TestMemberIsUndefined(media_stream_track.frames_sent);
       verifier.TestMemberIsUndefined(media_stream_track.frames_received);
@@ -470,14 +463,14 @@
       verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost);
       verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost);
       // Audio-only members
-      // TODO(hbos): Why are the audio track missing |audio_level|,
-      // |echo_return_loss| and |echo_return_loss_enhancement|? Is this a real
-      // problem or does it have to do with testing and not using real devices?
+      verifier.TestMemberIsNonNegative<double>(media_stream_track.audio_level);
+      // TODO(hbos): Find out why |echo_return_loss| and
+      // |echo_return_loss_enhancement| are undefined in the integration test.
+      // Is this a real problem or a test problem? Update test so that they are.
       // crbug.com/627816
-      verifier.MarkMemberTested(media_stream_track.audio_level, true);
-      verifier.MarkMemberTested(media_stream_track.echo_return_loss, true);
-      verifier.MarkMemberTested(
-          media_stream_track.echo_return_loss_enhancement, true);
+      verifier.TestMemberIsUndefined(media_stream_track.echo_return_loss);
+      verifier.TestMemberIsUndefined(
+          media_stream_track.echo_return_loss_enhancement);
     }
     return verifier.ExpectAllMembersSuccessfullyTested();
   }