)]}'
{
  "log": [
    {
      "commit": "c6fe9c424669d640d8bbe0fc7e130a34bab0b4bd",
      "tree": "d821b66cd687346e0d15f6707f8f546c64ccca68",
      "parents": [
        "a987db923b070148ebd42cb4a502f05702630d33",
        "bbb382312e7c8b78dc007ab6ed3020b69346dae4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 23 23:14:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 23:14:39 2019 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Move libmediahelper into a new folder.\"\"\""
    },
    {
      "commit": "bbb382312e7c8b78dc007ab6ed3020b69346dae4",
      "tree": "e6ab4705e0b5e4afe880a178f3b44259e5ab9442",
      "parents": [
        "a0877dc731067dd95635b2be3e893f1fe60bf3a1"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Oct 23 21:02:41 2019 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Oct 23 21:02:41 2019 +0000"
      },
      "message": "Revert \"Revert \"Move libmediahelper into a new folder.\"\"\n\nThis reverts commit a0877dc731067dd95635b2be3e893f1fe60bf3a1.\n\nReason for revert: Should work with go/pag/1465463 merging to master.\n\nChange-Id: I17217744eacabf15621d4a5aac9dd1678e37e4ba\n"
    },
    {
      "commit": "81916e150800304153d82b98344dad09d680997a",
      "tree": "7213b3a5b37b46e634850c02a47a6bffef789b2b",
      "parents": [
        "160cb9bef515f0554569b3f7901332b93c5b97f5",
        "63e2c52d1430eb180d3f9c99e7ac8459d3580e90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 23 19:32:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 19:32:05 2019 +0000"
      },
      "message": "Merge \"Move LinearMap from libmedia to audio_utils.\""
    },
    {
      "commit": "9d156bc0946afb725393e263aebf5bf1d1646d9d",
      "tree": "1978749f34abcdf880e0b381b62c90f52da8b1ca",
      "parents": [
        "0562c91f1546865a115e9cfb029b1bf39bdb3879",
        "a0877dc731067dd95635b2be3e893f1fe60bf3a1"
      ],
      "author": {
        "name": "Mohammad Samiul Islam",
        "email": "samiul@google.com",
        "time": "Wed Oct 23 16:24:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 16:24:21 2019 +0000"
      },
      "message": "Merge \"Revert \"Move libmediahelper into a new folder.\"\""
    },
    {
      "commit": "a0877dc731067dd95635b2be3e893f1fe60bf3a1",
      "tree": "eceafbd995bb43bfcd277bcd421df42e099cbc6e",
      "parents": [
        "c8888660b53647ef1a9608493ab1a5dc93ba9b0d"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Oct 23 16:05:56 2019 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Oct 23 16:05:56 2019 +0000"
      },
      "message": "Revert \"Move libmediahelper into a new folder.\"\n\nThis reverts commit c8888660b53647ef1a9608493ab1a5dc93ba9b0d.\n\nReason for revert: Broke elfin build\n\nChange-Id: Idfd67b064b28abf32da332149bdce212249345d8\n"
    },
    {
      "commit": "0562c91f1546865a115e9cfb029b1bf39bdb3879",
      "tree": "6a539308b8058e20657e13516cb6d3e5223e0561",
      "parents": [
        "199445d17d37f1e820efb7ae309bee1545288a3c",
        "e9f6c3d54ca462eec3c20df38685b6b9bb920ca1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 23 14:48:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 14:48:14 2019 +0000"
      },
      "message": "Merge \"Move MediaDeviceInfo to libamidi, its only user\""
    },
    {
      "commit": "c8888660b53647ef1a9608493ab1a5dc93ba9b0d",
      "tree": "e6ab4705e0b5e4afe880a178f3b44259e5ab9442",
      "parents": [
        "f6581aaac9469864be4bd915bca0c1ae9f37d55d"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Oct 18 15:49:48 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Oct 22 17:20:54 2019 -0700"
      },
      "message": "Move libmediahelper into a new folder.\n\nThis change mainly aims at refactoring libmediahelper. Libmediahelper\ndoesn\u0027t need to be stored in media folder. In that case, move\nlibmediahelper related file to a new folder. In the meantime, move\nAudioParameter.h from libaudioclient to libmediahelper. There is no\nneed to keep AudioParameter.h in libaudioclient while AudioParameter.cpp\nis in libmediahelper.\n\nTest: make\nBug: 135621476\nChange-Id: Icce6615b7e3a68be8b7492f2a91922ab04464ca2\n"
    },
    {
      "commit": "63e2c52d1430eb180d3f9c99e7ac8459d3580e90",
      "tree": "bf6684e2cb0741509cf1e2a06569bcb65c8f48df",
      "parents": [
        "f6581aaac9469864be4bd915bca0c1ae9f37d55d"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Oct 22 16:48:20 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Oct 22 17:10:30 2019 -0700"
      },
      "message": "Move LinearMap from libmedia to audio_utils.\n\nLinearMap It is only used in AudioFlinger to associate track frames\nto sink frames. It is not related to media stuff. In that case, move\nit to audio_utils.\n\nTest: make\nChange-Id: I947e1cb61bd6e66d5fd53b4f7d0a8e1c5876cbf4\n"
    },
    {
      "commit": "e9f6c3d54ca462eec3c20df38685b6b9bb920ca1",
      "tree": "0d79af25c6e3ff2f861805b8d8c872edfe5f4ea1",
      "parents": [
        "e2d53408222d3b06462073b9447529c781be6419"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 22 13:42:38 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 22 13:42:38 2019 -0700"
      },
      "message": "Move MediaDeviceInfo to libamidi, its only user\n\nTest: build\nChange-Id: Iaa3d0bff7e03cb122f525f9cf986f6e17e7978ea\n"
    },
    {
      "commit": "181e6950a1ce5b9705c47c4b4e288d978cb7283a",
      "tree": "b92dc19041aec4465161b112f45185cd4598c09a",
      "parents": [
        "318b26e722112462f93df797bf47ca3dabc80048"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 09 13:23:39 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 18 14:55:23 2019 -0700"
      },
      "message": "Convert IResourceManagerService to stable AIDL\n\nConvert with minimal change to the interface itself.\n\nAdd additional test to cover DrmSessionManager\u0027s usage\nof possible negative value field (which is signed now).\n\nbug: 142396029\ntest: ResourceManagerService_test, DrmSessionManager_test,\nCTS ResourceManagerServiceTest;\nManually check battery stats reporting.\n\nChange-Id: I5c537a54efc2663281c96ddbdbd4ee56f23c1adf\n"
    },
    {
      "commit": "71124db6de8b9839f71fe60830524c52b7c4b645",
      "tree": "bee3c1bb702f3d4bfe53a34cda7d6058ca99a7b2",
      "parents": [
        "05350c4d1acfa9fb348e3a99f083553a642975b5",
        "a33446ada9ae8d05e64580e900421f03a58b96f8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 17 21:32:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 17 21:32:28 2019 +0000"
      },
      "message": "Merge \"Move JetPlayer to JNI\""
    },
    {
      "commit": "a33446ada9ae8d05e64580e900421f03a58b96f8",
      "tree": "2d54b5a4122945e2a7ea6987e841e3343edef50b",
      "parents": [
        "2c0e663dae993c142aad388a6f7a71ebf78c7616"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 17 08:54:12 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 17 10:32:11 2019 -0700"
      },
      "message": "Move JetPlayer to JNI\n\nJetPlayer.cpp was only used by the JetPlayer JNI code, so move\nit to the same library.\n\nTest: atest JetPlayerTest\nChange-Id: I14b8241c5eb6c789ebc5d6725db716b9b0f8f31f\n"
    },
    {
      "commit": "5b9f07a21bfa0d8f3e44a6e64d877c944bb4429f",
      "tree": "fcdda2273ad84f8f20e3e8e0f48897341e6a04df",
      "parents": [
        "935876110cb820240fcc7ad4a3ada0c1e8cb18e3",
        "c3af31b8f1a7bac5d3e3c953702c8faec3cd55e3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 16 23:29:23 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 16 23:29:23 2019 +0000"
      },
      "message": "Merge \"Implement DrmSessionManager w mediaresourcemanager\""
    },
    {
      "commit": "b9c62a552a4ed4374e19cb9a60ff6bc41b258f5c",
      "tree": "d2635e1b051fa2961eccebed00774b633de800b7",
      "parents": [
        "2c0e663dae993c142aad388a6f7a71ebf78c7616",
        "e85ce19dea0a5d6ff132cffe672058932eaa77c7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 16 08:49:53 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 16 08:49:53 2019 -0700"
      },
      "message": "Merge \"Remove unnecessary inheritance\" am: e2a67de73c am: 91a62afc5b am: 32411334fb\nam: e85ce19dea\n\nChange-Id: I548a2b79216c7614c702598ac5d01822e9c0bd4c\n"
    },
    {
      "commit": "e85ce19dea0a5d6ff132cffe672058932eaa77c7",
      "tree": "1a425130809f38631fe23dbb88d320a8ecaae7ac",
      "parents": [
        "ecd8336f9ccbf4339b3527680d7f32d48cb15872",
        "32411334fbddf6e4200a18c0e4d3faa3bd14d4dd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 16 08:43:18 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 16 08:43:18 2019 -0700"
      },
      "message": "Merge \"Remove unnecessary inheritance\" am: e2a67de73c am: 91a62afc5b\nam: 32411334fb\n\nChange-Id: Id2fef379c97ecb2b0745031896bac7d9a157d379\n"
    },
    {
      "commit": "91a62afc5bc14dc6496670eb75854514e4e3f835",
      "tree": "218ac7c77cafafb891ca003bd3175c9d895b6459",
      "parents": [
        "8b470dc95691b5a5c3442629a348b44a59886792",
        "e2a67de73c5fce9c809b4012ec81cd274ebbd91e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 16 08:27:00 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 16 08:27:00 2019 -0700"
      },
      "message": "Merge \"Remove unnecessary inheritance\"\nam: e2a67de73c\n\nChange-Id: I0625bd1416d77bb8bebcafea8b33fe8cbd72054b\n"
    },
    {
      "commit": "e2a67de73c5fce9c809b4012ec81cd274ebbd91e",
      "tree": "498b495091cea92153411fdd280e26f4b8df1689",
      "parents": [
        "1f72838954cb3689fb58eef6276553d9a45ff0a8",
        "95b2cf6dc4fe2a2bbea3dbed123ad95a65798cfe"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 16 14:39:04 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 16 14:39:04 2019 +0000"
      },
      "message": "Merge \"Remove unnecessary inheritance\""
    },
    {
      "commit": "ecd8336f9ccbf4339b3527680d7f32d48cb15872",
      "tree": "c520c4eb6b137daeaa9c1454c63f6a034ce496e8",
      "parents": [
        "aa9c382be3bc801731cd4b39231b360d3e3388d8",
        "81d1403fb3afe153b47cde2d0b528fb4858113f5"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 15 11:45:42 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 15 11:45:42 2019 -0700"
      },
      "message": "Merge \"libmedia: separate codeclist from libmedia\" am: 1f72838954 am: 8b470dc956\nam: 81d1403fb3\n\nChange-Id: I1586c4149d5f3822fdb991180c831cf25595bbe6\n"
    },
    {
      "commit": "95b2cf6dc4fe2a2bbea3dbed123ad95a65798cfe",
      "tree": "5cf1ded7f41e8822948cdc7b1bad132e7cfcd3c5",
      "parents": [
        "bb3c777e401d10f379835243bfcb2e6b6c678504"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 15 11:02:10 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 15 11:02:10 2019 -0700"
      },
      "message": "Remove unnecessary inheritance\n\nMidiIoWrapper\u0027s DataSourceUnwrapper doesn\u0027t need to inherit from\nDataSourceBase, and removing that inheritance saves a little bit\nof space too.\n\nTest: build\nChange-Id: I9f560ef57b76b624cf323d75872395a39f65ed1f\n"
    },
    {
      "commit": "8b470dc95691b5a5c3442629a348b44a59886792",
      "tree": "fc58976e0cda56aba734b3222bf6f14a8a6a0624",
      "parents": [
        "07bd8e774093b73e225562bbd5095a1732246477",
        "1f72838954cb3689fb58eef6276553d9a45ff0a8"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 15 10:30:20 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 15 10:30:20 2019 -0700"
      },
      "message": "Merge \"libmedia: separate codeclist from libmedia\"\nam: 1f72838954\n\nChange-Id: I7ceb439ed034386635399982392b6b842e08c105\n"
    },
    {
      "commit": "a42a62d8633fa6fcabc8129a2c798da860630821",
      "tree": "77e009a25a0a222aba1cabdc276b5bc9da549d04",
      "parents": [
        "342d7bcf44b3edcce763f0417ad0a13b11bde285"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Sep 23 17:48:14 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Oct 11 21:40:26 2019 -0700"
      },
      "message": "libmedia: separate codeclist from libmedia\n\nTest: build.\nBug: 139201422\nChange-Id: I150c3bd04cc68a3b96a8762ba193fc1595ee6da3\nMerged-In: I150c3bd04cc68a3b96a8762ba193fc1595ee6da3\n"
    },
    {
      "commit": "c3af31b8f1a7bac5d3e3c953702c8faec3cd55e3",
      "tree": "30533ca112d60914f2c23acda83394275b97ea25",
      "parents": [
        "32706253ce90531c94b5f2af7caacb443eb09d8c"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Sep 20 21:45:01 2019 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Oct 04 22:05:40 2019 -0700"
      },
      "message": "Implement DrmSessionManager w mediaresourcemanager\n\nBug: 134787536\nTest: DrmSessionManagerTest\nTest: DrmSessionManager_test\nTest: ResourceManagerService_test\nChange-Id: Iab9f4f681c83f46b043cefc8633bb3e513a8e75a\n"
    },
    {
      "commit": "a5363d900b5ca694b42b873d9d39e293d115f350",
      "tree": "496f2f8437492f8228eee07a13952c1adaf61080",
      "parents": [
        "28452eda70061041543aaf2e501982c467aa103e",
        "39f327e0eea471b3669c5197a24f64dbfb0f8e90"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 17:37:33 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 04 17:37:33 2019 -0700"
      },
      "message": "Merge \"Remove more remnants of MediaPlayer2\" am: 0cbbcc6f02 am: f418196d42\nam: 39f327e0ee\n\nChange-Id: I55e2e09c1381548470c52e7f89c28db70f5709aa\n"
    },
    {
      "commit": "f418196d42cd33571718a2a7bd7390da5cc85684",
      "tree": "b6ffc11f3c097c206906ad2d2410c550a07dfcbe",
      "parents": [
        "8f56bd1ef1be2156141aa6dbcbaf18751ad24bcb",
        "0cbbcc6f02226837749a40962f6f36a51bb571d8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 17:23:44 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 04 17:23:44 2019 -0700"
      },
      "message": "Merge \"Remove more remnants of MediaPlayer2\"\nam: 0cbbcc6f02\n\nChange-Id: I1b7aa2d94c1ea863a003443ef01d5712013b40e6\n"
    },
    {
      "commit": "71031a89896be183f74a9747c91f7a764c3dfb65",
      "tree": "8fa33aeeda6d151228fb575e79e7778608aa61b9",
      "parents": [
        "52a42dde3627544fabc6691afcc67df73ed6b5e7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 10:54:35 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 12:57:25 2019 -0700"
      },
      "message": "Remove more remnants of MediaPlayer2\n\nBug: 141546997\nTest: build\n\nChange-Id: Iaa4d9e4205f78d4b4d465b4f128a28a419ff603b\nMerged-In: Iaa4d9e4205f78d4b4d465b4f128a28a419ff603b\n"
    },
    {
      "commit": "273fd3699237ab002d2e0f9f03dbc2ae8c3a3ae8",
      "tree": "cfeffeb747b3e99dfba76fd76051a522a555b50c",
      "parents": [
        "fb1fb155f9ec3a05ffa9e49f9415b565dcf8c163"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 10:54:35 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 11:45:43 2019 -0700"
      },
      "message": "Remove more remnants of MediaPlayer2\n\nBug: 141546997\nTest: build\n\nChange-Id: Iaa4d9e4205f78d4b4d465b4f128a28a419ff603b\n"
    },
    {
      "commit": "a8a70b42254125ea3987d8deafbbedad36743186",
      "tree": "ea833c0e3c1088117b6626ff5d5473394251effb",
      "parents": [
        "18ea000d7f15726e4c11c4a9e7e59e8a18a9c227",
        "4f0a23d0dc08aa553389f17ab7e3f89fc6125496"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 13:25:05 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 03 13:25:05 2019 -0700"
      },
      "message": "Merge \"Remove libmediadrm symlinks\"\nam: 4f0a23d0dc\n\nChange-Id: Id2a5c304d8b8397afe933f2ddca97d2879385494\n"
    },
    {
      "commit": "b3e4cbb217ffaefa898170c1136becfa0ff7a137",
      "tree": "77af9d60c435d007c64c08c356e1b4e9daec6371",
      "parents": [
        "a37cdc92bef77ccc6315dc8617011d6385156b4a",
        "53cf28d34130ceb0663b41c9ce37d3176fc9517b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 03 13:17:27 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 03 13:17:27 2019 -0700"
      },
      "message": "Merge changes from topic \"rename-stream-connect\" am: ad71d42389 am: 18ea000d7f\nam: 53cf28d341\n\nChange-Id: I631bbb92aefcc436be462a19881a1fb385e608ac\n"
    },
    {
      "commit": "53cf28d34130ceb0663b41c9ce37d3176fc9517b",
      "tree": "37a099c1cef7e31eede53e7af41c8e3c5f6f1b9c",
      "parents": [
        "39b4d74ca62c7760f93f9f410dcf3816b39e0f7f",
        "18ea000d7f15726e4c11c4a9e7e59e8a18a9c227"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 03 13:10:09 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 03 13:10:09 2019 -0700"
      },
      "message": "Merge changes from topic \"rename-stream-connect\" am: ad71d42389\nam: 18ea000d7f\n\nChange-Id: I6cd3f4f2ec6ceb4c586800e3b77273a534f10d4a\n"
    },
    {
      "commit": "4f0a23d0dc08aa553389f17ab7e3f89fc6125496",
      "tree": "2861f8e2557372d061486e9478248b85387d8c11",
      "parents": [
        "ad71d4238911260f0a9733b799420534ec095064",
        "55b259cf5ec16df77b52206e8209f5df2fc214c5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 20:03:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 03 20:03:44 2019 +0000"
      },
      "message": "Merge \"Remove libmediadrm symlinks\""
    },
    {
      "commit": "18ea000d7f15726e4c11c4a9e7e59e8a18a9c227",
      "tree": "8f5cc01f7d72b904c14e41a81ed69c3851a2aa59",
      "parents": [
        "31d882eab0161de1d237fb893e7ef17ecbad0f43",
        "ad71d4238911260f0a9733b799420534ec095064"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Oct 03 12:56:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 03 12:56:59 2019 -0700"
      },
      "message": "Merge changes from topic \"rename-stream-connect\"\nam: ad71d42389\n\nChange-Id: I4d651926031dc0342ba77db97669416a86c7fe62\n"
    },
    {
      "commit": "138b0a3840db6207654d8a9b3d88a383b100b9b0",
      "tree": "4109899967f1de3c9fd2a120172bbedd54495a89",
      "parents": [
        "bb3b160486da21dab7611de44c85ad85e73e69c9"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 05 11:11:38 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Oct 03 09:46:29 2019 -0700"
      },
      "message": "Restore stream [dis]connect parameters in deprecated state\n\nSince AudioParameter.h is vendor-available, some vendors may\nstill use the old parameters. Leave the old parameters there\nbut mark as deprecated.\n\nBug: 138868195\nTest: make\nChange-Id: I6d12b7ac360309014a240a321c3cd32b39d8f740\nMerged-In: I6d12b7ac360309014a240a321c3cd32b39d8f740\n"
    },
    {
      "commit": "bb3b160486da21dab7611de44c85ad85e73e69c9",
      "tree": "266b8068d8e1714bb4b4100d2e31c0a95cc9e16c",
      "parents": [
        "3e9dd76e813cf04c9dd35a8c2e813c174e5b435e"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 08 15:28:43 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Oct 02 16:31:34 2019 -0700"
      },
      "message": "Fix the name of the constant for device [dis]connect parameter\n\nDuring the transition to Treble, \"device connect\" / \"disconnect\"\nparameter was erroneously attributed to audio streams. This\nissue got fixed in Audio HAL V4.0, but AudioParameter file\nwas still using incorrect name for the constant.\n\nTest: make\nChange-Id: I4056ad9e98af6dadd017d22bc4bde031cac75631\nMerged-In: I4056ad9e98af6dadd017d22bc4bde031cac75631\n"
    },
    {
      "commit": "99a2c4a2c49f5d32d9ba79585890b5fa7ed52f2a",
      "tree": "c4b3ad327d441c728334593b733c29c39e826d6e",
      "parents": [
        "8eb9e24ea239a05c767ac15f5d25d5b6c56aa8be",
        "b4e0c3b19f11e972c9b789550c4e321cf26fa1c8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 02 14:59:40 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 02 14:59:40 2019 -0700"
      },
      "message": "Remove libmediadrm symlinks\nam: b4e0c3b19f\n\nChange-Id: Ib2ecb92e4a07385f201b884f15b8143c9c4c2c02\n"
    },
    {
      "commit": "b4e0c3b19f11e972c9b789550c4e321cf26fa1c8",
      "tree": "0b8ca8cb36cba24e658232e5fa0b286d75318995",
      "parents": [
        "bcc132d8e562375f7830839caf84307f523f623d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 10:21:55 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 02 19:54:39 2019 +0000"
      },
      "message": "Remove libmediadrm symlinks\n\nTest: build\nChange-Id: I53d703b6d34226926437b0207a2b3d51dff6881a\nMerged-In: I53d703b6d34226926437b0207a2b3d51dff6881a\n"
    },
    {
      "commit": "55b259cf5ec16df77b52206e8209f5df2fc214c5",
      "tree": "29989150d2cfb026f11ec5d43edb8116442e7311",
      "parents": [
        "87025d5658d1a3d78c1a634035f7126f0ba8a4f1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 10:21:55 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 01 13:43:37 2019 -0700"
      },
      "message": "Remove libmediadrm symlinks\n\nTest: build\nChange-Id: I53d703b6d34226926437b0207a2b3d51dff6881a\nMerged-In: I53d703b6d34226926437b0207a2b3d51dff6881a\n"
    },
    {
      "commit": "13aa1a4b6630a05fc3e48824b911009ecbb33284",
      "tree": "506fa3026d84685c2621157b9b668155c31ae0ec",
      "parents": [
        "e3cdab3c40cb71284a0e186d7d5a82257e7d34a1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 10:21:55 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 30 14:04:37 2019 -0700"
      },
      "message": "Remove libmediadrm symlinks\n\nTest: build\nChange-Id: I53d703b6d34226926437b0207a2b3d51dff6881a\n"
    },
    {
      "commit": "df7b3d017a5e00afb76e2dfd7bbf9137db6da1d2",
      "tree": "b1bec0e282b0bed7e09c357756f1e34d8196fcee",
      "parents": [
        "29e02d0730993327cc4484dcf023439018347595",
        "23a180b0c2dfd317d55c1abe632aa81461a8856a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 27 23:49:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 27 23:49:05 2019 +0000"
      },
      "message": "Merge \"libmedia: separate codeclist from libmedia\""
    },
    {
      "commit": "21bbf7d12f74ada28f5b73f3a5bded613df8c609",
      "tree": "49d9e063daf683dc44aadd75efb2a3f9aa637af4",
      "parents": [
        "1167ff999c6a7451e7a328242b3148947cc918ee",
        "0360e714b86ceb1764f888389780d8bee7eec700"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 15:20:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 27 15:20:59 2019 -0700"
      },
      "message": "Merge \"Remove symlinks from include dir\" am: 5158f491c6 am: 5582a7360a\nam: 0360e714b8\n\nChange-Id: I74d8495c913ad46396294390b49e9828653fab99\n"
    },
    {
      "commit": "5582a7360a60dc6795548d075bc721f9362a2cef",
      "tree": "520a28ca674d923664a74cf133621cb8b25fa519",
      "parents": [
        "ed69d3854047000f08c93fb1ebb8bcd88fce391e",
        "5158f491c60074b061b00d7018b6b889d664112e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 15:07:39 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 27 15:07:39 2019 -0700"
      },
      "message": "Merge \"Remove symlinks from include dir\"\nam: 5158f491c6\n\nChange-Id: Ie3ae92d62d787d740a5c856e58ccc819705b2d0e\n"
    },
    {
      "commit": "3230ed8235a39adef82d7c3873e6a87007799ff8",
      "tree": "158042769963aa698a8fbd240d2abfc352220c3d",
      "parents": [
        "6dc75fb0cde69661a1d2d915c1520b251ebdfbbb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 26 11:20:54 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 12:12:46 2019 -0700"
      },
      "message": "Remove symlinks from include dir\n\nTest: build\n\nChange-Id: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\nMerged-In: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\n"
    },
    {
      "commit": "cf90b4931734e42c6092318991f213b76d7e849e",
      "tree": "3c0c685cb75bbdc37172d24113f6c0dbcbf3dfb4",
      "parents": [
        "d2dc18b063c548d9646dd1127fea97ccebdba079"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 26 11:20:54 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 09:02:30 2019 -0700"
      },
      "message": "Remove symlinks from include dir\n\nTest: build\n\nChange-Id: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\n"
    },
    {
      "commit": "23a180b0c2dfd317d55c1abe632aa81461a8856a",
      "tree": "c6547ba9a18fdbf766b6d8a753216489677e6728",
      "parents": [
        "3b93ca583af5296df1b4d45e4d16b5fba82205d2"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Sep 23 17:48:14 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Sep 26 15:50:30 2019 -0700"
      },
      "message": "libmedia: separate codeclist from libmedia\n\nTest: build.\nBug: 139201422\nChange-Id: I150c3bd04cc68a3b96a8762ba193fc1595ee6da3\n"
    },
    {
      "commit": "97a2155ba68cba98b13237b0978e3dbd085a2aee",
      "tree": "f58c68f6faf271fe252dd6180b11fd44475baf06",
      "parents": [
        "071c3c8736f7be0800fc3a0293335b15fe6945f3"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Aug 28 11:22:33 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Sep 23 13:39:12 2019 -0700"
      },
      "message": "Remove libbinder dependency from libcodec2_vndk and libstagefright_foundation\n\n- libstagefright_foundation: excluding Parcel related methods when building for vendor.\n- libmedia_omx: moving MediaCodecList to libmedia.\n\nTest: build.\nBug: 139201422\nChange-Id: Ieb731a8112b1f3bdc6862059671e8a9dd31d88e1\n"
    },
    {
      "commit": "ac59793e6340da3a816fe2098278b5aee3af0c8c",
      "tree": "252e7363d23a9691bc92f1ee3ceeae0ccefb93c5",
      "parents": [
        "4778b6ec3fc33b8fe9c23f377fcdc5def2ad398f",
        "02df02ddce77dbc7871723bc25dbb72242976ed9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 17 10:13:42 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 17 10:13:42 2019 -0700"
      },
      "message": "Merge \"Use bionic platform headers.\" am: 05277b626b am: 18f9e77cff\nam: 02df02ddce\n\nChange-Id: I1d8ebec06d4365a205db613bf82e7eafd911fc24\n"
    },
    {
      "commit": "18f9e77cffc29694996520997974bf6d458cb955",
      "tree": "c7a29dc0eb78655b5e880181c83a72c5cb204967",
      "parents": [
        "3ff496a7bc08fa11a1fa7518d6914f799293ff5b",
        "05277b626bc1fee1b63576b871e0e2c6fa478de6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 17 09:50:30 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 17 09:50:30 2019 -0700"
      },
      "message": "Merge \"Use bionic platform headers.\"\nam: 05277b626b\n\nChange-Id: Ic09207e2b9aa625d44c2094a6abcb569c3abdfed\n"
    },
    {
      "commit": "51eb2f447a3239ef818975bd4d594889a8cb502e",
      "tree": "7b56d77bd39bcbb6ebfc51a36421a02ce337c13b",
      "parents": [
        "34438bed76b81d20a401ae6094e46077d83b9850",
        "7dd39723b34c8378fc5eabb4d4ccacf32f55ffe2"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Tue Sep 17 15:05:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 15:05:44 2019 +0000"
      },
      "message": "Merge \"Improve visibility of IMemory security risks\""
    },
    {
      "commit": "9d2e008603bfe9dd46098dd4e58ad551078b9d8e",
      "tree": "b0b68436882064d04591dd55f7963f2ea00cceab",
      "parents": [
        "47f98f62a9db5b3650df14184963b5b299bb4e3a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 11 19:08:13 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Sep 16 12:34:43 2019 -0700"
      },
      "message": "Use bionic platform headers.\n\nBug: 130763340\n\nTest: Builds.\nChange-Id: I8cabd441431cd357bf2842bb40809db5a3ad171e\nMerged-In: I8cabd441431cd357bf2842bb40809db5a3ad171e\n(cherry picked from commit 7a3180d3c87bc91561e0a61ff5bc662ea6a1e627)\n"
    },
    {
      "commit": "7dd39723b34c8378fc5eabb4d4ccacf32f55ffe2",
      "tree": "222de47bcb84931d714d250fe51d3249771edc18",
      "parents": [
        "61d4a093f4b4041b145fbd7a3ab5ec04679f87d9"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Sep 05 15:14:30 2019 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 13 10:59:51 2019 -0700"
      },
      "message": "Improve visibility of IMemory security risks\n\nThis change renames the IMemory raw pointer accessors to\nunsecure*() to make it apparent to coders and code reviewers\nthat the returned buffer may potentially be shared with\nuntrusted processes, who may, after the fact, attempt to\nread and/or modify the contents. This may lead to hard to\nfind security bugs and hopefully the rename makes it harder\nto forget.\n\nThe change also attempts to fix all the callsites to make\neverything build correctly, but in the processes, wherever the\ncallsite code was not obviously secure, I added a TODO requesting\nthe owners to either document why it\u0027s secure or to change the\ncode. Apologies in advance to the owners if there are some false\npositives here - I don\u0027t have enough context to reason about all\nthe different callsites.\n\nTest: Completely syntactic change. Made sure code still builds.\nChange-Id: I5fb99aa797c488406083178a6b05355d98710d3b\n"
    },
    {
      "commit": "7a3180d3c87bc91561e0a61ff5bc662ea6a1e627",
      "tree": "045f5594e9197d9f7515407c47bbcb566065aa9d",
      "parents": [
        "b646c8721fc60df3abe7a49c726a1f2ac223a3e6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 11 19:08:13 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 11 19:08:13 2019 -0700"
      },
      "message": "Use bionic platform headers.\n\nBug: 130763340\n\nTest: Builds.\nChange-Id: I8cabd441431cd357bf2842bb40809db5a3ad171e\n"
    },
    {
      "commit": "fdb43e49e9b43df47c8d9afb86f7e4ab83f8702b",
      "tree": "124853b510e9586e006aca7aea9dd2291f6265ea",
      "parents": [
        "ee14f8236132fc05a1236e0c54aaf9af91b38b56",
        "cfaf477e54f6c9d58b079f73507a5dfbeb773faa"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 11 20:31:33 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 20:31:33 2019 +0000"
      },
      "message": "Merge \"Merge qt-r1-dev-plus-aosp-without-vendor (5817612) into stage-aosp-master\" into stage-aosp-master"
    },
    {
      "commit": "78cb7123b23c197b296d40b2ffb886bde97ddfc4",
      "tree": "db2db564be30a32fd02232f7bc856b53621eed8f",
      "parents": [
        "a4be0c37e92faf1579b05077d7e3cbef8b93db78",
        "8c7465931249ed0ffea7de99f2d736ce0bc607dc"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 14:51:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 09 14:51:59 2019 -0700"
      },
      "message": "Merge \"Remove libhwbinder/libhidltransport deps\" am: 6cffe44e0f am: b7d2632c22 am: 2dc8ae5642\nam: 8c74659312\n\nChange-Id: I3ce106ae89de98eb9c438ccc30067a07b44da581\n"
    },
    {
      "commit": "8c7465931249ed0ffea7de99f2d736ce0bc607dc",
      "tree": "fa18665065517131b1275581b6bae15fee3de385",
      "parents": [
        "d4730c8745e1f6f5567afbe3b8a351d5f8819f40",
        "2dc8ae5642ff2e4d92a5f141189f73082d0a9478"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 14:44:58 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 09 14:44:58 2019 -0700"
      },
      "message": "Merge \"Remove libhwbinder/libhidltransport deps\" am: 6cffe44e0f am: b7d2632c22\nam: 2dc8ae5642\n\nChange-Id: I7be03dd52255dffbdc04357144b2582d27f5079e\n"
    },
    {
      "commit": "2dc8ae5642ff2e4d92a5f141189f73082d0a9478",
      "tree": "933101c420fd8c2e7b4fdb5baf5c10310739bb17",
      "parents": [
        "f6d4e3349b7b44995109f845328ce73e98eb6b82",
        "b7d2632c22781990ab23d492abce4820334a2842"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 14:37:57 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 09 14:37:57 2019 -0700"
      },
      "message": "Merge \"Remove libhwbinder/libhidltransport deps\" am: 6cffe44e0f\nam: b7d2632c22\n\nChange-Id: I93c5296391c469571e153e5366ee90ab9754ea9c\n"
    },
    {
      "commit": "af905470168892078ca85cbd77c844b07f46d1d7",
      "tree": "02acf167a294e18f49a8cf075aa6ee7eb21fbf68",
      "parents": [
        "1210f45ea764f0d186e55a19c068283a4ff6cfac"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:08:49 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:08:49 2019 -0700"
      },
      "message": "Remove libhwbinder/libhidltransport deps\n\nSince these were combined into libhidlbase.\n\nBug: 135686713\nTest: build only (libhwbinder/libhidltransport are empty)\nChange-Id: I6cc85a91afb603e31b85090917f9f3b59d82a4d1\n"
    },
    {
      "commit": "920c850f898ae38d488eee7484c46d13f0faa7bd",
      "tree": "54e1456ebe83d83c8d4cfb504bc1b1ef187da9dd",
      "parents": [
        "4811014a958f7cf233b8284fb4a422990c7a3549",
        "50f1e17dbe57177a90cdbf6be76b50f7c109012d"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 20 17:53:06 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 20 17:53:06 2019 -0700"
      },
      "message": "Add support for combining and remove individual resource am: fb092d3b72\nam: 50f1e17dbe\n\nChange-Id: Id428c9f8c4bc8afc91e0ef69832ac6927358837a\n"
    },
    {
      "commit": "50f1e17dbe57177a90cdbf6be76b50f7c109012d",
      "tree": "322a61be7e0ef2cd0b75a02ece0ce6565ac7363b",
      "parents": [
        "93f1e3b3ed255d8ccf0e6815653ca8ec46fa58f9",
        "fb092d3b720923efaf0f9d4f4c16c57da6d657ac"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 20 17:43:06 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 20 17:43:06 2019 -0700"
      },
      "message": "Add support for combining and remove individual resource\nam: fb092d3b72\n\nChange-Id: I8f64a4f1e9f4aa5279d8a7a4cd45a69bd7f16e22\n"
    },
    {
      "commit": "93f1e3b3ed255d8ccf0e6815653ca8ec46fa58f9",
      "tree": "88f7e80d26a7f67ae58d3331c51138c96e169d09",
      "parents": [
        "25259b25f3a6b90ac5c6cf84432575a826bda809",
        "57eeeb00319e8f3c01d547bd0f4b5fc55338326b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 20 16:26:09 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 20 16:26:09 2019 -0700"
      },
      "message": "Merge \"Report video battery on/off from mediaserver\" into qt-qpr1-dev\nam: 57eeeb0031\n\nChange-Id: I72316cc05a0302095ad623f96a6a6d8aad9e968e\n"
    },
    {
      "commit": "fb092d3b720923efaf0f9d4f4c16c57da6d657ac",
      "tree": "c19f0a91dfe61a1e12a64cd9a2531f8af9872315",
      "parents": [
        "57eeeb00319e8f3c01d547bd0f4b5fc55338326b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 12 09:45:44 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 20 22:55:11 2019 +0000"
      },
      "message": "Add support for combining and remove individual resource\n\n- Fix ResourceManagerSerivce handling of adding same-type\nresource in multiple calls, combine entries with the same\n\u003ctype, subtype\u003e. This is not required in existing usage,\nbug could be required if we allow same type to be added\nincrementally (eg. memory usage).\n\n- Add api for removing some resources. Currently we can\nadd resources in multiple calls, but removeResource always\nremove all resources of that client. We need this to toggle\nbattery stat On/Off based on actual usage of the codec.\n\n- Add unit tests for the above.\n\nbug: 138381810\ntest: ResourceManagerService_test; CTS ResourceManangerTest.\n\nChange-Id: Icdba6c6b4c517755291668c52764169aac3071ea\n"
    },
    {
      "commit": "ee33d64bf82f3781ab826863f69d089d0a7400da",
      "tree": "0627c7b51438b3cbd882400331928646ad11dc5b",
      "parents": [
        "5f55524296edd32a00e848febff99b2849cef015"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 08 14:26:43 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 14 17:13:24 2019 -0700"
      },
      "message": "Report video battery on/off from mediaserver\n\n    We can\u0027t track video stats accurately if it\u0027s reported from\n    app side MediaCodec. If the app dies, video stats get stuck\n    in On state forever. This can be easily triggered by forcefully\n    kill and app that uses MediaCodec from app side (instead of\n    through mediaserver\u0027s Recorder or Player service), eg.\n    launch GoogleCamera app and switch to Video tab, and kill it\n    from adb shell.\n\n    In order to track MediaCodec usage from apps we need to move\n    the battery stats reporting from MediaCodec into ResourceManager.\n\nbug: 138381810\ntest:\n1. test if app uses MediaCodec directly and it dies off, the video\n   off is received: launch GoogleCamera app, swipe to Video tab,\n   \"dumpsys batterystats --history\" and see +video; now adb shell\n   kill GoogleCamera, dumpsys should show -video.\n2. test app that uses MediaCodec through mediaserver: use Chrome\n   (which uses MediaPlayer) to play some website with video, kills\n   Chrome from adb shell, and check -video is received.\n   In anycase it shouldn\u0027t stuck in On state.\n3. ResourceManagerService_test\n\nChange-Id: I164b31681c4e72e8cce02342641dbec14b8df374\n(cherry picked from commit 47db2ff19c3ceb2d3b39ff9315a463984e55dec1)\n"
    },
    {
      "commit": "c6c78b6cb224a7985c61d47c6b3c2e39180831c3",
      "tree": "1db168b81debf2730a748470d146500df4e93590",
      "parents": [
        "4e00f928aee8a10d2c62920d21ade19aec14d343",
        "7075dc6a21f7439d6d3189b32a88f1adf7f87ed6"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Aug 14 10:42:40 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 14 10:42:40 2019 -0700"
      },
      "message": "Merge \"Move ExtendedAudioBufferProvider and SingleStateQueue\" am: 2a70a39f4c am: 72d2412c27 am: 1cae73f318 am: 5fdaa0f7d2\nam: 7075dc6a21\n\nChange-Id: I2b775d9274b8d0e0e5419c5e945a67a089bb8149\n"
    },
    {
      "commit": "5fdaa0f7d20a201b4a57725d2d40d6a867dba2a1",
      "tree": "b513b976635dc3283ba02fe507203fafa785a2e3",
      "parents": [
        "3df55f34e965c0a1c068815d607d5dbf65cec872",
        "1cae73f31835008dc8b7f44e033b25c8cf0c6d77"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Aug 14 10:28:32 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 14 10:28:32 2019 -0700"
      },
      "message": "Merge \"Move ExtendedAudioBufferProvider and SingleStateQueue\" am: 2a70a39f4c am: 72d2412c27\nam: 1cae73f318\n\nChange-Id: I1f52a4f44cd551b9d288e65acd240387c4de6faa\n"
    },
    {
      "commit": "72d2412c271237aa6dfa2a75c41c8c0f69999b34",
      "tree": "5a4e3e6534daafd5c8bdf61be5cacfb21d73c084",
      "parents": [
        "5369de1fd662aa373cbbf4cf5368c66da74d51db",
        "2a70a39f4c88c531be1a7087e6b241532ee0024d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Aug 14 10:14:49 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 14 10:14:49 2019 -0700"
      },
      "message": "Merge \"Move ExtendedAudioBufferProvider and SingleStateQueue\"\nam: 2a70a39f4c\n\nChange-Id: I993318e2a9a5bba3aa65ee8319d80bebb537df50\n"
    },
    {
      "commit": "16dadd0ae7fd50361a6992e6a492aa5054172e10",
      "tree": "cdcd01878765774b34434be7fb465f45802d1d76",
      "parents": [
        "b279c8c347bfa9b23c3ee7dc4bc5ac36ea1b8a2d",
        "b9df2ec036b3a4ecf70e5cdcefdfb8939b4ae18e"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Aug 13 19:26:30 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 13 19:26:30 2019 -0700"
      },
      "message": "Merge \"Check the media.settings.xml property\" into qt-dev\nam: b9df2ec036\n\nChange-Id: I0e2c4fb37e3a83a1eb2a5befc0c92be57f89ff53\n"
    },
    {
      "commit": "72e9b14d858b5850109b13d5e273c2d675040383",
      "tree": "64246320ef987627a9b0f7dd164e9cc649549ab2",
      "parents": [
        "50166f1b76c1243c8e70d16a4b04cd8465a03168",
        "47db2ff19c3ceb2d3b39ff9315a463984e55dec1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 12 20:45:00 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 12 20:45:00 2019 +0000"
      },
      "message": "Merge \"Report video battery on/off from mediaserver\""
    },
    {
      "commit": "9f3c02d15167b98b9208687e7e30e07149efbf2d",
      "tree": "60cb2b95b2a1eb630697b5014a05713e4c899366",
      "parents": [
        "646a332acfc525e94e6c1898544201052efa4fc8"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 12 11:36:05 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 12 11:47:19 2019 -0700"
      },
      "message": "Move ExtendedAudioBufferProvider and SingleStateQueue\n\nMove ExtendedAudioBufferProvider.h to libaudioclient. This is\na more appropriate location because EABP extends AudioBufferProvider.\n\nMove SingleStateQueue.h to libnbaio_mono. This is a more appropriate\nlocation because SSQ is a non-blocking queue.\n\nThis allows to remove the dependency of libnbaio on libmedia\nwhich is a good thing because libnbaio provides more low-level\nabstractions than libmedia.\n\nAlso, replace a dependency of libnbaio on libbinder with\na dependency on libaudiohal header library.\n\nTest: make\nChange-Id: Ie48b523790cd8230695ec2e4710e50981b616289\n"
    },
    {
      "commit": "47db2ff19c3ceb2d3b39ff9315a463984e55dec1",
      "tree": "8bd25eea554151e9c89bc8c7a3d742637d89f7a6",
      "parents": [
        "28355761d73f1495bba8994dc3c0dc631ae245a8"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 08 14:26:43 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 12 11:13:21 2019 -0700"
      },
      "message": "Report video battery on/off from mediaserver\n\n    We can\u0027t track video stats accurately if it\u0027s reported from\n    app side MediaCodec. If the app dies, video stats get stuck\n    in On state forever. This can be easily triggered by forcefully\n    kill and app that uses MediaCodec from app side (instead of\n    through mediaserver\u0027s Recorder or Player service), eg.\n    launch GoogleCamera app and switch to Video tab, and kill it\n    from adb shell.\n\n    In order to track MediaCodec usage from apps we need to move\n    the battery stats reporting from MediaCodec into ResourceManager.\n\nbug: 138381810\ntest:\n1. test if app uses MediaCodec directly and it dies off, the video\n   off is received: launch GoogleCamera app, swipe to Video tab,\n   \"dumpsys batterystats --history\" and see +video; now adb shell\n   kill GoogleCamera, dumpsys should show -video.\n2. test app that uses MediaCodec through mediaserver: use Chrome\n   (which uses MediaPlayer) to play some website with video, kills\n   Chrome from adb shell, and check -video is received.\n   In anycase it shouldn\u0027t stuck in On state.\n3. ResourceManagerService_test\n\nChange-Id: I164b31681c4e72e8cce02342641dbec14b8df374\n"
    },
    {
      "commit": "732e5fab3dc2d06901b5f56163a01fda6f5364b8",
      "tree": "1cafa37905830080e62c49c59f6d368a17e7d221",
      "parents": [
        "69fb36f0d15c39b616e92642522f93f678bf3315"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Jul 30 20:43:43 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon Aug 12 17:59:50 2019 +0900"
      },
      "message": "Check the media.settings.xml property\n\nThe file name and path of the media profiles can be changed by\nmedia.settings.xml property. So befor test, we should check\nmedia.settings.xml property.\n\nBug: 138413934\nTest: vts-tradefed run vts -m VtsValidateMediaProfiles\nChange-Id: Ib7070cca94b9d637b9a1a175d09baf7b78ec0fd9\nMerged-In: Ib7070cca94b9d637b9a1a175d09baf7b78ec0fd9\n(cherry picked from commit ef8695ed8435b10bf9ae5f5e5b22f1d8a4d716d8)\n"
    },
    {
      "commit": "50166f1b76c1243c8e70d16a4b04cd8465a03168",
      "tree": "01194f0af6069b7abd745f83e8a3f3891c501410",
      "parents": [
        "818244df7fe0f526a1029da1e2c21f212e58149d",
        "b5d463372d508cad4ab3ce3a219a4e666793c45b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Aug 10 03:49:49 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 10 03:49:49 2019 +0000"
      },
      "message": "Merge \"Revert \"Report video battery on/off from mediaserver\"\""
    },
    {
      "commit": "b5d463372d508cad4ab3ce3a219a4e666793c45b",
      "tree": "6918e584833186110516c89fb5953c348ce09e56",
      "parents": [
        "72f212b79bbd1a9e6b341fe7ddf787690408e5a3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Aug 10 03:47:55 2019 +0000"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Aug 10 03:47:55 2019 +0000"
      },
      "message": "Revert \"Report video battery on/off from mediaserver\"\n\nThis reverts commit 72f212b79bbd1a9e6b341fe7ddf787690408e5a3.\n\nReason for revert: broke a test build\n\nChange-Id: I3c5e993ebc81c4ee73f0d4c2a9b47954ca85cab0\n"
    },
    {
      "commit": "818244df7fe0f526a1029da1e2c21f212e58149d",
      "tree": "5d219179e30e9a1514722936ded2a563b83499f3",
      "parents": [
        "f1100e3e64cc9aa1934fd8e4625a9a0e85365ba9",
        "72f212b79bbd1a9e6b341fe7ddf787690408e5a3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Aug 10 00:06:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 10 00:06:28 2019 +0000"
      },
      "message": "Merge \"Report video battery on/off from mediaserver\""
    },
    {
      "commit": "f1100e3e64cc9aa1934fd8e4625a9a0e85365ba9",
      "tree": "01194f0af6069b7abd745f83e8a3f3891c501410",
      "parents": [
        "c48ed6678719f9ee318f1f32259126873502e0c0",
        "2ab28960d73d4d6b74be52d85b32b0510c750148"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri Aug 09 12:12:21 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 09 12:12:21 2019 -0700"
      },
      "message": "Merge \"Check the media.settings.xml property\" am: 646a332acf am: 5369de1fd6 am: 7a0e398867 am: 870e351f6a\nam: 2ab28960d7\n\nChange-Id: Iae0f2b9ab1415e75b8b9dff9ec473c2fbe61ee61\n"
    },
    {
      "commit": "870e351f6a6b9fb7cd90dfe406e1f770f0fcf7d0",
      "tree": "df45f8446f42ea1d6a675a15a0f56fe8fac4674e",
      "parents": [
        "e3dc8b2cd33ae2fc9da54545d6558e481eb1f650",
        "7a0e398867e53da38ad6b9d7ab82f5e094247e65"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri Aug 09 11:48:42 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 09 11:48:42 2019 -0700"
      },
      "message": "Merge \"Check the media.settings.xml property\" am: 646a332acf am: 5369de1fd6\nam: 7a0e398867\n\nChange-Id: If5d743e04b7acd81e45fd0727db7fd25b75c7ce9\n"
    },
    {
      "commit": "5369de1fd662aa373cbbf4cf5368c66da74d51db",
      "tree": "8cbcf96a3959ceb1522d2b8f80dab9117babf4b4",
      "parents": [
        "c2036c256a05789fd5f161dc4148232e7f607ad0",
        "646a332acfc525e94e6c1898544201052efa4fc8"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri Aug 09 11:28:19 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 09 11:28:19 2019 -0700"
      },
      "message": "Merge \"Check the media.settings.xml property\"\nam: 646a332acf\n\nChange-Id: I97dfe2a83a8ffa46602b8bbb097fdbfe1e6b38b3\n"
    },
    {
      "commit": "72f212b79bbd1a9e6b341fe7ddf787690408e5a3",
      "tree": "d60e69e1f59d1e62360dde53bf42bd06df0fc9b8",
      "parents": [
        "28355761d73f1495bba8994dc3c0dc631ae245a8"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 08 14:26:43 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 08 15:55:10 2019 -0700"
      },
      "message": "Report video battery on/off from mediaserver\n\n    We can\u0027t track video stats accurately if it\u0027s reported from\n    app side MediaCodec. If the app dies, video stats get stuck\n    in On state forever. This can be easily triggered by forcefully\n    kill and app that uses MediaCodec from app side (instead of\n    through mediaserver\u0027s Recorder or Player service), eg.\n    launch GoogleCamera app and switch to Video tab, and kill it\n    from adb shell.\n\n    In order to track MediaCodec usage from apps we need to move\n    the battery stats reporting from MediaCodec into ResourceManager.\n\nbug: 138381810\ntest:\n1. test if app uses MediaCodec directly and it dies off, the video\n   off is received: launch GoogleCamera app, swipe to Video tab,\n   \"dumpsys batterystats --history\" and see +video; now adb shell\n   kill GoogleCamera, dumpsys should show -video.\n2. test app that uses MediaCodec through mediaserver: use Chrome\n   (which uses MediaPlayer) to play some website with video, kills\n   Chrome from adb shell, and check -video is received.\n   In anycase it shouldn\u0027t stuck in On state.\n\nChange-Id: I0ee02b498bee38979353256711aa50c862494b97\n"
    },
    {
      "commit": "06e4bab5451f1594d6843fc3af698bf8b4c1047e",
      "tree": "2eeec151cc1285a8707bfcaf73582fee9ffc69dd",
      "parents": [
        "433e8a2730ce7280beb2ce49f42f41f9401ad6e4"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Jul 29 10:13:34 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 07 14:36:18 2019 -0700"
      },
      "message": "Use standard containers for audio stuff in audio framework\n\n1. Add SampleRateSet, FormatSet, ChannelMaskSet, FormatVector\nusing std::vector and std::set in libaudiofoundation.\n2. Use SampleRateSet, FormatSet, ChannelMaskSet, FormatVector in\naudio framework.\n\nBug: 135621476\nTest: make, CTS for AudioRecord, AudioTrack, AudioManagerTest\nTest: play and record audio\nChange-Id: Ic04e637bcc6ba9df84c5e7561ec3c03f18a7d242\n"
    },
    {
      "commit": "2207c0565403e89a3e03e49b9062e07806662c4d",
      "tree": "251861ae6021449a302c15879ee3865e312ba938",
      "parents": [
        "ce4b00e79f4bde61c3474ce001825eb34b4d1b58"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 05 11:11:38 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 05 13:33:12 2019 -0700"
      },
      "message": "Restore stream [dis]connect parameters in deprecated state\n\nSince AudioParameter.h is vendor-available, some vendors may\nstill use the old parameters. Leave the old parameters there\nbut mark as deprecated.\n\nBug: 138868195\nTest: make\nChange-Id: I6d12b7ac360309014a240a321c3cd32b39d8f740\n"
    },
    {
      "commit": "ef8695ed8435b10bf9ae5f5e5b22f1d8a4d716d8",
      "tree": "e1340f6d21d832514d3aac31a3a7b80984e1df89",
      "parents": [
        "2255c50a920f106f91a099fec2ac6692b696a61d"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Jul 30 20:43:43 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Jul 30 12:15:25 2019 +0000"
      },
      "message": "Check the media.settings.xml property\n\nThe file name and path of the media profiles can be changed by\nmedia.settings.xml property. So befor test, we should check\nmedia.settings.xml property.\n\nBug: 138413934\nTest: vts-tradefed run vts -m VtsValidateMediaProfiles\nChange-Id: Ib7070cca94b9d637b9a1a175d09baf7b78ec0fd9\n"
    },
    {
      "commit": "32925cc4374ba577f7b5d38867b11db1a582b967",
      "tree": "52c652b0c4b22b18dfdff953157ee5ef4cd5545a",
      "parents": [
        "2687b89978140e096f958fb37df53d65eecb9aaf"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 29 15:00:21 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 29 20:47:46 2019 -0700"
      },
      "message": "Move AudioMixer.h and BufferProviders.h into correct location\n\nThe implementation files are in libaudioprocessing,\nthus the header files also belong there.\n\nTest: make\nChange-Id: I78ba4ed480413c0a1b871e80971ef5ce1d0c6755\n"
    },
    {
      "commit": "ec42948ca4a44d823b483403b7739e5653834011",
      "tree": "46b53c114133e92f1a0fb3eaae6b0ddf352de96d",
      "parents": [
        "41560413e5d562c2825afdf7567845c1a8e833a1",
        "76a49d617cd817d5be4618757e8d8400aeaad8c9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 12 22:17:27 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 12 22:17:27 2019 +0000"
      },
      "message": "Merge \"Reuse frame decoder for sequential frame retrievel\""
    },
    {
      "commit": "76a49d617cd817d5be4618757e8d8400aeaad8c9",
      "tree": "360bd0ba999213cf9463c6613d155eb4e57d8f12",
      "parents": [
        "175c7b7e4d9450e017e4453b97cb836da199db67"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 12 11:20:33 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 12 20:01:55 2019 +0000"
      },
      "message": "Reuse frame decoder for sequential frame retrievel\n\nAllow sequential frame retrieval to reuse the decoder without\nre-init and re-seek.\n\nGet rid of IMediaMetadataRetriever api that retrieves multiple\nframes at a time, this method could hold up more memory than\nwhat\u0027s needed, because the client side has to copy the frames\nto a separate set of bitmaps anyways.\n\nThis change is needed to support animation Drawbles efficiently\nwhich typically get one frame at a time.\n\nbug: 120414514\ntest: cts MediaMetadataRetrieverTest, local tests that tests MetadataRetriever thumbnails\n\nChange-Id: I09924408b51bc7491fc5dee121dce9a286c5911f\n"
    },
    {
      "commit": "25a6639d872889475b005b029b59ad0b237218f4",
      "tree": "f6b22df4e4b83b80316af8a87d26ff24cc0ec423",
      "parents": [
        "89cf54c988d6ff1cfaaaec99b3851dd4e2830f64",
        "39cf2ddd0c05bfa2ef70a4ac041f22e993d86fd1"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@quicinc.com",
        "time": "Tue Jul 09 18:32:44 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 09 18:32:44 2019 -0700"
      },
      "message": "Visualizer: Fix deadlock on close am: e8e1c69626\nam: 39cf2ddd0c\n\nChange-Id: I3e951fcad86dcdfb12ccc6e1878a9f0d97574f6d\n"
    },
    {
      "commit": "39cf2ddd0c05bfa2ef70a4ac041f22e993d86fd1",
      "tree": "e3b5a24e26cfb0faa3a21060287461fd1eb8c984",
      "parents": [
        "d5d338d80fd5012cd5196a5a62a91bc7ecb0a762",
        "e8e1c69626f56db48219d174240de0a1550a93c3"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@quicinc.com",
        "time": "Tue Jul 09 18:10:37 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 09 18:10:37 2019 -0700"
      },
      "message": "Visualizer: Fix deadlock on close\nam: e8e1c69626\n\nChange-Id: If122dd27a235651275b0cdce61e4486bddf828d8\n"
    },
    {
      "commit": "e8e1c69626f56db48219d174240de0a1550a93c3",
      "tree": "8f17e74514540ddeec41f43a1e4a60a15e185087",
      "parents": [
        "4c6d99520c95386e5a4f4a94aafe9c63053ae734"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@quicinc.com",
        "time": "Wed Jul 03 10:44:47 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jul 09 14:18:34 2019 -0700"
      },
      "message": "Visualizer: Fix deadlock on close\n\nVisualizer gets stuck in mCaptureThread::requestExitAndWait due to a\ndeadlock between mCaptureThread::mRunning and mCaptureLock.\n\nTemporarily release mCaptureLock upon mCaptureThread::requestExitAndWait.\n\nTest: Clarity -\u003e Response, rapidly toggle visualizer enable, disable\nBug: 135326776\nauthored-by: Weiyin Jiang \u003cwjiang@codeaurora.org\u003e\nChange-Id: If32431c4d7b271b7ea61168cb1a5a42f3a1cd66e\n"
    },
    {
      "commit": "f23fcf683cc0ec5efb8eae471141af162ac00035",
      "tree": "f592028f9bac9137b6edba29a33eef87c25faf41",
      "parents": [
        "1b03fc43bd922333dde02bc3be8fa44b1333d341"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 08 15:28:43 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 08 15:28:43 2019 -0700"
      },
      "message": "Fix the name of the constant for device [dis]connect parameter\n\nDuring the transition to Treble, \"device connect\" / \"disconnect\"\nparameter was erroneously attributed to audio streams. This\nissue got fixed in Audio HAL V4.0, but AudioParameter file\nwas still using incorrect name for the constant.\n\nTest: make\nChange-Id: I4056ad9e98af6dadd017d22bc4bde031cac75631\n"
    },
    {
      "commit": "facece35f51a8aa92f0b28e3d8dd1f976b3f609d",
      "tree": "ce1a9947bf3dc45ff449ee66d9c090b8a66c161c",
      "parents": [
        "a3eef1a987ba559982c6cd5b9d4a98232fcc5ec4",
        "a88303ec777525276724fac71ef75ed284a28730"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 13 12:48:45 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 13 12:48:45 2019 -0700"
      },
      "message": "Merge \"avoid crash in emptyBuffer when input buffer handle is invalid\" into qt-dev am: e116345903 am: 671bc34173\nam: a88303ec77\n\nChange-Id: Id1957a6d48c41af3ce0233e5cca2447d4d81bb8e\n"
    },
    {
      "commit": "a88303ec777525276724fac71ef75ed284a28730",
      "tree": "37c664d8cc33a6f6337a1e1c9a290a03b9934d07",
      "parents": [
        "4f4fc2d1bdd0ab7382a61f8ae90337fa687e4dc0",
        "671bc34173e8caa4e7333ce411072d2179d86baa"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 13 12:40:20 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 13 12:40:20 2019 -0700"
      },
      "message": "Merge \"avoid crash in emptyBuffer when input buffer handle is invalid\" into qt-dev am: e116345903\nam: 671bc34173\n\nChange-Id: I1162e9ddb3a7af8f610a997ca71e6fe4b5057b7e\n"
    },
    {
      "commit": "a60a6e7bf73fabec060ceb169a7142cb5cf31b53",
      "tree": "c29e501ed9263ee6efa68dfa2aa1a7b9673e3abb",
      "parents": [
        "cdc2f7cb3480f528d79966044013cea47296deb9",
        "e1163459035a6cac598a891b49a9081192a3c0cd"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 13 12:32:49 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 13 12:32:49 2019 -0700"
      },
      "message": "Merge \"avoid crash in emptyBuffer when input buffer handle is invalid\" into qt-dev\nam: e116345903\n\nChange-Id: I505c1a511f641332cc70144f0e308af35991d7cc\n"
    },
    {
      "commit": "33d60a5f0c4249cf8350bc61d16d11b7a6d09c85",
      "tree": "84bdbed720b303c1a614aed2d75fd08bb2c6c5a5",
      "parents": [
        "f5ec24e8df7e61ff0bbc8b9f86b7e24c3a3d29e9"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 12 13:45:01 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 12 13:45:01 2019 -0700"
      },
      "message": "avoid crash in emptyBuffer when input buffer handle is invalid\n\nTry to fail with error instead of crashing when the input buffer\nhandle to TWOmxNode::emptyBuffer is invalid. Save an unnecessary\nhandle clone, and let the convertTo to GraphicBuffer do the clone.\nIf the clone fails, return with error.\n\nbug: 133254412\ntest: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\n    Change-Id: I6abb5526d8df1e57b70c96f5b32d132e4a5de389\n\nChange-Id: If5ca8fae449a3cdf790c967add3713ad73369f03\n"
    },
    {
      "commit": "1224227e19b418b42056cd9eb4e03ce9d68fce35",
      "tree": "ef669193bb2bdea5dbd10c4b09f37cf9e2d5aca6",
      "parents": [
        "e8a9a230ac79a42ccd629f5fcfbdadb4ed60f872",
        "c283c5f3110032827da6c4e12a3ba1be8149f956"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 05 22:50:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 05 22:50:25 2019 +0000"
      },
      "message": "Merge \"Match src paths with aidl package name\""
    },
    {
      "commit": "1be8c1deb22c7b6c4e811dfeaa11bd4c72575a32",
      "tree": "35e1586f78666b072f1c9e015f1f5ff0bbf052bb",
      "parents": [
        "c0be275ae5761e2c67bed5dfab3134c90c6220a4",
        "a68d87c8e520073b65af8aefee0b575f5dc2c02e"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Jun 05 14:34:47 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 05 14:34:47 2019 -0700"
      },
      "message": "Merge \"Match src paths with aidl package name\" into qt-dev-plus-aosp am: f4f4ab3857\nam: a68d87c8e5\n\nChange-Id: I9e20f774b68a6ede6da884603179ae355b4a1473\n"
    },
    {
      "commit": "c283c5f3110032827da6c4e12a3ba1be8149f956",
      "tree": "75621ed27c59b25edba5b1856013fccc65a01d91",
      "parents": [
        "daba8f4f19568a2cd8bf67c5e1dadb65409a7e6a"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 14 21:17:46 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Jun 05 16:53:14 2019 +0000"
      },
      "message": "Match src paths with aidl package name\n\nIn order for the build system to track updates to the header files\nduring incremental builds, always specify the src files using the same\npath as the package for C++ compilations.\n\nBug: 112114177\nTest: m\nChange-Id: I5fb25124a26f190c462e2e60fc75a88d48643c10\nMerged-In: I5fb25124a26f190c462e2e60fc75a88d48643c10\n"
    },
    {
      "commit": "faeab0faa7ff42eba8935d90e3f69581229002da",
      "tree": "eb041abb352aeaa1b9726ca4fd6450c40351acb2",
      "parents": [
        "5ae7d9b0ad7203944401297bf04b828c9a00f610"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 14 21:17:46 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Jun 05 09:41:53 2019 -0700"
      },
      "message": "Match src paths with aidl package name\n\nIn order for the build system to track updates to the header files\nduring incremental builds, always specify the src files using the same\npath as the package for C++ compilations.\n\nBug: 112114177\nTest: m\nChange-Id: I5fb25124a26f190c462e2e60fc75a88d48643c10\n"
    },
    {
      "commit": "7da2ea3ac9a2bb3a477a2851ddd71e40194ffe5f",
      "tree": "7da8fc3ce0087593da8c4697b44759b5e20c83d2",
      "parents": [
        "58c6df26d1ffe27614764378acec6bf7979f07e5",
        "c0a1a3875ea44e377d0452322b2bcc2546c3a3e2"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri May 17 09:55:17 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 17 09:55:17 2019 -0700"
      },
      "message": "Merge \"Modify the media_profiles.xsd\" into qt-dev am: eba3386fab am: cdb2c638ee\nam: c0a1a3875e\n\nChange-Id: I04be76880b0bf64028fc763abd19e901dea36e98\n"
    },
    {
      "commit": "9c9fdf67b10493f4e720cc448c100c13c9f63a6f",
      "tree": "ca44406c023e282beb17c9a8d90bde80b47b4aff",
      "parents": [
        "a5175b7a0f5349762940ee6564cf95fefaa592ac"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue May 14 12:04:42 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue May 14 13:26:19 2019 -0700"
      },
      "message": "Better parcel parsing in MediaMetadataRetriver\n\nparcel parsing during SET_DATA_SOURCE_URL pulled a count and\nblindly assumed there was that much data. Check that we successfully\nget data from the parcel, complaining if not.\n\nAlso cleaned up a 32/64 bit inconsistency in how much data was put into\nthe parcel.\n\nBug: 132274514\nTest: poc\nChange-Id: I4d2c398906176b383426e96ba91f49547d327843\n"
    },
    {
      "commit": "fcc10c6677d1f7c355b5c80e31d46f73fbad34f9",
      "tree": "112ec6906afb8b35fee33b87a0058682deb72e1f",
      "parents": [
        "b904fe4799f1c239ef1170b016022929dd5766cb"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri May 10 15:42:32 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri May 10 06:50:34 2019 +0000"
      },
      "message": "Modify the media_profiles.xsd\n\nOn some devices, ImageEncoding and ImageDecoding tags are used in any\norder. And parser in libmedia library can support it.\nSo xsd file is modified for supporting any orther.\n\nBug: 132049541\nTest: make -j40 vts\nTest: vts-tradefed run vts -m VtsValidateMediaProfiles\n\nChange-Id: Ib32cfcce82fc72294533905c29227f6e443aa7d6\n"
    },
    {
      "commit": "a503326e7af89f27c2e65c2c4447e8105547274a",
      "tree": "ba7832aa20f336536c1c0006f3fda4c65dc2a2e7",
      "parents": [
        "3aa95defac2624f05130927ea3e3f5a56ea617e5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon May 06 14:15:12 2019 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon May 06 20:19:42 2019 -0700"
      },
      "message": "DrmHal: add key status usable_in_future\n\nBug:116738851\nTest: DrmMetrics_test\nChange-Id: Ifdd63ce94d3e145840b155a982612ba980cc456d\n"
    },
    {
      "commit": "0e4c08eb08e39138993cde40c986b569ce595ad1",
      "tree": "a815167e1782fe06f13d911ba0b6aa11248bd209",
      "parents": [
        "ab09f6e62122eb6d09a4013cf54de3a2d2805873"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 19 10:00:45 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 30 14:38:55 2019 -0700"
      },
      "message": "build core bufferqueue functionalities into bqhelper\n\nStatically build the bufferqueue logic from libgui into\nlibstagefright_bufferqueue_helper, so that we don\u0027t need\nto link to the entire libgui.\n\nIn updateable codecs, the dependencies (except llndk) are\ncopied onto the apex, and loaded into a separate namespace\nat runtime. Trimming down unused dependencies help on both\nstorage and runtime memory footprint.\n\nbug: 128894663\n\nChange-Id: I2f696aa85143f74f753fbb0320dce5aee88846c4\n"
    },
    {
      "commit": "393f0e05e3fa7351c81a470e5bd841451bcc13ae",
      "tree": "47d865b1e143a717167b2fff0dd6da2e30b3966b",
      "parents": [
        "698d353587d6d0563a6451b2d701358e6cb4496e"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Apr 10 09:09:08 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 10 12:30:39 2019 -0700"
      },
      "message": "audiopolicy: fix attributes match helper function\n\nRegression caught on Attributes referred by their flags only\n(like BT SCO).\nClient may have more flags than the product strategy, checks\nto be done on all the flags of the product strategy are requested\nby the client.\n\nBug: 130284799\nTest: make\n\nChange-Id: Ie8d41a592342bc0a7a0326f9766e7e7503154e62\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "0fe4c4795015357290b098715f6d3cd17cf554df",
      "tree": "cb9fb49616e0ff7890359f7eefb6563d25426934",
      "parents": [
        "8d14f5ccff2440f39630965486e9601ab6d007b6"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 08 21:51:46 2019 +0000"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 08 14:56:30 2019 -0700"
      },
      "message": "Revert \"Revert \"Remove direct libgui reference from omx server side\"\"\n\nThis reverts commit b4979c59d93a6ca2be7e65489fc39896bfdc2c96.\n\nReason for revert: reland with fixes:\n1) make OMXHarness use OMXClient, not directly IOMX wrappers.\n2) fix ref of consumer listener interface in GraphicBufferSource.\n\nbug: 129272021\nTest: camera recording, aosp_x86 build\n\nChange-Id: Idaaaf412c65cbe89c95a2cb54f3833ff1fc4c304\n"
    }
  ],
  "next": "b4979c59d93a6ca2be7e65489fc39896bfdc2c96"
}
