)]}'
{
  "log": [
    {
      "commit": "4c95676d259f4449a7da5161dfd46c1d1f9498fe",
      "tree": "e542ac6b2ea4d48e0d2292e0f268705b238d69f5",
      "parents": [
        "20ab26dbe54cd9ef81072c492bc466c0c4da46d8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Apr 19 17:26:13 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Apr 19 17:27:45 2013 -0700"
      },
      "message": "Camera3: Register all stream buffers at stream configuration time.\n\nWhile registering them later would be nice for startup time, current\nhardware will have to reinitialize everything, resulting in glitches.\n\nBug: 8657740\nChange-Id: I1ed1f0a65d648f219f5228c8df15ffcf2a4b272e\n"
    },
    {
      "commit": "19c04c90478c4c5b8558a9b94713da148b4aa64c",
      "tree": "e067b3de0c2def3f11861a8173e178b381038b4e",
      "parents": [
        "0aa0d09202f543cc85962f348c4ff4c9937d057d",
        "587af2e6fb54a8ada61d44a998885b1e4528a856"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 19 16:23:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 19 16:23:55 2013 +0000"
      },
      "message": "Merge \"Fix error message to match CTS\" into jb-mr2-dev"
    },
    {
      "commit": "727cc2d1b378844474c775e9f42dab672d603ae9",
      "tree": "7c21e54c431ef24d5eb0b27fbdb838f3b9f28eba",
      "parents": [
        "005bb86bd99077283df1968958d5c514a3bfa16a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 16 12:35:20 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 18 16:25:14 2013 -0700"
      },
      "message": "Use correct pid when running under test harness\n\nThis is a partial fix which addresses one of the root causes of this bug,\nbut only when running under test harness.  It has no effect otherwise.\n\nBug: 8598539\nChange-Id: I87444daef1d76b17544f331e651ba1c87893c381\n"
    },
    {
      "commit": "587af2e6fb54a8ada61d44a998885b1e4528a856",
      "tree": "d6d89075ede44988be5d2e9918a341685d6732ad",
      "parents": [
        "005bb86bd99077283df1968958d5c514a3bfa16a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 18 15:26:47 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 18 15:26:47 2013 -0700"
      },
      "message": "Fix error message to match CTS\n\nBug: 8657725\nChange-Id: Ib608eb55f14d557d667f93e4f646c03d5ea470c1\n"
    },
    {
      "commit": "dc2024a80d2eec26afd906348dc52aaaf112d63f",
      "tree": "9f5dcf64b710b2f0b35d37536be1666c8f41280d",
      "parents": [
        "8461772f46769a384ea87b42848e2d77de529332",
        "42368d9308db27a47c9ac706f9b040fa269257a9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Apr 16 17:26:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 17:26:38 2013 +0000"
      },
      "message": "Merge \"Camera3: Allow multiple process_capture_result calls per request\" into jb-mr2-dev"
    },
    {
      "commit": "42368d9308db27a47c9ac706f9b040fa269257a9",
      "tree": "80788f8d1ca0d7f6432274fa4d3423846e2481a1",
      "parents": [
        "99076b990cfc6514b7de3a4809b3b3ff3d76e43d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Apr 09 14:13:50 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 15 16:18:35 2013 -0700"
      },
      "message": "Camera3: Allow multiple process_capture_result calls per request\n\nTo simplify HAL implementation, allow the results for a single\ncapture request to be sent from the HAL across multiple calls\nto process_capture_request.\n\nThis requires that the HAL must call notify() with the SHUTTER message\nto indicate start of exposure time, before the first call to\nprocess_capture_result for a given frame.\n\nBug: 8565103\n\nChange-Id: I6a61449725f98af88769fafa07736848a226dad2\n"
    },
    {
      "commit": "a75003e583b7b317951ceca13e44f3fd226012c7",
      "tree": "e4e134db5ac9861d6549a8e85eb3c61fcd274e71",
      "parents": [
        "cb7032acc963e447adbffcf95ee297643d64e0d7",
        "8d480b86ec00396b37a22803fdfe5f7bef3d8e05"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 15 19:07:56 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 19:07:57 2013 +0000"
      },
      "message": "Merge \"Workaround: requestPriority() is one-way\" into jb-mr2-dev"
    },
    {
      "commit": "8d480b86ec00396b37a22803fdfe5f7bef3d8e05",
      "tree": "ee0beafe699756cbc41a9c7592e25670bb0636d8",
      "parents": [
        "5544c66ba0aa789a997b376df503a5ffae425dc7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 11 17:21:41 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 11 17:23:19 2013 -0700"
      },
      "message": "Workaround: requestPriority() is one-way\n\nBug: 8565696\nChange-Id: If5fcdf8593e1ca15bea45217bd683b43a2a106c7\n"
    },
    {
      "commit": "30c90a56adf7709f2e735219a24a70c60bd1c882",
      "tree": "d05b6d78391bd3d2a5bb2458c898c61e94eff809",
      "parents": [
        "ecba7488c5cceaacef95836b1b476433451e7761",
        "b2058d19297e508133a66b033d29380924b5d267"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Apr 11 23:47:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 11 23:47:32 2013 +0000"
      },
      "message": "Merge \"Camera3: Improve error logging\" into jb-mr2-dev"
    },
    {
      "commit": "ecba7488c5cceaacef95836b1b476433451e7761",
      "tree": "83245c19c2dda5c557531edb19478056034b5db5",
      "parents": [
        "5544c66ba0aa789a997b376df503a5ffae425dc7"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: If493d87d60d71be664ad75b140c62acadb75b0d0\n"
    },
    {
      "commit": "b2058d19297e508133a66b033d29380924b5d267",
      "tree": "22aa92a34e9138d05907e130d9ed7320f2fa81bb",
      "parents": [
        "5544c66ba0aa789a997b376df503a5ffae425dc7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Apr 09 13:49:56 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Apr 09 16:25:28 2013 -0700"
      },
      "message": "Camera3: Improve error logging\n\nIn preparation for supporting fragmented result calls.\n\nBug: 8565103\nChange-Id: Id834637d7cbecf7b550333beedab3281b5400748\n"
    },
    {
      "commit": "4d2f2e8414df33337d4f09e5235719dfcc705674",
      "tree": "a24112afb7fd6e80981c8aac46854b891d7c547f",
      "parents": [
        "878f9692e4fe9cc2311a8eb74edfa8f6cc0ea54f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Apr 01 17:29:07 2013 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 23:28:04 2013 +0000"
      },
      "message": "Camera: implement takePicture for HAL3-using clients\n\n* Implements Camera2Device-style triggers by mutating the next request\n* Implements Camera3Device::waitUntilRequestReceived\n\nChange-Id: Ie0b5591158872513a0bffbfab33123cf18dacf8a\n"
    },
    {
      "commit": "7fd54ff906c69400727fc8e90118a8a0429d7ab2",
      "tree": "025b4ee5d9eeb5937fb645c88e9831637555d068",
      "parents": [
        "8344844311b852ea7321e914642bd9e57e0d5fb0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 03 17:27:56 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 04 14:29:56 2013 -0700"
      },
      "message": "audioflinger: multiple tracks on direct output\n\nFix problems when multiple tracks exist on a direct output\nthread:  when multiple tracks are active, continue to update all\ntrack states but only take into account the last track started\nfor audio HAL volume and mixer state control.\n\nBug 8388941\n\nChange-Id: I57e6757286f41651dda99b11a5449e431812431b\n"
    },
    {
      "commit": "8344844311b852ea7321e914642bd9e57e0d5fb0",
      "tree": "38ad913ea972f21b3cc4256ea35a8e98d7d42876",
      "parents": [
        "a55b545ef3d8624123efe0e04c2a7d3a30b56b48",
        "d0ebb538599cc25726b856e0f5deeb8215db8c92"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 03 16:06:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 16:06:30 2013 +0000"
      },
      "message": "Merge \"audioflinger: add effect config status check\" into jb-mr2-dev"
    },
    {
      "commit": "d0ebb538599cc25726b856e0f5deeb8215db8c92",
      "tree": "f8b5bfbd9332676485198bca0132bb16bedf404b",
      "parents": [
        "d2c90696403bb3c9e28d7b51d65c9468bdf8e78b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 02 16:41:41 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 02 16:47:13 2013 -0700"
      },
      "message": "audioflinger: add effect config status check\n\nCheck the result of the effect engine configuration command\nand do not attempt to send parameters to, enable, or process\nthe effect if configuration fails.\n\nBug 8512027\n\nChange-Id: I8c78a05d79fba36b1a387aa5cf2700612301ac91\n"
    },
    {
      "commit": "a55b545ef3d8624123efe0e04c2a7d3a30b56b48",
      "tree": "ebe24e5621c6d3483d11dfaac38499e40cc9153b",
      "parents": [
        "df41f485a9162407b32b7db1cea483f64bbd0c65"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 02 16:36:33 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 02 16:38:02 2013 -0700"
      },
      "message": "Camera3: Fix output stream creation for JPEG streams\n\nChange-Id: Iadf85c103c21614abb1aeb69a832ca01919c2aa5\n"
    },
    {
      "commit": "d2c90696403bb3c9e28d7b51d65c9468bdf8e78b",
      "tree": "17859e9a9b790c55412f0adff92cd4731f0acb41",
      "parents": [
        "e574eecea416c813d539a0977d5393c3ed291a1c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 02 12:32:32 2013 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 21:09:35 2013 +0000"
      },
      "message": "Camera3: Fix metadata result not being rewritten after capture\n\nGenerally this problem manifested itself as the Frame Count not being set,\nwhich then errored out ProFrameProcessor with a \"Success\" error.\n\nChange-Id: Ifa927f43d0ce92100651ad3f714099a2f1ec4c2a\n"
    },
    {
      "commit": "7d346fa448551703f98e8892ae7f4eb56675b92a",
      "tree": "3120841958a67b2861a2a366405183f092611db9",
      "parents": [
        "f76e027c43f531fc6f9287838b5c332236a4338a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 11 14:13:50 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 27 16:54:34 2013 -0700"
      },
      "message": "Camera: Add output side to camera3 HAL device\n\n- Notifications\n- Result queue and processing\n\nChange-Id: Id6b4746708ce6c6dcc7262666b6ac3130fa3d225\n"
    },
    {
      "commit": "f76e027c43f531fc6f9287838b5c332236a4338a",
      "tree": "c7ad20f9e6c4d414773645c286c10f0662e633ba",
      "parents": [
        "fd58f1a10a749ca72fec1012920d6e94a664cd70"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 27 18:02:26 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 27 16:54:34 2013 -0700"
      },
      "message": "Camera: Add input side to camera3 HAL device\n\n- Stream creation/deletion\n- Request submission\n- Request thread loop\n- Add get() to CameraMetadata to allow HAL submission while retaining\n  ownership.\n\nChange-Id: I271f72bcbe9557eded43cbcbfe789109857f8144\n"
    },
    {
      "commit": "fd58f1a10a749ca72fec1012920d6e94a664cd70",
      "tree": "cc20a09adf504a566187ecfa2b31a3a987acf50a",
      "parents": [
        "8d012b56cbd49f33841c13aaa5b7b42020de82ed"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 06 16:20:06 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 27 16:54:34 2013 -0700"
      },
      "message": "Camera: Add streams to camera3 HAL device\n\n- Generic stream interface\n- Functional output stream\n- Skeleton input/zsl stream\n\nChange-Id: I143794eac1a2217031d62b51912662fc6d1db900\n"
    },
    {
      "commit": "8d012b56cbd49f33841c13aaa5b7b42020de82ed",
      "tree": "240cbe1534e19bd52b6f55e5d9623de2a7fea010",
      "parents": [
        "ac51135d48ded504af38f0bc7fda47823419332f",
        "a36381479c5c546a01188390f1e0d2e280a3dbd8"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 27 22:43:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 22:43:14 2013 +0000"
      },
      "message": "Merge \"Camera: Add hotplug support (for fixed # of cameras)\" into jb-mr2-dev"
    },
    {
      "commit": "a36381479c5c546a01188390f1e0d2e280a3dbd8",
      "tree": "84123991a8c16817eb7f0094f90b75e0187da15a",
      "parents": [
        "2247dd0dc60096d1b5a91ccadb5539f0b100c88f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 20 15:56:31 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 26 17:16:11 2013 -0700"
      },
      "message": "Camera: Add hotplug support (for fixed # of cameras)\n\n* Minor: also change addListener to fire the current status upon subscription\n* Minor: STATUS_AVAILABLE is now an alias for STATUS_PRESENT and deprecated\n\nChange-Id: I254608a7332095e3ef201ffea64cff156cfc1b3e\n"
    },
    {
      "commit": "4ee9962da3df1b4300eccdbd20910d82c5a61f63",
      "tree": "d7a8200a0376734ebf84622860927f0ac08d3076",
      "parents": [
        "db372594bf27390d2bee089e35c5fb8f67370026"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 26 15:09:04 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 26 15:09:04 2013 -0700"
      },
      "message": "media.log dump\n\nBug: 8446008\nChange-Id: Ia47b204f5c4c91b99591eec5420a25a3dc8e7631\n"
    },
    {
      "commit": "b08a63931f22a1e934b32e8fb8de9ab4877d5258",
      "tree": "33df1aa21ac9d458278805b64936a65057866e25",
      "parents": [
        "ea49f4b4ba9d182fd8a74c74d16590cb65f3a5f1"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 21 11:19:00 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 21 11:32:17 2013 -0700"
      },
      "message": "Camera2: getSceneMode should return NULL when there are no supported scene modes\n\nBug: 8444806\nChange-Id: Ic92924ceda3de738a7971605552baf00a4fc0546\n"
    },
    {
      "commit": "ea49f4b4ba9d182fd8a74c74d16590cb65f3a5f1",
      "tree": "7eb4fd1e14856d1d1f6600cc350218688c712b64",
      "parents": [
        "42404e895c182df761cbd2473d172e58e763ac89"
      ],
      "author": {
        "name": "Ziv Hendel",
        "email": "ziv@primesense.com",
        "time": "Thu Mar 21 03:25:32 2013 +0200"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 21 11:32:06 2013 -0700"
      },
      "message": "commandStartFaceDetectionL returned the wrong value when face detection is not supported by the HAL.\nThis caused the JNI function to fail since it expected a BAD_VALUE response in that case.\n\nChange-Id: I53107a3958d541c25930b81eda638d4b6a394254\nSigned-off-by: Igor Murashkin \u003ciam@google.com\u003e\n"
    },
    {
      "commit": "f0eeb53e4763fe5063d3ce880f72d52f136fc3c5",
      "tree": "36babe49a434552ab0f094a372f1da1cd5ccb993",
      "parents": [
        "4f4c2655dc3f6fcef766db6e793b1642ad0fd605"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Sun Mar 17 03:23:18 2013 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Sun Mar 17 03:23:18 2013 -0700"
      },
      "message": "Camera: fix waitUntilDrained log message\n\nChange-Id: Iab6197e0674752de7933dd812bff430a5c487c4b\n"
    },
    {
      "commit": "26bb1d3702e01779c5ef481c2ad38568d4cc2aa8",
      "tree": "dada4b8289bec91c4832d35c4e3d5ee6b89a3173",
      "parents": [
        "16b6cbc6eb4a074c2e3e4de740b990137f5940d8"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 13 17:23:00 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 13 17:23:00 2013 -0700"
      },
      "message": "ProCamera: Fix rare deadlock when client destructs inside the connect call\n\nBug: 8337737\nChange-Id: Ia6fca4365fa20fdbfd6a1ec8d047639a002f2aba\n"
    },
    {
      "commit": "b05526fc3c0ccc9f9310830074e863212af433e0",
      "tree": "8dd38d847bffdb4f6e920b90e5b48ecae327b4b7",
      "parents": [
        "9ab909bff49b2eccde1b028901717c193ef723af"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 12 17:40:55 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 12 17:40:55 2013 -0700"
      },
      "message": "remove CameraServiceTest which wasn\u0027t used\n\nthis test hasn\u0027t been compiled or run in a long long time\nand isn\u0027t up to date or relevant.\n\nChange-Id: I5a7f1190d4a783e088d44e3e6ef66231cf0cfb49\n"
    },
    {
      "commit": "9ab909bff49b2eccde1b028901717c193ef723af",
      "tree": "a1fe090a01e2f23f84f04326c4224a70ecf627ef",
      "parents": [
        "7cf9a7e7d19579565e0f9dba8be9c107f2dbf548"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 04 17:25:57 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 11 16:32:24 2013 -0700"
      },
      "message": "Camera: Make ProCamera connect take the same paths as Camera connect\n\n* ProCamera uses the app ops manager\n* Refactored connect calls to be as common as possible\n* Removed some useless not implemented function calls in ProClient\n\nChange-Id: I5dab30d20f0c202a494a07b2cfe4c1fa04a2a076\n"
    },
    {
      "commit": "7cf9a7e7d19579565e0f9dba8be9c107f2dbf548",
      "tree": "842fc07ade8a885e0549d366b81e985bbb313dd6",
      "parents": [
        "71381051e2d048b2705c447b3d59db6e972493ee"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 04 16:14:23 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 11 16:32:24 2013 -0700"
      },
      "message": "(Camera)ProCamera: Remove unused functions from binder interface\n\nChange-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d\n"
    },
    {
      "commit": "71381051e2d048b2705c447b3d59db6e972493ee",
      "tree": "608f234db150d2805d0d3f0c42e29073fb8ba34e",
      "parents": [
        "a2e203bdb911bd5595723651d06ad91c330a7873"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 04 14:53:08 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 11 16:32:24 2013 -0700"
      },
      "message": "(Camera)FrameProcessor: Refactor to share code with ProFrameProcessor\n\nChange-Id: Ie8cd0df7caf83f9d0134f560ae31ab72f2f7d1fc\n"
    },
    {
      "commit": "a2e203bdb911bd5595723651d06ad91c330a7873",
      "tree": "e227cb82c2473d654fd9429d71733fc5a241b604",
      "parents": [
        "954a8902f7a6521e110005b4f9490a2fd5be9fe9"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Mar 01 16:22:28 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 11 16:32:24 2013 -0700"
      },
      "message": "CameraService: Refactor Camera2Client to share a base with ProCameraClient\n\nChange-Id: I249e2a0fc47ae84f29c9d9c4a223fba13da3ee66\n"
    },
    {
      "commit": "75d1ef97d9799061be9631b08b56592a7cea6013",
      "tree": "47e6488f95e866c8d1fbbdf1a44b5384a955a17e",
      "parents": [
        "dbda1c852d68fde2e729ff2f8e85a406da73994b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 11 10:58:50 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 11 10:58:50 2013 -0700"
      },
      "message": "Increase size of statistics buffer\n\nBug: 8354576\nChange-Id: I327e9dc203e09df8abc21e589ce9056540618abd\n"
    },
    {
      "commit": "36185a4b38d43b712dc9790513b8ef5637aab004",
      "tree": "4a3ec70903e768f4b165bca53649c9a657bb1d1d",
      "parents": [
        "8d4c382db4f89c30a309ffa16bef33930c691681"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Wed Mar 06 23:28:51 2013 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Wed Mar 06 23:28:51 2013 -0800"
      },
      "message": "Camera: Log warning on out-of-range face detect scores\n\nBug: 7368364\nChange-Id: I7b1e995dd15e87c816b89ccf9968a222fd66d140\n"
    },
    {
      "commit": "538f498bbd5a2da51c9037a2689afc97f8bded8f",
      "tree": "1c9197aff7f824310044a6b88148e04c20c85552",
      "parents": [
        "0c57461f2c19f3a271c66f52cf8c9b2a82b13518"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 26 10:40:24 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 05 08:26:50 2013 -0800"
      },
      "message": "Add template class SingleStateQueue\n\nChange-Id: If7e2bc9b2a216524ee9cbb68682e2634933b4973\n"
    },
    {
      "commit": "a265845ecafe06c9668ce7ac67636657f4bedf86",
      "tree": "ae75ddb56a1aa950221e8961c0d2718958b61987",
      "parents": [
        "10774e144b3c99afad9a5070ccf50fdb12b5fb4e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 26 11:32:32 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 04 12:58:21 2013 -0800"
      },
      "message": "Miscellaneous cleanup\n\nAbbreviation framesReady to fRdy for new systrace.\nPut inline const on one line.\nUse local copy of mState in state.\nImprove logging.\nLine length 100.\n\nChange-Id: I8201c3ce0e53fd464fd33d02544e52c342d40b68\n"
    },
    {
      "commit": "10774e144b3c99afad9a5070ccf50fdb12b5fb4e",
      "tree": "9eaa08524904389bcbaa9c2fb4b1db34f53c79d6",
      "parents": [
        "551bb75ae1bec8db8577febcf6faaa35a37947dc",
        "d3c4b134a87b96227b90b9ec052d8a6e9880bbdf"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Mar 02 00:04:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 02 00:04:35 2013 +0000"
      },
      "message": "Merge \"media.log cleanup\" into jb-mr2-dev"
    },
    {
      "commit": "d3c4b134a87b96227b90b9ec052d8a6e9880bbdf",
      "tree": "869a985fd6a51da99de24bd5a3ace41421c0a7a3",
      "parents": [
        "358538ce26ee651f6b5cff9f7432a5321386710d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 27 09:05:28 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 01 15:36:26 2013 -0800"
      },
      "message": "media.log cleanup\n\nRemove almost all of the specific logs, but leave the media.log\nlogging infrastructure in place for the next time we need it.\n\nRe-apply a few good changes that were reverted earlier:\n - check logf format vs. argument list compatibility\n - distinguish potentially modified and actually modified tracks in FastMixer\n - fix benign bug where sq-\u003eend() was called more than once\n - fix a build warning\n\nBug: 6490974\nChange-Id: I02d3e83646c738acaebb415bd0d6b548638b4ef5\n"
    },
    {
      "commit": "5324bb2889c34cb85849ff1302215751a32c6a0d",
      "tree": "6e8cb4df52a209878f6d35f7069e89649d34baf9",
      "parents": [
        "358538ce26ee651f6b5cff9f7432a5321386710d",
        "dd0bda0c47871d4964b5035a096c7c8c27fa7469"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 01 17:05:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 17:05:28 2013 +0000"
      },
      "message": "Merge \"Remove tee sink debugging at compile time\" into jb-mr2-dev"
    },
    {
      "commit": "8fdfbe27acd157d58fa35a849ec50c82464062f0",
      "tree": "19a08d59c5e5cfd56cda29b01ef1ea1b4f00ed77",
      "parents": [
        "721f17283e2493426c47bbaa267c337b2af5726e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 27 12:55:20 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 15:55:15 2013 -0800"
      },
      "message": "Camera: Drop ProCamera connections when a Camera connection happens\n\n* Also adds an ICameraServiceListener with available/not available statuses\n\nBug: 8291653\nChange-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84\n"
    },
    {
      "commit": "7fa43f376ebd63fda24d85c9ebf97e0ddf534083",
      "tree": "46c73e2599e85fe59accef0c7efd4780b47f26a3",
      "parents": [
        "f5daac4225905184b8d7cdd2fd87247d73e27ea7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 06 17:20:07 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 27 12:47:21 2013 -0800"
      },
      "message": "Camera: Start of support for version 3.0 of camera device HAL\n\n- Refactor common CameraDevice interface out of Camera2Device\n- Initial skeleton only for Camera3Device\n\nChange-Id: I097cc76e2ad102a51712ac114235163245f5482c\n"
    },
    {
      "commit": "f5daac4225905184b8d7cdd2fd87247d73e27ea7",
      "tree": "5324b82082de8fb57ddddeb8aa154c14cddd55e9",
      "parents": [
        "5e8e702658cd61fc07b4163fdbca3e8a5589f2b9",
        "b84d935c179a275a47e07291d2a983daf844de80"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 27 20:43:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 27 20:43:26 2013 +0000"
      },
      "message": "Merge \"camera_client: refactor Camera/ProCamera commonalities into BasicCamera\" into jb-mr2-dev"
    },
    {
      "commit": "3c3c527a792249d07938c5c6cb9b465344a22383",
      "tree": "07e9c4f4902d084c29f6c5ab6d688f3ecbba9f4c",
      "parents": [
        "48af7e8dd40883d6154e7029d9500072b551b5fa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 27 09:39:39 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 27 09:39:55 2013 -0800"
      },
      "message": "Revert \"Logging to investigate a crash\"\n\nThis reverts commit f0ff908da019a44115109f1b4d1b6864b35a8a29.\n"
    },
    {
      "commit": "b84d935c179a275a47e07291d2a983daf844de80",
      "tree": "66feb5e92054d554eda4960b600535873a9e7fbd",
      "parents": [
        "253e3c03b0cf4d5852a497ddda0f43b630664644"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 14:32:34 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 18:54:03 2013 -0800"
      },
      "message": "camera_client: refactor Camera/ProCamera commonalities into BasicCamera\n\nChange-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9\n"
    },
    {
      "commit": "dd0bda0c47871d4964b5035a096c7c8c27fa7469",
      "tree": "fc9f45ab9ef280f0d84a32a6d5b116b0cd40be69",
      "parents": [
        "48af7e8dd40883d6154e7029d9500072b551b5fa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 26 09:20:22 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 26 11:36:38 2013 -0800"
      },
      "message": "Remove tee sink debugging at compile time\n\nBug: 8223560\nChange-Id: Iddbfb06c45d43d9f20bb428215dd4094931e19a7\n"
    },
    {
      "commit": "48af7e8dd40883d6154e7029d9500072b551b5fa",
      "tree": "ce8b71d67a3313dc19c0691bc1b26d1244a106b4",
      "parents": [
        "68e6e24cb6cdd66c2209774c4871a2c47e8bbc8b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 19 10:40:14 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 25 16:11:41 2013 -0800"
      },
      "message": "CameraService and Stagefright: Support AppOps\n\nCamera:\n- Signal to AppOpsService when camera usage starts and stops\n- Listen to permissions revocations and act on them\n- Currently just kill camera connection when permissions lost\n\nStagefright:\n- Pass on client name, UID to camera as needed\n\nBug: 8181262\nChange-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0\n"
    },
    {
      "commit": "68e6e24cb6cdd66c2209774c4871a2c47e8bbc8b",
      "tree": "ae8616f64c192afcfbe5528c8f33815588625a9e",
      "parents": [
        "94a90a43b2a9f83b3a4a4a59247b74ad50336860",
        "dd4abb5177b8d94cd30a787d4ce336d5110c185c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Feb 23 01:19:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 23 01:19:43 2013 +0000"
      },
      "message": "Merge \"Update tee sink\""
    },
    {
      "commit": "dd4abb5177b8d94cd30a787d4ce336d5110c185c",
      "tree": "3c8241b21bc14d7cf3191566e4ce79cd03cd3457",
      "parents": [
        "ee9cc423e2551ffbacfd226b8627737beabaec99"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 10 12:31:01 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 22 16:50:36 2013 -0800"
      },
      "message": "Update tee sink\n\nImplement rotation to reduce long-term storage use.\nImplement optional per-track tee.\nDynamically enable at runtime based on property, instead of at compile-time.\nDynamic frame count not yet implemented.\n\nBug: 8223560\nChange-Id: I3706443c6ec0cb0c6656dc288715a02ad5fea63a\n"
    },
    {
      "commit": "d127c2c8a8b68dae2f8743c310c2547e8f46d967",
      "tree": "ac671025a00cc2f9580a1c62caa4009b915e97ee",
      "parents": [
        "418e493e8d67924cfda652cb64965647ce6381cb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 13:49:26 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: Add getInfo for getting static metadata (and a test)\n\nChange-Id: I3b87dfbc621d98bf41f37a892a1012baf85b5166\n"
    },
    {
      "commit": "418e493e8d67924cfda652cb64965647ce6381cb",
      "tree": "639c98f3054f1aa618f1e3fa4f10f0c7a71fb9b1",
      "parents": [
        "5076182ce4bf657e7211264d0ad3861212f24aa1"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 12:02:29 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - implement onResultReceived callback for metadata callbacks\n\nChange-Id: I46775402b007244bc383d6343a620eebbd492aad\n"
    },
    {
      "commit": "c0767f148e29ce821281b5965c0e25b4c143e76d",
      "tree": "d71e86b5d066b9a05e1732fa829c40affbb09411",
      "parents": [
        "5494cdc67b541034c963919aef8acb8b665e4dde"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:29:53 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - add createStreamCpu and unit test\n\nChange-Id: I468172dbfdd78510b273bf9d119c950cbeda7ea3\n"
    },
    {
      "commit": "5494cdc67b541034c963919aef8acb8b665e4dde",
      "tree": "cdffd46bace86e756bc6448028007db8e2fe74a0",
      "parents": [
        "9fb7fa159b2a47d6a7c0e9ef323b23298cdc7cb9"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:15:15 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Change ProCamera to take IGraphicBufferProducer\n\nChange-Id: Iec62eead6d179aa5486f7719143340976bb76e7d\n"
    },
    {
      "commit": "9fb7fa159b2a47d6a7c0e9ef323b23298cdc7cb9",
      "tree": "e4956f65799199fe24373001c80a398756914a69",
      "parents": [
        "69e22433b9d7df77907579f67e47a159aa57f876"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:02:36 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera2Client implement createStream,createDefaultRequest\n\nThe StreamingImage unit test should now work when TEST_DISPLAY_SECS is set.\n\nChange-Id: I9cf3ad5bd5a76096ab21bd39e631d636c4ff3d3f\n"
    },
    {
      "commit": "69e22433b9d7df77907579f67e47a159aa57f876",
      "tree": "eb271a5175ff8bac5e86ccd72637481738efddf9",
      "parents": [
        "9476926bb91bf15f7aff2a289a4805148f5a8a4e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 18:24:43 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera2Client - add createStream (service is stubbed) and unit test\n\nChange-Id: I1ae7ba9b24f5883c214c19a7ed0eaf0c802d69c1\n"
    },
    {
      "commit": "bfb5d5ef5bae01efac171397260a7152782d92c7",
      "tree": "15f645e0637ae880083804ab5876873a1108a0de",
      "parents": [
        "e4e5b2f23fa85cae789dc6824ea8af321e211d60"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:15:11 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add ProCamera private binder interface for an API2-light functionality\n\nChange-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274\n"
    },
    {
      "commit": "e4e5b2f23fa85cae789dc6824ea8af321e211d60",
      "tree": "00607609c6a079439b1c1ae583c07bbf659ff6f4",
      "parents": [
        "537799199bdd7a585585dee409e0e3a86bad93b7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 16:50:13 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add unit test infrastructure for libcameraclient\n\nChange-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c\n"
    },
    {
      "commit": "bd02dd1bf1f34eb4e100d0d058f1fe5a2790d67e",
      "tree": "09dabb9a40decb5640f9b5d419565e999a5995d2",
      "parents": [
        "ee9cc423e2551ffbacfd226b8627737beabaec99"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 13 15:53:56 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Move CameraMetadata.h from service to client library\n\nChange-Id: I940ce86f318f37ae5b73f912a6e589415150125f\n"
    },
    {
      "commit": "ee9cc423e2551ffbacfd226b8627737beabaec99",
      "tree": "b210a4f6f36ab0a6798db09baf44eadb62261231",
      "parents": [
        "3706fe79df688b84125c79838a4eeeaa11640022",
        "a6843669d4da47755ce97fb85389d4d1c52b8197"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 21 23:21:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 23:21:21 2013 +0000"
      },
      "message": "Merge \"replace getISurfaceTexture by getIGraphicBufferProducer\""
    },
    {
      "commit": "53c8ad31435bfb7c71a5b04dfc0314ac8f899219",
      "tree": "50b6e081a48441cf30ffe1afc47741c7340c7748",
      "parents": [
        "2f8025eef6c681920579f75d298a262b12a80ac9"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Wed Feb 20 13:39:37 2013 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Wed Feb 20 14:55:34 2013 -0800"
      },
      "message": "CameraService: Log camera module name\n\nExplicitly logs camera module loaded.  This is useful on systems with\nmultiple camera modules installed.  Also this make the camera service\nmatch audioflinger, which logs hardware module names as well.\n\nChange-Id: I280bf12df2d517f936916b8ba3cb662e671d0216\n"
    },
    {
      "commit": "a6843669d4da47755ce97fb85389d4d1c52b8197",
      "tree": "ce9b36fa01d3140cc7b2b7af91bcfb0dc6dea957",
      "parents": [
        "2f8025eef6c681920579f75d298a262b12a80ac9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 19 18:25:33 2013 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 19 18:25:33 2013 -0800"
      },
      "message": "replace getISurfaceTexture by getIGraphicBufferProducer\n\nChange-Id: I723a3863558126f2635a544a39bb3ec88d499c60\n"
    },
    {
      "commit": "2f8025eef6c681920579f75d298a262b12a80ac9",
      "tree": "1e3c3880f6198a9ccdcadc0cf97e6de103161aba",
      "parents": [
        "a457c43cd7f4225ffbedfbdcd68dd9cf6fef1d38"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 18 12:47:49 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 19 10:51:47 2013 -0800"
      },
      "message": "A reference cannot be re-bound\n\nBug: 8213067\nBug: 6490974\nChange-Id: If546215641fbc9a0fb1e8af8b85cc01f0a4b26ab\n"
    },
    {
      "commit": "a457c43cd7f4225ffbedfbdcd68dd9cf6fef1d38",
      "tree": "62c3cfb9c8fb3c48df46aea39f4d6c3d27dab65a",
      "parents": [
        "c046148d93212f8a4da916bb860a1fa5926fe159",
        "5f6f3764989601d3b3ee65beaf1447d2a6b5f284"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 23:55:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:55:26 2013 +0000"
      },
      "message": "Merge \"Revert \"Temporary additional logging to investigate bug\"\""
    },
    {
      "commit": "5f6f3764989601d3b3ee65beaf1447d2a6b5f284",
      "tree": "b32615250ff96cb6e55206f5c78ae2e15c83cc87",
      "parents": [
        "dd9764290b3c1d801fea9505189cae29db919902"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 23:55:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:55:04 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 32584a7d672864b20ab8b83a3cb23c1858e908b7\n\nChange-Id: I9dc680578b955b1af462eeb7a49d61a0d45eb81b\n"
    },
    {
      "commit": "c046148d93212f8a4da916bb860a1fa5926fe159",
      "tree": "1980477800bc27663417d5306d4af89de92533fb",
      "parents": [
        "4490bf05a9addf5a4e12e0da92f22d854e5ce9a0",
        "dd9764290b3c1d801fea9505189cae29db919902"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 23:54:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:54:53 2013 +0000"
      },
      "message": "Merge \"Temporary additional logging to investigate bug\""
    },
    {
      "commit": "dd9764290b3c1d801fea9505189cae29db919902",
      "tree": "2a9ef9c4d5a2d279f18f535441a0eeb8e9476700",
      "parents": [
        "6bde4671ae7cb383e731606d9ee548859047c961"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 15:44:50 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n - increase StateQueue size from 4 to 8 entries\n - log mixer-\u003eenable(), bufferProvider, and currentTrackMask\n - log buffer provider addresses\n - increase fast mixer log buffer again\n - check logf format vs. argument list compatibility\n - add logging to AudioMixer\n - add checking of magic field in AudioMixer to detect overwrites\n - add bool AudioMixer::enabled()\n - increase log buffer sizes yet again\n - enable assertion checking without ALOGV\n - improve a few log messages\n - check for corruption in more places\n - log in all the process hooks\n - add new mixer APIs so we can check for corruption of mixer state\n - fix a build warning\n\nBug: 6490974\nChange-Id: Ib0c4a73dcf606ef9bd898313b3b40ef61ab42f51\n"
    },
    {
      "commit": "b1e7cd156ca3e1747374e0d20cdd1ce467210453",
      "tree": "557f25ff5a0477f0cf0f89d4c21b0291371f09a2",
      "parents": [
        "62ad9071cd61fc56355d3c2d25895382003ea362"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 14 17:11:27 2013 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 15 12:47:35 2013 -0800"
      },
      "message": "Refactoring: Rename SurfaceTextureClient to Surface\n\nChange-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830\n"
    },
    {
      "commit": "ce70d400ff9fb614e334ab2b661df2933533ef57",
      "tree": "30610a5b21cfa882a9f17a7b4cc39d11e8ccdd7d",
      "parents": [
        "5881f18029deb80eb83ea88046d0593441be79c7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 23:57:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 23:57:02 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 639482c24c911b125398b31883ba6d55faebe28b\n\nChange-Id: I11f2829072ab11e18b0663024f27bf31192f1d39\n"
    },
    {
      "commit": "5881f18029deb80eb83ea88046d0593441be79c7",
      "tree": "3de394e4626f829fed4237e756489e0fba865236",
      "parents": [
        "7e1e1e61fca5334e11a0c26ab23e6122e742d517"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 14:35:29 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n - increase StateQueue size from 4 to 8 entries\n - log mixer-\u003eenable(), bufferProvider, and currentTrackMask\n - log buffer provider addresses\n - increase fast mixer log buffer again\n - check logf format vs. argument list compatibility\n - add logging to AudioMixer\n - add checking of magic field in AudioMixer to detect overwrites\n - add bool AudioMixer::enabled()\n\nBug: 6490974\nChange-Id: I1f3f18aa62d9fbd35bc32285b669f5ba40efe28e\n"
    },
    {
      "commit": "7f2f8042cf335ab1323dec3edbe9143a06109f4e",
      "tree": "debfbedbe8cf9a16d279f9a408519aa4743cc854",
      "parents": [
        "b900234f9e772bb7591a551f06ba17ee1969368f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 00:02:36 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 00:02:36 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 0ddd56316262ac74a95e9edb595697c163136d6d\n\nChange-Id: I180a928af6f5a38d15a5efe44cd1fe927b5d961c\n"
    },
    {
      "commit": "b900234f9e772bb7591a551f06ba17ee1969368f",
      "tree": "b637fbbfb9a0405349200102eba4e4af4f298810",
      "parents": [
        "10e5eada4a265865494b93ca588f75beef14f592"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:51:50 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n\nBug: 6490974\nChange-Id: Iee7c8f40e20b6000cd8286c0ec6a14fff4a37af1\n"
    },
    {
      "commit": "c93aff0a698265501f46393f3146b884aa357aee",
      "tree": "a53d8070243784449dc87ca193e2e121d38863b7",
      "parents": [
        "a1bf28b533907b0b234e52c72bc372b3fa49c5a3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 20:43:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 20:43:58 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 3051df27261e9952c0e642dec548515250e85f6a\n\nChange-Id: I8bf5c3e91b65bd20de26f480c367c2854b62373c\n"
    },
    {
      "commit": "a1bf28b533907b0b234e52c72bc372b3fa49c5a3",
      "tree": "16d8b1d0e8d0e768ebf7ba769c17c264b978d68d",
      "parents": [
        "e336f9113bdd35119866a3c3f8008ca01c576660"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 12:12:42 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 12:40:18 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n\nBug: 6490974\nChange-Id: I4c030f171343fe4b483eae0ddea4427118d8d4b1\n"
    },
    {
      "commit": "e336f9113bdd35119866a3c3f8008ca01c576660",
      "tree": "a53d8070243784449dc87ca193e2e121d38863b7",
      "parents": [
        "51a920302a6f376cdb24691051d96f34f24a55bf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 04 16:26:02 2013 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 11 10:13:00 2013 -0800"
      },
      "message": "Add support for querying if a stream is active remotely\n\nBug 7485803\n\nChange-Id: I0744374f130fd2dd0714102354cffed2fa915361\n"
    },
    {
      "commit": "83fa606bd629ac32a2dab5af255188acfa30db4a",
      "tree": "41d2c6dc2fbb8ef4a30eac3593ffa22279513874",
      "parents": [
        "5fa419b962f668e6fa9adf7e14fddea97cdb736e",
        "201fc9c9feb4765a12bc39e95d25f3aa1deb8ffe"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 04 17:05:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 17:05:30 2013 +0000"
      },
      "message": "Merge \"AudioFlinger: fix RecordThread initial device\""
    },
    {
      "commit": "5fa419b962f668e6fa9adf7e14fddea97cdb736e",
      "tree": "363ec9b9202f4d341ec4351fcaddc3c89b002d94",
      "parents": [
        "1d3a2a224f6a617f62fed36e9b6664f4b682727f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 04 08:15:34 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 04 08:15:34 2013 -0800"
      },
      "message": "Fix crash when destroying a DuplicatingThread\n\nBug: 8121343\nChange-Id: I9b1fc56c753e465e8a08916022e52db6c3a36906\n"
    },
    {
      "commit": "201fc9c9feb4765a12bc39e95d25f3aa1deb8ffe",
      "tree": "fc83fba00c9101d552f794021b3f551cd947673a",
      "parents": [
        "7acd13defdb3f33b2e266f1ef8f3ac85285c5e27"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 17:57:04 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 17:57:04 2013 -0800"
      },
      "message": "AudioFlinger: fix RecordThread initial device\n\nA regression was introduced when the audio device enums where\nmodified for a 32 bit representation: the device passed when\nconstructing a RecordThread was still the concatenation of input\ndevice and output device bit fields on one 32 bit value which\nis not possible anymore.\n\nThe fix consists in modifying the RecordThread constructor to accept\nseparate values for input and output devices.\n\nChange-Id: I81fb5f4718428b54251e65d74b86e198ce15193e\n"
    },
    {
      "commit": "011aa652a9349750dd6bca1dcb1b82f19e07504e",
      "tree": "11598e68d5451cdf4965ff42cecc39fdaa28d074",
      "parents": [
        "0be9fe5864c39c11eefe335038cf6ce5473e4ec5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 18 15:09:48 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 31 16:40:24 2013 -0800"
      },
      "message": "AudioFlinger uses media.log service for logging\n\nChange-Id: Ia0f8204334f6b233f644d897762a18c95d936b4b\n"
    },
    {
      "commit": "fdf4e4f1859771b95585cbc87f8cd038ea2815c6",
      "tree": "7bbc12a9d0e9c7ad29346b04b26c55d390a0b032",
      "parents": [
        "10eb4b33545a58e4b09249c30c100bc7b992250a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 18 15:31:41 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 25 15:12:14 2013 -0800"
      },
      "message": "Add media.log service based on NBLog\n\nChange-Id: Ie45093df6ac9a739d05c8d408fab52a9a8a27e7f\n"
    },
    {
      "commit": "3a948fceb6b59121cc2e5eeb458064150870ffde",
      "tree": "6ecb6c8e785b2f4dc1a4aae297e680e09a7e7385",
      "parents": [
        "45490af027a15af9fe0fdfca21f423c74cd8e4e9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 17 17:36:00 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 17 17:40:38 2013 -0800"
      },
      "message": "AudioFlinger: fix build with debug log enabled\n\nChange-Id: Id397155ec884c41cb84b35462ea09a97a04d3ed2\n"
    },
    {
      "commit": "95819503abcfafdb37fbba1401b6cd9dd91ff2f1",
      "tree": "e5cc31fdbcec75f498fd9e25d08e509dc5e26374",
      "parents": [
        "3f965475076db28848bee63d7515e80f04e3d3c1",
        "befdd0275dbb78e1a9fa2a33a3a1de731b1fe389"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 09 07:31:45 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 09 07:31:46 2013 -0800"
      },
      "message": "Merge \"Fix build warnings\""
    },
    {
      "commit": "befdd0275dbb78e1a9fa2a33a3a1de731b1fe389",
      "tree": "87cc78382de43671c5cb94988831373a2b787d52",
      "parents": [
        "b438f008d958fbe3c1ef668822c128dfe5ce97ac"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 08 16:45:38 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 08 16:45:38 2013 -0800"
      },
      "message": "Fix build warnings\n\nChange-Id: I79f4d7052a4c0a9fde144063f44a9c8c9dd575d5\n"
    },
    {
      "commit": "eae312137f71af037d5f5b4071eef8e2ecd6055e",
      "tree": "c514ca8ed0e578fda7f23c530867182804818e55",
      "parents": [
        "4f6c4590f2064c289b33b2b3978a17f57f75590d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jan 04 12:05:56 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jan 07 10:22:24 2013 -0800"
      },
      "message": "Camera2: Fix JPEG quality metadata type, new warnings.\n\n- JPEG quality tag is now a uint8_t, not an int. Update parameter code\naccordingly.\n\n- Fix new warnings about narrowing conversions.\n\nBug: 7944244\n\nChange-Id: Ie081c57c9e9323148614b170b132ffb98c0a0b9f\n"
    },
    {
      "commit": "856ff4e4c3c43550f013e80277358fdf514342bf",
      "tree": "8c4d4a5e03726de6b40ab9ed3519e738cae2fefc",
      "parents": [
        "5570227ac334479982a9dd8c1647c00f58f47c18",
        "552f274d82fb4988fb972df69134e031d375abfe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 21 15:04:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 15:04:30 2012 -0800"
      },
      "message": "Merge \"Start isolating control block accesses in a proxy\""
    },
    {
      "commit": "5570227ac334479982a9dd8c1647c00f58f47c18",
      "tree": "885046de88c68c9fc468fd02617af4cafc6a758b",
      "parents": [
        "00169223fb04a14ddb542146223540e3695c8d27",
        "f37971f624164c3ed185d3f976404a6f60f49b9a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 21 08:09:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 08:09:11 2012 -0800"
      },
      "message": "Merge \"Remove unnecessary parameter\""
    },
    {
      "commit": "10f57df484daecc356ca1720c4ba799a8bf6761a",
      "tree": "009ba67be543152cd53916c86c82b6fe23a705df",
      "parents": [
        "f93aa1fdae47ca2eddc7ca35fbde4266b114e8c5",
        "92b1343f5fbc2fc43198a0a1252fe023cc9a5061"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Dec 20 08:32:43 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 08:32:43 2012 -0800"
      },
      "message": "Merge \"Fix build warnings\""
    },
    {
      "commit": "f93aa1fdae47ca2eddc7ca35fbde4266b114e8c5",
      "tree": "b6b21be3565c767dcf9aecd7656bff1c4196f3b1",
      "parents": [
        "f5961efd27adde3726b78386328b0e649b248171",
        "05f9e4fe9a97e077b5ed37214464c0a67af80871"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Dec 20 07:39:48 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 07:39:49 2012 -0800"
      },
      "message": "Merge \"Add warning about following the design rules\""
    },
    {
      "commit": "f37971f624164c3ed185d3f976404a6f60f49b9a",
      "tree": "e3455056e9e0512786cfdd832e1fd8bba765bc7c",
      "parents": [
        "34d7db5dd43000cac7e8e156d79e9f97ccbb8990"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 11:06:53 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 18 16:16:30 2012 -0800"
      },
      "message": "Remove unnecessary parameter\n\nJust get the parameter on server side\n\nChange-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15\n"
    },
    {
      "commit": "484566c410afdfbc4b6bc5aa1732aef37428a5b8",
      "tree": "5ce1fc6a755c32f0b6ff362fe1fc5bf0d9ee2b14",
      "parents": [
        "34d7db5dd43000cac7e8e156d79e9f97ccbb8990"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 09:46:54 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 13:31:57 2012 -0800"
      },
      "message": "Rename ISurfaceTexture and SurfaceTexture\n\nThe C++ class names don\u0027t match what the classes do, so rename\nISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to\nGLConsumer.\n\nBug 7736700\n\nChange-Id: I64520a55f8c09fe6215382ea361c539a9940cba5\n"
    },
    {
      "commit": "92b1343f5fbc2fc43198a0a1252fe023cc9a5061",
      "tree": "1b18972d51d768689868d373b1b0e4187eb1af99",
      "parents": [
        "d272d6bf640dcaebeee7405469f9cacfa4bc1b72"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 14 07:13:28 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 17 12:34:42 2012 -0800"
      },
      "message": "Fix build warnings\n\nChange-Id: I9e3cfa0c6b3467fe763ce55f759d179f02c5deea\n"
    },
    {
      "commit": "552f274d82fb4988fb972df69134e031d375abfe",
      "tree": "6c356ad9ec05a6b6e392aae86cdc296c98d13a65",
      "parents": [
        "cc492bd388898f90cec4faae3c7fde561dd52239"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 04 12:22:46 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Dec 12 12:21:59 2012 -0800"
      },
      "message": "Start isolating control block accesses in a proxy\n\nThe proxy object will eventually be the only code that understands the\ndetails of the control block.  This should make it easier to change the\ncontrol block in the future.\n\nInitial set of control block fields that are isolated:\n - sample rate\n - send level\n - volume\n\nPrepare for streaming/static separation by adding a union to the control\nblock for the new fields.\n\nFix bug in handling of max sample rate on a track.  It was only checking\nat re-configuration, not at each mix.\n\nSimplify OutputTrack::obtainBuffer.\n\nChange-Id: I2249f9d04f73a911a922ad1d7f6197292c74cd92\n"
    },
    {
      "commit": "30c01816ddee2268fcd3d965240cba9c00301e7d",
      "tree": "3e3216ddec7d4e50d08a0496f9e3c26180e45dc5",
      "parents": [
        "ba8da49e244be1e18b19bb16b16ff5c75e165712"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 04 12:12:34 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Dec 12 09:38:48 2012 -0800"
      },
      "message": "Prepare for track invalidation to be done by proxy\n\nDon\u0027t rely on control block to determine whether track has been marked\ninvalid.  Instead, use a local flag that can\u0027t be corrupted by client.\n\nChange-Id: I783dafe828f93c1c3d2d0e5a08105ea536436efb\n"
    },
    {
      "commit": "e1cf3c41bd27b5ab7d8e70ef8dd6fcd0f5453568",
      "tree": "8851291ff68fc422d0e76bfeec00c37d2293a8c3",
      "parents": [
        "c984e76f3091c8210cd6bb0cae0f23549a7af0ee",
        "a4f324673f615d604362d86e1878e85c126847af"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 10 16:08:07 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 10 16:08:07 2012 -0800"
      },
      "message": "am 76143093: am f0ff908d: Logging to investigate a crash\n\n* commit \u0027761430930a7335d714af0f7c1d497feb8f9f0a5a\u0027:\n  Logging to investigate a crash\n"
    },
    {
      "commit": "ef5abc369823f634c460c8f24d3cbf310542fe3b",
      "tree": "429519b3bd4fbc7f47ee2be82f2778ef1545fbdd",
      "parents": [
        "7ecb63d26cc5a45e66248a7abb69f99a76114e07"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 07 14:13:35 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 07 16:19:09 2012 -0800"
      },
      "message": "Logging to investigate a crash\n\nBug: 6490974\nChange-Id: Ib926a9258bde4ee05ed42eea662dff68e426a997\n"
    },
    {
      "commit": "07dfb08e935fdfe9f73f452cf27e3e2b052eda4f",
      "tree": "f5a698ed9390097429df61d4f19e16fcc94a797c",
      "parents": [
        "e0da485dd76267e86cff7cbd334c74435d745225",
        "2d2b40b67515208273197ac2f03c5fabd430efae"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Dec 04 16:54:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 16:54:51 2012 -0800"
      },
      "message": "Merge \"Camera2: fix metadata symbols\""
    },
    {
      "commit": "e0da485dd76267e86cff7cbd334c74435d745225",
      "tree": "275e1d886df70787b07f65c0d83cd85ade4afbad",
      "parents": [
        "e6106dff611a0056495719c62e0c92abd9afe4c1",
        "71b6e60c52ce367bc0d64ffca60848d600511b65"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Dec 04 11:30:11 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 11:30:11 2012 -0800"
      },
      "message": "Merge \"audioflinger: define ANDROID_SMP, remove conditional tracing\""
    },
    {
      "commit": "2d2b40b67515208273197ac2f03c5fabd430efae",
      "tree": "996412d93282b01f4973c3e4218b2762ec21b03e",
      "parents": [
        "8f7453f6770070f4789cb769bd2b6a3eabad7d68"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Nov 27 16:25:46 2012 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Dec 03 14:40:48 2012 -0800"
      },
      "message": "Camera2: fix metadata symbols\n\nChange-Id: I59e457824782de26b7b489cd92eb33d48e6ee2d9\n"
    },
    {
      "commit": "4b3a49e3a9ced6e63adab08acc5b720f8feddefa",
      "tree": "4189f95a16953fa8218544fa5ceedfc7bee94e1d",
      "parents": [
        "9862e8f3ba69c46efbafdc8438bd88848a9d55da"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 29 13:38:14 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 03 09:57:37 2012 -0800"
      },
      "message": "AudioTrack::mute() is unused so remove it\n\nIf ever needed again, it could be implemented on client side by forcing\na track volume of 0.\n\nChange-Id: I88a9b4f675b6dca2948549414f9ec2c192d29269\n"
    },
    {
      "commit": "71b6e60c52ce367bc0d64ffca60848d600511b65",
      "tree": "36ff8e80ee77a4f60a0439e234f72ccd9a03ee72",
      "parents": [
        "3e5abe9b119513bdb5b8b8d7c9aa72de7339f78f"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Nov 30 19:42:28 2012 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Nov 30 19:44:24 2012 -0800"
      },
      "message": "audioflinger: define ANDROID_SMP, remove conditional tracing\n\nWith ANDROID_SMP set, tracing functionality is completely inline, and\nwithout the performance hits of external library calls, tracing does\nnot need to be conditionally compiled.\n\nChange-Id: I4b29a9a52c403f0d2ea137c5b7bc05a518a7ca4b\n"
    },
    {
      "commit": "af348741539ae4a84aa929a54ecf359dae96f3ee",
      "tree": "b799625eeebbcc4a1ee12b9767eb11262ff88170",
      "parents": [
        "e8cb004257565111cb261f3e9c786adba881859a"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Nov 30 11:11:54 2012 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Nov 30 11:11:54 2012 -0800"
      },
      "message": "Remove conditional compilation of ATRACE functions\n\nTracing functions are meant to be dynamically controlled via sysprops.\nConditional compilation removes this functionality.\n\nChange-Id: I26bc473d104d0b3c50a228dddfda3fa2428d157a\n"
    },
    {
      "commit": "05f9e4fe9a97e077b5ed37214464c0a67af80871",
      "tree": "1cf64edb5b601e3830e8cfa027ac72d842f4e575",
      "parents": [
        "1bfcf04b27bdd5320ab70b74285b855380e83f26"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 30 07:57:43 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 30 07:59:09 2012 -0800"
      },
      "message": "Add warning about following the design rules\n\nChange-Id: Ic4895ed5682bad10b03e97d8015e642ee1696533\n"
    }
  ],
  "next": "e8cb004257565111cb261f3e9c786adba881859a"
}
