)]}'
{
  "commit": "4ed47d01901248a93c525a5f7c75015cf605cbff",
  "tree": "245fb3ede6db3ae6efadda0911863081a3d358f9",
  "parents": [
    "0a713b63eded9b8b21339e3c9c4654b69760be00"
  ],
  "author": {
    "name": "Alex Loiko",
    "email": "aleloi@webrtc.org",
    "time": "Wed Apr 04 13:05:57 2018"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Wed Apr 04 18:23:55 2018"
  },
  "message": "Noise level estimation for AGC2.\n\nWe put back the old noise estimator from LevelController. We add a few\nnew unit tests. We also re-arrange the code so that it fits with how\nit is used in AGC2. The differences are:\n\n1. The NoiseLevelEstimator is now fully self-contained.\n2. The NoiseLevelEstimator is responsible for calling SignalClassifier\n   and computing the signal energy. Previously the signal type and\n   energy were used in several places. It made sense to compute the\n   values independently of the noise calculation.\n3. Re-initialization doesn\u0027t have to be done by the caller.\n4. The interface is AudioFrameView instead of AudioBuffer.\n\n# Bots are green, nothing should break internal stuff\nNOTRY\u003dTrue\n\nBug: webrtc:7494\nChange-Id: I442bdbbeb3796eb2518e96000aec9dc5a039ae6d\nReviewed-on: https://webrtc-review.googlesource.com/66380\nCommit-Queue: Alex Loiko \u003caleloi@webrtc.org\u003e\nReviewed-by: Sam Zackrisson \u003csaza@webrtc.org\u003e\nCr-Commit-Position: refs/heads/master@{#22738}",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b36e76b1cc3340b124007a47e929c31584352bee",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/BUILD.gn",
      "new_id": "b0b425329d63d540166f11a8a38daddcbd4dee22",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "ca71b9278f2ad4f515dbf9430e3ab412c99d026f",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/agc2/BUILD.gn",
      "new_id": "f9051257e47de7e955e17591b6f1b48ee1bac7ba",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "dff38fb44b4a6c0a1db1d2dede86205abdc3affc",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/agc2/adaptive_agc.cc",
      "new_id": "0de27a41a610cef69172937732a86fe10c9484e2",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/adaptive_agc.cc"
    },
    {
      "type": "modify",
      "old_id": "a176282ede44513f6847a3273bf6ed6e1482041d",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/agc2/agc2_testing_common.h",
      "new_id": "8c4f400a98fe8d7dc39a14454bcf92627dc16350",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/agc2_testing_common.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c15c6449ad5fd68a92f62381b628491580ee14c8",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/biquad_filter.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4fd5e2e392be12b45a4cf0b4d2351d1b7b3a7cde",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/biquad_filter.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "50486e0a3671f7121bad309956450f8783ef6b25",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/down_sampler.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a609ea8e0c599388c81d0d0d0861c206238c983e",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/down_sampler.h"
    },
    {
      "type": "modify",
      "old_id": "ede431c7990270afa16198b611e975ae337b623f",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/agc2/noise_level_estimator.cc",
      "new_id": "d9aaf1f9bd3f6689de7fad047b9334a3f0f706d2",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/noise_level_estimator.cc"
    },
    {
      "type": "modify",
      "old_id": "f9e4abc8f598261a92d0c16c7755fbe5666f9103",
      "old_mode": 33188,
      "old_path": "modules/audio_processing/agc2/noise_level_estimator.h",
      "new_id": "24067a1665503ddd26f01d9cdadd5068db83bb4d",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/noise_level_estimator.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c4fd33b0a0862fb03c5175a96780383547cdca81",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/noise_level_estimator_unittest.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e08126e892e3752c69ab3fc8120ce64d51a2d17",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/noise_spectrum_estimator.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fd1cc13a3f516a335469ffd7c22f5788f2db7c16",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/noise_spectrum_estimator.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0ec34148b9353a884e1c1a208f043ad95fd636af",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/signal_classifier.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "23fe315977443cdbbc3161cbb36f6141ed2671e9",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/signal_classifier.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "62171b32e6046f9c4ee56714715771361fccc95a",
      "new_mode": 33188,
      "new_path": "modules/audio_processing/agc2/signal_classifier_unittest.cc"
    }
  ]
}
