)]}'
{
  "log": [
    {
      "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": "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": "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": "049475c201d6801e0a15ce102a4f9c357de83b61",
      "tree": "c8850d13956a5ffdd3628de9be21f0a7bd08bf7c",
      "parents": [
        "0ab12ecf971252442baaf4426a21a83b32c683aa"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Fri Jan 06 14:17:04 2017 -0800"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Fri Jan 06 14:17:04 2017 -0800"
      },
      "message": "Make metadata field mandatory for program info struct.\n\nTest: VTS, manual\nChange-Id: I3e4ed1f203dc28315d7c7db10c9ce3d83e4ec59d\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": "475d5837cd0d5cce89b0a43cb1e7939583f3a7a5",
      "tree": "5198d1e7e82cbd1b055d9c9abef11b56df5e437d",
      "parents": [
        "73e17f219e9ebcf45d6bc471b00b981428a4bc62"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 21 12:00:11 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 21 12:09:56 2016 -0800"
      },
      "message": "fix build for HIDL broadcast radio HAL.\n\nTest: make full-eng\nChange-Id: I384502539ad60c6a232e3cd9b65ba7fa6ca6ba58\n"
    },
    {
      "commit": "73e17f219e9ebcf45d6bc471b00b981428a4bc62",
      "tree": "61a2c6ca6485a59e0efe3e968ce211b8eb6a36e6",
      "parents": [
        "48d8020342a4de6b0b925328ddbdfe34f22253a3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 21 10:40:36 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 21 10:40:36 2016 -0800"
      },
      "message": "Revert \"Revert \"broadcast radio: initial support for HIDL HAL\"\"\n\nThis reverts commit 9a24e9127481b222c338dcbecef8394eaf899d51.\n"
    },
    {
      "commit": "9a24e9127481b222c338dcbecef8394eaf899d51",
      "tree": "99a10bb7e0f3519de2ef9d638281b84aa7ec1da2",
      "parents": [
        "9347a7710968313b392a5faa61eca9285e68e19c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 19 04:12:08 2016 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 19 04:12:08 2016 +0000"
      },
      "message": "Revert \"broadcast radio: initial support for HIDL HAL\"\n\nThis reverts commit 9347a7710968313b392a5faa61eca9285e68e19c.\n\nChange-Id: I14dede64a24b08c58affd6709d3e8a95f9dbda0c\n"
    },
    {
      "commit": "9347a7710968313b392a5faa61eca9285e68e19c",
      "tree": "85b2a802aa112010e877f48d31e825740a1267a0",
      "parents": [
        "6507185f5c59d39deeda6598ce50ee4900723501"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 03 16:45:16 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 17 10:25:39 2016 -0800"
      },
      "message": "broadcast radio: initial support for HIDL HAL\n\nTest: make.\nTest: run, load HIDL HAL and enumerate modules.\n\nBug: 31973526.\n\nChange-Id: I74a8f526e9f8c03e4cc07f82dc4a89b05abe3b87\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": "7a987ecdab7e87f916fef28bf991a6183020f1b4",
      "tree": "e1cf28ee9ed1c710c192f51b8b5d44d512654e28",
      "parents": [
        "d7f5b6de42553ec22314dd341f019fb8ebe76bc1",
        "c661ae6165338fd5f0bca50a63058b4bcd6def4b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 27 16:21:35 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 27 16:21:36 2016 +0000"
      },
      "message": "Merge \"Remove unneeded links with dynamic libraries\""
    },
    {
      "commit": "306162c7bf122ea915d4c3e39044478cd9944258",
      "tree": "c048d44dddc8014ffa44a7eb386eb1684b22dd32",
      "parents": [
        "b3153c295c4f4831a6c6c5512ec6b769f85f4d73",
        "01d267e3a78e1fa78d27f6d3e745914a5ac56ffa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 27 15:24:13 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 27 15:24:14 2016 +0000"
      },
      "message": "Merge \"broadcast radio: add wrapper over HAL implementation\""
    },
    {
      "commit": "01d267e3a78e1fa78d27f6d3e745914a5ac56ffa",
      "tree": "ce2838255825e477d0a0193b79b72b6c39543990",
      "parents": [
        "fa92ed0391a722a401b6f050d941032764a8639d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 21 08:16:10 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 26 17:05:01 2016 -0700"
      },
      "message": "broadcast radio: add wrapper over HAL implementation\n\nAdd radio HAL wrapper in radio service to prepare migration to HIDL.\n\nBug: 31973526\nChange-Id: I93fc6f00a2211f7ca425be73090f12b2855c9641\n"
    },
    {
      "commit": "aebf5fbc6978ba6791690696e22a277be7eefa9b",
      "tree": "56d7cd85efb1b87c84fa9ea2ec18a5fe7bb2a790",
      "parents": [
        "fa92ed0391a722a401b6f050d941032764a8639d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 25 11:08:53 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 26 22:47:19 2016 +0000"
      },
      "message": "radio: fix 64 bit process compatibility\n\nFix binder call implementations and shared memory layout to make sure\nthat structures containig a pointer to metadata buffer are passed\ncorrectly between 32 bit and 64 bit processes.\n\nChange-Id: Ibecf260555225e0764411f62b60831511cb68278\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": "dd25bc5143da1db9081e7d95b66928b0ddf873c1",
      "tree": "54b03ad57c7dda9fe9fcc402b87324f7aa23f50d",
      "parents": [
        "be42ac1fb0d961bb5dc6d19aa9aa8d0440cfdd53",
        "f53c1d182d90a7139390218870991e00d9c58bb2"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 23:31:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 23:31:37 2016 +0000"
      },
      "message": "Merge \"Fix google-explict-constructor warnings in radio.\"\nam: f53c1d182d\n\nChange-Id: I5973845ffdd43d318ba1058c4c03432d78dbf733\n"
    },
    {
      "commit": "62503ee0031d51532b4780df77a053435c983f58",
      "tree": "9c0d84a31898074e95fb15b468f341ed25c7fbdc",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:06:20 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:12:06 2016 -0700"
      },
      "message": "Fix google-explict-constructor warnings in radio.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I15359f74d6587d691a8cb35445732aff44188268\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": "1395874b91ddcd29e36d2bb6b86567f6f2319efc",
      "tree": "cd5b6a6803a77474102f02c6f833509a64008604",
      "parents": [
        "262c39e35bf88e09dab3e0ae9f7df84db64273bb"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Feb 18 10:02:35 2016 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Feb 18 14:21:32 2016 -0800"
      },
      "message": "Fix warnigns in frameworks/av/services/radio.\n\n- Fixes a number of \"suggest braces around initialization of subobject\"\nwarnings. [-Wmissing-braces]\n- Fixes assignment operation.\n\nBug: 27151636\nChange-Id: Id468ff7be4914c04224fd4430ccd128e7f3a89c8\n"
    },
    {
      "commit": "f639ba1fdd4fd51d7ab97d2d8891a510615645f3",
      "tree": "732070de64c23fdec86ae20e7d994546f394ad2c",
      "parents": [
        "7e7a62dc6c20b5ff761b87d99379797aa3fd7d9d"
      ],
      "author": {
        "name": "Sanket Agarwal",
        "email": "sanketa@google.com",
        "time": "Mon Oct 12 13:05:53 2015 -0700"
      },
      "committer": {
        "name": "Sanket Agarwal",
        "email": "sanketa@google.com",
        "time": "Thu Nov 05 19:23:55 2015 +0000"
      },
      "message": "Add features for Automotive usecases.\n\n1. Add support for emergency announcements - If the CAR wants to make an\nemergency announcements.\n\nChange-Id: Id4394e9ebce09d08ea4a4922032393bf2c2cddf4\n(cherry picked from commit b0e3867fc5bdb09d18aeb0f111998852aeaf7f86)\n"
    },
    {
      "commit": "f2f79cfcdec89052f49b74f9aab48e58daf606c6",
      "tree": "e78c065329ef4f6258285c4955ae2ded5101b46d",
      "parents": [
        "1ac91ed2c67245ea5052182212463d3f0afe8b5a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 23 17:10:50 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 23 17:13:45 2015 -0700"
      },
      "message": "RadioService: fix error handling in attach().\n\nFix typo causing tuner open error to be ignored.\n\nChange-Id: I10735f0cf6ae64ff9c4efa2eb4b20d94d3597ae5\n"
    },
    {
      "commit": "53810823a6613f54fc0b3c3bc0de267dc1f4e1e5",
      "tree": "e65a116aa468a5dd5f1e60fc5ca4a84f949b3714",
      "parents": [
        "b89b86d48cd5a6258e24fefd0eab888062cbdfb0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 12 09:12:01 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 19 10:53:21 2015 -0700"
      },
      "message": "audio routing management for radio\n\nAdded radio tuner device connection/disconnection\nindication to audio policy manager.\n\nAdded documentation and removed unused Module\nclass member.\n\nChange-Id: I92438c1ff212c4d76f008149554fa89e367fee42\n"
    },
    {
      "commit": "4e09069a29fc18d0799808cc26f71e9b068e98ad",
      "tree": "c546f0130241ac0fea083fca8ec2582e22785aaa",
      "parents": [
        "dedc86dcb6d63e93518c8974c077e50912d15e9c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 05 15:12:40 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 10 18:20:33 2015 -0700"
      },
      "message": "radio service initial implementation\n\nFirst implementation of broadcast radio service.\n\nThis native service runs in mediaserver process and\ncontrols broadcast radio hardware modules.\nThere is one ihardware module per broadcast radio class.\nThe service allows serveral clients to control tuners\non hardware modules and manages resource conflicts.\n\nChange-Id: I21469a084c7ccd65042b8ac5f724d060044c45ab\n"
    }
  ]
}
