)]}'
{
  "log": [
    {
      "commit": "c107387cef844aabad80ea1430bb768c2605e89f",
      "tree": "ae5bd9610d447e33a9526499d8f765381b65376d",
      "parents": [
        "3478eaa23c19dbbe473be70e8f3cc0c904d2465c",
        "17fa4ab45a87e042a0503356e641fa6ff72ef572"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:11:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:11:12 2012 -0700"
      },
      "message": "am 17fa4ab4: am b7ee9c44: Merge \"mediacodec: Return an error on getOutputFormat if there is no output format yet\"\n\n* commit \u002717fa4ab45a87e042a0503356e641fa6ff72ef572\u0027:\n  mediacodec: Return an error on getOutputFormat if there is no output format yet\n"
    },
    {
      "commit": "17fa4ab45a87e042a0503356e641fa6ff72ef572",
      "tree": "6b0aba1c3489801c32ea4d819df727cd6902fae7",
      "parents": [
        "a9ab66c5fac826a765186146128158672bfac67c",
        "b7ee9c4436c50cc5ff6e72059bf27c2c16dc1b92"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:08:10 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:08:10 2012 -0700"
      },
      "message": "am b7ee9c44: Merge \"mediacodec: Return an error on getOutputFormat if there is no output format yet\"\n\n* commit \u0027b7ee9c4436c50cc5ff6e72059bf27c2c16dc1b92\u0027:\n  mediacodec: Return an error on getOutputFormat if there is no output format yet\n"
    },
    {
      "commit": "b7ee9c4436c50cc5ff6e72059bf27c2c16dc1b92",
      "tree": "e46ebf713b523c4f4a69c04291a10d755b09b98d",
      "parents": [
        "ffd99cb795c92caee7f4bd0b26af9ae37b100fc3",
        "5c63a648f943b0ec91c3262ced77d1598ff32093"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 12:06:48 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 12:06:49 2012 -0700"
      },
      "message": "Merge \"mediacodec: Return an error on getOutputFormat if there is no output format yet\""
    },
    {
      "commit": "3478eaa23c19dbbe473be70e8f3cc0c904d2465c",
      "tree": "ae5bd9610d447e33a9526499d8f765381b65376d",
      "parents": [
        "6fb082ae298a0c6028d540c099ae5a1838701bdd"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:18:56 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:20:05 2012 -0700"
      },
      "message": "Fix a small build warning.\n\nChange-Id: I2b228db8f11a829399cdc6efe67d7b6e0a1917ba\n"
    },
    {
      "commit": "6fb082ae298a0c6028d540c099ae5a1838701bdd",
      "tree": "adc9d0004f299a5e0ea640f135fe30e38463e0fb",
      "parents": [
        "e2229fba1c7e98c243ea777f567fd72579d91e41",
        "219f195159f93d627af2b243732e3f9020511a46"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 08 11:05:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 11:05:16 2012 -0700"
      },
      "message": "Merge \"Make sure that the trackId starts from 1\" into jb-mr1-dev"
    },
    {
      "commit": "e2229fba1c7e98c243ea777f567fd72579d91e41",
      "tree": "c9896144a6719480f828d568319c81f0bba9a2ca",
      "parents": [
        "a9e0ea58738a50de84a80d3b4db1936e7433dce4",
        "b7e75cfd64893dde230dfc1c3b281a00ca1b4470"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 08 09:43:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 09:43:26 2012 -0700"
      },
      "message": "Merge \"Handle empty stsc box\" into jb-mr1-dev"
    },
    {
      "commit": "b7e75cfd64893dde230dfc1c3b281a00ca1b4470",
      "tree": "1ed2135b58a8762cdefda74197ea688a50b907b5",
      "parents": [
        "28620ee3e9926ef07f0b4cb3e22b156b812e2d7e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 08 09:19:05 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 08 09:19:05 2012 -0700"
      },
      "message": "Handle empty stsc box\n\nChange-Id: I867e2499fac3045075654aaaecf44327753327fd\n"
    },
    {
      "commit": "219f195159f93d627af2b243732e3f9020511a46",
      "tree": "3f8c072142c982726d9e56c4858c5493c8d128ba",
      "parents": [
        "a9e0ea58738a50de84a80d3b4db1936e7433dce4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 07 16:54:22 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 07 16:57:49 2012 -0700"
      },
      "message": "Make sure that the trackId starts from 1\n\no this patch avoids sending incorrect track events to applications because\n  track events contain the trackId\n\nChange-Id: I1cf054da8ab413d31a5b7fe8ed729486d1475c46\n"
    },
    {
      "commit": "a9e0ea58738a50de84a80d3b4db1936e7433dce4",
      "tree": "d107c25c3bc97a6cb1f25fb00aeb10a2882d5f26",
      "parents": [
        "51d7547944967d1157b7fe18e1fb8f7ee6810412",
        "1f8834711f23f66d528aca98cca9602fb18cab66"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 15:17:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 07 15:17:19 2012 -0700"
      },
      "message": "Merge \"Remove the no longer used PV software aac decoder.\" into jb-mr1-dev"
    },
    {
      "commit": "1f8834711f23f66d528aca98cca9602fb18cab66",
      "tree": "63625d311b37da5455e58e76fa8ab62612f924ee",
      "parents": [
        "e671207115fac3914134c61b336d5fa0242c68ca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 14:41:05 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 14:41:05 2012 -0700"
      },
      "message": "Remove the no longer used PV software aac decoder.\n\nChange-Id: Ia260f706780b66dc16a108aaa8780f68970380bd\n"
    },
    {
      "commit": "51d7547944967d1157b7fe18e1fb8f7ee6810412",
      "tree": "5c5d6cb884a163c7ea1f23899776f856fefbd1fa",
      "parents": [
        "e671207115fac3914134c61b336d5fa0242c68ca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 14:24:00 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 14:24:00 2012 -0700"
      },
      "message": "Only emit padding at the end of the stream in the aac and mp3 decoders\n\nif we actually discarded content at the beginning of the stream.\n\nChange-Id: I1e79835bb3a02350060a137b94f85f2c90f4a12b\n"
    },
    {
      "commit": "e671207115fac3914134c61b336d5fa0242c68ca",
      "tree": "466cda101e1528b81bf72c228d7060c33788dedf",
      "parents": [
        "28620ee3e9926ef07f0b4cb3e22b156b812e2d7e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 26 10:56:14 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 13:08:15 2012 -0700"
      },
      "message": "Make sure codec names and corresponding quirks are returned together.\n\nPreviously they were returned in separate vectors and only one of them was sorted if\nsoftware codecs were preferred, leaving the quirks no longer matching the codec name\nat the same index.\n\nChange-Id: Id3f1e6f9f7f8c9cc4b6ebfb86a203b4d59de8604\nrelated-to-bug: 6737884\n"
    },
    {
      "commit": "28620ee3e9926ef07f0b4cb3e22b156b812e2d7e",
      "tree": "9b86960e4b0b76e5d11987de8d51e4ec9fc103a0",
      "parents": [
        "42c5ef98bd09e7d93610d4ca1f4959b63bc3267d",
        "972f2321583ef4094477271e0fc6a1d05a1a0eea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 11:40:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 07 11:40:05 2012 -0700"
      },
      "message": "Merge \"mediacodec: Return an error on getOutputFormat if there is no output format yet\" into jb-mr1-dev"
    },
    {
      "commit": "972f2321583ef4094477271e0fc6a1d05a1a0eea",
      "tree": "ae5c8ddade5a100486d8a989c7c4d755b7908d60",
      "parents": [
        "97197157cf619fb716710eb67915fdfa93502750"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Fri Jul 13 12:48:19 2012 +0300"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 11:08:12 2012 -0700"
      },
      "message": "mediacodec: Return an error on getOutputFormat if there is no output format yet\n\nThis avoids crashing if calling the public java method\nMediaCodec.getOutputFormat immediately after MediaCodec.start\n(as the documentation example shows that one should do!).\n\nChange-Id: Icd3dd7ab9ae9e8f2a67cef171ff176735de95f58\n"
    },
    {
      "commit": "42c5ef98bd09e7d93610d4ca1f4959b63bc3267d",
      "tree": "ea68ebae1f07a2257daa1e45f2d7503e9bf0effa",
      "parents": [
        "97197157cf619fb716710eb67915fdfa93502750",
        "a6ee7bc5f9524c220377e37f6525e2d46c69b75b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 07 10:12:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 07 10:12:49 2012 -0700"
      },
      "message": "Merge \"Remove obsolete hack for TI specific code\" into jb-mr1-dev"
    },
    {
      "commit": "a6ee7bc5f9524c220377e37f6525e2d46c69b75b",
      "tree": "a400db737ac5e0c2bb7961fef314bbb975656eef",
      "parents": [
        "8da4cd7d706d9f551bf2d08cd8b61907a10cd38d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 06 22:02:27 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 06 22:03:28 2012 -0700"
      },
      "message": "Remove obsolete hack for TI specific code\n\no related-to-bug: 6566886\n\nChange-Id: I39aad214cbf7b748a95a9d22db50cd8f421931e6\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": "d9f0253353db0b859c0ca2b32eddc24e3e9d4d86",
      "tree": "ae007c2294b510ab384be44f09324c922cbd7958",
      "parents": [
        "e643ccba8b8476595ab353c9bcecc8863c53242e",
        "160d4af9d933fe9461bb213e5876fc5c8c2178c2"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 03 23:21:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 23:21:17 2012 -0700"
      },
      "message": "Merge \"Camera2: Add notification handling skeleton.\" into jb-mr1-dev"
    },
    {
      "commit": "e643ccba8b8476595ab353c9bcecc8863c53242e",
      "tree": "baa6bc04da0a672f11ca6dd8fd5007b9776f466a",
      "parents": [
        "a3b71fa5235b758d5f9ea00b9c58fbfd707fb9dd",
        "8d5ec2a336c114688e5d2950b124440e07e79ad9"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 03 17:46:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 17:46:38 2012 -0700"
      },
      "message": "Merge \"Remove circular dependency.\" into jb-mr1-dev"
    },
    {
      "commit": "8d5ec2a336c114688e5d2950b124440e07e79ad9",
      "tree": "12bce370a9f92dca263a27fc32e768c4ab9774a5",
      "parents": [
        "428b77a2b94b74665a47375b3fdb893b98d71269"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 03 17:42:01 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 03 17:43:41 2012 -0700"
      },
      "message": "Remove circular dependency.\n\nlibstagefright_chromium_http is added to build/target/product/core.mk\ninstead.\n\nBug: 6933259\nChange-Id: I2e87037eea0f1f2a56936dd02419cde564c8670d\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": "a3b71fa5235b758d5f9ea00b9c58fbfd707fb9dd",
      "tree": "74897f534787e1da1855a4b87f6de0aa3de278ac",
      "parents": [
        "36cdfb185877a7f573621d19ed2b2e1cac13d62e",
        "840667883fd09d44015716d79bc3ac4d60edc0f0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 03 14:16:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 14:16:33 2012 -0700"
      },
      "message": "Merge \"experimental support for fragmented mp4 playback in nuplayer\" into jb-mr1-dev"
    },
    {
      "commit": "840667883fd09d44015716d79bc3ac4d60edc0f0",
      "tree": "cb55492dbe3ca64b2ab9ba2f5a3bb6d0a0bcf650",
      "parents": [
        "9cb20d4a41eb84bfab7f9f0d0829393f378583f4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 16 09:34:26 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 03 13:57:32 2012 -0700"
      },
      "message": "experimental support for fragmented mp4 playback in nuplayer\n\ncherry picked from change 170999\n\nChange-Id: I407775f0290154ad4961134839a15c9f296424c0\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": "ac9b96003da5dad9ae6fc8d054d7b24ef24693fe",
      "tree": "84529f95eacfe525e3ecbc0d9a6f4b49fb0c737b",
      "parents": [
        "9cb20d4a41eb84bfab7f9f0d0829393f378583f4",
        "0dff606f42292b8a31b9eee842877f9875279dab"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 02 14:43:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 14:43:51 2012 -0700"
      },
      "message": "Merge \"Allocate buffers before calling start on its source in OMXCodec::start() for encoder case\" into jb-mr1-dev"
    },
    {
      "commit": "0dff606f42292b8a31b9eee842877f9875279dab",
      "tree": "84529f95eacfe525e3ecbc0d9a6f4b49fb0c737b",
      "parents": [
        "c9729ca1cb1760da836e293e3ed7a82f769f3e07"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 01 19:32:46 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 02 14:01:25 2012 -0700"
      },
      "message": "Allocate buffers before calling start on its source in OMXCodec::start() for encoder case\n\no This makes it possible to configure the source to use the same number of input buffers\n  as requested by the video encoder, before the source starts. As a result, hardcoded\n  number of video buffers for camera source, for instance, can be avoided.\n\no related-to-bug: 6920805\n\nChange-Id: I13d2c308dce34967768cd407f02988e92ef10a89\n"
    },
    {
      "commit": "9cb20d4a41eb84bfab7f9f0d0829393f378583f4",
      "tree": "7e080db5914465b3f739f68ae9a21cef94646c9f",
      "parents": [
        "c9729ca1cb1760da836e293e3ed7a82f769f3e07",
        "a9ab66c5fac826a765186146128158672bfac67c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 02 12:24:46 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 02 12:24:46 2012 -0700"
      },
      "message": "am a9ab66c5: (-s ours) am ffd99cb7: Merge \"Shutter sound is heard at the end of the recorded video\"\n\n* commit \u0027a9ab66c5fac826a765186146128158672bfac67c\u0027:\n  Shutter sound is heard at the end of the recorded video\n"
    },
    {
      "commit": "c9729ca1cb1760da836e293e3ed7a82f769f3e07",
      "tree": "7e080db5914465b3f739f68ae9a21cef94646c9f",
      "parents": [
        "6472badc497a9e748411f8c8c9ed5d83ef335a85"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jul 24 14:44:06 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Unifying TimedTextDriver\u0027s resume() and start().\n\n(cherry picked from gtv bb23a2b7e06c59f56e353fd4a2a66a9b8179d425)\n\nChange-Id: If5f14549fa315c34e32d6fed7c1ea09deabceb63\n"
    },
    {
      "commit": "6472badc497a9e748411f8c8c9ed5d83ef335a85",
      "tree": "682bc926abcc04dff0783b1fa4ecb379d2908cb5",
      "parents": [
        "bb6bc8491fe819f96e1902e56694715cb110ce94"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Jun 18 16:51:48 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Fix: status checking in TimedTextDriver.\n\no fixes seeking error when there\u0027s no enabled text track.\no clean up status checking code for deselectTrack.\no fixes a potential bug : pause-\u003ebackward seek can trigger unwanted\nresume.\n\nBug: 6682160\nChange-Id: I03d8788b27fb9c0a6092be83ad3578ccf3266905\n(cherry picked from commit 2dafb6071d4f14e0e208912500694912211aa26b)\n"
    },
    {
      "commit": "bb6bc8491fe819f96e1902e56694715cb110ce94",
      "tree": "276e8c9aac3e7838ed61cdbda857ae27947975e9",
      "parents": [
        "2f0632f12cd02b0350918720443c888b48f4417b"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jul 10 15:53:44 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Adds resume() function\n\no Revived resume() function to fix pause/resume bug. (Bug: 6663740)\no Mannually cherry-picked from GTV change.\n(commit: ad1197226d1c6745959f0e469f510ca06f99489f)\n\nChange-Id: I77ac90085fb1f1d2e7eb706642978a4fa4d28b49\n"
    },
    {
      "commit": "2f0632f12cd02b0350918720443c888b48f4417b",
      "tree": "e1cfdbfb3834e49e165cea7f80a10f0f612c384b",
      "parents": [
        "9007619d1f786a75dae0fff31feadbf9aed9cfb8"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Jun 01 16:21:11 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Adjust fire time of a timed text message before firing it.\n\nrelated-to-bug: 6501328\n\no When Video/Audio is stuttering, subtitle\u0027s firing time should be\nadjusted.\n\nChange-Id: I0e7e8a1796cb2b3c8a09c8fbd41690bce2689e85\n(cherry picked from gtv: commit b2c3aedcb6c145e33ded39ef81e3202b2419469f)\n"
    },
    {
      "commit": "a9ab66c5fac826a765186146128158672bfac67c",
      "tree": "9c0e95c208aba7e95023f407e6bcfe6084d14312",
      "parents": [
        "b3192c5abf7321cb3437a3aedacd632311634bff",
        "ffd99cb795c92caee7f4bd0b26af9ae37b100fc3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 01 17:22:34 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 01 17:22:34 2012 -0700"
      },
      "message": "am ffd99cb7: Merge \"Shutter sound is heard at the end of the recorded video\"\n\n* commit \u0027ffd99cb795c92caee7f4bd0b26af9ae37b100fc3\u0027:\n  Shutter sound is heard at the end of the recorded video\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": "ffd99cb795c92caee7f4bd0b26af9ae37b100fc3",
      "tree": "8052661f7b84736d863a553b4c3e0037729363e9",
      "parents": [
        "ffb829430ff20ccd6c13e6ed894f2373b2d93939",
        "a21795c5d1d4ca9a6361e4b2db3e1f053e67b1c9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 01 16:13:50 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 01 16:13:50 2012 -0700"
      },
      "message": "Merge \"Shutter sound is heard at the end of the recorded video\""
    },
    {
      "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": "3788a393bbcadebf38ac01ef9b2ecc46f07db011",
      "tree": "13d2128733883abd81ea5ef58076f06158d7ac76",
      "parents": [
        "5665fde6d4520c8e6cec81a4e1e9c86f1537f689",
        "5a81ad893eada20c32596be53dabe203b99bec3c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 01 10:32:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 01 10:33:00 2012 -0700"
      },
      "message": "Merge \"Allows MediaMetadataRetriever to retrieve video rotation angle\" into jb-mr1-dev"
    },
    {
      "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": "5a81ad893eada20c32596be53dabe203b99bec3c",
      "tree": "f499f67ddf2abb203f952c84c83f8d9cb017c415",
      "parents": [
        "25f0d7ba1987de61c75f8c68b19de48e0ad9736c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 31 14:41:35 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 31 14:46:38 2012 -0700"
      },
      "message": "Allows MediaMetadataRetriever to retrieve video rotation angle\n\no related-to-bug: 6872687\n\nChange-Id: I34e74b0756f8269edefdf3a25d8806c76fd1e2f8\n"
    },
    {
      "commit": "25f0d7ba1987de61c75f8c68b19de48e0ad9736c",
      "tree": "5ce28fa7e34a1246c474184705413c1686cb3ca5",
      "parents": [
        "c620cbd7f8dc75f6819e2b862d3c09970560bc63"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 18:06:12 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 18:06:12 2012 -0700"
      },
      "message": "Should really compare the pos to the total number of values in get() and set() methods in ListTableEntries class\n\no related-to-bug: 6435176\n\nChange-Id: Ib6f6e598304e7c9becfa6cb3fc925c55b2df2682\n"
    },
    {
      "commit": "c620cbd7f8dc75f6819e2b862d3c09970560bc63",
      "tree": "dcc433846ff4918819ace5ed5b57e3e70290aae6",
      "parents": [
        "9fbe94294ce2053d102ff5de89846a0c5015fb58"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 27 17:14:44 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 13:44:37 2012 -0700"
      },
      "message": "Refactoring how the box table entries are stored in MPEG4Writer\n\no Helps drastically reduce the time writing all the box table entries for long duration video recording sessions.\n  Experiments showed that the time is reduced from multiple seconds to less than one second for around 2.5 hours of video recording.\n\nChange-Id: I6a696823e2938b76fcf2c73605f51bf5e5c2d749\n\nrelated-to-bug: 6435176\n"
    },
    {
      "commit": "9fbe94294ce2053d102ff5de89846a0c5015fb58",
      "tree": "7ba08233afeb658bdd59e1e0b12e96638ee796a4",
      "parents": [
        "3beb3ff4af08ea02da87e6548e0544d2ba47daf1",
        "5d246efa220a7c7b22e490576c488b3853c664dd"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Sun Jul 29 16:47:58 2012 -0700"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Sun Jul 29 16:47:58 2012 -0700"
      },
      "message": "Merge remote-tracking branch \u0027goog/jb-dev-mako\u0027 into jb-mr1-dev\n\nConflicts:\n\tservices/audioflinger/AudioFlinger.cpp\n\nChange-Id: If27e4ff35de1e182394cc149e1557a49f0f7c95b\n"
    },
    {
      "commit": "3beb3ff4af08ea02da87e6548e0544d2ba47daf1",
      "tree": "e5d78a91a03a1895cc03cfeb89c26aac49d15a9e",
      "parents": [
        "5d464eb0b8cffb994a754ff108795e858a882414",
        "b3192c5abf7321cb3437a3aedacd632311634bff"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 27 15:45:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 27 15:45:41 2012 -0700"
      },
      "message": "am b3192c5a: Reconcile with jb-release\n\n* commit \u0027b3192c5abf7321cb3437a3aedacd632311634bff\u0027:\n"
    },
    {
      "commit": "5d464eb0b8cffb994a754ff108795e858a882414",
      "tree": "e5d78a91a03a1895cc03cfeb89c26aac49d15a9e",
      "parents": [
        "0ec23ce0d1ff79566c402bc30df3074f6e25a22b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 22 17:19:53 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 27 14:58:43 2012 -0700"
      },
      "message": "Swap the order of creating IAudioTrack and thread\n\nSimplifies the error recovery in case IAudioTrack fails.\n\nChange-Id: I6aee41a2ac747a5689fb4836b04174e6107bf32f\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": "b3192c5abf7321cb3437a3aedacd632311634bff",
      "tree": "7a0a8e099c9a90c42cb84b65d8462c7186e6b3cf",
      "parents": [
        "ec4147ed136546f0be29a68d8edbdafbcf656e58",
        "c749dade5de67424e53f844594fdb28204bfc62b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 27 14:51:43 2012 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 27 14:51:43 2012 -0700"
      },
      "message": "Reconcile with jb-release\n\nChange-Id: Iab9b19384ab6706f1dfca89f21ffc142f47225a3\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": "3dca4c7a5622fc6aa03397d749c4b4c1201cc4f3",
      "tree": "0867a719c65c8063b65f33d8e2304cd679245da8",
      "parents": [
        "28567defef0ba95cb38f2d80eba30b01db207a77"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 25 19:22:42 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 25 20:38:26 2012 -0700"
      },
      "message": "update to new getDisplayInfo API\n\nChange-Id: Ie273677e34b9e8475abfa0ae27620d98b3a15b77\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": "5d246efa220a7c7b22e490576c488b3853c664dd",
      "tree": "8258668e5e235b67d51d8f4554e77f8c2434fe2c",
      "parents": [
        "45dfb6ae94b33eea04d74afa378c1664e884f09a"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Jul 09 10:36:57 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 25 01:28:36 2012 -0700"
      },
      "message": "NuPlayer: Prevents creation of Video Decoder when we use Music Player\n\n- Prevents instantion of Video Decoder when we use applications like\nMusic Player  which do not support Video Playback\n- Adds a check to prevent scanning for sources when it is either an\nAudio only clip or a video only clip or an AV clip played with a\nMusic Player.\n\nChange-Id: I74dd9bc53e54fd4f3682536c987289ac252690b0\nSigned-off-by: Arvind Thatikonda \u003carvindt@codeaurora.org\u003e\n"
    },
    {
      "commit": "c749dade5de67424e53f844594fdb28204bfc62b",
      "tree": "51837c9c8163816bb896cb067e4a4a555f507a8b",
      "parents": [
        "2df63ad6bbf0ad0fd066592b44f2e15123513112",
        "70b3c7b6f3fe22d3fdd5e8926291701432d6f4e8"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Jul 24 20:23:10 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Jul 24 20:23:10 2012 -0700"
      },
      "message": "merge in jb-release history after reset to jb-dev\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": "bf5bea96f236adb5eef78c2f414ef82b3602a0f7",
      "tree": "ec9dcb7ffdb2de6257fcee026583ffe998fef1d8",
      "parents": [
        "7aa1b72252749c990c9a5efce3d8fe399261b88e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 18 17:46:06 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 24 16:59:21 2012 -0700"
      },
      "message": "Codecs: Add MetaDataMode support to software video encoders.\n\nThis support is needed to enable efficient video recording with\nemulator and camera HAL 2.\n\n- Update SoftAVCEncoder and SoftMPEG4Encoder to support MetaDataMode\n  extension.\n- Allow CameraSource to handle opaque pixel formats, so that\n  MetaDataMode can be used.\n- Remove hardware codec restriction for MetaDataMode\n\nBug: 6243944\nChange-Id: I970eb3d55542a413b6d75a78f76d3a8583155601\n"
    },
    {
      "commit": "7aa1b72252749c990c9a5efce3d8fe399261b88e",
      "tree": "6db390a741a1454d60372699634e6b22c3c917ab",
      "parents": [
        "69d799679c8c0308e42057e7b5ad63a7ae806480",
        "3499e2d178960ca3392855716c963eec7403a089"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 23 13:45:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 23 13:45:23 2012 -0700"
      },
      "message": "Merge \"Don\u0027t make the decrypted content available to Java applications via MediaExtractor.java API\""
    },
    {
      "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": "3499e2d178960ca3392855716c963eec7403a089",
      "tree": "a29b0b4d569a9b51808e88062c6ac5b2b6153c20",
      "parents": [
        "f1b3ee26cafc80900bae681bddf47446a6a3733f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 23 10:49:48 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 23 10:49:48 2012 -0700"
      },
      "message": "Don\u0027t make the decrypted content available to Java applications via MediaExtractor.java API\n\nChange-Id: I38df6a6be30a34ce3f2640f79784dc94c8ca1158\n"
    },
    {
      "commit": "f1b3ee26cafc80900bae681bddf47446a6a3733f",
      "tree": "e4458438ee1340f2810ba35be2a8cd31f8982a12",
      "parents": [
        "68ea6cab354a635ea848bc2b5cf172d7a215a057",
        "13210f3346462a86ce9fe3af72a0c200dba84e27"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 18:40:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 18:40:53 2012 -0700"
      },
      "message": "Merge \"Added number of encoded frames and duration to the MPEG4Writer::Track::dump\""
    },
    {
      "commit": "68ea6cab354a635ea848bc2b5cf172d7a215a057",
      "tree": "7493493a0cd877fbb77432e4ea8601286b1da020",
      "parents": [
        "e78d5c7bfda1e80223436df3faeb4a9e2e719bcf",
        "f6d9696bf1db133d16dd8981380e1bfbd2e0bc70"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 18:40:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 18:40:30 2012 -0700"
      },
      "message": "Merge \"Camera: Add OPAQUE pixel format to CameraParameters\""
    },
    {
      "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"
    },
    {
      "commit": "f5545b962794b78a97cafa73d0b592f55ffe06d8",
      "tree": "9a2ce9fe77de2cc8e2c3cf01145935058fcbcdeb",
      "parents": [
        "e65c89113232d070dd9153c54ca19301bca7a162",
        "a3c9d82d0f898d30982840b48d1f00fd0d831e19"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 17:13:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 17:13:21 2012 -0700"
      },
      "message": "Merge \"Bugfix: Seek on SRT external track\""
    },
    {
      "commit": "e65c89113232d070dd9153c54ca19301bca7a162",
      "tree": "09997cb32d82da8d2549044a95eb31c8c35cf39d",
      "parents": [
        "76da2635edbe0e6d023c665d5c344a3b7e070d73"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 20 15:57:23 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 20 15:57:23 2012 -0700"
      },
      "message": "fix audio effect not destroyed when needed.\n\ncommit a5f44eba contained an error which made that audio effect\nmodules where not destroyed but left in the destroyed state\nrendering them unuseable after being released.\n\nBug 6805168.\n\nChange-Id: Ia4e683b3c970ffd01846c482fde73d799ff219de\n"
    },
    {
      "commit": "76da2635edbe0e6d023c665d5c344a3b7e070d73",
      "tree": "c797b865163cbef189704d724bb047e208190031",
      "parents": [
        "c374dae535b83d9b499dd9fe8f9dabdb8b0ac9fd",
        "f57b4ea3e409537b1d5f9aaea93d356b1cebbc6a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 15:30:35 2012 -0700"
      },
      "message": "Merge \"Added a callback in nuplayer via informational event to signal the start of video rendering\""
    },
    {
      "commit": "c374dae535b83d9b499dd9fe8f9dabdb8b0ac9fd",
      "tree": "9e854a53f611c1a6a08c7ac507037c9fcf49c3c9",
      "parents": [
        "33e6e35b03a726e35203e97550f32154c91d5f13"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 19:18:06 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 15:28:25 2012 -0700"
      },
      "message": "Added a callback to signal when the rendering of the video frame just occurred\n\nChange-Id: Ifbd78606ffc33483aecebf02cb18e0e52af9624d\nrelated-to-bug: 6851811\n"
    },
    {
      "commit": "f57b4ea3e409537b1d5f9aaea93d356b1cebbc6a",
      "tree": "ca0ff108318bbe53657e62ec27f241750b6a4b55",
      "parents": [
        "33e6e35b03a726e35203e97550f32154c91d5f13"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 13:38:36 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 13:38:36 2012 -0700"
      },
      "message": "Added a callback in nuplayer via informational event to signal the start of video rendering\n\nChange-Id: Id7b9b82d4e5467ad8701bfbad4dcc5070f3703cf\n"
    },
    {
      "commit": "33e6e35b03a726e35203e97550f32154c91d5f13",
      "tree": "2648568f97f1b3f13335a044d267caa15d1d4e78",
      "parents": [
        "cd2d61016527bf48bd2e9a920bb3fdbb875eb3e4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 16 15:56:57 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 20 12:33:33 2012 -0700"
      },
      "message": "Miscellaneous audio record fixes\n\nCall AudioSystem::stopInput() if exitPending() after wait() returns.\n\nAcquire lock before clearing mActiveThread.\n\nChange-Id: Ia55e4c4b3accc65ad5479cbdc094fd919152af9f\n"
    },
    {
      "commit": "cd2d61016527bf48bd2e9a920bb3fdbb875eb3e4",
      "tree": "17db61cdcaeda8479f9f523c7689727a5b979470",
      "parents": [
        "a08412711b3266d336134b16a45e98baa8d11b9d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 18 16:49:32 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 20 12:27:12 2012 -0700"
      },
      "message": "Use constructor to initialize instead of memcpy\n\nAlso don\u0027t check for thread parameter as it\u0027s always non-NULL\n\nChange-Id: Id23ded1370556ef3f76f81f5f0c6fa644bcba681\n"
    },
    {
      "commit": "a08412711b3266d336134b16a45e98baa8d11b9d",
      "tree": "f58f6e72ad397dda999ef18807a810f91297ca7f",
      "parents": [
        "be5f05e0fdfc4e3799653702187861a2afa072ee",
        "6f434482331b55876cb09c638149c21ca40c7690"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 20 11:15:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 11:15:51 2012 -0700"
      },
      "message": "Merge \"Ensure MEDIA_INFO_BUFFERING_END is always sent\""
    },
    {
      "commit": "be5f05e0fdfc4e3799653702187861a2afa072ee",
      "tree": "1cc15fea099c579aded967ec174f00307b2517eb",
      "parents": [
        "cf9465b83405a1ec26a164b079d9898c09d87fcd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 18 15:24:02 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 20 11:08:14 2012 -0700"
      },
      "message": "Internal dump methods return void not status_t\n\nOnly the IAudioFlinger::dump() needs to return a status_t.\n\nChange-Id: Iffeb2a7db4846df850b6b2ed960276f1fd75dba0\n"
    },
    {
      "commit": "9e4c3db01ba4eb1e5acbed113f78a31374900df6",
      "tree": "a8548d961144da923801f77ab621748530d81d22",
      "parents": [
        "898a9a9b867e5d209671feee4c92266f90a55aa3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 11:07:52 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 11:07:52 2012 -0700"
      },
      "message": "Camera2: Add more verbose logging\n\nUntil ATRACE works in emulator, add more verbose logs to help debugging\n\nBug: 6243944\nChange-Id: Ic5fbf764f2717e5edd05d37e0f7d826f1d494179\n"
    },
    {
      "commit": "898a9a9b867e5d209671feee4c92266f90a55aa3",
      "tree": "f27edb5a194a91270307f3289fd8ef6ac392b99d",
      "parents": [
        "4865aa8a84465108e044480c1d976677f138fca6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 11:05:20 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 20 11:05:20 2012 -0700"
      },
      "message": "Camera2: Fix recording bugs\n\n - Release recording stream on shutdown\n - Return recording gralloc buffers to queue when they are received by\n   camera service after recording has been stopped (which is normal\n   behavior thanks to pipeline latencies in camera pipelines)\n\nBug: 6243944\nChange-Id: Ia13a501c726613fd1e404733456dbd10d7b00132\n"
    },
    {
      "commit": "cf9465b83405a1ec26a164b079d9898c09d87fcd",
      "tree": "dddd46b6c96c68fd59b295c3cfb47eb0c3cc3a22",
      "parents": [
        "4865aa8a84465108e044480c1d976677f138fca6",
        "955e78180ac6111c54f50930b0c4c12395e86cf7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 20 11:01:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 11:01:35 2012 -0700"
      },
      "message": "Merge \"AudioRecord locking\""
    },
    {
      "commit": "6f434482331b55876cb09c638149c21ca40c7690",
      "tree": "93973261c6356026e56c46700b51ab76b61266db",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 20 09:50:46 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 20 10:58:53 2012 -0700"
      },
      "message": "Ensure MEDIA_INFO_BUFFERING_END is always sent\n\nb/6620761\n\nChange-Id: Iafd2eeac7b3cbbeb42af3638628a32dc6c2bb414\n"
    },
    {
      "commit": "45dfb6ae94b33eea04d74afa378c1664e884f09a",
      "tree": "4fc280e001b95a441cc0cc4c4124ff960d477cda",
      "parents": [
        "1f1493ce72a3e823daac1b9cd94b2535e27ec8e0"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Thu Jul 05 17:27:00 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Jul 20 07:13:13 2012 -0700"
      },
      "message": "Synchronize access to OMX class member variables\n\n- Protect access to mLiveNodes KeyedVector member variable in freeNode function\n\nChange-Id: Ic86844aabc2bc897ffb7fc91cd1f54254f5e29fe\n"
    },
    {
      "commit": "a3c9d82d0f898d30982840b48d1f00fd0d831e19",
      "tree": "f11bc23bc6447b3b6b4410f733424db3cdecac04",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jul 10 21:18:22 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Jul 20 11:49:01 2012 +0900"
      },
      "message": "Bugfix: Seek on SRT external track\n\no Need to return closest upcoming subtitle when seeking time is within\ngap ranges.\no Manually cherry-picked from GTV change.\n(commit e026a83dc88888b42da77eca739b8f09a0cd6dae)\n\nrelated-to-bug: 6796228\nChange-Id: I02b7718a432d6b2f5575fa1a1a42bda6f04aa25b\n"
    },
    {
      "commit": "13210f3346462a86ce9fe3af72a0c200dba84e27",
      "tree": "0faa7e47806b95098c2dc01cf3b980d2124f0733",
      "parents": [
        "4865aa8a84465108e044480c1d976677f138fca6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 17:12:51 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 17:15:07 2012 -0700"
      },
      "message": "Added number of encoded frames and duration to the MPEG4Writer::Track::dump\n\no also removed unused varialble mMaxTimeStampUs\n\nChange-Id: I61a47e1ec8ee96a25df668637c4d4661188a1a8c\n"
    },
    {
      "commit": "4865aa8a84465108e044480c1d976677f138fca6",
      "tree": "872848b35c69752ddd53a0791645957b78b62b63",
      "parents": [
        "0dca0d2db7daf36f4f49638e120a9cf979f4d5c8",
        "5ad92f620fbbb6a8281f10169a23d38e3601e07a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 19 14:47:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 14:47:10 2012 -0700"
      },
      "message": "Merge \"Revert 94479fd5405642c67efd14cebe722feb9cbe6e77\""
    },
    {
      "commit": "0dca0d2db7daf36f4f49638e120a9cf979f4d5c8",
      "tree": "ee4a7a025fc0a24a1c362631203d6061746a5e5f",
      "parents": [
        "bb4350d3b9e9485ae59e084de270f86aecef8066",
        "77e8ae9967a078770416619e99ddb5b010def312"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 13:55:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 13:55:21 2012 -0700"
      },
      "message": "Merge \"When a request max file size is relatively small, don\u0027t store moov header at the beginning of a recorded mp4 file.\""
    },
    {
      "commit": "77e8ae9967a078770416619e99ddb5b010def312",
      "tree": "092570e7a1345d24c4b27761510e6a817188ebd7",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 17 19:18:29 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 11:47:37 2012 -0700"
      },
      "message": "When a request max file size is relatively small, don\u0027t store moov header at the\nbeginning of a recorded mp4 file.\n\nTrying to put the \u0027moov\u0027 box at the beginning of an mp4 file requires to reserve\nsome estimated space for \u0027moov\u0027. The estimate can be larger or smaller than the\nactual \u0027moov\u0027 size. When the estimate is larger, we could meet the file\nsize limit, although some space is wasted; but when the estimate is smaller than\nthe actual \u0027moov\u0027 size, we not only waste the reserved space but also have to\nuse extra space to write \u0027moov\u0027 space at the end of the file. In this case, often\nthe requested file size limit could be exceeded by a large margin.\n\nThis patch avoids putting the \u0027moov\u0027 box at the beginning when a file size limit\nis explicitly requested.\n\nChange-Id: I838443d08b5589f33f3c486c662195600e3edb9b\nrelated-to-bug: 6697505\n"
    },
    {
      "commit": "5ad92f620fbbb6a8281f10169a23d38e3601e07a",
      "tree": "c7b3d9ada1999b57f72e02e1e63ad062260d18f1",
      "parents": [
        "bb4350d3b9e9485ae59e084de270f86aecef8066"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 19 10:02:15 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 19 10:02:15 2012 -0700"
      },
      "message": "Revert 94479fd5405642c67efd14cebe722feb9cbe6e77\n\nChange-Id: I5ca78d5462badf541868785b2ba2e3f6d0cf492a\n"
    },
    {
      "commit": "bb4350d3b9e9485ae59e084de270f86aecef8066",
      "tree": "2f38f108eb3dd420695cd07cd47a55ea030d51b5",
      "parents": [
        "cb4184c917f88a3c8d70c8bc6b99fc951b11cc37"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 03 15:56:38 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 19 09:05:12 2012 -0700"
      },
      "message": "Use audio_devices_t more places\n\nChange-Id: Id0ace02ca6f480a6c46e11880acf6cdc66d83184\n"
    },
    {
      "commit": "cb4184c917f88a3c8d70c8bc6b99fc951b11cc37",
      "tree": "24bb02a54f694b57a7c7b2d30c5f7e9949c6e6cf",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a",
        "ec4147ed136546f0be29a68d8edbdafbcf656e58"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 19 08:52:07 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 19 08:52:07 2012 -0700"
      },
      "message": "am ec4147ed: Reconcile with jb-mr0-release\n\n* commit \u0027ec4147ed136546f0be29a68d8edbdafbcf656e58\u0027:\n"
    }
  ],
  "next": "ec4147ed136546f0be29a68d8edbdafbcf656e58"
}
