)]}'
{
  "log": [
    {
      "commit": "67a69ea56423af97a91cac876d10a447cdc21254",
      "tree": "e063a92b3d559d5affd8af255cc7dc6b3d46e052",
      "parents": [
        "e3dd4f59c8383bdec909e87860ede1c7c12407d2",
        "2dd56c9e2c9874471d3c9ec7d2bbfdaccbd554d4"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 18 23:00:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 23:00:50 2017 +0000"
      },
      "message": "Merge \"aaudio: fix intermittent hang and position error\" into oc-dr1-dev am: c1fe2634dc\nam: 2dd56c9e2c\n\nChange-Id: I2324f99835d005d46cc2838888c3cc65e66730a1\n"
    },
    {
      "commit": "2dd56c9e2c9874471d3c9ec7d2bbfdaccbd554d4",
      "tree": "6432b4bd2f70fa04e6be7c02477ac9162923fe68",
      "parents": [
        "d36be4e4d85a2671de4f410b5ed1a6d1314ab553",
        "c1fe2634dc228640119849692cd1defb88bc2209"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 18 22:22:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 22:22:19 2017 +0000"
      },
      "message": "Merge \"aaudio: fix intermittent hang and position error\" into oc-dr1-dev\nam: c1fe2634dc\n\nChange-Id: I44d29f0bc88935ccba6b365fec242568d35f6079\n"
    },
    {
      "commit": "c1fe2634dc228640119849692cd1defb88bc2209",
      "tree": "453a26bb059c59f8216f0883768706ea43620c14",
      "parents": [
        "29204646b945adf58390b7d06f2cb223d6b2c4c0",
        "940083c3049e269f6c150d5477eccb6bad32b129"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 18 22:15:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 18 22:15:39 2017 +0000"
      },
      "message": "Merge \"aaudio: fix intermittent hang and position error\" into oc-dr1-dev"
    },
    {
      "commit": "32cb394f830758d7703dc1f615e4d2de18c7af1b",
      "tree": "ad51a33972d77084a02392e8f63261a573469b27",
      "parents": [
        "24f8801b22a68204e5ac8187963f07098e9da34a",
        "ef28fdb8d849f1bda5799080b898e429bc29259c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 18 13:57:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 13:57:16 2017 +0000"
      },
      "message": "Merge \"audio:  reduce logspam from MMAP mode\" into oc-dr1-dev am: 4dbbda2d8c\nam: ef28fdb8d8\n\nChange-Id: I611b95222c81d279e75071e0bd369b4e5ad4bd78\n"
    },
    {
      "commit": "ef28fdb8d849f1bda5799080b898e429bc29259c",
      "tree": "41a43d7f1fdcc8043bc3fc7ad8f56de62f7ebb08",
      "parents": [
        "03e1cd73c64654d096243325ac3e6dc3f0b6e2fe",
        "4dbbda2d8c84eabc0cd7c7ee032c2280258f4ffb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 18 13:53:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 13:53:16 2017 +0000"
      },
      "message": "Merge \"audio:  reduce logspam from MMAP mode\" into oc-dr1-dev\nam: 4dbbda2d8c\n\nChange-Id: I05dc5fc8eed6e3623f01b87df205d009f04cc3f8\n"
    },
    {
      "commit": "4dbbda2d8c84eabc0cd7c7ee032c2280258f4ffb",
      "tree": "25332d68058c967fcd1686bd9032459b7ab4a8c4",
      "parents": [
        "d8365c54d049aade9e02ccae722f311f846cad9a",
        "c7abac4329e15cda4bbbd25f8fc4a93b70d70d0a"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jul 18 13:47:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 18 13:47:40 2017 +0000"
      },
      "message": "Merge \"audio:  reduce logspam from MMAP mode\" into oc-dr1-dev"
    },
    {
      "commit": "4ecf14419c0857986c1cff6c59cd1f71a9c6013f",
      "tree": "a6b56266b2e1dbbc514244a3b2d6679b5bf10e59",
      "parents": [
        "c7f764ae1917783ac1721067cf4085c3271dc821",
        "03e1cd73c64654d096243325ac3e6dc3f0b6e2fe"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 18 00:41:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 00:41:56 2017 +0000"
      },
      "message": "audio flinger: fix AEC and NS suspend logic am: d8365c54d0\nam: 03e1cd73c6\n\nChange-Id: I1df3309a9170f104016b969b285f47179a4ae55d\n"
    },
    {
      "commit": "03e1cd73c64654d096243325ac3e6dc3f0b6e2fe",
      "tree": "236dbc6422080fef61d691f61f944991125a19c8",
      "parents": [
        "1198d860283bfc31b39c587580463eef9fcc6720",
        "d8365c54d049aade9e02ccae722f311f846cad9a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 18 00:39:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 00:39:26 2017 +0000"
      },
      "message": "audio flinger: fix AEC and NS suspend logic\nam: d8365c54d0\n\nChange-Id: Ibe210d88cbd423dfb6c9840946e3d4e35c27dfd1\n"
    },
    {
      "commit": "940083c3049e269f6c150d5477eccb6bad32b129",
      "tree": "ae4c20530003d7c9086d343a3b3e7d1d5b17562e",
      "parents": [
        "af842eb79ed9943b7a4495136197e093fc7d8ba7"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 17 17:00:02 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 17 17:00:02 2017 -0700"
      },
      "message": "aaudio: fix intermittent hang and position error\n\nFix hang caused by recursive mutex.\nFix disconnect caused by getPosition() failing, which was\njust because the stream wasn\u0027t ready yet.\n\nBug: 63775537\nBug: 63709749\nTest: run \"aaudio_loopback -pl -Pl -c2 -n6 -te -m\" many times\nChange-Id: Ic1d54360b55cfc8ecc1809584c262bc0976c58bb\n"
    },
    {
      "commit": "d8365c54d049aade9e02ccae722f311f846cad9a",
      "tree": "b0678982480e7a46b21fd0a855fd1cfd242ffdb1",
      "parents": [
        "30bf42ca7242f5f7849cbe7ce61fc994b88c5b56"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 16 15:27:05 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 17 15:26:56 2017 -0700"
      },
      "message": "audio flinger: fix AEC and NS suspend logic\n\nMake sure we suspend/restore AEC and NS only when the suspend condition\nactually changes to avoid mismatch in number of suspends/restores\ncausing the ref counting mechanism to leave the effects in suspend mode\nwhile they should not.\n\nAlso clear the suspend state on an effect session before parking it in\nthe orphan chains list so that it is in default state whne attached to a\nnew record thread.\n\nBug: 63015903\nTest: verify that switching BT SCO on/off with Duo enables or disables\nAEC and NS accordingly\n\nChange-Id: I4d0f0bf818deca3952da3c67bb7e83cb500429c7\n"
    },
    {
      "commit": "fa97a325f95e6cbefe54819674466fda9fc0ad10",
      "tree": "7dfbbc222707c3cb56a6b93bf0b567108054980d",
      "parents": [
        "7e5292c9262f4183b534be945bd76d7c342f20aa",
        "9584601561ad1d3b4fc1b0035c3f3e5bbd3e499e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 17 20:01:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 17 20:01:51 2017 +0000"
      },
      "message": "Merge \"Append additional owners to projects\""
    },
    {
      "commit": "7e5292c9262f4183b534be945bd76d7c342f20aa",
      "tree": "81bdaa936696c6a357493902db0cfea6592b9a6e",
      "parents": [
        "bf03f3e203fa11ffaa23c971c6788dedc2eea427",
        "1198d860283bfc31b39c587580463eef9fcc6720"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Jul 17 19:12:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 17 19:12:06 2017 +0000"
      },
      "message": "Merge \"Add parameters validation on AAudio MMap server\" into oc-dr1-dev am: 30bf42ca72\nam: 1198d86028\n\nChange-Id: I129cded669966e6e1adb3b79e3b76b4299d64bba\n"
    },
    {
      "commit": "1198d860283bfc31b39c587580463eef9fcc6720",
      "tree": "57944797a7387aabdc39243df69a909fe0c2f561",
      "parents": [
        "ef63d8b63e6cc81aaad77e46364d6360a0df5855",
        "30bf42ca7242f5f7849cbe7ce61fc994b88c5b56"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Jul 17 19:09:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 17 19:09:34 2017 +0000"
      },
      "message": "Merge \"Add parameters validation on AAudio MMap server\" into oc-dr1-dev\nam: 30bf42ca72\n\nChange-Id: I6e200b18f9d1c7a02b702a41715ef061b5cafdd8\n"
    },
    {
      "commit": "30bf42ca7242f5f7849cbe7ce61fc994b88c5b56",
      "tree": "f1212996c4a23eee3d8671813b1a57d1613c4c64",
      "parents": [
        "32ab0585ffe4c84fa9b873ab2a51ed977d70b02f",
        "901f65deb49786f4dffd39ac965c0bb681392c0b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 17 19:04:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 17 19:04:45 2017 +0000"
      },
      "message": "Merge \"Add parameters validation on AAudio MMap server\" into oc-dr1-dev"
    },
    {
      "commit": "c7abac4329e15cda4bbbd25f8fc4a93b70d70d0a",
      "tree": "f2402076af44c039478a9bfec1017903a702aa40",
      "parents": [
        "af842eb79ed9943b7a4495136197e093fc7d8ba7"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 17 11:13:37 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jul 17 11:13:37 2017 -0700"
      },
      "message": "audio:  reduce logspam from MMAP mode\n\nBug: 63760826\nTest: run CTS nativemedia/aaudio and notice less logging\nChange-Id: I04564963f85577a53f40f1bad064f5e79723ac76\n"
    },
    {
      "commit": "bf03f3e203fa11ffaa23c971c6788dedc2eea427",
      "tree": "405f2d1f76a5405d5c3a4cea589c49d89e5e3b22",
      "parents": [
        "6c3359f522fa5c528d7eef5deaaf0d2c9c365089",
        "ef63d8b63e6cc81aaad77e46364d6360a0df5855"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jul 17 18:09:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 17 18:09:00 2017 +0000"
      },
      "message": "Merge \"Camera: fix bufferFreed callback object lifecycle issue\" into oc-dr1-dev am: 32ab0585ff\nam: ef63d8b63e\n\nChange-Id: I55f29785c8efb6b4c963bf859e84a9ea1c9fe392\n"
    },
    {
      "commit": "ef63d8b63e6cc81aaad77e46364d6360a0df5855",
      "tree": "a2a268a9a1f1dd1922abf4256308c2672e65d8ab",
      "parents": [
        "abb8fb7f78c68ae9a960c8e9107fe663da7ff709",
        "32ab0585ffe4c84fa9b873ab2a51ed977d70b02f"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jul 17 18:06:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 17 18:06:59 2017 +0000"
      },
      "message": "Merge \"Camera: fix bufferFreed callback object lifecycle issue\" into oc-dr1-dev\nam: 32ab0585ff\n\nChange-Id: Ief8f546531f68d6521f69ad0e8d7307b390703c6\n"
    },
    {
      "commit": "32ab0585ffe4c84fa9b873ab2a51ed977d70b02f",
      "tree": "36351650f159729fc63e0c7d1622f761e8d134b6",
      "parents": [
        "af842eb79ed9943b7a4495136197e093fc7d8ba7",
        "db1e864daf162007341d6715094330c13bf5482f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 17 18:01:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 17 18:01:56 2017 +0000"
      },
      "message": "Merge \"Camera: fix bufferFreed callback object lifecycle issue\" into oc-dr1-dev"
    },
    {
      "commit": "9584601561ad1d3b4fc1b0035c3f3e5bbd3e499e",
      "tree": "0f3268ed27ec2f843c79924a4b779afa06fc2b98",
      "parents": [
        "6c3359f522fa5c528d7eef5deaaf0d2c9c365089"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 17 10:34:02 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 17 10:56:37 2017 -0700"
      },
      "message": "Append additional owners to projects\n\nThis releaves reviewing burden from the frameworks/av owners.\nNote that the lists of owners are inherited from the parent\ndirectories thus the people listed in these files are owners\n*in addition* to people listed in frameworks/av/OWNERS,\nand frameworks/av/{media|services}/OWNERS.\n\nChange-Id: I5e2db1c40cb807b906b2701fe446c874a8d19983\nTest: not needed\n"
    },
    {
      "commit": "83f6d5af97060ad6e934ae4612b1bbb5c84c1abd",
      "tree": "ab57816b1c189d43463fabe682cc33e39633b579",
      "parents": [
        "c3619796d09d61d67762243d1bba112199874d4c",
        "abb8fb7f78c68ae9a960c8e9107fe663da7ff709"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sat Jul 15 18:24:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 18:24:08 2017 +0000"
      },
      "message": "Merge \"Camera: Fix \"use after free\" for mOutstandingBuffers\" into oc-dr1-dev am: af842eb79e\nam: abb8fb7f78\n\nChange-Id: I56ee5bb644259c375ea02720303c6348104a9181\n"
    },
    {
      "commit": "abb8fb7f78c68ae9a960c8e9107fe663da7ff709",
      "tree": "384f1a42b8673d2407e6a825d065e0f1c58f8e77",
      "parents": [
        "7e6e52f56208694f52bd94d95b21217684968121",
        "af842eb79ed9943b7a4495136197e093fc7d8ba7"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sat Jul 15 18:19:40 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 18:19:40 2017 +0000"
      },
      "message": "Merge \"Camera: Fix \"use after free\" for mOutstandingBuffers\" into oc-dr1-dev\nam: af842eb79e\n\nChange-Id: Ia107339f617ccd73510ab8ceeeb61559fb1de958\n"
    },
    {
      "commit": "af842eb79ed9943b7a4495136197e093fc7d8ba7",
      "tree": "9af834fcbca893485c5b1c69bb5d323400c81438",
      "parents": [
        "80e7e68dbf734da1c387152f1757aa70e88ddf5a",
        "1c484a65f1afeec8e4bf2aecbeab9df103f14c85"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 15 18:14:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 15 18:14:19 2017 +0000"
      },
      "message": "Merge \"Camera: Fix \"use after free\" for mOutstandingBuffers\" into oc-dr1-dev"
    },
    {
      "commit": "bf887fd99efdd1b5ebc263726e130bc47242635e",
      "tree": "99ea318a025401dd477133a27be318c1b7799c9b",
      "parents": [
        "0f05641305f557a1a91c336b8999f2569395aa0b",
        "c56bb398f4a1a391b540e2c6fe2862fde0248b3c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 15 01:08:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 01:08:09 2017 +0000"
      },
      "message": "Merge \"audio effects: filter reserved effect commands\" into nyc-mr1-dev am: 125fc63d73 am: a5d728cce1 am: ccd8680538 am: dd36008b78 am: e68bb33712\nam: c56bb398f4\n\nChange-Id: Ibcabc87baa8fdfba663020368b779983cdbf0952\n"
    },
    {
      "commit": "c56bb398f4a1a391b540e2c6fe2862fde0248b3c",
      "tree": "8e32fc821f2cb2bd860129c6930231a75bc1c3c8",
      "parents": [
        "4a9524812b602399ceac9e2ce24ffe1e3ad58f88",
        "e68bb3371238e32e45cd3133a143f7a096aa9c2b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 15 01:04:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 01:04:08 2017 +0000"
      },
      "message": "Merge \"audio effects: filter reserved effect commands\" into nyc-mr1-dev am: 125fc63d73 am: a5d728cce1 am: ccd8680538 am: dd36008b78\nam: e68bb33712\n\nChange-Id: Ia8dd203330a310795c71282386ed527f9eb7267f\n"
    },
    {
      "commit": "80e7e68dbf734da1c387152f1757aa70e88ddf5a",
      "tree": "bd7a2d12878881c57ff715393a49a8dfdbad1110",
      "parents": [
        "42ab59fcd8b54ef206ea4bdcd1299cce11bac355",
        "dd36008b782ec1da0ded327dc51292d102c690d4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 15 01:00:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 01:00:07 2017 +0000"
      },
      "message": "Merge \"audio effects: filter reserved effect commands\" into nyc-mr1-dev am: 125fc63d73 am: a5d728cce1 am: ccd8680538\nam: dd36008b78\n\nChange-Id: Icd196218ebeaa40b2463b1a35eb2cb9e27d76b0c\n"
    },
    {
      "commit": "e68bb3371238e32e45cd3133a143f7a096aa9c2b",
      "tree": "1d9ee9962cff59ef4762cfb07385c1637e5b4da7",
      "parents": [
        "aee0c0b5080ecbb3cc06e78daf8538bef8e9416d",
        "dd36008b782ec1da0ded327dc51292d102c690d4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 15 01:00:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 01:00:06 2017 +0000"
      },
      "message": "Merge \"audio effects: filter reserved effect commands\" into nyc-mr1-dev am: 125fc63d73 am: a5d728cce1 am: ccd8680538\nam: dd36008b78\n\nChange-Id: I4ffd95bcaa4dd9a6637c93e85d4c3c18c0a7f89f\n"
    },
    {
      "commit": "dd36008b782ec1da0ded327dc51292d102c690d4",
      "tree": "62688bd7c8ba2a2e0f770cd8fb7550293abbe5c8",
      "parents": [
        "024216f32b482c9a9609263f9c1711fc08f86087",
        "ccd8680538d3bc3b3c0ef201b3511ee065eca12f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 15 00:56:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 00:56:06 2017 +0000"
      },
      "message": "Merge \"audio effects: filter reserved effect commands\" into nyc-mr1-dev am: 125fc63d73 am: a5d728cce1\nam: ccd8680538\n\nChange-Id: I0af69333bcb67ef6534175ce986fc05e5a26ffa6\n"
    },
    {
      "commit": "ccd8680538d3bc3b3c0ef201b3511ee065eca12f",
      "tree": "34afa2ab795ffd73ee304c1a53f83a594d615b5f",
      "parents": [
        "4fa1ff8958e29dd89ddce99dfc6d94ea2146481b",
        "a5d728cce1d43536c56fffe919df19a897b95665"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 15 00:52:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 00:52:06 2017 +0000"
      },
      "message": "Merge \"audio effects: filter reserved effect commands\" into nyc-mr1-dev am: 125fc63d73\nam: a5d728cce1\n\nChange-Id: I82e1af7e7ff4b7dcc7a9b1121893f7514fdbf05d\n"
    },
    {
      "commit": "a5d728cce1d43536c56fffe919df19a897b95665",
      "tree": "3ab3064f8c7e6c4c721844ceaebb08243b8e0e5e",
      "parents": [
        "8ea826e20d1b1ffc8983f94a589744614f1e1dcd",
        "125fc63d73ea651f051c4b5c4b00fc35e43cacec"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 15 00:48:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 15 00:48:07 2017 +0000"
      },
      "message": "Merge \"audio effects: filter reserved effect commands\" into nyc-mr1-dev\nam: 125fc63d73\n\nChange-Id: I33f038d357f2f698df9b37f09ac03e72c32b9bd8\n"
    },
    {
      "commit": "1c484a65f1afeec8e4bf2aecbeab9df103f14c85",
      "tree": "72f0e7680065017a1553f2cc00e60766cefcccd6",
      "parents": [
        "ac31fb897846c6e8c72ade7fa5e4ab3c00bf77c9"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jul 14 15:14:19 2017 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jul 14 16:27:58 2017 -0700"
      },
      "message": "Camera: Fix \"use after free\" for mOutstandingBuffers\n\nFix below use after free issues:\n\n\u003d\u003d4947\u003d\u003dERROR: AddressSanitizer: heap-use-after-free on address\n0xec61f434 at pc 0xf1954c18 bp 0xed3ff6f0 sp 0xed3ff6e8\nREAD of size 4 at 0xec61f434 thread T12 (C3Dev-1-ReqQueu)\n  #0 0xf1954c17 in _ZN7android7camera313Camera3Stream23removeOutstandingBufferERK21camera3_stream_buffer\n  frameworks/av/services/camera/libcameraservice/device3/Camera3Stream.cpp:508\n  #1 0xf1954c17 in _ZN7android7camera313Camera3Stream12returnBufferERK21camera3_stream_bufferx\n  frameworks/av/services/camera/libcameraservice/device3/Camera3Stream.cpp:543\n  #2 0xf193c663 in _ZN7android13Camera3Device13RequestThread21cleanUpFailedRequestsEb\n  frameworks/av/services/camera/libcameraservice/device3/Camera3Device.cpp:4131\n  #3 0xf193db5b in _ZN7android13Camera3Device13RequestThread10threadLoopEv\n  frameworks/av/services/camera/libcameraservice/device3/Camera3Device.cpp:3854\n  #4 0xf1562f35 in _ZN7android6Thread11_threadLoopEPv system/core/libutils/Threads.cpp:747\n  #5 0xf0ee6947 in _ZL15__pthread_startPv bionic/libc/bionic/pthread_create.cpp:214\n  #6 0xf0eba381 in __start_thread bionic/libc/bionic/clone.cpp:47\n\n0xec61f434 is located 68 bytes inside of 136-byte region [0xec61f3f0,0xec61f478)\nfreed by thread T0 here:\n  #7 0xf1a64963 in _ZdlPvSt11align_val_tRKSt9nothrow_t [asan_rtl]\n  #8 0xf155df09 in _ZNK7android7RefBase9decStrongEPKv system/core/libutils/RefBase.cpp:435\n  #9 0xf19693ab in _ZN7android7camera319Camera3OutputStream22BufferReleasedListener16onBufferReleasedEv\n    frameworks/av/services/camera/libcameraservice/device3/Camera3OutputStream.cpp:720\n  #3 0x1ff56dfb  (\u003cunknown module\u003e)\n\nBug: 62218367\nChange-Id: Ib03415f73a1e3c283520af752904b1bcc40bff28\n"
    },
    {
      "commit": "db1e864daf162007341d6715094330c13bf5482f",
      "tree": "76789003760a648ef9951ea15148029b2ef905e1",
      "parents": [
        "7bb115f1033fd7ef5e3556fc384aac475d16cce7"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 14 15:19:30 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 14 15:37:50 2017 -0700"
      },
      "message": "Camera: fix bufferFreed callback object lifecycle issue\n\nMake sure the callback object won\u0027t be freed in the middle\nof callback execution.\n\nTest: CTS + stress test\nBug: 63683767\nChange-Id: I6fb1b754cadb3d499c1c246687d2f60d444d00bb\n"
    },
    {
      "commit": "901f65deb49786f4dffd39ac965c0bb681392c0b",
      "tree": "c80ff068d9aae5d4292387883b24b6be6b2f8ad7",
      "parents": [
        "6ac42ebf890ce99b401e1962db8ceecfb38b7a65"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Jul 12 17:56:35 2017 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Jul 14 13:42:46 2017 -0700"
      },
      "message": "Add parameters validation on AAudio MMap server\n\nBug: 63384314\nTest: adb shell /system/bin/write_sine -m -pl -n4 \\\n\u0026\u0026 adb shell /system/bin/write_sine -pl -n4 \\\n\u0026\u0026 adb shell /system/bin/write_sine_callback -m -pl -n4 \\\n\u0026\u0026 adb shell /system/bin/write_sine_callback -pl -n4 \\\n\u0026\u0026 adb shell /system/bin/CtsNativeMediaAAudioTestCases32\n\nChange-Id: I462f956e8fc25eb583699af6389e0f299243eafb\n"
    },
    {
      "commit": "2ca3dd3338d861ad844306c6efdbc57510671dfe",
      "tree": "882d455a39907bcda7aa6e968475963e8922a0ba",
      "parents": [
        "f977174113bd51555b731f377ff295c881003edf",
        "a8a8a47da86e181d835eab7f858d6b1d2c3a8357"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 00:52:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 14 00:52:10 2017 +0000"
      },
      "message": "Merge \"Restored audio onStateChange log\""
    },
    {
      "commit": "f977174113bd51555b731f377ff295c881003edf",
      "tree": "2f88335ddf16cdfe5521b48da511ba69f8bdce79",
      "parents": [
        "96f7b1bcc71945aea42eb23718b632144707927e",
        "f021afb79508d2aa06469855416fc89387fab1ed"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 14 00:11:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 14 00:11:35 2017 +0000"
      },
      "message": "Merge \"Camera: fix buffer leak in device error condition\" into oc-dr1-dev am: 7bb115f103\nam: f021afb795\n\nChange-Id: I056f09693578de2b05f6760d1adfd745967d14ae\n"
    },
    {
      "commit": "f021afb79508d2aa06469855416fc89387fab1ed",
      "tree": "26ab3f58b806f48b570991207480f8def77b0276",
      "parents": [
        "bc1ab2ffbbc1e185da19f92e5549f6024771e3d8",
        "7bb115f1033fd7ef5e3556fc384aac475d16cce7"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 14 00:09:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 14 00:09:03 2017 +0000"
      },
      "message": "Merge \"Camera: fix buffer leak in device error condition\" into oc-dr1-dev\nam: 7bb115f103\n\nChange-Id: I7f67785d81650c2dd15eaa10c59e4a110c68a47e\n"
    },
    {
      "commit": "7bb115f1033fd7ef5e3556fc384aac475d16cce7",
      "tree": "eb340f49ba586e1a7f035b99447f5e3e3029e995",
      "parents": [
        "ac31fb897846c6e8c72ade7fa5e4ab3c00bf77c9",
        "f3fe36ff1d730aea85fe652b778c6e093b1242e7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 00:00:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 14 00:00:03 2017 +0000"
      },
      "message": "Merge \"Camera: fix buffer leak in device error condition\" into oc-dr1-dev"
    },
    {
      "commit": "96f7b1bcc71945aea42eb23718b632144707927e",
      "tree": "f85b801d74baa1adc346c9ab2f86dd4dbb0fdbe2",
      "parents": [
        "36cc22b90543e5a11fe7eb202a81d563d970dbc8",
        "bc1ab2ffbbc1e185da19f92e5549f6024771e3d8"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Jul 13 22:54:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 13 22:54:59 2017 +0000"
      },
      "message": "remove extraneous `using namespace android` and deprecate utils/Log.h am: 357552eb72 am: 8d0dd68b05\nam: bc1ab2ffbb\n\nChange-Id: Ic7a31ca72688507648b404c4ad0c51e091420d91\n"
    },
    {
      "commit": "bc1ab2ffbbc1e185da19f92e5549f6024771e3d8",
      "tree": "8188c53fba5bf53640eccc4f14684117f9fe1ead",
      "parents": [
        "556a5a06e8fab58cdf3f449c5f9de64daffae763",
        "8d0dd68b05a7a82d684ad78a0d33c8b9ddfc526f"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Jul 13 22:51:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 13 22:51:59 2017 +0000"
      },
      "message": "remove extraneous `using namespace android` and deprecate utils/Log.h am: 357552eb72\nam: 8d0dd68b05\n\nChange-Id: I49931f5a7becf28517e3801f6089fb720746a2ee\n"
    },
    {
      "commit": "357552eb724722dc620c56d2151bdfad07467952",
      "tree": "54dae79fff516a8d0d9e95a303a6c3680e3bf0df",
      "parents": [
        "37cd5f116dfbde69be3625e7a2112346393b0ef1"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jul 12 13:48:26 2017 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Jul 13 22:39:27 2017 +0000"
      },
      "message": "remove extraneous `using namespace android` and deprecate utils/Log.h\n\nThis namespace is not used by this file and its declaration is removed\nin a separate CL from utils/Log.h, which is the only place it is\ndefined, so we must remove this extraneous line.\n\nAlso, since that separate CL is deprecating utils/Log.h in favor of\nlog/log.h, we make the switch to the new header.\n\nTest: Build\nExempt-From-Owner-Approval: Owners file needs updating\nChange-Id: I34aa80765d30c79f8cb67eaf95a9995066bd672e\n"
    },
    {
      "commit": "b25d3927c08503e68a213526a8f82d40eacde81b",
      "tree": "c60310ed813bb93d9066eb38b4d207cfb32ed067",
      "parents": [
        "dd18889034905e805465d0187c5cf2e21fa0f723",
        "63d16055f18d03744bde025fdb77edf31b15908b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 13 00:57:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 13 00:57:44 2017 +0000"
      },
      "message": "Merge \"CameraService: Clean up ICameraServiceProxy; send it more info\" into oc-dr1-dev am: 437f48e64a\nam: 63d16055f1\n\nChange-Id: Idbdbb279845ff9286e74c62115d1c6f1114ec12c\n"
    },
    {
      "commit": "63d16055f18d03744bde025fdb77edf31b15908b",
      "tree": "b0295bcd77bd6786d273f07cd5c49aebfe8bedef",
      "parents": [
        "a27803d0bf1887602e452304a5d82216a314168e",
        "437f48e64adb5d4180b621c6c1f5f2a200b81f82"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 13 00:50:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 13 00:50:38 2017 +0000"
      },
      "message": "Merge \"CameraService: Clean up ICameraServiceProxy; send it more info\" into oc-dr1-dev\nam: 437f48e64a\n\nChange-Id: I88f946699006b41fc6f90c4365f3de75ae3a3381\n"
    },
    {
      "commit": "437f48e64adb5d4180b621c6c1f5f2a200b81f82",
      "tree": "0a6dcba59fe12157a412961d7e8603296e88244f",
      "parents": [
        "6ac42ebf890ce99b401e1962db8ceecfb38b7a65",
        "e8c96c765b95ec7dcd10732621a825fce05960c6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 00:44:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 00:44:40 2017 +0000"
      },
      "message": "Merge \"CameraService: Clean up ICameraServiceProxy; send it more info\" into oc-dr1-dev"
    },
    {
      "commit": "a8a8a47da86e181d835eab7f858d6b1d2c3a8357",
      "tree": "a5a3c4afcd188433b61e22c9dcaa267544810743",
      "parents": [
        "41cad59d28749b397c35a246a670603cd311be19"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 11 09:41:25 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed Jul 12 14:45:13 2017 -0700"
      },
      "message": "Restored audio onStateChange log\n\nCalls flushTsSeries when a state change was detected\nto avoid logging idle audio time as a buffer period.\n\nTest: dumpsys media.log\nChange-Id: Ia33bec8829dcd5d2de5c40f904e5ea19c5a2b453\n"
    },
    {
      "commit": "a27803d0bf1887602e452304a5d82216a314168e",
      "tree": "e23a9e11efc1df7a04e51e19228bbf33649f4e31",
      "parents": [
        "7c126c23f4f1d70454e2a3564cd55fd000af34bd",
        "6ac42ebf890ce99b401e1962db8ceecfb38b7a65"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 12 20:49:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 12 20:49:58 2017 +0000"
      },
      "message": "Merge \"aaudio: indicate client UID and PID to audio flinger\" into oc-dr1-dev\nam: 6ac42ebf89\n\nChange-Id: Ifc32388d25b4a1a4c6edee785f00775c7e864f3a\n"
    },
    {
      "commit": "6ac42ebf890ce99b401e1962db8ceecfb38b7a65",
      "tree": "4492d55993c5277b46332bc26c390e9eec819537",
      "parents": [
        "4a907a1760ee9ee3ab603f064cfe24a2cb32ec82",
        "cb4dae216758d9e9a28050f65097f1ce905c03e9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 20:42:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 20:42:51 2017 +0000"
      },
      "message": "Merge \"aaudio: indicate client UID and PID to audio flinger\" into oc-dr1-dev"
    },
    {
      "commit": "f3fe36ff1d730aea85fe652b778c6e093b1242e7",
      "tree": "fc7d192a4251aeab772e903b6254571bfcdb9c2b",
      "parents": [
        "4a907a1760ee9ee3ab603f064cfe24a2cb32ec82"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 07 18:23:18 2017 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jul 12 13:40:02 2017 -0700"
      },
      "message": "Camera: fix buffer leak in device error condition\n\nTest: CTS, manually inspect dmabuf after camera closed\nBug: 63302673\nChange-Id: Ie91ef4f92aaacb7e7c70c660f6a072168871cb10\n"
    },
    {
      "commit": "739c8b9811f8907acfcd4d8eca7276924410a4d0",
      "tree": "6dc4ffe808fe9c5a038e8e71fbdaef76e8f17688",
      "parents": [
        "8280e4156628d53c0a90c405fa57d4c40c33b62b",
        "7c126c23f4f1d70454e2a3564cd55fd000af34bd"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jul 12 19:50:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 12 19:50:47 2017 +0000"
      },
      "message": "Merge \"audioflinger: Fix missing \u0027return\u0027 statement in \u0027getParameters\u0027\" into oc-dr1-dev am: 4a907a1760\nam: 7c126c23f4\n\nChange-Id: Icdb798f6101479cc3d63e7bcd2309f660d63dd72\n"
    },
    {
      "commit": "7c126c23f4f1d70454e2a3564cd55fd000af34bd",
      "tree": "407ac6496da02dd2825e61a4ebed762d97bd038e",
      "parents": [
        "a4209484214f292eabde20745d08c3b0f6782651",
        "4a907a1760ee9ee3ab603f064cfe24a2cb32ec82"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jul 12 19:48:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 12 19:48:17 2017 +0000"
      },
      "message": "Merge \"audioflinger: Fix missing \u0027return\u0027 statement in \u0027getParameters\u0027\" into oc-dr1-dev\nam: 4a907a1760\n\nChange-Id: If4bbc53fbccefa506f1c89d46de1265fc9bcacf0\n"
    },
    {
      "commit": "cb4dae216758d9e9a28050f65097f1ce905c03e9",
      "tree": "4c3c49679384d70006675e9e06c7e8e8117e206c",
      "parents": [
        "0acb3209107802e2ab116f8374aab886579729bb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 01 19:39:32 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 12 12:17:33 2017 -0700"
      },
      "message": "aaudio: indicate client UID and PID to audio flinger\n\nImplement correct indication of client UID and PID to audio flinger\nfor AAudio MMAP streams in both exclusive mode and shared mode.\n- Add start/stop client methods on MMAP streams used only when the MMAP\nstream is in AAudio service and carries a mix of shared streams.\n- Add \"In Service\u0027\" indication from \"client\" side to AAudioServiceStreamMMAP\nso that the behavior can be adapted accordingly.\n- Modify logic on audio flinger side with regard to mmap tracks and\naudio HAL stream activity:\n  - use same audio session for all clients on a same stream to match\n  audio policy logic to share same direct output stream for clients on same\n  session. This is also more consistent with current volume and effect\n  handling as all MMAP  clients sharing the same output stream have the\n  same volume and use case.\n  - start/stop the HAL when the stream is started/stopped with the initial client\n  handle (returned when the stream is opened) but do not create a track.\n  AAudioService implementation will always send an additional start command before\n  first client starts and a stop command after last client stops,\n  in both shared and exclusive mode.\n  - start/stop a track only if the start/stop stream command is received\n  with a handle different from the initial handle.\n- Allow more than one active client from the same UID on a MMAP input in audio policy.\n\nBug: 62950008\nTest: verify playback and capture in mmap mode\nMerged-In: I86151bbb637ff172d2fd5f813056eab13a7bcd3c\nChange-Id: I86151bbb637ff172d2fd5f813056eab13a7bcd3c\n"
    },
    {
      "commit": "aa165e5358403341aaca87bd7bedc39e425ea6b6",
      "tree": "c09eec55161beaca6b4838d7d398157c9cc19bc8",
      "parents": [
        "ed0f8f425d90254590bf49e2b6e2fe77be679701"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jul 12 10:39:16 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jul 12 10:39:16 2017 -0700"
      },
      "message": "audioflinger: Fix missing \u0027return\u0027 statement in \u0027getParameters\u0027\n\nWithout a \u0027return\u0027, the code attempts to call a method on\na null thread instance.\n\nBug: 62918718\nTest: doesn\u0027t crash when bogus audio_io_handle passed to \u0027getParameters\u0027\nChange-Id: I356dfd9531e0de41d869b8e29909dee5843dc795\n"
    },
    {
      "commit": "a54f1283fdd9adbd64ecca4e14af56aaa0e8c825",
      "tree": "cdadd19276119f775480482778c2df15a6ae264f",
      "parents": [
        "20e6916035865710b7a30ac7f2eac1311e2c2e70"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 01 19:39:32 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 18:21:40 2017 -0700"
      },
      "message": "aaudio: indicate client UID and PID to audio flinger\n\nImplement correct indication of client UID and PID to audio flinger\nfor AAudio MMAP streams in both exclusive mode and shared mode.\n- Add start/stop client methods on MMAP streams used only when the MMAP\nstream is in AAudio service and carries a mix of shared streams.\n- Add \"In Service\u0027\" indication from \"client\" side to AAudioServiceStreamMMAP\nso that the behavior can be adapted accordingly.\n- Modify logic on audio flinger side with regard to mmap tracks and\naudio HAL stream activity:\n  - use same audio session for all clients on a same stream to match\n  audio policy logic to share same direct output stream for clients on same\n  session. This is also more consistent with current volume and effect\n  handling as all MMAP  clients sharing the same output stream have the\n  same volume and use case.\n  - start/stop the HAL when the stream is started/stopped with the initial client\n  handle (returned when the stream is opened) but do not create a track.\n  AAudioService implementation will always send an additional start command before\n  first client starts and a stop command after last client stops,\n  in both shared and exclusive mode.\n  - start/stop a track only if the start/stop stream command is received\n  with a handle different from the initial handle.\n- Allow more than one active client from the same UID on a MMAP input in audio policy.\n\nBug: 62950008\nTest: verify playback and capture in mmap mode\nChange-Id: I86151bbb637ff172d2fd5f813056eab13a7bcd3c\n"
    },
    {
      "commit": "b64230e6f42e87a84725d9934d9e25c638d761b1",
      "tree": "92d4d93a541195da3719b35474b89e89ebfaa8ab",
      "parents": [
        "ab5c38a7ac2ba27e680a95cac6c0b9d61c08771b",
        "9f2b9d3a001834c1e1990ac8e2a8717ad38c7eee"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 18:02:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 11 18:02:26 2017 +0000"
      },
      "message": "Merge \"audio policy: fix audio device properties loading\" into oc-dr1-dev am: ed0f8f425d\nam: 9f2b9d3a00\n\nChange-Id: Ieb6145d4120f3197a7b841fccc9250f92db5f384\n"
    },
    {
      "commit": "9f2b9d3a001834c1e1990ac8e2a8717ad38c7eee",
      "tree": "f20cfefdb64d64fc8182b5b4daed603b378dd215",
      "parents": [
        "47ab9fea542fe518b04df30a6c10a25e0eec91f7",
        "ed0f8f425d90254590bf49e2b6e2fe77be679701"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 17:58:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 11 17:58:57 2017 +0000"
      },
      "message": "Merge \"audio policy: fix audio device properties loading\" into oc-dr1-dev\nam: ed0f8f425d\n\nChange-Id: I2d4580aae05072e2f12d1393a0b53c973d3bfe4e\n"
    },
    {
      "commit": "c7ab309ecbb289cd1296430f724166a26bd45afe",
      "tree": "499766fbb5598e74f874966bfad6a56bea4e8e0b",
      "parents": [
        "25c4535f04eb2229eca4dfa0da04b13c004f3446"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 15 18:43:46 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 02:11:00 2017 +0000"
      },
      "message": "audio effects: filter reserved effect commands\n\nBlock effect commands reserved for framework use when\nreceived on server side IAudioEffect. Applications have no reason\nto use these commands and they present a unnecessary attack surface.\n\nBug: 62019992\nTest: run CTS tests for audio effects\nChange-Id: Ie680d5d5650f99dbabf93891703e1cde2c2e852d\n"
    },
    {
      "commit": "e8c96c765b95ec7dcd10732621a825fce05960c6",
      "tree": "0197cb1e0849140d5be7aaf085cff87ad91177cf",
      "parents": [
        "15fb0ee6bd752ccde960b961dd1e9113c37e5f8b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 27 12:24:07 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 10 11:59:00 2017 -0700"
      },
      "message": "CameraService: Clean up ICameraServiceProxy; send it more info\n\n- Remove hand-written ICameraServiceProxy C++ impl; use the AIDL-\n  generated version instead\n- Send client package name and camera facing with the camera state\n  notices\n\nTest: Verify by logging that information sent to proxy is correct;\n      no camera CTS regressions.\nBug: 32449509\nChange-Id: I7a305b76b4f1d5c08b7938108bd73c95986508e0\n"
    },
    {
      "commit": "83efe1c6bd6fa206560377960358ec95aa6a1c41",
      "tree": "5dd69d5f069370fffc9ae73660f9c8641017b636",
      "parents": [
        "15fb0ee6bd752ccde960b961dd1e9113c37e5f8b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 09 16:51:08 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 09 16:51:08 2017 -0700"
      },
      "message": "audio policy: fix audio device properties loading\n\nOnly load removable digital device properties from streams\nwith dynamic profiles. This avoids aggregating properties from\nother stream profiles when the device can also be reached via those\nprofiles.\n\nBug: 38423100\nTest: connect various USB devices and check properties are loaded\nproperly.\n\nChange-Id: Ie5eed397d3a475848a3d423d18ffae9d55917ac4\n"
    },
    {
      "commit": "4fb615c2774c04b4d36d8f9d88dd4aa291296288",
      "tree": "6ce96b0a49b22c440b7b70be61a862e214d8d960",
      "parents": [
        "8f5520a7378e7af0fcc6a8b693f29a6ddffbbbcd"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Jun 26 10:28:13 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jul 07 17:20:47 2017 -0700"
      },
      "message": "Audio policy: Parse new audio policy configuration file\n\nFor treble, files shared between vendor and system must have a schema.\nAs .conf did not support such feature, transition to an xml based\nconfiguration file.\n\nThis new format has several changes:\n - library path are now relative to the standard effect directories\n - effect parameters are no longer supported (nobody used them)\n\nTest: Check that the dumpsys is similar than with the legacy formal\nBug: 37492580\nChange-Id: Ie6bd84ed88124991600fa238cc13714874eefad9\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "ab8e5c6bd83648c6dc4ada7fd197e960df82cc1e",
      "tree": "6d2d18ec0af98e7fd04ae3050d696937edbd0fc7",
      "parents": [
        "e21e4c79e14ee0be9dc7ade1ed3f0f32beb93436",
        "b2d55a72e0bf9e015aeff68b33f5b2e3dd3d1517"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 07 23:12:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 07 23:12:29 2017 +0000"
      },
      "message": "Merge \"aaudio: do not assert if deleting an unopened stream\" into oc-dr1-dev am: 15fb0ee6bd\nam: b2d55a72e0\n\nChange-Id: Iade2d0b34e1f9509a55b1faff057a6bf2eaeba35\n"
    },
    {
      "commit": "b2d55a72e0bf9e015aeff68b33f5b2e3dd3d1517",
      "tree": "9266bdc003c0dde1694133abfe81415fbe82fa66",
      "parents": [
        "2681203d83dbfe33e947c54f672ccf364c7c3d60",
        "15fb0ee6bd752ccde960b961dd1e9113c37e5f8b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 07 23:10:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 07 23:10:32 2017 +0000"
      },
      "message": "Merge \"aaudio: do not assert if deleting an unopened stream\" into oc-dr1-dev\nam: 15fb0ee6bd\n\nChange-Id: If35f2ec8b17da06b3c43bddb836107982b9535c6\n"
    },
    {
      "commit": "5a26e665e1abb00ed1c8a7e421e19763324776e9",
      "tree": "91ba3e7ef4123ea42403936e451836f8b993339f",
      "parents": [
        "c06dd405a61b24116ac08415709e5575b2583492"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 07 12:44:48 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 07 12:47:52 2017 -0700"
      },
      "message": "aaudio: do not assert if deleting an unopened stream\n\nBug: 63440754\nTest: write_sine.cpp, see bug for repro case\nChange-Id: I1f7ed1bd97d4cfcd54d27d41d708c6c03d3d88ac\n"
    },
    {
      "commit": "cbbbc3524d22ab2790197e24b1d45ee138313b6e",
      "tree": "c1bec8b0f67ff7d62ab670407dc2f652f8c9ac42",
      "parents": [
        "3dc2b2de8984ec97042d0b02773f99bf4d41a7ed",
        "0323eba087faa28845b9074e5751b4914bbb6f71"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 07 03:33:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 07 03:33:34 2017 +0000"
      },
      "message": "aaudio: stop calling virtual methods from destructor am: 98d6d9227f\nam: 0323eba087\n\nChange-Id: Ibb5b6aa79598c197899ef130ae926cd839e2a2bf\n"
    },
    {
      "commit": "0323eba087faa28845b9074e5751b4914bbb6f71",
      "tree": "15f8be3a1fcdaeaea675e593a86fe32c6dd346e4",
      "parents": [
        "983bd9792caa00f00aff246c21f236974409c9ba",
        "98d6d9227f6599a5aa7b023217c02a01cc4536cb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jul 07 03:24:55 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 07 03:24:55 2017 +0000"
      },
      "message": "aaudio: stop calling virtual methods from destructor\nam: 98d6d9227f\n\nChange-Id: I3e5212360642396db4f4cd5e1624946b292bdd57\n"
    },
    {
      "commit": "98d6d9227f6599a5aa7b023217c02a01cc4536cb",
      "tree": "847f63fabe692cdcc73dcdda8c681cd9f4087e97",
      "parents": [
        "014a56b57af9e4c744d1ac6f5a95eb1ac7e3f445"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jul 06 11:52:45 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jul 06 16:41:07 2017 -0700"
      },
      "message": "aaudio: stop calling virtual methods from destructor\n\nWas calling close(), which is abstract and virtual.\nThis may have been related to some audioserver crashes.\nAlso cleaned up some strong pointer handling.\n\nBug: 63390734\nBug: 63353455\nTest: run CTS nativemedia/aaudio many times\nChange-Id: Ib95aed60a64771b64395c67f0921c67146f9d10f\n"
    },
    {
      "commit": "2b01f009428797ee9154649411a64b522946e966",
      "tree": "4a92acd2cccf15d8d916bbdaa7fea1265911ab93",
      "parents": [
        "38217e0d53b14e634243d1ce36fa5d3267c71056"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 05 12:01:36 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 05 12:45:52 2017 -0700"
      },
      "message": "Replace old audio time conversion macros and functions\n\nTest: Play Movies, Youtube, CTS\nBug: 25569135\nChange-Id: Ib6e304f149c381dc7af7f4aa959c3d79d7bdb2aa\n"
    },
    {
      "commit": "38217e0d53b14e634243d1ce36fa5d3267c71056",
      "tree": "3ddf472b051c944a6c1039b2acac9ac1c01fafb9",
      "parents": [
        "ee05ff049fb5c6f394f806e58c3f2ec28e8957af",
        "b66815f31c762eef2d1b84fa6f5d9f9b158ca18c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 02 02:32:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jul 02 02:32:49 2017 +0000"
      },
      "message": "aaudio: enable exclusive MMAP mode support am: d51329eca8\nam: b66815f31c\n\nChange-Id: I02e0c91d5ce2dc0ceb7b47aa27c6c63a69e90a3a\n"
    },
    {
      "commit": "b66815f31c762eef2d1b84fa6f5d9f9b158ca18c",
      "tree": "ab34e19a88d57de931ae621fe53a244ca12bd917",
      "parents": [
        "c2080abab02fa8ccb7e94591a26a06f619f73bea",
        "d51329eca85112973867a6bf0d210e82d6d1c411"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 02 02:30:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jul 02 02:30:17 2017 +0000"
      },
      "message": "aaudio: enable exclusive MMAP mode support\nam: d51329eca8\n\nChange-Id: I7b618a0073c1bada8c263ab9c56baf54698f5e10\n"
    },
    {
      "commit": "d51329eca85112973867a6bf0d210e82d6d1c411",
      "tree": "f29ad645223b5ea22b709f4d3362f27aa14d6a9a",
      "parents": [
        "4501b3510f9b2af2ff63a0471de24e3feea1d0a8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 30 16:06:16 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 02 00:32:10 2017 +0000"
      },
      "message": "aaudio: enable exclusive MMAP mode support\n\nAllow exclusive MMAP mode only if the HAL indicates\nthat the FD returned for shared memory buffer can be shared\nwith any application.\n\nNOTE: the way the HAL indicates this is temporary until the audio\nHAL is modified in next HIDL release.\n\nBug: 37167970\nTest: check playback and capture in mmap exclusive and shared mode\nChange-Id: I09c1461b2f99532ded2ef9d36d483b82096fda68\n"
    },
    {
      "commit": "ee05ff049fb5c6f394f806e58c3f2ec28e8957af",
      "tree": "225a7f2b71be6bf853e721d9983a858aa51e7ef6",
      "parents": [
        "79ab080b8942004b814f01c59c144fe232ba1618",
        "c2080abab02fa8ccb7e94591a26a06f619f73bea"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 23:56:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 23:56:41 2017 +0000"
      },
      "message": "aaudio: improved dumpsys am: 4501b3510f\nam: c2080abab0\n\nChange-Id: Ia64a1040bca886c8bcd25ce4e7ac7c1703680798\n"
    },
    {
      "commit": "c2080abab02fa8ccb7e94591a26a06f619f73bea",
      "tree": "85f60f8f2f1f0e3931b0221f808a562e17b8509f",
      "parents": [
        "4e862f65057744afe776617f5b3aac16c093b94e",
        "4501b3510f9b2af2ff63a0471de24e3feea1d0a8"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 23:54:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 23:54:09 2017 +0000"
      },
      "message": "aaudio: improved dumpsys\nam: 4501b3510f\n\nChange-Id: Ieef211c004dc07f0cd9ec49860ae52057ec01f42\n"
    },
    {
      "commit": "4501b3510f9b2af2ff63a0471de24e3feea1d0a8",
      "tree": "486de512a65eaad91323fd521823b7230088643d",
      "parents": [
        "8dd045aaf7079fce7c3f0d8457d4e4c7055bac03"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 29 18:12:36 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 01 14:28:57 2017 -0700"
      },
      "message": "aaudio: improved dumpsys\n\nAdd more information about various streams and endpoints.\n\nBug: 38396780\nTest: adb shell dumpsys media.aaudio\nChange-Id: I5cc116574bfc3aa93703c182d933dbdfcbefad7a\n"
    },
    {
      "commit": "79ab080b8942004b814f01c59c144fe232ba1618",
      "tree": "8f31e8d92a9bd5812befdb1ccd0b2a98acda9808",
      "parents": [
        "881df07acf401752dae3c8ad6307c4276aeb0b6c",
        "4e862f65057744afe776617f5b3aac16c093b94e"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 19:59:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 19:59:29 2017 +0000"
      },
      "message": "Merge \"aaudio: limit number of streams per process\" into oc-dr1-dev am: 8dd045aaf7\nam: 4e862f6505\n\nChange-Id: I9c86fd02bb6167a70c35dcbccebb7907679b5b86\n"
    },
    {
      "commit": "4e862f65057744afe776617f5b3aac16c093b94e",
      "tree": "25e0086fb91d2b3dcb92746a7d1389a0cc33d4af",
      "parents": [
        "994194aecceaf273dd7ad3dddbee22f5df03dfc6",
        "8dd045aaf7079fce7c3f0d8457d4e4c7055bac03"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 19:57:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 19:57:30 2017 +0000"
      },
      "message": "Merge \"aaudio: limit number of streams per process\" into oc-dr1-dev\nam: 8dd045aaf7\n\nChange-Id: Id45d02293f50707413c4a43247ce6402759fb941\n"
    },
    {
      "commit": "8dd045aaf7079fce7c3f0d8457d4e4c7055bac03",
      "tree": "5b203cad3e40edd47e80af2e45a2b2c623820962",
      "parents": [
        "80f5e44d6072b5f0b379d2f845503492463bc683",
        "9169294539ad46e08e2fe76a93c37ed965c13058"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 01 19:52:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 01 19:52:04 2017 +0000"
      },
      "message": "Merge \"aaudio: limit number of streams per process\" into oc-dr1-dev"
    },
    {
      "commit": "9169294539ad46e08e2fe76a93c37ed965c13058",
      "tree": "7f99790dd7625f12d19a1365666e4c541451f0ae",
      "parents": [
        "6ec18f8ce3d797fdd5722926ac17c1f4eda7904d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 12:23:05 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 08:01:51 2017 -0700"
      },
      "message": "aaudio: limit number of streams per process\n\nTesting the new max streams restriction revealed the bug\ninvolving the second shared stream.\n\nBug: 62951298\nBug: 63171495\nTest: test_n_streams.cpp can open MAX_STREAMS_PER_PROCESS MMAP streams\nChange-Id: Ibea7d9c4716326a37c669954b52f397ed2968caa\n"
    },
    {
      "commit": "881df07acf401752dae3c8ad6307c4276aeb0b6c",
      "tree": "5fd9b985fa4e813dfa984d101b033e89ca33b674",
      "parents": [
        "8fc2dcfa375bbdd4133cfbb3ec1b2c41866c912a",
        "994194aecceaf273dd7ad3dddbee22f5df03dfc6"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 05:40:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 05:40:28 2017 +0000"
      },
      "message": "Merge \"aaudio: disconnect when onTearDown() called\" into oc-dr1-dev am: 80f5e44d60\nam: 994194aecc\n\nChange-Id: Iaf04548b586c040ec4d3542468d850053b13d7c7\n"
    },
    {
      "commit": "994194aecceaf273dd7ad3dddbee22f5df03dfc6",
      "tree": "b22266d78a22b74baffbdbfcd9871e732ed4349a",
      "parents": [
        "be2a4194a31777ed53aec265c5a53feeeeb66435",
        "80f5e44d6072b5f0b379d2f845503492463bc683"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 05:35:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 05:35:30 2017 +0000"
      },
      "message": "Merge \"aaudio: disconnect when onTearDown() called\" into oc-dr1-dev\nam: 80f5e44d60\n\nChange-Id: Ieb2008d6725c1f507ed8fcf483897c8e69ec3a72\n"
    },
    {
      "commit": "5ef003b750ae5188c36d6512584da442be125148",
      "tree": "60b325497093e81d50c9c535cc6fe061a1c9dab9",
      "parents": [
        "fef6b3d4fdd5dcde27e29990dec6ee226aa7b873"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 11:43:37 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 03:29:28 2017 +0000"
      },
      "message": "aaudio: disconnect when onTearDown() called\n\nIt will be called, for example, when switching from speaker to Bluetooth.\n\nBug: 62883778\nTest: run a long app and switch to or from Bluetooth\nChange-Id: Iafb9b52d85c30fee71de46abfb99a27a1daabf59\n"
    },
    {
      "commit": "148fe9db8b4e378d8f2f3fda43f673447035cc37",
      "tree": "e5d88d4f4faef72ea67d37596f28e65bc46fe4f2",
      "parents": [
        "23ed032c134bcfbbf77b4edaf1f0b46ad731310c",
        "69d3d0dfb6660be8c5cc3b99560fac766ef1a2d9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 03:16:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 03:16:50 2017 +0000"
      },
      "message": "Merge \"aaudio: fix resource leak in client tracking\" into oc-dr1-dev am: fef6b3d4fd\nam: 69d3d0dfb6\n\nChange-Id: I705c6b823ae141306a48b29a7e218b865016b865\n"
    },
    {
      "commit": "69d3d0dfb6660be8c5cc3b99560fac766ef1a2d9",
      "tree": "58e1da8b15cb54e535ed4293c820aadd477027a8",
      "parents": [
        "1911951ad3bfa72a8ea38aa8bc80358cd3cef55e",
        "fef6b3d4fdd5dcde27e29990dec6ee226aa7b873"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 03:11:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 03:11:51 2017 +0000"
      },
      "message": "Merge \"aaudio: fix resource leak in client tracking\" into oc-dr1-dev\nam: fef6b3d4fd\n\nChange-Id: I9aa64dc3e76f0858ca898a1be036e38ba5ab810f\n"
    },
    {
      "commit": "fef6b3d4fdd5dcde27e29990dec6ee226aa7b873",
      "tree": "5073ebd53662e6f7d47ffd5402e9a74da74db7b3",
      "parents": [
        "097da17bd5af3689194fa6d7fce3a5a114717c4c",
        "b63320a36e69c52b46cd099e83fe5922070c43a1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 01 03:03:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 01 03:03:58 2017 +0000"
      },
      "message": "Merge \"aaudio: fix resource leak in client tracking\" into oc-dr1-dev"
    },
    {
      "commit": "23ed032c134bcfbbf77b4edaf1f0b46ad731310c",
      "tree": "c944e39fc4689a65b15d2cd95330d4295595a1f0",
      "parents": [
        "7b2ebfe75deb7e29e089ef0d98f06c71244d0dc7",
        "1911951ad3bfa72a8ea38aa8bc80358cd3cef55e"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 02:14:14 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 02:14:14 2017 +0000"
      },
      "message": "Merge \"aaudio: fix mixer volume\" into oc-dr1-dev am: 097da17bd5\nam: 1911951ad3\n\nChange-Id: Ia360ba971e9f353aa9220b0cb5ccd0c9293c31d1\n"
    },
    {
      "commit": "1911951ad3bfa72a8ea38aa8bc80358cd3cef55e",
      "tree": "f16040267db3c8b49be7e4b9c6dbd18140498c6e",
      "parents": [
        "cbaf5e98ee28107874f1b3f2f14b38ea2f33b9df",
        "097da17bd5af3689194fa6d7fce3a5a114717c4c"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jul 01 02:08:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 02:08:47 2017 +0000"
      },
      "message": "Merge \"aaudio: fix mixer volume\" into oc-dr1-dev\nam: 097da17bd5\n\nChange-Id: I32d35f0b0d5ec43950362def009f3e71f18c5cdc\n"
    },
    {
      "commit": "7b2ebfe75deb7e29e089ef0d98f06c71244d0dc7",
      "tree": "5d932fdc6174bb1be4713b14b523c69c173d6e54",
      "parents": [
        "e049eb2dc2b2ccd5f307791fa2534abb8896884e",
        "cbaf5e98ee28107874f1b3f2f14b38ea2f33b9df"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 01 02:08:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 02:08:47 2017 +0000"
      },
      "message": "Merge \"aaudio: modify endpoint sharing logic\" into oc-dr1-dev am: 358ad4257d\nam: cbaf5e98ee\n\nChange-Id: I7334c473d2618e96a8441c6f5a59354c11c4d615\n"
    },
    {
      "commit": "097da17bd5af3689194fa6d7fce3a5a114717c4c",
      "tree": "db39ad095a6e44c3fb1741c16a1bfa4f0226e973",
      "parents": [
        "358ad4257d88f9f0fbf09cc52bbaeb43e5b51e59",
        "968e85e37906545fc85ee42a1e61700d26543a65"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 01 02:03:50 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 01 02:03:50 2017 +0000"
      },
      "message": "Merge \"aaudio: fix mixer volume\" into oc-dr1-dev"
    },
    {
      "commit": "cbaf5e98ee28107874f1b3f2f14b38ea2f33b9df",
      "tree": "fe04eec2ceeddd26dfc497927ca5c671cc012ee4",
      "parents": [
        "f64d1add0be1a9e401fe682bf24fad8e226ef1a4",
        "358ad4257d88f9f0fbf09cc52bbaeb43e5b51e59"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 01 02:03:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 02:03:47 2017 +0000"
      },
      "message": "Merge \"aaudio: modify endpoint sharing logic\" into oc-dr1-dev\nam: 358ad4257d\n\nChange-Id: I08614f5f530106f2d03074bf1a0b3b03cbaafcc0\n"
    },
    {
      "commit": "358ad4257d88f9f0fbf09cc52bbaeb43e5b51e59",
      "tree": "f64ae92575def8b1a6b76840872b7dfbd9831398",
      "parents": [
        "53f4c18b5a894d4fb7eca3946d3666f0c36a5f79",
        "a17ae74e3570a5afa2ece02d2b4090ba7b731bc1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 01 01:59:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 01 01:59:37 2017 +0000"
      },
      "message": "Merge \"aaudio: modify endpoint sharing logic\" into oc-dr1-dev"
    },
    {
      "commit": "e049eb2dc2b2ccd5f307791fa2534abb8896884e",
      "tree": "54dcd4d06b7afc1756e93ab04c9574c1786c4218",
      "parents": [
        "9063fa7966a6d531595d8ada46d7667c569fc308",
        "f64d1add0be1a9e401fe682bf24fad8e226ef1a4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Jul 01 01:21:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 01:21:12 2017 +0000"
      },
      "message": "Merge \"Audio routing: Fix notification routing during A11y playback\" into oc-dr1-dev am: 53f4c18b5a\nam: f64d1add0b\n\nChange-Id: I125d4754063892f23ce470a0f72114e0fa7d8782\n"
    },
    {
      "commit": "f64d1add0be1a9e401fe682bf24fad8e226ef1a4",
      "tree": "139f0088cd7eef0e108c0ee7be752840d0308d3b",
      "parents": [
        "7668940938c2caea8dd80399000b819f147bc2cc",
        "53f4c18b5a894d4fb7eca3946d3666f0c36a5f79"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Jul 01 01:17:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 01 01:17:13 2017 +0000"
      },
      "message": "Merge \"Audio routing: Fix notification routing during A11y playback\" into oc-dr1-dev\nam: 53f4c18b5a\n\nChange-Id: I2bead291c19e5d2a475c6a8cc131b29467605d3f\n"
    },
    {
      "commit": "53f4c18b5a894d4fb7eca3946d3666f0c36a5f79",
      "tree": "4628d2702909029b551fcf32057b19157380e344",
      "parents": [
        "e27d3a435c0f2393f6a53bb6b23569aa04904bd0",
        "94c26c06d8f1c3821cc0c7994e233874f5c8ea84"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 01 01:07:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 01 01:07:39 2017 +0000"
      },
      "message": "Merge \"Audio routing: Fix notification routing during A11y playback\" into oc-dr1-dev"
    },
    {
      "commit": "968e85e37906545fc85ee42a1e61700d26543a65",
      "tree": "70c11063c21a5f40bff0914a524c6f7a41a6848d",
      "parents": [
        "e27d3a435c0f2393f6a53bb6b23569aa04904bd0"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 16:48:15 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 16:48:15 2017 -0700"
      },
      "message": "aaudio: fix mixer volume\n\nBug: 63176151\nTest: play write_sine.cpp in both legacy and MMAP modes\nChange-Id: If5fb61fe959dbc361ff8f95ca3d743e877800163\n"
    },
    {
      "commit": "94c26c06d8f1c3821cc0c7994e233874f5c8ea84",
      "tree": "7fc9ce5c37fe9c0508cc957f7f5419a55f9f2488",
      "parents": [
        "f3ffd1ced8c4709388f8ed5c9a49284f36aa5b97"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 30 14:50:01 2017 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 30 14:50:01 2017 -0700"
      },
      "message": "Audio routing: Fix notification routing during A11y playback\n\nWhen notifications are played, the audio policy checks if media\n  is playing for deciding which devices will play it. In the\n  absence of media, the notification is duplicated on speaker\n  and headset. With media playing, the notification routing\n  is set to that of the media strategy.\nThe bug is observed during A11y playback on headset with a\n  notification playing: A11y is playing on headset, but the\n  device can\u0027t play the notification on speaker + headset at\n  the same time, resulting in the notification playing in and\n  out based on the A11y playback in headset.\nThe fix is to also consider A11y activity when routing\n  notification playback (under STRATEGY_SONIFICATION_RESPECTFUL).\n  This improves the UX the notification is not missed, and\n  doesn\u0027t cut in and out.\n\nTest: play Talkback on headset, receive notification at the same time.\nBug: 62907561\nChange-Id: Ib924ec41cb7e16d6f2686d8615facba08e256ade\n"
    },
    {
      "commit": "a17ae74e3570a5afa2ece02d2b4090ba7b731bc1",
      "tree": "7ec7ff27aa0b456fe7d679b4cd81361b603697e2",
      "parents": [
        "e27d3a435c0f2393f6a53bb6b23569aa04904bd0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 29 15:43:55 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 30 20:38:34 2017 +0000"
      },
      "message": "aaudio: modify endpoint sharing logic\n\nA new Client stream in shared mode can share an existing endpoint\nif it has no preferences or compatible device, sample rate and channel\ncount requests.\n\nBug: 62961537\nTest: play and capture with AAudio in mmap mode\nChange-Id: I38536fb486dfc06f4399f7d02248384583fd3a17\n"
    },
    {
      "commit": "b63320a36e69c52b46cd099e83fe5922070c43a1",
      "tree": "51dd78b8a7e99d34eec00ee11344a073a866e39f",
      "parents": [
        "e27d3a435c0f2393f6a53bb6b23569aa04904bd0"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 10:28:20 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 10:28:20 2017 -0700"
      },
      "message": "aaudio: fix resource leak in client tracking\n\nWas using the wrong pid.\n\nBug: 38267698\nTest: run an aaudio example like write_sine.cpp and control-C in the middle\nChange-Id: I8819fcdd78354554b926d8b8a59efa1a81fed110\n"
    },
    {
      "commit": "cd6d380e4f526476a11adface7680b3981c6a7d7",
      "tree": "1f7b5128348d63e775519a52e5fe0133cddbc4e4",
      "parents": [
        "06909d621d3755180693ea2539c6883fa2c6d727",
        "7668940938c2caea8dd80399000b819f147bc2cc"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 06:59:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 30 06:59:06 2017 +0000"
      },
      "message": "Merge \"aaudio: close MMAP stream if client dies\" into oc-dr1-dev am: e27d3a435c\nam: 7668940938\n\nChange-Id: I447b8dcd864ed9517e4ca61bc341eee2a24c2707\n"
    },
    {
      "commit": "7668940938c2caea8dd80399000b819f147bc2cc",
      "tree": "6d0d266148ade0e2e16673949e3c78909582f7f8",
      "parents": [
        "88b7a5160dbb489e8a422ba03718b602301d962e",
        "e27d3a435c0f2393f6a53bb6b23569aa04904bd0"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jun 30 06:54:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 30 06:54:37 2017 +0000"
      },
      "message": "Merge \"aaudio: close MMAP stream if client dies\" into oc-dr1-dev\nam: e27d3a435c\n\nChange-Id: Icd7459e3fc5f3d18b0b6a30e43514cc07bdee32e\n"
    },
    {
      "commit": "e27d3a435c0f2393f6a53bb6b23569aa04904bd0",
      "tree": "6c169e9e72410c14ee2a15adf80c95c7c0a89da1",
      "parents": [
        "d3d419feb18c6236655763123105b249ae640f9a",
        "11e8d335b1da528ee771b19b63df23ae6fd52f41"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 30 06:49:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 30 06:49:24 2017 +0000"
      },
      "message": "Merge \"aaudio: close MMAP stream if client dies\" into oc-dr1-dev"
    },
    {
      "commit": "11e8d335b1da528ee771b19b63df23ae6fd52f41",
      "tree": "b5679b54a7acfbdf455c95355da8c0b9a4dbc51c",
      "parents": [
        "1fa57e8d3149703e794997edffa4e03bfb0a6887"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed May 24 09:59:02 2017 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jun 29 21:40:21 2017 -0700"
      },
      "message": "aaudio: close MMAP stream if client dies\n\nNotify client when audio service dies. Clear connection.\nNotify AAudio service when client dies. Close client streams.\n\nUse sp\u003c\u003e to track ServiceStreams.\n\nBug: 38267698\nTest: test_no_close.cpp\nChange-Id: I5f1699ed3b8b7bd960947c0028a89ca8419ce7a0\n"
    },
    {
      "commit": "06909d621d3755180693ea2539c6883fa2c6d727",
      "tree": "dab182219ff721e2edc220604094d80767356710",
      "parents": [
        "139de794544d60cc57c373e49129151f6e445c23",
        "88b7a5160dbb489e8a422ba03718b602301d962e"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jun 30 02:01:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 30 02:01:17 2017 +0000"
      },
      "message": "Merge \"Camera: adjust inflight list warning threshold\" into oc-dr1-dev am: d3d419feb1\nam: 88b7a5160d\n\nChange-Id: I027fe5ffc103939c4fcb3132f029acee85d28055\n"
    },
    {
      "commit": "88b7a5160dbb489e8a422ba03718b602301d962e",
      "tree": "b6ecfeed3342a75a905298f60163a194a238bdd5",
      "parents": [
        "ea0a0fb6d9b8fb7d084399b58d5ac838b87b6057",
        "d3d419feb18c6236655763123105b249ae640f9a"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jun 30 01:57:20 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 30 01:57:20 2017 +0000"
      },
      "message": "Merge \"Camera: adjust inflight list warning threshold\" into oc-dr1-dev\nam: d3d419feb1\n\nChange-Id: I77be1ace63c71f85f5be2355c28be143ebc2b1e7\n"
    },
    {
      "commit": "d3d419feb18c6236655763123105b249ae640f9a",
      "tree": "bd6573f2902d74ab04f46b5600d4218cf5a0874d",
      "parents": [
        "1fa57e8d3149703e794997edffa4e03bfb0a6887",
        "90c0fdff4ce81b41c51a255b7e0099ec3335c294"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jun 30 01:51:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 30 01:51:47 2017 +0000"
      },
      "message": "Merge \"Camera: adjust inflight list warning threshold\" into oc-dr1-dev"
    }
  ],
  "next": "139de794544d60cc57c373e49129151f6e445c23"
}
