)]}'
{
  "log": [
    {
      "commit": "240b83a455a047c7693419d7d7bd948de6614dbe",
      "tree": "132f2aab3618158feb7a94528b1d0e945f4eb611",
      "parents": [
        "e2936096bf19897d2a6e99f9707bc46b1c148c4f"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu May 04 11:22:01 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu May 04 11:22:01 2017 -0700"
      },
      "message": "Remove redundant dependencies\n\nandroid.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.\n\nTest: links\nBug: 33276472\nChange-Id: I1e33404a582a3707e0990634467c1fc7430c23a2\n"
    },
    {
      "commit": "04563aafa0debc95d50951ca944abf37ef2777ce",
      "tree": "27f23c70a302d8d8740b62c569a7d5ee48418aad",
      "parents": [
        "0e4b8e9cb1b422195c49be49b48d039aa0814acf"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Mar 09 07:02:01 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Mar 14 17:13:37 2017 -0700"
      },
      "message": "Move hybrid interface from libbinder to libhidl/transport.\n\nAlso, merge android.hardware.media.omx@1.0-impl into libstagefright_omx.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nTest: Manual use of Camera, Photos, Play Movies and YouTube apps.\nTest: Manual use of screen mirroring.\n\nBug: 33854657\nChange-Id: Ie927bcafd86dc7e9509bb8b76bb3b51f9a423cc7\n"
    },
    {
      "commit": "6566536c89a9e8646404bd2e671e3e081c181b4a",
      "tree": "b9efd343001c73bfe13fdf267356ad64397a97ab",
      "parents": [
        "b4d5ec0d8f3755ccb8d5ce51798c3004330e1120"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Feb 24 13:07:56 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 27 10:16:13 2017 -0800"
      },
      "message": "Cameraserver: Use multiple hwbinder threads\n\nSome interactions between camera service and hwservicemanager require\nmultiple threads to execute without deadlocks, such as calling\ngetService() from within an onRegistered() callback.\n\nIncrease thread count to 3 to accomodate.\n\nAlso switch the order of listener registration and legacy provider\naddition back to what it was originally.\n\nTest: No deadlock when camera service is restarted\nBug: 35096594\nChange-Id: I6def961d5765958fef284c0a1820e903abc851ef\n"
    },
    {
      "commit": "bc1713d3b85d7ce656e032da6e4b6b342f14db03",
      "tree": "df2747b33b188cf3b5af2505d1076984120ddc8d",
      "parents": [
        "87251eee475a53599b980334df777326fa8e1527"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 13 18:37:50 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 12:25:14 2017 -0800"
      },
      "message": "fallout of splitting rect.h out of libandroid.\n\nA lot of media makefiles didn’t specify libui or\nlibgui but included headers from these libraries\ndirectly. \n\nIt works because these headers are on the global\ninclude path. With this change, though, rect.h\nis not anymore (albeit exported from libui).\n\nTest: built and booted device\nBug: 35164655\nChange-Id: I72e8f0b7bd25c6a67eedc17afe52c4c484a147fe"
    },
    {
      "commit": "2f09bac6632a5ee27ee14baa2aa1367f16b5b013",
      "tree": "84b27d17b174f9a7eb9e4eab15d23f870334b55b",
      "parents": [
        "7f05785ddac8411823d865a1cdc725308ae4a7ae"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Dec 13 11:29:54 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jan 05 14:48:00 2017 -0800"
      },
      "message": "Camera: Update camera service to use new HIDL HALs, part 1\n\n- Add CameraProviderManager\n  - Enumerates individual camera provider HAL instances, as well\n    as the devices they provide\n  - Handles dynamic provider and device appearance/disappearance\n  - Maps device names to public API namespace\n  - Add unit tests for CameraProviderManager\n- Add logic to enable new HIDL path\n- Switch various bits of service internals to use string camera IDs,\n  though leaving most camera1-facing bits using int IDs, since that\u0027s\n  what the old API uses.\n- Update CameraService to use CameraProviderManager instead of\n  the legacy camera HAL\n- Update clients to pass through provider manager to devices instead\n  of just camera module\n- Still TODO:\n  - Update Camera3Device to use new HIDL interface\n  - Update CameraHardwareInterface to use new HIDL interface\n  - Update dump()\n  - Update vendor tag handling\n\nTest: New unit tests pass, camera CTS passes with Treble disabled\nBug: 30985004\nBug: 32991422\nChange-Id: I7ac41f13b9501d5e53256e28c0465ec70aa3980e\n"
    },
    {
      "commit": "f51fca277eb5b86bd0b2e3fc90ecb2b63089de29",
      "tree": "4c9b0b9c9e3969dca6ee7a0e0f4b0904a1757d8c",
      "parents": [
        "07f49573613aee5a8e661f74a324db371ecc8551"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Dec 13 11:25:55 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Dec 13 16:32:23 2016 -0800"
      },
      "message": "Camera service: Updates in preparation for HIDL\n\n- For all camera2 paths, and anything shared between the legacy API and\n  camera2, switch to using strings for camera IDs\n- Update ICameraService.addListener to return current set of known\n  devices and their status, to allow for immediate return of camera\n  devices when first connecting to camera service\n- Remove unused code path for getCameraCharacteristics with HALv1\n- Add namespace qualifiers to Binder objects that are also used by\n  hardware binder.\n- Switch to using new HIDL DeviceStatus and TorchStatus enumerations\n  for better type safety in the service; map more clearly between\n  the HAL, service-internal, and Binder enums.\n\nTest: cts-tradefed run cts -m Camera --skip-connectivity-check -d -o --abi armeabi-v7a --disable-reboot\nBug: 32991422\nChange-Id: I765951d9a21000a8432bed9aa0e3604709daa4b1\n"
    },
    {
      "commit": "dbb1afd703c1435e0be5d5fd85248ab48dac2b02",
      "tree": "15d98e08641ee0fbcecec3e6ace4d2a19e9bf32f",
      "parents": [
        "66c42ee95b42bea78cfc8035a1ea4e00c34d6cac"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 01 12:52:10 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 01 13:10:25 2016 -0800"
      },
      "message": "Remove unneeded libcutils references\n\nmediaserver, mediadrmserver, cameraserver don\u0027t actually use libcutils\n\nChange-Id: Ieac17ec8bce73910672db4e3e239bc6cbe5f0be0\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": "c8deb6dde12f68f7625ea50fd398942bb896d37b",
      "tree": "c9f298f3be35855ea384338f25ab078a35cbe1f1",
      "parents": [
        "eaa26fe35d6faa7eba9adb424ee55b50e89f59cb",
        "f68051a6beb8bb390d12fb700f1721be3f95e54f"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sun Sep 25 00:03:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 25 00:03:19 2016 +0000"
      },
      "message": "Merge \"Add missing liblog dependency\" am: 9200a9aab7 am: cb092999cb\nam: f68051a6be\n\nChange-Id: I412248e299c26325a1992b58f4edeec83fdbfe0f\n"
    },
    {
      "commit": "b8c32f06401c8948a69fa896a9afd768528b299f",
      "tree": "03f478cad7b90b0ed6fc1cf63a5e8a96aab40090",
      "parents": [
        "7449b5e025eeb79b04d67c4595c0497b942fe785"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Sep 23 17:15:38 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Sep 24 15:15:46 2016 -0700"
      },
      "message": "Add missing liblog dependency\n\nBug: http://b/31289077\nBug: http://b/27171986\nTest: remove liblog from libcutils and recompile\nChange-Id: Ic2e8a3d9e62d778d32863a4b794dc4c80b1b1b2b\n"
    },
    {
      "commit": "9959f5aa7e66764e6f2fc4325e7657fcc2776427",
      "tree": "5c59d30334886277d530459f934a7ed5f084991d",
      "parents": [
        "cecb30a22f3657483f07f259231b81b02b2a7305"
      ],
      "author": {
        "name": "Srinath Sridharan",
        "email": "srinathsr@google.com",
        "time": "Mon Jul 18 12:57:13 2016 -0700"
      },
      "committer": {
        "name": "Srinath Sridharan",
        "email": "srinathsr@google.com",
        "time": "Mon Jul 18 15:58:55 2016 -0700"
      },
      "message": "Making sure cameraserver can write into camera-daemon cpuset\n\nIf multiple writepids, all must be in one line to take effect. Else,\nonly the last one will take effect.\n\nbug: 30192722\nbug: 28312446\nChange-Id: Icbcdefec58346d5c7258b51055de96ec8de8dd65\n"
    },
    {
      "commit": "091348e3ac3f2172d871bc6c140911d16b47c9dc",
      "tree": "d906bc8a932439cf006995414ac0d3130afd83f3",
      "parents": [
        "8fe99a6553ca6c307c0854fc7370c31c3f4abe94"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 11 14:12:04 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 12 14:52:10 2016 -0700"
      },
      "message": "Cameraserver: Remove unneeded groups\n\nThe cameraserver doesn\u0027t need access to media, drm, etc, to\noperate.\n\nLeave drmrpc as it is required for JPEG encoding support on some\ndevices.\n\nBug: 28915212\nChange-Id: I61c96739eafbb3e55be7e646390d74bd5e71a842\n"
    },
    {
      "commit": "8fe99a6553ca6c307c0854fc7370c31c3f4abe94",
      "tree": "62447d88f375da8fa8a30be9b84813578bf2c058",
      "parents": [
        "43c913b66020617b43a2cd3925064d7d28f6435e"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Jul 11 13:47:02 2016 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Jul 11 13:47:24 2016 -0700"
      },
      "message": "update stune group for cameraserver to top-app\n\nbug 29512132\n\nChange-Id: I1e7787ac8a401ad285816a11c422ddc6bfc98892\n"
    },
    {
      "commit": "bb9ec28513eb32acc7670bdf49a46bb538836cf3",
      "tree": "a1027e6cfd7d227b26ee683e1c753ad59c317eb2",
      "parents": [
        "b343e0444a3420321c606a827347f18445d76385"
      ],
      "author": {
        "name": "Srinath Sridharan",
        "email": "srinathsr@google.com",
        "time": "Thu Jul 07 16:52:56 2016 -0700"
      },
      "committer": {
        "name": "Srinath Sridharan",
        "email": "srinathsr@google.com",
        "time": "Thu Jul 07 20:57:38 2016 -0700"
      },
      "message": "eas: Making cameraserver part of foreground stune cgroup\n\nBUG: 28312446\nChange-Id: I321fc2882b12f67ca5fd2a9839685343368d3a3f\n"
    },
    {
      "commit": "982dfe2fe085c181c4eec9ccbe50bd0fdc04988b",
      "tree": "3597b4178ec55e5058323c3f829e31cd10555582",
      "parents": [
        "dc43ff40e32db2ce14d21ce25ce8a0f887cf9aa9"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Fri Jun 24 10:20:56 2016 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Fri Jun 24 10:20:56 2016 -0700"
      },
      "message": "cameraserver: move cameraserver to the camera-daemon cpuset\n\ncameraserver should be running in the camera-daemon cpuset, as it may\nhave different requirements than the foreground cpuset.\n\nChange-Id: I1d201521a58a470497f762abd105609acf5fc02f\n"
    },
    {
      "commit": "fb36fd1da415212e5177c88426f78c39cc303586",
      "tree": "a1b4e6dea3147bb72f109b004646c498a4844910",
      "parents": [
        "ffc6f81f4ad4247b5c84cad31bfb07a9fcee2cc7"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon May 23 15:24:53 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon May 23 22:45:30 2016 +0000"
      },
      "message": "cameraserver: add input group\n\nIt is required by some input device node access.\n\nBug: 28914535\nChange-Id: I863bfe6014b316c6e0113327f631555fcb0d28d3\n"
    },
    {
      "commit": "58f3e5541361cb04d64b8ad6a676ad0d77a4ee57",
      "tree": "c9141eb0d37fe71c38956b341840845e7d3a697c",
      "parents": [
        "d298fb880ba440793ce206e5f519d4f7c8c8bb54"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Apr 15 14:27:22 2016 +0200"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Tue Apr 26 08:48:12 2016 +0000"
      },
      "message": "Move system services into correct cpusets.\n\nTo foreground:\n- cameraserver\n- mediaserver\n- audioserver\n- mediacodec\n- drmserver\n- mediadrmserver\n- mediaextractor\n\nBug: 24949295\nChange-Id: I182e5cf6fa4b33d87a0a2f77b0b03fa8d76b8e27\n"
    },
    {
      "commit": "02bf03287652923b5bb5316667b065423565d6b4",
      "tree": "37fac61e840805769bd1c7ea8030390122a624cd",
      "parents": [
        "d56db1d2bee182d1851097a9c712712fc094d117"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 18 12:41:10 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 10:27:58 2016 -0800"
      },
      "message": "Camera: Clean up warnings and set -Werror\n\n- Also fix error logging template inconsistency\n- Also add a few error handling cases into camera2 NDK\n  to deal with previously-ignored error codes\n\nBug: 27149500\nChange-Id: I8f1f4c72252dd48d652f24b595b642199f20c327\n"
    },
    {
      "commit": "d56db1d2bee182d1851097a9c712712fc094d117",
      "tree": "243fda59e2b4d51491af628b49b3a35b267e0051",
      "parents": [
        "cf7913e2389a5e850e01aa6f905d252ee54c9891"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Dec 17 16:50:35 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 10:27:36 2016 -0800"
      },
      "message": "Camera: Switch camera2 to auto-gen C++ binder interfaces\n\n - Move camera service AIDL files to frameworks/av\n - Build C++ interface stubs with AIDL tools\n - Add necessary native-side parcelables and update existing ones\n - Remove manually-written stubs, rearrange remaining manual stubs\n - Adjust implementations to work with auto-generated stubs\n   - Adjust method signatures for auto-gen differences\n   - Add rich error messages using binder::Status\n\nBug: 25091611\nChange-Id: I6f69f34b9d1a3f8d1fb7db87357363f8fa8483ff\n"
    },
    {
      "commit": "1f36e3b27abfb16bc5e788e253d367eff4886dba",
      "tree": "9beb331c3175fd92fa5d184322590ab82a6e21f9",
      "parents": [
        "e564c201c290c24f94e1478fea3fca2e7422980d"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Dec 03 16:42:53 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jan 25 13:07:12 2016 -0800"
      },
      "message": "Add cameraserver process\n\nMove camera service from mediaserver to cameraserver.\n\nBug: 24511454\nChange-Id: I9a818c2786ade304777c44b3536f18ee9cd2a6f7\n"
    }
  ]
}
