)]}'
{
  "log": [
    {
      "commit": "8c2e58218d9fc78c3beefc0f7c12afb39e7d0b61",
      "tree": "f0e1f325ef53037e7feec21a9482a3e230b9e8c7",
      "parents": [
        "09cc4b1d530e550167c4ad01c84559c8797e0ff8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 01 18:09:07 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 01 18:09:07 2019 -0700"
      },
      "message": "StreamHal: Enable audio power log for user builds\n\nTest: Flash user build, check AudioFlinger dumpsys\nBug: 129704879\nChange-Id: I9a4665b8588d30279701ca5ae18d5bd353702f4a\n"
    },
    {
      "commit": "1234008771662d2b250d6d4972adb04de963fb0d",
      "tree": "d050c75b3935ed9d20676312df0e7cd1d94cd13c",
      "parents": [
        "60c73a445b632cc2e233b1a275efeee7414a41a4"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Tue Mar 19 09:35:05 2019 -0600"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Mar 21 21:51:49 2019 -0600"
      },
      "message": "API changes in MicrophoneDirection\n\nBug: 128523813\nTest: Build, Testbed app\n\nChange-Id: I7b5ee8ba4eec1090866d8aef891a98d50cd09cc5\n"
    },
    {
      "commit": "4d54767b7dad323de5f747096f5cdeea0d7691e5",
      "tree": "3c00980eb567404023bdd03bdc00ed2b906c684f",
      "parents": [
        "16be62ccbfa98508b375c9594728a951ada0021c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Feb 22 14:19:19 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Feb 22 14:19:19 2019 -0800"
      },
      "message": "audio: Add support for dumping info from effect HAL modules\n\nThe implementation uses IBase::debug() method which can write\ndebugging info into the provided file descriptor (same model\nas used for devices and streams).\n\nBug: 69939533\nTest: adb shell dumpsys media.audio_flinger\nChange-Id: I02a74b51977d105edf6f7e624ea26f866c965708\n"
    },
    {
      "commit": "ae1f662a30fe5aea14a020111fe245b2fad3e5b5",
      "tree": "24b76d5a4127cdfe2cbc245a6e7c6b192f317cff",
      "parents": [
        "05677f7f44a753b756709ddbd7eebdffa34f62f4"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Feb 21 15:20:05 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Feb 21 15:20:05 2019 -0800"
      },
      "message": "libaudiohal: Allow get/setMasterVolume invocation on IDevice\n\nget/setMasterVolume are defined on IDevice, but DeviceHalHidl\nwas restricting calls to it only for IPrimaryDevice. This seems\nlike a bug lingering from the initial implementation of the shim.\n\nTest: make\nChange-Id: Ia028959690a5ab71aade14d12d5c12488dc83e41\n"
    },
    {
      "commit": "7b417a29df10d12d4cd019e5b3fcaaf2c1208420",
      "tree": "1e085c2078e5c75a008a1892ec2afd099efe2636",
      "parents": [
        "2637984613a75eb2640a73e186a6dd1f08cebbc0"
      ],
      "author": {
        "name": "Dean Wheatley",
        "email": "dwhea@dolby.com",
        "time": "Thu Jan 31 20:39:42 2019 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 31 17:20:40 2019 -0800"
      },
      "message": "Fix audio HAL 4.0 StreamHalHidl setParameters\n\nTest: make\nChange-Id: I944c417d9b9e51fb39950dd53f2c1ce7b7a818bb\n"
    },
    {
      "commit": "3903e9f58fdbdea94052f5870792f1e61a2f0f2b",
      "tree": "084a33e117db465218fdae52984e1b26d58113fa",
      "parents": [
        "aa1523c14af06a2f213e570d12ce01b71422b26a",
        "b4e037e01450cbc99191a89e507805974d347899"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 18 03:37:23 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 03:37:23 2019 +0000"
      },
      "message": "Merge \"AudioFlinger: provide downstream sink device to software patch source\""
    },
    {
      "commit": "bf06f7afdbd7019614c9e31ce43301457a3a7d55",
      "tree": "67fd35b19109aa8a9ebb0a5fec14d51486770f79",
      "parents": [
        "1dfd7ba8c05ff5c8a51f69a3042f3870d99463d4",
        "03a6e6a08dbda1c94e0c9ce6fba4a4abd3df6d59"
      ],
      "author": {
        "name": "Paul Mclean",
        "email": "pmclean@google.com",
        "time": "Thu Jan 17 21:34:35 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 21:34:35 2019 +0000"
      },
      "message": "Merge \"Adding Audio HAL V5: Direction API\""
    },
    {
      "commit": "b4e037e01450cbc99191a89e507805974d347899",
      "tree": "9e1dff2e3afe399eec542594a4ed480a9d1adf99",
      "parents": [
        "8292a716361d0f02de2b79242aec4630664bc770"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jan 14 15:56:33 2019 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jan 14 15:56:33 2019 -0800"
      },
      "message": "AudioFlinger: provide downstream sink device to software patch source\n\nWhen opening an input stream for a software patch, pass in\nthe downstream destination device info. This helps the intermediate\nmodule to set up any device-specific processing.\n\nNote that the intermediate module must implement Audio HAL V5.0\nin order to be able to receive this information. It\u0027s not available\non the legacy audio HAL API either.\n\nBug: 120859615\nTest: make\nChange-Id: I542a47d2c299fe19f576d5f5c2b237cc00ae5b93\n"
    },
    {
      "commit": "03a6e6a08dbda1c94e0c9ce6fba4a4abd3df6d59",
      "tree": "e609e29b32764e6fd970f16c78d3bbee5be401bb",
      "parents": [
        "c2684ac61bdbfd9913cf1361a6436272756bc6d6"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Tue Dec 04 10:54:13 2018 -0700"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Dec 20 17:37:55 2018 -0700"
      },
      "message": "Adding Audio HAL V5: Direction API\n\nBug: 119137468\nTest: Testbed app.\n\nChange-Id: I1b3c81079000958da80d36616fe06930d876aac3\n"
    },
    {
      "commit": "d9499eb6d127dc53c8aa3deda05a70b03fc464f3",
      "tree": "3fbd4fecd32316f1088dda7785f5f6ecbdbbec93",
      "parents": [
        "4f20844fd9137a1691f59b598e52cd9ada0753d2"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 17 16:23:22 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 18 13:01:50 2018 -0800"
      },
      "message": "Audio HAL: Update for the new definition of SinkMetadata\n\nIn Audio HAL V5.0 SinkMetadata receives a new member: optional\nDeviceAddress. Use per field initialization to leave\nthe safe_union in an uninitialized state.\n\nBug: 120859615\nTest: make\nChange-Id: I358b9abbcb0690aebb2c658a72adb287ceec22b5\n"
    },
    {
      "commit": "04395fafea962f68193a3394ae7d460f6c95ade5",
      "tree": "bbd51952890f67c912659d7a340759045df41fd4",
      "parents": [
        "8c3773d839cb2127eafeae4619f98150d1ea2d3d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 14 15:07:26 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 14 15:49:35 2018 -0800"
      },
      "message": "Audio HAL: More generalization for types imports\n\nUse namespace import in ConversionHelperHidl.cpp.\n\nTest: try moving types between audio/types.hal and common/types.hal.\n\nChange-Id: I7ffab98d0e3b8bbc82ab94b8d99b7d05e224e1e4\n"
    },
    {
      "commit": "595caa3bb29626a8da08c318dc009213bd94adca",
      "tree": "55287233440ceef9377791c52c7903fea068b9fd",
      "parents": [
        "801757712fc9f478a1207fe272dd343f332d4a33"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 13 11:08:28 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 13 11:08:28 2018 -0800"
      },
      "message": "Audio HAL: Simplify types updates for \u0027common\u0027 and \u0027effect\u0027 packages\n\nInstead of importing every single type individually (\"using \u003ctype\u003e\"),\nimport entire namespaces of\n::android::hardware::audio::common::CPP_VERSION and\n::android::hardware::audio::effect::CPP_VERSION\ninside the \"implementation\" namespace in the default implementation.\n\nThis simplifies modifying types, as it is not needed anymore\nto surround \"using \u003ctype\u003e\" directives with #if MAJOR_VERSION ...\nNote that the contents of the namespaces are imported inside\nthe \"implementation\" namespace, which reduces risks of name collision\n\nEnclosed EffectHalHidl and supporting classes into \u0027effect\u0027 namespace\nbecause importing namespaces of ::a::h::audio::effect::CPP_VERSION and\n::a::h::audio::CPP_VERSION into the same namespace, as it happens\nfor StreamHalHidl.cpp module, causes name conflicts.\n\nTest: make\nChange-Id: Ia37d672605c7541b19ee40fc1b58eabaa9ed8e17\n"
    },
    {
      "commit": "9ccaa1669136b37c6dec8a9fb701be61b8ce1bf0",
      "tree": "75a50b2e015b59e4b9414af45876009ab40b12bc",
      "parents": [
        "6b01bf3f93113ea19c4f1e8dfd65fe9da7f1a0c9"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 12 10:27:29 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 12 10:27:29 2018 -0800"
      },
      "message": "Audio HAL: Simplify types updates for \u0027common\u0027 and \u0027audio\u0027 packages\n\nInstead of importing every single type individually (\"using \u003ctype\u003e\"),\nimport entire namespaces of\n::android::hardware::audio::CPP_VERSION and\n::android::hardware::audio::common::CPP_VERSION\ninside the \"implementation\" namespace in the default implementation.\n\nThis simplifies modifying types, as it is not needed anymore\nto surround \"using \u003ctype\u003e\" directives with #if MAJOR_VERSION ...\n\nNote that the contents of the namespaces are imported inside\nthe \"implementation\" namespace, which reduces risks of name collision\n\nAlso, fixed the namespace for HidlUtils--it needs to be in\n\u0027implementation\u0027.\n\nTest: make\nChange-Id: I8461d2ac3ad5d8ad4df4a15d99430ae0d7a5ccef\n"
    },
    {
      "commit": "1cf6b4dff62ffa9a3a329ceda23a0a55870adbb4",
      "tree": "15c3b83bc95eea3a29ba8d1a6b5756dfbef86f34",
      "parents": [
        "3d48dcea93b4ff5df265c32f0a61e572e7132415"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Nov 20 18:05:44 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sun Dec 02 17:35:18 2018 -0800"
      },
      "message": "libaudiohal: move to Stream Metadata to common\n\nSo that it can be used by the Bluetooth HAL.\n\nTest: compile\nChange-Id: I5b122d329811de2c10fc25f457a0eed7b5ece7b6\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "3d48dcea93b4ff5df265c32f0a61e572e7132415",
      "tree": "2d9c8abaa08379e41208098fe4a4efb499669c9d",
      "parents": [
        "1268b28c5c65691532d3ffb503a199c677c801b9"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Nov 08 17:16:57 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sun Dec 02 10:53:59 2018 -0800"
      },
      "message": "libaudiohal: Introduce support HAL V5 identical to V4\n\nThe V5 HAL is identical to V4 for now.\nDifference will be added in followup patches.\n\nBug: 118203066\nTest: compile\nChange-Id: I3db5d62cc2412766d8d0a78dab57455236a5019e\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "d46012025aed1bc366982bc0edc93c56c034828e",
      "tree": "5213e0ab66d8d13803687507d38c60dee12ac11e",
      "parents": [
        "2a2837d0dcc63d834b9ca313bf322f967a989eec",
        "7a9f05a68512926f81339d3e42def2ecd9adffa0"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Nov 30 22:20:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 22:20:40 2018 +0000"
      },
      "message": "Merge changes from topic \"audio-pre-v5\"\n\n* changes:\n  libaudiohal: EnumConverter renamed to EnumBitfield\n  libaudiohal: Factorize with audio HAL utils\n  libaudiohal: Factorize more between version\n"
    },
    {
      "commit": "7a9f05a68512926f81339d3e42def2ecd9adffa0",
      "tree": "6d9bab6279e88dce167fc4f8bdf7a02f2eefb0da",
      "parents": [
        "bb165dcf6bfb61dc0a1a09a73d52af7cfe127ed2"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Nov 28 16:52:25 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Nov 28 17:54:34 2018 -0800"
      },
      "message": "libaudiohal: EnumConverter renamed to EnumBitfield\n\nEnumConverter scope was reduced to just convert to/from bitfield\nand its underlying type. This allows for operator\u003d conversion support.\n\nAs part of this rework and to better express the new class behaviour,\nit was renamed as EnumBitfield.\n\nTest: compile\nBug: 118203066\nChange-Id: I2dc108cb3e1757e685490cae978cb62cbf276423\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "bb165dcf6bfb61dc0a1a09a73d52af7cfe127ed2",
      "tree": "4fbf04b82655d1d594cf44408228474e468b2190",
      "parents": [
        "95213bf7d0d5960cd76e64a44b59b49637fefd22"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Nov 10 06:28:41 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Nov 28 17:54:34 2018 -0800"
      },
      "message": "libaudiohal: Factorize with audio HAL utils\n\nUse VersionMacro from the HAL utils.\n\nBug: 118203066\nTest: compile\nChange-Id: If74b73eef7735d3f5a0a4b135a0476c4a77daddc\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "95213bf7d0d5960cd76e64a44b59b49637fefd22",
      "tree": "074671e647b5304c61dd41ebaeff33875cc9faa9",
      "parents": [
        "4183d37fcc58ed1e221c72b298f2d95c9b656c01"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Nov 08 17:16:57 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Nov 28 17:54:34 2018 -0800"
      },
      "message": "libaudiohal: Factorize more between version\n\nUse macro in include to avoid duplicating all the headers.\nThat will be useful when a third version is added.\n\nBug: 118203066\nTest: compile\nChange-Id: I8972b9ac9d098b32c9e7de48ff0544440c29adbf\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "ac917aca235ff5170f00c2ee933f41f07a40232d",
      "tree": "2927cc6419b7fe615ccdc977224f6f3ed656f58e",
      "parents": [
        "e4eb88fa5fe62a9b6b709fbf2ff26f37acf6db20"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 28 14:03:52 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Nov 28 14:44:17 2018 -0800"
      },
      "message": "Add selectPresentation API to IAudioTrack\n\nThe Java AudioTrack interface has a setPresentation API. This\ncalls the setParameters API in IAudioTrack. However, this does\nnot eventuate into a call into the android.hardware.audio@4.0\nIStreamOut selectPresentation API.\n\nAdd selectPresentation API to IAudioTrack and call down to the\nandroid.hardware.audio@4.0 IStreamOut selectPresentation API.\nTranslate into calls to setParameters API for legacy HAL\ninterfaces.\n\nBug: 63901775\nTest: compile\nChange-Id: Id634a107f3f93ab18dc80d2bd0af67bda35e859f\n"
    },
    {
      "commit": "734334fd0045bf7897a6d749c00204a784766a7e",
      "tree": "46178737bf3a89fd1623ebc1d5dddaad8f2e6cb5",
      "parents": [
        "f344afa981e537b5f354352284272a8a51cf6759"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Jul 12 19:37:41 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Aug 02 23:48:54 2018 +0000"
      },
      "message": "Aaudio: Implement app shareable flag instead of -size hack\n\nTest: adb shell data/nativetest64/write_sine/write_sine -pl -m3\nBug: 38118159\nChange-Id: I349e10a00a5466f54e084f4745b1ed4776378c81\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "070e751eee408cc7d23cf6985ef796e424fcc4ba",
      "tree": "2c21fe69bc93073e5c54bfcc1fe2f67c3f6cb476",
      "parents": [
        "df9b420d1a43d4fa7d75e10f00a15e482c994cae"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue May 22 09:29:13 2018 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Jun 18 14:42:45 2018 -0700"
      },
      "message": "libAudioHal: factorize V2 and V4\n\nMerge the two versions and ifdef the few\nparts still different.\n\nTest: playback music, assistant\nChange-Id: I750f5d18ba34236637c18a87e2daa54a7c446d91\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    }
  ]
}
