)]}'
{
  "commit": "9973933d2e606d64fcdc753acb9ba3afd6e30569",
  "tree": "a23c48989a3e9622d24c91571a40209bba5f83ce",
  "parents": [
    "f2d97b8d58cd75279c93752e738ada2e22263b36"
  ],
  "author": {
    "name": "Chen Xing",
    "email": "chxg@google.com",
    "time": "Wed Jul 24 12:53:25 2019"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Wed Jul 24 14:15:28 2019"
  },
  "message": "Reland \"Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.\"\n\nThis reverts commit 24192c267a40eb7d6b1850489ccdbf7a84f8ff0f.\n\nReason for revert: Analyzed the performance regression in more detail.\n\nMost of the regression comes from the extra RtpPacketInfos-related memory allocations in every `NetEq::GetAudio()` call. Commit 1796a820f60cb9429bf4bcf13a40a41794ac8fb0 has removed roughly 2/3rds of the extra allocations from the impacted perf tests. Remaining perf impact is expected to be about \"8 microseconds of CPU time per second\" on the Linux benchmarking machines and \"15 us per second\" on Windows/Mac.\n\nThere are options to optimize further but they are unlikely worth doing. Note for example that `NetEqPerformanceTest` uses the PCM codec while the real-world use cases would likely use the much heavier Opus codec. The numbers from `OpusSpeedTest` and `NetEqPerformanceTest` suggest that Opus decoding is about 10x as expensive as NetEq overall.\n\nOriginal change\u0027s description:\n\u003e Revert \"Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.\"\n\u003e\n\u003e This reverts commit 3e8ef940fe86cf6285afb80e68d2a0bedc631b9f.\n\u003e\n\u003e Reason for revert: This CL causes a performance regression in NetEq, see https://bugs.chromium.org/p/chromium/issues/detail?id\u003d982260.\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.\n\u003e \u003e\n\u003e \u003e This change adds the plumbing of RtpPacketInfo from ChannelReceive::OnRtpPacket() to ChannelReceive::GetAudioFrameWithInfo() for audio. It is a step towards replacing the non-spec compliant ContributingSources that updates itself at packet-receive time, with the spec-compliant SourceTracker that will update itself at frame-delivery-to-track time.\n\u003e \u003e\n\u003e \u003e Bug: webrtc:10668\n\u003e \u003e Change-Id: I03385d6865bbc7bfbef7634f88de820a934f787a\n\u003e \u003e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139890\n\u003e \u003e Reviewed-by: Stefan Holmer \u003cstefan@webrtc.org\u003e\n\u003e \u003e Reviewed-by: Minyue Li \u003cminyue@webrtc.org\u003e\n\u003e \u003e Commit-Queue: Chen Xing \u003cchxg@google.com\u003e\n\u003e \u003e Cr-Commit-Position: refs/heads/master@{#28434}\n\u003e\n\u003e TBR\u003dkwiberg@webrtc.org,stefan@webrtc.org,minyue@webrtc.org,chxg@google.com\n\u003e\n\u003e Bug: webrtc:10668, chromium:982260\n\u003e Change-Id: I5e2cfde78c59d1123e21869564d76ed3f6193a5c\n\u003e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145339\n\u003e Reviewed-by: Ivo Creusen \u003civoc@webrtc.org\u003e\n\u003e Commit-Queue: Ivo Creusen \u003civoc@webrtc.org\u003e\n\u003e Cr-Commit-Position: refs/heads/master@{#28561}\n\nTBR\u003dkwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com\n\n# Not skipping CQ checks because original CL landed \u003e 1 day ago.\n\nBug: webrtc:10668, chromium:982260\nChange-Id: Ie375a0b327ee368317bf3a04b2f1415c3a974470\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/146707\nReviewed-by: Stefan Holmer \u003cstefan@webrtc.org\u003e\nCommit-Queue: Chen Xing \u003cchxg@google.com\u003e\nCr-Commit-Position: refs/heads/master@{#28664}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "446d8ab5286fe5d0cc63187b033302982b64d6d2",
      "old_mode": 33188,
      "old_path": "api/audio/BUILD.gn",
      "new_id": "deff5b7f557ff5d97f1b54f7d9e02b2ee8234260",
      "new_mode": 33188,
      "new_path": "api/audio/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "0b3a2b6d85c1f6ce1a94020ff28c550e09973e41",
      "old_mode": 33188,
      "old_path": "api/audio/audio_frame.cc",
      "new_id": "d9212a211df6a89bc4c7728dda06c73614627160",
      "new_mode": 33188,
      "new_path": "api/audio/audio_frame.cc"
    },
    {
      "type": "modify",
      "old_id": "a141f6e80cb0c681314aed1804a74330cfaf975c",
      "old_mode": 33188,
      "old_path": "api/audio/audio_frame.h",
      "new_id": "7660e75ec3100afad41c77204fd161d33b5ec82f",
      "new_mode": 33188,
      "new_path": "api/audio/audio_frame.h"
    },
    {
      "type": "modify",
      "old_id": "e77c38674206a8c9a233b76c20a9046e38467efe",
      "old_mode": 33188,
      "old_path": "audio/remix_resample.cc",
      "new_id": "3694d34e40a859137de80626d27bfc28eae36102",
      "new_mode": 33188,
      "new_path": "audio/remix_resample.cc"
    },
    {
      "type": "modify",
      "old_id": "6cc9dc5f072988332de8058e58eb8dbccd095d55",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/BUILD.gn",
      "new_id": "b796ab0bf9061be8d7e0113dbe2e56555ab6e720",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "ce480aefbb6b10d73947b0ff7b4ab7e25cbe579b",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/acm2/acm_receiver.cc",
      "new_id": "6de45e761dde2c6cca803b230e0c738b06af558d",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/acm2/acm_receiver.cc"
    },
    {
      "type": "modify",
      "old_id": "d91850fd777932f837ea5647b706d6dd774789ee",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/include/neteq.h",
      "new_id": "ef144e69f03c0983b9ea00a5caa41b0d6ab3f49d",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/include/neteq.h"
    },
    {
      "type": "modify",
      "old_id": "a84c94280a607efbe547a4c7589a589f920922ec",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/neteq.cc",
      "new_id": "0a36cb2215140b8f21fab2c20acd1a965b29d307",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/neteq.cc"
    },
    {
      "type": "modify",
      "old_id": "9ad2e9ec46b77a049b389a307f0495af3412ffc1",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/neteq_impl.cc",
      "new_id": "8ef08ceec049f9f835413707a06b2a984f0c017b",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/neteq_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "39a4df62e7b838a134f0d0dae2968b807c3f1e03",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/neteq_impl.h",
      "new_id": "9e1af10d4befa90596591ab607ef00e15b520a83",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/neteq_impl.h"
    },
    {
      "type": "modify",
      "old_id": "517f4ac85c8290db81531bada812e153cc31f21f",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/neteq_impl_unittest.cc",
      "new_id": "ded54bf7ee789038544e4cb6906ef03d97637aa5",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/neteq_impl_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "0f3904b5bc420c78b6781bdfb68854ecec036865",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/neteq_network_stats_unittest.cc",
      "new_id": "20e5a5ada5386253ad27e8f6e3319510ad264412",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/neteq_network_stats_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "d25e8d6824db5eaf2587d9d5412c6940aa8596cf",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/neteq_stereo_unittest.cc",
      "new_id": "2d62f8bdd760f20ca3688558a4532e641d293685",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/neteq_stereo_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "783509613a7eec5b6f6f5b2047a88adca7f23d36",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/neteq_unittest.cc",
      "new_id": "f520403d674f8d89b7eae8b5c618d287df0d08ea",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/neteq_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "3cec3109024f8554a7d493a074d5324cceea7d52",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/packet.cc",
      "new_id": "333f161229b8df5b61a0b887f7838a31d3b3c904",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/packet.cc"
    },
    {
      "type": "modify",
      "old_id": "1fdcc57a767e7af3bdda1ad070014e72fec9e67a",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/packet.h",
      "new_id": "238e769c2a42cb289ea32ec1858b38eb8980df1e",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/packet.h"
    },
    {
      "type": "modify",
      "old_id": "72932fe85b3c2df6464a8239729bde5a436aa189",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/red_payload_splitter.cc",
      "new_id": "7ff5679e72bdceb47d3ddbbb425b0ae6b35d0b7f",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/red_payload_splitter.cc"
    },
    {
      "type": "modify",
      "old_id": "61f52bb3e5e3b93d0d8e3156cb73e30334ad05ae",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/tools/neteq_performance_test.cc",
      "new_id": "604083b2247a4ce92323ec88d66c92551b6c707b",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/tools/neteq_performance_test.cc"
    },
    {
      "type": "modify",
      "old_id": "0adc21d452dd9f34780b55c48debad49f77b9c21",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/tools/neteq_quality_test.cc",
      "new_id": "cd8754c6ede49b765fa2aefa8dea3cf16198a35d",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/tools/neteq_quality_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a8243c1bcb880ea16800d0e0fa597fb7a3d7b89b",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/tools/neteq_quality_test.h",
      "new_id": "8bf5e5ad4f3996e3789e929489ec6f410b93cd2f",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/tools/neteq_quality_test.h"
    },
    {
      "type": "modify",
      "old_id": "be1dd418fc2e437ee1dd7f65311bc085d3b07aee",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/tools/neteq_test.cc",
      "new_id": "7e22823d7e465a44880b6fcd88bf219a6ef0f02d",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/tools/neteq_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5261dd7db07a5c31d244dbcef28c6156b8fc6c89",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/tools/neteq_test.h",
      "new_id": "3cf105c693b19b1264bc95c019a61d82e4a11af4",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/tools/neteq_test.h"
    },
    {
      "type": "modify",
      "old_id": "4aa86f796193a20d73deff35d1316e800e65078c",
      "old_mode": 33188,
      "old_path": "modules/audio_mixer/frame_combiner.cc",
      "new_id": "f7ce95234d0b169494ea86248f317430e8ff2371",
      "new_mode": 33188,
      "new_path": "modules/audio_mixer/frame_combiner.cc"
    }
  ]
}
