)]}'
{
  "commit": "441ecb372f957ea8ba5a10a6739bbab75821325a",
  "tree": "b84161ac15b38d51b28ad11b9677b8bb67ca9073",
  "parents": [
    "c774431fc9da1b0645f7a6306f8cfeb28af0d960"
  ],
  "author": {
    "name": "aleloi",
    "email": "aleloi@webrtc.org",
    "time": "Tue Nov 22 14:42:53 2016"
  },
  "committer": {
    "name": "Commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Tue Nov 22 14:42:59 2016"
  },
  "message": "Replace AudioConferenceMixer with AudioMixer.\n\nThis CL re-routes audio through AudioMixer instead of AudioConferenceMixer.\nThis is done without any modifications to VoiceEngine.\n\nPreviously, output audio was polled by an AudioDevice through an AudioTransport\npointer, which was an instance of VoEBaseImpl. VoiceEngineImpl sent the\nrequest for data on to OutputMixer and further to AudioConferenceMixer.\n\nThis CL changes the audio flow to an AudioDevice. We reconfigure the AudioDevice\nto have another AudioTransport pointer, which points to an AudioTransportProxy.\nThe AudioTransportProxy is responsible for feeding mixed data to the\nAudioProcessing component for echo cancellation, and to resample the audio data\nafter AudioProcessing and before it is sent to the AudioDevice.\n\nThe set up of the audio path was previously done during VoiceEngine\ninitialization. Now it is changed in the AudioState constructor.\n\nThis list shows where audio-path-related VoiceEngine functionality has been\nmoved:\n\nOutputMixer --\u003e AudioTransportProxy\nVoiceEngineImpl --\u003e AudioState, AudioTransportProxy\nSharedData --\u003e AudioState\nChannel --\u003e AudioReceiveStream, ChannelProxy, Channel\n\nAudioState owns the new mixer and connects it to AudioTransport and\nAudioDevice on initialization.\n\nThe audio input source is AudioReceiveStream, which  registers itself with the\nmixer (which it gets from AudioState) on Start and Stop.\n\n# Since the AudioTransport interface contains non-const references.\nNOPRESUBMIT\u003dTrue\nBUG\u003dwebrtc:6346\n\nReview-Url: https://codereview.webrtc.org/2436033002\nCr-Original-Commit-Position: refs/heads/master@{#15193}\nCr-Mirrored-From: https://chromium.googlesource.com/external/webrtc\nCr-Mirrored-Commit: 04c0722cf1fc38e6888ef44e413603e0cb461ea4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e89350e89ae25e805f6de0944d59ef5488e2b538",
      "old_mode": 33188,
      "old_path": "audio/BUILD.gn",
      "new_id": "82004484015ba7fcc78178a5794d6886f35eb911",
      "new_mode": 33188,
      "new_path": "audio/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "6e6259b9e576584436784cdece91ae453e4590d3",
      "old_mode": 33188,
      "old_path": "audio/DEPS",
      "new_id": "f383c1456ba4c54b72bc6677ddda0a98eb3a4656",
      "new_mode": 33188,
      "new_path": "audio/DEPS"
    },
    {
      "type": "modify",
      "old_id": "5a8efc223ef80f26ffec66122fefe25afb8897ef",
      "old_mode": 33188,
      "old_path": "audio/audio_receive_stream.cc",
      "new_id": "81ffdade5ce62a4029e633b6f70f51d0e623e5b9",
      "new_mode": 33188,
      "new_path": "audio/audio_receive_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "aeaadc6d686cb7da6edab932c4c09ffdbad4cb76",
      "old_mode": 33188,
      "old_path": "audio/audio_receive_stream.h",
      "new_id": "6e7da09d1ddf42d3b3916f312175af7f5db60bf3",
      "new_mode": 33188,
      "new_path": "audio/audio_receive_stream.h"
    },
    {
      "type": "modify",
      "old_id": "f263948fc4a8e09308fee1ff1b771f253c145686",
      "old_mode": 33188,
      "old_path": "audio/audio_receive_stream_unittest.cc",
      "new_id": "bc071970e14454acb3aaa76c7d7b472dd547c05e",
      "new_mode": 33188,
      "new_path": "audio/audio_receive_stream_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "38485a88bf14665ce6b15d9a149cefec6513751f",
      "old_mode": 33188,
      "old_path": "audio/audio_state_unittest.cc",
      "new_id": "05c5003459e94292af27d8eee45e289efb322e65",
      "new_mode": 33188,
      "new_path": "audio/audio_state_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "ed72200379d1d07fab29e04482b761ea732cb6e2",
      "old_mode": 33188,
      "old_path": "audio/audio_transport_proxy.cc",
      "new_id": "163cc11c7760f1495eaca6dc8c62c85715aa3f53",
      "new_mode": 33188,
      "new_path": "audio/audio_transport_proxy.cc"
    },
    {
      "type": "modify",
      "old_id": "05e52fce85cf1a90e1cc208e18cc472bea94d867",
      "old_mode": 33188,
      "old_path": "audio/audio_transport_proxy.h",
      "new_id": "1d0337840219246e62a6a551e8bb79608f0f5dd4",
      "new_mode": 33188,
      "new_path": "audio/audio_transport_proxy.h"
    }
  ]
}
