)]}'
{
  "log": [
    {
      "commit": "01d56fe3fcad97dbed15093e03d6f50eca9fbef9",
      "tree": "6fcba42b38d4afb289fb7b74438c277f6d8f6c6c",
      "parents": [
        "ba05ff122c080be9fafe1f8112052cacfcd2b6fe"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 07 17:12:36 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 07 17:12:36 2017 -0800"
      },
      "message": "Add missing includes\n\nTest: compiled\nBug: not applicable\nChange-Id: Ie4007970f83e5d08b2d35e78a49d93d696809d7b\n"
    },
    {
      "commit": "9b16e197e25dd665933869f33bc304127535bdb8",
      "tree": "42f6817d65be5ef9dc2d38e8d6d65fc002dccbb2",
      "parents": [
        "8eacd8090e16c022dcbb11850cff83f984fe2357"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 03 12:37:34 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 03 12:38:58 2017 -0800"
      },
      "message": "Add getdents64 to seccomp policy\n\nBug: 34819438\nTest: recorded video\nChange-Id: Ia764bb0c20a95d822f350e546d61e4948f60a5ac\n"
    },
    {
      "commit": "8eacd8090e16c022dcbb11850cff83f984fe2357",
      "tree": "8efbb8305163d4956d8e096e769801a11e6ba2b8",
      "parents": [
        "c17c28aac0fa31be3fc4068da5e2f95731e7c361",
        "fe1e1449cadff4f946c33403aecc73b4b4a11e56"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 03 17:35:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 17:35:29 2017 +0000"
      },
      "message": "Merge \"Implemented typed, thread-specific logging system. Currently supported types are:  * Strings  * Integers  * Floats  * Timestamps  * Process IDs\""
    },
    {
      "commit": "fe1e1449cadff4f946c33403aecc73b4b4a11e56",
      "tree": "500bb66d15abbbd9b48dce430480cc35d4e6245b",
      "parents": [
        "5a3b54df3014ece49eb1f339e5598c01c6126251"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Mon Jan 30 12:02:03 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 02 16:45:04 2017 -0800"
      },
      "message": "Implemented typed, thread-specific logging system. Currently supported types are:\n * Strings\n * Integers\n * Floats\n * Timestamps\n * Process IDs\n\nAdded printf-like formatted logging using mentioned types.\n\nTest: included in this CL\nBug: 29421410\nChange-Id: Ie07b78d8d39c32fcc8a122ffa9b1b7082800b990\n"
    },
    {
      "commit": "5086a64b694ee3cc35006ac7e1e026abf2bd8cbc",
      "tree": "dbaef758424ee656f503317bba53343c68bd1bb3",
      "parents": [
        "8dc4ee85f02e7a40b93280fb1394c729c315e462",
        "5ed503c7a66c90f93759c90237a9b432dbd93f9f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Feb 02 18:41:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 18:41:58 2017 +0000"
      },
      "message": "Merge \"liboboe: rename Oboe to AAudio\""
    },
    {
      "commit": "03904c44cdf8ce30333d7e96e3eda959e5a8c208",
      "tree": "d30daba7da2e48e10e358038b9a8d64c18db4d3c",
      "parents": [
        "be0ee69ae88f9082eab0083cbf7b8a0676b5f673",
        "a141c5f3cc2214a96f250999edacc3bd4d454601"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 02 02:10:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 02:10:01 2017 +0000"
      },
      "message": "Merge \"Camera: StreamSplitter: Return overwritten buffer to input\""
    },
    {
      "commit": "be0ee69ae88f9082eab0083cbf7b8a0676b5f673",
      "tree": "0445ce01d6b2afe5835af8e565152a01bf16c7ca",
      "parents": [
        "ec0a5ac45728bc610e0266ec1a21d65ac340562a",
        "587b8dfdbc3d3b1dd9ffc1996b9a07cd9b284833"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 02 00:32:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 00:32:42 2017 +0000"
      },
      "message": "Merge \"audio: fix audioSession null check\""
    },
    {
      "commit": "ec0a5ac45728bc610e0266ec1a21d65ac340562a",
      "tree": "0269cf403217944cd63d475acca76f26cbfc1c11",
      "parents": [
        "67999b020e1eec218f5aa669ebc969636f53956b",
        "c31dc7e61eb37214ad186f6a2bc43d7b92bd236e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 01 23:36:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 23:36:34 2017 +0000"
      },
      "message": "Merge \"Camera3Device: Update frame counters/timestamps for dumpsys info\""
    },
    {
      "commit": "5ed503c7a66c90f93759c90237a9b432dbd93f9f",
      "tree": "e8868af7a85c42ad915cef8ec05ca642937d25ba",
      "parents": [
        "82e1a5e928b6b73c6b568ed8bc4d0b81e503afd8"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 01 09:38:15 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Feb 01 12:20:40 2017 -0800"
      },
      "message": "liboboe: rename Oboe to AAudio\n\nAll of the edits were done using scripts in media/liboboe/scripts.\nThe conversion is done using SED, which is called from\nconvert_oboe_aaudio.sh\nThe conversion can be reverted when debugging using revert_all_aaudio.sh\nThe string substitutions are in oboe_to_aaudio.sed\n\nBug: 34749573\nTest: cts/tests/tests/nativemedia/aaudio\n\nChange-Id: Ia10b34472a90df2652b87607c99156e9084e57aa\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "2987b83c782667dd3740f731268fe3372c343fce",
      "tree": "686cfefcaafa349999cd206c347c68a3700b107a",
      "parents": [
        "b23ba1ddd57b12e632e470ba21ce3c6ef44de4b3",
        "d00111e3b0c2ee59736fda992dd9ea24b23ef46a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 01 02:57:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 02:57:02 2017 +0000"
      },
      "message": "Merge \"Camera service: Fix dump() for treble path and rearrange it\""
    },
    {
      "commit": "b23ba1ddd57b12e632e470ba21ce3c6ef44de4b3",
      "tree": "4937abd31ca566b0639bd5ad1947fa9f59fb91cd",
      "parents": [
        "aadc336983e503f1b86533eb910f693383711b6a",
        "32ba98626834cb77e5d14b3e419385f0e32ec0bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 01 02:26:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 02:26:59 2017 +0000"
      },
      "message": "Merge \"Fix warning: Dereference of null pointer.\""
    },
    {
      "commit": "aadc336983e503f1b86533eb910f693383711b6a",
      "tree": "c8234f0324e88a19dfa6a5fd15fbcf6711508d32",
      "parents": [
        "12eb31583f40220b73a5e33b427e1d8f58243939",
        "8131418cf06d38431aff416f1d38ec011d4259ee"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 01 02:07:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 02:07:01 2017 +0000"
      },
      "message": "Merge \"Camera service: Clean up dump() command indenting.\""
    },
    {
      "commit": "c31dc7e61eb37214ad186f6a2bc43d7b92bd236e",
      "tree": "c278e63c123a07aef08fc8e175bd14a226369e88",
      "parents": [
        "d00111e3b0c2ee59736fda992dd9ea24b23ef46a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 31 17:35:41 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 31 17:59:47 2017 -0800"
      },
      "message": "Camera3Device: Update frame counters/timestamps for dumpsys info\n\nFor output streams, increment frame count and update timestamp when a\nfilled buffer is queued to the output buffer queue.\n\nFor input streams, increment frame count and update timestamp when a\nbuffer is acquired from the input buffer queue.\n\nTest: Manual inspection of adb shell dumpsys media.camera while\n   running DevCamera\nChange-Id: I8dc1d134baf5ad467e169f3ba6ffe0d1486df9dc\n"
    },
    {
      "commit": "d00111e3b0c2ee59736fda992dd9ea24b23ef46a",
      "tree": "af753b6ed405ab05ef5cdd6dce61b6196cd4c671",
      "parents": [
        "8131418cf06d38431aff416f1d38ec011d4259ee"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 31 11:59:12 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 31 17:21:23 2017 -0800"
      },
      "message": "Camera service: Fix dump() for treble path and rearrange it\n\nGet camera service dump working again in the Treble path, and clean\nup the formatting a bit\n\n- Switch to dprintf instead of write() for most dump calls\n- Add clearer headers for each section\n- Add static metadata details to CameraProviderManager dump\n\nTest: adb shell dumpsys media.camera with Treble both enabled and disabled\nBug: 32991422\nChange-Id: Ie1d431b68649777bfe84fbb1be0687dd02e671af\n"
    },
    {
      "commit": "8131418cf06d38431aff416f1d38ec011d4259ee",
      "tree": "610d99d8fe4fc8fa73bd0aff7418f3a72cedfc4f",
      "parents": [
        "6963d0ad7b621dcdaa74cbfed17c776121635146"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jan 30 16:13:45 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 31 17:03:20 2017 -0800"
      },
      "message": "Camera service: Clean up dump() command indenting.\n\nIn preparation for fixing dump() for Treble codepath.\n\nTest: Compiles\nBug: 32991422\nChange-Id: I1d889361e4836b75483e066b97de4015a2ef84cf\n"
    },
    {
      "commit": "32ba98626834cb77e5d14b3e419385f0e32ec0bc",
      "tree": "45f64b266d374bf82354dd2c60873e930988c329",
      "parents": [
        "a1ee4c28facd2e4ae0eb288178c8988bf1806148"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Jan 31 15:55:00 2017 -0800"
      },
      "committer": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Feb 01 00:44:06 2017 +0000"
      },
      "message": "Fix warning: Dereference of null pointer.\n\nBug: None\nTest: The warning is gone.\nChange-Id: I4c08397c0ee18c7714eb9b1029844d427259907b\n"
    },
    {
      "commit": "12eb31583f40220b73a5e33b427e1d8f58243939",
      "tree": "9e3f99f03229a0c2ae671e1d73be2e685bbca296",
      "parents": [
        "c5516dcd272bda8ef4fab9999b7035f13eb2cbd8",
        "033975f9afa776fab47c027c0b3b80c438216d77"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Feb 01 00:40:30 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 00:40:31 2017 +0000"
      },
      "message": "Merge \"Add the Treble version of OMX to the service.\""
    },
    {
      "commit": "587b8dfdbc3d3b1dd9ffc1996b9a07cd9b284833",
      "tree": "414969fe779bf8825008188620e3ba4bb6eea8d7",
      "parents": [
        "a1ee4c28facd2e4ae0eb288178c8988bf1806148"
      ],
      "author": {
        "name": "vivek mehta",
        "email": "mvivek@codeaurora.org",
        "time": "Tue Jan 31 14:58:44 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 31 16:39:55 2017 -0800"
      },
      "message": "audio: fix audioSession null check\n\nTest: make\n\nChange-Id: Ied514f8fb7496143bad45504151ca16226c67767\n"
    },
    {
      "commit": "a1ee4c28facd2e4ae0eb288178c8988bf1806148",
      "tree": "e788eec0db250db3156f094bc3b73e262bbb1f57",
      "parents": [
        "9f910521ca5f06e728cf946822fa1d5c4ddb95ec",
        "4c5b1c777680df26af1d28624b99f8388fb9df4c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 31 23:13:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 23:13:40 2017 +0000"
      },
      "message": "Merge \"Camera: remove wait for remote HIDL interface\""
    },
    {
      "commit": "9f910521ca5f06e728cf946822fa1d5c4ddb95ec",
      "tree": "9cee06a288c109d7988c0853e10d5d7d94f95b3f",
      "parents": [
        "d13fc248cff5c894bc5380ae6c6bbde42592dc48",
        "6963d0ad7b621dcdaa74cbfed17c776121635146"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 31 23:00:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 23:00:27 2017 +0000"
      },
      "message": "Merge \"CameraService: Fill in missing facing information in Treble path\""
    },
    {
      "commit": "4c5b1c777680df26af1d28624b99f8388fb9df4c",
      "tree": "6f174199c699c8c8e0dc99e994dbdbd0bd21f35b",
      "parents": [
        "e4806bbccc2150607d84d2df5cb91aa24c4fe10a"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 31 13:20:56 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 31 13:20:56 2017 -0800"
      },
      "message": "Camera: remove wait for remote HIDL interface\n\nThe new getService implementation does it.\n\nTest: fixing Marlin flashlight control\nBug: 34821019\nChange-Id: Ifd21f41313b85ef0abbd306d2862524e19b94e7d\n"
    },
    {
      "commit": "6963d0ad7b621dcdaa74cbfed17c776121635146",
      "tree": "a665cd75d0820c7b40efc630e8ed7fa6e187f00d",
      "parents": [
        "e4806bbccc2150607d84d2df5cb91aa24c4fe10a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 31 13:00:34 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 31 13:04:40 2017 -0800"
      },
      "message": "CameraService: Fill in missing facing information in Treble path\n\ngetDeviceVersion(), for whatever reason, also optionally returns the\nfacing of the specified camera device.  The latter part was left\nout of the Treble path implementation, resulting in incorrect\ndisplay orientation calculations higher up the chain.\n\nAlso add checks for invalid facings returned by getDeviceVersion so\nthat error logs will point this out next time.\n\nTest: Manual inspection: API1-based applications do not have upside-\n  down preview. API1 CTS passes.\nBug: 34816614\nChange-Id: Ice4c644e504f59e7df9be6636d9e6a3b38c52d4b\n"
    },
    {
      "commit": "70537c1ce74eff5cbd6554fc972a7d44b7157eca",
      "tree": "e8e37f2a2a4e1d3594c35649207e6e71bf319036",
      "parents": [
        "043291e32a86421695e04a7ea7985d8340ea5587"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 31 11:48:06 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 31 11:48:06 2017 -0800"
      },
      "message": "Fix fugu build break on aosp\n\nbug:34767350\nChange-Id: Ibc10bec4f79e3d58b5c72c99a7f1e56e7a2fbd86\n"
    },
    {
      "commit": "82e1a5e928b6b73c6b568ed8bc4d0b81e503afd8",
      "tree": "81c435a0e303b8264425df433c5a31b0f9d3684a",
      "parents": [
        "e82887b00c0b06b6c6e0cd23f1f27204fb4baffa",
        "dec33abe3739b2116ef6fbac36f7ca5d26f9d190"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jan 31 05:33:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 05:33:12 2017 +0000"
      },
      "message": "Merge \"OboeAudioService: add thread to service for passing timestamps\""
    },
    {
      "commit": "50181a137661fcb775111228f3a83092df5cb22a",
      "tree": "d34a19b986ac24bb9aa83fa4f5ac0381ad762bca",
      "parents": [
        "b3642e0acd7deb2e3ff2fec4e3b103654e7448d1",
        "68b3d9f49e68a11af5225175dc9e60ce88819e84"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jan 31 05:03:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 05:03:41 2017 +0000"
      },
      "message": "Merge \"Pass application packagename to drm plugin.\""
    },
    {
      "commit": "033975f9afa776fab47c027c0b3b80c438216d77",
      "tree": "2c3968c86574408a89045b00ce0ccdd1caf6c1f5",
      "parents": [
        "94e36c5607ec15e4c9a1dff56ca23d4001b932b3"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Dec 27 03:14:55 2016 +0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Jan 30 17:42:17 2017 -0800"
      },
      "message": "Add the Treble version of OMX to the service.\n\nTo enable the Treble version of IOmx in mediacodec process, use \"setprop\ndebug.treble_omx 1\".\n\nTest: Compiles\nBug: 31399200\nChange-Id: I0935dc7943e25067f5d8e75264cf2b088498a862\n"
    },
    {
      "commit": "dec33abe3739b2116ef6fbac36f7ca5d26f9d190",
      "tree": "1c64bd04521ab7dee9bb21b8d5d7bd0435ca302f",
      "parents": [
        "a77cf16037e73d1bee1852e13d92c9c7521de376"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jan 17 14:48:16 2017 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jan 30 17:18:08 2017 -0800"
      },
      "message": "OboeAudioService: add thread to service for passing timestamps\n\nCleanup several TODOs.\n\nTest: test_aaudio in CTS\nChange-Id: I7fc956b6a21cbb592f98e1e5a8f43ebd6926d796\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "b3642e0acd7deb2e3ff2fec4e3b103654e7448d1",
      "tree": "df06dae1cdacb28aca324e9438862b58c4972c67",
      "parents": [
        "c89e40b6ec16099f1a225468c409acb30d2667a6",
        "35ad27fa15b3da0c63f218e5a88b8f7c7f3419b8"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 31 01:00:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 01:00:29 2017 +0000"
      },
      "message": "Merge \"clean up a fixed size buffer\""
    },
    {
      "commit": "68b3d9f49e68a11af5225175dc9e60ce88819e84",
      "tree": "750d8fe493c2ec45542968192ecfe52d83133a02",
      "parents": [
        "9b088162cb9cdeb542f106a45d06a1f802e91e6e"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jan 06 19:07:54 2017 -0800"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Mon Jan 30 15:26:51 2017 -0800"
      },
      "message": "Pass application packagename to drm plugin.\n\nPass application package name to createPlugin and createDrmPlugin.\nThe application packagename will be used as part of a unique\nidentifier for drm plugin.\n\nTest: Play Movies.\n\nTest: ANDROID_BUILD_TOP\u003d ./android-gts/tools/gts-tradefed run gts -m\nGtsMediaTestCases --test\ncom.google.android.media.gts.WidevineH264PlaybackTests#testL1With480P60\n\nVerify the application\u0027s packagename is reachable in the drm plugin\u0027s\ndebug log.\n\nbug: 27101531\n\nChange-Id: I84fb09b591a7af63f6e20004e910112a4ce6ebac\n"
    },
    {
      "commit": "35ad27fa15b3da0c63f218e5a88b8f7c7f3419b8",
      "tree": "06679c21ca7c1f3c42758c3713aa03f8bbdce018",
      "parents": [
        "bf3b18fbf4a68184cf65d9fa063ac457d5a2af5a"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 30 14:04:11 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 30 14:59:03 2017 -0800"
      },
      "message": "clean up a fixed size buffer\n\neliminate the size of a fixed length buffer for a potentially very\nlong record.  Code was safe in that it didn\u0027t allow an overflow, but\nwe really wanted the information that was being truncated.\n\nalso some cleanup on parameters for \"dumpsys media.metrics\":\ntime units for \"-since\" and include a -help.\n\nBug: 34792286 34793404\nTest: invoke dumpsys with assorted parameters to see output\nChange-Id: If960afd52a509f277910e62c13d4ba60f9ed7e34\n"
    },
    {
      "commit": "78b3ee27f696980c999c9ac5db87e626ff6f717f",
      "tree": "659a8ab7e82d59e735963398cd82951f96916048",
      "parents": [
        "bc03dbeb6c3c0c829aa25b57dc28322996a8d630",
        "9cbbc837625cced18adabc57d71479044999155d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Jan 28 00:16:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 28 00:16:23 2017 +0000"
      },
      "message": "Merge \"Camera service: Switch to HIDL by default, add prop to disable\""
    },
    {
      "commit": "9cbbc837625cced18adabc57d71479044999155d",
      "tree": "edff3ee437b96ffa2f60dddd4f74ab22e0125eb1",
      "parents": [
        "217fc01b390d88993c1c94669b251f952fe2c44e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jan 23 15:39:53 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jan 27 23:23:52 2017 +0000"
      },
      "message": "Camera service: Switch to HIDL by default, add prop to disable\n\nOn camera service startup, use the HIDL provider codepath unless the\nsystem property \"camera.disable_treble\" is set to true.\n\nThe system property is needed until the HALv1 implementation is\ncomplete and the emulator can switch over, as well as for devices not\nyet tested in passthrough mode.\n\nWhether passthrough or separate-process HAL is used depends on the\nservices and libraries available on each device.\n\nTest: Camera CTS on angler, bullhead, sailfish, ryu. HFR performance\n      test on sailfish. Basic operation of camera app.\nBug: 32991422\n\nChange-Id: I3dd580cbcddd0df2e6b1e422920aa84270286e0a\n"
    },
    {
      "commit": "4a4193efd481dc3d26148bb8c5b43187f0777b60",
      "tree": "3cf38d3d4df26bec824e17c5a7491a54a063e363",
      "parents": [
        "e25b5c5d3f27b6a9f6db4063bf0a34aa3edfa131",
        "bb9480975322b0d1a09f76ef14f3285fc8af4e5f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 26 17:51:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 17:51:47 2017 +0000"
      },
      "message": "Merge \"audio: enable concurrent capture for voice recognition\""
    },
    {
      "commit": "29bcb38457deb3c69e0b5d2e8658446e969bd380",
      "tree": "261579eed10dce5b39c0b1e857191205decca154",
      "parents": [
        "6b2704c86f5f34217d820427da979c6bd6624bb8",
        "a53d6553fce1818bdf87833f93633c93ad1b5915"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jan 26 02:43:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 02:43:41 2017 +0000"
      },
      "message": "Merge \"Implement client code to use Drm and Crypto HALs\""
    },
    {
      "commit": "bb9480975322b0d1a09f76ef14f3285fc8af4e5f",
      "tree": "a32cac19e5e2f47e9808de74a00887e8e3d3c695",
      "parents": [
        "b9c28c72b91e464aa1155e972f74af14312191a8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 23 18:33:30 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 25 18:34:46 2017 -0800"
      },
      "message": "audio: enable concurrent capture for voice recognition\n\nAdd AUDIO_SOURCE_VOICE_RECOGNITION to the list of use\ncases allowed for concurrent capture. As AUDIO_SOURCE_HOTWORD is\nenabled for concurrent capture it makes sense to enable a client\nto transition to voice recognition after the hotword has been detected\nin a concurrent capture situation.\n\nAlso fixed some concurrent capture scenarii\n\nBug: 22702906\nTest: build and check \"OK Google\" detection\nChange-Id: Ic6dd41372fe74122395764beca7ca9a65197464b\n"
    },
    {
      "commit": "a53d6553fce1818bdf87833f93633c93ad1b5915",
      "tree": "8fbbb7b32d753c75a7350d748d6fa08d47402289",
      "parents": [
        "2a0c6d54dc34fdd8cca4e8ed7f39ad512133a878"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jan 20 00:31:46 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Jan 25 15:41:12 2017 -0800"
      },
      "message": "Implement client code to use Drm and Crypto HALs\n\nThis change adds DrmHal \u0026 CryptoHal classes that connect to the Treble\nHAL interfaces for drm.  These classes mirror the existing Drm and\nCrypto classes that connect to the DrmPlugin and CryptoPlugin\ninterfaces. Having both allows mediadrmserver to run in either mode\nwhile the HAL is stabilized.\n\nThe shared memory interfaces between mediaserver\u0027s ACodecBufferChannel\nand ICrypto had to be reworked to use the Treble HALs. Specifically,\nthe shared memory path for returning decrypted buffers in the\nnon-secure case had to become separate instead of piggy-backing on the\nsource shared memory buffer. A separate shared memory destination\nbuffer is now allocated on the buffer channel. An abstraction for a\ndecrypt destination buffer was also introduced to clarify ICrypto\u0027s\ndecrypt method.\n\nTests: Playback using Play Movies and ExoPlayer works on angler\nwith and without the treble hal enabled.\n\nbug: 32815560\nChange-Id: I5a3dc84f99902eb8cf8eabab9ad074d307744950\n"
    },
    {
      "commit": "1d399328e24b3ea0512e10f0925d8d09b43225ef",
      "tree": "30c9b17f2781e2037dcf6ebfc5253710176cc56a",
      "parents": [
        "a8c16d8ecf5d374a3e2a1d7fb4f8f9360e9e9741",
        "c778e59330a01a9aee6ad354c1e53462df4c88af"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 25 20:03:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 20:03:21 2017 +0000"
      },
      "message": "Merge \"audioflinger: Fix crash in EffectChain::dump\""
    },
    {
      "commit": "c778e59330a01a9aee6ad354c1e53462df4c88af",
      "tree": "1a1e994236e73f2088f84b710c0d5a189f56f177",
      "parents": [
        "c0461f5b18eb6d5516804810f315e6c23879a09d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 25 10:35:30 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 25 10:35:30 2017 -0800"
      },
      "message": "audioflinger: Fix crash in EffectChain::dump\n\nCheck for null buffer in dumpInOutBuffer\n\nBug: 34691158\nChange-Id: I5d11fcb1ce0170da7a742fdbe42a7eaeba4370fe\nTest: try bug repro steps\n"
    },
    {
      "commit": "929104f6cf4a1d0f54c0e92a0b9a0bdc3814a45a",
      "tree": "2551353e60ab993a298c0d158745a51b317b0cb5",
      "parents": [
        "b4728afbf8095d5349de9fcd49f3f34b900682ad"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Jan 25 12:33:14 2017 +0100"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Jan 25 13:54:51 2017 +0000"
      },
      "message": "Allow mediacodec _llseek() syscall.\n\nThe mediacodec process will attempt to load one or\nmore HIDL HALs. Code for retrieving a handle to HAL\nservices recently changed to include retrieving and\nparsing a manifest from the device; this parsing code\ncauses the _llseek system call to be executed, which\nwas previously not allowed.\n\nSince mediacodec already has lseek, adding _llseek\nhere should be safe.\n\nBug: 34692351\nTest: media.codec no longer crashes\nChange-Id: I7f0b173522a8e88395f54c7d2630270509f7799c\n"
    },
    {
      "commit": "b4728afbf8095d5349de9fcd49f3f34b900682ad",
      "tree": "7c89ffe2147137b42c8e961a029488c13bec48d2",
      "parents": [
        "a437457c4f802c8df577da452f3a26a64f55bba4",
        "758c215374dba397dabe17b8e96dd38593c09dd7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 25 01:54:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 01:54:21 2017 +0000"
      },
      "message": "Merge \"Camera: Combine handling of deferred surface and shared surface\""
    },
    {
      "commit": "a437457c4f802c8df577da452f3a26a64f55bba4",
      "tree": "4f73ee7d765a6bc90bd1e657fb36e1f897af9b0c",
      "parents": [
        "b9c28c72b91e464aa1155e972f74af14312191a8",
        "d38e174ddbde8e7419ba01deaded4ff0ead1caaa"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 25 01:01:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 01:01:08 2017 +0000"
      },
      "message": "Merge \"Change from mediaanalytics to mediametrics\""
    },
    {
      "commit": "a141c5f3cc2214a96f250999edacc3bd4d454601",
      "tree": "dda8e7681fcdd3af710ad2a0ac4b84e0f1aea70c",
      "parents": [
        "758c215374dba397dabe17b8e96dd38593c09dd7"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 24 14:51:37 2017 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 24 16:36:22 2017 -0800"
      },
      "message": "Camera: StreamSplitter: Return overwritten buffer to input\n\nFor Async buffer queue, if a pending buffer is overwritten by an\nincoming buffer, onBufferReleased callback isn\u0027t called. But the stream\nsplitter depends on the onBufferReleased to return buffer to input.\n\nFix the problem by checking the bufferReplaced flag in\nQueueBufferOutput.\n\nTest: Camera CTS\nBug: 33777818\nChange-Id: I270c7bae7873797ae9b050782828b5a124d3eff9\n"
    },
    {
      "commit": "758c215374dba397dabe17b8e96dd38593c09dd7",
      "tree": "d3c1326f44d95e97d5c73270f0195c5e2b7297ae",
      "parents": [
        "217fc01b390d88993c1c94669b251f952fe2c44e"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 10 18:26:18 2017 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 24 11:25:06 2017 -0800"
      },
      "message": "Camera: Combine handling of deferred surface and shared surface\n\n- Refactor the OutputConfiguration to contain isDeferred and isShared\n  flag, and not contain NULL surface.\n- Unify the handling of deferred surface and shared surface.\n\nTest: Camera CTS, and manual testing of GoogleCamera use cases\nBug: 33777818\nChange-Id: I5dd3472f0f2133699b0e9fbdd8ba456956222746\n"
    },
    {
      "commit": "d38e174ddbde8e7419ba01deaded4ff0ead1caaa",
      "tree": "cd62ea763bf947133d4fb6a66b693672294a2694",
      "parents": [
        "efbd36c8f57f41b0ef061cde5a88a3d384538fc9"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 23 15:17:06 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 24 09:46:01 2017 -0800"
      },
      "message": "Change from mediaanalytics to mediametrics\n\nreflect the change from \"media.analytics\" to \"media.metrics\" in\nwhat service names we use; bring the metrics service main code into the\nservice directory (vs an additional shared library).\nRemoved references to tentative binder functions that the service\nwon\u0027t be offering, at least not in the near future.\n\nBug: 34615027\nTest: build, boot, new services run, clients talking to said services.\nChange-Id: If17772a8f03c05b142e8d5779830d198710210c1\n"
    },
    {
      "commit": "ceec4a06595253a6dcc167064f318e470e1c3b58",
      "tree": "dceef3491e3de41d4095e0ac7f6b8fd29241eb57",
      "parents": [
        "73dc6fa0843525b2515fb95616336c4a65752f13",
        "3e378967b379afcd559b53d70d00e758f9c2616d"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Jan 24 01:16:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 01:16:10 2017 +0000"
      },
      "message": "Merge \"stagefright: fix unreleased OMX handle\""
    },
    {
      "commit": "3e378967b379afcd559b53d70d00e758f9c2616d",
      "tree": "75b39002e7f7e7fbb82742ad8640bcaa3ef6407a",
      "parents": [
        "dffb51f4e35fe93215b025bdf4216f3b411c734b"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 05 17:00:02 2017 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Jan 23 17:02:38 2017 +0900"
      },
      "message": "stagefright: fix unreleased OMX handle\n\n- Ensure OMX handle is freed even if binder death notification comes\nfirst.\n- Add DeathRecipient in ResourceManagerService so that it could\nhandle dead clients properly.\n\nFix: 28824626\nFix: 34252788\nTest: adb shell am instrument -e size small -w \u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nChange-Id: Ifc441a2771b5674749ff65a4520177dda115b292\n"
    },
    {
      "commit": "5867438fb562c80b8952c0b206ca1bf2f02e6a07",
      "tree": "68c15996320e8565d8c7c5fd00d32ad37ce231b3",
      "parents": [
        "2a0c6d54dc34fdd8cca4e8ed7f39ad512133a878",
        "3187436320be4c370b02aefe1acb064f364f4e1f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 18:17:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 18:17:26 2017 +0000"
      },
      "message": "Merge \"Whitelist mremap for the mediacodec seccomp filter.\""
    },
    {
      "commit": "0688880d2862e6cddfea1fceca24e8a081a6be60",
      "tree": "0ddffd4d8d70f0fad63e6c1738fdd55d86b3db08",
      "parents": [
        "dffb51f4e35fe93215b025bdf4216f3b411c734b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 19 12:47:55 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 19 14:06:37 2017 -0800"
      },
      "message": "audioflinger and hal: Compatibility fixes for Treble\n\n 1. Treat both reply size being 0 and reply buffer being NULL\n    as an indication that the reply isn\u0027t needed.\n\n 2. Synchronize both input and output effect chain buffers,\n    and avoid excessive copies when the input buffer is the same as\n    the output buffer.\n\n 3. Improve effect chain debug dump by showing both\n    \"external\" and \"allocated\" pointers for effect audio data buffers.\n\nBug: 34368451\nChange-Id: I56aba6908408b5fce3f15c8d29138555101e8720\nTest: volume controls works when both Bass Boost and EQ effects enabled\n"
    },
    {
      "commit": "3187436320be4c370b02aefe1acb064f364f4e1f",
      "tree": "ce7497c9a858b2d9a93e5285c014c516e092a92c",
      "parents": [
        "f3a8a2392e5dadee8afa51d384da008ae22b4091"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Wed Dec 21 14:16:15 2016 -0800"
      },
      "committer": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Jan 19 10:17:13 2017 -0800"
      },
      "message": "Whitelist mremap for the mediacodec seccomp filter.\n\nThis CL whitelists the mremap() syscall for the seccomp filter for\nmediacodec. We need to do this for CFI, which uses mremap\ninternally.\n\nBug: 30227045\nTest: m -j40 and the device boots and works.\n\nChange-Id: I3b95798b4c8653bd95fb1b3d54060d4a12adc5bd\n"
    },
    {
      "commit": "f3a8a2392e5dadee8afa51d384da008ae22b4091",
      "tree": "cd51c1dfe77bef61e391a7997d4b6bb88f04c3ed",
      "parents": [
        "17bd3ded8acd68ccdf28e6ce745116dd634fc34a",
        "6540509f9180bbaf9b0a76bc061ea3c0d7f8dbb8"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 18 20:35:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 20:35:36 2017 +0000"
      },
      "message": "Merge changes from topics \u0027cam-hidl-fence\u0027, \u0027camera-hidl-bufId\u0027\n\n* changes:\n  Camera: wait for remote camera provider\n  Camera: setup vendor tag in binderized mode\n  Camera: treble: close acquire_fence\n  Camera: pass bufferId to HIDL interface\n"
    },
    {
      "commit": "2355edbcacfcb6e852a8707d893aaca788d42fdc",
      "tree": "c01ff46849cd0f88cc7f695a81073f2c40c94a47",
      "parents": [
        "cac8d4ea54ece7aeb4b2ffa7aafd06fbec731a62"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 26 13:54:02 2016 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 18 08:27:08 2017 +0000"
      },
      "message": "OboeService: initial commit\n\nThis builds a standalone service that is easy to test.\n\nBug: 33269952\nTest: test_oboe_api\n\nChange-Id: I1890b1b974e728c2c0c15e24aa02121c2774bd56\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "cac8d4ea54ece7aeb4b2ffa7aafd06fbec731a62",
      "tree": "ed02d8653145fded2d53bcf4c6d7033cca7eb1cf",
      "parents": [
        "d0ffd62e89bf97fa20a63f282d034b6745328210",
        "44344b05261cb9ad46a43e635f637b89aecc7afe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 03:17:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 03:17:59 2017 +0000"
      },
      "message": "Merge \"audio policy: allows dumping Audio Policy Mix\""
    },
    {
      "commit": "addae1cfa92c3bae2b59917160da5520d2a25865",
      "tree": "d1b4f95e84a693a1f932337f9e45a47e35cf2d0a",
      "parents": [
        "7a667f6675f6dfc07892e0f9e67c60b26002e8f8",
        "0129d52df9794d6fdf06be304722b5cb51a2eab5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 01:54:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 01:55:02 2017 +0000"
      },
      "message": "Merge \"camera2: Add support for secondary surface for stream\""
    },
    {
      "commit": "6540509f9180bbaf9b0a76bc061ea3c0d7f8dbb8",
      "tree": "5c3f26287a98ce1a03edaeae60f65f28620a102a",
      "parents": [
        "067428c5a8429d711f94bf008debde29ac118849"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 13 15:42:28 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 17 16:43:13 2017 -0800"
      },
      "message": "Camera: wait for remote camera provider\n\nBefore we attempt to get passthrough implementation.\n\nTest: run binderized camera HAL mode with Camera2 CTS.\nBug: 34250977\nChange-Id: I5ef81429c85e7761e60541d1a8764b4e6d58b24a\n"
    },
    {
      "commit": "067428c5a8429d711f94bf008debde29ac118849",
      "tree": "f6a90448dddd0bc56cc70e26b79cdf949347cc7f",
      "parents": [
        "f4650601b4615f6a28727c1ad6bc956fd5ea532c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 13 15:19:24 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 17 16:33:12 2017 -0800"
      },
      "message": "Camera: setup vendor tag in binderized mode\n\nBug: 34275821\nChange-Id: I0472ab3d68279129a8713d4862de8e4608e7a5f7\n"
    },
    {
      "commit": "f4650601b4615f6a28727c1ad6bc956fd5ea532c",
      "tree": "70c2535b75abd57256ea4e80ddd7a212d7f051ca",
      "parents": [
        "773270525f68bdb706b85c3cd6e3750f27ca6d11"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 10 13:13:39 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 17 16:29:38 2017 -0800"
      },
      "message": "Camera: treble: close acquire_fence\n\nThis is to make the behavior agnostic to passthrough/binderized\nmode.\n\nTest: running API2 CTS\nBug: 30985004\nChange-Id: I48ce307f8566ff0a2a5b35763e1a37733e6ed9a0\n"
    },
    {
      "commit": "773270525f68bdb706b85c3cd6e3750f27ca6d11",
      "tree": "55a7bf4ee88071fd48ea02efa680785af1279826",
      "parents": [
        "e396e1cfaf67244b3b256e81ca452217bd3662ca"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 09 18:23:07 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 17 16:19:12 2017 -0800"
      },
      "message": "Camera: pass bufferId to HIDL interface\n\nThis gives each buffer a unique ID and save some time sending\nbuffer_handle_t to HAL process.\n\nBug: 30985004\nChange-Id: Idf0d3edde94e1331cadb271dce3e4bed8bfb8c14\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": "9bb03b4e10bfd26247eeb1865e40bb0645489816",
      "tree": "28095b6ca75df060542ad33b5f69b56face1963c",
      "parents": [
        "2872c7ab71fb554ee14d4e8b65677f9c7a97f966",
        "2247f7b84bf0ce3cc9c909ef987eedb086e3b4e8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 14 06:39:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 14 06:39:23 2017 +0000"
      },
      "message": "Merge \"audioflinger: Fix effect creation handling\""
    },
    {
      "commit": "2247f7b84bf0ce3cc9c909ef987eedb086e3b4e8",
      "tree": "3045baaee4d5fb8bebee134017d46d1a479f8310",
      "parents": [
        "38267b773f2cdec4d684b12fde73179bcc66e0c7"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jan 13 11:52:54 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Jan 13 20:10:31 2017 +0000"
      },
      "message": "audioflinger: Fix effect creation handling\n\nThe code flow was incorrect for sure. The \u0027if\u0027 branch is chosen\nif \u0027effect \u003d\u003d 0\u0027, and \u0027effectRegistered\u0027 is set to \u0027true\u0027 before\nthe effect is even created.\n\nTest: audioflinger doesn\u0027t crash if effect failed to get created\nChange-Id: I00d5f28e8b96acd765867e212c5b8193e21f9b4a\n"
    },
    {
      "commit": "8c48184651df8edb5b9490fe616844dbcfbbb0a4",
      "tree": "a394d86ba1dc2e4826c7e6376b0d2bd74d49ca8a",
      "parents": [
        "060a6c53b5022c9e539a4c9b03b16da546964bec",
        "8981605d43e24c46d395acb5f145b99589d45917"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 13 16:19:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 16:19:33 2017 +0000"
      },
      "message": "Merge \"AudioFlinger: Move RecordBufferConverter to libaudioprocessing\""
    },
    {
      "commit": "060a6c53b5022c9e539a4c9b03b16da546964bec",
      "tree": "5c517aa0d24e519bb40dcd2431ffefa43959d4d7",
      "parents": [
        "d825ab9d5be990a6a7fb28033cfba84441100731",
        "49d3b5ee8e89e274a5c259dddb7cde38e98c2cde"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 23:54:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 12 23:54:38 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 59cfe7de39 am: c6d07e8230 am: 15b18326b6\nam: 49d3b5ee8e\n\nChange-Id: I87a85c85d3f509e0496f5946d6e9e58174398ea5\n"
    },
    {
      "commit": "49d3b5ee8e89e274a5c259dddb7cde38e98c2cde",
      "tree": "820086bb36f0f8975f7462ca0795bd8d02711671",
      "parents": [
        "2c47cd273eb0a39aa4f11b67ea2c0156990bf167",
        "15b18326b67cde4bfe1d71f7a4e703c411dec2e5"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 23:52:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 12 23:52:08 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 59cfe7de39 am: c6d07e8230\nam: 15b18326b6\n\nChange-Id: I5f4906534e4b892566776b8ee0f005fb6543c283\n"
    },
    {
      "commit": "15b18326b67cde4bfe1d71f7a4e703c411dec2e5",
      "tree": "630963d9c9ec2e087a14fe0373059103eb3c1b9a",
      "parents": [
        "4fdfda5cd2b1d8670bdcf6048028f28875710a69",
        "c6d07e82302322304c422b768af37255d4098134"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 23:49:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 12 23:49:37 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 59cfe7de39\nam: c6d07e8230\n\nChange-Id: Ia3c81c04b689ae06610df61d27627dd66d5f71bd\n"
    },
    {
      "commit": "e74bbf18a6595a914d3c771be08a72077465c51f",
      "tree": "67ecfbc9a118ea695beaf5536bcd3ea5e9cfe376",
      "parents": [
        "ce961d374f8436a50e63a081afa6b6c3185b2f90"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 15:10:27 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 15:10:27 2017 -0800"
      },
      "message": "liblog: use log/log.h for ALOG macros\n\nTest: compile\nBug: 34250038\nChange-Id: Ie3b92790df631dbacdd51053264dddeba66913c1\n"
    },
    {
      "commit": "44344b05261cb9ad46a43e635f637b89aecc7afe",
      "tree": "f088a40f3512f177136b78f02e091d42db7d0934",
      "parents": [
        "38267b773f2cdec4d684b12fde73179bcc66e0c7"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 13 11:21:02 2016 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 12 13:19:26 2017 -0800"
      },
      "message": "audio policy: allows dumping Audio Policy Mix\n\nThis patch adds the dump of AudioPolicyMix if registered.\nIt also adds the required conversion map to human readable strings\nof the types involved in Mixes.\n\nAdapted for the development branch from the AOSP patch:\nhttps://android-review.googlesource.com/#/c/309127/\n\nChange-Id: I91cf7afe6de5ff837970d9063ca437d4f6201e89\nTest: build, dumpsys media.audio_policy\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": "8981605d43e24c46d395acb5f145b99589d45917",
      "tree": "8bb7ee0e15081201b70730bbaafed49b47d211dc",
      "parents": [
        "d7c5ec857930496bb8a1045dc8b87b2fdd99899c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 11 17:08:23 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 11 17:19:37 2017 -0800"
      },
      "message": "AudioFlinger: Move RecordBufferConverter to libaudioprocessing\n\nTest: Recording loopback\nBug: 31015569\nChange-Id: I7897d959f36ac7424544e35f47576c99a442dd54\n"
    },
    {
      "commit": "5a3b54df3014ece49eb1f339e5598c01c6126251",
      "tree": "4d4d02b674fba8e32bde61bd8efed23d29690da2",
      "parents": [
        "f663514d09c7ee6a4655cd7d67f12254519a1d2a",
        "1ab9e983429a7ab609d664cd46a0deb0913f2dc3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 11 23:43:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 11 23:43:16 2017 +0000"
      },
      "message": "Merge \"Remove unnecessary #includes.\""
    },
    {
      "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": "d7c5ec857930496bb8a1045dc8b87b2fdd99899c",
      "tree": "1febd0054f7833de4bfd877faea92b6c66a3d89a",
      "parents": [
        "67d0d7eb36e7c36d0a9dec9264c0cab832196d57",
        "4b058e7e5d58fb1bc6ba82eba94f7664e5b85706"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 19:30:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 11 19:30:56 2017 +0000"
      },
      "message": "Merge \"Add missing nullptr checks for data.readCString() strings\" am: ce961d374f am: 238c48e42e am: 877f779979\nam: 4b058e7e5d\n\nChange-Id: Idc3298b161380e9ace8b7fcceb4339b0805a3123\n"
    },
    {
      "commit": "4b058e7e5d58fb1bc6ba82eba94f7664e5b85706",
      "tree": "786e108a34a3ac65d02aa5245f1ad19117aaef60",
      "parents": [
        "aff7bd0ca1f1e6f860e056792938985e571fc75d",
        "877f77997987212ae0fbfecb24b35c03a0573006"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 19:25:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 11 19:25:56 2017 +0000"
      },
      "message": "Merge \"Add missing nullptr checks for data.readCString() strings\" am: ce961d374f am: 238c48e42e\nam: 877f779979\n\nChange-Id: Ic6e96b9ff3ecc609c40f8c5d5367a789b3732b7e\n"
    },
    {
      "commit": "877f77997987212ae0fbfecb24b35c03a0573006",
      "tree": "784bda81ca3055da5341cb11f86e0e0fddc06d90",
      "parents": [
        "7ceeb44566c54be121136a456142143e6bc4c4ac",
        "238c48e42e9e4daafc4cde73bc5c1856e7c10614"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 19:20:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 11 19:20:24 2017 +0000"
      },
      "message": "Merge \"Add missing nullptr checks for data.readCString() strings\" am: ce961d374f\nam: 238c48e42e\n\nChange-Id: I2e9cb8ec6752506cc5445aee3d38ae92e4f5e514\n"
    },
    {
      "commit": "c694ff449bef4ca1e45a6506f34e66c613757311",
      "tree": "36f66657e3389dbb6b30b7e122ff415f9ce5f40c",
      "parents": [
        "20adbc00032d6df980a3300f1ae974610f16f81f"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Mon Jan 09 23:27:29 2017 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 11 16:51:37 2017 +0000"
      },
      "message": "Add missing nullptr checks for data.readCString() strings\n\nProtect the Audio Policy Manager by adding extra checks\nfor data.readCString() strings when parsing / decoding\na Binder transaction.\n\nAlso:\n * Moved audio_is_output_device() / audio_is_input_device() checks\n   inside handleDeviceConfigChange()\n   from the AudioPolicyInterface to the AudioPolicyManager\n * Removed similar redundant checks inside\n    AudioPolicyService::setDeviceConnectionState()\n\nTest: code compilation\nChange-Id: Ib32a28ba2669b73aaf32b31bb18f41c8dd7d2605\n"
    },
    {
      "commit": "068561c8e84569d51df2adbbb53b56fdfd09c06b",
      "tree": "67e6c9c383b4667adc502b0ed6928a672a6a5b6d",
      "parents": [
        "ee454fcb25bff0f9c5d3455775a4cb66429e875e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 03 17:09:32 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 10 17:06:46 2017 -0800"
      },
      "message": "AudioFlinger: Split off audio processing library\n\nTest: native AudioResampler test, general playback test\nBug: 31015569\nChange-Id: Ifb248f4402a583438d756c014dcd7a4577aef713\n"
    },
    {
      "commit": "ee454fcb25bff0f9c5d3455775a4cb66429e875e",
      "tree": "c3951ebbde22c8c3e33712ccc2241f01f4647ca3",
      "parents": [
        "b554bff208ec1af8b6a8cfd78a86103c8dd46089",
        "022b9953153bdb1984f0abb17d21ef8c1826ad49"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Jan 10 23:22:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 10 23:22:50 2017 +0000"
      },
      "message": "Merge \"Re-implement HIDL effect processing using FMQ and IMemory\""
    },
    {
      "commit": "a6edcbb2026fe0a75fa55b6763c8d51b49083e47",
      "tree": "9cb18646cc9f64f8fe4e6e00744e1ae19c6ccea1",
      "parents": [
        "c02c861e7377ab63d3d59b6220afafd625f53aaf",
        "dce65c8103a8e8c3267590e90c5141d6bf842872"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 10 22:07:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 10 22:07:37 2017 +0000"
      },
      "message": "Merge \"Camera: fix API1 HAL3 path\""
    },
    {
      "commit": "ad880540d13db9e39c94496fd9bc89dfbfd1e1f5",
      "tree": "e987c9baef0e830ebb6a2f7f1252b5d84d79210e",
      "parents": [
        "b3962d2405b279abde234e16e5b3bff3a4a5cab5",
        "9033512273129383c8cc78beee61f17b50ffff49"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 21:28:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 10 21:28:47 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 06d8feefec am: 71bf335ffa am: 8790fb2613\nam: 9033512273\n\nChange-Id: I67837417d7c8fbc2cc5239f903a0cdf3b107558b\n"
    },
    {
      "commit": "9033512273129383c8cc78beee61f17b50ffff49",
      "tree": "494a1c0f1d0d62b22df4a1b14bd6851b4115f785",
      "parents": [
        "e4f2656ff9310954ee30f55d3a3e8de4f6fd5080",
        "8790fb2613b493ab5ac3470deb522f79415eb6fe"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 21:24:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 10 21:24:16 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 06d8feefec am: 71bf335ffa\nam: 8790fb2613\n\nChange-Id: I8ccebdc05c7f280a101af02032d41413c198ef39\n"
    },
    {
      "commit": "8790fb2613b493ab5ac3470deb522f79415eb6fe",
      "tree": "f41fb9e04b7b48113bf21ba700c409c5e39ac9b4",
      "parents": [
        "3e383dc9cd672acc970fa726b613d89ccfb8f7d8",
        "71bf335ffa564aff06dc34a0fc5d24aadfcd2b6b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 21:19:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 10 21:19:19 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 06d8feefec\nam: 71bf335ffa\n\nChange-Id: Id07d468c8e95af39e189f53919a0ac6aabc9604c\n"
    },
    {
      "commit": "0129d52df9794d6fdf06be304722b5cb51a2eab5",
      "tree": "f1d74ea701960753675b03385434c90a7c3c5875",
      "parents": [
        "844800fb97bfd061f845cd13d42fbdfacdbca6c5"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sun Oct 30 22:43:41 2016 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Jan 10 10:31:40 2017 -0800"
      },
      "message": "camera2: Add support for secondary surface for stream\n\n- Enhance OutputConfiguration to contain multiple surfaces for one\n  underlying stream.\n- Create Camera3SharedOutputStream to handle streams with multiple\n  surfaces.\n- Create Camera3StreamSplitter to handle buffer flows between camera and\n  multiple consumers.\n\nTest: cts, and manually test camera preview/snapshot/recording\nBug: 33777818\nChange-Id: Ia010c3cc9d9b4bd5b9ea03cc42fe4e0a0d8033f1\n"
    },
    {
      "commit": "eb16561336e6445f7edae047998f2459e046cdfe",
      "tree": "c4a00a444fb228f725324b66fbf426a0a00728c3",
      "parents": [
        "98d1217d58b1879eccee445c3510a8c563a61d11"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 09:08:19 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 10:04:43 2017 -0800"
      },
      "message": "liblog: use log/log.h for ALOG macros\n\nTest: compile\nBug: 30465923\nChange-Id: I247151363604714088b6059279702702b4e9f89a\n"
    },
    {
      "commit": "022b9953153bdb1984f0abb17d21ef8c1826ad49",
      "tree": "aff19a7663d75cbb16bc003424bacb6f97b738cd",
      "parents": [
        "e61f9e57e61cbf4d86d6385dd3cddb41e245f749"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 04 16:36:51 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jan 09 18:18:18 2017 -0800"
      },
      "message": "Re-implement HIDL effect processing using FMQ and IMemory\n\nResult: no hwbinder calls due music processing.\n\nTest: make, use Play Music with effects, check traces\nBug: 30222631\nChange-Id: I06d0e94e603688874b31824427f3b0878b5f7c8e\n"
    },
    {
      "commit": "dce65c8103a8e8c3267590e90c5141d6bf842872",
      "tree": "3f0d963702349952c449ec88e6960ab3b0c75359",
      "parents": [
        "db057a5a6556f4ea81b710fc90ab6e8816d1525e"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 06 15:03:53 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 09 12:02:49 2017 -0800"
      },
      "message": "Camera: fix API1 HAL3 path\n\n1. Disable the ZSL path for now\n2. Add the missing provider version of initialize()\n\nTest: All API1 CTS passing\nBug: 32991422\nBug: 34131351\nChange-Id: I437a00db44c4fbb836875040fd4a91e1abbab734\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": "66b5f382ba9e7b94b14ad3d6ff181eab69ccf246",
      "tree": "134727bda4e0bd44036ffb5c8a5ffaff0a0a4e7e",
      "parents": [
        "96966995da4418326a01dd53719c8355a0db9415",
        "049475c201d6801e0a15ce102a4f9c357de83b61"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Sat Jan 07 20:03:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 20:03:41 2017 +0000"
      },
      "message": "Merge \"Make metadata field mandatory for program info struct.\""
    },
    {
      "commit": "96966995da4418326a01dd53719c8355a0db9415",
      "tree": "6c3fead7eb49fceaa94d4ee93ecd9b466b095adf",
      "parents": [
        "10eb0c33a090fa72148aac136dc5e54789461e3e",
        "b20b027d86c5ae7b84e88925bc0f1ee4f7487445"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 04:16:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 07 04:16:05 2017 +0000"
      },
      "message": "Merge \"Add SSE optimization of FIR float filter\" am: 5783c0a053 am: 440279f709 am: 61028e78a9\nam: b20b027d86\n\nChange-Id: Ibde0e3f33a88431a009b7f0550a8fd12c346037e\n"
    },
    {
      "commit": "b20b027d86c5ae7b84e88925bc0f1ee4f7487445",
      "tree": "dc6f2ae8b43d30aee8bd3d3430f3d09e5ddc476e",
      "parents": [
        "3c1d987a05dd3dcf3554a2e309418524282e9a3c",
        "61028e78a9c0dae060e4331f16d31eb8cc4e8dbe"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 04:12:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 07 04:12:04 2017 +0000"
      },
      "message": "Merge \"Add SSE optimization of FIR float filter\" am: 5783c0a053 am: 440279f709\nam: 61028e78a9\n\nChange-Id: I562825a1a689bcbc4cbe0ef5f7ebf281985b1a13\n"
    },
    {
      "commit": "61028e78a9c0dae060e4331f16d31eb8cc4e8dbe",
      "tree": "b62b634ed0784ee3b13b62d343a5559ef3198694",
      "parents": [
        "34df2b45c135014db19f75770227d5f8adf85550",
        "440279f709cf88eb91a758b7a6831ae05ce68ff8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 04:07:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 07 04:07:34 2017 +0000"
      },
      "message": "Merge \"Add SSE optimization of FIR float filter\" am: 5783c0a053\nam: 440279f709\n\nChange-Id: I8d994318bf3e4c143a3a308ab98c3b6f9aed33e0\n"
    },
    {
      "commit": "5783c0a053191a75e8cd32b1e048b16f6f3021f4",
      "tree": "9ef71d4ab0f0434e6b23d6eb5a512c8ccfb6a0e9",
      "parents": [
        "0b4540f8678286079b907518912818ab7783f2ba",
        "841920db8206cc6428ab460e5fa5b7a50edd06d0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 03:57:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 07 03:57:08 2017 +0000"
      },
      "message": "Merge \"Add SSE optimization of FIR float filter\""
    },
    {
      "commit": "10eb0c33a090fa72148aac136dc5e54789461e3e",
      "tree": "a54010cd5076a4f749ac54169539c1a090d1e0ba",
      "parents": [
        "c856cf0d72e5abb0c9db5fff46b8e4ebe6d04ef6",
        "adc5d9c58f32ed66219202513078c28398836d17"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 03:14:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 03:14:19 2017 +0000"
      },
      "message": "Merge \"AudioResampler: Add mono stopband tests\""
    },
    {
      "commit": "c856cf0d72e5abb0c9db5fff46b8e4ebe6d04ef6",
      "tree": "4f60f36eb6c075a3ae70dae4a6658b9d4e3c8a56",
      "parents": [
        "22e20cfa42647a041ab1299c9314e145fcb7bf56",
        "9145202c61433682ba26aeb283c87d774f41032a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 03:13:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 03:13:41 2017 +0000"
      },
      "message": "Merge \"AudioResampler: Workaround for Clang assembly bug\""
    },
    {
      "commit": "22e20cfa42647a041ab1299c9314e145fcb7bf56",
      "tree": "ec40d60cd9145460ee65c59ae7e32af5bc255516",
      "parents": [
        "30f1d9f6262280b3e5269d53b1d05ed699325c06",
        "51157baa6c8b142ec2c723ffd0cf8dc53565ca11"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 03:13:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 03:13:21 2017 +0000"
      },
      "message": "Merge \"AudioResampler: Fix intrinsic integer mode for 64b\""
    },
    {
      "commit": "30f1d9f6262280b3e5269d53b1d05ed699325c06",
      "tree": "ecf5afaf0473b14a3790b258b6c6c2490e02005f",
      "parents": [
        "5e3030fd4ef828cc7254e96030f38ad64f162151",
        "ccbba6e66e49eddf9942c0bc710f12bec983e134"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 07 02:28:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 02:28:10 2017 +0000"
      },
      "message": "Merge \"AudioFlinger: Fix resampler tests\""
    },
    {
      "commit": "adc5d9c58f32ed66219202513078c28398836d17",
      "tree": "74079ba6cb103aacb51f6fe25e9dd31e49329ce5",
      "parents": [
        "9145202c61433682ba26aeb283c87d774f41032a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 05 17:26:08 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 06 16:37:55 2017 -0800"
      },
      "message": "AudioResampler: Add mono stopband tests\n\nTest: Native audioresampler test on Pixel XL\nChange-Id: I4a36df1ca0e6b5bfb3b352f4bd16ed7697448031\n"
    },
    {
      "commit": "9145202c61433682ba26aeb283c87d774f41032a",
      "tree": "2a15888e8dbc7e370f2bab33847cafeb0e7dd7f0",
      "parents": [
        "51157baa6c8b142ec2c723ffd0cf8dc53565ca11"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 05 17:11:19 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 06 16:37:42 2017 -0800"
      },
      "message": "AudioResampler: Workaround for Clang assembly bug\n\nUsed to work on M with gcc.\n\nTest: Native audioresampler tests on Pixel XL disabling NEON\nBug: 34110890\nChange-Id: Ibaaaf9ed833a37a9017a3217d31cb5ced6fa2c82\n"
    },
    {
      "commit": "51157baa6c8b142ec2c723ffd0cf8dc53565ca11",
      "tree": "0b2528227950da91bd31d5ab7d4e994b793b7565",
      "parents": [
        "ccbba6e66e49eddf9942c0bc710f12bec983e134"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 05 16:59:20 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 06 16:37:29 2017 -0800"
      },
      "message": "AudioResampler: Fix intrinsic integer mode for 64b\n\nFor legacy compatibility in 64 bit resampling mode (doubly\nunlikely to be used, but we should still fix it).\n\nTest: Native audioresampler tests on Pixel XL\nBug: 27174404\nChange-Id: Ia65a0c6aa4255f0fb62f16d05a225ded58373f8e\n"
    },
    {
      "commit": "ccbba6e66e49eddf9942c0bc710f12bec983e134",
      "tree": "210585fb058c169bde8216c157a6226b1f8afb00",
      "parents": [
        "36867767ba86244b0d942255b9d241b092151309"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 05 16:43:35 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 06 16:34:13 2017 -0800"
      },
      "message": "AudioFlinger: Fix resampler tests\n\nTest: Run resampler tests on Pixel XL\nBug: 34113617\nChange-Id: Idee23b90bd1a353f841beab95c74a7b0ddb13783\n"
    },
    {
      "commit": "5e3030fd4ef828cc7254e96030f38ad64f162151",
      "tree": "5145869e0dac4277524eea0e904159bf0d954668",
      "parents": [
        "f0b3e3be1ead1cb40b50e3dc048947220acb62a5",
        "535e161e2e404dffb8389dd331be0132704b6d82"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 06 23:50:50 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 06 23:50:51 2017 +0000"
      },
      "message": "Merge \"media.log: re-implement NBLog using audio_utils_fifo\""
    }
  ],
  "next": "049475c201d6801e0a15ce102a4f9c357de83b61"
}
