)]}'
{
  "log": [
    {
      "commit": "3f9a3b407aeff0311038b2097d657446c4f98b90",
      "tree": "55ba235a0f62891c344850d427fef78840358670",
      "parents": [
        "9e3b0d9d470e6617a58d49d093a975ea81b40a10"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Jan 23 12:27:18 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Jan 29 10:51:02 2020 +0900"
      },
      "message": "Use std::optional for nullable\n\nAIDL now use std::optional to represent nullable types for efficiency\ninstead of std::unique_ptr which might cause additional heap allocation.\n\nBug: 1447732670\nTest: m\nChange-Id: I9045bc6fc2eb06839203af6db94a80de9b83ad1f\n"
    },
    {
      "commit": "251c7f0a9dc35dd3024fb4b42d27454abbd89d50",
      "tree": "fb33a7ac50d1fa2e850f75aae4ec78dd375c14ca",
      "parents": [
        "a666d61efbe74594e9d441621d20bef8f9def26e"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Nov 07 10:41:08 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 25 14:47:46 2019 -0800"
      },
      "message": "audiopolicy: engine: Add Volume Groups to common Engine\n\nThis CL adds the concept of Volume Group to the engine.\nIt generalizes the volume management today controled by stream types\nand hard coded into AOSP.\nThe goal is to control the volume per attributes, being able to define\na group of attributes that follow the same volume curves.\n\nIt intends to replace the concept of aliases in AudioService.\n\nBug: 124767636\nTest: build\n\nChange-Id: Icd079374cc1680d074b01836eca0bceb0b0c5247\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "d0ba9ed06c61ab3e66627e027fbc34ba998140ee",
      "tree": "49948f80335bea4a358c7f455dfd6a5e59a94e30",
      "parents": [
        "7188f1ad365cd9d475723b639d521b491eaca389"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Nov 05 11:50:42 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 18:05:54 2019 -0800"
      },
      "message": "audio policy service: Add introspection API to retrieve AudioProductStrategies\n\nThis CL adds required introspection APIs to deal with product strategies:\n\n-getter of the collection of product strategies\n-helper function to return the strategy associated to a given attributes.\nThis API is mandatory to avoid duplicating the logic that compiles the strategy\nfor a given Audio Attributes structure.\n\nTest: make\n\nChange-Id: I0e107570a44227bb52a4f359954c93215d4f8bae\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    }
  ]
}
