)]}'
{
  "log": [
    {
      "commit": "88a1999cbae5c555d2e10fdc3e8ce8b91b641a67",
      "tree": "cc3e9f44dc276da2bcd8c5c3ac01b430f2983e4b",
      "parents": [
        "3903e9f58fdbdea94052f5870792f1e61a2f0f2b",
        "0415a846bff7f6dac340c75a79e2ab89327c1c23"
      ],
      "author": {
        "name": "Michael Dooley",
        "email": "mdooley@google.com",
        "time": "Fri Jan 18 04:00:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 04:00:39 2019 +0000"
      },
      "message": "Merge \"Adding sound trigger V2_2\""
    },
    {
      "commit": "fd018728e2e5cc8611724a2f60ba56a105e1eecf",
      "tree": "ed9a49014aa4e37e9f5702e00c87d37396523185",
      "parents": [
        "d34de4d88273ea4252cc35e3b122512733b259eb"
      ],
      "author": {
        "name": "mike dooley",
        "email": "mdooley@google.com",
        "time": "Fri Jan 04 09:31:31 2019 +0100"
      },
      "committer": {
        "name": "mike dooley",
        "email": "mdooley@google.com",
        "time": "Tue Jan 08 10:56:08 2019 +0100"
      },
      "message": "Make the framework treat getModelState recognition events the same\nas regular recognition events\n\nThe application will differentiate between DSP and app triggered\nregcognition events.\n\nTest: manual test with STTA and NowPlaying app on p19\n\nBug: 119386757\n\nChange-Id: Ia93aea9f56f8b9fcd31347169245f21724ac93c8\n"
    },
    {
      "commit": "0415a846bff7f6dac340c75a79e2ab89327c1c23",
      "tree": "124061425fb1c8f66696443d3256bebfc7609c07",
      "parents": [
        "153e7299ffb0e7336f5290cf43c6410fa11410e4"
      ],
      "author": {
        "name": "mike dooley",
        "email": "mdooley@google.com",
        "time": "Tue Dec 18 19:46:56 2018 +0100"
      },
      "committer": {
        "name": "mike dooley",
        "email": "mdooley@google.com",
        "time": "Tue Dec 18 19:56:40 2018 +0100"
      },
      "message": "Adding sound trigger V2_2\n\nUse sound trigger V2_2 if available, otherwise fall back to earlier\nversions.\n\nNote: V2_1 will be removed in a subsequent cl.\n\nTest: built android with V2_2 enabled and tested using\nSoundTriggerTestApp\n\nBug: 70206501\nChange-Id: I85b817b396b5765fea6507b8362d2f8509785557\n"
    },
    {
      "commit": "d1dbc788531a8a507327a8935967f234bc2a0c5d",
      "tree": "d4e6f38a64022a67fe4101b415438756852c26ba",
      "parents": [
        "68c09c94a3f22ed64e8bb0467ae4777924de9434"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Nov 20 12:49:00 2018 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Nov 20 12:55:47 2018 -0800"
      },
      "message": "Convert libsoundtriggerservice to Android.bp\n\nSee build/soong/README.md for more information.\n\nRemoved AUDIOSERVER_MULTILIB because it should be unnecessary -- almost\nevery device does not set it, and the only other value is \"64\" for\n64-bit only devices, which will act the same as \"\" for libraries.\n\nTest: cd frameworks/av; mma\nChange-Id: I8f62a549bcd5ea9eaf9aa6ead48ca6748a31c873\n"
    },
    {
      "commit": "68c09c94a3f22ed64e8bb0467ae4777924de9434",
      "tree": "e7afc8541dab9f68fb76da4a6c63f065d315ad1c",
      "parents": [
        "13f6f2a23a116e23af5ce3224fbcfd4e6a869b90"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Nov 20 12:24:39 2018 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Nov 20 12:48:56 2018 -0800"
      },
      "message": "Remove USE_LEGACY_LOCAL_AUDIO_HAL in libsoundtriggerservice\n\nThis had been removed from libaudiohal last year in\n9e79c70529c07f2157f8077f024f42fa5c9e22f9\n\nTest: treehugger\nChange-Id: I8feb2eb88f8f0ba76b3417cf6f724cd6aa55bd0e\n"
    },
    {
      "commit": "6e189b19bbcdb21692924b90d6b33181e490b3fa",
      "tree": "19c789d8d68b7a3f87d54525ff50173fa14fedd3",
      "parents": [
        "fd1c998237da395af546e0e3143a4133f966559b"
      ],
      "author": {
        "name": "mike dooley",
        "email": "mdooley@google.com",
        "time": "Wed Nov 07 15:44:37 2018 +0100"
      },
      "committer": {
        "name": "mike dooley",
        "email": "mdooley@google.com",
        "time": "Fri Nov 09 20:05:44 2018 +0100"
      },
      "message": "Converting sound trigger v2.2 getModelState to be asynchronous\n\nTest: built android with checkbuild flag\n\nChange-Id: Ic12dbfe46aae08666ab02a1a8ee0dbb5c2d9381f\nBug-Id: 70206501\n"
    },
    {
      "commit": "67e3d41769f202522970ab45a50892a0bb6518cd",
      "tree": "c0e11ea1905288361d1a9a459a7d6604504587fa",
      "parents": [
        "6dd21efefed9d570d5ce07f602686d01321795eb"
      ],
      "author": {
        "name": "Michael Dooley",
        "email": "mdooley@google.com",
        "time": "Tue Oct 16 19:51:16 2018 +0000"
      },
      "committer": {
        "name": "Michael Dooley",
        "email": "mdooley@google.com",
        "time": "Tue Oct 16 19:51:16 2018 +0000"
      },
      "message": "Revert \"Revert \"Adding getModelState API to sound trigger\"\"\n\nThis reverts commit 6dd21efefed9d570d5ce07f602686d01321795eb.\n\nReason for revert: rolling forward with fix\n\nChange-Id: I07d6c471681abffeb596817dfb00de40c853560c\n"
    },
    {
      "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": "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": "9b11c026344077dab9591bb8b9afdf3e7bd93eb1",
      "tree": "44bd2406c5d45c730437b4003535983df4d404f9",
      "parents": [
        "7e19897b405318df20eccb1d697a8ecccd70fbc7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 06 19:19:22 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 07 16:50:45 2018 -0700"
      },
      "message": "sound trigger: more checks on IMemory received from client\n\nAdd a verification on actual size of the fd backing up the IMemory\nrecevied for sound model or recognition config.\n\nFix similar problem for AudioTrack shared buffer.\n\nBug: 78596657\nTest: run POC. OK Google regression.\nChange-Id: I7cb02785f8ba46c437c7fcaa5b821f4b7e3240a0\n"
    },
    {
      "commit": "ab7ef300b74904bce6c5c810d9e5679abfa582e6",
      "tree": "dadb05ba8da176c046139ca43c3fae48a14191c3",
      "parents": [
        "1f2bfd3ac9d61982acb348d2c78f95c7d4b0bf05"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 15 19:35:29 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 16 18:49:09 2018 -0700"
      },
      "message": "Move ServiceUtilities from audioflinger to libmediautils\n\nTest: Play Music, Play Movies, Camera, Photos\nBug: 79485140\nChange-Id: Ib8382547828e386024145c416321d24e4af182db\n"
    },
    {
      "commit": "7588ff418aca63b1dc43a85afc1e86c40dd889a3",
      "tree": "bdb7ba0ca788a16d48d8e9945aa76f52f1683245",
      "parents": [
        "51ac542df4beb18dc1cf0285826124644f189c3b"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Jan 08 11:11:30 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Jan 20 10:49:56 2018 -0800"
      },
      "message": "Audio V4: Split HAL wrapper for versioning\n\nBoth core and effect Hal now have one single point of entry.\nThis point of entry is their respective factories:\n - DevicesFactoryHalInterface::create\n - EffectsFactoryHalInterface::create\n\nEach entry point looks for their respective services supported\nversion, starting from the highest (currently only 2.0) and\nreturning the subclass wrapping this version to the most recent audio.h\nframework api.\n\nNote that EffectBufferHalInterface were previously created from static\nmethods (mirror and allocate) which broke the single point of entry\nrequirement.\nAs a result, buffers have now to be created from the factory like the\nother classes.\n\nNote that the death handler also need to be its own library as it is\nused by versioned code and is version independent.\n\nBug: 38184704\nTest: compile\nChange-Id: Iac9b1fda561bb486193d5b9e025a870f50cda530\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "6f9f1e2b30cf04c0dd058d88c625bf2565f7f0a7",
      "tree": "068c5975a95934be3e8ea8efcce8b11377019eeb",
      "parents": [
        "080b934e6da4c1e09c91e236f5d0705edbd6cb0c"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jan 05 14:09:32 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jan 19 09:30:07 2018 -0800"
      },
      "message": "soundtrigger: Add support for HAL V2.1\n\nUse HAL V2.1 methods if this version is deployed on the device.\nInitially the middleware layer requests for HAL V2.0, but if\nthe interface can be cast to V2.1, then new methods are used.\n\nMade changes to avoid C-style type coercion as it was leading\nto erroneous results when using V2.1 and V2.0 data structures\nsimultaneously.\n\nBug: 68823037\nTest: use \"ok google\" and music IQ with HAL V2.0 and V2.1\nChange-Id: I34924afe3cd4fb45a75fa34888e6e5c72727dbce\n"
    },
    {
      "commit": "07405ee8c22bf9184de5a4ea15e683f45b20bd89",
      "tree": "e651d7d77526e7f15c94fc4d0d2b2d694621a806",
      "parents": [
        "7db8b99d00f2399faba9de2f8b2c13b05d10aec5"
      ],
      "author": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Tue Nov 14 20:45:27 2017 -0800"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Tue Nov 14 20:47:51 2017 -0800"
      },
      "message": "ServiceStateEvents don\u0027t need to called with the mServiceState lock anymore.\n\nTest: On taimen with sound trigger test app.\nChange-Id: I2520ba9fa7d3736ea04df1abe6229ad973932768\n"
    },
    {
      "commit": "02b7421d9473499440f441f75b0a22515f95597c",
      "tree": "5ed341f50c6d2f971abb39d542332a5fd61a4bc6",
      "parents": [
        "8f8932c41e7c0a1f65e3556733ed33bbc88793ce"
      ],
      "author": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Mon Nov 06 14:45:30 2017 -0800"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Mon Nov 06 16:04:27 2017 -0800"
      },
      "message": "Fix race when handling callback in SoundTrigger Module\n\nDuring the callback event processing loop in the SoundTrigger::Module,\nit used to grab the ISoundTriggerClient from the ModuleClient that it\nneeded to send an event to. However, this could be removed/destroyed\nwhile the callback thread is trying to snapshot it, since there was no\ncommon locking between the model client and the module.\n\nBy now using the ModuleClient directly in the Module\u0027s callback, the\nappropriate locks can be obtained to prevent segfaults.\n\nTest: On device with GSA/Now Playing\nChange-Id: I9e3d150aa77051caab1fc009c3fc1ae8eec61a72\n"
    },
    {
      "commit": "79c5661ca806673cc33f8d5b35742305c4ad20b6",
      "tree": "f22bba4019c53aa169c156ebc5d7dea6496d9eab",
      "parents": [
        "068ba821bca6f2d7a2a8335e85fcdb059ea85274"
      ],
      "author": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Wed Oct 25 14:47:44 2017 -0700"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Thu Oct 26 11:40:22 2017 -0700"
      },
      "message": "Avoid deadlock between recognition events and SoundTriggerHwService.\n\nIf an event is generated from the HAL on a separate thread, it is\npossible to enter a deadlocked state. This is due to the HAL typically\nholding a lock when it starts the callback, which then needed to grab\nthe SoundTriggerHwService\u0027s main lock. However, if there was another\ncall coming down from somewhere else in the framework, it typically\ntries to grab the service\u0027s main lock, then enter the HAL (which also\nwill likely try to grab a lock).\n\nBy removing the need to grab the mServiceLock on any of the paths that\nrespond to events generated by the HAL, this deadlock can be avoided.\n\nTest: Manually on device.\nChange-Id: Iac5f96ea67f618ce70e7f75300165f3588613947\n"
    },
    {
      "commit": "338e8ba374432cc4ee853f4fcefcf7bd7bae3bb9",
      "tree": "0f22e5975405924e3935701ae973ab3201f7524e",
      "parents": [
        "7b7f4e0f8bdf7542561ece15c4ffc2542fb7750d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 05 10:58:38 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 05 11:56:38 2017 -0700"
      },
      "message": "Soundtrigger service: fix cross deadlock with audio policy service\n\nDo not hold Module mutex when calling into audio policy manager to\navoid cross deadlock with audio poicy service mutex: Audio policy manager\ncan call into sound trigger service with its mutex held in methods like\nstopInput().\n\nRegression introduced by fix for b/64340921 commit f759b8c4\n\nBug: 64340921\nBug: 67310830\nTest: repro steps in b/67310830\nChange-Id: Ie50b2e7c55fe9828a3fd8de6b31eb4a492791583\n"
    },
    {
      "commit": "de22f8acdc8e3adf94a9770b867b355e3ca88f62",
      "tree": "2e8cd7f543888c4d51d9abdd86aa0e86c11e69a3",
      "parents": [
        "aba0e98b085cc613003bf42dbfe1ad0a3bb2348e"
      ],
      "author": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Tue Aug 29 16:46:37 2017 -0700"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Wed Aug 30 15:53:37 2017 -0700"
      },
      "message": "If stopAllRecognitions is supported, do not call stopRecognition again.\n\nBug: 65174683\nTest: NA\nChange-Id: I2c179a64d4f14d0c97bc908ad83c0d964217adfd\n"
    },
    {
      "commit": "7504b9eb4561df88550f874cf0ce95b6f4d09927",
      "tree": "0991a83bf78a67170a0707d8e300578c9c46727f",
      "parents": [
        "2c8c51d4aeffc4d561a67b06d20fff67d9a5a5aa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 15 18:17:26 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 16 08:29:05 2017 -0700"
      },
      "message": "soundtrigger: require RECORD_AUDIO permission for DSP hotword\n\nCheck android.permission.RECORD_AUDIO permission in addition to\nandroid.permission.CAPTURE_AUDIO_HOTWORD for DSP hotword operations\nas those require access to device microphone.\n\nBug: 62265680\nTest: check \"OK Google\" detection with and without DSP\nChange-Id: Icba2520331164bcd618e91916ca701e677d419b8\n"
    },
    {
      "commit": "eb96cfcbce82e4beb8a3a307adbe032f233a5fd1",
      "tree": "bbb5d18633a86c628667a9d5301ff2a682a61733",
      "parents": [
        "7840d603cad132c9b02116fae1b1ab99c8f3b7b8",
        "556252fa992b5f405f8bb81da23061ffe5771c99"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jun 08 20:40:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 08 20:40:49 2017 +0000"
      },
      "message": "Merge \"Add OWNERS in frameworks/av\" am: 7b2b2a497c\nam: 556252fa99\n\nChange-Id: Ic699b8f7a93fe0634aaac1ce924f6c0bf6d5ace9\n"
    },
    {
      "commit": "7b2b2a497ca447d82de48d6dea10ef78626a7a46",
      "tree": "86660812630b6b528de535a56121ae657c7d7c83",
      "parents": [
        "5a6046f0b75c245e34a8feb9b66b536c0f1dd671",
        "b1e2a238227076e274b39da9531d4287b6207251"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jun 08 20:24:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 08 20:24:14 2017 +0000"
      },
      "message": "Merge \"Add OWNERS in frameworks/av\""
    },
    {
      "commit": "b1e2a238227076e274b39da9531d4287b6207251",
      "tree": "f1d1677a4a86ab48097e29489eccee2d35cc17fb",
      "parents": [
        "77c52d2f586012ee98fc25bee453afd0a8d008df"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Jun 05 15:45:46 2017 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Jun 06 15:08:19 2017 -0700"
      },
      "message": "Add OWNERS in frameworks/av\n\n* Owners are selected from top CL approvals or owners.\n  They will be suggested to review/approve future CLs.\n* OWNERS files are recognized by the new find-owners plugin, see .md files in\n  https://gerrit.googlesource.com/plugins/find-owners/+/master/src/main/resources/Documentation/\n\nTest: build/make/tools/checkowners.py -c -v OWNERS\nChange-Id: I7c848855a2d7a0d7f33123ea4ef5c2d03977b495\n"
    },
    {
      "commit": "0094fd70678b901b8ffd92bc4a15c272f9ce28f0",
      "tree": "beab53f4d02fd0fb583ebdaf651d3dc2aafbd7e8",
      "parents": [
        "d2b26cd85d54b5258bfd0296313c07e80bee1957"
      ],
      "author": {
        "name": "YOUNG HO CHA",
        "email": "ganadist@gmail.com",
        "time": "Thu May 25 23:16:51 2017 +0900"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 26 21:49:52 2017 +0000"
      },
      "message": "Android.mk: remove $TOP in LOCAL_C_INCLUDES\n\nTest: make systemimage\n\nChange-Id: I5f83786afe3f2c65819b127b041cb74fc4c989ac\nMerged-In: I5f83786afe3f2c65819b127b041cb74fc4c989ac\nSigned-off-by: YOUNG HO CHA \u003cganadist@gmail.com\u003e\n(cherry picked from commit 2ee7aab4a39139a86a24ca14f718eb20a1b355db)\n"
    },
    {
      "commit": "b3cd253a09623faba347dcc071d89159f8401c15",
      "tree": "4a302f4972d38d8ea27263b6d9ccaf4d4c6da21a",
      "parents": [
        "0b9bb5e2d1dd8c0b9dab065731706f043e9484ea"
      ],
      "author": {
        "name": "YOUNG HO CHA",
        "email": "ganadist@gmail.com",
        "time": "Thu May 25 23:16:51 2017 +0900"
      },
      "committer": {
        "name": "YOUNG HO CHA",
        "email": "ganadist@gmail.com",
        "time": "Thu May 25 23:18:30 2017 +0900"
      },
      "message": "Android.mk: remove $TOP in LOCAL_C_INCLUDES\n\nTest: make systemimage\n\nChange-Id: I5f83786afe3f2c65819b127b041cb74fc4c989ac\nSigned-off-by: YOUNG HO CHA \u003cganadist@gmail.com\u003e\n"
    },
    {
      "commit": "49ad5522d1012b683ca3c76a008bcee5e19668c3",
      "tree": "ec3771d2a974b567351b702c9fc6d943e444dada",
      "parents": [
        "3858e63e75e58a8b7a699f5b298b46f4097d5552"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Apr 13 11:00:06 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Apr 14 15:52:03 2017 +0000"
      },
      "message": "soundtrigger: Use \"default\" instance name for HAL service\n\n\"default\" implies using \"primary\" legacy device module.\nThis doesn\u0027t change anything for binderized mode, because\nthe server was only registering itself as \"sound_trigger.primary\",\nso it was the only possibility anyways.\n\nUsage of \"stub\" (debugging) module is still possible\nif audioflinger and corresponding services are built with\nUSE_LEGACY_LOCAL_AUDIO_HAL\u003dtrue (added makefile check to ensure\nthat).\n\nTest: \"Ok Google\" from screen off state on sailfish\nBug: 36570720\nChange-Id: Ibef7fb312ce593d71255cfac71ba4e8f1dd28666\n"
    },
    {
      "commit": "0012417ddc1320c6df79258266da1e869036b211",
      "tree": "db6a61c659018ec85124991458d95c73d9788c1b",
      "parents": [
        "80ab5ab91c9a31192bc42c4326173d38e42bcc24"
      ],
      "author": {
        "name": "Dhananjay Kumar",
        "email": "dhakumar@codeaurora.org",
        "time": "Tue Feb 28 15:08:29 2017 +0530"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Sat Mar 04 04:18:07 2017 +0000"
      },
      "message": "soundtrigger: Modify conditional check in detach\n\n- All the required SoundTrigger models of a module client\nare not getting unloaded and removed as part of detach.\n- mModels.size() is evaluated for every iteration which\ngives current size of vector which results in exit of\nloop without checking for all models in case elements\nare removed in loop.\nremoveItemsAt would modify the vector indices for each\niteration and this would result in skipping access of\nsome models.\n- Iterate from end of models to check and unload.\n\nBug: 35910617\nTest: mmm frameworks/av/services/soundtrigger/\nAuthor: Chaithanya Krishna Bacharaju \u003cchaithan@codeaurora.org\u003e\nChange-Id: I72415e53d2e6f366f8ba6e6eeb0cd8323364a231\n"
    },
    {
      "commit": "05d19b08f3affa6fa8407e779f67e7ad1c1ca84f",
      "tree": "d2c99a03302a60a9ab3db1a9f5cc90640686009a",
      "parents": [
        "4ec4e6b1073b0dc1b608aeeaf4e3129ea1a725c8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 28 16:28:19 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 03 12:37:45 2017 -0800"
      },
      "message": "fallout of cleaning-up libutils includes\n\nTest: run \u0026 compile\nBug: n/a\nChange-Id: I63585ed5a764b9ce7af2187b79ca0c83e683fd7f"
    },
    {
      "commit": "c8a9f4ad35f24ac59645bb262bd8f16fd4f6f0d8",
      "tree": "2ef88bd1513a4daacee04c0d5ca924d3605aca39",
      "parents": [
        "db0d4cc3184f400dcbb841f274d5b6f4c8400550"
      ],
      "author": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Mon Feb 06 18:31:42 2017 -0800"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Wed Feb 08 01:13:55 2017 +0000"
      },
      "message": "Fix potential null dereference in SoundTriggerHwService\n\nIdentified by static analysis as a potential problem.\n\nTest: mmma frameworks/av/services/soundtrigger\nChange-Id: If24519faeec260c3d357b369d53d0f68689bdf8a\n"
    },
    {
      "commit": "d621ac82e648c8ef395068edb1af2747f49b700a",
      "tree": "3c37b8d97c0c7feec6c567d407d05c8343ec9e6e",
      "parents": [
        "a72ef28f8cc2b894119b470fe6c93d1abe566398"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 12 17:17:45 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Jan 17 13:42:54 2017 -0800"
      },
      "message": "Monitor crashes of audio hal service via linkToDeath\n\nHwbinder \u0027linkToDeath\u0027 mechanism is used to track abrupt\ndisappearance of server hal objects due to hal server crash.\n\nUpon hal server crash, notifications can be sent to binder\nclients if needed, then the audioserver crashes itself as the\ncurrent audio HAL design does not provide an easy way to restore\nall the transient objects (devices, streams, effects) in their\npre-crash state.\n\nBug: 34158778\nTest: In binderized mode, kill audio hal server\nChange-Id: If9265711edc445984601fcb5c29d2c173a370762\n"
    },
    {
      "commit": "9fe81732b695d16e7f4fac12d6f6c0ff4d4fa11c",
      "tree": "226d5873a8f350fea4d7c6d68c268ecdcb93a9ed",
      "parents": [
        "b04aa125744b7e1d5c56a4c2151eaaa890d68e4c",
        "9dc1747e214a3d4b3c08e8c1f3d7982ef5108162"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 12 18:20:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 18:20:27 2017 +0000"
      },
      "message": "Merge \"Enable passthrough mode by default for audio, soundtrigger, and radio\""
    },
    {
      "commit": "9dc1747e214a3d4b3c08e8c1f3d7982ef5108162",
      "tree": "de0cfa7c01a63f997361bff625b1b94158b13f2c",
      "parents": [
        "67d0d7eb36e7c36d0a9dec9264c0cab832196d57"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 11 11:15:28 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 11 17:34:00 2017 -0800"
      },
      "message": "Enable passthrough mode by default for audio, soundtrigger, and radio\n\nRemove ENABLE_TREBLE flag usage for legacy hal fallback.\nIntroduce new build flag USE_LEGACY_LOCAL_AUDIO_HAL for fallback.\n\nBug: 32978887\nTest: checked \"OK Google\" (from standby), Hangouts, YouTube,\n      Play Music, fake radio hal + test app\nKI: issues when using equializer and virtualuzer in Play Music\n\nChange-Id: I1c279e622c885f799481f1287e0660ca576fcea0\n"
    },
    {
      "commit": "1ab9e983429a7ab609d664cd46a0deb0913f2dc3",
      "tree": "a319ee772fa6318d0ad9951031734c91646f2b4d",
      "parents": [
        "844800fb97bfd061f845cd13d42fbdfacdbca6c5"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Jan 11 13:55:06 2017 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Jan 11 13:55:06 2017 -0800"
      },
      "message": "Remove unnecessary #includes.\n\nTest: mma\nTest: make ENABLE_TREBLE\u003dtrue\nChange-Id: Ie083ae17979f17065a10ae30e8a824ca8ddb5e2a\n"
    },
    {
      "commit": "e83be8af690ef1ac820a63414d522e77ca9d4db6",
      "tree": "1d485de3ff2b31b17acb29c10673b1790e619012",
      "parents": [
        "db057a5a6556f4ea81b710fc90ab6e8816d1525e"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 06 11:06:33 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jan 09 10:50:58 2017 -0800"
      },
      "message": "Remove usage of getStatus.\n\n- remove from libaudiohal\n- remove from services/radio\n- remove from soundtrigger\n- remove from omx\n\nBug: 31348667\nTest: compiles\nChange-Id: I75bb7b7388527dacfdc5bf128712cb8690bc286b\n"
    },
    {
      "commit": "9f57e3c9da8923649adff62e63c644537f565e90",
      "tree": "4ecc43b149d5801f9b378c493c725a4c790bcf42",
      "parents": [
        "e158da59b3b525cf271968bec3967414b21159fa"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 05 12:54:36 2016 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 09 16:02:36 2016 -0800"
      },
      "message": "Crash audioserver if EPIPE (DEAD_OBJECT) is received from the HAL\n\naudioflinger doesn\u0027t have a proper way to re-establish all\nthe opened streams if HAL crashes. The only valid way of dealing\nwith them is to restart the audioserver.\n\nAlthough broadcastradio and sountrigger have cleaner protocols\nfor dealing with HAL failures and can handle HAL crash and restart,\nsince the audio side will anyway get broken, it makes sense\nto also kill the audioserver when they detect HAL crash.\n\nChange-Id: I5f8e8c1d0981042cdd435a3ddbb6526e9f226e6b\nTest: kill audio-hal process, watch dmesg and logcat\n"
    },
    {
      "commit": "34e5d30e54650b210c1b9730b1e4b412ec1cdb0c",
      "tree": "0fced8935e15fc5291af3c818abf9ed86d398862",
      "parents": [
        "9f55e5f998644d58cb8f3625e06d9b7a4e78555c"
      ],
      "author": {
        "name": "Samuel Saccone",
        "email": "samccone@google.com",
        "time": "Fri Dec 09 23:24:29 2016 +0000"
      },
      "committer": {
        "name": "Samuel Saccone",
        "email": "samccone@google.com",
        "time": "Fri Dec 09 23:24:29 2016 +0000"
      },
      "message": "Revert \"Crash audioserver if EPIPE (DEAD_OBJECT) is received from the HAL\"\n\nThis reverts commit 9f55e5f998644d58cb8f3625e06d9b7a4e78555c.\n\nChange-Id: Ic76c0cb5032af422699da2b43106b4b1de5ac935\n"
    },
    {
      "commit": "9f55e5f998644d58cb8f3625e06d9b7a4e78555c",
      "tree": "3696d68948cc2ebf02bb4f8d84fd7c7f748025f2",
      "parents": [
        "2b3867fb87f48a0627e3f8bb37826021df8dbd13"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 05 12:54:36 2016 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 09 11:12:01 2016 -0800"
      },
      "message": "Crash audioserver if EPIPE (DEAD_OBJECT) is received from the HAL\n\naudioflinger doesn\u0027t have a proper way to re-establish all\nthe opened streams if HAL crashes. The only valid way of dealing\nwith them is to restart the audioserver.\n\nAlthough broadcastradio and sountrigger have cleaner protocols\nfor dealing with HAL failures and can handle HAL crash and restart,\nsince the audio side will anyway get broken, it makes sense\nto also kill the audioserver when they detect HAL crash.\n\nTest: kill audio-hal process, watch dmesg and logcat\nChange-Id: Ib2150b69c791ac49de9404de08fc6c309a3fcbd5\n"
    },
    {
      "commit": "e52c500c096fce010c99e92c4fc3ef51832e67c6",
      "tree": "e4a08578d00ba723205a6263bf223d98e3d81f7f",
      "parents": [
        "26a8ba63104f3c7d4e0a750b58d56ad76dbce373"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Oct 12 17:27:18 2016 -0700"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Mon Dec 05 17:12:48 2016 -0800"
      },
      "message": "Support multiple clients attaching to a module\n\nCurrently service allows only a single client to be attached to a Module.\nThis limits only a single client can use sound trigger at a time.\n\nAdd changes to attach multiple clients to a given Module through ModuleClient\ninterface so that multiple clients can paralelly use sound trigger on a given\nModule. ModuleClient class is introduced as a client interface to a Module.\nService provides a unique instance of ModuleClient to each client being attached\nand adds this client to the module clients list.\n\nTest: Manual with modified version of SoundTriggerTestApp that talks to\nthe module directly\n\nBug:32030191\nChange-Id: I66912e862b8c4232a49d92c0464a9a8b876bdb26\n"
    },
    {
      "commit": "a730ae63c247f2d2f5951238598930177112706a",
      "tree": "1a1594b2ed61e2cb0d95d9041bb197d9312b72bd",
      "parents": [
        "81d472ef3635bcf5cf05e4567f715c52f2cf3b22"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Nov 17 16:21:53 2016 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Nov 17 16:21:53 2016 -0800"
      },
      "message": "Split libhidl into base and transport.\n\nBug: 32756130\n\nTest: mma\nChange-Id: Ib3f5e05268661c6065bf6b6f6740d6e117b06e67\n"
    },
    {
      "commit": "4b38e7ad3565de208c8a8d7a401c1e7b07b0108b",
      "tree": "7bc20a75738945f5d5fdbe78cbc53098d45f115c",
      "parents": [
        "59d49567c207c104c1f242f55e2ce5b9e5b2b3f6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 11 13:28:53 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 11 15:53:19 2016 -0800"
      },
      "message": "soundtrigger service: fix HIDL HAL status reporting\n\nTest: make\n\nChange-Id: I27d8b65b7d42e7df2da37ca6f63bcb365a876f21\n"
    },
    {
      "commit": "4ea929819e23ecd388e1edce25a10631ee53e9e3",
      "tree": "23738cbafefdd9f9dcc839a01525533e0045c554",
      "parents": [
        "5c4ca88476ea3c26b88fc13c281db9eb20913511",
        "795a2a75542d25eefa56bebc388340ee15fdff5c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 07 17:21:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 07 17:21:49 2016 +0000"
      },
      "message": "Split libmedia into libmedia and libaudioclient\nam: 795a2a7554\n\nChange-Id: Ic08eddc5650d3f5d344ebcf93ad98ae5bb236c8c\n"
    },
    {
      "commit": "795a2a75542d25eefa56bebc388340ee15fdff5c",
      "tree": "5b595a348342c3ad28549329ba5653ad62db75d1",
      "parents": [
        "bf26c4eb629b514648420916fd1db40333c30ea5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 13:21:22 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 19:31:54 2016 -0700"
      },
      "message": "Split libmedia into libmedia and libaudioclient\n\nThis makes it so audioserver doesn\u0027t need to link against the entire libmedia,\nwhich has dependencies on camera, ICU, OpenGL and other things that aren\u0027t\nneeded for audio.\n\nTest: build/boot\n\nChange-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af\n"
    },
    {
      "commit": "4f197ec220d2c9634429692dd37896233273111d",
      "tree": "9ee3410c97a0375f18e05a0728643cfe587f0edc",
      "parents": [
        "68f9d0dc3b25c69eecccc9487319dd3343f0790b",
        "46d0a5b493dc7ef8cfd068c1b12d1d47d03d7884"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 22:52:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 04 22:52:20 2016 +0000"
      },
      "message": "Merge \"Remove unneeded links with dynamic libraries\"\nam: 46d0a5b493\n\nChange-Id: Ica6dd538c30b9aeccddad229cb24ade4d82d2e4c\n"
    },
    {
      "commit": "2805f438e8ba6449d2e10af4bd82e724c8e54f5e",
      "tree": "03252ff35f910ef38fafd13baf5b738345aaa4c0",
      "parents": [
        "267e07cd8432679bcdd72b0bdf38846446c1c4ed",
        "538ec5e04f389cba637b030757be317fcb8677a8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 21:53:53 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 04 21:53:54 2016 +0000"
      },
      "message": "Merge \"Split libmedia into libmedia and libaudioclient\""
    },
    {
      "commit": "263506542fbe480ddb247597bdcef16c437b48dd",
      "tree": "1ad06b1495a50534199f1aa5068b8519dd5d50c5",
      "parents": [
        "712690b37495816a3f55e2d000f1f68caf1c20a4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 14:17:07 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "538ec5e04f389cba637b030757be317fcb8677a8",
      "tree": "c9c576057efe1f6c0bdf1a4cbf6b58dce68f5e3f",
      "parents": [
        "e085c1072f017d4910f7e49741f72e8a722b8892"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 13:21:22 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 12:14:36 2016 -0700"
      },
      "message": "Split libmedia into libmedia and libaudioclient\n\nThis makes it so audioserver doesn\u0027t need to link against the entire libmedia,\nwhich has dependencies on camera, ICU, OpenGL and other things that aren\u0027t\nneeded for audio.\n\nTest: build/boot\n\nChange-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af\n"
    },
    {
      "commit": "267e07cd8432679bcdd72b0bdf38846446c1c4ed",
      "tree": "e9bee0ea4b231aa0c1e1481a1f5336c6088e3eab",
      "parents": [
        "46ff4c926f0744f908099d1b5e300a483cae384f",
        "3ede21c823661704e8a8d48403094a2de0f831d3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 04 17:11:58 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 04 17:11:59 2016 +0000"
      },
      "message": "Merge \"sound trigger service: remove bogus threasdpool init in HIDL wrapper\""
    },
    {
      "commit": "3ede21c823661704e8a8d48403094a2de0f831d3",
      "tree": "51dde14350e00e0e3c11b3de79f94d53a75c08fa",
      "parents": [
        "d72ffc4416959d2c94838888c781468b2351716d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 03 16:53:56 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 03 16:55:20 2016 -0700"
      },
      "message": "sound trigger service: remove bogus threasdpool init in HIDL wrapper\n\nTest: make\n\nChange-Id: I3f1f21c106c7b7acdb852917f0c3e557da8a0d78\n"
    },
    {
      "commit": "90e2eec58b0db7ee84e4596c723462b9910aa0aa",
      "tree": "c47f5e4644417e0bcb83d753ee16ab175fda682e",
      "parents": [
        "e085c1072f017d4910f7e49741f72e8a722b8892"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Nov 03 08:40:29 2016 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Nov 03 08:40:29 2016 -0700"
      },
      "message": "SoundTrigger: Remove unused include.\n\nTest: compiles\nChange-Id: I2537c09c31096ea39a130a37f9ea7979fe473c3c\n"
    },
    {
      "commit": "e085c1072f017d4910f7e49741f72e8a722b8892",
      "tree": "5dc6ceae734e4a0066f13279c6f540311a03d719",
      "parents": [
        "f42c5854714e5c180a67ccf15976dd9c846ee2b8"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Thu Nov 03 11:45:24 2016 +0000"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Thu Nov 03 11:45:24 2016 +0000"
      },
      "message": "Fix build error when building with ENABLE_TREBLE\u003dtrue\n\nFixes use of renamed header file hidl/IServiceManager.h\n\nTest: builds with ENALBE_TREBLE\u003dtrue\nChange-Id: Ia1bdc04d6e23243a46b6a897cca29dd26899f79d\n"
    },
    {
      "commit": "c661ae6165338fd5f0bca50a63058b4bcd6def4b",
      "tree": "1fabefad176045b256eb3282f391b9e1ae4ee654",
      "parents": [
        "bf2e61f54c7dcc37c97b4908c9ed6871cf3d2b49"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 26 15:42:11 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "f7854d45bd12d5239c588767bf85953aca46b4ef",
      "tree": "d6e574af1f6341d7c364f284e39b5318a5a48581",
      "parents": [
        "7a544b44b7872b300f50e16fef480f76e9145fbb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 14 15:57:18 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 21 09:17:00 2016 -0700"
      },
      "message": "audioserver: restart audio hal service on restart\n\nAlso update to use common audio uuid type definition.\n\nBug: 32022304\nChange-Id: I25ceb48af1446862d36b3be9d17c1f081b2cf1c7\n"
    },
    {
      "commit": "7a544b44b7872b300f50e16fef480f76e9145fbb",
      "tree": "0b9c81b6183c8c0aa6deaf808b1d8b704f00d677",
      "parents": [
        "2103044be5c8fefbd97da410bbca47239fd3348d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 05 19:01:13 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 21 09:16:53 2016 -0700"
      },
      "message": "Add support for treble sound trigger HAL\n\nFirst implementation of Treble HAL in sound trigger hardware service.\n\nIf ENABLE_TREBLE build option is true, the treble HAL and HW\nsevice is used. Otherwise the legacy HW module is loaded.\n\nBug: 30222631\n\nChange-Id: Ibe5be680b7b7a3b261dd62913869e0bb412f438b\n"
    },
    {
      "commit": "b26e64bbcf289042cee9c0c0ceed2de200deaced",
      "tree": "f83075f429a6441c01e785c52fc6ecde8e142696",
      "parents": [
        "1772127057b97c3d75187cd547d2e21fb2aa2edf",
        "bfe53d4c728242db3d83160ed6193e3d3ba5f4af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 19 22:19:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 22:19:27 2016 +0000"
      },
      "message": "soundtrigger: add size check on sound model and recogntion data am: ef0c915184 am: 82477c0929 am: 6aa5165f7c am: c4d991b2ae am: 4f1a678f8c am: 31ab14bef7 am: 1e98e388cb am: c4a59671b7 am: 6369681d4e\nam: bfe53d4c72\n\nChange-Id: Icf89fa8b7a8fea0088e2c950ae00ea68571145ef\n"
    },
    {
      "commit": "bfe53d4c728242db3d83160ed6193e3d3ba5f4af",
      "tree": "76a861ac4f30a09f042892ff5195924c4d11d5ed",
      "parents": [
        "cdb1ca4c0fc2bb36285eb9c35edf5195b3f9c3d8",
        "6369681d4e323287c81feb08e249554e622e3b67"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 19 22:15:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 22:15:03 2016 +0000"
      },
      "message": "soundtrigger: add size check on sound model and recogntion data am: ef0c915184 am: 82477c0929 am: 6aa5165f7c am: c4d991b2ae am: 4f1a678f8c am: 31ab14bef7 am: 1e98e388cb am: c4a59671b7\nam: 6369681d4e\n\nChange-Id: I9dd8ac8882788af20f3ce3578771775db5f4e4ea\n"
    },
    {
      "commit": "6369681d4e323287c81feb08e249554e622e3b67",
      "tree": "16427bf8d39f8a70393142e54dac23cf6e36ac00",
      "parents": [
        "e638b6da190cc317b2d415ac233f806da1d462db",
        "c4a59671b709cd154ee17e5245f38d84627d45dd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 19 22:11:59 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 22:11:59 2016 +0000"
      },
      "message": "soundtrigger: add size check on sound model and recogntion data am: ef0c915184 am: 82477c0929 am: 6aa5165f7c am: c4d991b2ae am: 4f1a678f8c am: 31ab14bef7 am: 1e98e388cb\nam: c4a59671b7\n\nChange-Id: Ibb805ec15a117d17c0644a7851f978a9bc6469fc\n"
    },
    {
      "commit": "4f1a678f8cda902dd21be399dbeab25e72c2c924",
      "tree": "3eb9480f238d37b0c0b29ba23e8b101671fcc2c3",
      "parents": [
        "8665ad8cb90f528a08ac9b593ff40e5937499e4e",
        "c4d991b2ae27d1db63341ebdbf44b79564b48344"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 19 21:52:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 21:52:26 2016 +0000"
      },
      "message": "soundtrigger: add size check on sound model and recogntion data am: ef0c915184 am: 82477c0929 am: 6aa5165f7c\nam: c4d991b2ae\n\nChange-Id: I3aa665734e6aae7ae4e7f8f32578d8d5bd4937d5\n"
    },
    {
      "commit": "c4d991b2ae27d1db63341ebdbf44b79564b48344",
      "tree": "a3f7f760d440b2cfcc25f7d22f5ffd58f6a1698d",
      "parents": [
        "2596457b6f171eb75d48dfb257494ed36c7dbea2",
        "6aa5165f7c6759c4a8b013839918469f6885408e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 19 21:48:12 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 21:48:12 2016 +0000"
      },
      "message": "soundtrigger: add size check on sound model and recogntion data am: ef0c915184 am: 82477c0929\nam: 6aa5165f7c\n\nChange-Id: I24c5a9cf190033a0042ce8edda2d52ba0105ed7a\n"
    },
    {
      "commit": "82477c0929f688d5cc0ab0cb69ed7d418130692c",
      "tree": "3efaffa9a7537db2c45af1bfe4e7ff8ebce05c33",
      "parents": [
        "34334a97ed439e972086cb2ae3b56588545f04a5",
        "ef0c91518446e65533ca8bab6726a845f27c73fd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 19 21:33:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 21:33:25 2016 +0000"
      },
      "message": "soundtrigger: add size check on sound model and recogntion data\nam: ef0c915184\n\nChange-Id: I5453811eb579dddd599be15108bb114095e07a58\n"
    },
    {
      "commit": "ef0c91518446e65533ca8bab6726a845f27c73fd",
      "tree": "879524e4fb40ef4a028c07ed3546aec02034767b",
      "parents": [
        "8f4b1a7de0e102b9203cfda3970edd2eedd9becf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 17 06:19:32 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 18 10:01:49 2016 +0000"
      },
      "message": "soundtrigger: add size check on sound model and recogntion data\n\nBug: 30148546\n\nChange-Id: I082f535a853c96571887eeea37c6d41ecee7d8c0\n(cherry picked from commit bb00d8f139ff51336ab3c810d35685003949bcf8)\n"
    },
    {
      "commit": "bb00d8f139ff51336ab3c810d35685003949bcf8",
      "tree": "f89d860c485f98e71a7c633c88014643b0df913b",
      "parents": [
        "f6d5a13c3a7a84e35e28b9840dde0f29728b6849"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 17 06:19:32 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 17 10:25:35 2016 -0700"
      },
      "message": "soundtrigger: add size check on sound model and recogntion data\n\nBug: 30148546\n\nChange-Id: I082f535a853c96571887eeea37c6d41ecee7d8c0\n"
    },
    {
      "commit": "4fd3791006c5099cf14f477f61a74a9a63a0a42c",
      "tree": "e17beba5c0768c7bfc78d6f7221791f84bb120ce",
      "parents": [
        "0e5c72c19dcdd9f1475a858ec3a5451c437bd5dc",
        "e298399890890961495c7d97be2f447d3a4b4c65"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 23:37:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 23:37:34 2016 +0000"
      },
      "message": "Merge \"Fix clang-tidy warnings in soundtrigger.\" am: 3ba2cb78bf am: df76b96050\nam: e298399890\n\nChange-Id: I4a99588b14166eff428fdd8a3152e8e60244bd7d\n"
    },
    {
      "commit": "df76b9605008434bb1fd520c8affe4fa3955e981",
      "tree": "781de842c1212ada21ba264b3b5791ac2ec1b8f9",
      "parents": [
        "dd25bc5143da1db9081e7d95b66928b0ddf873c1",
        "3ba2cb78bfe38cfb9a44a183bb66c82a5f2d4daa"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 23:31:39 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 23:31:39 2016 +0000"
      },
      "message": "Merge \"Fix clang-tidy warnings in soundtrigger.\"\nam: 3ba2cb78bf\n\nChange-Id: Ib9481a6bb666c75b8c0c1db5fc8f480cc85a266a\n"
    },
    {
      "commit": "85f8a73d29ae4aa4ed7a6445a88ded802077a58b",
      "tree": "59568728fe6c44a198c05a96c819d63f089cdc60",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:10:03 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:11:09 2016 -0700"
      },
      "message": "Fix clang-tidy warnings in soundtrigger.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I28b251c99c78286a2da1e039df470a3f0bd8abe2\n"
    },
    {
      "commit": "fcddb0b73931d207b21bd281a7df3ba2f230a607",
      "tree": "f9b35ea1d18407f17cd1fd10d9365867abbed823",
      "parents": [
        "f81362f6cd1bb22f988c30e6b552e6a2d95c4de7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 08 17:19:25 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 08 17:19:25 2016 -0700"
      },
      "message": "Enable strict warning checks and fix\n\nChange-Id: Id401a937911eb418e93314812f2f7c2b5ecff8d6\n"
    },
    {
      "commit": "ad65899e5f7d46e30a4dcca07aa0503fc014a3b9",
      "tree": "7c0eebcbca42fe8f982da9e4c6505c1b361d39ad",
      "parents": [
        "dd3e7a1be829243c6db6ad82e41e6a3a8dce174b"
      ],
      "author": {
        "name": "Ryan Bavetta",
        "email": "bavetta@google.com",
        "time": "Mon Apr 11 14:25:21 2016 -0700"
      },
      "committer": {
        "name": "Ryan Bavetta",
        "email": "bavetta@google.com",
        "time": "Mon Apr 11 14:25:21 2016 -0700"
      },
      "message": "Return error instead of unloading existing model\n\nWe were previously favoring KeyphraseSoundModels at this layer.\nWe now have better state handling in SoundTriggerHelper, and\nwill defer the loading problem to SoundTriggerHelper and above\nto sort out.\n\nBUG:28119841\nChange-Id: I438a620d6f6e6c593216a8a39bec6d969d6a5311\n"
    },
    {
      "commit": "efcf16c9fd2a2f0d865a2bcca98527d3804f83d6",
      "tree": "6826b1ac5743a7fe70c40f6379e4a4cc35c957ee",
      "parents": [
        "034c20eab5e5d13591278bd415ea78fe0bb779b7"
      ],
      "author": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Sun Mar 27 17:13:28 2016 -0700"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Wed Mar 30 11:24:05 2016 -0700"
      },
      "message": "Use new stop_all_recogntions when changing sound trigger state.\n\nIf no implementation is provided to the hal or uses an earlier version,\nwill fallback to using the single stop_recognition on all running\nmodels.\n\nChange-Id: Ifc1bd3f2887ad9397499bfd291241fd907b55421\n"
    },
    {
      "commit": "8fa2697e21c61998f78c346251d2c08f77d720ea",
      "tree": "17e06c62a4e47b816e63cf5fbae0907fbb2efb5f",
      "parents": [
        "7e258e85368ccc8e714235a22206527090685a9b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 03 13:19:27 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 17 18:06:46 2016 -0700"
      },
      "message": "Update audio services for 64 bit compilation\n\naudioserver still runs in 32 bits\n\nBug: 27479136\nChange-Id: I99ac607e4ce006a87abc2a3f838023e00ef78647\n"
    },
    {
      "commit": "2c561209f00320f7ca2b75998bbe72ecec527210",
      "tree": "8db775d93127fbb35defc277e8d274b72cf07c5f",
      "parents": [
        "d25c45526d9598218433b0fa59e1f5accbd5b639"
      ],
      "author": {
        "name": "Ryan Bavetta",
        "email": "bavetta@google.com",
        "time": "Tue Feb 16 14:17:31 2016 -0800"
      },
      "committer": {
        "name": "Ryan Bavetta",
        "email": "bavetta@google.com",
        "time": "Fri Feb 19 23:11:04 2016 +0000"
      },
      "message": "Prevent dumping sound models when max reached\n\nThere are currently cases when SoundTriggerHelper may get out of sync \nwith SoundTriggerHwService, specifically which and how many sound models\nare loaded.\n\nIf SoundTriggerHelper attempts to load a sound model and it would be \nexceeding the maximum allowable number of sound models:\n\n1) If the new sound model is not a KeyphraseSoundModel:\n\tThrow an error\n2) If the new sound model is a KeyphraseSoundModel:\n\tSee if there is an existing KeyphraseSoundModel to unload\n\tFailing that, unload the first SoundModel in the index\n\n\nBUG: 27225762\nBUG: 22860713\n\nChange-Id: I74db1be36bbc5887f5bf4751c3138de102976722\n"
    },
    {
      "commit": "9609a91f8560622735f6725f7f597be47a8e2f5f",
      "tree": "df3a632e50696920de74bb46e39be27a01b7628f",
      "parents": [
        "2e5408ac3e51cb459160b9cd392f1809b0758316"
      ],
      "author": {
        "name": "Ryan Bavetta",
        "email": "bavetta@google.com",
        "time": "Thu Jan 28 19:22:29 2016 -0800"
      },
      "committer": {
        "name": "Ryan Bavetta",
        "email": "bavetta@google.com",
        "time": "Mon Feb 01 16:05:43 2016 -0800"
      },
      "message": "Restore Abort Event for Unknown Sound Models\n\nRestore abort event when setting capture state\nfrom active to inactive for Unknown Sound Models\nThis was taken out mistakenly in change 853028\nAlso fix/improve log messages\n\nChange-Id: I58771de47ea357bb99a4ba3cfeea412490746443\n"
    },
    {
      "commit": "00a727c430c474f77f8835675a9d773f0314fb68",
      "tree": "b1ee872a8c6eb7983243f3ddced1d6a10d344853",
      "parents": [
        "e0db30868d9734f95a02df516dd0dc6a7226474b"
      ],
      "author": {
        "name": "Ryan Bavetta",
        "email": "bavetta@google.com",
        "time": "Tue Jan 26 21:56:19 2016 -0800"
      },
      "committer": {
        "name": "Ryan Bavetta",
        "email": "bavetta@google.com",
        "time": "Thu Jan 28 02:05:10 2016 +0000"
      },
      "message": "Add SoundTrigger GenericSoundModel type\n\nBUG: 22860713\nChange-Id: I462ba039577511674a08aee42e3f1941ff7005ce\n"
    },
    {
      "commit": "7b56f2e1e9495915ad9dea9afdc13e9e5d5b7536",
      "tree": "57549b41a4d8bda27199346169dd27863d758b56",
      "parents": [
        "4a95e69406aa2e9896d865962d6d947ebbdac6fc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 11:39:53 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 11:39:53 2015 -0700"
      },
      "message": "sound trigger: fix abort event init.\n\nInitialize unused fields of recognition abort event\nto avoid argument type check exception in JNI.\n\nBug: 20951546.\nChange-Id: I65ed3284464bd9a32406b5305d562fa434abedce\n"
    },
    {
      "commit": "27a78b56e1cf9814971192883cb7d15c186465f7",
      "tree": "78d22ab6884bade675def21c48c251c9a9a15bc0",
      "parents": [
        "69158e3e7b565a5ca131a2efaa9b76615ca80cbb",
        "78c02ddb6bf0d676160244a62c11dceb68301b73"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 19:30:17 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 07 19:30:17 2015 +0000"
      },
      "message": "am 78c02ddb: am cfa5bf04: Merge \"make libserviceutility a shared lib\" into lmp-mr1-dev\n\n* commit \u002778c02ddb6bf0d676160244a62c11dceb68301b73\u0027:\n  make libserviceutility a shared lib\n  audio policy: fix remote mic capture\n  audio policy: suppport for dynamic source\n  Fix overload of SoftVideoDecoderOMXComponent::updatePortDefinitions\n  Fix race condition in signaling completion for decode.\n  AnotherPacketSource: need reset some members before returning from queueDiscontinuity().\n  Fix looping sound playback\n  AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.\n"
    },
    {
      "commit": "5db7897ddd32e3ec3ab45ecdb6f21b6265e7e14a",
      "tree": "e586c65974e885af85d209c811acb3d3cd592736",
      "parents": [
        "71d13d4c94cea2113d074cf0d0c6e07ad68ff3ec"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 10:42:33 2015 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 10:50:09 2015 -0800"
      },
      "message": "make libserviceutility a shared lib\n\nso that we have only one getpid_cached in mediaserver process\n\nbug: 18919657\n\nChange-Id: Iff3cd932c9110e874b3885f79705f49bf3e3f1fc\n"
    },
    {
      "commit": "0aee4dd6bb897ef7e23ca67e4b5019ce9524b51e",
      "tree": "d427e75aaaeb24337f720fcb7a549ad3daeeaab0",
      "parents": [
        "3dd2eb810af471df146cb16a680b1b0ca7364be5",
        "30dee177d25bf75f8b3fb8a70573de2c04306759"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 21 02:45:13 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 21 02:45:13 2014 +0000"
      },
      "message": "am 30dee177: am 8052d933: Merge \"SoundTrigger: allow sound model reloading\" into lmp-mr1-dev\n\n* commit \u002730dee177d25bf75f8b3fb8a70573de2c04306759\u0027:\n  SoundTrigger: allow sound model reloading\n"
    },
    {
      "commit": "02eb47cf18793effe9fc7ab34e1b0fe9ea6635bc",
      "tree": "2e133219ce8c75a56dc19ba73795f7e6dab69370",
      "parents": [
        "ec9459c63d1c2969505ffdc4a100646fd07223bd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 20 10:10:20 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 20 14:27:00 2014 -0800"
      },
      "message": "SoundTrigger: allow sound model reloading\n\nAllow reloading a sound model without unloading it before.\n\nBug: 18308781.\nChange-Id: I31c83b81a03ee1c1e80f4339ca62e6d06fb1a33b\n"
    },
    {
      "commit": "f888020c6e2735624f2b2a30e72aca24e17b8b4d",
      "tree": "76d92b7a91a4bebd4e84d6afdc2ef4a2e4943df8",
      "parents": [
        "d02641098b16df2fd4cd32b72a30eb6f3b64e12b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 14 07:58:25 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 17 10:05:07 2014 -0800"
      },
      "message": "Update calls to IInterface::asBinder()\n\nto use the new static version.\n\nChange-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a\n\nConflicts:\n\tmedia/libmedia/IAudioFlinger.cpp\n\tmedia/libmedia/IMediaPlayer.cpp\n\tmedia/libstagefright/CameraSource.cpp\n"
    },
    {
      "commit": "886561f06ddaea86a51def1e918367430240b5ac",
      "tree": "37fdd77b38668b665492bc28297382149dcc172a",
      "parents": [
        "890a5637b3e3eb197fd2c7f5deec816c7feb13fc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 28 19:45:37 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 28 19:45:37 2014 -0700"
      },
      "message": "sound trigger: fix cross deadlock between service and client\n\nDo not call callback methods on ISoundTriggerClient with the service mutex\nlocked: the client implementation will lock its mutex to process\nthe callback and if a request from the same client with client\nmutex locked was waiting for the service mutex a deadlock occurs.\n\nBug: 16873049.\nChange-Id: Ifc3b31fdfaed525981fa59876c041478f38b42e8\n"
    },
    {
      "commit": "df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871",
      "tree": "e54724362f700e3e72fc72604a3b5f568d8cee7b",
      "parents": [
        "d0fded31e473e909c018f534d3019fb5168bdcd6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 27 18:39:40 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 05 12:10:27 2014 -0700"
      },
      "message": "Add sound trigger control by audio policy\n\nAudio policy:\n- Added active capture indication to sound trigger service:\nrecognition stops if concurrent capture is not supported.\n- Added generation of reserved I/O handle and session ID for\nutterance capture.\n\nSound trigger service\n- Added sound model update callback handling.\n- Added service state callback\n- Simplified callback shared memory allocation.\n\nBug: 12378680.\n\nChange-Id: Ib0292c2733e6df90fdae480633dd9953d0016ef1\n"
    },
    {
      "commit": "8ba53d87a2d311ff4b3f04e30b2e09309ae7421c",
      "tree": "47cb17d1d16a65915d71056c7f588c46b5d4eea7",
      "parents": [
        "936c84a5b743dce2a2572fdf54b37b187bc88b60"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 01 23:15:05 2014 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 01 23:15:05 2014 +0000"
      },
      "message": "Revert \"Revert \"sound trigger: added permission checks\"\"\n\nThis reverts commit 936c84a5b743dce2a2572fdf54b37b187bc88b60.\n\nBug: 16374803.\nChange-Id: I9d3137faeddf119b13f9cdb73c14ca49e1ee3d1c\n"
    },
    {
      "commit": "936c84a5b743dce2a2572fdf54b37b187bc88b60",
      "tree": "dcf40715022acc8c80619e431931008c9af69c6f",
      "parents": [
        "7b24ee381e806dcb53308c1cafc8a45f4e2d8300"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 17 10:26:04 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 17 10:26:04 2014 -0700"
      },
      "message": "Revert \"sound trigger: added permission checks\"\n\nThis reverts commit dcb162f3aed807d1e51f29e2454ade584439992e.\n"
    },
    {
      "commit": "dcb162f3aed807d1e51f29e2454ade584439992e",
      "tree": "d5430215f699eb9feea7cdf01751dcc2c83da123",
      "parents": [
        "671160ffe81592efa376dc1ff0fc3f4ddcdebc35"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 11 09:14:45 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 16 17:48:26 2014 +0000"
      },
      "message": "sound trigger: added permission checks\n\nAdd check for android.permission.CAPTURE_AUDIO_HOTWORD\nto all sound trigger binder calls on server side.\n\nBug: 12378680.\nChange-Id: Ic3fd70e947882cdf5f4d4a4fe609a2c5a8236fd5\n"
    },
    {
      "commit": "0832b2d7d190f4fbe6f134446b2610df0cccdbbb",
      "tree": "9980a8d4bf652a31d89918171ed7dc617af12bbf",
      "parents": [
        "3d638b30dcc67ef9eaa389160ef285cda055ed64"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 06 16:17:25 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 08 11:28:51 2014 -0700"
      },
      "message": "sound trigger: update HAL\n\nNew start_recognition() prototype with recognition\nconfiguration structure.\nNew recognition event format.\n\nBug: 12378680.\nChange-Id: I57b430eb076e6baa58118a0ed45ce4afaacb998c\n"
    },
    {
      "commit": "1a1cba8f9a93db188b09d9754987354029129113",
      "tree": "29e1dae92ddbac430d3334cf6644f8109d27f599",
      "parents": [
        "7e45ef9db7446d33c941961c14555413641e444b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 09 16:20:05 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 09 16:20:05 2014 -0700"
      },
      "message": "sound trigger: stop recognition on sound model unload\n\nForce a stop recognition command to the HAL when\nunloading a sound model and recognition is still active.\n\nChange-Id: I7379a64a37bbc3eeea08e0e1d59e427de9544a10\n"
    },
    {
      "commit": "b7a11d83f749ad0200778c4815e907d011d4b5d3",
      "tree": "28c744c0e8fe9c1f198ddd0999b4c5d95de9610a",
      "parents": [
        "24c01a8417fe195e5ba2187dbbdf9bd1e3a6553f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 18 17:40:41 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 04 15:34:20 2014 -0700"
      },
      "message": "add sound trigger native service\n\nChange-Id: I0cd954c1c7d28a334e786d0004431d4f6a1227ec\n"
    }
  ]
}
