)]}'
{
  "log": [
    {
      "commit": "f86177dd930680bf939ef33b9977db27628d7aff",
      "tree": "113868c2d2eef459f6538acd0a6d9ff9ffb1d84d",
      "parents": [
        "5337437a1cd62a96a0c772e2ff0738e372d8aa93"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 01 15:27:41 2017 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 02 12:13:16 2017 -0800"
      },
      "message": "CameraBase: Don\u0027t return an sp\u003c\u003e by reference\n\nIf the server dies, the binder death callback clears out\nthe global camera service sp\u003c\u003e, and any current references to it\nwill become quite unhappy.\n\nTest: Camera CTS passes\nBug: 31992879\nChange-Id: I2966bed35d0319e3f26e3d4b1b8dc08006a22348\n"
    },
    {
      "commit": "1d0955cb5257a59f0ae435fefe26c05af4f4fbb6",
      "tree": "34ffa6db9070caeef1ef5a4161bc4f3647c1678d",
      "parents": [
        "77404e1a890060a9cb4da017b660e6554fdc9a6f"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 16 01:14:13 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 26 22:24:49 2016 -0700"
      },
      "message": "CameraNDK: fill in more NDK API documents\n\nThis change adds document for ACaptureRequest, ACameraMetadata,\nAImage and AImageReader.\n\nBug: 27102995\nChange-Id: I79d88f73258c01ebeabcd5b4e3b90996759cb021\n"
    },
    {
      "commit": "a22528a9fac1763810d21b899e1b8c7977ea224c",
      "tree": "9bcdfa80d76888b64079a8cfe5a33241af23a7a9",
      "parents": [
        "3b3c26405dfc77e3bfda292e886112798f858636"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 12 14:03:11 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu May 12 14:54:35 2016 -0700"
      },
      "message": "CameraNDK: remove unused error enum values\n\nand fill in documents for each error value.\n\nBug: 27102995\nChange-Id: Ia44f87c09758f098442f894f4236ce8fa2ccffb3\n"
    },
    {
      "commit": "4cb010fb240a782571938a623aa34acd67814452",
      "tree": "9a37ba619fff572d8181b8ceec7d0d0982402c96",
      "parents": [
        "0b667e2f6f9e871e2fdc89100b8ef4cc623adec2",
        "3e49be17d8c8c53f50bb0d39affbbc36f6a12488"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 09 20:50:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 09 20:50:57 2016 +0000"
      },
      "message": "Merge \"CameraNDK: add NDK API documents\" into nyc-dev"
    },
    {
      "commit": "3e49be17d8c8c53f50bb0d39affbbc36f6a12488",
      "tree": "09d1a9437732a076fa18f79f0e40c808ac95c2aa",
      "parents": [
        "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 12 16:00:33 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon May 09 11:38:59 2016 -0700"
      },
      "message": "CameraNDK: add NDK API documents\n\nThis change adds document for ACameraManager, ACameraDevice and\nACameraCaptureSession.\n\nBug: 27102995\n\nChange-Id: I5706337e419cd533c1c7d46e412dc62bf7c726cb\n"
    },
    {
      "commit": "9e23567ed02c30bb390ffe56b25f59b626cd9eab",
      "tree": "43d66f53f3994f913509a57757cd344a42ea378c",
      "parents": [
        "5bdfad1a45a7d5fd03732c75768eef65975660dc",
        "2d13b1d3eeaba31d8c15acc6037fd68b150a9a66"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon May 02 18:24:52 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 02 18:24:55 2016 +0000"
      },
      "message": "Merge \"Camera: Fix passing video native handle for 64-bit app\" into nyc-dev"
    },
    {
      "commit": "2d13b1d3eeaba31d8c15acc6037fd68b150a9a66",
      "tree": "697328a5049f2f91ff6cf30a7ae7ae7bf5adc1b0",
      "parents": [
        "c5e8b6b792abd029e3f7fedf0ca2f705d6c8d222"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Apr 28 12:11:20 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 29 17:27:30 2016 -0700"
      },
      "message": "Camera: Fix passing video native handle for 64-bit app\n\nAdd new binder calls to pass video native handle so the video native\nhandle can be passed between 32-bit and 64-bit processes.\n\nRemove problematic code that used IMemory to pass video native\nhandle because the sizes of VideoNativeMetadata are different in\n32-bit and 64-bit processes.\n\nBug: 28403412\nChange-Id: I3341b1812ecc41d61846bb72ca926ecb1674c9ec\n"
    },
    {
      "commit": "ecd0a41d9a2cc9efbc4ad6d4c91d417461772933",
      "tree": "64597a37b1444dcaef712e6fe6de1107b829baa9",
      "parents": [
        "c5e8b6b792abd029e3f7fedf0ca2f705d6c8d222",
        "58f3e5541361cb04d64b8ad6a676ad0d77a4ee57"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Apr 28 09:34:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 28 09:34:57 2016 +0000"
      },
      "message": "Merge \"Move system services into correct cpusets.\" into nyc-dev"
    },
    {
      "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": "e8c535e833ed135895e99ca81aa3b85d80d7cf3c",
      "tree": "b0b0a255eda7c96bfffd3da79828d52c86372677",
      "parents": [
        "bc0c73e05ec935bc478ee0e40aee79f80771a482"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Apr 14 12:18:26 2016 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Apr 15 16:01:25 2016 -0700"
      },
      "message": "Camera: Stop repeating request if its output is abandoned\n\nStop repeating request if any of its output stream is abandoned.\nAdd a callback to notify the repeating request has been stopped\nwith frame number of the last frame.\n\nUpdate NDK with the new callback and behavior.\n\nBug: 21270879\n\nChange-Id: I3553775c7807a77104aa1650609480ca3321310c\n"
    },
    {
      "commit": "6a9d0dac7a6e33a276b234375207a3037a41ca7a",
      "tree": "1361eed04909c6ffe1364dde28923e988083a390",
      "parents": [
        "d77a954c1e6c3524ee2b61cba639e24b6d3320f7",
        "e081c59aeb309f5d91b99c433fc252e4570d4db8"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 22:55:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 22:55:17 2016 +0000"
      },
      "message": "Merge \"CameraNdk: add onBufferLost capture callback\" into nyc-dev"
    },
    {
      "commit": "25e60f13bd3768e845e9e1caf92f44db1d1307f0",
      "tree": "0588e985e213d1805a8e0b4940350ea9be226f6c",
      "parents": [
        "49d9f9a0ce21bcb8670019ff1365d1015da32e19",
        "eca6c4394bb5206feb34037619fd333aba2c4f39"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 22:33:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 22:33:37 2016 +0000"
      },
      "message": "Merge changes from topics \u0027cam-ndk-hidden-enum\u0027, \u0027cam-ndk-enum-dco\u0027, \u0027cam-ndk-hidden-keys\u0027 into nyc-dev\n\n* changes:\n  CameraNDK: hide some capabilities in NDK\n  CameraNDK: add metadata enum value documents\n  CameraNDK: hide more NDK metadata tags\n"
    },
    {
      "commit": "e081c59aeb309f5d91b99c433fc252e4570d4db8",
      "tree": "d2a046d2d80539b1b19ea7dd8a53242004f3a1a5",
      "parents": [
        "309d05d030903e7849affd60c58d4236147aa390"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 29 18:26:44 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 14:22:49 2016 -0700"
      },
      "message": "CameraNdk: add onBufferLost capture callback\n\nBug: 27102995\nChange-Id: Ic54d1950da54c09eb2fea1eea5fccd3141c626d4\n"
    },
    {
      "commit": "ff2a495cc65881caa25bae520f1249e92ceb9ac6",
      "tree": "29c117fd813491d1226ebebf9259d0073dec18df",
      "parents": [
        "59a2d786854012e4c52abac263bd751f286fbdfd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sat Apr 02 16:31:57 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 10:48:06 2016 -0700"
      },
      "message": "CameraNDK: hide more NDK metadata tags\n\n- Codegen update: some of hidden metadata keys should not be\ndisclosed in NDK.\n- Also added capture result frame number plumbing.\n\nBug: 27102995\nChange-Id: Ia238f95a4da726330205c53fc5d3f1f63d7553a1\n"
    },
    {
      "commit": "309d05d030903e7849affd60c58d4236147aa390",
      "tree": "2546b8f92d5ff120f73b454156b58d950c9ef99e",
      "parents": [
        "d9bd004bbe426978a2de8ee7d0489317b7580bdf"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 28 10:15:31 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 29 16:13:37 2016 -0700"
      },
      "message": "CameraNDK: implement abortCaptures API\n\nBug: 27102995\nChange-Id: Idaf1db02e0bcc60bb9cdb2797b4479ea0389f5f9\n"
    },
    {
      "commit": "3525dd92724e4942c9259f19581d63b93f18e14b",
      "tree": "8b9fb5724ad48dd04b4d255cbf53e1f00b7f9894",
      "parents": [
        "7f7052f5e45f8eb1df80a6978e0095d9e9c9eded"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Mar 20 18:04:09 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 21 12:35:33 2016 -0700"
      },
      "message": "Camera: Fix openLegacy error codes\n\nFix error handling regressions from the Binder interface refactor\n\n- Error codes from openLegacy became incorrect\n- Client initialize() call error codes were not discriminated between\n\nBug: 27657269\nChange-Id: I2379d45d5fe5c2ad43c78bcfd18ea4c833adc987\n"
    },
    {
      "commit": "97a330964b0548238d75602c74b290bea77a6b55",
      "tree": "ea27b196e1b86b342ae46ba26d06d4b15de4bc10",
      "parents": [
        "0d390f6da426255d8a962d36b6086f4ea2e1a07d",
        "e95bb6312b972117a0ee70eabf78fcd118018f61"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 11 18:13:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 18:13:01 2016 +0000"
      },
      "message": "Merge \"Camera3: Add error stream ID for buffer drop errors\" into nyc-dev"
    },
    {
      "commit": "8aac03f4d6c66749803d5708086ba5f509aa88c6",
      "tree": "9b870f8e7f15fb0933b9763fc6650e641ef18b36",
      "parents": [
        "e7d45e3ff9358293f27ce1add94af34908a6a263"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 03 15:45:23 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 07 13:06:08 2016 -0800"
      },
      "message": "CameraNDK: add API to list all tags in metadata\n\nBug: 27102995\nChange-Id: I2807b94867f7ed32585afedbbff0a77a93c8fe94\n"
    },
    {
      "commit": "e95bb6312b972117a0ee70eabf78fcd118018f61",
      "tree": "25f870b8ee2f63b99fd689905462fcbff68312f8",
      "parents": [
        "9322ba85a06ae149575ab102dc9bcffb4388cc7e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Mar 06 19:55:44 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Mar 06 19:58:39 2016 -0800"
      },
      "message": "Camera3: Add error stream ID for buffer drop errors\n\nTo enable passing buffer drop errors to API users\n\nBug: 24168122\nChange-Id: I2769d0ba1fbd9a09494d5904eac511cecea3e6a8\n"
    },
    {
      "commit": "085dd0935c9cd19791a9a58a4df4a05e29eadca7",
      "tree": "9da119e95d054a5429075bb8c8f1c39e26d3dcf8",
      "parents": [
        "97d5e4eb77687288b463f300912f6eb5c2b5b60e"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 02 14:16:31 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 03 17:34:00 2016 -0800"
      },
      "message": "CameraNDK: prevent double closing session\n\nBug: 27102995\nChange-Id: Ie3e9870d1fc1025cab7a1019ed7d056fe07536ad\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": "feb76cc0340f3eb4c9ae91cbfab4dcea449422f5",
      "tree": "cc4ca7aee0d37dfbf5438aa1b948698116403706",
      "parents": [
        "dfb7c95a69f43201cfe52f1e3cffde9adf7b88ba",
        "6773d4777f4ccbbe6377e4ae1b42c117066ae6ba"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jan 28 02:04:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 02:04:34 2016 +0000"
      },
      "message": "Merge changes from topic \u0027camera-hardening\u0027\n\n* changes:\n  camera: Add support to pass native handles across binders\n  Camera: Fix client permission check\n  Add cameraserver process\n"
    },
    {
      "commit": "aeead926245c1d1a4fa76a050be915288d0b32f1",
      "tree": "d18c2475e99f4577d7dcfd0d056e8700e50a3f12",
      "parents": [
        "5bae3d6b17d7eb90b52174f8149aaa7c7ff334d6",
        "c360382bf257d815b2a411152485d3c3b37a9f46"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 27 22:56:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 22:56:50 2016 +0000"
      },
      "message": "Merge \"NDK: AImageReader implementation\""
    },
    {
      "commit": "c360382bf257d815b2a411152485d3c3b37a9f46",
      "tree": "c3e4607fd638aa585f3209d6bb7c122297347f2d",
      "parents": [
        "ead9146f844ee194a4f4244ba8ae1a3aece12b63"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 18 22:11:19 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 27 14:46:10 2016 -0800"
      },
      "message": "NDK: AImageReader implementation\n\nBug: 23012001\nChange-Id: I14341de141e6fc5817f397e849af35ccdb80d644\n"
    },
    {
      "commit": "d8f9a713f3462ef8ac41c0d02aa90efc29cb33c7",
      "tree": "0a4826b5cf32ea7ebb449b501798c933913ca0dd",
      "parents": [
        "ead9146f844ee194a4f4244ba8ae1a3aece12b63"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 26 16:04:40 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 26 16:04:40 2016 -0800"
      },
      "message": "Camera NDK: fix build break\n\nOn devices still using gcc\n\nChange-Id: Ideb1a054d753194569513362f5b1fb80446eaf82\n"
    },
    {
      "commit": "6773d4777f4ccbbe6377e4ae1b42c117066ae6ba",
      "tree": "86b675cb54a819800d5bae2d50f6f910d4adb90d",
      "parents": [
        "98a668f6ea51e4d894d2ebb61a0e18287fb14008"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Wed Jan 13 01:24:30 2016 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Jan 26 13:09:16 2016 -0800"
      },
      "message": "camera: Add support to pass native handles across binders\n\nIf the video buffer contains a native handle, serialize and\ndeserialize it properly.\n\nAuthor: spodder@codeaurora.org\nBug: 26268807\nChange-Id: I1905be81e2045667e00c95ab75d1bf144756b894\n"
    },
    {
      "commit": "98a668f6ea51e4d894d2ebb61a0e18287fb14008",
      "tree": "2e0942e593e58b5b6c44b87526a35dbf3d808b34",
      "parents": [
        "1f36e3b27abfb16bc5e788e253d367eff4886dba"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Dec 18 14:10:33 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jan 25 17:47:12 2016 -0800"
      },
      "message": "Camera: Fix client permission check\n\nModify StageFright\u0027s CameraSource to forward calling PID as\nclient PID when connecting to CameraService so CameraService\ncan check if the client PID has permission to use camera.\n\nChange CameraService to check calling UID is trusted before\nusing the passed in client PID and client UID to verify permission.\n\nBug: 24511454\nChange-Id: I4906ab73510e2c75714690bed675e3c13aca3ccf\n"
    },
    {
      "commit": "ead9146f844ee194a4f4244ba8ae1a3aece12b63",
      "tree": "616249ae12bf73d57dc9c5ea7b3202930a05d1c9",
      "parents": [
        "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 06 16:45:08 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 25 16:48:37 2016 -0800"
      },
      "message": "Camera NDK library: capture session implementation\n\nBug: 23012001\nChange-Id: I3fd93205dcf1b9ed5a947cb944919eb531f219fc\n"
    },
    {
      "commit": "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c",
      "tree": "2cee23a637023c0365748d4a2f7f1048c9d97ab8",
      "parents": [
        "52a942055bcc4a96b6e281a54a70a53b6fca5798"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Dec 09 16:46:07 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 25 16:40:17 2016 -0800"
      },
      "message": "Camera NDK library: first draft\n\nBug: 23012001\n\nChange-Id: I06d834421289d4dead1c87301a6ee94487ccf023\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"
    },
    {
      "commit": "018107a82d80f186d3efca250e38e9c85436a4d9",
      "tree": "cad8e46d1d824328bdd8dfbace742397a21da310",
      "parents": [
        "97385561584e96c1c1149cf883e0ad1c75cfbdd0"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jan 18 15:32:50 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sat Jan 23 16:26:47 2016 -0800"
      },
      "message": "camera: Add surface set ID to OutputConfiguration\n\nBug: 25088440\nChange-Id: I95153522b8b1f3ec4c98800b94a95fe7782c9205\n"
    },
    {
      "commit": "8cca0750a84c2d97224c0cfef7cf255308ee80b3",
      "tree": "5c57eb6c935102e464667b8fa86364f19bce8495",
      "parents": [
        "cf52591e7441fcea757ca9090a66dbcdff0a73e3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Nov 13 15:28:48 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Dec 08 12:17:46 2015 -0800"
      },
      "message": "Camera: Support BufferQueue between Camera and StageFright\n\nUse a BufferQueue between Camera and StageFright to pass video\nbuffers for Camera HALv3 devices.\n\nCameraSource in StageFright will try to use \"buffer queue\" mode\nif it is supported by the camera device. In \"buffer queue\" mode,\nCameraSource creates a buffer queue and a listener thread to recieve\nvideo buffers from camera device. CameraSource then wraps the\nANWBuffer in MediaBuffer. If the camera device doesn\u0027t support\n\"buffer queue\" mode, it falls back to \"metadata in video buffer\"\nmode or \"real YUV data\" mode.\n\n\"Metadata in video buffer\" mode is removed from Camera2Client and\nonly \"buffer queue\" mode is supported.\n\nBug: 24511454\n\nChange-Id: Ice833b57bcd8d91852d6415402013f56f3e3970a\n"
    },
    {
      "commit": "d309fb9c8a2c4564d88fffba19c4e3688e4b862b",
      "tree": "6bfe3758c23a0a46e4d198ccb9a3a28ba65abe4d",
      "parents": [
        "dc123cbae198204e8c6c3d4f4f09a95cbc0e9ec5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Nov 25 12:12:45 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Dec 01 11:58:16 2015 -0800"
      },
      "message": "CameraService: Remove device HALv2 support, other cleanup\n\nHALv2 only ever shipped with Nexus 10, and has been fully superceded by\nHALv3. Remove it to allow for various code simplifications and cleanup.\n\n- Remove Camera2Device\n- Remove various special-case codepaths for supporting Camera2Device\n- Remove CameraDeviceFactory, since it only creates Camera3Devices now\n- Remove BurstCapture and associated CaptureSequence/Parameters code\n- Remove old ZslProcessor and simplify ZslProcessor hierarchy to be\n  just ZslProcessor3, which is renamed to just ZslProcessor\n- Add service-init-time check for unsupported device versions\n- Fix assorted compiler warnings, some old, some new\n- Remove references to HALv2 when possible\n\nBug: 25866588\nChange-Id: Ia1063264d315f9b742ec5cdd0483539310894f5e\n"
    },
    {
      "commit": "412fe56cd7cf7d73bc5d2bcc3f635bc650d18de9",
      "tree": "919a0a09510d53e39c23126f7d4760d761d954d6",
      "parents": [
        "37ea1d0de9b7c9ffbfa7cb1895dcbf4a4f92803a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 20 17:08:32 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 21 17:41:43 2015 -0700"
      },
      "message": "CameraService: Notify camera service proxy of device status\n\nSend the camera proxy service in system server updates to\ncamera device state: opened/closed/active/idle.\n\nBug: 23393557\nChange-Id: Id7c70f134821efa34af8f6e7b4caa4c2ab128ebc\n"
    },
    {
      "commit": "5d1103e5a229401a4c4e0cb7dd91b2742881ff92",
      "tree": "ac815f1a2ee6af6deb53754a149d31a6b3eac34a",
      "parents": [
        "5f7d4b957a4b41eaee3bcfbe8cb5a2f8f3dc8dc0",
        "c78ac26e3a65328fc0118f16ee76a800d0687eb7"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Aug 17 17:28:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 17:28:11 2015 +0000"
      },
      "message": "Merge \"Add experimental camera session prepare API.\" into mnc-dr-dev"
    },
    {
      "commit": "c78ac26e3a65328fc0118f16ee76a800d0687eb7",
      "tree": "9009e37c981c7cbfdd106c44de2622edf1672a49",
      "parents": [
        "a09f8cf8c76fa946c4b91be059b420941abcdc3b"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 13 17:58:46 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Aug 14 17:30:24 2015 -0700"
      },
      "message": "Add experimental camera session prepare API.\n\nBug: 18949148\nChange-Id: I8f73e68ea2e3acc60d98954106f364d13f439a82\n"
    },
    {
      "commit": "bad4358c83c7daaf9eeb8542c15eea4f473c884c",
      "tree": "0b01065e69f769a7dc058b8ac6652ef93d4736ed",
      "parents": [
        "49f0246c2eac50bbfebf48316b1086de64ac9860"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 14 13:12:32 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 14 16:02:03 2015 -0700"
      },
      "message": "Camera: Add camera type to ICameraService.getNumberOfCameras.\n\nAlso determine the number of \u0027normal\u0027 cameras present on\ncamera service startup, and ensure that all normal cameras have\nIDs lower than the \u0027strange\u0027 cameras.\n\nBug: 23194168\nChange-Id: I1f7b14825cb52707de698a955f85da1eaa932663\n"
    },
    {
      "commit": "e2b60c810282b7cd09af8544dd479ff5adba46f0",
      "tree": "314001856b6ecdb6708c3cba3c642771666259af",
      "parents": [
        "b9f72ab0b0b7582e021d369e7179022f7be5b37d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 17 16:21:44 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 17 16:41:31 2015 -0700"
      },
      "message": "CameraMetadata: Add sanity check to avoid accidental memory corruption.\n\nUpdate shouldn\u0027t be called with a pointer from the metadata structure\nbeing updated, since it might be resized.  The API really needs rework,\nbut until that happens, detect this condition and error out.\n\nBug: 22542551\nChange-Id: I896c34d8134ac3b101d050fc8aa5d203a08e7267\n"
    },
    {
      "commit": "b25e3c87724b6147ed1da7c1d6617c39bfce2fbf",
      "tree": "c0e95e487b2583b8ba87e2ce5505fb74dec9d2d8",
      "parents": [
        "1bc88814f530bf67e425cfb8cea0f2b8dce3c03f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 15 16:04:27 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 16 14:55:33 2015 -0700"
      },
      "message": "Camera: Add hidden experimental tearDown method.\n\nBug: 18949148\nChange-Id: Ie86ec7d1ec3db54e1154563b2339a208a935f849\n"
    },
    {
      "commit": "3450ba7879be6522ea46a56c5e66e5382f5dd5ba",
      "tree": "201ed5e416af4f44012e6b5c7f2b16bd30cfc673",
      "parents": [
        "a3b3caaae3fc23b99c5c455ee429f79c270cfbae"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jun 16 11:00:37 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jul 06 17:49:44 2015 -0700"
      },
      "message": "camera2: Fix native binder interface and add tests.\n\n- Add CameraBinderTests for limited coverage of native\n  camera2 binder interfaces for the camera service.\n- Fix several bugs in the native binder interfaces.\n\nBug: 18468810\nChange-Id: Iab2d81a5cacd20daf7454aeeed033cc13d88452c\n"
    },
    {
      "commit": "d16a8ef26fd1f7a86061c396c5865564af2f1abb",
      "tree": "82b5cd354972ffa88da7a2ab5dc159daeecdd3e6",
      "parents": [
        "53d350308fea376f3fa8bef76c28b654d1d39766",
        "e8df539988b307fa7d2ccd1a80be7553a502ae30"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Jun 06 04:27:54 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 06 04:28:13 2015 +0000"
      },
      "message": "Merge \"Update signature of writeBlob.\" into mnc-dev"
    },
    {
      "commit": "e3afb2cc438b76ae433c8c40ceabf0457ad7a678",
      "tree": "4410c41bb351d0b646e5d156a0e8fbd4cb69e533",
      "parents": [
        "afd492436efc7f66b958da14659b52232efa5910"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 03 16:03:30 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 05 17:19:39 2015 -0700"
      },
      "message": "Camera: Change error for app ops reject, propagate binder errors\n\nINVALID_OPERATION surfaces as an non-specific device-level error to\napplications in the onError callback. This is not a condition apps\ntargeting camera2 in L will generally have to deal with.\n\nInstead, return -EACCESS which maps to throwing\nCameraAccessException.CAMERA_DISABLED, same as disabling camera access\nwith DevicePolicyManager.\n\nThe old camera API converts any error code to -EACCESS at the JNI layer,\nso this doesn\u0027t change anything for the older API.\n\nAlso update the various native ICameraService binder connect calls to\ncheck for the transact error code, and return it if it is not OK.\nWithout this, PERMISSION_DENIED transact errors from the camera\nservice cannot be distinguished from CAMERA_DISABLED errors in\nsome codepaths.\n\nBug: 21604925\nChange-Id: Ifccc8989b8c20653429e2d3e51dba7abb2be9c35\n"
    },
    {
      "commit": "e8df539988b307fa7d2ccd1a80be7553a502ae30",
      "tree": "b2bac5fff26d1d17c1cd4ed7d40b21c52deaf11e",
      "parents": [
        "afd492436efc7f66b958da14659b52232efa5910"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 05 15:10:44 2015 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 05 15:25:37 2015 -0700"
      },
      "message": "Update signature of writeBlob.\n\nBug: 21428802\nChange-Id: Iec7e72369989a7c769be6169ead8afae8fe33b67\n"
    },
    {
      "commit": "1fa8999c91d5df81949aa723000058380cd3faa2",
      "tree": "3ebf10fd408c34bc35108c24df5ccbd02e2153eb",
      "parents": [
        "4170eeec0a2dc2a9543b7e4674a43b3d2faac61d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jun 01 15:44:31 2015 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jun 03 20:22:06 2015 -0700"
      },
      "message": "Camera2: implement high speed video APIs\n\nBug: 21442271\nChange-Id: Ia0ae5bbd3e8c81bad293c29987301a2457817d12\n"
    },
    {
      "commit": "2232aee25e4df7d04446912e8ad9e9dc44d8ec16",
      "tree": "069b67ffba5507b89d75bc27a2c14ca0f625b6f9",
      "parents": [
        "523d08709ba4a0124eb2117907d79113fbe00cfb",
        "2823ce0ce6f9d508a07de20912c93cce9165027f"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed May 20 20:44:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 20:44:15 2015 +0000"
      },
      "message": "Merge \"camera: Add AIDL interface for CameraServiceProxy.\" into mnc-dev"
    },
    {
      "commit": "2823ce0ce6f9d508a07de20912c93cce9165027f",
      "tree": "8cba3b9c036b486e69578d13d8a76dcc77c5f7a7",
      "parents": [
        "6267b539d0d1ee7118aafd976d75cb8db397bc24"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue May 19 17:25:13 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed May 20 11:43:11 2015 -0700"
      },
      "message": "camera: Add AIDL interface for CameraServiceProxy.\n\n- Adds an AIDL interface to allow the proxy camera service\n  running in system server to accept RPCs from the camera\n  service running in mediaserver.\n- Request an update to the valid user set from the proxy\n  camera service when mediaserver restarts to initialize\n  properly + avoid DOS after a crash.\n\nBug: 21267484\n\nChange-Id: Ib821582794ddd1e3574b5dc6c79f7cb197b57f10\n"
    },
    {
      "commit": "8eddd88568fe4da0ca0ceab5072bc488827f01b5",
      "tree": "4e8e7b28e765cced1d955f942e30d207cb99ad33",
      "parents": [
        "d45d75d7c19811c5afe9b115c7282f9aa4e1ee4d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 18 15:51:54 2015 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 18 15:51:54 2015 -0700"
      },
      "message": "Use memset to initialize dynamic array.\n\nclang/llvm rejects\n  int32_t events[len] \u003d {};.\n\nBUG: 21269094\nChange-Id: I0257bfbb72f1b49913baba0164d5a3a7976c452d\n"
    },
    {
      "commit": "6267b539d0d1ee7118aafd976d75cb8db397bc24",
      "tree": "5c950439fc8243ffd960bd72a666b4fce172a24d",
      "parents": [
        "51c834c8d321cee50cd07026771e46167a640dd3"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Apr 30 17:44:07 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu May 14 18:49:53 2015 -0700"
      },
      "message": "camera2: Fix work-profile eviction handling.\n\nBug: 20124384\nChange-Id: I6fb82dbfd5f98746ed4befed81a583e3709bfee8\n"
    },
    {
      "commit": "280405a138a0068694f3c39b4290f510173133d9",
      "tree": "691b6bc4e9a5011b38233f01df9e0486d9ce759a",
      "parents": [
        "32fa6d0e65dbf956e253a1006e9419dce2fe75c9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 12 02:19:27 2015 +0000"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 12 02:19:27 2015 +0000"
      },
      "message": "Revert \"Add camera app op - camera\"\n\nThis is not needed duplication of work\n\nThis reverts commit 32fa6d0e65dbf956e253a1006e9419dce2fe75c9.\n\nChange-Id: I2c81b0dacb2ed99c408c79c1f9e22a4baa564494\n"
    },
    {
      "commit": "32fa6d0e65dbf956e253a1006e9419dce2fe75c9",
      "tree": "35bdbc743172f28de3167d7b800a6084e5c9c58d",
      "parents": [
        "4068b1392b18d9f0d9e866b50d716e2ef8dfa37c"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 01 20:47:20 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat May 02 17:18:47 2015 -0700"
      },
      "message": "Add camera app op - camera\n\nChange-Id: I26570cc0a23fdea740b416a26838d40cac296c85\n"
    },
    {
      "commit": "4d44cad22ea925a651463f2d51d6586c14d4b787",
      "tree": "3e9fa49f6f98a8deee591f58054488ddc6e46505",
      "parents": [
        "4123d6db0642cd13e69230705b12d6b6fee6f73f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Apr 11 13:15:45 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 15 10:51:33 2015 -0700"
      },
      "message": "Camera2: Add prepare for output streams\n\nThe prepare call asynchronously pre-allocates buffers for a given\noutput stream, and then fires the onPrepared callback.\n\nNot implemented for Camera2Device or used in Camera2Client.\n\nChange-Id: I1cccdfff846dd6985133c591dbdceed823929ade\n"
    },
    {
      "commit": "618ff8a48a0c895a78f91f5692510c2a809425c3",
      "tree": "9473236e1e759aecf921b87e50302d933bae041d",
      "parents": [
        "25f82752942b1c78aec8ee303d61afff85cff9d1"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Mar 13 11:27:17 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 13 17:25:36 2015 -0700"
      },
      "message": "camera2: add reprocess support\n\nAdd support to create input stream, submit reprocess capture requests,\nand receive reprocess capture results.\n\nChange-Id: Iee2d4313f3d52616a484eaea7a28f5ef9d8a674b\n"
    },
    {
      "commit": "36597b241c59eba7e55d5150092947a748c5e9cb",
      "tree": "bf174c4f6c45a2a5abfb3852effb567d5b653843",
      "parents": [
        "ac41a6f253a69671f6e018fcc84daf0030615ca9"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Mar 20 22:15:57 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Mar 31 12:11:10 2015 -0700"
      },
      "message": "camera2: Enforce client eviction on user switch.\n\nBug: 19186859\nChange-Id: I172a2ce46c8e8a131ae7e8dd99d60c5f4f0d6668\n"
    },
    {
      "commit": "525907aa2cf2148186ed55e47e424395b9a43dca",
      "tree": "947b98272d9e5956eb5c7e08b27895117e1488d2",
      "parents": [
        "ae9710473b88592c557488bfcae71616d9e9b75f",
        "54298b338cf9f782f2ac681a15e6cbbb99649350"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 25 00:05:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 25 00:05:59 2015 +0000"
      },
      "message": "Merge \"Camera: fix metadata assertion\""
    },
    {
      "commit": "54298b338cf9f782f2ac681a15e6cbbb99649350",
      "tree": "ea9027bd6a83df8488aa7d16d237c51f3c93a269",
      "parents": [
        "676b21b30edbd74d7b9aae247961a1ffde1b8993"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 24 16:51:41 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 24 16:51:41 2015 -0700"
      },
      "message": "Camera: fix metadata assertion\n\nBug: 19897963\nChange-Id: I6b383c4750f31691a1c02e927bbeb0c1998a9eff\n"
    },
    {
      "commit": "9efdf956cc2eef63fef609375901d6c8df6351b6",
      "tree": "4e7cfe7a780397d9578bd7860023168ea62519a5",
      "parents": [
        "514d7af22c5d6526309e71fadcff42b072c30241"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Mar 18 23:11:57 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Mar 20 22:34:54 2015 -0700"
      },
      "message": "camera2: Remove ProCamera.\n\nBug: 19186859\nChange-Id: I4aaadb53db65b479f92cbb3c05329d1e40317900\n"
    },
    {
      "commit": "ae21e335e392125168601dba4731c85b5c25f33f",
      "tree": "9fc3c0737d1391aa6aa9417b212275688cd3bd00",
      "parents": [
        "5a23aa949188fafe1d8d35966ff5a73974294dfd",
        "b97babb8c08969b55af3b6456d15f764c8873d3f"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 19 17:27:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 19 17:27:53 2015 +0000"
      },
      "message": "Merge \"Camera: plumbing rotation field through\""
    },
    {
      "commit": "d58b2ac7244a964caa3f4e386b8280ae2f5d2125",
      "tree": "84ef9b168bd3ab9e33c0532dabf33fe328eba334",
      "parents": [
        "377165c24968b044faccaf366a2377fa32143e2f",
        "cc776718c0be7c31fe5ab4fc1446d377be60369f"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Mar 19 05:55:16 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 19 05:55:16 2015 +0000"
      },
      "message": "Merge \"camera2: Add camera client eviction enforcement.\""
    },
    {
      "commit": "cc776718c0be7c31fe5ab4fc1446d377be60369f",
      "tree": "c5f0633e27f6c36b938f6a57fea544996ac3d5ae",
      "parents": [
        "f9d19514b3e620b6339c98a442da833a702915ed"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Feb 17 20:18:47 2015 -0800"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Mar 18 22:21:21 2015 -0700"
      },
      "message": "camera2: Add camera client eviction enforcement.\n\n- This updates the CameraService to implement client\n  eviction behavior based on process priority.\n\nBug: 19186859\n\nChange-Id: I646939b1cdf1a2237c4e5044164d55a2542cf36e\n"
    },
    {
      "commit": "b97babb8c08969b55af3b6456d15f764c8873d3f",
      "tree": "e972ec2e9ff83219464a753f4298aa37c3220e55",
      "parents": [
        "802a568f77b9a372537e4216b2a7cbb203958a87"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 12 13:42:44 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 18 14:15:12 2015 -0700"
      },
      "message": "Camera: plumbing rotation field through\n\nChange-Id: I0f4343a0bfa7bf09ba887c78a1da1c08daa35333\n"
    },
    {
      "commit": "3d82c0d9ed2b3e956ad699a9ca2c8a70c9d24678",
      "tree": "7f36bbbe98842a1b7cd46137afb853ad5d9b8fe1",
      "parents": [
        "df68f07ca7cdeb500fcf101b317c61a0f0865723"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 23 15:19:19 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 06 10:38:55 2015 -0800"
      },
      "message": "Camera: Wire up dataSpace, clean up ICameraDeviceUser\n\n- Remove unused arguments from ICameraDeviceUser::createStream\n- Add dataSpace as a stream parameter, plumb it through everything\n\nChange-Id: I608cafe694785d1c512276e71b2016f8ac3b0ccb\n"
    },
    {
      "commit": "9a4fa2dfb7ce565fabfb7a7bef4f4adfea191f05",
      "tree": "b91d3bdf39760c82e54ab0be64c74d277f9a57fd",
      "parents": [
        "9d19e392f61de3e8cd365afa12d7836bd3721602",
        "a97dfeb91aae9569ff11a5a40634e2960c03915e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Feb 20 01:04:44 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 01:04:48 2015 +0000"
      },
      "message": "Merge \"Camera: Remove RAW_SENSOR in favor of RAW16\""
    },
    {
      "commit": "a97dfeb91aae9569ff11a5a40634e2960c03915e",
      "tree": "8f325ccd2d62226dd0868863a324e20f2ef7858f",
      "parents": [
        "37b2b389139ed638831e49708c947863eef631ef"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 19 16:26:13 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 19 16:26:13 2015 -0800"
      },
      "message": "Camera: Remove RAW_SENSOR in favor of RAW16\n\nChange-Id: I69ca24c69f58be958efdef300b127401d2b2e880\n"
    },
    {
      "commit": "3068d73c6c7e1f44523b1466b903a9c82408b258",
      "tree": "197720671edfdcc2c75a7d05a13c60be2b17fb75",
      "parents": [
        "8f7b7fa417566e9a6a29ea9f0e220b3cd6d1a9e3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Feb 09 13:29:57 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Feb 12 15:05:30 2015 -0800"
      },
      "message": "camera: implement flashlight control\n\nImplement flashlight API for module v2.4 by calling module APIs and\nby for hal v2 and v3 by using CameraDeviceBase.\n\nBug: 2682206\nChange-Id: Ib8b77f6fd462489d672f27e14fe37801d35b7544\n"
    },
    {
      "commit": "f6b1396150ed55fa9829e31f11533cd65c61d914",
      "tree": "06247c9de5d10f56ecbfc8091b7d5cc8149f14f4",
      "parents": [
        "3097dafa3ee60440c10b5bf9ed4d355fee1c1ae5",
        "8189863774bd479f0060bbe1e4ce74dadcfc55c3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 03 18:55:44 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 03 18:55:44 2015 +0000"
      },
      "message": "am 81898637: am 16e8d463: Merge \"camera2: fix various BpCameraDeviceUser methods to return correct result.\"\n\n* commit \u00278189863774bd479f0060bbe1e4ce74dadcfc55c3\u0027:\n  camera2: fix various BpCameraDeviceUser methods to return correct result.\n"
    },
    {
      "commit": "19fa0feaef631f92ab812cd1640252ade5fae1a2",
      "tree": "1c42641374d9ec3af44b3a79ddcd71d5e7b803cf",
      "parents": [
        "434c80e54fb0dbf01941aa7560d5add5e69e0f1d"
      ],
      "author": {
        "name": "John Lin",
        "email": "jolin@mozilla.com",
        "time": "Mon Feb 02 18:10:42 2015 +0800"
      },
      "committer": {
        "name": "John Lin",
        "email": "jolin@mozilla.com",
        "time": "Tue Feb 03 04:10:44 2015 +0000"
      },
      "message": "camera2: fix various BpCameraDeviceUser methods to return correct result.\n\n- submitRequest*(): res is the request ID and not always equals to NO_ERROR.\n- cancelRequest() and flush(): the result of reading last frame number should be put in resFrameNumber, not in res.\n\nChange-Id: Ic81c58f4ac14c05b3db4bdc5c99f48d00665d3fc\nSigned-off-by: John Lin \u003cjolin@mozilla.com\u003e\n"
    },
    {
      "commit": "6b6d8a79ef821541a7687ed924959369f73fc977",
      "tree": "1678ee92f9ee7e1f9c87498852c45a567c7c9122",
      "parents": [
        "2fd47f8cfe314dd9d01f401408b70ad8d443518b",
        "ffa3e71e47215b68fe4ae0b7a3f976db648d63d3"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Nov 21 17:55:13 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 21 17:55:13 2014 +0000"
      },
      "message": "am ffa3e71e: am bc0f452b: Merge \"Camera2: Fix CameraParameters parse segfault.\" into lmp-mr1-dev\n\n* commit \u0027ffa3e71e47215b68fe4ae0b7a3f976db648d63d3\u0027:\n  Camera2: Fix CameraParameters parse segfault.\n"
    },
    {
      "commit": "bc0f452b9a76dd8c8244e775bc9c5aa85cae3ddf",
      "tree": "a061c36a4392000a1d7d5a9b4db5de0ec63e644f",
      "parents": [
        "3a8d7d1064a665a8a348710c7d27b31642f7f624",
        "5fc9d902510ccd04db80e0bc6aa679a4317a51b2"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Nov 21 17:43:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 21 17:43:57 2014 +0000"
      },
      "message": "Merge \"Camera2: Fix CameraParameters parse segfault.\" into lmp-mr1-dev"
    },
    {
      "commit": "5fc21ebe222505e3d89c5f2f5e2ec3fcdbd0b732",
      "tree": "997e43d39c1cbb5b7fb6079de34a224bf0da1554",
      "parents": [
        "0cd651d18eeee52be945b0379b667473549bbf63",
        "c2d88d0b1571c11187e32b94e281ded17606070f"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Nov 21 02:43:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 21 02:43:14 2014 +0000"
      },
      "message": "am c2d88d0b: am f4ea51fd: Merge \"camera2: fix an error reading a NULL string\" into lmp-mr1-dev\n\n* commit \u0027c2d88d0b1571c11187e32b94e281ded17606070f\u0027:\n  camera2: fix an error reading a NULL string\n"
    },
    {
      "commit": "5fc9d902510ccd04db80e0bc6aa679a4317a51b2",
      "tree": "7cc5cb5e5b3b62fef7cd5392ab35f81731ec9853",
      "parents": [
        "18899808001ddaea13fa4c5277502c96351f69a5"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Nov 20 13:34:36 2014 -0800"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Nov 20 13:34:36 2014 -0800"
      },
      "message": "Camera2: Fix CameraParameters parse segfault.\n\nBug: 18331142\nChange-Id: I41feec93f753f97b3e6bf963deb4a42b73406421\n"
    },
    {
      "commit": "7bc4fc847770d399d7c4a7afee5aa58b94f3b897",
      "tree": "20a25d78f016adfaa7ec0279f40610d637df04fd",
      "parents": [
        "990dad996b748fdaa2041cc6d039e96ccfeae6fb"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Nov 20 10:36:22 2014 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Nov 20 10:40:38 2014 -0800"
      },
      "message": "camera2: fix an error reading a NULL string\n\nHandle the case where the surface name isn\u0027t set.\n\nBug: 10461464\nChange-Id: I3ee233a7a5f6489513e6d87241cda2aaefbfd43b\n"
    },
    {
      "commit": "77e79a509d19ab50b1867fe3903b5a8fae450591",
      "tree": "881d068bdc54d4835665e48649165f07393caafa",
      "parents": [
        "575174d62b665900203d70a4d410329b8918c2af",
        "e78a27ca9c701aa996eee0e47fa26dd69d80ffcf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 17 10:50:55 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 17 10:50:55 2014 -0800"
      },
      "message": "resolved conflicts for merge of e78a27ca to lmp-mr1-dev-plus-aosp\n\nChange-Id: If10a9cc17245f95d5e10b1507445abbb4020670e\n"
    },
    {
      "commit": "f888020c6e2735624f2b2a30e72aca24e17b8b4d",
      "tree": "76d92b7a91a4bebd4e84d6afdc2ef4a2e4943df8",
      "parents": [
        "d02641098b16df2fd4cd32b72a30eb6f3b64e12b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 14 07:58:25 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 17 10:05:07 2014 -0800"
      },
      "message": "Update calls to IInterface::asBinder()\n\nto use the new static version.\n\nChange-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a\n\nConflicts:\n\tmedia/libmedia/IAudioFlinger.cpp\n\tmedia/libmedia/IMediaPlayer.cpp\n\tmedia/libstagefright/CameraSource.cpp\n"
    },
    {
      "commit": "6e48af3d909568ed2f07b79369d52f9415100208",
      "tree": "5b12cc93d48574361df9b3d2867135333694674c",
      "parents": [
        "aa97f7093c8bb99ad5f86294fef7a070be0e206f",
        "7b28e4e709fcc90f9ca5ca987e2d4e8c05d1a731"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Nov 11 00:07:16 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 11 00:07:16 2014 +0000"
      },
      "message": "am 7b28e4e7: am 9527a598: Merge \"Camera: Guard against asBinder() calls on NULL interfaces\"\n\n* commit \u00277b28e4e709fcc90f9ca5ca987e2d4e8c05d1a731\u0027:\n  Camera: Guard against asBinder() calls on NULL interfaces\n"
    },
    {
      "commit": "e992e75053e98e3699af6e344c11b787e30411ad",
      "tree": "c0a88c5e09f9f4a7fdcb56eda9c60497124bf783",
      "parents": [
        "e1a2df553a6d151807a5da738a3cd853bef908d9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Nov 07 16:17:48 2014 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Nov 07 16:32:55 2014 -0800"
      },
      "message": "Camera: Guard against asBinder() calls on NULL interfaces\n\nBug: 18207548\nChange-Id: I9879c9b4c0282a6b96b77398f62beedc47f7f0a0\n"
    },
    {
      "commit": "588fac9af56f778652265b24e57e3976fc7b0311",
      "tree": "7d5ddd9c81155bcb843968e8567548da854d5690",
      "parents": [
        "bc49cae3bb9587422be49a24729b894304aed661",
        "8d55aa31abe6d3db7693c6a49d9471f06c586c41"
      ],
      "author": {
        "name": "Gaurav Batra",
        "email": "gbatra@nvidia.com",
        "time": "Mon Nov 03 23:48:36 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 03 23:48:36 2014 +0000"
      },
      "message": "am 0c629a38: camera: fix vendortags section malloc failure\nautomerge: 8d55aa3\n\n* commit \u00278d55aa31abe6d3db7693c6a49d9471f06c586c41\u0027:\n  camera: fix vendortags section malloc failure\n"
    },
    {
      "commit": "0c629a3857c31bee6fa39ba7a9a8cbcabeb383fd",
      "tree": "3738e599a1c8e87d362ed31cc639df3f9f8592a5",
      "parents": [
        "151b3f41ffcdf187580542ba0c0d3b84df16beed"
      ],
      "author": {
        "name": "Gaurav Batra",
        "email": "gbatra@nvidia.com",
        "time": "Fri Oct 31 16:13:38 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Nov 03 18:57:50 2014 +0000"
      },
      "message": "camera: fix vendortags section malloc failure\n\nsize_t type variables should be initialized properly especially on 64-bit archs\nif they are type casted to shorter datatypes for some operation and then later\nused in entirety. The results may be unpredictable since the most significant\nbytes may contain garbage.\n\nBug 18222311\n\nChange-Id: Iced82e964cf8c98f6856d257fc1534a5237a9064\n"
    },
    {
      "commit": "bd014b81ef227752150bdbd1bb6a235db09f3616",
      "tree": "0a63f29eb4c20eab0df0a02f17ed51e7c0570c08",
      "parents": [
        "e21b7cd8feb7e9468c932609c53a114b1680a012",
        "fe80b7ee58b394b0cd958470aeea3c5a09f6b2bf"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 12 05:59:26 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 12 05:59:26 2014 +0000"
      },
      "message": "am fe80b7ee: am 6bf7c5cf: Merge \"Clean up test makefiles.\"\n\n* commit \u0027fe80b7ee58b394b0cd958470aeea3c5a09f6b2bf\u0027:\n  Clean up test makefiles.\n"
    },
    {
      "commit": "0cb2c99f70dec2e4b93b72de9b433f2919c1540e",
      "tree": "05123db873a9d52cd27f75df7809adf06434d425",
      "parents": [
        "032ecb7f233f392e6e68f030bf72a9bc7c861d11"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 19:06:54 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 11 15:23:50 2014 -0700"
      },
      "message": "Clean up test makefiles.\n\nThe build system takes care of linking the correct STL and gtest\nlibraries for you, and specifying them manually confuses the build\nsystem when using libc++.\n\nChange-Id: I6ac66c2f4e97cd3c55efb7a85e10922420554e7f\n"
    },
    {
      "commit": "b3afa1e3c2af242e0d31a7619713b170d43c7e88",
      "tree": "be4d3567f1799643251ab3fc1a81ce83e4d7f28e",
      "parents": [
        "e0b5cf7eae5ae16699864eeb8ae36975caa7a26c"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 21 13:41:42 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 21 14:05:00 2014 -0700"
      },
      "message": "camera2: Fix CameraUtils orientation for front camera.\n\nBug: 16637957\nChange-Id: If6d213794a92eb60b8a333546670ca868b75e5fc\n"
    },
    {
      "commit": "0b88a62d4d5ac1e515721e587cdf9bcec191812b",
      "tree": "fed446ae00af008008f80041651adb1e0af319ae",
      "parents": [
        "475da7ef08c05a482ced8d318832cf5aa1141aff"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 18 16:52:27 2014 -0700"
      },
      "message": "camera: Fix setParameters for Preview FPS single/range values\n\nAs a workaround, duplicate CameraParameters into CameraParameters2 to\nprevent ABI break for some camera HALs that directly link into\nCameraParameters.\n\nCameraParameters2 implements the real fixes needed in the framework,\nwhile CameraParameters is left in to satisfy older camera HALs.\n\nBug: 12609188\nBug: 16654949\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da\n"
    },
    {
      "commit": "0ccba97ebec0e0c5a20f8859ebac03d5fd14c97f",
      "tree": "b78c3138b8a923da90cbb8d586968e7891b60563",
      "parents": [
        "7d70c5e5fe787ae5d7af8830864d208749d6337f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 29 11:16:17 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 29 11:16:17 2014 -0700"
      },
      "message": "Camera2: Fix transforms for front-facing cameras\n\nMirror, mirror on the wall, who is the best rotated of them all?\n\nAlso, use consistent enum names.\n\nBug: 16637957\nChange-Id: Ie211d3b57b9e7d01122192ad03b73ceba5bf1bd3\n"
    },
    {
      "commit": "204e3295e2814052aef7e45ee9edd60128efbbd0",
      "tree": "1110e6c06e489c9c2003398e1768b9194effee78",
      "parents": [
        "671160ffe81592efa376dc1ff0fc3f4ddcdebc35"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 14 17:09:23 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 16 15:27:17 2014 -0700"
      },
      "message": "Camera HAL3: migrate from partial quirks to partial result\n\n- Enable the normal partial result path for HAL3.2, the quirk is only used\nfor the HAL version lower than HAL3.2. The partial quirks is no longer supported\nfor HAL3.2 or higher versions.\n- Add CameraDeviceBase getDeviceVersion API.\n- Fix some build warnings\n\nChange-Id: I7a1b03d4d5fd5258d2addfba4368bee2ba691337\n"
    },
    {
      "commit": "5698d4461a260dbf208484383f692b03c6473e74",
      "tree": "d29204e288b8c4c1b9b7627f9e7b33a8ea6cf01e",
      "parents": [
        "e580006cd0067109189975c56395d29309d49883"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Jun 18 10:39:40 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jul 14 22:13:45 2014 +0000"
      },
      "message": "camera2: Set orientation flags for hardware composer.\n\nBug: 15116722\nChange-Id: I3fcc9aea38afcbd665f86c511a9929fe9a6a3a8f\n"
    },
    {
      "commit": "b10cdadf0fb945e23ca77008d4af76584bd0e39a",
      "tree": "d1fd0cc1c42aec025e8f6fc52f890b96e7203653",
      "parents": [
        "ab5cdbaf65ca509681d2726aacdf3ac8bfb6b3fa"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jun 16 16:38:35 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jun 19 15:41:09 2014 -0700"
      },
      "message": "cameraservice: Implement HAL1 and higher HAL API coexistence\n\nA higher hal version device like HAL3.2 can be opened as HAL1.0 device\nif HAL supports it. This only applies to camera API1.\n\nChange-Id: I4ae9f59f4317158cc1bd7ed7726e4032cdd1fa07\n"
    },
    {
      "commit": "65d14b9825311f9d1847cf282bd0419e71bac666",
      "tree": "d9e217cd626f62010b17274929e8425f59e5c09a",
      "parents": [
        "3a227969f604d7c6a24a795661a13f70a5f37e1f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 17 12:03:20 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 17 15:09:16 2014 -0700"
      },
      "message": "camera: Add #getLegacyParameters, #supportsCameraApi to ICameraService\n\nChange-Id: Ic86c8df3d703e7cf89caa856387e2c0a1b977401\n"
    },
    {
      "commit": "6415ef3f791a0f4032af250e3b5e11f0e6289a2e",
      "tree": "2ec32686933602cfeecc52556d0104ebd27b47d6",
      "parents": [
        "6b8f47f224534952c12628cbc382f10a5ade5b4f",
        "dd80baf5413e3fb5ce5e1282ce9c0badd0b081f1"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 11 18:18:54 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 11 18:18:54 2014 +0000"
      },
      "message": "am dd80baf5: am 1f15b117: Merge \"libcamera_client: 64-bit compile issue\"\n\n* commit \u0027dd80baf5413e3fb5ce5e1282ce9c0badd0b081f1\u0027:\n  libcamera_client: 64-bit compile issue\n"
    },
    {
      "commit": "1a93f0cbb99fc5a59c92bd913f29409022ae236d",
      "tree": "ed762ad5b8c7ddc229540cfaa93aca874604bfd4",
      "parents": [
        "51fabcd581f293db52997b0d43b2ef606d5759ff"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jun 09 16:34:58 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jun 09 16:48:03 2014 -0700"
      },
      "message": "libcamera_client: 64-bit compile issue (part deux)\n\n- %p print warning message\n- size_t print warning messages\n- unused parameter warning messages\n\nChange-Id: I5de3564b27c65fe1a27c0bcc18ac1b72fca040e2\n"
    },
    {
      "commit": "7b73e7127dc727e78460c92ca4115ccad87cf321",
      "tree": "1da995de5a366069f3f2b7bad6ac3bcb6d107890",
      "parents": [
        "05eaf105a2a1445c2c13801ee4533ded47f1df1b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jun 09 16:28:21 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jun 09 16:28:21 2014 -0700"
      },
      "message": "libcamera_client: 64-bit compile issue\n\n- size_t print format\n- some unused parameter warning messages\n\nChange-Id: I2c0f50dda7e810f3f60603fd9d8c62c5b8767528\n"
    },
    {
      "commit": "ce8ae0f62a01cb3a390812db47bb08f29a8aee0d",
      "tree": "2d61fe9b1739c6b269d3863586f75d38893357de",
      "parents": [
        "87cebadd48710e42474756fc3513df678de045ce",
        "29478402ba0683323b7c7ff4843c8c2a4f0673d5"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu May 22 20:36:45 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 22 20:36:46 2014 +0000"
      },
      "message": "Merge \"cameraservice: Fix ICameraDeviceUser aidl order.\""
    },
    {
      "commit": "29478402ba0683323b7c7ff4843c8c2a4f0673d5",
      "tree": "480a20a060a588baa99af7849b31d78f672ba19a",
      "parents": [
        "77a3374a6170fb5f0168169bc4bc3fa9baf318eb"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu May 22 13:09:57 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu May 22 13:24:44 2014 -0700"
      },
      "message": "cameraservice: Fix ICameraDeviceUser aidl order.\n\nChange-Id: I19eb3d2ff86c0b395b6358e018c677b6e2d45c75\n"
    },
    {
      "commit": "87cebadd48710e42474756fc3513df678de045ce",
      "tree": "6f8a07d9ec9b4ebad70367430190a689cb1a5db3",
      "parents": [
        "77a3374a6170fb5f0168169bc4bc3fa9baf318eb",
        "f285c91efbae23783fe94dc5ad19a2560e157685"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 10:14:43 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 10:14:43 2014 -0700"
      },
      "message": "resolved conflicts for merge of f285c91e to master\n\nChange-Id: I4c995e297d09c0854a42142cc57dce8b771acf65\n"
    },
    {
      "commit": "b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8",
      "tree": "a97770362fc690d625a0383597cb057d48737876",
      "parents": [
        "7ac0039611ea7ea18f9545f96a8f5cb31dcdebe5"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri May 09 19:57:56 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed May 21 18:14:41 2014 -0700"
      },
      "message": "camera2: Update CameraService for HAL1 shim.\n\nUpdates the camera service to handle shim connections.\n\nChanges include:\n- Adds begin/end configure binder calls.\n- Adds cache for shim client static camera metadata.\n- Implements basic getCameraCharacteristic functionality for shim clients.\n\nBug: 15116722\nBug: 15117269\n\nChange-Id: I510c5888ca15f8e7d3b8ed1680ff1c7f8f514744\n"
    },
    {
      "commit": "9181b9f4bb53af203c090eff6d1af67d1f7c8770",
      "tree": "52880a0efb8608a9ceb7649bc281e14b9a510a4f",
      "parents": [
        "5e4c4f12337ff4d7ceb105bcd441bb7aea6ab070"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon May 12 10:33:51 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon May 12 12:06:50 2014 -0700"
      },
      "message": "Camera: Don\u0027t enable log spew by default for eng build\n\nAlso replace assert with LOG_ALWAYS_FATAL_IF.\n\nChange-Id: I528b97d9bc7a93dc3575ded28f6bf7e294d0a1e6\n"
    },
    {
      "commit": "f81648ec38ff63f1f35516fa27c1c24d846e9ba5",
      "tree": "826a0e862b52bbbe22586c08693569dee723f5ff",
      "parents": [
        "fa366b2a32294ea22bf7b6f237cdbbd715cbbeb9"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Apr 17 16:14:57 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri May 02 20:33:45 2014 -0700"
      },
      "message": "camera3: Update CameraMetadata vendor tag handling.\n\nBug: 12134423\nChange-Id: I97dc955ee9dd78ace93a7946296d6d9b0e407d43\n"
    },
    {
      "commit": "6770260f83f5576b041b7b3a2536d082a631f9b0",
      "tree": "afcf4bf640ea8ad973e2e613d4d5fee2e21377d3",
      "parents": [
        "4764324d2704f1b08bb7407014bf203924ff2363"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Sat May 03 00:28:33 2014 +0000"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Sat May 03 00:28:33 2014 +0000"
      },
      "message": "Revert \"camera3: Update CameraMetadata vendor tag handling.\"\n\nThis reverts commit 4764324d2704f1b08bb7407014bf203924ff2363.\n\nChange-Id: I86d7fcc11423502b73fab2a82af6aa89804f0b76\n"
    },
    {
      "commit": "4764324d2704f1b08bb7407014bf203924ff2363",
      "tree": "9aefad4eac4e67affaf093ec293fb7e0f95ba95e",
      "parents": [
        "32fa3c6fab55b075c916f4dad38e42e239bb7813"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Apr 17 16:14:57 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri May 02 15:22:25 2014 -0700"
      },
      "message": "camera3: Update CameraMetadata vendor tag handling.\n\nBug: 12134423\nChange-Id: I1d1be6792b6a4c9f08e042a8b2c89146bde5665e\n"
    },
    {
      "commit": "cb0652e5a850b2fcd919e977247e87239efaf70e",
      "tree": "bdba4ac95dedd4ad9be77b9f5a86e147c11224f3",
      "parents": [
        "d27368f7d28813f7dad37fc31940c822df80e68e"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Wed Mar 12 18:29:36 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 10 11:54:08 2014 -0700"
      },
      "message": "CameraService: trigger appropriate callbacks for burst capture.\n\n* Instead of tracking CameraMetadata only, now we track both\nCameraMetadata and CaptureResultExtras, which is not part of\nthe HAL metadata. This will enable the correct callback of\nonCaptureStarted and onResultReceived given burst requests.\n\n* Get last frame number in reply when submitting requests,\ncanceling requests, and flushing device. For repeating requests,\nthis frame number is the last frame number of the previous\nrequest. For non-repeating requests, this frame number is the\nexpected last frame number of the current request. The goal\nis provide frame number to Java side in order to trigger\nonCaptureSequenceCompleted correctly.\n\n* Fix notifyError so that onDeviceError can be called correctly.\n\nBug: 10749500\nChange-Id: I2f3dda6c530090055d4a2ff9f0f087bbbe8d9257\n"
    },
    {
      "commit": "7595c47b4842d76dba0fcf26ef3ab98d215efe1e",
      "tree": "8b69a34d2e3ad17d22eadfad281065cda707ed21",
      "parents": [
        "5bdb3c4d93269511d21d155c78790ee70d423095"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Mar 27 16:46:15 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Mar 27 18:39:04 2014 -0700"
      },
      "message": "CameraMetadata: Fix String tag update null character issue\n\nString8.size() doesn\u0027t count the null character in whatever case. But camera\nmetadata tag android.jpeg.gpsProcessingMethod need a null-terminited string.\n\nBug: 13679912\nChange-Id: I91e742702b16b9ab9b42f9822de189a9a96e8e53\n"
    }
  ],
  "next": "1cebdb77323e4554a316b9c34bf36957b7dad5ae"
}
