)]}'
{
  "log": [
    {
      "commit": "ea055e6dab6bcbf9bf90711d602bcf59395f0d59",
      "tree": "5af1963cd87b4013d777417fa94f6cf697a91bae",
      "parents": [
        "76b54c05e6cc5c674cc126451a88b14b8146d98a",
        "dc099c2cd3ab1d5a9adf4c39dd33e0b5037544f1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 19 00:15:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 19 00:15:52 2018 +0000"
      },
      "message": "Merge \"AudioFlinger: Preserve recent MMapThread history for dumpsys\""
    },
    {
      "commit": "76b54c05e6cc5c674cc126451a88b14b8146d98a",
      "tree": "a5ae72ce1a277ab3a6b27ea72f87b72156e995fc",
      "parents": [
        "99e9db75039f86a73d1a5052b1e3538ddda20de5",
        "01d09d9e408b3b1c97f08cb317631d5b6e13d42f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 18 23:48:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 23:48:53 2018 +0000"
      },
      "message": "Merge \"audioflinger: Fix RefBase \"exception\" issue from FastThread\""
    },
    {
      "commit": "dc099c2cd3ab1d5a9adf4c39dd33e0b5037544f1",
      "tree": "5b7cc829081ef671cb075e726e8f03baa7405b34",
      "parents": [
        "05fa8856abaa1e050c3c8e6ba97fc8878ed7600a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 18 13:46:39 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 18 14:38:05 2018 -0700"
      },
      "message": "AudioFlinger: Preserve recent MMapThread history for dumpsys\n\nTest: Aaudio tests, check audioflinger dumpsys\nBug: 116026119\nChange-Id: Ib891686480b2579e4d3b2e419c83aec0a79ba812\n"
    },
    {
      "commit": "05fa8856abaa1e050c3c8e6ba97fc8878ed7600a",
      "tree": "65b40f08e8fa2c8af594de60029286993fdae461",
      "parents": [
        "bf9dba9626c480ad1ab105dccccd114757e98b05",
        "0264e7d611ed4c8151988ad2622b39729492e34e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 18 19:44:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 19:44:59 2018 +0000"
      },
      "message": "Merge \"AudioFlinger: Preserve recent RecordThread history for dumpsys\""
    },
    {
      "commit": "01d09d9e408b3b1c97f08cb317631d5b6e13d42f",
      "tree": "739ca993df57214891fa598a0fef9a53f5b14f25",
      "parents": [
        "bd9b5935fdbd67d3eaf124e3e80470b8cae1ecd1"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Sep 18 12:38:57 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Sep 18 12:39:53 2018 -0700"
      },
      "message": "audioflinger: Fix RefBase \"exception\" issue from FastThread\n\nDummy NBLog::Writer in FastThread must not be stored by value\nbecause it\u0027s a RefBase descendant. Storing it by value causes\na diagnostic output from ~RefBase because no strong\nreferences to it ever exist. In future this will cause a crash.\n\nTest: verify there are no \"RefBase: Explicit destruction\" messages\n      in logcat\nChange-Id: I95716ec8e29fdd9485ef64a3334cef49bf29bc96\n"
    },
    {
      "commit": "c8e0e91ab96014861840010b45330d3865e0ae80",
      "tree": "f8b179578bbc18a7df94bb4d59d5a0b897192afe",
      "parents": [
        "718279d64684126d4607e02d98071ec4a8556fde",
        "0513b5dfd08a813dd29b95b79e5a52677500206f"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Tue Sep 18 17:56:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 17:56:08 2018 +0000"
      },
      "message": "Merge changes If9771427,Idde42ba6\n\n* changes:\n  Add options to dumpsys media.log and dump visualizations\n  Improve ReportPerformance::Histogram implementation and add drawing\n"
    },
    {
      "commit": "0264e7d611ed4c8151988ad2622b39729492e34e",
      "tree": "d298dee16f0e35825ce3c7c329b2cd5b75bf93a3",
      "parents": [
        "45146a2c3b3cd3aebab46306cc43d27e952e8060"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Sep 17 19:30:46 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Sep 17 19:30:46 2018 -0700"
      },
      "message": "AudioFlinger: Preserve recent RecordThread history for dumpsys\n\nTest: audioflinger dumpsys after record\nBug: 115946219\nChange-Id: Ic551ae38a35acc3ed21eee5da3b42d6b07454899\n"
    },
    {
      "commit": "0513b5dfd08a813dd29b95b79e5a52677500206f",
      "tree": "4f780d0d72ace741eaf3bc3631f353452dc357f8",
      "parents": [
        "cfa7c4b96ced4a086bffabdd4394fb19c9400524"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Mon Sep 17 10:32:48 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Mon Sep 17 18:29:49 2018 -0700"
      },
      "message": "Add options to dumpsys media.log and dump visualizations\n\nOther Changes:\n- added thread_params_t type to NBLog\n- rearranged ordering of macros in TypedLogger.h\n\nTest: dumpsys media.log with --json, --pa, and --plots options\nBug: 68148948\nChange-Id: If97714271a085a99bba0ab3ae0c268a9f407f053\n"
    },
    {
      "commit": "17a4a0feba513a721b23edeb9a915e4ce87b58a8",
      "tree": "8def40ef260d85ecf5414654a2af5cc1a7e3a94c",
      "parents": [
        "bd9b5935fdbd67d3eaf124e3e80470b8cae1ecd1",
        "d06ae78ee7169fc80c8a29390b2156e33c846c08"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 17 16:44:40 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 17 16:44:40 2018 -0700"
      },
      "message": "Merge \"Suppress implicit-fallthrough warnings in audioflinger etc.\" am: a494bb1527 am: 8662f3b9a2\nam: d06ae78ee7\n\nChange-Id: Iee095b6e1278d372b3a7c171f926bd730dbc388b\n"
    },
    {
      "commit": "d06ae78ee7169fc80c8a29390b2156e33c846c08",
      "tree": "e6a38674514d0d9e5f93a9e21decf75729f4c35d",
      "parents": [
        "36fc92d5c30b0cae6aea48f85b9d4cc11eae696b",
        "8662f3b9a2043ac2805396bbc35721ffa083d6d9"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 17 16:32:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 17 16:32:42 2018 -0700"
      },
      "message": "Merge \"Suppress implicit-fallthrough warnings in audioflinger etc.\" am: a494bb1527\nam: 8662f3b9a2\n\nChange-Id: Idf355953d5c7675b5e1be24758cc84b5f6d872cf\n"
    },
    {
      "commit": "8662f3b9a2043ac2805396bbc35721ffa083d6d9",
      "tree": "9345367e07985a0325373ca99a07c41d37703ef5",
      "parents": [
        "4d9a25ccf002a9eec0dc3d69767418379bdf871e",
        "a494bb1527f8ad67eeeaf80021c0faf57c71ef55"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 17 16:28:31 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 17 16:28:31 2018 -0700"
      },
      "message": "Merge \"Suppress implicit-fallthrough warnings in audioflinger etc.\"\nam: a494bb1527\n\nChange-Id: I3055f24de3e79e30214a669650fec3d4a229ad0b\n"
    },
    {
      "commit": "2b48703770efab81143d389d7389166eb1a6c8db",
      "tree": "f309a4bbfbb4f716dee1af20f82ca95aa04b907e",
      "parents": [
        "f8d13dee65d3708ea527e9f565be85031d7021ba"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 13 14:16:02 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 17 12:50:12 2018 -0700"
      },
      "message": "Suppress implicit-fallthrough warnings in audioflinger etc.\n\nAdd FALLTHROUGH_INTENDED for clang compiler.\n\nBug: 112564944\nTest: build with global -Wimplicit-fallthrough.\nChange-Id: I8875bc7ed073aae84d5df97eb39c8c745ca627ef\n"
    },
    {
      "commit": "bd9b5935fdbd67d3eaf124e3e80470b8cae1ecd1",
      "tree": "d8aeb92342d15ec51bf074630fcd2e5ec54cbc83",
      "parents": [
        "ca7988602fe3b281bdc814e549d84d15557b99ac",
        "36fc92d5c30b0cae6aea48f85b9d4cc11eae696b"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Sun Sep 16 08:09:15 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 16 08:09:15 2018 -0700"
      },
      "message": "Merge \"audio policy: fix getOutputFromId and getInputFromId\" am: f8d13dee65 am: 4d9a25ccf0\nam: 36fc92d5c3\n\nChange-Id: I0eb25c089d36a36c2546b017cee33c4c7492adc7\n"
    },
    {
      "commit": "36fc92d5c30b0cae6aea48f85b9d4cc11eae696b",
      "tree": "c712fcf42f0135f875f5b57d278bdacf81ccc2eb",
      "parents": [
        "6ff79a0dd1cc27302c466764bf9b9d4f21502e1a",
        "4d9a25ccf002a9eec0dc3d69767418379bdf871e"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Sun Sep 16 08:03:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 16 08:03:02 2018 -0700"
      },
      "message": "Merge \"audio policy: fix getOutputFromId and getInputFromId\" am: f8d13dee65\nam: 4d9a25ccf0\n\nChange-Id: I676995ac79a1900df5ccee86a9f36fbed70fb0b7\n"
    },
    {
      "commit": "4d9a25ccf002a9eec0dc3d69767418379bdf871e",
      "tree": "3244a6ca5248b3a791ccfce765d069bba03e2c27",
      "parents": [
        "6808238a516e8e45be450655d8412a31e0d5b3d4",
        "f8d13dee65d3708ea527e9f565be85031d7021ba"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Sun Sep 16 07:55:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 16 07:55:52 2018 -0700"
      },
      "message": "Merge \"audio policy: fix getOutputFromId and getInputFromId\"\nam: f8d13dee65\n\nChange-Id: Iee57bd1b88e95a7a4d50acbcb625c1b9ff479883\n"
    },
    {
      "commit": "f8d13dee65d3708ea527e9f565be85031d7021ba",
      "tree": "97cb85c940201bb1685374067dd263128ca81efa",
      "parents": [
        "0de0bf9db7a8e91d5769513fc69bf3aa488d9435",
        "f731de72e9eff742fcb1f860321aa15fae7dccd9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Sep 16 14:49:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Sep 16 14:49:26 2018 +0000"
      },
      "message": "Merge \"audio policy: fix getOutputFromId and getInputFromId\""
    },
    {
      "commit": "f731de72e9eff742fcb1f860321aa15fae7dccd9",
      "tree": "17bdda0c0f45e4546f6a0486f02a805b390296b1",
      "parents": [
        "79b9d483d346fc2c2bd680c2154569adf199f26b"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Wed Sep 05 22:03:19 2018 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sun Sep 16 14:47:27 2018 +0000"
      },
      "message": "audio policy: fix getOutputFromId and getInputFromId\n\nIt should return NULL instead of the last descriptor handle\nif mismatching specific output/input id.\n\nBug: 115474937\nTest: manual test.\nChange-Id: I37ff9622392f3fa3fbfd0c2a3362c704340bd72c\n"
    },
    {
      "commit": "d975119d1ad25c64faff476b48f3d39b29244bc4",
      "tree": "9ab084833820d5343d8453ab66d5aea03f6429a9",
      "parents": [
        "6d853b134bef4bd750439023664d68542f27bb10",
        "ace588cc1e78f3a83a0e410113009fb31a0f9af7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Sep 15 01:38:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 15 01:38:23 2018 +0000"
      },
      "message": "Merge \"nblog: split NBLog.cpp into multiple files\""
    },
    {
      "commit": "6d853b134bef4bd750439023664d68542f27bb10",
      "tree": "9450cbc9b0135496c75adec82cb0d6d0ce490524",
      "parents": [
        "45146a2c3b3cd3aebab46306cc43d27e952e8060",
        "227342aa95b7994dc6fa361aea2f1cc4f039be46"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 15 00:50:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 15 00:50:14 2018 +0000"
      },
      "message": "Merge \"Add missing SPEAKER_SAFE device in DEVICE_CATEGORY_SPEAKER\""
    },
    {
      "commit": "ace588cc1e78f3a83a0e410113009fb31a0f9af7",
      "tree": "7b82d5a4892f8ea53620c937927b6c9eb363cdb6",
      "parents": [
        "c5fee0a8854f5decd3b567d2383cd38f0aada4f4"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Wed Sep 12 11:44:43 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Fri Sep 14 15:57:50 2018 -0700"
      },
      "message": "nblog: split NBLog.cpp into multiple files\n\nNBLog.cpp was deleted and split up into Entry.cpp, Merger.cpp,\nReader.cpp, Timeline.cpp, and Writer.cpp. NBLog.h was split up into\nEntry.h, Events.h, Merger.h, Reader.h, Timeline.h, and Writer.h. NBLog.h\nnow includes all of these new headers except Merger.h, which is managed\nexclusively by MediaLogService.\n\nOther changes:\n- changed NBLog from a class to a namespace\n- changed NBLog::thread_info_t.type to enum and replaced magic numbers\n- fixed some fragile build dependencies in libaudioclient and medialog\n\nNo other changes were made, and all functionalities that existed prior\nto this commit remain the same.\n\nTest: build, dumpsys media.log\nBug: 68148948\nChange-Id: I1ce6dcb7b30d004f90584edfad7103a89f7bab0c\n"
    },
    {
      "commit": "45146a2c3b3cd3aebab46306cc43d27e952e8060",
      "tree": "d939bbbc09b86ade436ca9543668d2bbcb366032",
      "parents": [
        "fd1da15b1b1f05a6b431fd4e33dbb3361e2fc773",
        "6ff79a0dd1cc27302c466764bf9b9d4f21502e1a"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Sep 14 14:34:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 14 14:34:32 2018 -0700"
      },
      "message": "Merge \"Camera: Fix high speed recording failure due to prepare()\" am: 0de0bf9db7 am: 6808238a51\nam: 6ff79a0dd1\n\nChange-Id: I2d6d71f6e145441b69c016dc7bf8f5403453ddce\n"
    },
    {
      "commit": "6ff79a0dd1cc27302c466764bf9b9d4f21502e1a",
      "tree": "38aaa0f98d8eeb7f61731621f45786a4d922bcf0",
      "parents": [
        "3bc9597fda7cc1031e0e10296a7ccb5037732d25",
        "6808238a516e8e45be450655d8412a31e0d5b3d4"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Sep 14 14:28:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 14 14:28:20 2018 -0700"
      },
      "message": "Merge \"Camera: Fix high speed recording failure due to prepare()\" am: 0de0bf9db7\nam: 6808238a51\n\nChange-Id: I99b766a107127bbdd83e04b79a142f5f2e49aab6\n"
    },
    {
      "commit": "6808238a516e8e45be450655d8412a31e0d5b3d4",
      "tree": "cfd09c9f2940364b8a319d8501884ece66136122",
      "parents": [
        "4eabdc123701200b91ca48602458ad254e3b0703",
        "0de0bf9db7a8e91d5769513fc69bf3aa488d9435"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Sep 14 14:21:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 14 14:21:39 2018 -0700"
      },
      "message": "Merge \"Camera: Fix high speed recording failure due to prepare()\"\nam: 0de0bf9db7\n\nChange-Id: Ic5df52da0735de1166336a85404573e1002de2b0\n"
    },
    {
      "commit": "227342aa95b7994dc6fa361aea2f1cc4f039be46",
      "tree": "f0bc62cf5bda69988481513c1d1aed8c7446f4e7",
      "parents": [
        "c5fee0a8854f5decd3b567d2383cd38f0aada4f4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 14 11:42:37 2018 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 14 11:42:37 2018 -0700"
      },
      "message": "Add missing SPEAKER_SAFE device in DEVICE_CATEGORY_SPEAKER\n\nExplicitly list AUDIO_DEVICE_OUT_SPEAKER_SAFE in getDeviceCategory\n  function, so it\u0027s not relying on default case.\n\nTest: build\nChange-Id: If465311694c405a35aa8a5d36bfe16948a3b56b4\n"
    },
    {
      "commit": "b3a0fb55cf567043db7470f22f791858a62d2cbf",
      "tree": "9a6a167a39303021eac8cad9a3bf8a6a2c249109",
      "parents": [
        "daba8f4f19568a2cd8bf67c5e1dadb65409a7e6a"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Sep 13 17:24:08 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Sep 14 10:40:09 2018 -0700"
      },
      "message": "Camera: Fix high speed recording failure due to prepare()\n\nIn case application sends 2 consecutive setRepeatingBurst, the first\nrequest may be preparing the video stream, whiel the second request\nfails the isPreparing check.\n\nFix this by distinguishing between internal and external prepare. For\ninternal prepare, allow new requests to come through to the request\nthread.\n\nBug: 114422231\nBug: 109830370\nTest: Camera CTS\nChange-Id: I55a7271e3924f2cb8cf9c452e934b070a82bc4ca\n"
    },
    {
      "commit": "2ca73b95dab8abb2c0cf231ca63c1b57f98e9a16",
      "tree": "9d032e7917b8433d5af8d9409518c38b4be87a42",
      "parents": [
        "b83becc21422314de2ad31c286f52437ce88fdc0",
        "6b1c612162ce290c54e0b0a418e1791410f95d47"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Sep 14 16:35:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 14 16:35:15 2018 +0000"
      },
      "message": "Merge changes Ifa9c05c0,I7c74af89,I6b3ed72c,I216e2746\n\n* changes:\n  AudioRecord: Add client side track id for logging\n  AudioTrack: Add client side track id for logging\n  AudioFlinger: Use track ids in log messages\n  AudioFlinger: Replace track name with id\n"
    },
    {
      "commit": "b83becc21422314de2ad31c286f52437ce88fdc0",
      "tree": "47d15d7b4f40884aafc40f8a0118c73d2917796d",
      "parents": [
        "080de927bace8f010735dd3c3397bb29d603113c",
        "6dd21efefed9d570d5ce07f602686d01321795eb"
      ],
      "author": {
        "name": "Michael Dooley",
        "email": "mdooley@google.com",
        "time": "Fri Sep 14 16:21:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 14 16:21:17 2018 +0000"
      },
      "message": "Merge \"Revert \"Adding getModelState API to sound trigger\"\""
    },
    {
      "commit": "6dd21efefed9d570d5ce07f602686d01321795eb",
      "tree": "14ed5d5d11af36880f87a3d856b8f55b9cbb671a",
      "parents": [
        "19a2dc31ab87bcc992a9725a0a6a3698d5855025"
      ],
      "author": {
        "name": "Michael Dooley",
        "email": "mdooley@google.com",
        "time": "Fri Sep 14 16:08:30 2018 +0000"
      },
      "committer": {
        "name": "Michael Dooley",
        "email": "mdooley@google.com",
        "time": "Fri Sep 14 16:08:30 2018 +0000"
      },
      "message": "Revert \"Adding getModelState API to sound trigger\"\n\nThis reverts commit 19a2dc31ab87bcc992a9725a0a6a3698d5855025.\n\nReason for revert: fix build breakage\n\nChange-Id: I9f58d4c7cfbd871259b4d3186b81de2af6c5021f\n"
    },
    {
      "commit": "6e73ccf3fcd744ff6706f0052e1d45faa57fea20",
      "tree": "039242e4b2d4c123324641cb19261938f062a003",
      "parents": [
        "581779dae6a35fbaec11e09174a4c99946a696e0",
        "19a2dc31ab87bcc992a9725a0a6a3698d5855025"
      ],
      "author": {
        "name": "Michael Dooley",
        "email": "mdooley@google.com",
        "time": "Fri Sep 14 12:32:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 14 12:32:10 2018 +0000"
      },
      "message": "Merge \"Adding getModelState API to sound trigger\""
    },
    {
      "commit": "6b1c612162ce290c54e0b0a418e1791410f95d47",
      "tree": "51f1213fa8c534e8f403c40a1b6f2f34b7b7fa39",
      "parents": [
        "fb8ede2a020e741cb892ee024fcfba7e689183f2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 12 19:09:07 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 13 17:54:49 2018 -0700"
      },
      "message": "AudioRecord: Add client side track id for logging\n\nTest: Audio sanity test, check logcat\nBug: 115400221\nChange-Id: Ifa9c05c0df66e372e773b5149a0f1ed49a21ef3a\n"
    },
    {
      "commit": "fb8ede2a020e741cb892ee024fcfba7e689183f2",
      "tree": "702e8497e892eaa0d4d8fb7d28ec78fc2762a1f2",
      "parents": [
        "9d84af54244f7ff086afdcc6e477fe4d04874652"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 12 19:03:24 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 13 17:54:36 2018 -0700"
      },
      "message": "AudioTrack: Add client side track id for logging\n\nTest: Audio sanity test, check logcat\nBug: 115400221\nChange-Id: I7c74af8962f7d3b72a7b843df906c54f79f6f009\n"
    },
    {
      "commit": "9d84af54244f7ff086afdcc6e477fe4d04874652",
      "tree": "dc3f3d5c5bc956b413fe3cc234ed45cc20cff1d9",
      "parents": [
        "c06913801424b90dfbc94b401039352869f20e3e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 12 18:03:44 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 13 17:54:07 2018 -0700"
      },
      "message": "AudioFlinger: Use track ids in log messages\n\nTest: Audio sanity test, check logcat\nBug: 115400221\nChange-Id: I6b3ed72c3a2584f03bb2183b099c5a42d2d49527\n"
    },
    {
      "commit": "f783424b1ad040f6437ed83ffb690e8ec5c793ec",
      "tree": "9d8a7d567fc090c216b90b9f1e5a3229fdd5d314",
      "parents": [
        "3a5dd17c6ccad88391d59bbae529fb529181148a",
        "b8b6097e135cbf0c48a9924a592de992b3396e17"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 13 22:58:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 13 22:58:04 2018 +0000"
      },
      "message": "Merge \"PatchPanel: Specify latency units for patches\""
    },
    {
      "commit": "6689f2e894a99838c03c737ea7f0409aa2a1c37c",
      "tree": "926ac2344ce0e8880b6e6526b81710f32a564e01",
      "parents": [
        "603414d5f73906de998a71fd6d33aaa5baa55fe0",
        "fd9ed407e0986dabd2c74958462d466fec14446b"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Sep 13 13:58:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 13 13:58:25 2018 -0700"
      },
      "message": "Merge \"Camera: extend getBuffer wait timeout\" am: a8fb86eb97 am: 453a3787f9\nam: fd9ed407e0\n\nChange-Id: I0409acec970e4d2a94c596ef9f888e43029897aa\n"
    },
    {
      "commit": "fd9ed407e0986dabd2c74958462d466fec14446b",
      "tree": "3fa568a937db60fe0fcc2154d35247fb6586edaa",
      "parents": [
        "c76a037bc559c49414c9e7d2c63c85399652b10b",
        "453a3787f933af1aeb62f59166f1cd8578afb3bd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Sep 13 13:45:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 13 13:45:52 2018 -0700"
      },
      "message": "Merge \"Camera: extend getBuffer wait timeout\" am: a8fb86eb97\nam: 453a3787f9\n\nChange-Id: I7b535874bfef2ada0eb9fc5e0437584862c9218b\n"
    },
    {
      "commit": "453a3787f933af1aeb62f59166f1cd8578afb3bd",
      "tree": "9d1ee487b96a78fcecb531eb24348cd6900a7fb0",
      "parents": [
        "081c7fb26c2bdad4765bbd6618da992292853917",
        "a8fb86eb9712724c3896f0cd9e7049e12bf99d37"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Sep 13 13:27:23 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 13 13:27:23 2018 -0700"
      },
      "message": "Merge \"Camera: extend getBuffer wait timeout\"\nam: a8fb86eb97\n\nChange-Id: Icd507ea88bafeec83f9df9c942d2dbf628179954\n"
    },
    {
      "commit": "603414d5f73906de998a71fd6d33aaa5baa55fe0",
      "tree": "b3cdde803a0476620ef0c66a3a027d94d33e85ae",
      "parents": [
        "5e84c1ae3a810bb42404631291be584bd1b7b24f",
        "f9d2c02eca0215ea4afcd92925c976585f6ffaef"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Sep 13 19:57:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 13 19:57:49 2018 +0000"
      },
      "message": "Merge \"Camera: Add support for hidden physical camera IDs\""
    },
    {
      "commit": "b8b6097e135cbf0c48a9924a592de992b3396e17",
      "tree": "1a057d2074c0d086f9396531f203597b17f901c6",
      "parents": [
        "c5fee0a8854f5decd3b567d2383cd38f0aada4f4"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Sep 13 12:55:43 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Sep 13 12:55:43 2018 -0700"
      },
      "message": "PatchPanel: Specify latency units for patches\n\nWhen the latency number is too high, it becomes ambiguous\nwhether it\u0027s in milli- or nano-seconds.\n\nTest: dumpsys\nChange-Id: I175a562f403dc4d67e50687927cd4edf9bc7d922\n"
    },
    {
      "commit": "a8fb86eb9712724c3896f0cd9e7049e12bf99d37",
      "tree": "bf3c574dfd1791b4cf889af9517bf61b78768872",
      "parents": [
        "e91c38936da30ecee4784425f4731fb4fc3e3534",
        "b3a80b1c627035a05eda702e7f8ad6d18b7d54f5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 13 19:46:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 13 19:46:54 2018 +0000"
      },
      "message": "Merge \"Camera: extend getBuffer wait timeout\""
    },
    {
      "commit": "19a2dc31ab87bcc992a9725a0a6a3698d5855025",
      "tree": "c0e11ea1905288361d1a9a459a7d6604504587fa",
      "parents": [
        "f8219e1b52a2aa634176e9dcf7822f526a82b852"
      ],
      "author": {
        "name": "mike dooley",
        "email": "mdooley@google.com",
        "time": "Wed Aug 22 14:57:53 2018 +0200"
      },
      "committer": {
        "name": "mike dooley",
        "email": "mdooley@google.com",
        "time": "Thu Sep 13 21:42:00 2018 +0200"
      },
      "message": "Adding getModelState API to sound trigger\n\nTest: built android\nBug-Id: 70206501\nChange-Id: Ib0c7dfa74bbab196516330a222ae9dcb78a6a9e3\n"
    },
    {
      "commit": "c06913801424b90dfbc94b401039352869f20e3e",
      "tree": "5b648a0897db335b91c9365bdd2ba01d0eb708e6",
      "parents": [
        "867f39f2797ae01139fe956fe4f029548de4d662"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 12 18:01:57 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 13 10:44:18 2018 -0700"
      },
      "message": "AudioFlinger: Replace track name with id\n\nSimplifies Mixer handling, makes debug messages consistent.\n\nTest: Audio sanity test, check logcat\nBug: 115435564\nChange-Id: I216e2746170605dfb7994ac660c5534869e887fe\n"
    },
    {
      "commit": "5e84c1ae3a810bb42404631291be584bd1b7b24f",
      "tree": "f55a3764493e6f0546e6b746214e4c75b08f24c5",
      "parents": [
        "4cb2780e155a6655ce6ccf96011fdc515abddbc1",
        "e20c637ecffd2b26ad0be908aa60fd97df03cf12"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 13 17:22:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 13 17:22:28 2018 +0000"
      },
      "message": "Merge \"Camera: Filter camera characteristics\""
    },
    {
      "commit": "e20c637ecffd2b26ad0be908aa60fd97df03cf12",
      "tree": "10755ad933b5738755f12208e6269fd5eebddbb2",
      "parents": [
        "0127c1be07d63e046e136126cd465c3fa8977768"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Aug 14 18:45:53 2018 +0100"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Sep 13 10:20:09 2018 +0100"
      },
      "message": "Camera: Filter camera characteristics\n\nCamera characteristics for camera clients that don\u0027t\nhold the camera permission must not contain any\nmetadata that explicitly requires this permission.\nVendor tags must be absent in this case as well.\n\nBug: 112160024\nTest: Manual using application,\nadb shell /data/nativetest64/camera_client_test/camera_client_test\n--gtest_filter\u003dCameraCharacteristicsPermission.TestCameraPermission\nCamera CTS\n\nChange-Id: I4e34c6ef7bd4315327ca78084fa3dcc175fc8098\n"
    },
    {
      "commit": "5dddbfdd9d7df353e69a48c571f37c435a9cf0fd",
      "tree": "1e15b0e168f7a04d38292e0eacf500df72661d71",
      "parents": [
        "c5fee0a8854f5decd3b567d2383cd38f0aada4f4"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Sep 11 14:15:05 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Sep 12 16:24:19 2018 -0700"
      },
      "message": "AudioPolicyManager: Add more logging for surround formats\n\nHelpful changes for debugging the TV Surround Sound Settings:\n\n- add a couple of ALOGV messages for get/setSurroundFormats;\n\n- add more ALOGW for problems to setSurroundFormatEnabled;\n\n- add dumping for APM::mSurroundFormats.\n\nTest: check logcat and dumpsys of APM\nChange-Id: Iedcdf8bc55d9c23937c1c5754dac47c37402b535\n"
    },
    {
      "commit": "f9d2c02eca0215ea4afcd92925c976585f6ffaef",
      "tree": "22272a2acf4cad7fe8c80089e37a2c01d13d0cfe",
      "parents": [
        "dd6f1835aa352c167d04f4280289988faed7f590"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Aug 21 12:07:35 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Sep 12 10:26:57 2018 -0700"
      },
      "message": "Camera: Add support for hidden physical camera IDs\n\nSupport 3_5 HAL device version for querying physical camera\ncharacteristics.\n\nTest: Camera CTS on Pixel devices\nBug: 79523700\nChange-Id: I804cdb5dc75553d6b6f9fb42187a76bd69168179\n"
    },
    {
      "commit": "2ca0dcaf432fc4ceffbd40178be860780bd09f9b",
      "tree": "5b8946540ce7da3856c8f5797ff0089df14ee410",
      "parents": [
        "6b5aebe69f5db1c758a192a464dac1f0000dd060",
        "dfb411f91668972faddfc3d175bd3c95ce29673e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 12 01:18:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 12 01:18:28 2018 +0000"
      },
      "message": "Merge \"Audioflinger: Dump \"master mute\" state in threads\""
    },
    {
      "commit": "6b5aebe69f5db1c758a192a464dac1f0000dd060",
      "tree": "fd26f6283cbcc7a64a264320fd1ee9b64df7a992",
      "parents": [
        "4622878b8f7f47f6b9ae41135f9a6d909a5fccdf",
        "b0688d699b8c2f406e001a5c991f3e0515c84ab9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 11 23:10:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 23:10:11 2018 +0000"
      },
      "message": "Merge changes I3f135b98,Ifadb1d24,Ieef3e05d,Id342c224\n\n* changes:\n  audio policy: fix getDevicesForStream() with preferred route\n  audiopolicy: refactor playback activity ref counting\n  audio policy: remove AudioSession class\n  audio policy: refactor preferred route implementation\n"
    },
    {
      "commit": "dfb411f91668972faddfc3d175bd3c95ce29673e",
      "tree": "df481e8f5dc63df36dc8a469d6e248383f9beba1",
      "parents": [
        "aec9c3e4b573862dacb4b4cec4c87cf736a3a28e"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Sep 11 13:39:56 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Sep 11 13:39:56 2018 -0700"
      },
      "message": "Audioflinger: Dump \"master mute\" state in threads\n\n\"Master mute\" which can be toggled on via \"ro.audio.silent\" property\nhas user-hearable effect, but is not reflected in the dumpsys.\nThis can cause confusion (see the bug referenced).\n\nNote that we need to dump PlaybackThread::mMasterMute, not\nAudioFlinger::mMasterMute, as the latter does not get updated\nby threads in order to avoid taking a lock.\n\nBug: 113348789\nTest: toggle property, check media.audio_flinger dump\nChange-Id: I7f276b233df2f5eca585ffb30031835c030858e1\n"
    },
    {
      "commit": "5fcd6ca5e4811a1a0b7606debe94a23b489bbae4",
      "tree": "2815428e70f9f08936332ccbb1d2801dfbd0b900",
      "parents": [
        "55071964900997e3bc4a47a931839829e3665028",
        "d6eee717dffdd8ee5c9dabaed80940d6838c47b9"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Tue Sep 11 19:24:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 19:24:41 2018 +0000"
      },
      "message": "Merge changes I9b1538a8,Ib6ea9676\n\n* changes:\n  periodically push AudioFlinger thread statistics to media metrics\n  NBLog: log and store warmup times, underruns, overruns, and thread info\n"
    },
    {
      "commit": "fefe316501e06c96ce0d905c793b4d872d60e976",
      "tree": "cd6bb858c1de4d0bba5d7a321a5db065247fc3fc",
      "parents": [
        "bc2a77308b7c197a30a3289e5b75d0f089e65982"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Fri Sep 07 10:09:11 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Mon Sep 10 19:05:08 2018 -0700"
      },
      "message": "NBLog: log and store warmup times, underruns, overruns, and thread info\n\nTest: dumpsys media.log\nBug: 68148948\n\nChange-Id: Ib6ea96760f7886cba47c8e2f0334114237a2434b\n"
    },
    {
      "commit": "b3a80b1c627035a05eda702e7f8ad6d18b7d54f5",
      "tree": "92c2812b518a0781028cd3f7dde3a24b1c5874a7",
      "parents": [
        "89bdf3ae713cf5c4d5f12b037fc8ae127af09c0c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Sep 04 12:13:05 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Sep 10 14:37:46 2018 -0700"
      },
      "message": "Camera: extend getBuffer wait timeout\n\nIn extreme cases, HAL needs to wait until all inflight requests\nare fulfilled before it can return a buffer, so extend the\ngetBuffer wait accordingly.\n\nTest: partner testing, smoke test Pixel\nBug: 113660745\nChange-Id: I363098004e70b75e11651fe0f1c75efcfda970f4\n"
    },
    {
      "commit": "55071964900997e3bc4a47a931839829e3665028",
      "tree": "46fba37b40789e76399ca5cf1d23c72a6759da19",
      "parents": [
        "dd6f1835aa352c167d04f4280289988faed7f590",
        "bc2a77308b7c197a30a3289e5b75d0f089e65982"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Mon Sep 10 21:34:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 21:34:31 2018 +0000"
      },
      "message": "Merge \"media.metrics: add new record type \"audiothread\"\""
    },
    {
      "commit": "b0688d699b8c2f406e001a5c991f3e0515c84ab9",
      "tree": "0b2444fe7f07c79f9cda5a683303e6cd52961564",
      "parents": [
        "592dd7bf150cee7990958632425c411366252083"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 14 15:49:18 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 10 14:07:45 2018 -0700"
      },
      "message": "audio policy: fix getDevicesForStream() with preferred route\n\nFix getDevicesForStream() to return correct device when the stream\nis active with an explicit preferred device selection.\n\nTest: manual test with AudioExplicitRouting app.\nChange-Id: I3f135b98b50c570ac7123c723f195da64a2d1e20\n"
    },
    {
      "commit": "592dd7bf150cee7990958632425c411366252083",
      "tree": "4cee35a646c148839ed4839a96d03a2464b425ba",
      "parents": [
        "8f42ea1fd1c813d9ed97ade72d7514e883cf7cb9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Aug 05 18:58:48 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 10 14:07:45 2018 -0700"
      },
      "message": "audiopolicy: refactor playback activity ref counting\n\nPlayback activity ref couting is now based on active state\nof PlaybackClientDescriptor.\n\nThe active reference count per stream on each output is still\nused because it provides a simple implementation for duplicated output.\n\nTest: CTS tests for AudioTrack and Routing\nTest: manual audio smoke test\n\nChange-Id: Ifadb1d24131581461aace14a5b25e7c7582c57cb\n"
    },
    {
      "commit": "8f42ea1fd1c813d9ed97ade72d7514e883cf7cb9",
      "tree": "4a6c16fd8b856a10fd122170d55a93899cc2613c",
      "parents": [
        "97ac871cd4f075b3d4b47557a81e9e05ad7762ec"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 08 09:08:25 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 10 14:07:45 2018 -0700"
      },
      "message": "audio policy: remove AudioSession class\n\nNow that clients are tracked individually, tracking by\naudio session is no needed anymore.\nModify management of client activity, preempted sound trigger\nsessions and silenced uids to rely on RecordClientDescriptor\ninstead of AudioSession.\n\nTest: CTS test for AudioRecord\nTest: manual capture audio tests for all use cases\n\nChange-Id: Ieef3e05daea98aec9320412393f912bd6bd7e046\n"
    },
    {
      "commit": "97ac871cd4f075b3d4b47557a81e9e05ad7762ec",
      "tree": "a6a547e02e4d736e45f275b4c93c2576ef30e675",
      "parents": [
        "dd6f1835aa352c167d04f4280289988faed7f590"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 27 18:59:02 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 10 14:07:45 2018 -0700"
      },
      "message": "audio policy: refactor preferred route implementation\n\nRemove SessionRoute class and replace by use of\npreferredDevice and active state in ClientDescriptor\n\nAlso fix the behavior for other clients using same strategy as\nclient with preferred route: the preferred route is only used if\nno other clients using the same strategy are active without a preferred\nroute.\nIf all clients have a preferred route, the route of the last active\nclient is used.\n\nAlso fixed getOutputForAttr() to return correct selected device ID when\ndynamic policies are used.\n\nTest: CTS RoutingTest, AudioPlayRoutingNative, AudioRecordRoutingNative\nTest: Manual: AudioExplicitRouting, UplinkMusicSampleApp\n\nChange-Id: Id342c2241ace3e1a359ea74f4a539a395f793b86\n"
    },
    {
      "commit": "0127c1be07d63e046e136126cd465c3fa8977768",
      "tree": "4eb611ec5d010becd3583f93c640cc9468acb3b3",
      "parents": [
        "fdfae2898f0785f19de198ed00488e03bf52bca9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Mar 29 13:48:06 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Sep 07 11:08:24 2018 -0700"
      },
      "message": "aaudio: use new flowgraph to simplify processing\n\nConstruct a flowgraph based on the source and destination\nformat and channelCount. This is groundwork for supporting 24-bit\nPCM formats.\n\nAlso cleaned up handling of device related format.\n\nThis CL removes more code than it adds.\n\nBug: 65067568\nTest: write_sine_callback.cpp -pl\nTest: write_sine_callback.cpp -pl -x\nTest: input_monitor -pl\nTest: input_monitor -pl -x\nChange-Id: Ia155bff0164912011d09b61b54f983ccf4490bd1\n"
    },
    {
      "commit": "bc2a77308b7c197a30a3289e5b75d0f089e65982",
      "tree": "0ecd2a56a618c280fb7bb430ef143c4af66cb173",
      "parents": [
        "8d4991797071989e51b08dd58cbe2635ef544f95"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Thu Sep 06 12:04:44 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Thu Sep 06 18:17:52 2018 -0700"
      },
      "message": "media.metrics: add new record type \"audiothread\"\n\nTest: compile\nBug: 68148948\n\nChange-Id: I8cf96fdc218bd09d90916f2c96fa343ddd4f873b\n"
    },
    {
      "commit": "0f6e640075173b76c3925f2cf92d9faf5ce8caba",
      "tree": "e0b4dc6b94fd7f516b411e1fdbd6f115d772a083",
      "parents": [
        "9d83f9d405290b952ba519213eeef918df2b2a76"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 06 11:20:45 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 06 11:21:22 2018 -0700"
      },
      "message": "AudioPolicyManager: Update property get\n\nUse built-in prop_get_bool and prop_get_int32 for consistent behavior.\n\nTest: Play Music and disable offload\nChange-Id: I0a76430ceffadac529c193f3b19b5dd1cd7aa467\n"
    },
    {
      "commit": "9d83f9d405290b952ba519213eeef918df2b2a76",
      "tree": "650470e0021eaf223fbb268bbecf9e0157eaaf35",
      "parents": [
        "a8e8fe5655b0fbc9b0b04d153c69a4df75941f34",
        "f0c4a6b5cd282b7cdb19205bdcea4572d47c23e1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 06 15:55:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 06 15:55:07 2018 +0000"
      },
      "message": "Merge \"Camera: Treat decreasing timestamp as BUFFER_ERROR\""
    },
    {
      "commit": "752c7cfc96f1a6ca0f16e0b4d9962c35cbe0e88a",
      "tree": "eacdd2f96287b41aeacad3fbc975cb260e46abcc",
      "parents": [
        "d4a9ce4ba72280b7f3833446925f0bf6e42e1112",
        "f4942d7989993b8d82010dd1047a4c68d625b324"
      ],
      "author": {
        "name": "Shingo Kitajima",
        "email": "shingo.x.kitajima@sony.com",
        "time": "Wed Sep 05 23:42:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 05 23:42:52 2018 -0700"
      },
      "message": "Merge \"Allow volume setting only for offloadable effect for Offload\" am: 311d0133a4 am: cdca8b4205\nam: f4942d7989\n\nChange-Id: I47468b938913f77e68a7bde41105b4c92a57f58d\n"
    },
    {
      "commit": "f4942d7989993b8d82010dd1047a4c68d625b324",
      "tree": "cfb1e816067fb5b8d64ad68107c893e42dab60d3",
      "parents": [
        "3506f424aeb19db7bf6bbb17f0a80d61d119cc2b",
        "cdca8b4205c396af4ed2746e096837b753696934"
      ],
      "author": {
        "name": "Shingo Kitajima",
        "email": "shingo.x.kitajima@sony.com",
        "time": "Wed Sep 05 21:12:00 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 05 21:12:00 2018 -0700"
      },
      "message": "Merge \"Allow volume setting only for offloadable effect for Offload\" am: 311d0133a4\nam: cdca8b4205\n\nChange-Id: Ib96e1ff3d57b13834f311455bd491b1956322c30\n"
    },
    {
      "commit": "cdca8b4205c396af4ed2746e096837b753696934",
      "tree": "966e089d0590f2d28bdb87dda4cb7c4ae446f00a",
      "parents": [
        "649ac89590a610b13caf4e94f1c2a417b7c90a80",
        "311d0133a4b2f3156026ba318cb9bb1e7cbe5e73"
      ],
      "author": {
        "name": "Shingo Kitajima",
        "email": "shingo.x.kitajima@sony.com",
        "time": "Wed Sep 05 20:42:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 05 20:42:55 2018 -0700"
      },
      "message": "Merge \"Allow volume setting only for offloadable effect for Offload\"\nam: 311d0133a4\n\nChange-Id: Ic4b17b863c4d1f523adb9b75b21d6f1beb925120\n"
    },
    {
      "commit": "311d0133a4b2f3156026ba318cb9bb1e7cbe5e73",
      "tree": "20424d51aad87e0ae87feb31b6f91bce5f6ce1f2",
      "parents": [
        "7b95c4c042eabd256109399a2065bdb36047e461",
        "1f8df9ae201bc4405aed068c910b08dc5458864f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 06 00:46:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 06 00:46:52 2018 +0000"
      },
      "message": "Merge \"Allow volume setting only for offloadable effect for Offload\""
    },
    {
      "commit": "f0c4a6b5cd282b7cdb19205bdcea4572d47c23e1",
      "tree": "03cd37bc313b1065301fe46defd683e96153f7fd",
      "parents": [
        "89e319f74c394a59f180e88cc57e0afd9993a0a4"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Sep 05 09:36:14 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Sep 05 13:33:53 2018 -0700"
      },
      "message": "Camera: Treat decreasing timestamp as BUFFER_ERROR\n\nDecreasing timestamp shouldn\u0027t happen in non ZSL or reprocessing case.\nWhen that happens, treat the buffer as error and return to buffer queue\ndirectly.\n\nTest: Camera CTS\nBug: 113670946\nChange-Id: I39d3417dd9307d6cc7c90ff357a82604566a9081\n"
    },
    {
      "commit": "f4ff42947da3f996a51f01891f563a2af0fa26d4",
      "tree": "f47a42c781b2cdb021391d3e12f17a3d26207abd",
      "parents": [
        "c3c67567b35fe780e18255d66fdd3ec3284fcb94",
        "15f97c996f29c780f52fe3504fabd08dbde066ba"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 05 18:59:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 05 18:59:37 2018 +0000"
      },
      "message": "Merge \"aaudio: set to SHARED when EXCLUSIVE fails\""
    },
    {
      "commit": "f7996c2c055e617b71c654c2574b939400e9c42c",
      "tree": "294c64457a404e9401ae61e258cc3e425e9b30c2",
      "parents": [
        "89e319f74c394a59f180e88cc57e0afd9993a0a4",
        "cf3d82c34b8a737408113dddad341b8c98251a8e"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Wed Sep 05 16:43:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 05 16:43:12 2018 +0000"
      },
      "message": "Merge \"NBLog: refactor Writer API for extensibility\""
    },
    {
      "commit": "15f97c996f29c780f52fe3504fabd08dbde066ba",
      "tree": "8998772c04ba3863be56cc2c1c98c56f688dbf48",
      "parents": [
        "0d97cec0533f47237b16b294fd92a827f2ebdc6f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Sep 04 14:06:27 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Sep 05 09:25:11 2018 -0700"
      },
      "message": "aaudio: set to SHARED when EXCLUSIVE fails\n\nSHARED streams and endpoints were being created with sharing mode\nset to EXCLUSIVE. This was confusing the close() code and caused a hang.\n\nNow we create a modified Request object with the sharing mode set\ncorrectly.\n\nBug: 112709847\nTest: Hack AAudioServiceEndpointMMAP so isBufferShareable is false.\nTest: \u0027adb shell write_sine_callback -pl -x -s2\u0027 should not hang.\nChange-Id: I7a5c8260beaffdd706f34d35ef00a61b072adb1d\n"
    },
    {
      "commit": "cf3d82c34b8a737408113dddad341b8c98251a8e",
      "tree": "358cb91f4b3b812054daab215b754b9920cf4a50",
      "parents": [
        "e98dd6f5496aaba009ed27be8e83af1cd10869c5"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Tue Sep 04 15:44:45 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Tue Sep 04 18:02:00 2018 -0700"
      },
      "message": "NBLog: refactor Writer API for extensibility\n\nNo new functionality was added, and no existing functionality was\nremoved.\n\nEvent types have been renamed and reorganized according to\nfunctionality. A compile-time mapping from Event to C++ data type allows\nfor a generic Event log() template function to avoid the need to add a\nnew logging function when a new Event is added to enum NBLog::Event.\n\nMost LockedWriter functions were deleted because they did not involve\naccessing shared variables. Only the functions that accessed shared\nvariables were kept in LockedWriter.\n\nTest: dumpsys media.log -r\nBug: 68148948\nChange-Id: I8a27f1690795cdb0b84e92033b7cbf4588ba175e\n"
    },
    {
      "commit": "20993fa7abe98f7821cf4039b43a1503751610a7",
      "tree": "91d8a64771d88c63192bbb3e6a5ea2cf3de1c1f3",
      "parents": [
        "9a03f226b3c3c4f4a69cd9ac4ed58c2b720fc802",
        "e74e76d59723a4c5439ad3a902655d7e2ae5c76a"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 04 09:47:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 04 09:47:22 2018 -0700"
      },
      "message": "Merge \"Fix potential memory leak.\" am: 89bdf3ae71 am: 5c86ca4a50\nam: e74e76d597\n\nChange-Id: Idad7c5e994ac2a4ce686e79cb3ca9db65c60f2cc\n"
    },
    {
      "commit": "e74e76d59723a4c5439ad3a902655d7e2ae5c76a",
      "tree": "1e76412fe49cf47769b3481e2acd810500bbecc6",
      "parents": [
        "bfff52ee8ea2a87a3358ea44d61237734b5ef098",
        "5c86ca4a501a02a9c0908d5f99ff836fe5fd514f"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 04 09:43:11 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 04 09:43:11 2018 -0700"
      },
      "message": "Merge \"Fix potential memory leak.\" am: 89bdf3ae71\nam: 5c86ca4a50\n\nChange-Id: Ia40481c763a1257737b354fa772ba77d53691235\n"
    },
    {
      "commit": "5c86ca4a501a02a9c0908d5f99ff836fe5fd514f",
      "tree": "95e0e5d80f342ea610da9e6a4a5d12d56aceee3d",
      "parents": [
        "9cee5d1541e6efed76e66de9cff2eff294e774e6",
        "89bdf3ae713cf5c4d5f12b037fc8ae127af09c0c"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 04 09:39:00 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 04 09:39:00 2018 -0700"
      },
      "message": "Merge \"Fix potential memory leak.\"\nam: 89bdf3ae71\n\nChange-Id: If83e8a7631f7cbb37b0f1724b94957a9dab347ca\n"
    },
    {
      "commit": "89bdf3ae713cf5c4d5f12b037fc8ae127af09c0c",
      "tree": "17d14bdd4b24c30bde8c579ea47ead00d7042a94",
      "parents": [
        "1a1ef1ddc2b4e0968ce212844e16db4637fdc4e3",
        "0307768305a87dd94f1b02d36ad2f53e3041bdaf"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 04 16:29:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 04 16:29:08 2018 +0000"
      },
      "message": "Merge \"Fix potential memory leak.\""
    },
    {
      "commit": "9a03f226b3c3c4f4a69cd9ac4ed58c2b720fc802",
      "tree": "cd4251ef930043b5a49dc295edfed55ab1cef84b",
      "parents": [
        "12622e385ec3e78751e67311f99f364c7b283737",
        "2f074ce7ca8cce3189cebe0a0ce1b1ff402c814b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 04 15:47:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 04 15:47:07 2018 +0000"
      },
      "message": "Merge \"Camera3: Handle stream format override for shared output stream\""
    },
    {
      "commit": "12622e385ec3e78751e67311f99f364c7b283737",
      "tree": "fadc4af0faeaca8748c4a6eb111367e21f062a2d",
      "parents": [
        "b5817c55a11274cc8e00ad15dabc46836e0c3ea5",
        "f7fa2009b579aabf8275c8c96d3e2918b18b12bf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 03 17:23:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 03 17:23:18 2018 +0000"
      },
      "message": "Merge \"Camera: Do not treat non-increasing timestamp as fatal\""
    },
    {
      "commit": "b5817c55a11274cc8e00ad15dabc46836e0c3ea5",
      "tree": "29e6c2467a0c5f3e270f55fad9f94b1d2a242a5d",
      "parents": [
        "4e7cae5eed67640e500215af3faed8e45f8c84d1",
        "bfff52ee8ea2a87a3358ea44d61237734b5ef098"
      ],
      "author": {
        "name": "Hirokazu Honda",
        "email": "hiroh@google.com",
        "time": "Sun Sep 02 22:00:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 02 22:00:57 2018 -0700"
      },
      "message": "Merge \"mediacodec-x86.policy: Allow media.omx to call sched_setscheduler/uname on x86 platform\" am: 1a1ef1ddc2 am: 9cee5d1541\nam: bfff52ee8e\n\nChange-Id: Ib50e1b51e5a3cb78ef96bcf209f596f9071d2893\n"
    },
    {
      "commit": "bfff52ee8ea2a87a3358ea44d61237734b5ef098",
      "tree": "6f95536b1bcef895658f788875419a4a8e70b15e",
      "parents": [
        "acb537faa7157d4574e55c5f72d620496b3770f2",
        "9cee5d1541e6efed76e66de9cff2eff294e774e6"
      ],
      "author": {
        "name": "Hirokazu Honda",
        "email": "hiroh@google.com",
        "time": "Sun Sep 02 21:56:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 02 21:56:47 2018 -0700"
      },
      "message": "Merge \"mediacodec-x86.policy: Allow media.omx to call sched_setscheduler/uname on x86 platform\" am: 1a1ef1ddc2\nam: 9cee5d1541\n\nChange-Id: Iefade391ba643a990f750595ed484ad6e9859279\n"
    },
    {
      "commit": "9cee5d1541e6efed76e66de9cff2eff294e774e6",
      "tree": "fa2a4461d8d47a68ebdc04d3f4425e1a1d9a9f87",
      "parents": [
        "5b8c6e356727fa1edbdf6363291e0aa838b1932e",
        "1a1ef1ddc2b4e0968ce212844e16db4637fdc4e3"
      ],
      "author": {
        "name": "Hirokazu Honda",
        "email": "hiroh@google.com",
        "time": "Sun Sep 02 21:52:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 02 21:52:38 2018 -0700"
      },
      "message": "Merge \"mediacodec-x86.policy: Allow media.omx to call sched_setscheduler/uname on x86 platform\"\nam: 1a1ef1ddc2\n\nChange-Id: Id0da68cec760ff4e53481e3e3eb049a1fe92276e\n"
    },
    {
      "commit": "1a1ef1ddc2b4e0968ce212844e16db4637fdc4e3",
      "tree": "1fef80e96c95270befd5a16702eda5c54d0e1639",
      "parents": [
        "f53db30222c835ce495c5b115ad1e01227a519fe",
        "ba6a4c224dcd594b70dfa1569f5b31906346ce9c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 03 04:44:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 03 04:44:34 2018 +0000"
      },
      "message": "Merge \"mediacodec-x86.policy: Allow media.omx to call sched_setscheduler/uname on x86 platform\""
    },
    {
      "commit": "f53db30222c835ce495c5b115ad1e01227a519fe",
      "tree": "a8340bfd85339debf0abf77c46ab96ebd2ba808c",
      "parents": [
        "1635b6c22bd8b49615ff8570c28f88f9591a9c06",
        "b6ffcfec7001b3d6049803a04df275d7437d76c6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 31 23:38:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 31 23:38:53 2018 +0000"
      },
      "message": "Merge \"Camera: DistortionMapper: Fix to work consistently\""
    },
    {
      "commit": "f7fa2009b579aabf8275c8c96d3e2918b18b12bf",
      "tree": "0589ed000ff3ee7d257218bfcf660492d5dc8f03",
      "parents": [
        "8eed46df6794c7cd0a8501ad33592a681738e355"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Aug 31 14:24:18 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Aug 31 21:46:28 2018 +0000"
      },
      "message": "Camera: Do not treat non-increasing timestamp as fatal\n\nCertain devices generate duplicate timestamps for cases like video\nrecording. So do not treat non-increasing timestamps as fatal for now.\n\nTest: Failed camera CTS on Pixel device\nBug: 113670946\nChange-Id: I3708f46111edf031f48f460e4efce9f9c46f174e\n"
    },
    {
      "commit": "4f9ad3e8df07d613c120a41bed250ef61786637d",
      "tree": "3a0939431955ecfa7a3fdffde723b2331792ee47",
      "parents": [
        "d7d6c10c9be7bbce6e4a2dceb81155acf463fb40",
        "c9bf5e9feca9a663f6f05c6875f8b30cfda03140"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Aug 30 14:57:18 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 30 14:57:18 2018 -0700"
      },
      "message": "Merge \"Camera: consider all cameras in flash light control\" am: 1635b6c22b am: d6b8ceff66\nam: c9bf5e9fec\n\nChange-Id: I74eb1861495ccb3cc834be86902c8f0842dee106\n"
    },
    {
      "commit": "0307768305a87dd94f1b02d36ad2f53e3041bdaf",
      "tree": "2c1358d093500e82d6b6037766b8d3627501b653",
      "parents": [
        "4eeaffe5ee9e806fa56dce69657ea30c11e0fbad"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 30 14:11:00 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 30 14:11:00 2018 -0700"
      },
      "message": "Fix potential memory leak.\n\n* Do not reset caller\u0027s *param to NULL when realloc fails.\n  The caller will free *param.\n\nTest: build with WITH_TIDY\u003d1\nChange-Id: Iadd800b77fea4ea423d440e6e97e4dfc00c09fcd\n"
    },
    {
      "commit": "c9bf5e9feca9a663f6f05c6875f8b30cfda03140",
      "tree": "173d4ea6472758d581726b4dedfface91375c16b",
      "parents": [
        "e0c8a8c884e9fd02277cab068a7859bb0f273115",
        "d6b8ceff6694dee7cb454e2e4775d6444c32f827"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Aug 30 13:16:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 30 13:16:51 2018 -0700"
      },
      "message": "Merge \"Camera: consider all cameras in flash light control\" am: 1635b6c22b\nam: d6b8ceff66\n\nChange-Id: Idd03844e0d6f6552d3e55f5636acdfd119d6d339\n"
    },
    {
      "commit": "d6b8ceff6694dee7cb454e2e4775d6444c32f827",
      "tree": "cc4e706f0864c853b6faca04ac54b2893e41b640",
      "parents": [
        "85998cd83a1745642bc6823f7864ff47a2f2aa53",
        "1635b6c22bd8b49615ff8570c28f88f9591a9c06"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Aug 30 12:53:05 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 30 12:53:05 2018 -0700"
      },
      "message": "Merge \"Camera: consider all cameras in flash light control\"\nam: 1635b6c22b\n\nChange-Id: Ie8ec62a8cb089446c9b5b68b9ea4b9b2f185431c\n"
    },
    {
      "commit": "26abaf466f053b033ca678c8f4972c51a4b38d39",
      "tree": "eedd265dcdfc20b034ea2422a9743096ad36fdaf",
      "parents": [
        "10caf0e237e9201e0db92fe05d8872f548187f6a"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Aug 28 15:41:20 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Aug 30 10:51:40 2018 -0700"
      },
      "message": "Camera: Make sure timestamp is increasing\n\nGuard against case where timestamp of stream buffers doesn\u0027t increase.\n\nTimestamp source is either monotonic or boottime, both of which are\nguaranteed to increase.\n\nThere are 2 exceptions where timestamp may go back in time:\n- For requests where HAL ZSL is enabled, and\n- For reprocessing requests\n\nTest: Camera CTS\nBug: 113340974\nChange-Id: I0ae9290696d651168150fa5ed7aa13c140a0294f\n"
    },
    {
      "commit": "10caf0e237e9201e0db92fe05d8872f548187f6a",
      "tree": "80cd4bdf113c12ad4bc0b4c913aedc55047959d4",
      "parents": [
        "ce81711fcae028dc1b8c0fc63e78a80d2260014a",
        "e98dd6f5496aaba009ed27be8e83af1cd10869c5"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Thu Aug 30 16:13:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 16:13:15 2018 +0000"
      },
      "message": "Merge \"NBLog: add latency logging and histogram serialization\""
    },
    {
      "commit": "ba6a4c224dcd594b70dfa1569f5b31906346ce9c",
      "tree": "df0e6f7499c12e1d8475a348708d4d9a96ae9fa2",
      "parents": [
        "db44c5d13b9972a0d0dd177c31259b74bc2e4376"
      ],
      "author": {
        "name": "Hirokazu Honda",
        "email": "hiroh@google.com",
        "time": "Wed Aug 22 19:09:10 2018 +0900"
      },
      "committer": {
        "name": "Hirokazu Honda",
        "email": "hiroh@google.com",
        "time": "Thu Aug 30 18:12:33 2018 +0900"
      },
      "message": "mediacodec-x86.policy: Allow media.omx to call sched_setscheduler/uname on x86 platform\n\nBug: 4556907\nTest: m\nChange-Id: If8745a12b329974175d4a89e7e3d72efaff48c14\n"
    },
    {
      "commit": "e98dd6f5496aaba009ed27be8e83af1cd10869c5",
      "tree": "2d3c6b7f683b781d961d22d541d7193ec08f0642",
      "parents": [
        "6af1847b8ea55d9f21e75b0f0ed91dc0e8f68c32"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Wed Aug 22 18:23:50 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Wed Aug 29 15:10:40 2018 -0700"
      },
      "message": "NBLog: add latency logging and histogram serialization\n\nReportPerformance::writeToFile and the recording of PerformanceAnalysis\nFastMixer timestamps are disabled for now.\n\nTest: dumpsys media.log -r\nBug: 68148948\nChange-Id: I4ba55fc20521ad2278348e6a3f713f9db04d951b\n"
    },
    {
      "commit": "aec9c3e4b573862dacb4b4cec4c87cf736a3a28e",
      "tree": "6eb67ffe87ec8cda04cbc62146a02dc3f7290444",
      "parents": [
        "0d97cec0533f47237b16b294fd92a827f2ebdc6f",
        "a8115dc6d814c18d1ec68067425485add3ea1af2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Aug 29 16:55:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 29 16:55:34 2018 +0000"
      },
      "message": "Merge \"AudioFlinger: Add Thread history to dumpsys\""
    },
    {
      "commit": "b6ffcfec7001b3d6049803a04df275d7437d76c6",
      "tree": "43de5029ac1cbb0dd1ca44bf80811f79e6940ecd",
      "parents": [
        "4eeaffe5ee9e806fa56dce69657ea30c11e0fbad"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 25 10:41:04 2018 -0700"
      },
      "committer": {
        "name": "Po-Chien Hsueh",
        "email": "pchsueh@google.com",
        "time": "Wed Aug 29 14:48:50 2018 +0800"
      },
      "message": "Camera: DistortionMapper: Fix to work consistently\n\n- Ensure the conversions between pre-correction and active array coordinates\n  are applied consistenly\n- Only some regions were being clamped to ensure they were within the\n  destination region. Add more clamping, though some outputs still\n  need to not be clamped, such as face rectangles which may extend outside\n  the FOV.\n- Add simple transform mode since the full transform cannot safely be used\n  to meet all consistency requirements in Android P\n\nAlso update the unit tests to try to check for this corner case and the\nsimple mode.\n\nTest: adb shell /data/nativetest/cameraservice_tests/cameraservice_test \\\n    --gtest_filter\u003d*Distortion*\nBug: 109766306\nChange-Id: Id6f23794d60d5ed9e04b155426741a504487e3d6\nMerged-In: Id6f23794d60d5ed9e04b155426741a504487e3d6\n(cherry-picked from ee080fed199e60df07c0fcef970182ba09bf4367)\n(cherry picked from commit dccebf80ea7e90eedeb914becafc47ca725eb27f)\n"
    },
    {
      "commit": "a8115dc6d814c18d1ec68067425485add3ea1af2",
      "tree": "2bed9bcf27ad65a7495f82d59ac259a0072647ff",
      "parents": [
        "51eb281710acec50c28306e03155224cf5198aad"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 24 15:51:59 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Aug 28 15:46:05 2018 -0700"
      },
      "message": "AudioFlinger: Add Thread history to dumpsys\n\nTest: Bluetooth + audioflinger dumpsys\nBug: 80155745\nChange-Id: Icee723a9fe653395119dd639883be5b7d8f3f158\n"
    },
    {
      "commit": "98c72a87fc004936c6c59b2f38311d6362d34bfe",
      "tree": "0af6fad830e9c2d1255caac85c785c6d9d473d77",
      "parents": [
        "4eeaffe5ee9e806fa56dce69657ea30c11e0fbad"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Aug 28 11:20:16 2018 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Aug 28 11:20:16 2018 -0700"
      },
      "message": "Camera: consider all cameras in flash light control\n\nA non-API1 compatible camera might still has flash\nunit and supports setTorchMode.\n\nTest: partner testing\nChange-Id: Ic8974afea13318624f35d17af4c4c238ee3fbf85\n"
    },
    {
      "commit": "2f074ce7ca8cce3189cebe0a0ce1b1ff402c814b",
      "tree": "5da4ee065839e2fbca120d7c2e297678464d8a76",
      "parents": [
        "0d97cec0533f47237b16b294fd92a827f2ebdc6f"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Aug 27 11:39:53 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Aug 28 15:10:01 2018 +0000"
      },
      "message": "Camera3: Handle stream format override for shared output stream\n\nIf HAL overrides stream format, use the overridden format to configure\nthe buffer queues.\n\nBug: 113326269\nTest: Camera CTS\nChange-Id: I6b198e8ebfeaeafbda530722d995a12f88f0b35a\n"
    },
    {
      "commit": "1f8df9ae201bc4405aed068c910b08dc5458864f",
      "tree": "e8be06c94252e28e024523d1c71f4160ba5b1977",
      "parents": [
        "db44c5d13b9972a0d0dd177c31259b74bc2e4376"
      ],
      "author": {
        "name": "Shingo Kitajima",
        "email": "shingo.x.kitajima@sony.com",
        "time": "Tue May 29 11:35:06 2018 +0900"
      },
      "committer": {
        "name": "Tomoharu Kasahara",
        "email": "tomoharu.kasahara@sony.com",
        "time": "Tue Aug 28 17:02:28 2018 +0900"
      },
      "message": "Allow volume setting only for offloadable effect for Offload\n\nMusic volume is set to max for an instant\nwhen enabling non-offloadable effect during compress offload playback.\n\nNon-offloadable effect module having volume control is created\nand linked to Offload thread.\nAfter that,  when enabling it during playback,\nvolume is set max to Offload thread to switch volume control module\nbefore switching Playback thread from Offload to Mixer.\nThen, until completing thread switch,\nOffload Thread works with max volume.\n\nTo avoid this issue, check effect capability\nso that only offloadable effect can set volume on Offload Thread.\n\nBug: 113311497\nTest: Enable non-offloadble effect during offload playback\n\nChange-Id: I91b7313d55ca7cfcde206f158ce553432499e992\n"
    },
    {
      "commit": "6aecd3553601595e2c33689d459c28fff738729e",
      "tree": "a9459c055169ab5dd90492e308ef8607f8fbe215",
      "parents": [
        "7377a7822adb06797de13ce64d7a3981009a7e8c",
        "3e7eb5eb24e6bf9a31495dee5e5f8252728a2b7d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 27 03:31:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 03:31:19 2018 +0000"
      },
      "message": "Merge \"audiopolicy: fix for ringtone and offload music playback concurrency\""
    },
    {
      "commit": "ddc47d47a956e7b67449f2345ccf481e025ca62d",
      "tree": "4a56cc49e38bbed820aeaa02489b0a013316691a",
      "parents": [
        "84b25f1fb9f0c42a4bbda0538c8527e89cd3b79d",
        "882c520fd82ef5ce1420bb3eb6fc4bcbb205cb87"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Aug 23 23:03:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 23 23:03:40 2018 +0000"
      },
      "message": "Merge \"aaudio: cleanup FIFO\""
    },
    {
      "commit": "882c520fd82ef5ce1420bb3eb6fc4bcbb205cb87",
      "tree": "ab17c80d971269c1f8e16b6b8011d37863b0a8e6",
      "parents": [
        "a11eb695cac183c629cab536d101e6667343992b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 23 10:32:45 2018 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Aug 23 11:59:56 2018 -0700"
      },
      "message": "aaudio: cleanup FIFO\n\nRemove unused methods and fields.\nBetter code format and alignment.\nUse unique_ptr for mFifo.\nRemove getFifoController() method that exposed pointer.\nUpdates tests and calling code as needed.\n\nTest: test_atomic_fifo.cpp\nChange-Id: I1ea66beaadeb74083307835858b757e4753affda\n"
    },
    {
      "commit": "8d34df7a69bde39404503afa1e247368458c9371",
      "tree": "122afa1d2633cee8b5537962e08947e3780013ba",
      "parents": [
        "a11eb695cac183c629cab536d101e6667343992b",
        "a70beb16195266900997f2f376d2f28017cd45a4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 23 16:10:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 23 16:10:35 2018 +0000"
      },
      "message": "Merge \"Move MediaExtractor back to libstagefright\""
    },
    {
      "commit": "a70beb16195266900997f2f376d2f28017cd45a4",
      "tree": "ba0716f8eb0e1210e663bd48242c2b56deeee401",
      "parents": [
        "9985754cabf9d426bf95e3adfc27cea7fcc86e42"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jul 17 14:10:03 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 23 08:10:30 2018 -0700"
      },
      "message": "Move MediaExtractor back to libstagefright\n\nIt is no longer needed in libmediaextractor, and moving it back\nto libstagefright will avoid a circular dependency later.\n\nBug: 111407253\nTest: build, boot, play some files\n\nChange-Id: I1373a9eedee27998e7733ea23ae1a375e45cc9c3\n"
    }
  ],
  "next": "88785a3bd9c2ca6235ee42c48fb1c878efecfb75"
}
