)]}'
{
  "log": [
    {
      "commit": "56ec4ffcbae8aeac6c5245fc7b825d02e2e6cefd",
      "tree": "914941adb956f3af389b9a7b955f3534eec4fe7a",
      "parents": [
        "8f7b7fa417566e9a6a29ea9f0e220b3cd6d1a9e3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jan 23 16:45:18 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 18 17:29:20 2015 -0800"
      },
      "message": "Refactor AudioPolicyManager\n\nAudioPolicyManager implementation is now split into the\nfollowing files:\n\nfiles managerdefault/Gains.*\n  class AudioGain\n  class VolumeCurvePoint\n  class StreamDescriptor\n\nfiles managerdefault/Devices.*\n  class DeviceDescriptor\n  class DeviceVector\n\nfiles managerdefault/Ports.*\n  class AudioPort\n  class AudioPortConfig\n  class AudioPatch\n\nfiles managerdefault/IOProfile.*\n  class IOProfile\n\nfiles managerdefault/HwModule.*\n  class HwModule\n\nfiles managerdefault/AudioInputDescriptor.*\n  class AudioInputDescriptor\n\nfiles managerdefault/AudioOutputDescriptor.*\n  class AudioOutputDescriptor\n\nAll files for libaudiopolicyservice are moved under service/\n\nAll files for libaudiopolicymanager are moved under manager/\n\nChange-Id: I43758be1894e37d34db194b51a19ae24461e066e\n"
    },
    {
      "commit": "5db7897ddd32e3ec3ab45ecdb6f21b6265e7e14a",
      "tree": "e586c65974e885af85d209c811acb3d3cd592736",
      "parents": [
        "71d13d4c94cea2113d074cf0d0c6e07ad68ff3ec"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 10:42:33 2015 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 10:50:09 2015 -0800"
      },
      "message": "make libserviceutility a shared lib\n\nso that we have only one getpid_cached in mediaserver process\n\nbug: 18919657\n\nChange-Id: Iff3cd932c9110e874b3885f79705f49bf3e3f1fc\n"
    },
    {
      "commit": "df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871",
      "tree": "e54724362f700e3e72fc72604a3b5f568d8cee7b",
      "parents": [
        "d0fded31e473e909c018f534d3019fb5168bdcd6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 27 18:39:40 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 05 12:10:27 2014 -0700"
      },
      "message": "Add sound trigger control by audio policy\n\nAudio policy:\n- Added active capture indication to sound trigger service:\nrecognition stops if concurrent capture is not supported.\n- Added generation of reserved I/O handle and session ID for\nutterance capture.\n\nSound trigger service\n- Added sound model update callback handling.\n- Added service state callback\n- Simplified callback shared memory allocation.\n\nBug: 12378680.\n\nChange-Id: Ib0292c2733e6df90fdae480633dd9953d0016ef1\n"
    },
    {
      "commit": "a7e04803ffa0d8d4cc51a122f68bf5038422aabb",
      "tree": "e1c60583b09461df3be42a04dbae4d51e1bd75e9",
      "parents": [
        "8bce84142802ecdc1794d59488ede629801a5cba"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 21 11:49:08 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 21 11:55:33 2014 -0700"
      },
      "message": "Remove execute bit\n\nChange-Id: I1cf0c0d9375779b3074af12f4cbf9c1ec07bf4ff\n"
    },
    {
      "commit": "ba2b43990a7b4f0f2c425cf6cdfc63376a45772c",
      "tree": "a2253fca6136a86bb00a197fe2edb97c3438d9c4",
      "parents": [
        "2421a4ba309f082a83be9b8e385c00cd8e0043f6"
      ],
      "author": {
        "name": "bryant_liu",
        "email": "bryant_liu@htc.com",
        "time": "Wed Jun 11 16:49:30 2014 +0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 01 11:32:34 2014 -0700"
      },
      "message": "frameworks: av: services: audiopolicy: Added AudioPolicyEffects\n\nManage pre- and postprocessing effects defined in audio_effects.conf\n\nChange-Id: Idea1478e3d434f8ff66907adb3c77663db78d583\n"
    },
    {
      "commit": "f269b8e0e9ab950fc6652b9594b7a3431c81630c",
      "tree": "5a25963f4584c5ddd6ff7031329c16c55427e50e",
      "parents": [
        "7e45ef9db7446d33c941961c14555413641e444b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 09 20:01:29 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 10 12:03:07 2014 -0700"
      },
      "message": "audio policy: use factory to create audio policy manager\n\nUse the class factory to create the audio policy mamager\ninstead of AudioPolicyManager class constructor and\nuse a pointer to an AudioPolicyInterface.\n\nChange-Id: Ibb5a8eee5d597db67cf13f279c909181cfee9949\n"
    },
    {
      "commit": "7a0aecb09a562fec144c07aeb7a3468a1e6da52e",
      "tree": "02937428f5af51143cf12c70268be83805843cc5",
      "parents": [
        "d6b1efbc99de43d56aa6a4123126e994e7c2c30e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 22 17:30:48 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 22 19:56:15 2014 -0700"
      },
      "message": "audio policy: enable use of new AudioPolicyManager\n\nDo not define USE_LEGACY_AUDIO_POLICY by default.\nBy default, all devices will now use the new audio policy implementation\nin AudioPolicyManager.cpp\n\nTo continue using the legacy audio policy implemented by\nAudioPolicyManagerBase in libhardware_legacy a device should\ndefine USE_LEGACY_AUDIO_POLICY in its makefile.\n\nChange-Id: I7b8cac3cbb24b11105ba6233501c7212f5985727\n"
    },
    {
      "commit": "98c6be0e30fa28e752b13f3dd5986d41710bb7ae",
      "tree": "f4184b5bd860b09ffa8172257212862e0352425d",
      "parents": [
        "272b7f26c300d2029f278cf2af523cf94e513b89"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 21 08:14:08 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 21 08:58:19 2014 -0700"
      },
      "message": "audio policy: split audio policy library\n\nSplit audio policy library into a service part and a policy part.\nThis will allow OEMs to customize the policy part:\n- libaudiopolicyservice for the service.\n- libaudiopolicymanager for the policy.\n\nTwo build options can be defined in device make file to select\nthe policy library:\n- USE_LEGACY_AUDIO_POLICY \u003d 1: this will use the legacy policy\nin hardware/libhardware_legacy implemented by AudioPolicyManagerBase class.\nThis policy is loaded as a harware module and exposes the audio policy HAL\ndefined in include/hardware/audio_policy.h and is in a library called\naudio_policy.XXX.so (e.g audio_policy.default.so)\n\nThe legacy HAL will not be updated with new features.\n\nIf USE_LEGACY_AUDIO_POLICY is not defined, the policy is implemented by\na class named AudioPolicyManager exposing an interface defined in\nAudioPolicyInterface.h.\nThe corresponding library is libaudiopolicymanager.so.\n\nNew features will be added only to AudioPolicyInterface.h\n\nThe default implementation is provided here in file AudioPolicyManager.cpp\n\nOEMs wanting to cutomize the policy can implement the AudioPolicyManager class\nand provide the libaudiopolicymanager.so library.\nIn this case the device make file should define:\n- USE_CUSTOM_AUDIO_POLICY \u003d 1\n\nFor now, USE_LEGACY_AUDIO_POLICY \u003d 1 is forced in audio policy service make file.\nThis will be removed when the new audio policy is enabled.\n\nChange-Id: I066799dacc9b182b468a43d48ff7798c9109a414\n"
    },
    {
      "commit": "dce54a1492c410ad0d93253b341fb33305337505",
      "tree": "2580556580832583ce5cd5a640684b8dc0948783",
      "parents": [
        "0fab43120972dfbf4d6f0ec19ab470131b6c8b09"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 10 12:19:46 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 10:55:33 2014 -0700"
      },
      "message": "audio policy: add option to use new policy manager\n\nAdd build option USE_LEGACY_AUDIO_POLICY to use either new\naudio policy manager in local AudioPolicyManager.cpp\nor the legacy AudioPolicyManagerBase.cpp via the policy HAL.\n\nNew features will be implemented only by the new audio policy manager.\nPlatform customiization will be by config file or new policy HAL.\n\nAudioPolicyClientImplLegacy.cpp copied from AudioPolicyClientImpl.cpp\nAudioPolicyInterfaceImplLegacy.cpp copied from AudioPolicyInterfaceImpl.cpp\n\nNew implementations of AudioPolicyInterface and AudioPolicyClient talking directly to\nAudioPolicyManager.\n\nChange-Id: I7a320883a1de13de2c9295343e996addf2f3c154\n"
    },
    {
      "commit": "2d388eccc9dc085337c7a03a68467cbee6b809e1",
      "tree": "359f5f2873277708258f9cfd103354e470f3a4ea",
      "parents": [
        "c7e5040aa8b8e4da86814bf560346c7571e48087"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 07 13:25:54 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 11 13:56:42 2014 -0700"
      },
      "message": "audio policy: split implementation\n\nSplit audio policy service implementation to ease\nfurther evolution:\nAudioPolicyInterfaceImpl.cpp contains the implementation of\nIAudioPolicyService interface\nAudioPolicyClientImpl.cpp contains the implementation of the\nAudioPolicyManager client interface\nAudioPolicyService.cpp contains the rest of the code mostly\ncommand threads implementation and pre processing management.\n\nAudioPolicyService.cpp:\n\nChange-Id: Ic48ba165532ef66e84a30894d01f750ed6619d02\n"
    },
    {
      "commit": "c7e5040aa8b8e4da86814bf560346c7571e48087",
      "tree": "8cd35c3ea6a2f9849d27a8299705dd7aea494894",
      "parents": [
        "1ac1638077277de52d1dd4c54db71e67753f1960"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 06 14:35:55 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 11 13:52:14 2014 -0700"
      },
      "message": "move audio policy service to a separate library\n\nChange-Id: Ibc3ef07aa9860b7fd4f9aaff27b0dbe0dcbf1cbf\n"
    }
  ]
}
