)]}'
{
  "log": [
    {
      "commit": "cb66d22f2e3727ca858bb578c1d18956da1a9c2b",
      "tree": "daf3b2710f6d52e230f5b42d1ec7cc2df65d8750",
      "parents": [
        "2637cb172105939052d8a02f4eea693a90549518",
        "8a3016613dc684a6be11fdf643f9cc5cad817e8f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 14 11:14:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 14 11:14:29 2012 -0700"
      },
      "message": "Merge \"Camera2: Use FORMAT_ZSL until transition to new gralloc scheme.\" into jb-mr1-dev"
    },
    {
      "commit": "896adcd3ae6a1c7010e526327eff54e16179987b",
      "tree": "8c999b21698b1b7b45ac1d290ef3c64c808f380d",
      "parents": [
        "4362f5300162ed55f56cf167eccf7f2e5b89d435"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 13 11:18:23 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 13 17:03:00 2012 -0700"
      },
      "message": "audioflinger: send priority request from a thread\n\nWhen creating a fast AudioTrack, a request is sent to SchedulingPolicyService\nto elevate the requesting thread priority. This generates a binder\ncall into system_server process and to a JAVA service via JNI.\nIf the thread from which the track was created is in the system_server\nprocess and does not have the \"can call java\" attribute, a crash occurs because\nthe binder optimization reuses the same thread to process the returning binder\ncall and no JNI env is present.\n\nThe fix consists in sending the priority change request from the AudioFlinger\nmixer thread, not from the binder thread.\n\nThis also reverts the workaround in commit 73431968\n\nBug 7126707.\n\nChange-Id: I3347adf71ffbb56ed8436506d4357eab693078a3\n"
    },
    {
      "commit": "8a3016613dc684a6be11fdf643f9cc5cad817e8f",
      "tree": "bffddba5ecc9040f07ae0a465cb7a1da5a31e6a8",
      "parents": [
        "66466087f464b641c8c09b195891a9713a554900"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 13 16:29:45 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 13 16:43:35 2012 -0700"
      },
      "message": "Camera2: Use FORMAT_ZSL until transition to new gralloc scheme.\n\nUntil all HAL implementations move to the new format negotiation\nscheme, use CAMERA2_HAL_PIXEL_FORMAT_ZSL to indicate ZSL mode.\n\nBug: 6243944\nChange-Id: Idf5d9f42e203903ba906d5df156100646b27404c\n"
    },
    {
      "commit": "4362f5300162ed55f56cf167eccf7f2e5b89d435",
      "tree": "5d7fe2df5bd8f2797e0dc2bf4dd66f658cf4d972",
      "parents": [
        "66466087f464b641c8c09b195891a9713a554900"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 13 11:44:00 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 13 12:02:15 2012 -0700"
      },
      "message": "Handle audio HAL returning 0 bytes in record thread\n\nEnter standby when HAL returns an error, but also consider 0 bytes\n  returned as NOT_ENOUGH_DATA.\n\nChange-Id: Ica83142310e9c176f936e0440571a6034cbc575f\n"
    },
    {
      "commit": "f4bca03d996b584030a80268f58cdb29dc7b7cde",
      "tree": "22c841ecba137d0d8928d780f661ca051111d591",
      "parents": [
        "dca352880e210e0ca0ff39de074540d3640ecfab",
        "52762410dbc9189cd92a4094a1dbd4cfe8e71cb6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 13 09:37:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 13 09:37:39 2012 -0700"
      },
      "message": "Merge \"Don\u0027t deadlock on AudioRecord start when reads return 0\" into jb-mr1-dev"
    },
    {
      "commit": "52762410dbc9189cd92a4094a1dbd4cfe8e71cb6",
      "tree": "8855f9e7af9e1e3aaec7e9f3c3550bf56425e8be",
      "parents": [
        "359cf1cac2a7851a59dfe4960a1a5992ac6fdb84"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 12 18:48:33 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 12 19:40:30 2012 -0700"
      },
      "message": "Don\u0027t deadlock on AudioRecord start when reads return 0\n\nWhen calling start() on an AudioRecord with a HAL that\n returns 0 on a read() operation, the start blocking\n condition was never unblocked.\nAdd a boolean to track the first read operation so the returned\n number of bytes (mBytesRead) is only evaluated after that\n first read.\n\nChange-Id: I8c735a00d48cd6a0da467ccdf75d3616b38f6afa\n"
    },
    {
      "commit": "bdde5f884eaf270ab4b806849f3122a46cd872ce",
      "tree": "beacea0f676d48325e2d9ae6cb63b44debfc9474",
      "parents": [
        "359cf1cac2a7851a59dfe4960a1a5992ac6fdb84"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Sep 12 10:42:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 12 17:57:53 2012 -0700"
      },
      "message": "Camera2: Fix ZSL bugs.\n\nThe ZSL processor was discarding buffers too often, and waiting for\nnew buffers with mutexes held.\n\nAlso adds basic fallback to regular capture in case the ZSL queue\ndoesn\u0027t contain a suitable buffer.\n\nBug: 7147043\n\nChange-Id: I5721267ef08dbc87ef9d8ec47f333db5f67e41c1\n"
    },
    {
      "commit": "d067489a23640a107e0a86f6de9b467d509deb36",
      "tree": "1d5747c516a468d2d0400668c12f3a722a403a7e",
      "parents": [
        "2552036ac67472411082d894eb6e11623799d277",
        "6e4db898bac9499a8abe7e6b6fbf729b78f6bd68"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 11 18:25:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 18:25:28 2012 -0700"
      },
      "message": "Merge \"Camera2: Use full pixel array for ZSL stream\" into jb-mr1-dev"
    },
    {
      "commit": "2552036ac67472411082d894eb6e11623799d277",
      "tree": "abe704fb221410c7b00c5fa1a20c02556f2b5e16",
      "parents": [
        "64d6c687e75b93c0c8372ed3807e1bb68c1f09ed",
        "b075252349a4b40ddda791f2e1221ae0ce7e4cd1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 11 18:25:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 18:25:18 2012 -0700"
      },
      "message": "Merge \"Camera2: Configure ZSL at the right time.\" into jb-mr1-dev"
    },
    {
      "commit": "6e4db898bac9499a8abe7e6b6fbf729b78f6bd68",
      "tree": "a41151546883ccef2b79f21f2bc7a61d61cf1ac9",
      "parents": [
        "b075252349a4b40ddda791f2e1221ae0ce7e4cd1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 11 17:23:48 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 11 17:23:48 2012 -0700"
      },
      "message": "Camera2: Use full pixel array for ZSL stream\n\nFor efficiency, use full pixel array size for the ZSL output/input\nstreams, instead of the final picture size.\n\nBug: 7139362\nChange-Id: I98ad4f5a1ca283efe87ae60bf0cf39573e22d2f3\n"
    },
    {
      "commit": "b075252349a4b40ddda791f2e1221ae0ce7e4cd1",
      "tree": "361474f7746df1de6708d489e2adcfa83f1ebdde",
      "parents": [
        "14fe42d8d8d622f6fcdbd83df5f3932e24cd896e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 11 16:51:32 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 11 16:51:32 2012 -0700"
      },
      "message": "Camera2: Configure ZSL at the right time.\n\nZSL enable was too early in the camera startup sequence, resulting it\nbeing turned off most of the time.\n\nBug: 7148012\nChange-Id: Ie144dd960d018a34b0bc77c88208ca22b7112772\n"
    },
    {
      "commit": "b063cb62ab371cced17a6288ebf54e7e6ca58982",
      "tree": "afb40aea2d55a6ee26ff3e16729ad00ee0e29e16",
      "parents": [
        "831c7139c9c697fa9d537979f35dad6bf414202c",
        "c5268e825d4a513ad857b7944a9f85dc478c1dc6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 11 11:37:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 11:37:18 2012 -0700"
      },
      "message": "Merge \"Camera1: Fix enable shutter sound command error handling.\" into jb-mr1-dev"
    },
    {
      "commit": "c5268e825d4a513ad857b7944a9f85dc478c1dc6",
      "tree": "c754fe71b73142b822c858a5b669c43016898614",
      "parents": [
        "66765846726c02db16a0f024f2217990a90802c0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 11 11:01:18 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 11 11:27:46 2012 -0700"
      },
      "message": "Camera1: Fix enable shutter sound command error handling.\n\nReturn the error codes from calls to enableShutterSound to the caller,\nand don\u0027t call the HAL with the enable shutter sound command.\n\nChange-Id: Ibe4943bd1cd0fcd1832fd904f12dd2f78fec06a5\n"
    },
    {
      "commit": "498a274c188f18049053ef5424b52cc4d9314c80",
      "tree": "d38a387984f71fea51319003e7e722082d6a8d44",
      "parents": [
        "37171b9d1532a7ce26ac02b707bee2fb6f25d0f3",
        "fe3156ec6fd9fa57dde913fd8567530d095a6550"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Sep 11 10:33:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 10:33:29 2012 -0700"
      },
      "message": "Merge \"Communicate audio session ID to downmixer\" into jb-mr1-dev"
    },
    {
      "commit": "fe3156ec6fd9fa57dde913fd8567530d095a6550",
      "tree": "2c4b8250d0089a7d9f396d40005f4fefd95f46f3",
      "parents": [
        "66765846726c02db16a0f024f2217990a90802c0"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 10 18:58:27 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 10 18:58:27 2012 -0700"
      },
      "message": "Communicate audio session ID to downmixer\n\nThe audio downmixer effect might need the audio session Id, pass it\n from the track creation in AudioFlinger to the downmix effect\n creation in AudioMixer.\n\nChange-Id: I5e29540542ae89cf4a0cdb537b3e67f04442a20a\n"
    },
    {
      "commit": "14fe42d8d8d622f6fcdbd83df5f3932e24cd896e",
      "tree": "38b8cde14341734c11cd45fff5c0cb826f23d417",
      "parents": [
        "47512a7da600ababdfd052b574488b9e499c22f6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 16:07:03 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 16:07:03 2012 -0700"
      },
      "message": "Camera2: Temporarily stop pre-allocation of recording stream.\n\nWhen recordingHint is set, don\u0027t pre-allocate recording stream on\npreview start.\n\nBug: 7137947\nChange-Id: I06b5f6d7dbb21d4d0747974ba001b0c8929a0b02\n"
    },
    {
      "commit": "47512a7da600ababdfd052b574488b9e499c22f6",
      "tree": "420a5bf7b929c78628d915fc8bbfa97858d34941",
      "parents": [
        "66765846726c02db16a0f024f2217990a90802c0"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 13:30:43 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 13:30:43 2012 -0700"
      },
      "message": "Camera2: Clean up the right streams.\n\nChange-Id: I780c3e8e255f6a185e0edf1d76f35afdc74dff48\n"
    },
    {
      "commit": "61c0cc6af2c64d280bcfc1fcca3e3589172a5817",
      "tree": "13b9c3d7cf3f5ca9c4402e21529a5b0b3bf0b554",
      "parents": [
        "4a02cc818607c0c145f91c3acb9181868a108f26"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 07 14:26:29 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 10:15:21 2012 -0700"
      },
      "message": "Camera2: Use face priority scene mode when face detect is enabled.\n\nPer API specs, enabled face detection implies that metering, etc is\ndone based on faces.\n\nBug: 6243944\nChange-Id: Ie35162226d70cc0f437e92e37be138e71e45e738\n"
    },
    {
      "commit": "4a02cc818607c0c145f91c3acb9181868a108f26",
      "tree": "8a50d9cd82ba073a38bb9496f12cec4675cc625d",
      "parents": [
        "fd48021dfc3278b048ba99ecffe7f996751fb440"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 09:53:09 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 09:53:09 2012 -0700"
      },
      "message": "Camera2: Sanity check inputs better.\n\nBug: 7132141\nChange-Id: I866a65dfe47464070a6ef4ac60be4801cb68327b\n"
    },
    {
      "commit": "6ce3d19cd35a49add6893298f70b87917fc60d52",
      "tree": "b1ae5af7b71b74f432d25d8320962513edb53c3b",
      "parents": [
        "888f63bcde37347061de1aabb1b7febb2eca0875",
        "1ab212cf5cfa5b88c801840e11e3191cd10f48e4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Sep 09 09:52:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 09 11:54:29 2012 -0700"
      },
      "message": "Merge \"Add outlier statistics for fast mixer cycle times\" into jb-mr1-dev"
    },
    {
      "commit": "10894e509f777c6bd7e408a57f5cf21ee2b36a96",
      "tree": "4d650ebd8520b372ffa95681dd59e5e8d14a82d2",
      "parents": [
        "e538206d15282afbc5b168d60b1026a5dfcd13c0"
      ],
      "author": {
        "name": "James Painter",
        "email": "jpainter@google.com",
        "time": "Fri Sep 07 16:36:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 16:37:50 2012 -0700"
      },
      "message": "Fix build\n\nChange-Id: Ia4bebc4ecc850b42ebd4edd1ffed07e9bc2ec300\n"
    },
    {
      "commit": "e538206d15282afbc5b168d60b1026a5dfcd13c0",
      "tree": "5126c4ce62340021498d68c43e0de7ddb11303e1",
      "parents": [
        "7ac783252ef682abddd083104ab06619d82ac52f"
      ],
      "author": {
        "name": "James Painter",
        "email": "jpainter@google.com",
        "time": "Wed Sep 05 18:02:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 16:28:00 2012 -0700"
      },
      "message": "Camera2: Add a burst mode skeleton.\n\nBug: 6243944\nChange-Id: I7f496ca1051571c68fdd99a6f85bf6a908a4e29a\n"
    },
    {
      "commit": "85396642425b94ec33aa26f27e109353e3516ec4",
      "tree": "cca1653ca3c4c7ba53d3aaa724369504dcb71e1e",
      "parents": [
        "1adbb8c35b721e1a29f8e2e2a5341ae0b1f067ba",
        "f1c04f952916cf70407051c9f824ab84fb2b6e09"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 07 14:53:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 14:53:07 2012 -0700"
      },
      "message": "Merge \"audioflinger: changes for new audio devices enums\" into jb-mr1-dev"
    },
    {
      "commit": "1ab212cf5cfa5b88c801840e11e3191cd10f48e4",
      "tree": "247292feb5fe019488a87ff64926643fa84e766e",
      "parents": [
        "d06ab147394b0b49679c924a51d77c91dea04d82"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 07 12:58:38 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 07 12:58:38 2012 -0700"
      },
      "message": "Add outlier statistics for fast mixer cycle times\n\nChange-Id: I31c964caeb8b5d9ae0a426224f030cdcb01114a0\n"
    },
    {
      "commit": "1c7ff022a91e4f966c23dcf11f6859c69c08841a",
      "tree": "5c42fa9c79ae6726dbb522220c5cf6ea081970ee",
      "parents": [
        "5a4f93eaaab7518fd734fdc9f0f686d632f31a59",
        "161fac83b369f4873859a101b6a71efeb596bd4a"
      ],
      "author": {
        "name": "Alexander Ray",
        "email": "aray@google.com",
        "time": "Fri Sep 07 12:35:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 12:35:10 2012 -0700"
      },
      "message": "Merge \"Camera2: Increase zoom steps.\" into jb-mr1-dev"
    },
    {
      "commit": "5a4f93eaaab7518fd734fdc9f0f686d632f31a59",
      "tree": "8e12c208af257f2afede082348858fe66c70a9b0",
      "parents": [
        "cf70d3469332445dc3ffd09729da3538612b1bb2"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 29 18:06:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 11:27:29 2012 -0700"
      },
      "message": "Camera2: Use the recordingHint parameter.\n\nUse recordingHint to create recording and still capture streams up\nfront, and to use the recording template when doing preview.\n\nBug: 6243944\n\nChange-Id: Ifeb624794849f734784b53a1a10ff2bfe8f1a357\n"
    },
    {
      "commit": "cf70d3469332445dc3ffd09729da3538612b1bb2",
      "tree": "4ac2a85cbacf109672c49bcf30a7b6fe4bf976a9",
      "parents": [
        "2d1ef1371db8b202b693f1657f56824f9af8d565"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Sep 05 19:02:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 11:20:03 2012 -0700"
      },
      "message": "Camera2: Delete all streams and stop all threads during shutdown.\n\nBug: 6243944\nChange-Id: If13a1f91e8a07c1ec4f91183d1a4b261ec4f6d52\n"
    },
    {
      "commit": "f1c04f952916cf70407051c9f824ab84fb2b6e09",
      "tree": "8dba2d679bf308d534c51ea5067ba6d8f4f81f25",
      "parents": [
        "261fd2119c70fda3af64453881a6346dd48eb956"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 28 14:26:53 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 07 10:32:00 2012 -0700"
      },
      "message": "audioflinger: changes for new audio devices enums\n\nThe ThreadBase class now has a separate member for input\nand output devices (mInDevice, mOutDevice).\n\nOnly query get_supported_devices() from audio HAL if the function\nis exposed and if the audio policy manager did not specify the\naudio module to open.\n\nAlso fixed bug in AEC preprocessing that would reset\nto default output device when an input device was given.\n\nChange-Id: I19d4d06aeb920b068e3ef31e6e6be6345ce5d67a\n"
    },
    {
      "commit": "609acc0c96bc2aedd42246862b537e045f5184b6",
      "tree": "5b299a07edc39b1bb0e4a88a14a16c5b07ab8807",
      "parents": [
        "d06ab147394b0b49679c924a51d77c91dea04d82"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 06 18:26:58 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 06 18:31:58 2012 -0700"
      },
      "message": "Camera2: Play shutter and recording sounds.\n\nBug: 6987540\n\nChange-Id: Icd441a757c4b68fc4988b3bfbef428adb8d1ba28\n"
    },
    {
      "commit": "161fac83b369f4873859a101b6a71efeb596bd4a",
      "tree": "4e0410a36956108aeb9941bf3b6f4eb43cd786c8",
      "parents": [
        "d06ab147394b0b49679c924a51d77c91dea04d82"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 06 18:08:16 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 06 18:08:16 2012 -0700"
      },
      "message": "Camera2: Increase zoom steps.\n\n10 is too low for smooth zoom; increase number to improve smoothness.\n\nBug: 7120794\nChange-Id: I178cd3890ef37beeff97cadb9e92ceab6d2cad06\n"
    },
    {
      "commit": "d06ab147394b0b49679c924a51d77c91dea04d82",
      "tree": "4c033165d8a07e19112a77a750ae0ed381ff8c03",
      "parents": [
        "2e5f22e85d177b34e790f832789d03aee438a7db",
        "57b2dd1e78af53115985f18d31ec5421c9da947e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 06 18:04:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 06 18:05:00 2012 -0700"
      },
      "message": "Merge \"AudioFlinger: send audio source to audio effects\" into jb-mr1-dev"
    },
    {
      "commit": "96150cfc6b9ae93b6c4b60b5c7889a7a90af5def",
      "tree": "49fa47b9f4d9d1c7e3631271f1761ce6a32de143",
      "parents": [
        "da6665cbd06ca58d3357c3002b7366d13e23f152"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 03 10:03:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 06 11:42:12 2012 -0700"
      },
      "message": "Camera2: Move locked states out of AE/AWB mode\n\nBug: 6243944\n\nChange-Id: I7b609cc6c04c957d1f48c1a996263fa9c7b94000\n"
    },
    {
      "commit": "da6665cbd06ca58d3357c3002b7366d13e23f152",
      "tree": "cd21bb829ac6174620b9d1028d9822a054c0ffe3",
      "parents": [
        "49c74da132fe42dd4d2066131f8f0e2df301c1dd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 29 17:37:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 06 10:38:22 2012 -0700"
      },
      "message": "Camera2: Basic ZSL and precapture trigger support.\n\n- Add capture sequencer to control still image capture process\n- Use precapture trigger for standard capture in sequencer\n- Add infrastructure for reprocessing streams\n- Add ZSL processor to maintain ZSL queue\n- Add ZSL capture sequence to sequencer\n\nThis patch sets up ZSL mode and precapture triggers.\n\nFor now, to enable zsl mode, set the system property camera.zsl_mode\nto 1.\n\nBug: 6243944\n\nChange-Id: Icf8cb1a83a7c11a152a11007c8f3c54f8ea1c70c\n"
    },
    {
      "commit": "6638f3bd61df1e5d012bc600b7af4c1b4dd4a06b",
      "tree": "d85852960e73653060c9a1dc07a9678e4600fddd",
      "parents": [
        "0d268a3cae145afb2720c88ae38fb81550be5584"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 05 16:46:36 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 05 16:48:18 2012 -0700"
      },
      "message": "Fix an issue where the \"mFrameCount\" field was accessed without its containing object\n\nChange-Id: I6077b61b3e718b9b44ff86ca669a59f96b0b256f\n"
    },
    {
      "commit": "57b2dd1e78af53115985f18d31ec5421c9da947e",
      "tree": "5126e9e885cbd74e57978b1d5ecfa9c29d61c510",
      "parents": [
        "092fe44abd787fcb4377d90c63f2aa7120a4d267"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 31 17:44:06 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 31 18:44:28 2012 -0700"
      },
      "message": "AudioFlinger: send audio source to audio effects\n\nAdded support for EFFECT_CMD_SET_AUDIO_SOURCE audio effect\ncommand to inform preprocessings of current audio source\nselection for capture.\n\nChange-Id: Ib2418a9aa8114e8457fe828ecd43b230ed86cdd6\n"
    },
    {
      "commit": "092fe44abd787fcb4377d90c63f2aa7120a4d267",
      "tree": "802a20db19e8f4a051b6612072ba6884dec4cce0",
      "parents": [
        "6bcdca035d4e9f7b2aee2d3febd8e2df5f57ae6f"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenw@quicinc.com",
        "time": "Fri Aug 31 10:24:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 11:27:02 2012 -0700"
      },
      "message": "Camera: set vendor_ops on camera metadata.\n\nThis makes sure that vendor specific metadata can propogate through\nthe framework.\n\nChange-Id: I3bd0ae4b889eb907caf7b305dbcb16abbbef0ea3\n"
    },
    {
      "commit": "c3ae93f21280859086ae371428ffd32f39e76d50",
      "tree": "542d16fac64eb1f6e40c32517d60c2da5078e900",
      "parents": [
        "c9936c72c128a4a9288424fb082d7e7fe4b9b91f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 30 10:59:30 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:31:00 2012 -0700"
      },
      "message": "Update audio comments\n\nChange-Id: Ie7504d0ddb252f7e4d4f99ed0b44cfc7b1049816\n"
    },
    {
      "commit": "7aa25591769685ae0e8349b3ca3534c724484375",
      "tree": "366da12832fc0b0033ac79a456eac6ca8acdb9f0",
      "parents": [
        "b9cba9b731195d4387ee21b7e9ba1137a3cfda68"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 02 16:37:07 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:18:16 2012 -0700"
      },
      "message": "Remove dead code\n\nRecordThread::isValidSyncEvent() returns false, so most of\nRecordThread::setSyncEvent() is never executed.\n\nChange-Id: I0cf848beb46a367a45126d2df3073c5afa2ca59c\n"
    },
    {
      "commit": "b9cba9b731195d4387ee21b7e9ba1137a3cfda68",
      "tree": "6ee03e2fc8309bd045aed42bac69d8107ac0c2fd",
      "parents": [
        "cba53fbdaa723322f7157a4890feab776beae13e",
        "2dd4bdd715f586d4d30cf90cc6fc2bbfbce60fe0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:05:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 15:05:01 2012 -0700"
      },
      "message": "Merge \"Move libnbaio out of AudioFlinger\" into jb-mr1-dev"
    },
    {
      "commit": "2dd4bdd715f586d4d30cf90cc6fc2bbfbce60fe0",
      "tree": "d0f594b402b6d2a4de89386c30c3db4adab89894",
      "parents": [
        "0a24726a64ba1c50aa6ee1610de2d80602d49fe6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 29 11:10:32 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 10:53:37 2012 -0700"
      },
      "message": "Move libnbaio out of AudioFlinger\n\nlibnbaio is now a separate shared library from AudioFlinger, rather\nthan a static library used only by AudioFlinger.\n\nAudioBufferProvider interface is now also independent of AudioFlinger,\nmoved to include/media/\n\nChange-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b\n"
    },
    {
      "commit": "f128dc51c81e6b831806e0de505e4edbb02b7e71",
      "tree": "e394875bf4bc23a5bc1d34d814d2236c1f4861a3",
      "parents": [
        "d86a6880fe86bda21a9b53b240996fc410a512a5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 13:38:23 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:50:42 2012 -0700"
      },
      "message": "Camera2: Require 2 JPEG thumbnail resolutions.\n\nInclude (0,0) as a required thumbnail resolution, to allow turning off\nthumbnails.\n\nChange-Id: I3c4efe2d6a4f576a11ce5b75a3d573812a100b80\n"
    },
    {
      "commit": "d86a6880fe86bda21a9b53b240996fc410a512a5",
      "tree": "ab4ccaba3c5ba600dd273fb2fa310ea21407ae91",
      "parents": [
        "ea0d51b5ed0b474433b02414f9133b835f972569"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 11:34:14 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:50:42 2012 -0700"
      },
      "message": "Camera2: Move preview callback processing to its own thread.\n\nTo reduce delays for HAL callbacks, manage preview callbacks in their\nown thread.\n\nBug: 6243944\nChange-Id: I7bef56949ac889ffce4e031bf40291a771a46f3e\n"
    },
    {
      "commit": "ea0d51b5ed0b474433b02414f9133b835f972569",
      "tree": "66b873f5a3c2834a54a2ec16018bc6b6d2505206",
      "parents": [
        "6524b7e1e6aae7dc1fe650119ec4bcf96b5a3f6b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 01:25:43 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:50:41 2012 -0700"
      },
      "message": "Camera2: Move still capture processing to separate thread.\n\nTo avoid stalling HAL when it queues up new buffers for still capture,\nprocess still captures in a separate thread. Also move Camera2Heap to\nits own class so it can be used by the CaptureProcessor.\n\nBug: 6243944\nChange-Id: Id38e2a52367c0985812fcd4fd9af3ef90beef43f\n"
    },
    {
      "commit": "a16733eeb9c40db4793bec408f29b4204e5f23b1",
      "tree": "2d6be1f74599089be1d4d778d02c45c50eec8494",
      "parents": [
        "2e19c3c02957208371cdd491e6342ea7ddb440d9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 23:41:56 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 14:45:07 2012 -0700"
      },
      "message": "Camera2: Factor out FrameProcessor.\n\nMove FrameProcessor to its own file, add necessary interfaces to\nCamera2Client.\n\nBug: 6243944\nChange-Id: I8d1b8280a65d2822461ebe6b6c9de17992b34276\n"
    },
    {
      "commit": "2e19c3c02957208371cdd491e6342ea7ddb440d9",
      "tree": "ba960541c34212c11b10980f06e3afec8af35968",
      "parents": [
        "2352a815fe99a00702dd00c5d1c6cfdfadba10fd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Aug 26 09:29:28 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 01:29:02 2012 -0700"
      },
      "message": "Camera2: Factor out Camera2Client::Parameters\n\nMove the parameter structure and the various utility methods using it\nto its own class. Rename LockedParameters to SharedParameters to match\nthe Mutex naming convention.\n\nAlso move CameraMetadata to camera2 directory for organization.\n\nNo functional changes.\n\nBug: 6243944\nChange-Id: Ie60b535936ecfda9bf23361d52604abf515c83d0\n"
    },
    {
      "commit": "f17b6cf6aa7548ca82e7fed96d71db7821103e57",
      "tree": "708a7173885143204487ce9b3b32d08df88ab34a",
      "parents": [
        "c8474b68e435cd840ba66791fb09e3da59f1d93c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Aug 25 17:12:18 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 09:56:20 2012 -0700"
      },
      "message": "Camera2: Fix metering/focusing region coordinates, minor bugs\n\n- Use active pixel array-based coordinates instead of the normalized\n  camera API coordinates for ae/awb/af regions\n- Fix calculation of UV stride for YV12 format\n\nBug: 6243944\nChange-Id: I80cbd989858b0a3cb75c6f536c145e16e44fdb25\n"
    },
    {
      "commit": "c8474b68e435cd840ba66791fb09e3da59f1d93c",
      "tree": "7c5ee6a72015cd28d37e9f564ac0f3a625a2a609",
      "parents": [
        "cab96a4a7a2900fa991ab77ae45ba8d4be97e054"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 24 16:30:44 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 09:56:08 2012 -0700"
      },
      "message": "Camera2: Move frame processing to its own thread.\n\nTo avoid blocking the HAL on possibly long-running binder calls,\nmove frame receiption and processing to its own thread.\n\nBug: 6243944\nChange-Id: I6385be4410b2f68e2331755027afc10c342187cf\n"
    },
    {
      "commit": "cab96a4a7a2900fa991ab77ae45ba8d4be97e054",
      "tree": "3622d5ac476753b4771d63dbd80a15e26f419dea",
      "parents": [
        "690921927f289da73556ea71c28981194af8ffcd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 24 11:29:22 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 09:14:50 2012 -0700"
      },
      "message": "Camera2: Use CameraMetadata wrapper class.\n\nWrap the use of the camera_metadata library inside a CameraMetadata\nclass to avoid memory leaks, improve code clarity, and increase type\nsafety.\n\nBug: 6243944\nChange-Id: I90ca592b5875e27e4c58ea1ca680582dc3c3b56a\n"
    },
    {
      "commit": "0c676cd04ff15cc7eacf6144b4aead6deaccf60c",
      "tree": "aa78389096aa639ab092b38eb2e58db1a2971567",
      "parents": [
        "30e65e7e2ec01e13e45b5e38552a34d2fbb3f866"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 22 09:27:41 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 22 09:28:22 2012 -0700"
      },
      "message": "Make tee sink compile OK again\n\nChange-Id: Ie865ceeabaeb698a62c11eac9f96e303c44c28ae\n"
    },
    {
      "commit": "30e65e7e2ec01e13e45b5e38552a34d2fbb3f866",
      "tree": "f028cfdc6fc9d8309a5ba1cb0cb6eb020bbc3964",
      "parents": [
        "76dc8dacbb3e2a8c91cb526293270f9093cf8f8b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 21 13:30:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 17:45:25 2012 -0700"
      },
      "message": "Camera2: Replace MediaConsumer with BufferItemConsumer.\n\nGet rid of MediaConsumer, which was largely duplicated code, and\nreplace it with the simpler BufferItemConsumer.\n\nBug: 6243944\nChange-Id: I242d80c5fe39f2ee581ec8bb46f362997d994b0a\n"
    },
    {
      "commit": "76dc8dacbb3e2a8c91cb526293270f9093cf8f8b",
      "tree": "7d74c6729903711a4506d0cef8eadc252bccf5c6",
      "parents": [
        "cd3ed11664d16939f1f5763a896d7fc75dd3642e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 21 16:09:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 17:41:13 2012 -0700"
      },
      "message": "Camera2: Ignore NOT_FOUND errors for face detect mode on frame receipt.\n\nReduce log spamming due to incomplete implementations.\n\nChange-Id: I6eb9d657591bd5f1476dd8c96e4a00b8a03e2a5e\n"
    },
    {
      "commit": "228a53805808a24cb19fcf13b1f0bdc2ed89bbe1",
      "tree": "96b41c80d1080b83e286d450daf161782fe66627",
      "parents": [
        "3cc89794d92b833feff15ca76dfa196cc886e43f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 13 12:16:06 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 20 16:08:00 2012 -0700"
      },
      "message": "Camera2: Add support for preview callbacks\n\n- Move camera overall state enum to be part of parameters\n- No longer use ICameraLock to guard access to overall state enum\n- Add callback flag management\n- Add callback stream and management\n\nBug: 6243944\n\nChange-Id: Ideb3dc523a23c05e440e429ebf838b1900a96573\n"
    },
    {
      "commit": "3cc89794d92b833feff15ca76dfa196cc886e43f",
      "tree": "d9b54775638b0b4c6aec370485c9bc7f62e14244",
      "parents": [
        "ce088d274b4530fb813a030216d675b0e7262711"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 16 16:03:59 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 16 17:11:01 2012 -0700"
      },
      "message": "Camera2: Fix SCENE_MODE\n\nNow can set scene mode back to auto.\n\nBug: 7001465\n\nChange-Id: Ia25ba54d13de662bef5bf79957987513a7313c18\n"
    },
    {
      "commit": "8ce89d9e2b132bf58a030acec88acf0a998926a1",
      "tree": "00a9c5d1799d3ef29365c5c5596797dadf09a079",
      "parents": [
        "93b68548124ec9b01b9bf4ddf010afa06a503547"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 10 08:40:26 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 14 11:31:27 2012 -0700"
      },
      "message": "Camera2: Skeleton for output frame processing, plus face detect\n\n- Plumbing for processing output metadata frames from the HAL\n- Support for passing face detection metadata from said frames\n  to the application.\n- Switch calls on ICameraClient interface to use separate mutex to\n  avoid deadlock scenarios with messages being communicated from the\n  HAL to the camera user while calls from the user to the service are\n  active.\n\nBug: 6243944\n\nChange-Id: Id4cf821d9c5c3c0069be4c0f669874b6ff0d1ecd\n"
    },
    {
      "commit": "106e8a42038f9e90d5ff97f8ab6f1a42258bde9e",
      "tree": "af631b5e756cf711d5d9d34db2dffe02cf64e7e3",
      "parents": [
        "0dbb356050d0db9e0043dd43045c1864a933332b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 02 13:37:12 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:38:18 2012 -0700"
      },
      "message": "const methods\n\nChange-Id: I92e32ee16274c032c9d0ce910676be2a7fa52471\n"
    },
    {
      "commit": "0dbb356050d0db9e0043dd43045c1864a933332b",
      "tree": "4fe3b2ab60f96691faaaf50f163c92946954e6de",
      "parents": [
        "d23eedca9b5a1812891c05d89850ab7ee707040d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 02 16:36:50 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:35:47 2012 -0700"
      },
      "message": "Simplify AudioFlinger::PlaybackThread::isValidSyncEvent()\n\nChange-Id: I3e4af69b929d4ca04afaac26c7e41c89fce25b9c\n"
    },
    {
      "commit": "d23eedca9b5a1812891c05d89850ab7ee707040d",
      "tree": "9f0c4309ded6a390c49bbe70590ea568a7167307",
      "parents": [
        "a959904968f1d300fe86334bf5099ae2dc39ee28"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 02 13:35:47 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:31:55 2012 -0700"
      },
      "message": "Discard setSyncEvent() return value\n\nsetSyncEvent() returns a status_t which is sometimes ignored.\nEmphasize this is intentional by casting to void.\n\nChange-Id: Ic614988347cba36bd2504d7ad321594a355b0d9d\n"
    },
    {
      "commit": "a959904968f1d300fe86334bf5099ae2dc39ee28",
      "tree": "bf95afcaab7a56642d1bf6b88ad2699eeaf5af04",
      "parents": [
        "bd828233d3eda966bf7145108dde74616abd97fb",
        "3ed292031dc50c56110cdadb1e3778117e3be76a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 13 11:30:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 13 11:30:17 2012 -0700"
      },
      "message": "Merge \"Replace hard-coded \"2\" by a constant and comment\" into jb-mr1-dev"
    },
    {
      "commit": "fcfc61da927e98d18cdcb53da8fa0a8a32ee1422",
      "tree": "7dd8aadcffc35c98504f35d69fe467c0a8e8f397",
      "parents": [
        "7edbacf24e60c01e2d3b10715ec8f9cc2f55c11a",
        "ff4c64d6b1b58494a1b15f1a664e5c421d095d15"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 12:44:02 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 12:44:02 2012 -0700"
      },
      "message": "am ff4c64d6: am c64a1787: Merge \"Fix initialization of audio mixer track resources for MIPS.\"\n\n* commit \u0027ff4c64d6b1b58494a1b15f1a664e5c421d095d15\u0027:\n  Fix initialization of audio mixer track resources for MIPS.\n"
    },
    {
      "commit": "603b12efa16e7afb4e6c75f6b353216c83e8e135",
      "tree": "feb2ae7d5cfc866f62c331db8bc7b63c766b4065",
      "parents": [
        "174181eec57c963a2a17bd156d81c3f18b3ba75c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 08 09:25:58 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 10 09:24:52 2012 -0700"
      },
      "message": "Camera2: Swap AF notification order, minor bug fix.\n\nIn continuous AF modes, when an AF trigger/cancel is received in the\nmiddle of a passive AF scan, we want to send both an AF move stop\ncallback and an AF done callback. Swap the order of sending to\nsimplify life when the app just wants to pay attention to the AF done\ncallback during an active AF trigger.\n\nBug: 6243944\nChange-Id: I127d1675bc37ef828ef89c70b8cfab75f9428a2f\n"
    },
    {
      "commit": "174181eec57c963a2a17bd156d81c3f18b3ba75c",
      "tree": "9eea6b8bf3577f1f24d80b5d37d714fe6374a734",
      "parents": [
        "a59bf2c58311dfc28f46220383d66869e8f3f57f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 03 13:53:39 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 10 09:19:18 2012 -0700"
      },
      "message": "Camera2: Add trigger support, and implement autofocus\n\n- Add skeletons for all triggering actions into Camera2Device\n- Add support for AF triggers to HAL\n- Add support for AF notifications from HAL\n\nBug: 6243944\nChange-Id: I21025440849ae41f7083e1dcb72c99f8e5b2d5f7\n"
    },
    {
      "commit": "31d377b7622279034326fbd8b9803a738a39fb30",
      "tree": "e9bec6bf0588eb4fbb68a84a0a7720d20e90001c",
      "parents": [
        "9352d1168c09903d4ea27b695ef683316c544ae5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 09 17:43:46 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 09 17:46:53 2012 -0700"
      },
      "message": "Update state only if calls to native window are successful\n\nChange-Id: I7a20f3ca787e11ca9c8c904b257e3c8a4e529136\n"
    },
    {
      "commit": "3ed292031dc50c56110cdadb1e3778117e3be76a",
      "tree": "7aee0b1a5f518733eebcca574807d4de62066c06",
      "parents": [
        "0d27c65ddb5c968baa6db0c26e80f5c451bc52bc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 07 15:24:44 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 09 15:34:46 2012 -0700"
      },
      "message": "Replace hard-coded \"2\" by a constant and comment\n\nBug: 6679403\nChange-Id: I6c2701f9afedc26540dfad0b4e23348bbc4cb01a\n"
    },
    {
      "commit": "0d27c65ddb5c968baa6db0c26e80f5c451bc52bc",
      "tree": "62cdadd7e272d5f5f5f187767984ecb0c12b5080",
      "parents": [
        "e983aa4ff4d80af7702888e230b9aaa93a7b7e57"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 07 10:38:59 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 08 14:28:42 2012 -0700"
      },
      "message": "Tune the overrun correction\n\nThe new overrun correction is: if the previous write() cycle time is \u003c\n50% of expected, then sleep enough extra to make the total cycle time \u003d\n95% of expected.  This should help compensate for HAL implementations\nthat have uneven cycle times due to sample rate conversion.\n\nBug: 6881638\nChange-Id: I5ab58afdfceee7ac523177f021fbf62d743d571a\n"
    },
    {
      "commit": "2c3b2da3049627264b7c6b449a1622f002210f03",
      "tree": "f99fadbfef22ff3b7709a505623371c22e39566c",
      "parents": [
        "ee578c0330319f04a48bccbdb26b53fea0388d04"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Aug 02 17:08:54 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:28:15 2012 -0700"
      },
      "message": "AudioFlinger: fix timed audio\n\n(cherry picked from commit e20ac92c564a2f4e8123885807abdf0a78de0dd7)\n\n\u003e AudioFlinger: fix timed audio\n\u003e\n\u003e Addresses Bug 6900517.\n\u003e\n\u003e Finish up support for timed audio in the new FastMixer world.  Pay special\n\u003e attention to remaining lock-less and voluntary yield free on the FastMixer\n\u003e thread.  This fixes audio playback for Q on JB.\n\u003e\n\u003e Change-Id: Iaf815e58a1b1d0a0190051794bec8dc5c9231785\n\u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\nChange-Id: I9bd687acc345a05867af48e71116690fdb0ce1b5\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "ee578c0330319f04a48bccbdb26b53fea0388d04",
      "tree": "883382e0eabdcdff6c04a7df4b50d9cebffaf1c7",
      "parents": [
        "d8f178d613821c3f61a5c5e391eb275339e526a9"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Mon Jul 23 17:05:46 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:28:15 2012 -0700"
      },
      "message": "AudioFlinger: Better handling for master volume/mute\n\n(cherry picked from commit 93d906837e0e89aa1d9c913ab2b531b809f9bb9e)\n\n\u003e AudioFlinger: Better handling for master volume/mute\n\u003e\n\u003e Changes to address bug 6842827.\n\u003e\n\u003e When a HAL is loaded, cache whether or not the HAL supports\n\u003e set_master_volume/mute in the AudioHwDevice structure.  Store an\n\u003e AudioHwDevice in AudioStream(In|Out) structures instead of just an\n\u003e audio_he_device_t.  This give threads (PlaybackThreads in\n\u003e particular) access to the cached capabilities.\n\u003e\n\u003e When setting master volume/mute, change the system to always set the\n\u003e setting on all HAL which support it and also to set the setting on all\n\u003e PlaybackThreads.  Change PlaybackThreads to apply the setting at the\n\u003e in SW mix stage of the pipeline if its assigned HAL does not support\n\u003e the setting, or to ignore the setting of the assigned HAL does support\n\u003e it.\n\u003e\n\u003e Change-Id: Ia14137a30b4c3ee6f2d7ddcc8cba87bf5eec87f4\n\u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\nChange-Id: Icb6bc13764e100a2003eb1dee2231132ab287d98\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "d8f178d613821c3f61a5c5e391eb275339e526a9",
      "tree": "93038d06c70535eeebc364e9f86cedbec074802c",
      "parents": [
        "3478eaa23c19dbbe473be70e8f3cc0c904d2465c"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Fri Jul 20 14:51:35 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:28:15 2012 -0700"
      },
      "message": "Change audio flinger to user HAL master mute if available\n\n(cherry picked from commit 91de9b56282d126ffb36344266af5fee3cefcfdd)\n\n\u003e Change audio flinger to user HAL master mute if available\n\u003e\n\u003e Hand merge from ics-aah\n\u003e\n\u003e \u003e Change audio flinger to user HAL master mute if available: DO NOT MERGE\n\u003e \u003e\n\u003e \u003e Replicate the pattern used for HAL master volume support to make use\n\u003e \u003e of master mute support if the HAL supports it.  This is part of the\n\u003e \u003e change needed to address bug 6828363.  Because of the divergences\n\u003e \u003e between ICS and master, this change will need to be merged by hand.\n\u003e \u003e\n\u003e \u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\u003e \u003e Change-Id: I6d83be524021d273d093bcb117b8f2fe57c23685\n\u003e\n\u003e Change-Id: I32280582905c969aaec2bb166ec5c61df82d737a\n\u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\nChange-Id: I5cd709187221d307fe25c5117ccaadca5f6b197b\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "97197157cf619fb716710eb67915fdfa93502750",
      "tree": "2226298f6d10b7744b1808308a89b77f03653e3e",
      "parents": [
        "8da4cd7d706d9f551bf2d08cd8b61907a10cd38d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 06 14:25:19 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 06 14:27:11 2012 -0700"
      },
      "message": "Camera2: Reduce redundant device dumpsys\n\nBug: 6243944\nChange-Id: Ifdc15ee62156a7adfd133f0d0d8b772dd1e9d5a3\n"
    },
    {
      "commit": "8da4cd7d706d9f551bf2d08cd8b61907a10cd38d",
      "tree": "d859052f6839fedf654ce8cea7dea2d567ad710f",
      "parents": [
        "d9f0253353db0b859c0ca2b32eddc24e3e9d4d86"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Aug 04 19:58:07 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Aug 04 20:46:14 2012 -0700"
      },
      "message": "Fix a deadlock in commandSetVideoBufferCountL()\n\no The lock to be acquired in recordingEnabled() has aleady been acquired in sendCommand()\n  before the call to commandSetVideoBufferCountL().\n\nChange-Id: I664d51ef449c9eb3576d5d56f73f29c98444ff3f\n"
    },
    {
      "commit": "160d4af9d933fe9461bb213e5876fc5c8c2178c2",
      "tree": "b69bfc44345106f724d8fe5febd48762720fe164",
      "parents": [
        "36cdfb185877a7f573621d19ed2b2e1cac13d62e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 03 09:40:16 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 03 14:31:38 2012 -0700"
      },
      "message": "Camera2: Add notification handling skeleton.\n\nWire up skeleton methods for handling all currently defined\nnotifications.\n\nBug: 6243944\nChange-Id: I84b3f60111416ba6fbcdb086f1310225142e2b70\n"
    },
    {
      "commit": "36cdfb185877a7f573621d19ed2b2e1cac13d62e",
      "tree": "dbb4713666c0f6cd1de3b1400325fada0fe05c1d",
      "parents": [
        "983cf231ab2d176a14595cdae46ff1b0c239af47"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:34:15 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:49:48 2012 -0700"
      },
      "message": "Camera2: Break out individual commands\n\n- List all commands that need implementing in sendCommand\n- Write skeleton methods for each one\n- Implements playRecordingSound command\n- Partially implements enableShutterSound command\n\nBug: 6243944\nChange-Id: I7866df75adca09483f407d3a4f630e847dbc7721\n"
    },
    {
      "commit": "983cf231ab2d176a14595cdae46ff1b0c239af47",
      "tree": "01942a13a082e2116f8df5dbaca1a902ac52a299",
      "parents": [
        "15d7245ed2193e4956ea87998321cbc16a3b0a46"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 01 16:39:55 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 02 17:06:05 2012 -0700"
      },
      "message": "Dynamically configure the number of video buffers used by camera source, if supported\n\no related-to-bug: 6920805\n\nChange-Id: I413bb50954cc84e32ed40bcb713842dc7b58e2b6\n"
    },
    {
      "commit": "15d7245ed2193e4956ea87998321cbc16a3b0a46",
      "tree": "18f36b8fc450f4a0784bade5771b5bc20fbe9c94",
      "parents": [
        "1bf1c000be916b5e3388ef9039beedda01fa2bdd",
        "d6f8e08a9ca7f2fe41717acd351426a7ecb0c175"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:01:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 17:01:07 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix exposure compensation step value.\" into jb-mr1-dev"
    },
    {
      "commit": "1bf1c000be916b5e3388ef9039beedda01fa2bdd",
      "tree": "d45f3a7e978671fe9097bc93f8c8ff42693bee0a",
      "parents": [
        "4a76bcea7a23356185c4fa9491d5a73256b80cd0",
        "750d74b0b64470dccdb7310bf33e0d0e582f2059"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 17:00:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 17:00:20 2012 -0700"
      },
      "message": "Merge \"Camera2: Minor logging updates.\" into jb-mr1-dev"
    },
    {
      "commit": "4a76bcea7a23356185c4fa9491d5a73256b80cd0",
      "tree": "ff109075175e3c1a8200fea09b2d3b28129ad21f",
      "parents": [
        "ac9b96003da5dad9ae6fc8d054d7b24ef24693fe",
        "3a609147811105d40766f8f8f5904bf71cb123cb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:59:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 16:59:41 2012 -0700"
      },
      "message": "Merge \"Camera2: Check PIDs to ensure camera exclusive access.\" into jb-mr1-dev"
    },
    {
      "commit": "d6f8e08a9ca7f2fe41717acd351426a7ecb0c175",
      "tree": "721dabfcc1ce1ea6dba72ce475e8940965a274be",
      "parents": [
        "750d74b0b64470dccdb7310bf33e0d0e582f2059"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:00:35 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:51:48 2012 -0700"
      },
      "message": "Camera2: Fix exposure compensation step value.\n\nFix floating-point divide error.\n\nChange-Id: I61b140c1090d6773b9b530d19a2ec03cf784b85e\n"
    },
    {
      "commit": "750d74b0b64470dccdb7310bf33e0d0e582f2059",
      "tree": "b03bcb7d01335be267b46e1851e5e0c392fff4d9",
      "parents": [
        "3a609147811105d40766f8f8f5904bf71cb123cb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 01 09:05:04 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:51:48 2012 -0700"
      },
      "message": "Camera2: Minor logging updates.\n\nImprove double-verbose logging, report a few more errors/startup\nconditions.\n\nBug: 6243944\nChange-Id: I2e814f786b35f57b63220d1b7c39f39cb6c3ace3\n"
    },
    {
      "commit": "3a609147811105d40766f8f8f5904bf71cb123cb",
      "tree": "27cc2e751e60d6daf4960efe47a3bc035376887c",
      "parents": [
        "428b77a2b94b74665a47375b3fdb893b98d71269"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 31 14:36:26 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 16:51:48 2012 -0700"
      },
      "message": "Camera2: Check PIDs to ensure camera exclusive access.\n\nBug: 6243944\nChange-Id: I4b36af2c92b7266a4aa896a2b048c56b6406cb9a\n"
    },
    {
      "commit": "3c0a0e8541846427db0587c2fffb90f60ee680b0",
      "tree": "5ec5cfb29970fe635f34145ba9642f96fd91e9b7",
      "parents": [
        "ffd99cb795c92caee7f4bd0b26af9ae37b100fc3"
      ],
      "author": {
        "name": "Paul Lind",
        "email": "plind@mips.com",
        "time": "Wed Aug 01 18:49:49 2012 -0700"
      },
      "committer": {
        "name": "Paul Lind",
        "email": "plind@mips.com",
        "time": "Wed Aug 01 18:49:49 2012 -0700"
      },
      "message": "Fix initialization of audio mixer track resources for MIPS.\n\nThe value 1 \u003c\u003c 32 (maxNumTracks defaults to 32) is surprisingly not defined\nin C, and differs on MIPS than the other arch.\n\nTherefore the track resources were not initialized properly, resulting\nin failure to play any audio.\n\nThe fix allows the mConfiguredNames bitmask to be correctly set to all\n1\u0027s in the 32-track case, for all arch.\n\nChange-Id: Ied3e1305952e9567602e2cd76c5ef3acb0809ee0\nSigned-off-by: Paul Lind \u003cplind@mips.com\u003e\n"
    },
    {
      "commit": "9007619d1f786a75dae0fff31feadbf9aed9cfb8",
      "tree": "dd3f273e129ea9864e87d4df79eb78dab157744e",
      "parents": [
        "44cda3a4e7ca3de0db9cb49145def3803b03ebb4",
        "35f859b338c0922094ecfc37fb8157530df6b305"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 01 16:15:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 01 16:15:36 2012 -0700"
      },
      "message": "Merge \"Shutter sound is heard at the end of the recorded video\" into jb-mr1-dev"
    },
    {
      "commit": "35f859b338c0922094ecfc37fb8157530df6b305",
      "tree": "62fc06cc2c07cd7e7a559f0f3b744ce30a24fdd1",
      "parents": [
        "25f0d7ba1987de61c75f8c68b19de48e0ad9736c"
      ],
      "author": {
        "name": "Patric Frederiksen",
        "email": "patric.frederiksen@sonymobile.com",
        "time": "Tue Jul 10 13:38:35 2012 +0200"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 01 15:54:55 2012 -0700"
      },
      "message": "Shutter sound is heard at the end of the recorded video\n\nOn fast hardware, which is more common, the shutter sound is\nplayed and recorded before video recording is stopped.\n\nBefore we call play shutter sound before calling stop recording.\nWith this fix we call play shutter sound after calling stop recording.\n\nChange-Id: I06a3e65fd2700f1d2457fea5ff0f64500eac436f\n"
    },
    {
      "commit": "44cda3a4e7ca3de0db9cb49145def3803b03ebb4",
      "tree": "2ed0b1d13971820bd5dcd80ece0f7ab05150e2a8",
      "parents": [
        "3788a393bbcadebf38ac01ef9b2ecc46f07db011"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 09:40:18 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 10:46:10 2012 -0700"
      },
      "message": "Don\u0027t wait for presentation complete if terminated\n\nChange-Id: Ia04cf6c620693457dca87b4ffea5dd0fe71efdce\n"
    },
    {
      "commit": "5665fde6d4520c8e6cec81a4e1e9c86f1537f689",
      "tree": "774c48425035787b816a743cefd39ba86d1a2145",
      "parents": [
        "428b77a2b94b74665a47375b3fdb893b98d71269",
        "510a3d6b8018a77683dac466127ffd0af34bef6e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 09:48:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 01 09:48:27 2012 -0700"
      },
      "message": "Merge \"Start adding support for multiple record tracks\" into jb-mr1-dev"
    },
    {
      "commit": "510a3d6b8018a77683dac466127ffd0af34bef6e",
      "tree": "1f3410b20a4dcbe77dd9b40800bdd569ceaff384",
      "parents": [
        "25f0d7ba1987de61c75f8c68b19de48e0ad9736c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 16 14:24:34 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 01 09:11:11 2012 -0700"
      },
      "message": "Start adding support for multiple record tracks\n\nReplace single mTrack by vector mTracks.\nDestroy record tracks similarly to playback tracks.\nDump all record tracks, in addition to the active record track.\n\nChange-Id: I503f10b51928b6b92698fe1c51a9ddd3215df1f4\n"
    },
    {
      "commit": "428b77a2b94b74665a47375b3fdb893b98d71269",
      "tree": "63a1133d9c9d92592786a3d0680ac197f14daab8",
      "parents": [
        "836b81f3c5a5bacb800f698f90ded6bd6e6bc5ce"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 30 09:55:30 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 31 14:53:42 2012 -0700"
      },
      "message": "Camera2: Improve formatting of debugging dump\n\nBug: 6243944\nChange-Id: Id8730357f3adcd96923132f9f702e296e0dfd357\n"
    },
    {
      "commit": "836b81f3c5a5bacb800f698f90ded6bd6e6bc5ce",
      "tree": "f3a29d05d3d6c8b49a46887a20d268641419e48e",
      "parents": [
        "25f0d7ba1987de61c75f8c68b19de48e0ad9736c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 27 11:35:21 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 31 14:53:42 2012 -0700"
      },
      "message": "Camera2: Improve threading safety\n\nMerge mutex lock for accessing internal parameters with the parameter\nstructure, forcing a lock to be held before the parameters can be accessed.\n\nBug: 6243944\nChange-Id: I86e44f395de0d80ff7c3ff3530f25b60015512d2\n"
    },
    {
      "commit": "0ec23ce0d1ff79566c402bc30df3074f6e25a22b",
      "tree": "8925eca2b9f4b9bccb7fa4d032ab80070179912d",
      "parents": [
        "e4e2a37dbe2a4d923232305549101f779a2e3638"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 10 12:56:08 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 27 14:54:48 2012 -0700"
      },
      "message": "Clean up start() parameters\n\nDocument where int is used instead of AudioSystem::sync_event_t\n  (probably because of a header file dependency).\nTrackBase::start() and RecordTrack::start() don\u0027t need default parameters.\n\nChange-Id: I82f4a4d078be900f3aa4bd926697e32f5ed68ec8\n"
    },
    {
      "commit": "e4e2a37dbe2a4d923232305549101f779a2e3638",
      "tree": "7038669149e9478745fbb5e05f320cee8fd5cb88",
      "parents": [
        "3dca4c7a5622fc6aa03397d749c4b4c1201cc4f3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 23 12:55:09 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 27 14:49:58 2012 -0700"
      },
      "message": "Extract methods to enter standby and standby mode\n\nAlso move initial standby from to threadLoop to avoid a race condition.\n\nChange-Id: I65afca83c36fb41b983b3b1d3dab35d4029560e3\n"
    },
    {
      "commit": "28567defef0ba95cb38f2d80eba30b01db207a77",
      "tree": "4a8ca4bafe5e754fe76266c0a947de84624d94f7",
      "parents": [
        "82f517ba654ca4891b82ebe604dbd004b66a7b2d",
        "803cbf6190f16f7b2c43cbc51d0df21ec888abdd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 25 16:09:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 25 16:09:34 2012 -0700"
      },
      "message": "Merge \"Camera2: Use more buffers for video encoding.\""
    },
    {
      "commit": "82f517ba654ca4891b82ebe604dbd004b66a7b2d",
      "tree": "3f4daa2e10e5bd1c69f6b0de86b5227ee8f728fe",
      "parents": [
        "0a7af18d0308295405491f86603e3d119450aba0",
        "78822d73af1e7f6b8b297fc7f98ef7f8257cc10a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 25 16:08:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 25 16:08:40 2012 -0700"
      },
      "message": "Merge \"Camera2: Revamp recording support to allow opaque formats.\""
    },
    {
      "commit": "803cbf6190f16f7b2c43cbc51d0df21ec888abdd",
      "tree": "59dfc0f1cadc394645ee8bd0547aebf4a8c28604",
      "parents": [
        "78822d73af1e7f6b8b297fc7f98ef7f8257cc10a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 25 15:23:36 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 25 15:23:36 2012 -0700"
      },
      "message": "Camera2: Use more buffers for video encoding.\n\nTo avoid starvation, set the number of simultaneously available buffers\nto the encoder to 8.\n\nBug: 6243944\nChange-Id: I6d0e9f3c0426d62d374c0ae0d427bf5189141adf\n"
    },
    {
      "commit": "0a7af18d0308295405491f86603e3d119450aba0",
      "tree": "bed6e2fe6df1d948db29bc84ff5d0a3bee02d6a6",
      "parents": [
        "58e5aa34f01d663654d8bafad65db1dda42161ff"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 09 16:09:19 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 25 14:48:11 2012 -0700"
      },
      "message": "Use valueAt instead of editValueAt when possible\n\nChange-Id: I885b169f4b176a6b5c2ca9a534214b4ffff1700e\n"
    },
    {
      "commit": "58e5aa34f01d663654d8bafad65db1dda42161ff",
      "tree": "706a80113457f48feae3eab9f8720bcc3da2b397",
      "parents": [
        "1d491ff06f4b9c90ff24fe953b90d0843eaf1c04"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 20 14:08:14 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 25 14:43:19 2012 -0700"
      },
      "message": "effect_descriptor_t const correctness\n\nChange-Id: Iad008f20d35a18acf500f773900164552fd0c19e\n"
    },
    {
      "commit": "1d491ff06f4b9c90ff24fe953b90d0843eaf1c04",
      "tree": "006faa29a2ad0ca2ea18c8e876c43749d72d138d",
      "parents": [
        "bf5bea96f236adb5eef78c2f414ef82b3602a0f7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 16 14:28:13 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 25 14:41:03 2012 -0700"
      },
      "message": "Fix races in AudioRecord stop()\n\nChange-Id: Id0ac1915f57fef4a938c7f90989c1162a8b6c51c\n"
    },
    {
      "commit": "78822d73af1e7f6b8b297fc7f98ef7f8257cc10a",
      "tree": "bb28c6e7d7affcf849f862c42c6664fc67eefd81",
      "parents": [
        "bf5bea96f236adb5eef78c2f414ef82b3602a0f7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 18 17:52:18 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 24 16:59:22 2012 -0700"
      },
      "message": "Camera2: Revamp recording support to allow opaque formats.\n\n- Avoid memcpy of buffer data by using metadata mode\n- Temporarily add MediaConsumer BufferQueue class\n\nBug: 6243944\nChange-Id: I7a8c4222b7dbd14f1b1d86fda06d38eb640e87c1\n"
    },
    {
      "commit": "69d799679c8c0308e42057e7b5ad63a7ae806480",
      "tree": "fd433daeb23326b7818031fcca0f8b87f77dbc3e",
      "parents": [
        "f1b3ee26cafc80900bae681bddf47446a6a3733f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 19 14:02:22 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 23 10:56:34 2012 -0700"
      },
      "message": "Use upmix/downmix utility routines\n\nChange-Id: I9ae2ec938fb695ec576ea008a42205325af7bbf1\n"
    },
    {
      "commit": "e78d5c7bfda1e80223436df3faeb4a9e2e719bcf",
      "tree": "6aa675b9bac094a8af8f7d5b7a931c0c2c21f6d9",
      "parents": [
        "789e325341e73743630f45e92b77d07e31c3957e",
        "2267106c98f461b730c772a913da946c391a178c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 18:39:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 18:39:33 2012 -0700"
      },
      "message": "Merge \"Camera2: Stop preview: Wait until HAL is drained\""
    },
    {
      "commit": "789e325341e73743630f45e92b77d07e31c3957e",
      "tree": "f1212122587a95153efd013b483cceb1ca1618ca",
      "parents": [
        "afa1669ef8b3cf172a695f8959d94849cb9f7195",
        "9e4c3db01ba4eb1e5acbed113f78a31374900df6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 18:39:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 18:39:22 2012 -0700"
      },
      "message": "Merge \"Camera2: Add more verbose logging\""
    },
    {
      "commit": "afa1669ef8b3cf172a695f8959d94849cb9f7195",
      "tree": "51ff5a99dcc7d91d53dbcab1a3d857d1fe19dc74",
      "parents": [
        "f5545b962794b78a97cafa73d0b592f55ffe06d8",
        "898a9a9b867e5d209671feee4c92266f90a55aa3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 18:38:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 18:39:00 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix recording bugs\""
    },
    {
      "commit": "2267106c98f461b730c772a913da946c391a178c",
      "tree": "64c4fe71a71405291467077ddceda6df768d2d92",
      "parents": [
        "9e4c3db01ba4eb1e5acbed113f78a31374900df6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 18:30:37 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 18:30:37 2012 -0700"
      },
      "message": "Camera2: Stop preview: Wait until HAL is drained\n\nOnce camera returns from stopPreview, all preview activity needs to\nhave stopped. So wait until that\u0027s true.\n\nBug: 6243944\nChange-Id: Ifa6cf171bd69015883e26dafb1e49e5ac098025a\n"
    }
  ],
  "next": "e65c89113232d070dd9153c54ca19301bca7a162"
}
