)]}'
{
  "log": [
    {
      "commit": "e1bdaa8fb12da64015318eab6ee5d30d5fe2368f",
      "tree": "d7c8bc9db429801fe011f564dac986a967507387",
      "parents": [
        "96f48e1601731dde35ac97ccc0a5eff55cdd32ed",
        "f86177dd930680bf939ef33b9977db27628d7aff"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 02 23:47:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 02 23:47:01 2017 +0000"
      },
      "message": "CameraBase: Don\u0027t return an sp\u003c\u003e by reference\nam: f86177dd93\n\nChange-Id: I899d9c4b668171f6e68fdcfac9c7b973831a6a25\n"
    },
    {
      "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": "4d453830b6a8fb7571a88a9a241eabd50a483c44",
      "tree": "8cde39560a9a84e3b1807e2fe3cc1346c50feb68",
      "parents": [
        "cecb30a22f3657483f07f259231b81b02b2a7305"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 15 11:56:53 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 18 11:09:08 2016 -0700"
      },
      "message": "Camera3Device: Add dumpsys monitoring of request/result metadata\n\nAdd new -m dumpsys option to cameraservice dump for monitoring\nchanges in selected metadata values in requests and results.\n\nThis option takes a comma-separated list of metadata keys, or the\nshortcut value \"3a\", which expands to all the \"android.control\" tags.\n\nIn subsequent dumpsys calls, the last 100 changes to the tags being\nmonitored are listed.\n\nThe monitoring must be turned on once the camera device is running.\n\nBug:\nChange-Id: If8938b30611ccafa86c2c4a06e57fc72680f827b\n"
    },
    {
      "commit": "8dffbc8ef53d861d5c5ae1350ad1a26aefe53c60",
      "tree": "f09d7eefc1e1215286987dcebf3a67d2be1fdf5b",
      "parents": [
        "5cbcf4de38d0892342bd28571203f5795875ceba",
        "afff3d12ef4109a7a98cebb45d108ff736d3315d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 03 18:01:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 03 18:01:27 2016 +0000"
      },
      "message": "Merge \"Camera2 NDK: Update lensShadingMap documentation, remove duplicate\" into nyc-dev\nam: afff3d12ef\n\n* commit \u0027afff3d12ef4109a7a98cebb45d108ff736d3315d\u0027:\n  Camera2 NDK: Update lensShadingMap documentation, remove duplicate\n\nChange-Id: Iceff676a77dbf2ddaddacd658ddc29c4a6a5586b\n"
    },
    {
      "commit": "d2958597bc86d7eab85f007997d8986e1542f7a4",
      "tree": "6beaa05627d202e63fb6659eaa5ca50667913724",
      "parents": [
        "f217613acfe6cb9e97b05f5ff33ba9cc72600069",
        "5d677d1f0879d5101e38df480a38228a64d63959"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Jun 03 01:13:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 03 01:14:00 2016 +0000"
      },
      "message": "Merge \"Camera3: add deferred surface support\" into nyc-mr1-dev"
    },
    {
      "commit": "5d677d1f0879d5101e38df480a38228a64d63959",
      "tree": "eb8724a33f7f422d4dd0914e206c19948fc4da68",
      "parents": [
        "827388ba4fd8d5e859858dbb29ced986b9ed77f4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun May 29 16:52:39 2016 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jun 02 15:42:57 2016 -0700"
      },
      "message": "Camera3: add deferred surface support\n\nInitial native implementation and aidl changes for surfaceless support.\n\nBug: 28323863\nChange-Id: Id6634c3ef2ecc84422a88f63de0a19a0cb496e96\n"
    },
    {
      "commit": "070a06030c7b0821eb4647f5fe635b2f12815cf4",
      "tree": "2c107482709ba82080053b3ef10c646122a4b33d",
      "parents": [
        "c51e05b671ecb639fae5845541fe632bbf1bd8b7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 02 14:22:02 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 02 14:54:45 2016 -0700"
      },
      "message": "Camera2 NDK: Update lensShadingMap documentation, remove duplicate\n\nRevert added language about shading map being the full flat-field\ncorrection; it\u0027s actually the same correction as applied to camera\ndevice-processed data.\n\nRemove the duplicate lens shading map entry in the metadata tables.\n\nAlso fix a few other wording issues in the lens shading documentation.\n\nBug: 18175853\nChange-Id: I007aaf8b4901729afb116331d19926a6c2eea60a\n"
    },
    {
      "commit": "ca0cdfa107b1de7e6ac3156a0b3f24190163ce77",
      "tree": "2bd9be52edbbc640a151c29a969a292798a21ce6",
      "parents": [
        "1d0955cb5257a59f0ae435fefe26c05af4f4fbb6"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed May 25 01:30:15 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 31 14:52:31 2016 -0700"
      },
      "message": "Camera: update NDK metadata tag documents\n\nCodegen metadata document update.\n\nBug: 27102995\nChange-Id: Ie4a8c2ba71346c432b6a2ffcf25603ae561574a4\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": "3b3c26405dfc77e3bfda292e886112798f858636",
      "tree": "0286d6d10b7e3feb9e531ce11b9a861e8cc62edf",
      "parents": [
        "98268270da9e728f706d4d44260950dc5d1ed6c4"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 10 15:06:05 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 10 15:06:05 2016 -0700"
      },
      "message": "Camera: codegen NDK header update\n\nBug: 27102995\nChange-Id: I20216b4afa29c2f2bdb9c97f463d1d783ff984c3\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": "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": "ae5a5f9e06c7f82cdb321ec436442cbf12051615",
      "tree": "c13029a58a40db909ff4486f5af8079f8eaac5d8",
      "parents": [
        "c3c06c4fe329d07bd7d442206bc9eb63e92bf5bd"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Apr 26 14:02:49 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 27 12:24:57 2016 -0700"
      },
      "message": "CameraNDK: codegen doc update\n\nDynamic black level is capture result key.\nAlso add some codegen update missing in previous spec update.\n\nBug: 28276885\nChange-Id: I088b37db3776825afaf18512ab14ef4b1a02672b\n"
    },
    {
      "commit": "c79b144ae1a1981cd0d66e330d63e5efc1a033ad",
      "tree": "0fd5ceea7d06c7ca96ad62f8658741748b14361c",
      "parents": [
        "03aa02bda9bf1f38d8c6d9e6bfd8222ed18d3ff5"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 13:59:53 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 13 14:41:40 2016 -0700"
      },
      "message": "CameraNDK: codegen metadata tag documents\n\nBug: 27102995\nChange-Id: I8d0c12f772df784a87a5d4059174544295001e8b\n"
    },
    {
      "commit": "0115a8bff177dd8c4ca038423ee2efd36fbd58f1",
      "tree": "a3e105657ec468696af54b85aafca77cdd6cc737",
      "parents": [
        "fc302fd9e2d2cbafef771de77c47799488e1c044"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 11 16:39:23 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 11 16:39:23 2016 -0700"
      },
      "message": "CameraNdk: codegen header update\n\nBug: 27950762\nChange-Id: Id2d0b6bffb2e169145f0c2df5939f5e1dde37a8e\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": "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": "eca6c4394bb5206feb34037619fd333aba2c4f39",
      "tree": "8c6d557c0fb1abf23877f3006962122a2a6b0b1b",
      "parents": [
        "93e5235e71dff44491d80d6b167cae3046de4e81"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 06 11:59:51 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 13:16:56 2016 -0700"
      },
      "message": "CameraNDK: hide some capabilities in NDK\n\nCodegen update. Hide capabilities not yet supported by NDK.\n\nBug: 27102995\nChange-Id: I817980491bb3f7636f25e8734b179ffaa2a00365\n"
    },
    {
      "commit": "93e5235e71dff44491d80d6b167cae3046de4e81",
      "tree": "7261510f28a4edd81584c9fcc090c5989a47d144",
      "parents": [
        "ff2a495cc65881caa25bae520f1249e92ceb9ac6"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 04 13:24:26 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Apr 07 13:06:17 2016 -0700"
      },
      "message": "CameraNDK: add metadata enum value documents\n\nBug: 27102995\nChange-Id: I4dd7fa1288f123abdb5bc9ea6828e3cd945c16b4\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": "59a2d786854012e4c52abac263bd751f286fbdfd",
      "tree": "719cf544df39a5187f585934b51a13acf760517e",
      "parents": [
        "d9bd004bbe426978a2de8ee7d0489317b7580bdf"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 31 11:05:08 2016 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 31 13:39:26 2016 -0700"
      },
      "message": "CameraNDK: hide hidden enum values\n\nCodegen metadata updates.\n\nBug: 27102995\nChange-Id: Ie034238a8426c2cab9154cef1d7d7cc7ab969a95\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": "dfe4f821e88d17372e681462ba4146018f840bce",
      "tree": "a75f51abe70b28e4678a93553f765f37f05d3906",
      "parents": [
        "ae34ed2bcc9fa49a22fe7497327adb689ef27e8d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 09 14:45:15 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 09 16:23:58 2016 -0800"
      },
      "message": "CameraNDK: codegen metadata update\n\nAdd device custom scene mode range.\n\nBug: 26687007\nChange-Id: Ie92f812b65d577f3fa5dc88b8d931fc2602e3cff\n"
    },
    {
      "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": "09f40719657fbe2cb168bb3dba6b9b5c1ff04ae1",
      "tree": "d2de306f8e15f1f3a0f1b598f9a12973b91969ec",
      "parents": [
        "085dd0935c9cd19791a9a58a4df4a05e29eadca7"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 02 15:53:11 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 03 17:34:00 2016 -0800"
      },
      "message": "CameraNDK: codegen metadata header update\n\n1. Hide system keys\n2. Hide section if all keys are system\n\nBug: 25983832\nChange-Id: I97b0164d2b6d899ab2cb15bb39a71a49dd17e1c2\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": "743c2d02f7672e3806ca72d249e95ce17313a35f",
      "tree": "cf9e382379c68d61a2ca27aeec67bf4f5d04fac7",
      "parents": [
        "664041339740874917944c850b113656236edda6"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Feb 23 19:19:22 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Feb 23 19:19:22 2016 -0800"
      },
      "message": "Camera: update NDK header\n\nChange-Id: I572865bcc2ad7eacfa3d864872f4c9bd921ed041\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": "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": "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": "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": "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": "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": "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": "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": "88da526d97442c80731e01bfc94c6b47c4b0c3c7",
      "tree": "d62e3b5051bd55ac6f2bb0e4762a15be28650c5a",
      "parents": [
        "7841f704fee0e5acd45fa6e47a336120c3cad42c"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Feb 17 13:56:46 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Mar 03 14:07:47 2015 -0800"
      },
      "message": "camera: fix flashlight implementation for HAL v2\n\nUpdate torch availability when the camera device availability changes.\n\nFor device HAL v2 and v3 implementation, notify torch unavailable for\nall camera devices with a flash unit when a camera device is opened.\nNotify torch available for all camera devices with flash unit when\nall camera devices are closed.\n\nDon\u0027t invoke torch status callback in camera service. Invoke torch\nstatus callback in HAL or FlashControlBase implementations to avoid\nrace condition.\n\nClean up previous CL.\n\nBug: 2682206\nChange-Id: I24f5478f467b2c680565fe98f112eef33e2547a1\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": "04f101c35eaa90b1f95939afac30674ec1611e6f",
      "tree": "638649883fdc1e7329b9334b5a1a7461b7421942",
      "parents": [
        "151b3f41ffcdf187580542ba0c0d3b84df16beed"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Nov 04 11:32:52 2014 -0800"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Nov 04 11:32:52 2014 -0800"
      },
      "message": "Add a BufferItem parameter to onFrameAvailable\n\nPasses the BufferItem for the queued buffer to the onFrameAvailable\ncallback so the consumer can track the BufferQueue\u0027s contents.\n\nBug: 18111837\nChange-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0\n"
    },
    {
      "commit": "1754351d9199721e7e7943461689e399ef015260",
      "tree": "5e0fa67a3a220dad0bdb11c2a883db25d4af3269",
      "parents": [
        "60ffbe05857b7583f4c70c31914947476a908b5b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 06 14:32:02 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 27 11:08:10 2014 -0700"
      },
      "message": "CameraService: Correct API2 error handling\n\n- Add more error codes to the binder camera2 callbacks\n- Translate HAL errors to callback errors\n- When flushing, report failures for queued requests\n- Treat stream config failure as nonfatal\n- Send request errors when buffers aren\u0027t available for captures\n\nBug: 15524101\nBug: 14448494\nBug: 11272459\nBug: 17160301\nChange-Id: I81aa54e805a9cce1cb8a6a9374549daa7666deb2\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": "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": "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": "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": "2d6bb3f9e3e7cc1c7debbbe3d74bf9c70b6f39d4",
      "tree": "7e795593f43e694a9dee3e07f0a1a92a49cb9d7d",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Fri Apr 11 10:00:31 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 17 15:33:57 2014 -0700"
      },
      "message": "CameraService: fix race condition and wrong last frame number.\n\nChange-Id: Ie2be9a77a0b074497615de38cbb8e8f13b4858ec\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": "1cebdb77323e4554a316b9c34bf36957b7dad5ae",
      "tree": "fb2657136544bb4cb32fa0d8adf0782b421884d9",
      "parents": [
        "551cec544652783e3342c18386f64cee22412b60"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:10:09 2014 +0000"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:33:45 2014 +0000"
      },
      "message": "Revert \"camera: Fix setParameters for Preview FPS single/range values\"\n\nCauses a regression on some devices, so reverting until we\u0027re in a position to fix those devices.\n\nThis reverts commit 9078a1b3b9f9c0c48046ade0e8e18b0d79a659db.\n\nBug: 13563098\nChange-Id: I7aedd01fde8b8fdee77e972ec395f0ecadbf8ccb"
    },
    {
      "commit": "9078a1b3b9f9c0c48046ade0e8e18b0d79a659db",
      "tree": "b621ec3b2db6b4dcb12df7d201eb474a09183386",
      "parents": [
        "b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 20 00:21:25 2014 +0000"
      },
      "message": "camera: Fix setParameters for Preview FPS single/range values\n\nBug: 12609188\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4db\n"
    },
    {
      "commit": "e1445da74730473a66a3ae8414e940aebfe6585d",
      "tree": "4156e14e4528fffe1ec29f48bffd78c2fcd0d786",
      "parents": [
        "1c2b6e5e9671a5ea9eb26d24b772bb26bfa6d107"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 14:00:29 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 14:00:29 2014 -0700"
      },
      "message": "camera2: Don\u0027t log vendor tag errors when camera HAL too old\n\nChange-Id: Iac3d23284230c95c85ee404abbf9b22df1ae721c\n"
    },
    {
      "commit": "d1176ef16677b6c94fb893edb6a864cdccc0b190",
      "tree": "8cc18e17c4e32633d20e8c2b7fc9e397cc1791ac",
      "parents": [
        "3a005b3b19b750afe24577ae322aff4602ca2740"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Feb 21 10:51:38 2014 -0800"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Mar 13 12:09:22 2014 -0700"
      },
      "message": "camera3: Pass vendor tags through binder.\n\nBug: 12134423\n\n- Adds a class for parceling vendor tag definitions.\n- Passes vendor tag definitions to clients of the camera service.\n- Switches over to new vendor tag mechanism when reading from HAL.\n\nChange-Id: Icef3fe9e67160767bdb8244ac49c85b68b497123\n"
    },
    {
      "commit": "fd6ecdd39bd83ea020f78b425e96310380d66c35",
      "tree": "74b1aaa8fdcbf75681f72fb93b96db4ab48fa34c",
      "parents": [
        "48b6cd98b23b2cf9dee88f075f7575ecb5aaf545"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 09:51:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Nov 06 18:22:22 2013 -0800"
      },
      "message": "Camera HAL3/API1: Add support for the partial result quirk.\n\n- Camera2Client:\n - Detect partial result quirk\n- Camera3Device:\n - Accumulate all partial results together\n - Fire off 3A-only result once all 3A states are available\n- FrameProcessorBase:\n - Filter out partials, don\u0027t send to listeners\n- FrameProcessor:\n - Skip face detect on partials\n - Make sure to only handle a 3A update for a given frame once\n - Trigger AF notifications when AF mode or trigger changes, to\n   properly detect all AF transitions.\n\nBug: 11115603\nChange-Id: Iea8aa73c568701562a46071f7ea100624251d10b\n"
    },
    {
      "commit": "f1e98d857ec377f2c9b916073d40732e6ebb7ced",
      "tree": "2a435e723f17c0c7b3e6db323d68be6cfb7d5c66",
      "parents": [
        "f05e50eb06d3f70e50fa7f44c1fd32128033b49d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 06 09:32:43 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 02 18:11:21 2013 -0700"
      },
      "message": "Camera API 2, Device 2/3: Implement idle and shutter callbacks\n\n- Update callback Binder interface\n- Rename frameId to be requestId to be consistent and disambiguate\n  from frameNumber.\n- Implement shutter callback from HAL2/3 notify()\n  - Add in-flight tracking to HAL2\n  - Add requestId to in-flight tracking\n  - Report requestId from shutter callback\n- Implement idle callback from HAL3 process_capture_result\n  - Add new idle tracker thread\n  - Update all idle waiting to use the tracker\n  - Add reporting from request thread, all streams to tracker\n  - Remove existing idle waiting infrastructure\n\nBug: 10549462\nChange-Id: I867bfc248e3848c50e71527e3561fe92dc037958\n"
    },
    {
      "commit": "2b59be89dc245b6e2475d9e8b0c5f2392370e71e",
      "tree": "85564dae05e9343c75e9a5d1f54f7efee4b349f7",
      "parents": [
        "d2ac3144e201398340cc5b9bb36e5efe39edd9eb"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 10:14:30 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 15:36:07 2013 -0700"
      },
      "message": "Camera: Implement getCameraCharacteristics\n\nBug: 10904541\nBug: 10360518\nChange-Id: Ie9ca6b3b0b5f2fe529e6b0decc193096e770a017\n"
    },
    {
      "commit": "abaa51d3ca31f0eda99e1d271e6dc64c877dbf58",
      "tree": "52f4cc1078708f7c0099fded06dcb01daf6ca6bb",
      "parents": [
        "62c1a46eec047eb5fbc4b90432ec1ce65b76fb75"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 14 11:37:00 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 23 14:08:27 2013 -0700"
      },
      "message": "Camera2: Add flush support\n\n- On HAL2 devices, fall back to wait until idle\n- On HAL3 devices, call HAL flush method\n\nBug: 9758581\nChange-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a\n"
    },
    {
      "commit": "4b820b0e1fa069714b123fc35784541d0f94d267",
      "tree": "3418113d8ce7eca26303d6dce7d147e07003a0e9",
      "parents": [
        "1ce7c34e67c2cf58dd88c31f36f4bd62e375f7f0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 21 14:39:05 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 21 14:56:46 2013 -0700"
      },
      "message": "Camera1: Rename setPreviewTexture to ...Target for clarity\n\nBug: 10312644\nChange-Id: I19976188f0359bfd177209fb40145defdae9c740\n"
    },
    {
      "commit": "1ce7c34e67c2cf58dd88c31f36f4bd62e375f7f0",
      "tree": "4febd2dd2325c391977d64c9d78a8ee955277e80",
      "parents": [
        "99ad37a47628b1ea1f8981bf974de38a49c653a0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 21 13:57:21 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 21 14:35:48 2013 -0700"
      },
      "message": "Camera1: Set preview to be asynchronous, and remove dead code\n\n- Use the controlledByApp flag to make sure application-bound\n  preview buffer queue is asynchronous as before\n- Remove setPreviewDisplay in service, since it is no longer in\n  the binder interface\n- Rename setPreviewTexture to setPreviewTarget, to make it clear it\u0027s\n  the only game in town now. Rename only on the binder level and service\n  for now.\n\nBug: 10312644\nChange-Id: Icd33a462022f9729a63dc65c69b755cb7969857e\n"
    },
    {
      "commit": "0f61d8f14aa368c9cd7076528e8096e10ed100a0",
      "tree": "ed95cb70d56dd3a732f4e1909c96e7889b23ce94",
      "parents": [
        "75c16dde986e16ac5fd4d34b06b0cc6a90679866"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 08 13:07:18 2013 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Aug 16 14:42:28 2013 -0700"
      },
      "message": "Refactor CameraService to handle errors properly.\n\nBug: 10361136\n\n-Connect calls now return status_t error flags.\n\nChange-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95\n"
    },
    {
      "commit": "7b82efe7a376c882f8f938e1c41b8311a8cdda4a",
      "tree": "d7ed69f0a495bc1a873a285ba11e72a9867c5565",
      "parents": [
        "d054c32443a493513ab63529b0c8b1aca290278c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 25 17:12:35 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 10:58:44 2013 -0700"
      },
      "message": "Camera: Rename new API to camera2, rearrange camera service\n\n - Support API rename from photography to camera2\n - Reorganize camera service files\n   - API support files to api1/, api2/, api_pro/\n   - HAL device support files into device{1,2,3}/\n   - Common files into common/\n   - Camera service remains at top-level\n\nChange-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9\n"
    },
    {
      "commit": "2ab500c632569e2f131a1a2288459933da70c4ee",
      "tree": "fe3d1ab19e24e225ea2b6eab9cf2735cda0b2336",
      "parents": [
        "0429aa9322a1419eae0b932491b22f300cd58206"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jul 23 08:02:53 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jul 23 11:01:59 2013 -0700"
      },
      "message": "camera2: Implement ICameraDeviceUser::waitUntilIdle\n\nAlso fixed some logging typo\n\nChange-Id: Ib254bdb137dca10b12595c23aeb1c53097423425\n"
    },
    {
      "commit": "099b457f3203fa51387e21bd450495abb973ab31",
      "tree": "25c6a2d84c5020575cbf2d40f2fbf60107e5c162",
      "parents": [
        "ce177bb31493d3cd4450f9d4760fa1fd32ec6bf4"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 12 17:52:16 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 15 13:27:08 2013 -0700"
      },
      "message": "camera2: Implement ICameraDeviceUser::getCameraInfo\n\nBug: 9529161\nChange-Id: I927e39c124cd5fb19e38423506f4463acc381cb0\n"
    },
    {
      "commit": "e7ee7637747371635a85fedd24d2190bb1f38651",
      "tree": "fbae6cce035752d5386260deb4bf0222b6204ac3",
      "parents": [
        "b3570568b3f37b3f7018257ece53cbc009b91407"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 11 18:10:18 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 20 20:31:30 2013 -0700"
      },
      "message": "Initial implementation of android.hardware.photography.CameraDevice (service)\n\n* Verified preview streaming requests\n* Other things *should* work but unverified / unimplemented in client side\n\nMissing:\n* CameraService needs to return static camera info metadata\n\nBug: 9213377\nChange-Id: I71568560fcf18d0e2b408ed1c4d0066647314868\n"
    },
    {
      "commit": "bef3f23f16f2fc575b3f425febcfcc436a7db70f",
      "tree": "ed5a5ee004fe8736171a73a860ace99194d425de",
      "parents": [
        "55beec78a47a32288a01dde7fbc08406aa44345a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu May 30 17:47:38 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 11 11:47:47 2013 -0700"
      },
      "message": "camera: Make some binder interfaces compatible with AIDL\n\nDone:\n* ICameraService\n* ICameraServiceListener\n\nPartial:\n* ICamera (disconnect only)\n* IProCameraUser (disconnect only)\n\nBug: 9213377\nChange-Id: I8e2e6e05cfd02ec36be1d5b2c551f10ffb43b5b4\n"
    },
    {
      "commit": "3ee3550a2f529cbf56d87d8503f59a8f45dccf32",
      "tree": "99bf718ddc0429a1319523abaae975d3305face3",
      "parents": [
        "d72ec85d1d0b92ed82927e3925f21912a659b799"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Apr 02 15:45:11 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 17 15:01:08 2013 -0700"
      },
      "message": "Camera: Add preview callback surface support\n\n- Add call to set a preview callback surface\n- Implement support for HAL2/3 devices\n- Still need HAL1 implementation\n\nChange-Id: I0dc0bd72e43d871aa487858d1665c1efca633ffe\n"
    },
    {
      "commit": "3b53bc9b41c262d22f094406e3751bc5a41ef2ef",
      "tree": "7e27e2d5bf18e3bb973adc272f92bcb33bb5ef69",
      "parents": [
        "8be20f50711a94426f1394ec113672e41c1224e8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 27 18:02:26 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 27 16:54:34 2013 -0700"
      },
      "message": "Camera: Add input side to camera3 HAL device\n\n- Stream creation/deletion\n- Request submission\n- Request thread loop\n- Add get() to CameraMetadata to allow HAL submission while retaining\n  ownership.\n\nChange-Id: I271f72bcbe9557eded43cbcbfe789109857f8144\n"
    },
    {
      "commit": "cba2c163555cd329f49d40658ea3ee902e94dda3",
      "tree": "1d125f0012a52db51a1aec733792c1b41959734c",
      "parents": [
        "a97d15e2e2f0b317a345d3a6f02df80b8988b1f6"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 20 15:56:31 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 26 17:16:11 2013 -0700"
      },
      "message": "Camera: Add hotplug support (for fixed # of cameras)\n\n* Minor: also change addListener to fire the current status upon subscription\n* Minor: STATUS_AVAILABLE is now an alias for STATUS_PRESENT and deprecated\n\nChange-Id: I254608a7332095e3ef201ffea64cff156cfc1b3e\n"
    },
    {
      "commit": "b652df67cbdc2a92825144b23ea47eba4c276edd",
      "tree": "07f1460af2fb491316fb1ac4cc7e78ff744adb6e",
      "parents": [
        "96954c00cc8887f216ba84e126ab4a1100f348b4"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 18 13:36:48 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 21 17:28:01 2013 -0700"
      },
      "message": "ICameraServiceListener.h: Add STATUS_ENUMERATING enum\n\nChange-Id: I41a9f358f63a19e7b746a9ccf24722001e5e7475\n"
    },
    {
      "commit": "99617adda9bc46c43f511f0940bc735c73de61de",
      "tree": "67b71170ce74451ec384346407629d54cd7e403f",
      "parents": [
        "3eca0ac4428aa74f197a2a498d84490c4e30f11d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 12 18:42:23 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 12 18:42:23 2013 -0700"
      },
      "message": "remove uses of Surface in favor or IGraphicBufferProducer\n\nChange-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57\n"
    },
    {
      "commit": "fa4cf9d310685b4c25877cba772ff7da84caf517",
      "tree": "d954ae7a991a1dfc084019433f370b46abb1f6c4",
      "parents": [
        "ce124da179775a81ad7dcc3f33315eca451e66f2"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 04 16:14:23 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 11 16:32:24 2013 -0700"
      },
      "message": "(Camera)ProCamera: Remove unused functions from binder interface\n\nChange-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d\n"
    },
    {
      "commit": "ba5ca4ee770fa0fe9e14990fd13b23f1010f5c98",
      "tree": "435f4462759de475b36d98f9f893fbfb8a8b7e41",
      "parents": [
        "bfc9915f482520eb9676c6d2dbf7f1ac078d937d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 11:21:00 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 16:25:55 2013 -0800"
      },
      "message": "ProCamera: Add CpuConsumer asynchronous mode support\n\nBug: 8290146\nBug: 8291751\nChange-Id: I25423a2b8a70ac7169911b1c7b482aa17190fe0f\n"
    },
    {
      "commit": "bfc9915f482520eb9676c6d2dbf7f1ac078d937d",
      "tree": "1353c3f2f63777397770edfd1f146c691e5684e2",
      "parents": [
        "3fa4891f54bbfdbe8ee652930d22c96639964eff"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 27 12:55:20 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 15:55:15 2013 -0800"
      },
      "message": "Camera: Drop ProCamera connections when a Camera connection happens\n\n* Also adds an ICameraServiceListener with available/not available statuses\n\nBug: 8291653\nChange-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84\n"
    },
    {
      "commit": "c073ba525404f3416c2824c435d3d926a9892f1b",
      "tree": "f9fa36f1473054c5098bffa3926be9d2cbf6bd6f",
      "parents": [
        "b39f30b0a4902ea0f28454885785da4b2629fe25"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 14:32:34 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 18:54:03 2013 -0800"
      },
      "message": "camera_client: refactor Camera/ProCamera commonalities into BasicCamera\n\nChange-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9\n"
    },
    {
      "commit": "ceb388d6c03c38b96dc41c0ea4804b749aa077c4",
      "tree": "0639ba70ce330094a9fa71ba4577eece6d4dadb1",
      "parents": [
        "0894bfb78b7872570b94d0b8d23ebbf6a8b51d35"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 19 10:40:14 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 25 16:11:41 2013 -0800"
      },
      "message": "CameraService and Stagefright: Support AppOps\n\nCamera:\n- Signal to AppOpsService when camera usage starts and stops\n- Listen to permissions revocations and act on them\n- Currently just kill camera connection when permissions lost\n\nStagefright:\n- Pass on client name, UID to camera as needed\n\nBug: 8181262\nChange-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0\n"
    }
  ],
  "next": "4bc4a3845e456fd464556d79d20650a107e873e5"
}
