)]}'
{
  "log": [
    {
      "commit": "d9d754c59f2781b3bccf271f45ea38061d8971ae",
      "tree": "c9f9f6bca5e76cd55e7f093d0946297ddc91eb1c",
      "parents": [
        "eb1b686985b11943a74ec030b7589fdce199b8ec"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Tue Oct 15 00:46:35 2013 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "camera: Remove deprecated QCOM camera hacks\n\nChange-Id: If48c5b7c904d26ec2a8307fa690f983660fd7b5a\n"
    },
    {
      "commit": "8ffd5b96c07a3bc2e9f6fda1a9b5f24ef905d0f3",
      "tree": "ea8e20bfddd2d59add7e34cd3d18895be20127de",
      "parents": [
        "db86089551ff041b64c54368572ebcabcf35ac74"
      ],
      "author": {
        "name": "Kevin Bruckert",
        "email": "agrabren@yahoo.com",
        "time": "Tue Nov 20 04:48:00 2012 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "Add camera parameters for htc evo 3D. (1/2)\n\nUse BOARD_HTC_3D_SUPPORT to enable.\n\nChange-Id: I28fa3f1586071bcc78b8e887bbbf699d338a0ceb\n"
    },
    {
      "commit": "53fb870cb0e6cbe068f4d49b552733f02642c6ae",
      "tree": "16ce898bd78e9a5e5c03b148610f5a63dc999c94",
      "parents": [
        "a9b5ad6112c9bb459072f1e64952e5d872b60fae"
      ],
      "author": {
        "name": "Alok Kediya",
        "email": "kediya@codeaurora.org",
        "time": "Sun Aug 11 14:47:14 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "Camera: Disable TakePicture related messages in stopPreview,stopRecording\n\nThis change fixes the race condition and avoid the deadlock\nin abnormal snapshot stop I.e, Observed DeadLock when Data\nor Notify Callbacks is sent to App after StopPreview is\ntriggered and so disabling the corresponding take picture messages.\n\nChange-Id: Ifc20e495091c75cc718c24d29db3334fbf7ceb07\n"
    },
    {
      "commit": "a9b5ad6112c9bb459072f1e64952e5d872b60fae",
      "tree": "977f7c76693eb88798cb4364d8d12d3fe64fb751",
      "parents": [
        "c62d15799f983171666bc81425245736c0184abc"
      ],
      "author": {
        "name": "Alok Kediya",
        "email": "kediya@codeaurora.org",
        "time": "Sun Aug 11 14:20:01 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "Camera: Fix deadlock due to mLock in pcb and takepicture\n\nIn non-zsl case of takepicture, we do streamoff for preview\nstream which is waiting on preview callback thread to exit.\nBy that time the lock has already been acquired by takePicture.\nSo preivew callback will not exit until it acquires lock and\ntakePicture cannot continue until PCB call back is returned.\nFix: Avoid the mLock at services when both Preview cb \u0026\nCompressed cb are enabled.\n\nChange-Id: I61ffa60af34a3fc19b8f45c119535243b53c7d3c\n"
    },
    {
      "commit": "c62d15799f983171666bc81425245736c0184abc",
      "tree": "c4188adee60c79f2cf8c2ce2ed3943c8caba14dc",
      "parents": [
        "d598a35002135644cb9dc5a26ae437751da3c8d9"
      ],
      "author": {
        "name": "tbalden",
        "email": "illespal@gmail.com",
        "time": "Sat Mar 23 23:06:45 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "Camera: QCOM legacy definitions,HTC cam switch,NO_UPDATE_PREVIEW\n\nUpdating Camera parameters, and service with several\ncompatibility patches:\n\n1., QCOM legacy CameraParameters and functions:\nAdding these will make ICS qcomm camera blobs work on JB 4.3.\nUse BOARD_USES_QCOM_LEGACY_CAM_PARAMS :\u003d true in BoardConfig\nto use this.\n\nAlso fixes the problem of legacy qcom\ncamera blobs with recent libcameraservice QCOM_HARDWARE changes,\nwhere the orientation is messed up on first\npreview: the fix is leaving out setPreviewWindow(window) for\nlegacy qcomm cam blobs.\n\n2., Also adding NO_UPDATE_PREVIEW flag for legacy purposes.\n\n3., Adding adding the set orientation patch:\nAlways set buffers orientation when setting the qcom camera preview window\nFixes the rotated preview on TouchPad\nhttps://github.com/CyanogenMod/android_frameworks_base/commit/1a8e41a3c7434737db89b604352575f8b3109e7a\n\n4., camera: Full support for HTC camera switch\n\n5., Adding more parameters for HTC Explorer\n\nChange-Id: I2bfc72b8ef027665356788f1db7f96b31d037dbe\n"
    },
    {
      "commit": "b589eadfdf8ea21fe50968946adc9a9939564586",
      "tree": "a4eb8d41364954080aff66c42f39c0fe33520e83",
      "parents": [
        "3ba19956ab3781267aa9853dd7d7f2959d4308cb"
      ],
      "author": {
        "name": "Kiran Kumar H N",
        "email": "hurlisal@codeaurora.org",
        "time": "Thu Jun 27 21:32:54 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:13 2013 +0000"
      },
      "message": "Camera: Add support for ZSL burst mode.\n\nAdded ability to set number of snapshots in burst mode.\n\nChange-Id: I598781c5d5a613d8f58e0783c563aedb3be027cb\n"
    },
    {
      "commit": "3ba19956ab3781267aa9853dd7d7f2959d4308cb",
      "tree": "8da6453abf7b80fac04e84829fc22df30d89318c",
      "parents": [
        "7339d048b358ae8b74007dd373065220e3e7a798"
      ],
      "author": {
        "name": "Apurva Rajguru",
        "email": "arajguru@codeaurora.org",
        "time": "Fri Dec 21 17:49:40 2012 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:13 2013 +0000"
      },
      "message": "Camera: Enable Histogram feature.\n\nLink the histogram enable/disable commands from\napplication to the HAL layer.\n\nChange-Id: I7803da586a85720a8ec9ca98d61f6d67d75f40d5\n"
    },
    {
      "commit": "96db5f2754d07dc2d4b44fe0eae93f9e32ca8022",
      "tree": "e716695b6d625c3d76306997768be720007455a8",
      "parents": [
        "3142d888bba540849071804d14e1313271cba56c"
      ],
      "author": {
        "name": "Apurva Rajguru",
        "email": "arajguru@codeaurora.org",
        "time": "Thu Jul 12 11:34:12 2012 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:26 2013 +0000"
      },
      "message": "Camera: Enable QC Camera feature set.\n\nChange-Id: Ie52b6207293abe5a57d3bbe9d9c43e8c5b070af5\n"
    },
    {
      "commit": "3a85aca35ac6b33327f7495e823408cf86dd3760",
      "tree": "d062f80e8bb91c65264cce97b25313b8755db00f",
      "parents": [
        "7db68c9ca9b5837afaa313f975f7011c0cfd4771"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Sat Dec 15 20:29:59 2012 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:24 2013 +0000"
      },
      "message": "camera: Ignore CAF_RESTART callbacks\n\n * Ignore these callbacks which are sent by Samsung camera drivers, as\n   they can cause a deadlock in normal operation.\n\nChange-Id: Iae59eb0d3050751c1a4d372c80d430a8ba957252\n"
    },
    {
      "commit": "bf3be126b86d731e5b394b37c6ed009e806f0eea",
      "tree": "3953bccb0a8a9ad382a802ba967400a0ffbe897c",
      "parents": [
        "23faa62ebed997f737313f996216b0eea749b49a"
      ],
      "author": {
        "name": "Ankit Premrajka",
        "email": "ankitp@codeaurora.org",
        "time": "Mon Nov 21 19:25:02 2011 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:24 2013 +0000"
      },
      "message": "Camera: Qcom parameters partial rebase\n\nAdd customized parameters for qcom camera features.\n\nSquashed commit of the following submissions to CAF:\n\ncamera: add custom camera parameters to hardware java file.\n\nChange-Id: Ic2b363df6d25a0c3a49aed30e717d10874f533ae\n\nCamera: Add support for wavelet denoise\n\nChange-Id: I97be72615fe5909987ac430034bbdc16f2d20509\n\nCamera : Add support for histogram in frameworks\n\nChange-Id: Ibf751c3b2d488f4be0afaaa3e994372bafeffbe7\n\nCamera: Add ZSL support in framework.\n\nChange-Id: I4e863020d7d407d9c3936beb83dc7abf385c4654\n\nCamera: Add touch AF/AEC support in ICS framework\n\nIn, ICS the old touch AF/AEC functions getTouchIndexAf(),\nsetTouchIndexAf() etc  are no longer valid. Added new functions  to get\nthe center of touched area.\n\nChange-Id: I37d00040f895cd8a4de2e2a438971aa2d9c1a045\n\nCamera: Add support for Red eye reduction\n\nChange-Id: Iada280ac33aee8b1114dc40d8d79e0e47ad5c2fd\n\nConflicts:\n\n\tapi/current.txt\n\nCamera: Enable streaming texture and YV12 feature\n\nChange-Id: I814c92b469e0f25baef0ce80338761d1e6443085\n\nCamera: Add frameworks support for high frame rate\n\nChange-Id: I9722e9b7e61433651ab5f76f76208853eb1fd849\n\nCamera: Simplify ASD menu and best mode menu.\n\nChange-Id: Ia7a1eca9268eec021a6e2c3f7ce2a932e8819d50\n\nCamera : Macro definition change. PIXEL_FORMAT_YV12 to \"yuv420p\"\n\nWhy: CTS testcase is expecting \"yuv420p\" as the format string for YV12 mode.\n\nCRs-Fixed: 328252\n(cherry picked from commit 0a263f67b75497e4b95b9de8c370ed9496ab59ef)\n\nChange-Id: I66f418a52775a969d81bcb332bbe500370e3ab7c\n\nCamera: Changes for face detection\n\nChange-Id: I7b2172e8690d6e23762e42f5888fecbfda15ba61\n\nCamera: Add support for burst count\n\nChange-Id: I4488a5eac1eebb0b5c8e2cc7cbbe7be0c7301be7\n\nCamera: enable HDR feature\n\n(cherry picked from commit e40770bbdadd925fc1e07a08249a15981b961570)\n\nChange-Id: Ie9ca3066e8e53710bf292d047a3724aefc029854\n\nCamera : Add API to find fullsize liveshot support\n\nChange-Id: I3c2fc3578decbe5cf87fded5362f317df0b40b5e\n(cherry picked from commit 65d80f04892776eec1c19c844eacb8c454b4bd1a)\n\nCamera: Set default camera area string\n\nThe default invalid value for KEY_FOCUS_AREA and\nKEY_METERING_AREA is changed to \"(0,0,0,0,0)\"\nCRs-fixed: 334934\n\nChange-Id: I354802c8611ee5c00a591b96b1a1ca04926969cb\n\nCamera: Change the scenemode names in framework\n\nTo comply with ICS API Specification,\nSCENE_MODE_AUTO changed to SCENE_MODE_ASD\nSCENE_MODE_OFF changed to SCENE_MODE_AUTO\n\nChange-Id: I8e744f10c728f469923b09f69d6d64bc5c7c6850\n\nCamera : Framework changes for camcorder UI menu\n\nChange-Id: Iff9e9021da44b67f81a24c828b960113ee249248\n\nCamera : Remove unwanted video resolution in Framework\n\n- FWVGA, WQVGA resolution UI options are removed for camcorder.\n\nChange-Id: If621140966b01dbc8c30a4d161e6771528b8adda\n\nCamera : Enable FWVGA and WQVGA resolutions in camcorder media profiles\n\nChange-Id: Iad9cc33f7b6d8eb7de21df372c016edeef0b99ba\n\nUnlock camera AWB lock only when white-balance is changed.\n\nbug:5633546\nChange-Id: I90bb4b5b445daedf38a64e2f8fb980fc0f0aaa81\n\nChange-Id: Ie3cc15132489502e64321776d49d96846b5705d6\n\nConflicts:\n\tcamera/Android.mk\n\tcamera/CameraParameters.cpp\n\tinclude/camera/CameraParameters.h\n\tservices/camera/libcameraservice/CameraService.cpp\n\tservices/camera/libcameraservice/CameraService.h\n"
    },
    {
      "commit": "1c960844f826584a2967dcdd60f3153fd812e650",
      "tree": "f8e40aa9e2e63b45bb609690713ab62bef582cb9",
      "parents": [
        "a9e1193ac5b4d41f9096f8d42750fe7bf5dd2ff5"
      ],
      "author": {
        "name": "x0118064",
        "email": "saravanan.s@ti.com",
        "time": "Mon Sep 26 19:03:36 2011 -0500"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:44:22 2013 +0000"
      },
      "message": "CameraService: Add compatibility for OMAP ICS blobs\n\nWorkaround the conflict created by usage of the 0x800 enum\nin JB (focus move) vs its OMAP usage in ICS (burst jpeg)\n\nOriginally:\nCameraService: Adds support for burst compressed images\n\nSigned-off-by: Emilian Peev \u003cepeev@mm-sol.com\u003e\n\nMoved the changes under OMAP_ENHANCEMENT\n\nSigned-off-by: Solaiyappan Saravanan \u003csaravanan.s@ti.com\u003e\nChange-Id: I1f17675b2854793de83c2b7cdecafc039c46f355\n\nCameraService: Adds support for burst compressed images\n\nDepends on:\n  - http://review.omapzoom.org/#/c/24537/\n  - http://review.omapzoom.org/#/c/24538/\n\nChange-Id: I1f17675b2854793de83c2b7cdecafc039c46f355\nSigned-off-by: Solaiyappan Saravanan \u003csaravanan.s@ti.com\u003e\nSigned-off-by: Emilian Peev \u003cepeev@mm-sol.com\u003e\nSigned-off-by: Daniel Levin \u003cdendy@ti.com\u003e\n\nAdd CAMERA_MSG_RAW_BURST handling to CameraService\n\nChange-Id: Id958836e726e9908f60311d5bfc6d26eb8298cea\nSigned-off-by: Vladimir Petrov \u003cvppetrov@mm-sol.com\u003e\n\nCameraService: Disable capture message types before stopping preview\n\nIf we try to stopPreview in the middle of capture, these\ncallbacks might occur. In this case, stopPreview will already be\nholding mLock while the message handler will try to grab mLock.\nDeadlock occurs if the stopPreview and message callback dependencies\nare in the same thread.\n\nIssue reproduced with Image Capture/Home Key scenario.\n\nPort from GB: Issue is still reproducible (although extremely\n              rarely) in ICS.\n\nSigned-off-by: Emilian Peev \u003cepeev@mm-sol.com\u003e\nSigned-off-by: Jean Johnson \u003cjean-johnson@ti.com\u003e\nSigned-off-by: Daniel Levin \u003cdendy@ti.com\u003e\nChange-Id: I222d00f8bd69c11302a35610095efe0ddc49f876\n"
    },
    {
      "commit": "a9e1193ac5b4d41f9096f8d42750fe7bf5dd2ff5",
      "tree": "7a96a7818c992acfc98c2c2002f1ca7d531002bc",
      "parents": [
        "e575d59f14359818d24547ac4b37b6c798524ab5"
      ],
      "author": {
        "name": "Dejan Ivanovski",
        "email": "x0162121@ti.com",
        "time": "Tue Oct 11 12:03:40 2011 +0300"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:44:21 2013 +0000"
      },
      "message": "Camera Service: Change max number of cameras to 3\n\nMaximum number of cameras increased to 3 in order to support Stereo camera\nin addition to the existing ones.\n\nChange-Id: I63279daa17723669a8f116798b2687b73ddb5516\nSigned-off-by: Dejan Ivanovski \u003cx0162121@ti.com\u003e\n"
    },
    {
      "commit": "afada1e56cf0f91be5e44678850fcead2a70cca2",
      "tree": "6d88090137f1b7129e0f953acecdb76760e4ef6e",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "message": "Camera: don\u0027t do hw support check for ZSL\n\nOnly use camera.disable_zsl_mode to control disable/enable ZSL.\n\nBug: 11258054\nChange-Id: Ibf10b959d0913f7dedb59d89b571e9bf66fe978a\n"
    },
    {
      "commit": "15ad2470b2f2ac34473eb568b606ad75e8e63ac6",
      "tree": "7b1785a6c1c284fc345e5e1d9722ea87432f8491",
      "parents": [
        "d5ed2263a485d6e633fe08f033d04fad75daec6f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:21:11 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:48:16 2013 -0700"
      },
      "message": "Camera: Fix deadlock in Camera3OutputStream\n\nprocess capture request thread, process capture result and setParameter\nbinder threads can run into circular locking situation when acquiring\nStreamingProcessor lock, Camera3Stream lock, and bufferQueue lock.\nReleasing the Camera3Stream lock briefly in process capture request\nthread getbuffer call can break this deadlock.\n\nBug: 11016037\nChange-Id: If08d4b134c26be26039b1d5363759e60f911bad6\n"
    },
    {
      "commit": "d5ed2263a485d6e633fe08f033d04fad75daec6f",
      "tree": "6122aedd6246cef0185d35d726ce1f6670a5d750",
      "parents": [
        "1dd08b30e2366cabc50d883885d6229dab8218f2",
        "b790abf4d17f1c6865af7eb1595ec94dc0306447"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "message": "Merge \"Camera: Skip AE precapture when possible\" into klp-dev"
    },
    {
      "commit": "1dd08b30e2366cabc50d883885d6229dab8218f2",
      "tree": "9939b56d22eea0e02b14f7274f098bc6cfbea425",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
        "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "message": "Merge \"Camera2/3: Add more tracing for API1\" into klp-dev"
    },
    {
      "commit": "b790abf4d17f1c6865af7eb1595ec94dc0306447",
      "tree": "af2b7e55f779d29f89fdc82cefba8f941928a440",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 10:26:52 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 12:03:36 2013 -0700"
      },
      "message": "Camera: Skip AE precapture when possible\n\nSkip AE precapture when AE is already converged for still capture use case. This\ncould save still capture latency 6-7 frame time for AE already converged case.\n\nBug: 10712902\nChange-Id: Ie5512618b76e5d87c62c57c3d96d2004c604e29e\n"
    },
    {
      "commit": "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd",
      "tree": "65036c507cfc269e59847bee8e359536e1af2ec2",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 15:13:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 22:48:43 2013 +0000"
      },
      "message": "Camera2/3: Add more tracing for API1\n\n- AF state\n- Async autofocus completion\n- Async takePicture completion\n- Stages of takePicture\n\nBug: 10570497\nChange-Id: Ida9fedd81aa4ee3ae3fb8dfada858a3bc3c213a3\n"
    },
    {
      "commit": "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
      "tree": "25ffe85682c673330d8b806fdef1e9d978f6d698",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 16:12:43 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 09 13:25:21 2013 -0700"
      },
      "message": "Camera: Save 1 frame time for takePicture call\n\nMove the latest request signal call right before submitting request to HAL,\nwhich avoids unnecessary 1 frame time wait.\n\nAlso fix request status constructor issue, and the log tag for Camera2Client.\n\nBug: 10570497\nChange-Id: I0b1818658bee9983b117e49a5a00f1aab515c567\n"
    },
    {
      "commit": "828363dada5878fca6e0cb1553fbea96f38671c8",
      "tree": "608bb4956dad2e8582fb874c350d40f7d3367cb9",
      "parents": [
        "a676e96c6ed71846bdf60448bd63100ee2b357fb",
        "215bb3499c7eeea6303e55fac66452f2574c022a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "message": "Merge \"camera2: Don\u0027t race while dumping last frame metadata\" into klp-dev"
    },
    {
      "commit": "07d2169d46f3536add6044dbf106967a1982252f",
      "tree": "08090732d0c87e4dc781505e6396c33419b0ef62",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 24 18:04:19 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 08 11:21:06 2013 -0700"
      },
      "message": "Camera3: Improve resilience to stream failures\n\n- Handle binder connection drops (DEAD_OBJECT) for streams\n- Just log an error, don\u0027t go to an error state when queue/dequeue fails\n\nBug: 10347526\nChange-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc\n"
    },
    {
      "commit": "215bb3499c7eeea6303e55fac66452f2574c022a",
      "tree": "4a42ea582e33d46c79c9a033ff8d10b14e4aad42",
      "parents": [
        "fee4ce338d78eeb58af1f66831ead53322d3859e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "message": "camera2: Don\u0027t race while dumping last frame metadata\n\nBug: 11095203\nChange-Id: Icfb31e1719634b62004d6c15a95a9316e9642e4c\n"
    },
    {
      "commit": "19fffcbd89a51af797265af2e11c97be5820a07d",
      "tree": "c3a796d2b8aad1ea24158d22053a2524634de8f1",
      "parents": [
        "8097068de97c0cdab8150931f290edbd5b3721e5",
        "1d1f846c0dbaa36d0944e7b1e54cc07863e00a92"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 23:05:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 23:05:42 2013 +0000"
      },
      "message": "Merge \"Camera3: track request status in inflight queue\" into klp-dev"
    },
    {
      "commit": "1d1f846c0dbaa36d0944e7b1e54cc07863e00a92",
      "tree": "1e29ccb730ffb1fe799d3f55ccabf5579851fae5",
      "parents": [
        "6ea551fa13b69e5ce359a7dba7485d857a005304"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 02 16:29:51 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 15:14:34 2013 -0700"
      },
      "message": "Camera3: track request status in inflight queue\n\nBug: 9758581\nChange-Id: I1d7135cd0932bd6b453acabfeb9a553985c887bc\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": "f05e50eb06d3f70e50fa7f44c1fd32128033b49d",
      "tree": "32263232ea4d6d250f6f14011461f8f1c6914b60",
      "parents": [
        "26c1fb23a1e2cc059aac42fd1814efba2a3e9640"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 01 11:05:33 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 01 11:14:06 2013 -0700"
      },
      "message": "Camera: only return static metadata for HAL3 device\n\nThis effectively disables the camera2 APIs for HAL2.x or lower HAL device.\n\nBug: 10360518\nChange-Id: I0f374ac533468c6181f5672c75088b7144b9c53d\n"
    },
    {
      "commit": "893068ad0ca0cce8428f5a358c86b81139399c07",
      "tree": "cc82f5bf690cecf792aed9fb9e8a0bbe957468c5",
      "parents": [
        "9fc79c6fccc41255bb4f3538e2a21b01db8dc2dc"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 19:31:39 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 20:59:50 2013 -0700"
      },
      "message": "Camera: drop stale callback buffer\n\nSometimes, when preview size is changed and preview callback is enabled, stale\ncallback buffer from previous size could be delivered to callback processor\nbecause stop preview doesn\u0027t guarantee consumer side buffers are properly\ncleaned up. We need drop these buffers to avoid sending wrong data to app side.\n\nBug: 11009183\nChange-Id: If9281e8c02481f883872ce58dfd8660a06d56a47\n"
    },
    {
      "commit": "9fc79c6fccc41255bb4f3538e2a21b01db8dc2dc",
      "tree": "740664cdaee397b28c75e91d0e8feef0b4189df0",
      "parents": [
        "f2c8b02786c58b98d41d3f7c30e882cacc34e7ab"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 12:07:57 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 13:43:45 2013 -0700"
      },
      "message": "Camera: Set default thumbnail size with matched aspect ratio\n\nMake default thumbnail size match the default still capture size aspect ratio.\n\nBug: 10885012\nChange-Id: If46da9508d3b71992f0e14a35c600b7e8d347f4e\n"
    },
    {
      "commit": "1da3b602130d71ac3bff1a1fdecdc5e0d7b9d701",
      "tree": "76bbec452f81cd29b844f856882c46d5b4e3ea6d",
      "parents": [
        "6914de6dd1d74fcf74e3247c89f9293fbf7bafe5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 26 15:28:55 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 26 15:37:59 2013 -0700"
      },
      "message": "Camera2 API: Hack: Always use async mode with GLConsumer\n\nUntil a cleaner solution is implemented, force buffer queues to\nconsumers that set USAGE_HW_TEXTURE usage to be asynchronous.\n\nBug: 10949105\nChange-Id: I69e6b02b773831396767c282ce8c5936c5d41f03\n"
    },
    {
      "commit": "6914de6dd1d74fcf74e3247c89f9293fbf7bafe5",
      "tree": "a112a276227b9c897fe2bd25a8ad70b51b7155e5",
      "parents": [
        "1802399c7c4d8557922688f246df292703f417f1",
        "2b59be89dc245b6e2475d9e8b0c5f2392370e71e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 23:52:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 23:52:07 2013 +0000"
      },
      "message": "Merge \"Camera: Implement getCameraCharacteristics\" into klp-dev"
    },
    {
      "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": "2b890936e978de0a8d4450ee1aaeda53d22b5f4e",
      "tree": "3967fa25cafbec859fa780fe6206a76e3da36602",
      "parents": [
        "58dd07863571951408b67fa0a7f17cb23606fb1c",
        "4ad28ea0a76c7ecdfcc5b96af2b0afcb0c3e5120"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Sep 25 19:27:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 19:27:35 2013 +0000"
      },
      "message": "Merge \"Camera2/3: Support new PASSIVE_UNFOCUSED AF state\" into klp-dev"
    },
    {
      "commit": "4ad28ea0a76c7ecdfcc5b96af2b0afcb0c3e5120",
      "tree": "3baabae618615d739161f703c8e34bc3fd9c4e84",
      "parents": [
        "fbb2609f132f23a983d376dec9ae6bfebfcacc4c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 17:21:18 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 17:21:18 2013 -0700"
      },
      "message": "Camera2/3: Support new PASSIVE_UNFOCUSED AF state\n\nBug: 10860639\nChange-Id: I39be64abaf79b49b2d1f74e1c2ab2adf718ae701\n"
    },
    {
      "commit": "70b054021a3a22622c2710267362c5e235ed73bd",
      "tree": "24341d0e6cc5882b0d105b1bda2969fedcf831f3",
      "parents": [
        "0181fde7bd20238cb13ae2665f0e5bfe7c2d9ac8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 16:32:26 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 16:32:26 2013 -0700"
      },
      "message": "Camera2/3: Properly disambiguate FPS range vs. single FPS setting\n\nThe camera1 API allows for either setPreviewFrameRate or\nsetPreviewFPSRange, so both values may or may not change in a single\nsetParameter call.\n\nThe disambiguation of which setting has been changed since the last\nsetParameter() call was not fully correct, so a sequence of changes\nthat only changed setPreviewFPSRange or didn\u0027t change either could be\ninterpreted as as a change to setPreviewFrameRate.\n\nBug: 10842868\nChange-Id: I40baeced80a58f09f8a1742ece8dd5e141e9c1e3\n"
    },
    {
      "commit": "0181fde7bd20238cb13ae2665f0e5bfe7c2d9ac8",
      "tree": "64cdd48a007e26e3602bd467f5434e7870a95ec1",
      "parents": [
        "fbb2609f132f23a983d376dec9ae6bfebfcacc4c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 10:12:32 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 20 10:18:36 2013 -0700"
      },
      "message": "Camera2/3: For still captures, use widest FPS range available.\n\nInstead of using the application-selected preview FPS range for still\ncaptures, select the widest FPS range advertised by the device and use\nit for still captures instead, to give the HAL the widest range of exposure\nvalues to choose from possible.\n\nBug: 10842868\nChange-Id: I0e24f5eb713a4f8df116cd5979a84390cc0974d7\n"
    },
    {
      "commit": "f8b2a6f7dea06234c7966798d9363d2d236488a6",
      "tree": "0205ab0fe470d4020dee18db4c15a39ebc301b12",
      "parents": [
        "5baf2af52cd186633b7173196c1e4a4cd3435f22"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Sep 17 17:03:28 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Sep 18 19:47:20 2013 -0700"
      },
      "message": "camera2: Tell all streams to ignore global device UI rotation\n\n- Also use android.sensor.orientation to set the right transform\n  flags automatically.\n\nBug: 10804238\nChange-Id: I10caf8331f19e107c461696963cc10f597c91d83\n"
    },
    {
      "commit": "a099d1f6be3fbbb1af4c12b2ab627397f0826982",
      "tree": "c2f5f0fdd4cc49e201836323dde41145c4e7d315",
      "parents": [
        "72a2f171ddf5c1eab7d6ccd47ac2b7ac4fc9c087",
        "2f876f9ee63396e4e0117f85c5b3132cac7e2c9d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 16 22:45:56 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 22:45:56 2013 +0000"
      },
      "message": "Merge \"Camera3: Always set a trigger ID for an active trigger\" into klp-dev"
    },
    {
      "commit": "2f876f9ee63396e4e0117f85c5b3132cac7e2c9d",
      "tree": "dbf8c6668faf4b7d3777692c06ecfdedbf49ba45",
      "parents": [
        "d176ec1e371a686c58385692a28da677e398c302"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 13 11:39:24 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 16 09:33:36 2013 -0700"
      },
      "message": "Camera3: Always set a trigger ID for an active trigger\n\nThis is to work around HAL implementations that expect to see an\nID for every trigger.\n\nUse a dummy trigger ID of 1, since 0 has special meaning for older\nHALs.\n\nBug: 10720617\nChange-Id: I9cb1b8dbcb113cb9e737e5adb04032fd61a54c12\n"
    },
    {
      "commit": "527748abf04c0060894fd7aace54959a2c343435",
      "tree": "667faa9827035f34685c0525ccac1289c6d844f9",
      "parents": [
        "66281c3a5d7eea486ddc6ad30088ba92956fd4fd"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Sep 15 21:06:10 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 16 09:23:58 2013 -0700"
      },
      "message": "Camera: setCallBackWindow only if callback surface is used\n\nCalling setCallBackWindow without checking the previewCallbackSurface could make\nthe stream to be deleted during callback stream operation, which is bad because\nthe preview is still active and the delete fails.\n\nBug: 10730496\nChange-Id: I8addac25e5aa7901bf200d730c749bee2c088090\n"
    },
    {
      "commit": "66281c3a5d7eea486ddc6ad30088ba92956fd4fd",
      "tree": "a796c6ea3a8eb4cf989efc6ecaf87d60083e008f",
      "parents": [
        "d176ec1e371a686c58385692a28da677e398c302"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 13 17:59:59 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Sep 15 11:19:17 2013 -0700"
      },
      "message": "Camera: Don\u0027t overwrite the error status\n\nBug: 10749544\nChange-Id: I6096effde03e18ee1b8c63cf3b36dce0344054c5\n"
    },
    {
      "commit": "3ef464e095da6c5d1acb5723dbc4b9f7cfd4ecf8",
      "tree": "3e801feba6fe18a8a4852e97be5d89e3d4c9ff11",
      "parents": [
        "dc33c542351449ceee95cc50a9009f495e7c72ba"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 11 22:58:17 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 13 14:12:43 2013 -0700"
      },
      "message": "Camera: Limit supported preview sizes\n\nThe ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES can provide sizes as large\nas jpeg sizes, which could cause potential issues when trying to do\nfull size still capture and full size preview. This is not supported\nby many devices due to hardware limitation. This change limits the\npreview (as well video) size to no more than 1080p.\n\nBug: 10625115\nChange-Id: I9467ab843553ec06e8249b4a17c0ecf4c6d6f04e\n"
    },
    {
      "commit": "6220f993541b0317e6ace3c410dd35a8d76e30bc",
      "tree": "63c4375921b7b02153b652691196364ae64d9955",
      "parents": [
        "6ca83fad0c32f8d9c81c9e16b4f87025d1abbda1",
        "1e479c0f4cb3e2174dde0b02e5656fb658f73495"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 09 23:07:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 09 23:07:23 2013 +0000"
      },
      "message": "Merge \"camera3: Dump latest request sent with dumpsys\" into klp-dev"
    },
    {
      "commit": "d1d6467d3bcbc1305eeba0176a2edf04925c368e",
      "tree": "b79d4ac9bc0293a29ce391f3fb611d7ea8f30eb3",
      "parents": [
        "84b7fb0c88ddd05ed7c148c82fe1691040a9404d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 06 15:00:01 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Sep 08 09:58:11 2013 -0700"
      },
      "message": "Camera: Correct stream id types\n\nBug: 10604704\nChange-Id: I223ac5d200eb6439c08955fb7ad586592099fbae\n"
    },
    {
      "commit": "1e479c0f4cb3e2174dde0b02e5656fb658f73495",
      "tree": "605aa966ab9e139ec32df02757569843bebc9ce8",
      "parents": [
        "3b4529e03c5fc7a44c22f9091ad15a269bfca3a8"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 06 16:55:14 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 06 17:50:12 2013 -0700"
      },
      "message": "camera3: Dump latest request sent with dumpsys\n\nBug: 10606535\nChange-Id: I0dd5ca3e09f45701659ab9ebd3b51939a2f6e6ba\n"
    },
    {
      "commit": "84b7fb0c88ddd05ed7c148c82fe1691040a9404d",
      "tree": "41dc8df17d0f040c4a021e0a221ac0202aab5ae2",
      "parents": [
        "3b4529e03c5fc7a44c22f9091ad15a269bfca3a8"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 06 11:46:01 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Sep 06 16:36:19 2013 -0700"
      },
      "message": "Camera: Send VIDEO_SNAPSHOT intent for video snapshot case\n\nBug: 9924539\nChange-Id: Ief39eff79c31f2c2aa5df2fe1a0f04c4afc74690\n"
    },
    {
      "commit": "36a8b33a23dca49c9617e97e22e5d67f7d25c268",
      "tree": "259ccf6447eeb22fb45240665ac1620eadd420c5",
      "parents": [
        "72119ce833d4f0e1c0342f1722d1433f2ba12b87",
        "a27c4aa222c8dd1712617dad954c5f3aa68d5427"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Sep 06 01:21:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 06 01:21:52 2013 +0000"
      },
      "message": "Merge \"camera: Fix race condition between setParameters() and stopPreview().\" into klp-dev"
    },
    {
      "commit": "a27c4aa222c8dd1712617dad954c5f3aa68d5427",
      "tree": "bf70a487ec2ca5b69f216796ceaf6e822daf0b6c",
      "parents": [
        "c85d61964cb6f9b23cd2e82e43d7052b3e7d4fbc"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Sep 04 18:18:26 2013 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Sep 05 18:37:49 2013 +0000"
      },
      "message": "camera: Fix race condition between setParameters() and stopPreview().\n\nBug: 10414772\nChange-Id: I928cb3935afb101da8a7931f88c27dccdb03b4a9\n"
    },
    {
      "commit": "17963d16d66526288ed66c91a6744daf3acfd731",
      "tree": "8248514bf96576188d868ee91bd57fd11740d134",
      "parents": [
        "df60eff872f276c1a94ab0355b252b73fe61faa9"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Aug 19 15:21:19 2013 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Sep 04 11:57:45 2013 -0700"
      },
      "message": "Fix CameraService error flag when running HAL1 with API2.\n\nBug: 10620944\n\nChange-Id: I44c0d09a3d313ae8f724fbe61fa5f36cf5b38b6d\n"
    },
    {
      "commit": "0a4df03542e7d7aab716a60e206dceaf5da178f3",
      "tree": "a95c5df29592ac85f4ea8f65bcd7456e3d5e0c93",
      "parents": [
        "4585e8f0ff47580fdb81ed8652bde32db1770050"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 03 13:29:28 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 03 13:32:53 2013 -0700"
      },
      "message": "Camera2/3: Increase precapture start timeout\n\nCurrently, we only wait 200 ms for the HAL to switch to the precapture\nstate.  This is insufficient at low preview frame rates (dark\nconditions, ~10 fps), where a 3-request-deep HAL pipeline will take\n300 ms to produce a precapture trigger output. In those cases, we\nwould prematurely skip the precapture sequence, causing bad quality\npictures.\n\nSince this is a fallback timeout to prevent deadlock in case of a bad\nHAL or framework implementation, increase the timeout to 1 second. Has\nno impact on correctly-working implementations\n\nBug: 10430191\nChange-Id: I08e99f8e7f3beb8f15dcee32632cdebfe3dca8b3\n"
    },
    {
      "commit": "d656a4be3c3b6bc249b06599c2b02c2863d2c47f",
      "tree": "fb7417309c1b4a1fdbaec7b9705ac1eb114c02a3",
      "parents": [
        "9404fa6ac9f76f8f8d898e35f4fa03906a553e0a",
        "4fb55c15da1a563ab925914a0f493a3dc80495a3"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Aug 30 18:32:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 30 18:32:14 2013 +0000"
      },
      "message": "Merge \"camera: Fix deadlock when sending callbacks during disconnect\" into klp-dev"
    },
    {
      "commit": "4fb55c15da1a563ab925914a0f493a3dc80495a3",
      "tree": "bd33050f671a5cdaa6fdb121b115fb84f7e5d8e8",
      "parents": [
        "ed474f370947856e72795c641672fcad90442fcf"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Aug 29 17:43:01 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Aug 29 17:55:08 2013 -0700"
      },
      "message": "camera: Fix deadlock when sending callbacks during disconnect\n\nBug: 10552448\nChange-Id: Ie93ba744ae6705aa657f980ae8e08ec624feeb39\n"
    },
    {
      "commit": "26fe6c7c56477ef227205c68f17df07ca3501d65",
      "tree": "562a44a207970f573342636a345b43e101c3d1cf",
      "parents": [
        "c063c1756cbffdc273fe50b208426f59439f1298"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 29 12:46:18 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 29 12:51:00 2013 -0700"
      },
      "message": "Camera3: Be busy as soon as work arrives.\n\nRequestThread\u0027s internal busy flag (mPaused) was not being immediately\nset when new work was submitted to it. This allowed for a race\ncondition where a capture() followed by an immediate\nwaitUntilDrained() would immediately return from the wait.\n\nSet the mPaused flag to false immediately in capture() and\nsetStreamingRequest() to avoid this, instead of waiting until the end\nof the next RequestThread iteration.\n\nBug: 10531739\nChange-Id: I54a79fe5361d527ec717f41ad805e9b319a48cd8\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": "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": "deeef54487a34034dc0cfaab20b20d557224c07c",
      "tree": "cc0aa13d8349df8a57e82374cfd2df9095cf2cbe",
      "parents": [
        "230c5bde2779c618b26edc73443280b2d9371c70"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 02 01:50:59 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 06 20:05:40 2013 +0000"
      },
      "message": "separte producer and consumer interfaces\n\nBug: 9265647\nChange-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c\n"
    },
    {
      "commit": "ce7842c295638ee1432041186700a71d4bf1c176",
      "tree": "fd4edd0305eb36296aa8d803dc31e605d0323147",
      "parents": [
        "f86b18b1ce3cf20a39aea1fcaf90ec66f9d6d63e",
        "b2f5b19e5b6e1408a259add23dba91037756a943"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 05 21:46:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 21:46:04 2013 +0000"
      },
      "message": "Merge \"Camera3: Provide consumer usage flags to HAL for each stream\""
    },
    {
      "commit": "b2f5b19e5b6e1408a259add23dba91037756a943",
      "tree": "e604903d5d2f5abb099737ee9ae206200cfc99c9",
      "parents": [
        "7b82efe7a376c882f8f938e1c41b8311a8cdda4a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 14:36:03 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 05 13:56:43 2013 -0700"
      },
      "message": "Camera3: Provide consumer usage flags to HAL for each stream\n\nAt stream configure time, pass on the stream\u0027s consumer usage flags\nto the HAL, to speed up final hardware configuration.\n\nBug: 9592202\nChange-Id: Ie467be053be36a09e482f5f05cad65df42d66476\n"
    },
    {
      "commit": "11d0d44d583f679638cc927bfffe920e495e90cc",
      "tree": "e795a55fea68ccd8f7b5a92edbadaa3b77260a7f",
      "parents": [
        "7b82efe7a376c882f8f938e1c41b8311a8cdda4a"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 09:50:58 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 12:10:51 2013 -0700"
      },
      "message": "Camera: fix the metadate parcel write issue\n\nAlso rename the frameId to requestId to make it less confusing.\n\nChange-Id: I14a20b6fcabb86294afb31fc0c56397e185c1373\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": "ae4b5f93444802632d71ec34373842e6f5febbaa",
      "tree": "cca9ed2ca45ba428c58976c3bda7dcc83cb2b3a1",
      "parents": [
        "175f8338e67aae6d0ca420b8f45a5f7cab4394d5",
        "1581101ce2a8c1b8d0b07b643ad891595221d781"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 29 20:54:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 29 20:54:20 2013 +0000"
      },
      "message": "Merge \"camera2 api: Override default RGBx formats to IMPLEMENTATION_DEFINED\""
    },
    {
      "commit": "1581101ce2a8c1b8d0b07b643ad891595221d781",
      "tree": "31ddd4257df3a28c066fdbe40586451c595612ab",
      "parents": [
        "de7c96afc382ac73108116d3431342633fa4e489"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 29 12:25:59 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 29 12:25:59 2013 -0700"
      },
      "message": "camera2 api: Override default RGBx formats to IMPLEMENTATION_DEFINED\n\nBug: 9487482\nChange-Id: I09d3b4e41454d350c4bc7b1f8e893c3dad655e73\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": "47110057829ba7d5c7b41fd2aa381b5f5ed811ca",
      "tree": "47aba0629cdbad3ba01cca4e52bd3a1c167e392b",
      "parents": [
        "01061c1d57700b37fa879217763494cdf94d5c98"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 22 17:34:34 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 22 17:39:20 2013 -0700"
      },
      "message": "Camera: ProCamera connect need support HAL3 device\n\nChange-Id: Iae7e5f9e6387f61f1c4bbb91f75803fc1fdf2668\n"
    },
    {
      "commit": "288abb6fe160dff109dedbf89b227fc2b10a2ee8",
      "tree": "84ba9727251db6aa37206744e4233163989f31be",
      "parents": [
        "cd63212dedc29d72d4746a4070d018fdbca316a9",
        "fe0799e8f1c5db22df3bafdfb9ec995f5494d260"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sat Jul 20 01:09:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 20 01:09:39 2013 +0000"
      },
      "message": "Merge \"camera2: Fix request ID bug\""
    },
    {
      "commit": "cd63212dedc29d72d4746a4070d018fdbca316a9",
      "tree": "04c6fb38509d19a635bbc666dad9afe339bc6166",
      "parents": [
        "83e5c374ec29859e64347820b38013ecc3aaf935",
        "5e1f08b3917ac7900f8a11118afb7e8bf3e61c64"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Jul 20 01:02:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 20 01:02:38 2013 +0000"
      },
      "message": "Merge \"update to new Consumer APIs\""
    },
    {
      "commit": "e4bc8dbf0329c4845c692a02e54c16906998f77d",
      "tree": "aa6f6324945e19f20918b90bf60768e08239174a",
      "parents": [
        "d118343cd0abcbab2c613989ab744ee9a7be4c7d",
        "b0177ff25e3e620be6ebe1e2c3f645b2f05dd57e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 19 16:02:11 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 19 16:02:11 2013 -0700"
      },
      "message": "am b0177ff2: am 46910bdc: Camera2/3: Fix deadlock when starting recording before preview.\n\n* commit \u0027b0177ff25e3e620be6ebe1e2c3f645b2f05dd57e\u0027:\n  Camera2/3: Fix deadlock when starting recording before preview.\n"
    },
    {
      "commit": "fe0799e8f1c5db22df3bafdfb9ec995f5494d260",
      "tree": "910eb9ebe5a56b4bd46a33f52ecd4c00b223a142",
      "parents": [
        "20f4754b7e687d3718a0a0a585f2c9ac22e2567d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Jul 19 13:18:43 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Jul 19 13:25:44 2013 -0700"
      },
      "message": "camera2: Fix request ID bug\n\nWrong request id was pushed in request list.\n\nChange-Id: I55bf7ae84ca41eec79db1a81d2cde35beaa2a6b9\n"
    },
    {
      "commit": "46910bdc57c35ac36bd4adcbb76f4f3a590e3f21",
      "tree": "61f2b1567b83c436650e098f89527ec261a3d9aa",
      "parents": [
        "a2520db02bead68d4980783c41500ae96511bdf8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 18 19:15:17 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 18 19:36:00 2013 -0700"
      },
      "message": "Camera2/3: Fix deadlock when starting recording before preview.\n\nMove 3A notification synthesis for HAL3 devices from\nCamera3Device::processCaptureResult to Camera2Client\u0027s\nFrameProcessor. This will ensure that calls to processCaptureResult\nfrom HAL can never block on Camera2Client internal mutexes.\n\nBug: 9923891\nChange-Id: I5184649bf45c0807babe6b8c0e1239e959cd3480\n"
    },
    {
      "commit": "5e1f08b3917ac7900f8a11118afb7e8bf3e61c64",
      "tree": "b3ea1c7bc63365c9905558d0f0965930bd3d2678",
      "parents": [
        "5478f3c44b9d6670261733953a71a8290fa70ae8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 16 22:54:39 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 16 22:54:39 2013 -0700"
      },
      "message": "update to new Consumer APIs\n\nChange-Id: I3c5d4be2a2e8783fbf98b3e268fd02658f71dc7d\n"
    },
    {
      "commit": "5478f3c44b9d6670261733953a71a8290fa70ae8",
      "tree": "4060b3eb8796d477e55e418a69629586a75e17eb",
      "parents": [
        "099b457f3203fa51387e21bd450495abb973ab31",
        "8d764bfc74c40641f018a0aa87d6f484aec92eae"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 16 02:17:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 16 02:17:39 2013 +0000"
      },
      "message": "Merge \"always pass the BufferQueue explicitely to consumers\""
    },
    {
      "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": "8d764bfc74c40641f018a0aa87d6f484aec92eae",
      "tree": "1418445850d4b3d44ab521722639494b33df27f5",
      "parents": [
        "ce177bb31493d3cd4450f9d4760fa1fd32ec6bf4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 12 22:06:20 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 12 22:06:20 2013 -0700"
      },
      "message": "always pass the BufferQueue explicitely to consumers\n\nChange-Id: Ic2d9a9cf184a482b3c78a481ed693ee32df5ca13\n"
    },
    {
      "commit": "ceb1f0af56b5ff1f546438ec27321929956c705f",
      "tree": "effa22031f55a3260979ca2776a36e59c55fc634",
      "parents": [
        "132a4fb88207075932d5dbb7970383ceb6405be7",
        "656e86250cd68f7f362c50a4bc92a865e9deacbe"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Jul 11 14:40:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 11 14:40:58 2013 +0000"
      },
      "message": "Merge \"Pass additional arg to acquireBuffer calls.\""
    },
    {
      "commit": "132a4fb88207075932d5dbb7970383ceb6405be7",
      "tree": "ec21c59b24e605c3cf3ea5e7aad2dfab0a662be8",
      "parents": [
        "b0dfd4613225a3b2a17bdf8d85e89a4b04d65ef3",
        "adaa78c901a2f2509965b7acc1cde848dfc6bafe"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jul 11 01:54:37 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 11 01:54:37 2013 -0700"
      },
      "message": "am adaa78c9: am a2520db0: camera2/3: set preview callback oneshot flag during still capture\n\n* commit \u0027adaa78c901a2f2509965b7acc1cde848dfc6bafe\u0027:\n  camera2/3: set preview callback oneshot flag during still capture\n"
    },
    {
      "commit": "656e86250cd68f7f362c50a4bc92a865e9deacbe",
      "tree": "4954e6d3ba3a59d4176a5fa25f3ea204c5292d31",
      "parents": [
        "0bc32ae1a8ef45f98101b78bfe64798875b569e3"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Jun 28 14:03:03 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jul 08 17:53:52 2013 -0700"
      },
      "message": "Pass additional arg to acquireBuffer calls.\n\nBug 7900302\n\nChange-Id: I30b9cca783e0a48f77035b745b7d5e20edf10f27\n"
    },
    {
      "commit": "a2520db02bead68d4980783c41500ae96511bdf8",
      "tree": "4700e3363f26d6cc69f6eccbf82db96dc39503f1",
      "parents": [
        "4a5c009bc2389304cf078c270bceb656479367d2"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 08 16:12:32 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 08 17:22:16 2013 -0700"
      },
      "message": "camera2/3: set preview callback oneshot flag during still capture\n\nPreview callback oneshot flag need set when a still picture is being captured\nand preview callback oneshot is enabled, otherwise, the callback enabling status\ncould be lost when preview is restarted after still catpure.\n\nBug 9742091\n\nChange-Id: If9562369013e53727edfdd16f3d00d6a9392e70d\n"
    },
    {
      "commit": "551ababe67ce31778000d52958e53e1c56e1a294",
      "tree": "0c03e82da30562f768dd695d156a70d40d442d40",
      "parents": [
        "6760cfd1a6d3982664275ae02835a3dd72b30cac",
        "06a4604e77b5872857ef95fe712b6ce00c7aa506"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 08 16:49:36 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 16:49:36 2013 -0700"
      },
      "message": "am 06a4604e: am 4a5c009b: Camera2/3: As a fallback, unilaterally free old recording buffers\n\n* commit \u002706a4604e77b5872857ef95fe712b6ce00c7aa506\u0027:\n  Camera2/3: As a fallback, unilaterally free old recording buffers\n"
    },
    {
      "commit": "4a5c009bc2389304cf078c270bceb656479367d2",
      "tree": "08608bdb6a061244b8cb7405a11f3bde8ff12ae7",
      "parents": [
        "eced745af7d2d27a8c45e04eb071d4fb30cd3e48"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 03 16:56:11 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 08 13:12:10 2013 -0700"
      },
      "message": "Camera2/3: As a fallback, unilaterally free old recording buffers\n\nWhen starting a recording session, check for and clear out recording\nbuffers still owned by stagefright from a previous recording session,\nif any.  There should never be any, but in case they are due to a bug\nelsewhere in the system, clearing out the buffers makes recovery\npossible.\n\nBug: 9591080\nChange-Id: I3a2a1256860bd174381cd525948419f985c9b415\n"
    },
    {
      "commit": "8f13428cb29a9b610a9e9a0f5fea437cd2d3f032",
      "tree": "c913526f2f967ddf112582e8da281852b4844d5a",
      "parents": [
        "2c1648df9d2d623c602fee17048abc82c9e44d55",
        "c7ba4a5c938d191bf0e477fc9b9aa4f0cba986ef"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 01 18:20:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 18:20:02 2013 +0000"
      },
      "message": "Merge \"Camera2Api: Creating a JPEG stream needs to use the right size\""
    },
    {
      "commit": "c7ba4a5c938d191bf0e477fc9b9aa4f0cba986ef",
      "tree": "5661f7b3ef9fd30c323c7535cd0b111e8e215dfd",
      "parents": [
        "7919fa2c33b1fa7f5e49b2188d671bfe519c231e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 01 09:23:55 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 01 09:25:10 2013 -0700"
      },
      "message": "Camera2Api: Creating a JPEG stream needs to use the right size\n\nJPEG streams have variable size, so use the HAL-provided max size\nto size the stream buffers.\n\nChange-Id: Ie6900bc9ece6e972eae93fca6aca779224c9bfc6\n"
    },
    {
      "commit": "25d729c3aba847cb4b56b1e6ca143410faca76c8",
      "tree": "7f65dbe0d8b496541782f55b8682fdb01a03c08a",
      "parents": [
        "7919fa2c33b1fa7f5e49b2188d671bfe519c231e",
        "364a2677c862af64f21b41dd3ab1b9e5c68b4ce0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 28 09:47:36 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 28 09:47:41 2013 -0700"
      },
      "message": "resolved conflicts for merge of 364a2677 to master\n\nChange-Id: I21f23c1c5e4408c24c359bef6270dffce47a988d\n"
    },
    {
      "commit": "a691ff3c03e38e148bbefed35ebb15e552a12613",
      "tree": "e40a419e636ccc48551c5810887e872b5ac9ee44",
      "parents": [
        "209bbbcf4190231f9dede758cbe77d109919f9f1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 26 18:23:23 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 27 15:00:26 2013 -0700"
      },
      "message": "Camera2/3: Don\u0027t allow recording and callbacks to coexist.\n\n- Tear down conflicting streams when necessary.\n\n- Shut down callbacks if recording starts\n\n- Do not allow callbacks to start if recording is active\n\nPer the current camera API, recording and preview callbacks cannot be\nactive simultaneously. However, the framework did not explicitly\ndisallow this, and in fact left the streams configured once they were\ncreated, even if switching between the two operational modes.\n\nIn addition, no guards existed for trying to enable both recording and\ncallbacks at the same time.\n\nBug: 9423825\n\nChange-Id: I7d6e6114c2e14fcfb5299b4c72ad557895cbf4b8\n"
    },
    {
      "commit": "d44ffc822be382791327c45aec2e812fe66981ce",
      "tree": "def466e442e0e27274fe5a66f27f95f934ec4239",
      "parents": [
        "b68fc2639e5eeacc47dcff1371a106ae9589bf89",
        "98e24724fb77445d4d015a5fec4ecbd5b49abc9b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 25 00:38:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 25 00:38:04 2013 +0000"
      },
      "message": "Merge changes I5b2eeab2,I71568560\n\n* changes:\n  Make android.hardware.photography.Camera work on HAL3+ devices\n  Initial implementation of android.hardware.photography.CameraDevice (service)\n"
    },
    {
      "commit": "98e24724fb77445d4d015a5fec4ecbd5b49abc9b",
      "tree": "0cb728e66991da37489bac60fd1ac9870c4d095d",
      "parents": [
        "e7ee7637747371635a85fedd24d2190bb1f38651"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 19 19:51:04 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 20 20:31:36 2013 -0700"
      },
      "message": "Make android.hardware.photography.Camera work on HAL3+ devices\n\nBug: 9213377\nChange-Id: I5b2eeab28985f53dfcb7b8e3029930f5adcd74f5\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": "e8fdbae47bf5793124f244c684ed597ebb78d3f5",
      "tree": "430c2be698878f8441d3512cb345b10a1ea92639",
      "parents": [
        "30755ddfd36849a0be87fee5da849f161a45a8a6"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Thu Jun 20 17:55:00 2013 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Thu Jun 20 17:55:00 2013 -0700"
      },
      "message": "camera2/3: Warn on missing active array size parameters\n\nChange-Id: I752659e1f0522392b902839cd7f4d997dcd85966\n"
    },
    {
      "commit": "b3570568b3f37b3f7018257ece53cbc009b91407",
      "tree": "15e3dc42fe9e5b15496dd80b2691fc603f8a01cc",
      "parents": [
        "078a540525f86517aefa4afc56e12fbd74e3823d",
        "9c8714daaf6a402abd85557e9b652c86f0df86e4"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 19 14:25:08 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 19 14:25:08 2013 -0700"
      },
      "message": "am 9c8714da: am e6478de7: Camera2/3: Avoid shutdown race in callback processor.\n\n* commit \u00279c8714daaf6a402abd85557e9b652c86f0df86e4\u0027:\n  Camera2/3: Avoid shutdown race in callback processor.\n"
    },
    {
      "commit": "e6478de72a8ae1d3abb3e8c20898977c45354a4f",
      "tree": "9a4d51e3ba03c3d4de9d43598f32e9961e6d0fe0",
      "parents": [
        "241b52798809d8db3d369af05ace1f73f723f29b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 19 08:42:17 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 19 08:42:17 2013 -0700"
      },
      "message": "Camera2/3: Avoid shutdown race in callback processor.\n\nIt\u0027s possible, during shutdown, for callback processor\u0027s heap to be\ndestroyed when it\u0027s about to send the callback back to the user.\nProperly copy the heap reference to a local variable before unlocking\nthe mutex.\n\nBug: 9485959\nChange-Id: I301347b77145f19c7ac721b9127dc74f122acce2\n"
    },
    {
      "commit": "078a540525f86517aefa4afc56e12fbd74e3823d",
      "tree": "e88a3af597f0d48b355ff01ec970921445e23346",
      "parents": [
        "0063bbff7db6096a877deaaf48787ca78a3a37c8",
        "bda5d1f2a34f9b7ded0bc0441be4856e78ec066c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 17 16:29:19 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 17 16:29:19 2013 -0700"
      },
      "message": "am bda5d1f2: am 241b5279: Camera3: Power: Properly shut down unused thread.\n\n* commit \u0027bda5d1f2a34f9b7ded0bc0441be4856e78ec066c\u0027:\n  Camera3: Power: Properly shut down unused thread.\n"
    },
    {
      "commit": "241b52798809d8db3d369af05ace1f73f723f29b",
      "tree": "882168e7655983199dc6c31544965abf7628b6ce",
      "parents": [
        "26bc908b3dafb5d80f092a22c5c71116526eae06"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 17 13:29:16 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 17 13:29:16 2013 -0700"
      },
      "message": "Camera3: Power: Properly shut down unused thread.\n\nBug: 9466221\nChange-Id: I9ed0740561b2e04954eebc1b8aec89cfab40a3a0\n"
    },
    {
      "commit": "8147a6ddfd54079ef89f90bf2b5ed3ab6f59bbc0",
      "tree": "09627f85c733f844af02daed570a8c3a35ff1087",
      "parents": [
        "c0c13c0cd4d21877e1de6a83504c1804a90c149f",
        "0cc754918a3c1353164ccc5798f63b28f65db406"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 14 09:11:21 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 14 09:11:21 2013 -0700"
      },
      "message": "am 0cc75491: am 26bc908b: Camera2/3: Make sure to wait for idle after still capture.\n\n* commit \u00270cc754918a3c1353164ccc5798f63b28f65db406\u0027:\n  Camera2/3: Make sure to wait for idle after still capture.\n"
    },
    {
      "commit": "c0c13c0cd4d21877e1de6a83504c1804a90c149f",
      "tree": "d863ca21a29251867ac20321ae96215735b52156",
      "parents": [
        "224309a0f21e37d58fa62ed2aef8b444421cdc0f",
        "e4a453d4b7563d1dab674df6ce52c291e63c6ca7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jun 14 09:11:20 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 14 09:11:20 2013 -0700"
      },
      "message": "am e4a453d4: am 214a17fd: Camera3: Always close HAL device even in face of errors.\n\n* commit \u0027e4a453d4b7563d1dab674df6ce52c291e63c6ca7\u0027:\n  Camera3: Always close HAL device even in face of errors.\n"
    },
    {
      "commit": "26bc908b3dafb5d80f092a22c5c71116526eae06",
      "tree": "ebbd8e95bd3d1bb5ac73d8dcb6fbcdd2d412d653",
      "parents": [
        "214a17fd37ef85fc841d3157b1e9096e1aa1b42f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 13 18:04:28 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 13 18:04:28 2013 -0700"
      },
      "message": "Camera2/3: Make sure to wait for idle after still capture.\n\nWhile this wait should be immediate, it\u0027s important to guarantee\nthat preview is stopped when takePicture completes, and that the\ndevice knows itself to be idle.\n\nBug: 9413025\nChange-Id: I1c151ba920e226107ee048918187364990f444c0\n"
    },
    {
      "commit": "a28a10c618e90db32e5ebf4927484fdcbda89840",
      "tree": "ea9408b959e79e2cb14e9ba6947106e7b2348049",
      "parents": [
        "04411d3ed343added179703837c6c24444acce3b",
        "03e6579fc8d853ab6dd6b8ece10ebf4d434b1e17"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Thu Jun 13 23:15:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 13 23:15:59 2013 +0000"
      },
      "message": "Merge \"camera2: accept 4-value active array size\""
    },
    {
      "commit": "03e6579fc8d853ab6dd6b8ece10ebf4d434b1e17",
      "tree": "97f3e34bc695fa60e14bf9857afedc9749f7f187",
      "parents": [
        "52b943e8036aa6ebd15131820d196fedb321613d"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Thu Jun 13 11:22:47 2013 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Thu Jun 13 13:15:14 2013 -0700"
      },
      "message": "camera2: accept 4-value active array size\n\nChange-Id: Ia320a022b201a938a025efc30a54c05fcfe5b02f\n"
    },
    {
      "commit": "214a17fd37ef85fc841d3157b1e9096e1aa1b42f",
      "tree": "bb2b77358dd771303a15f320388e4d68104ebb58",
      "parents": [
        "1191454a3a960a1972b0f36e625796c6c1b2c9ca"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 13 12:20:02 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 13 12:20:02 2013 -0700"
      },
      "message": "Camera3: Always close HAL device even in face of errors.\n\nTo improve robustness, make sure the HAL device instance is always\nclosed, even if it cannot be put into the IDLE state.\n\nBug: 9414167\nChange-Id: I8e7035ff0afe7214951f9824e561b340cb37592e\n"
    },
    {
      "commit": "04411d3ed343added179703837c6c24444acce3b",
      "tree": "35ee8d5a224ee9ffff2e69238666535beb254aa7",
      "parents": [
        "2b5f8f451d5459b17a7a99637f99a950fd74cc96",
        "ccc366a90fdd8d9df5de27820f04bc534d122c07"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 13 10:43:49 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 13 10:43:49 2013 -0700"
      },
      "message": "am ccc366a9: am 1191454a: Merge \"Camera3: Skipping no-ops good, not updating state machine bad.\" into jb-mr2-dev\n\n* commit \u0027ccc366a90fdd8d9df5de27820f04bc534d122c07\u0027:\n  Camera3: Skipping no-ops good, not updating state machine bad.\n"
    },
    {
      "commit": "2b5f8f451d5459b17a7a99637f99a950fd74cc96",
      "tree": "7050d51f9bf6bebbc976c3766a017934d9e173eb",
      "parents": [
        "bb398a6394dfddc69559cbc62da24571af976fff",
        "4541531a6e64329764ad7359775689a8f5aca165"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 13 10:43:48 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 13 10:43:48 2013 -0700"
      },
      "message": "am 4541531a: am c4a8d2dd: Merge \"Camera2/3: Create JPEG stream unconditionally.\" into jb-mr2-dev\n\n* commit \u00274541531a6e64329764ad7359775689a8f5aca165\u0027:\n  Camera2/3: Create JPEG stream unconditionally.\n"
    },
    {
      "commit": "1191454a3a960a1972b0f36e625796c6c1b2c9ca",
      "tree": "b0a2c6fb33299aaa7b4e261ac1af2737cbb186a9",
      "parents": [
        "c4a8d2ddfff6d91e493692251733f20ece3e713d",
        "31fdb29c9f5569fff20756ef1240120817993660"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 13 17:33:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 13 17:33:20 2013 +0000"
      },
      "message": "Merge \"Camera3: Skipping no-ops good, not updating state machine bad.\" into jb-mr2-dev"
    }
  ],
  "next": "c4a8d2ddfff6d91e493692251733f20ece3e713d"
}
