)]}'
{
  "log": [
    {
      "commit": "6638f3bd61df1e5d012bc600b7af4c1b4dd4a06b",
      "tree": "d85852960e73653060c9a1dc07a9678e4600fddd",
      "parents": [
        "0d268a3cae145afb2720c88ae38fb81550be5584"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 05 16:46:36 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 05 16:48:18 2012 -0700"
      },
      "message": "Fix an issue where the \"mFrameCount\" field was accessed without its containing object\n\nChange-Id: I6077b61b3e718b9b44ff86ca669a59f96b0b256f\n"
    },
    {
      "commit": "0d268a3cae145afb2720c88ae38fb81550be5584",
      "tree": "f9867ade7070263e6a521531d1ff4e6624618966",
      "parents": [
        "fbe9d81ff5fbdc5aecdcdd13e4a5d7f019824f96"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 31 12:18:27 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 04 19:00:50 2012 -0700"
      },
      "message": "Add setVideoScalingMode support to NuPlayer\n\no related-to-bug: 7089195\n\nChange-Id: Ic30d9312673f2d5837c779e023ac64468ecd4951\n"
    },
    {
      "commit": "fbe9d81ff5fbdc5aecdcdd13e4a5d7f019824f96",
      "tree": "1c19ca38ef4ec9be83a2be46189a3d6a593a0b81",
      "parents": [
        "7323115c6e55f2da73317d7ff6a69b808d74264e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 14:05:27 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 04 10:41:49 2012 -0700"
      },
      "message": "Support for acting as a wifi display sink.\n\nChange-Id: I0beac87025b93c60164daa865c89f16b72197a47\n"
    },
    {
      "commit": "7323115c6e55f2da73317d7ff6a69b808d74264e",
      "tree": "fae85c605621adcc8cbac9791365ae13517b8928",
      "parents": [
        "312380331e28b7e5693a4b1646caf2d19aba1b2a",
        "87f2a558dd12043631e12c361abef301bf603140"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 04 09:31:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 04 09:31:12 2012 -0700"
      },
      "message": "Merge \"Improvements to our MPEG2 Transport Stream parser\" into jb-mr1-dev"
    },
    {
      "commit": "312380331e28b7e5693a4b1646caf2d19aba1b2a",
      "tree": "6d2d14f97ba1e3fcdf946e749e248d7125344aec",
      "parents": [
        "cd89e8014368af1bbdfa08406d5d2eb0bbbfcca1",
        "cb1f88c684140ce0eb407049a78f889bc7d51be1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 31 14:41:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 14:41:47 2012 -0700"
      },
      "message": "Merge \"Move fragmented mp4 parser to libstagefright\" into jb-mr1-dev"
    },
    {
      "commit": "cb1f88c684140ce0eb407049a78f889bc7d51be1",
      "tree": "8aa79ee909d368f934556c12115a6d03e66ba432",
      "parents": [
        "092fe44abd787fcb4377d90c63f2aa7120a4d267"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 31 11:07:37 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 31 14:14:22 2012 -0700"
      },
      "message": "Move fragmented mp4 parser to libstagefright\n\nand rename it from Parser to FragmentedMP4Parser\nChange-Id: I986f50d0c5c93648aac675d6160e18623b031541\n"
    },
    {
      "commit": "cd89e8014368af1bbdfa08406d5d2eb0bbbfcca1",
      "tree": "372818c0898b8c0db85e0ebd482359e14ddba066",
      "parents": [
        "892020e46b97adfa012be7a9dd688a2d6d528de4",
        "da7ff5321539ac07ec76d0d03bd1b9b09a1823bf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 14:03:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 14:03:25 2012 -0700"
      },
      "message": "Merge \"Added an additional virtual method IStreamSource::flags().\" into jb-mr1-dev"
    },
    {
      "commit": "892020e46b97adfa012be7a9dd688a2d6d528de4",
      "tree": "325ad9f27de7ba9813b6521478faee260381ffec",
      "parents": [
        "6135667138a47f9139274833e49bf580633dd8f0",
        "f56afa4878694803a44d1b0e9a54762d1d5ab652"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 13:57:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 13:57:33 2012 -0700"
      },
      "message": "Merge \"Special mode for ESQueue that allows for earlier dequeuing of access units\" into jb-mr1-dev"
    },
    {
      "commit": "87f2a558dd12043631e12c361abef301bf603140",
      "tree": "f8b3896d77e8ba22b3edbcade5d98d0aaa8cde13",
      "parents": [
        "dc91c885f267005e06f439a3bd592b3d8706bb50"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 13:55:24 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 13:55:24 2012 -0700"
      },
      "message": "Improvements to our MPEG2 Transport Stream parser\n\nVerifies the continuity counter\nParses and associates PCR time with streams\nAllows for a absolute time anchor to be signalled via discontinuity.\n\nChange-Id: I4bc88c78382c9cc6380f28df584cc6c254e0a8f9\n"
    },
    {
      "commit": "f56afa4878694803a44d1b0e9a54762d1d5ab652",
      "tree": "def3c51c4c88e7c416f9f4b42992de78b17fc630",
      "parents": [
        "dc91c885f267005e06f439a3bd592b3d8706bb50"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 10:36:25 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 13:47:48 2012 -0700"
      },
      "message": "Special mode for ESQueue that allows for earlier dequeuing of access units\n\nif it\u0027s know beforehand that each PES packet contains exactly one access unit.\nCurrently this optimization is only supported for H.264 video.\n\nChange-Id: I0888027cc7e9850307484b11dba1191cf6bfac83\n"
    },
    {
      "commit": "da7ff5321539ac07ec76d0d03bd1b9b09a1823bf",
      "tree": "dbbf951396f9dbae58a76bdeaa8d0bba9f9cebf6",
      "parents": [
        "dc91c885f267005e06f439a3bd592b3d8706bb50"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 13:40:12 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 13:40:12 2012 -0700"
      },
      "message": "Added an additional virtual method IStreamSource::flags().\n\nChange-Id: I89e62d84328e12f08c8f73cbfd53cfb42569de97\n"
    },
    {
      "commit": "6135667138a47f9139274833e49bf580633dd8f0",
      "tree": "b15fbfd3e424259b523f989c44d674e2fddb7c93",
      "parents": [
        "092fe44abd787fcb4377d90c63f2aa7120a4d267",
        "cfaeeec0900014d97e15829e0fa52f865ee4c786"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 13:07:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 13:07:31 2012 -0700"
      },
      "message": "Merge \"Add support for mpeg2 transport streams to the RTSP implementation.\" into jb-mr1-dev"
    },
    {
      "commit": "092fe44abd787fcb4377d90c63f2aa7120a4d267",
      "tree": "802a20db19e8f4a051b6612072ba6884dec4cce0",
      "parents": [
        "6bcdca035d4e9f7b2aee2d3febd8e2df5f57ae6f"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenw@quicinc.com",
        "time": "Fri Aug 31 10:24:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 11:27:02 2012 -0700"
      },
      "message": "Camera: set vendor_ops on camera metadata.\n\nThis makes sure that vendor specific metadata can propogate through\nthe framework.\n\nChange-Id: I3bd0ae4b889eb907caf7b305dbcb16abbbef0ea3\n"
    },
    {
      "commit": "6bcdca035d4e9f7b2aee2d3febd8e2df5f57ae6f",
      "tree": "d45bf656b7d914566783cfd5d7b000499ed853f0",
      "parents": [
        "9ed644af05addc13be50e90bdc85e999885b0d58",
        "371e121745c2e43e3c26fd1a854eaf6d3324f057"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 31 11:26:10 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 31 11:26:10 2012 -0700"
      },
      "message": "am 371e1217: (-s ours) am 8b152566: Merge \"OMXCodec: enhance error handling of OMX IL client\"\n\n* commit \u0027371e121745c2e43e3c26fd1a854eaf6d3324f057\u0027:\n  OMXCodec: enhance error handling of OMX IL client\n"
    },
    {
      "commit": "371e121745c2e43e3c26fd1a854eaf6d3324f057",
      "tree": "0f380a6b6918d35d612cbb6ec8a766e557571245",
      "parents": [
        "8836f8e0bfc64dce81963db89dfc5d0f11c29483",
        "8b1525663322685ff34d9c09176feebd102e1c3d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 31 11:19:38 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 31 11:19:38 2012 -0700"
      },
      "message": "am 8b152566: Merge \"OMXCodec: enhance error handling of OMX IL client\"\n\n* commit \u00278b1525663322685ff34d9c09176feebd102e1c3d\u0027:\n  OMXCodec: enhance error handling of OMX IL client\n"
    },
    {
      "commit": "8b1525663322685ff34d9c09176feebd102e1c3d",
      "tree": "e4697ba615aa8dff1e4789d3bdb53e6522935869",
      "parents": [
        "5b15adfe9e5ee9a92b5f0a2853246fce170d4eef",
        "520c3c74d701532759e12c3b54d43b415afcb6d2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 31 11:01:18 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 31 11:01:18 2012 -0700"
      },
      "message": "Merge \"OMXCodec: enhance error handling of OMX IL client\""
    },
    {
      "commit": "cfaeeec0900014d97e15829e0fa52f865ee4c786",
      "tree": "d97027786e1326f54d3d687b5e724eb5b7c04a3b",
      "parents": [
        "dc91c885f267005e06f439a3bd592b3d8706bb50"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 10:27:46 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 10:27:46 2012 -0700"
      },
      "message": "Add support for mpeg2 transport streams to the RTSP implementation.\n\nChange-Id: I409d7133a53a71e62523b1acc2b03302fcf824a5\n"
    },
    {
      "commit": "9ed644af05addc13be50e90bdc85e999885b0d58",
      "tree": "d45bf656b7d914566783cfd5d7b000499ed853f0",
      "parents": [
        "b3428f7f8ebd9b08a631889dda48bf5951ab21b6",
        "ba8da29bb615bd507c4d182f8f7b3b6743edd1c8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 31 09:19:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 09:19:13 2012 -0700"
      },
      "message": "Merge \"Documentation on pipes\" into jb-mr1-dev"
    },
    {
      "commit": "b3428f7f8ebd9b08a631889dda48bf5951ab21b6",
      "tree": "ae3b4dc7668249183c15d753f08153de3faea2f4",
      "parents": [
        "dc91c885f267005e06f439a3bd592b3d8706bb50",
        "c3ae93f21280859086ae371428ffd32f39e76d50"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 31 09:17:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 09:17:55 2012 -0700"
      },
      "message": "Merge \"Update audio comments\" into jb-mr1-dev"
    },
    {
      "commit": "dc91c885f267005e06f439a3bd592b3d8706bb50",
      "tree": "5673f3b21d367dc4efd6afade038c018b4efd83b",
      "parents": [
        "64d7b68fc25bbb2fc5558c645138eb625ca64674",
        "b6777017a68ed473d61cc9d6e77c34fd5cd301cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 08:34:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 08:34:32 2012 -0700"
      },
      "message": "Merge \"Implement the source-\u003esink(!) keep alive the wfd specs mandate...\" into jb-mr1-dev"
    },
    {
      "commit": "520c3c74d701532759e12c3b54d43b415afcb6d2",
      "tree": "e4697ba615aa8dff1e4789d3bdb53e6522935869",
      "parents": [
        "5b15adfe9e5ee9a92b5f0a2853246fce170d4eef"
      ],
      "author": {
        "name": "Weian Chen",
        "email": "weian.chen@intel.com",
        "time": "Fri Jul 27 04:55:11 2012 -0400"
      },
      "committer": {
        "name": "Shuo Gao",
        "email": "shuo.gao@intel.com",
        "time": "Fri Aug 31 11:22:11 2012 +0800"
      },
      "message": "OMXCodec: enhance error handling of OMX IL client\n\nOriginal design doesn\u0027t handle event EMPTY_BUFFER_DONE and\nFILL_BUFFER_DONE which leads to buffer status mess issue,\nand in turn leads to mediaserver crash.\nHere we will handle those 2 events anyway to fix this.\n\nChange-Id: Ia90b46ea7ec6026d6fda5d33fef6773435788b04\nAuthor: Tianmi Chen\u003ctianmi.chen@intel.com\u003e\nSigned-off-by: Tianmi Chen\u003ctianmi.chen@intel.com\u003e\nSigned-off-by: Weian Chen \u003cweian.chen@intel.com\u003e\nSigned-off-by: Shuo Gao \u003cshuo.gao@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\nAuthor-tracking-BZ: 49066, 27054\n"
    },
    {
      "commit": "64d7b68fc25bbb2fc5558c645138eb625ca64674",
      "tree": "0708d0894f7b02c43b2a3a5554aa2b28fee9b081",
      "parents": [
        "c9936c72c128a4a9288424fb082d7e7fe4b9b91f",
        "3d26e897fc91cf6ad3576d25b4b240e9a2189970"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Aug 30 18:25:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 18:25:36 2012 -0700"
      },
      "message": "Merge \"Don\u0027t hard code the number of buffers for SurfaceMediaSource\" into jb-mr1-dev"
    },
    {
      "commit": "b6777017a68ed473d61cc9d6e77c34fd5cd301cc",
      "tree": "541c36b023ebc5f9553506fc627fe7331671db48",
      "parents": [
        "bcf09f8c995221e75c7cd328f25c7cc6d2b5f7c9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 16:04:34 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 16:04:34 2012 -0700"
      },
      "message": "Implement the source-\u003esink(!) keep alive the wfd specs mandate...\n\nChange-Id: I388d9911ebd243aa9c13a13ec3683e76898470a6\n"
    },
    {
      "commit": "c3ae93f21280859086ae371428ffd32f39e76d50",
      "tree": "542d16fac64eb1f6e40c32517d60c2da5078e900",
      "parents": [
        "c9936c72c128a4a9288424fb082d7e7fe4b9b91f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 30 10:59:30 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:31:00 2012 -0700"
      },
      "message": "Update audio comments\n\nChange-Id: Ie7504d0ddb252f7e4d4f99ed0b44cfc7b1049816\n"
    },
    {
      "commit": "ba8da29bb615bd507c4d182f8f7b3b6743edd1c8",
      "tree": "70c035bb83d9ce6437bf987ab50fe132f63a542a",
      "parents": [
        "c9936c72c128a4a9288424fb082d7e7fe4b9b91f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 29 12:25:28 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:25:53 2012 -0700"
      },
      "message": "Documentation on pipes\n\nChange-Id: I3de496c7db026c50dcb6bc577741bb65d08e7c9d\n"
    },
    {
      "commit": "c9936c72c128a4a9288424fb082d7e7fe4b9b91f",
      "tree": "1c129a891d7bc87be5528b94fb1e58f39ba4f040",
      "parents": [
        "5dcc2c988eefba1049fe64172bc5fc7e6ee27c8b",
        "7aa25591769685ae0e8349b3ca3534c724484375"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:20:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 15:20:56 2012 -0700"
      },
      "message": "Merge \"Remove dead code\" into jb-mr1-dev"
    },
    {
      "commit": "7aa25591769685ae0e8349b3ca3534c724484375",
      "tree": "366da12832fc0b0033ac79a456eac6ca8acdb9f0",
      "parents": [
        "b9cba9b731195d4387ee21b7e9ba1137a3cfda68"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 02 16:37:07 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:18:16 2012 -0700"
      },
      "message": "Remove dead code\n\nRecordThread::isValidSyncEvent() returns false, so most of\nRecordThread::setSyncEvent() is never executed.\n\nChange-Id: I0cf848beb46a367a45126d2df3073c5afa2ca59c\n"
    },
    {
      "commit": "5dcc2c988eefba1049fe64172bc5fc7e6ee27c8b",
      "tree": "843fcb9a1f79415d00cec48213dbf75b69b73e7a",
      "parents": [
        "b9cba9b731195d4387ee21b7e9ba1137a3cfda68",
        "bcf09f8c995221e75c7cd328f25c7cc6d2b5f7c9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 15:12:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 15:12:30 2012 -0700"
      },
      "message": "Merge \"Only run the wifi display RTSP server on demand, and only on the wifi direct\" into jb-mr1-dev"
    },
    {
      "commit": "b9cba9b731195d4387ee21b7e9ba1137a3cfda68",
      "tree": "6ee03e2fc8309bd045aed42bac69d8107ac0c2fd",
      "parents": [
        "cba53fbdaa723322f7157a4890feab776beae13e",
        "2dd4bdd715f586d4d30cf90cc6fc2bbfbce60fe0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:05:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 15:05:01 2012 -0700"
      },
      "message": "Merge \"Move libnbaio out of AudioFlinger\" into jb-mr1-dev"
    },
    {
      "commit": "bcf09f8c995221e75c7cd328f25c7cc6d2b5f7c9",
      "tree": "12db95dcd0186648022458280b950cf4aa154849",
      "parents": [
        "86b1961a8d61086ef8d5475182f2a3cf4392b42c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 14:51:40 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 14:51:40 2012 -0700"
      },
      "message": "Only run the wifi display RTSP server on demand, and only on the wifi direct\n\ninterface.\n\nChange-Id: I7d3c44cb79cd40e73499f2d7ccf35c69b628e6d7\n"
    },
    {
      "commit": "3d26e897fc91cf6ad3576d25b4b240e9a2189970",
      "tree": "545f17faa1dc0a14c10ea7d70d1fbf3dd8f28a1f",
      "parents": [
        "0a24726a64ba1c50aa6ee1610de2d80602d49fe6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 23 09:23:07 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Aug 30 13:33:10 2012 -0700"
      },
      "message": "Don\u0027t hard code the number of buffers for SurfaceMediaSource\n\nChange-Id: I9ce17b3dc82a5d3e4a66569c76ad9745ceedacd6\n"
    },
    {
      "commit": "cba53fbdaa723322f7157a4890feab776beae13e",
      "tree": "1da03e4a883c903902710c4c7b7d3be39a3a3187",
      "parents": [
        "23466a95b6b66b9f9592148f4252775e16d46e5b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 30 11:16:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 11:48:41 2012 -0700"
      },
      "message": "audio effects: fix bug in sample rate control.\n\nFix a bug in LVM bundle wrapper preventing audio framework sample rate\nfrom being sent to the effect bundle instance.\n\nChange-Id: I912027f866d3beac91b977bba869ff96a92d2a62\n"
    },
    {
      "commit": "23466a95b6b66b9f9592148f4252775e16d46e5b",
      "tree": "116bb58134dd2eef543f7bacda197f09d139efcf",
      "parents": [
        "5f00501d1cf538af7be0af4ec7866bf5a9397dd4",
        "f128dc51c81e6b831806e0de505e4edbb02b7e71"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 11:37:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 11:37:19 2012 -0700"
      },
      "message": "Merge \"Camera2: Require 2 JPEG thumbnail resolutions.\" into jb-mr1-dev"
    },
    {
      "commit": "5f00501d1cf538af7be0af4ec7866bf5a9397dd4",
      "tree": "17a7b50e3c184a7ae4777de19cad7dd2bacb4c59",
      "parents": [
        "86b1961a8d61086ef8d5475182f2a3cf4392b42c",
        "d86a6880fe86bda21a9b53b240996fc410a512a5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 11:37:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 11:37:01 2012 -0700"
      },
      "message": "Merge changes I7bef5694,Id38e2a52 into jb-mr1-dev\n\n* changes:\n  Camera2: Move preview callback processing to its own thread.\n  Camera2: Move still capture processing to separate thread.\n"
    },
    {
      "commit": "86b1961a8d61086ef8d5475182f2a3cf4392b42c",
      "tree": "2d1de1410cae399dbcdd39cafdff2b0d7c66f912",
      "parents": [
        "546436a4569ec76ddfba78783851440edf990fbc",
        "082830f92373a1b9e512dbbfb940187ffa1c2c6f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 11:01:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 11:01:13 2012 -0700"
      },
      "message": "Merge \"Prepare for transmitting audio through AudioSource.\" into jb-mr1-dev"
    },
    {
      "commit": "082830f92373a1b9e512dbbfb940187ffa1c2c6f",
      "tree": "46124186416264ddfe73a0dfabe4974777ff0405",
      "parents": [
        "e05a679401c7baeb0f82ce105eb20ae1ec863cdf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 10:56:14 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 10:56:14 2012 -0700"
      },
      "message": "Prepare for transmitting audio through AudioSource.\n\nAudioSource can now be configured to output buffers timestamped based\non looper time (absolute) instead of based on systemTime() relative to\nstart time.\n\nChange-Id: I8eca42648eb50033ac4aafbe5daac64a98a40690\n"
    },
    {
      "commit": "546436a4569ec76ddfba78783851440edf990fbc",
      "tree": "406114bbae9716dee9f3f1b4a8e36cd172e3e6ae",
      "parents": [
        "682d5593c9639090b3e08bd57570f3299df9da92",
        "e05a679401c7baeb0f82ce105eb20ae1ec863cdf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 10:54:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 10:54:42 2012 -0700"
      },
      "message": "Merge \"Transmit frames at a higher frame rate for smoother updates, increase\" into jb-mr1-dev"
    },
    {
      "commit": "682d5593c9639090b3e08bd57570f3299df9da92",
      "tree": "92796232fc86de18eaeb0f0fbc85efe75efe7db8",
      "parents": [
        "6524b7e1e6aae7dc1fe650119ec4bcf96b5a3f6b",
        "774df0dce0116c69b6d17f2e4a4912e06138e575"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 10:54:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 10:54:28 2012 -0700"
      },
      "message": "Merge \"Optionally log the transport stream transmitted to the sink.\" into jb-mr1-dev"
    },
    {
      "commit": "2dd4bdd715f586d4d30cf90cc6fc2bbfbce60fe0",
      "tree": "d0f594b402b6d2a4de89386c30c3db4adab89894",
      "parents": [
        "0a24726a64ba1c50aa6ee1610de2d80602d49fe6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 29 11:10:32 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 10:53:37 2012 -0700"
      },
      "message": "Move libnbaio out of AudioFlinger\n\nlibnbaio is now a separate shared library from AudioFlinger, rather\nthan a static library used only by AudioFlinger.\n\nAudioBufferProvider interface is now also independent of AudioFlinger,\nmoved to include/media/\n\nChange-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b\n"
    },
    {
      "commit": "e05a679401c7baeb0f82ce105eb20ae1ec863cdf",
      "tree": "217222de3c0bb646f4d1f5eb2a34fdf15cec768c",
      "parents": [
        "774df0dce0116c69b6d17f2e4a4912e06138e575"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 10:01:17 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 10:01:17 2012 -0700"
      },
      "message": "Transmit frames at a higher frame rate for smoother updates, increase\n\nvideo bandwidth to 5 Mbit/sec.\n\nChange-Id: Ieb9051b0f29d5a20004d1b3befdb745bc67769c7\n"
    },
    {
      "commit": "f128dc51c81e6b831806e0de505e4edbb02b7e71",
      "tree": "e394875bf4bc23a5bc1d34d814d2236c1f4861a3",
      "parents": [
        "d86a6880fe86bda21a9b53b240996fc410a512a5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 13:38:23 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:50:42 2012 -0700"
      },
      "message": "Camera2: Require 2 JPEG thumbnail resolutions.\n\nInclude (0,0) as a required thumbnail resolution, to allow turning off\nthumbnails.\n\nChange-Id: I3c4efe2d6a4f576a11ce5b75a3d573812a100b80\n"
    },
    {
      "commit": "d86a6880fe86bda21a9b53b240996fc410a512a5",
      "tree": "ab4ccaba3c5ba600dd273fb2fa310ea21407ae91",
      "parents": [
        "ea0d51b5ed0b474433b02414f9133b835f972569"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 11:34:14 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:50:42 2012 -0700"
      },
      "message": "Camera2: Move preview callback processing to its own thread.\n\nTo reduce delays for HAL callbacks, manage preview callbacks in their\nown thread.\n\nBug: 6243944\nChange-Id: I7bef56949ac889ffce4e031bf40291a771a46f3e\n"
    },
    {
      "commit": "ea0d51b5ed0b474433b02414f9133b835f972569",
      "tree": "66b873f5a3c2834a54a2ec16018bc6b6d2505206",
      "parents": [
        "6524b7e1e6aae7dc1fe650119ec4bcf96b5a3f6b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 01:25:43 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:50:41 2012 -0700"
      },
      "message": "Camera2: Move still capture processing to separate thread.\n\nTo avoid stalling HAL when it queues up new buffers for still capture,\nprocess still captures in a separate thread. Also move Camera2Heap to\nits own class so it can be used by the CaptureProcessor.\n\nBug: 6243944\nChange-Id: Id38e2a52367c0985812fcd4fd9af3ef90beef43f\n"
    },
    {
      "commit": "6524b7e1e6aae7dc1fe650119ec4bcf96b5a3f6b",
      "tree": "5191fe3f694ed595cc4ae81c3617e7000df59ac1",
      "parents": [
        "2f9a44101f4fd372834c67150aea76a07b94b5ec",
        "a16733eeb9c40db4793bec408f29b4204e5f23b1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 30 09:41:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 09:41:02 2012 -0700"
      },
      "message": "Merge \"Camera2: Factor out FrameProcessor.\" into jb-mr1-dev"
    },
    {
      "commit": "774df0dce0116c69b6d17f2e4a4912e06138e575",
      "tree": "b1ea493b78218e4c4e5be76d5e14d2675da05ffe",
      "parents": [
        "2f9a44101f4fd372834c67150aea76a07b94b5ec"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 09:13:54 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 09:13:54 2012 -0700"
      },
      "message": "Optionally log the transport stream transmitted to the sink.\n\nChange-Id: I5d392e7997d6beb09ba6eca70d6899747098d2b3\n"
    },
    {
      "commit": "2f9a44101f4fd372834c67150aea76a07b94b5ec",
      "tree": "668d7d0ca31f28f267ffe1331157b56996911e6e",
      "parents": [
        "d8ee4e56f92eeb44ddc0997efe280b9f28ad814d",
        "2dff0f6a7bf06a878ad0890d93dc9c1ef0b5a107"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 16:10:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 29 16:10:01 2012 -0700"
      },
      "message": "Merge \"Fix wifi display shutdown deadlock.\" into jb-mr1-dev"
    },
    {
      "commit": "2dff0f6a7bf06a878ad0890d93dc9c1ef0b5a107",
      "tree": "5d03f1a61f3ed4fc960eb3ce43c623b795ad8ad2",
      "parents": [
        "d7bee3a9d2ad76d073d91f0ee36d5ac5f9df480c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 16:08:08 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 16:08:08 2012 -0700"
      },
      "message": "Fix wifi display shutdown deadlock.\n\nChange-Id: I77eed39f39c0de6b427c425248ff7d21c051c074\n"
    },
    {
      "commit": "d8ee4e56f92eeb44ddc0997efe280b9f28ad814d",
      "tree": "8ae19d56b416a17a218c4c405939acad3fe8cb1e",
      "parents": [
        "f147b722ad2405c7f92ea8691f36b04a82d62bb1",
        "d7bee3a9d2ad76d073d91f0ee36d5ac5f9df480c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 15:29:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 29 15:29:11 2012 -0700"
      },
      "message": "Merge \"Initial checkin of support for acting as a wifi display source\" into jb-mr1-dev"
    },
    {
      "commit": "d7bee3a9d2ad76d073d91f0ee36d5ac5f9df480c",
      "tree": "3c4c7a83313d169b13c79c9660afeb804d27b975",
      "parents": [
        "eb941f9a0c8474324732a99387cc6d8cb4ab01ef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 11:41:50 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 15:06:57 2012 -0700"
      },
      "message": "Initial checkin of support for acting as a wifi display source\n\nChange-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a\n"
    },
    {
      "commit": "f147b722ad2405c7f92ea8691f36b04a82d62bb1",
      "tree": "bf6dd9e322d082c45db1274a6211e104ae8fb017",
      "parents": [
        "0a24726a64ba1c50aa6ee1610de2d80602d49fe6",
        "1b19c9d120869c3182373a9b06a1ed98898df882"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 14:21:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 29 14:21:03 2012 -0700"
      },
      "message": "Merge \"Preliminary support for HDCP as a binder service for wifi display support.\" into jb-mr1-dev"
    },
    {
      "commit": "1b19c9d120869c3182373a9b06a1ed98898df882",
      "tree": "f004f06f4d23698432b71da01873147a8da7c44e",
      "parents": [
        "eb941f9a0c8474324732a99387cc6d8cb4ab01ef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 11:34:22 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 11:34:22 2012 -0700"
      },
      "message": "Preliminary support for HDCP as a binder service for wifi display support.\n\nChange-Id: Ie0de1c086c629a668d1c7863992eef56fb94157c\n"
    },
    {
      "commit": "0a24726a64ba1c50aa6ee1610de2d80602d49fe6",
      "tree": "52dc8f5e163c26cb134853956be824298cb6a5eb",
      "parents": [
        "55fb8470278b2eb747db3f4d7c245e37abdb7f2f",
        "8836f8e0bfc64dce81963db89dfc5d0f11c29483"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 10:58:24 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 10:58:24 2012 -0700"
      },
      "message": "am 8836f8e0: am 5b15adfe: Merge \"MPEG2TSWriter: Read more immediately if an empty buffer is received\"\n\n* commit \u00278836f8e0bfc64dce81963db89dfc5d0f11c29483\u0027:\n  MPEG2TSWriter: Read more immediately if an empty buffer is received\n"
    },
    {
      "commit": "55fb8470278b2eb747db3f4d7c245e37abdb7f2f",
      "tree": "6b5b3722becd97679797e1db13bb70a16b5fcf5e",
      "parents": [
        "b7b8de8878a32cd62916b29cf2cbf4f7437adbea",
        "bf30787f2694057e775f3b527b649a9f8074237b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 10:58:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 10:58:22 2012 -0700"
      },
      "message": "am bf30787f: am 735d1b92: Merge \"avcenc: Don\\\u0027t erase the InputBufferInfo before reading info from it\"\n\n* commit \u0027bf30787f2694057e775f3b527b649a9f8074237b\u0027:\n  avcenc: Don\u0027t erase the InputBufferInfo before reading info from it\n"
    },
    {
      "commit": "b7b8de8878a32cd62916b29cf2cbf4f7437adbea",
      "tree": "408f84d244d56ccf70c58d87da5416d1ae31fbd6",
      "parents": [
        "ac4187569c7011c2dcfb9ed1ad658b7ad8cba046",
        "0924dd88790ba9cda0d5a86df7d68b7446470fc7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 10:58:21 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 10:58:21 2012 -0700"
      },
      "message": "am 0924dd88: am 2aa37a7d: Merge \"recordvideo: Add an option for choosing software encoders\"\n\n* commit \u00270924dd88790ba9cda0d5a86df7d68b7446470fc7\u0027:\n  recordvideo: Add an option for choosing software encoders\n"
    },
    {
      "commit": "ac4187569c7011c2dcfb9ed1ad658b7ad8cba046",
      "tree": "b981c8a291ca7ba29fc32d12a0af5933b73a9b95",
      "parents": [
        "eb941f9a0c8474324732a99387cc6d8cb4ab01ef",
        "3f9e843d924f220f6094241bc765cd69d8fc6d7b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 10:58:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 10:58:19 2012 -0700"
      },
      "message": "am 3f9e843d: am 9ce74352: Merge \"recordvideo: Sleep while waiting for the encoding to finish\"\n\n* commit \u00273f9e843d924f220f6094241bc765cd69d8fc6d7b\u0027:\n  recordvideo: Sleep while waiting for the encoding to finish\n"
    },
    {
      "commit": "8836f8e0bfc64dce81963db89dfc5d0f11c29483",
      "tree": "6f52c07d78708bc27513f17a2f6d73330ae3e46b",
      "parents": [
        "bf30787f2694057e775f3b527b649a9f8074237b",
        "5b15adfe9e5ee9a92b5f0a2853246fce170d4eef"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 09:45:24 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 09:45:24 2012 -0700"
      },
      "message": "am 5b15adfe: Merge \"MPEG2TSWriter: Read more immediately if an empty buffer is received\"\n\n* commit \u00275b15adfe9e5ee9a92b5f0a2853246fce170d4eef\u0027:\n  MPEG2TSWriter: Read more immediately if an empty buffer is received\n"
    },
    {
      "commit": "bf30787f2694057e775f3b527b649a9f8074237b",
      "tree": "83771a1459fb6660b4daa1bde0a52d0c797b0172",
      "parents": [
        "0924dd88790ba9cda0d5a86df7d68b7446470fc7",
        "735d1b926fa3e057c92d74cebacca2f243ead274"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 09:45:23 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 09:45:23 2012 -0700"
      },
      "message": "am 735d1b92: Merge \"avcenc: Don\\\u0027t erase the InputBufferInfo before reading info from it\"\n\n* commit \u0027735d1b926fa3e057c92d74cebacca2f243ead274\u0027:\n  avcenc: Don\u0027t erase the InputBufferInfo before reading info from it\n"
    },
    {
      "commit": "0924dd88790ba9cda0d5a86df7d68b7446470fc7",
      "tree": "2f3b5f28a62b2c8506fde93f0686ff78c2ab9fb9",
      "parents": [
        "3f9e843d924f220f6094241bc765cd69d8fc6d7b",
        "2aa37a7d15f5e2246b8996d2600269684904c581"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 09:45:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 09:45:22 2012 -0700"
      },
      "message": "am 2aa37a7d: Merge \"recordvideo: Add an option for choosing software encoders\"\n\n* commit \u00272aa37a7d15f5e2246b8996d2600269684904c581\u0027:\n  recordvideo: Add an option for choosing software encoders\n"
    },
    {
      "commit": "3f9e843d924f220f6094241bc765cd69d8fc6d7b",
      "tree": "7b51c2e76fc821d0affefc6f192d925fbf01731e",
      "parents": [
        "07315f8262f843f3624c70974642e4fb733a661c",
        "9ce74352d23d833f9627b7be58be964206e6ff6d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 09:45:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 09:45:22 2012 -0700"
      },
      "message": "am 9ce74352: Merge \"recordvideo: Sleep while waiting for the encoding to finish\"\n\n* commit \u00279ce74352d23d833f9627b7be58be964206e6ff6d\u0027:\n  recordvideo: Sleep while waiting for the encoding to finish\n"
    },
    {
      "commit": "5b15adfe9e5ee9a92b5f0a2853246fce170d4eef",
      "tree": "f7f3ca5a39ff16fad700a7f077ae6cbf9f63940c",
      "parents": [
        "735d1b926fa3e057c92d74cebacca2f243ead274",
        "02d18453d54a05c275c03b72a8290f3c9a964446"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 09:35:10 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 09:35:10 2012 -0700"
      },
      "message": "Merge \"MPEG2TSWriter: Read more immediately if an empty buffer is received\""
    },
    {
      "commit": "735d1b926fa3e057c92d74cebacca2f243ead274",
      "tree": "16939b3e677363daab11d319c61d18181651723f",
      "parents": [
        "2aa37a7d15f5e2246b8996d2600269684904c581",
        "e61f13d2c710918f5267b3c835fcc20447b4e4d6"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 09:07:41 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 09:07:41 2012 -0700"
      },
      "message": "Merge \"avcenc: Don\u0027t erase the InputBufferInfo before reading info from it\""
    },
    {
      "commit": "2aa37a7d15f5e2246b8996d2600269684904c581",
      "tree": "0cf9b71a4e3cdde4dff5293d17417936d289f757",
      "parents": [
        "9ce74352d23d833f9627b7be58be964206e6ff6d",
        "d4483f3fd0e024d833082fce3ddbc3a2f3d89b24"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 09:07:26 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 09:07:27 2012 -0700"
      },
      "message": "Merge \"recordvideo: Add an option for choosing software encoders\""
    },
    {
      "commit": "9ce74352d23d833f9627b7be58be964206e6ff6d",
      "tree": "8e0b2fdcba1c12b72df1d4dcb48606f5c97286cd",
      "parents": [
        "4b60ac04a878eaf8344b56189509ccd6925855c2",
        "1301a437ff9f5fa6c4ed78f88add3d9bfce97935"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 09:07:19 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 09:07:20 2012 -0700"
      },
      "message": "Merge \"recordvideo: Sleep while waiting for the encoding to finish\""
    },
    {
      "commit": "e61f13d2c710918f5267b3c835fcc20447b4e4d6",
      "tree": "d824b4000e4e12bd596975441d7c74af60b3357e",
      "parents": [
        "4b60ac04a878eaf8344b56189509ccd6925855c2"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 15:22:18 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 15:40:14 2012 +0300"
      },
      "message": "avcenc: Don\u0027t erase the InputBufferInfo before reading info from it\n\nPreviously, the timestamp and flags were read from the InputBufferInfo\nstruct after it had been erased.\n\nThis fixes cases where the output timestamp from the avc encoder\ncould spuriously be garbage every now and then.\n\nChange-Id: I21acf23cfac93bcc201a603feace6499ec6d8e76\n"
    },
    {
      "commit": "02d18453d54a05c275c03b72a8290f3c9a964446",
      "tree": "71c31526481072f937eb9d28ee9d6bcc3d976979",
      "parents": [
        "4b60ac04a878eaf8344b56189509ccd6925855c2"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 14:49:28 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 15:38:25 2012 +0300"
      },
      "message": "MPEG2TSWriter: Read more immediately if an empty buffer is received\n\nIf writing encoded data from an OMXCodec, the last buffer can be\nan empty buffer (with the EOS flag set, which isn\u0027t propagated to\nMediaBuffer). If we don\u0027t retry reading, we won\u0027t ever get the\nEOS error and thus won\u0027t properly signal that the source is done.\n\nChange-Id: Ibe01dbcd0637fbf0c2529a277e9f208c48e0e8ab\n"
    },
    {
      "commit": "1301a437ff9f5fa6c4ed78f88add3d9bfce97935",
      "tree": "8e0b2fdcba1c12b72df1d4dcb48606f5c97286cd",
      "parents": [
        "4b60ac04a878eaf8344b56189509ccd6925855c2"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 13:41:01 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 15:36:55 2012 +0300"
      },
      "message": "recordvideo: Sleep while waiting for the encoding to finish\n\nThis avoids busy looping while e.g. waiting for the software encoder\nto finish.\n\nThis is similar to what the \u0027record\u0027 and \u0027stagefright\u0027 test apps\ndo.\n\nChange-Id: Idce55b15396ce78b621a521229603bec1e799f33\n"
    },
    {
      "commit": "d4483f3fd0e024d833082fce3ddbc3a2f3d89b24",
      "tree": "a07f1df352ab304cdac9a34d08c4b1613e61fc91",
      "parents": [
        "4b60ac04a878eaf8344b56189509ccd6925855c2"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 13:28:33 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 15:35:59 2012 +0300"
      },
      "message": "recordvideo: Add an option for choosing software encoders\n\nThis is similar to the same option in the \u0027stagefright\u0027 test\napplication.\n\nChange-Id: I2a2e5201bd93460df0911ef12865c9030c0183e5\n"
    },
    {
      "commit": "a16733eeb9c40db4793bec408f29b4204e5f23b1",
      "tree": "2d6be1f74599089be1d4d778d02c45c50eec8494",
      "parents": [
        "2e19c3c02957208371cdd491e6342ea7ddb440d9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 23:41:56 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 14:45:07 2012 -0700"
      },
      "message": "Camera2: Factor out FrameProcessor.\n\nMove FrameProcessor to its own file, add necessary interfaces to\nCamera2Client.\n\nBug: 6243944\nChange-Id: I8d1b8280a65d2822461ebe6b6c9de17992b34276\n"
    },
    {
      "commit": "eb941f9a0c8474324732a99387cc6d8cb4ab01ef",
      "tree": "e0cc2efc71190af867b8d721fbd15cfcf31e2e43",
      "parents": [
        "3a1d5240f3dcf0f3538549cc94c63fde8b216762",
        "2e19c3c02957208371cdd491e6342ea7ddb440d9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 12:28:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 28 12:28:24 2012 -0700"
      },
      "message": "Merge \"Camera2: Factor out Camera2Client::Parameters\" into jb-mr1-dev"
    },
    {
      "commit": "3a1d5240f3dcf0f3538549cc94c63fde8b216762",
      "tree": "52b1e1c29f0dc816587ddeceb6cbf009ad620751",
      "parents": [
        "eccfd92954c1c79bd8e71b9d3df9314d0e93d287",
        "a7607a7f97b3136d5e61c0bca63760bf9fc05b19"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 28 11:11:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 28 11:11:48 2012 -0700"
      },
      "message": "Merge \"Fix retries when server doesn\u0027t support range requests.\" into jb-mr1-dev"
    },
    {
      "commit": "a7607a7f97b3136d5e61c0bca63760bf9fc05b19",
      "tree": "9a939366f6acaba47fe73e6bb9d25bed37c8b022",
      "parents": [
        "690921927f289da73556ea71c28981194af8ffcd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 28 09:48:40 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 28 10:46:38 2012 -0700"
      },
      "message": "Fix retries when server doesn\u0027t support range requests.\n\nChange-Id: I2d137f3e799b87af36a279473c0077d860c14477\nrelated-to-bug: 7021436\n"
    },
    {
      "commit": "eccfd92954c1c79bd8e71b9d3df9314d0e93d287",
      "tree": "2e3a4402cfb31ac1f78a130f2e7dd8f29bf7cfd5",
      "parents": [
        "2352a815fe99a00702dd00c5d1c6cfdfadba10fd",
        "bb197f84c4119651e5face418285688ddaf08ea3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 28 10:22:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 28 10:22:44 2012 -0700"
      },
      "message": "Merge \"Test to measure UDP roundtrip time between two devices on the same network.\" into jb-mr1-dev"
    },
    {
      "commit": "bb197f84c4119651e5face418285688ddaf08ea3",
      "tree": "ba20bed635c17735d57a62ce20173e02db1392e6",
      "parents": [
        "690921927f289da73556ea71c28981194af8ffcd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 28 09:47:45 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 28 09:52:36 2012 -0700"
      },
      "message": "Test to measure UDP roundtrip time between two devices on the same network.\n\nChange-Id: I4c9a5190efe18da8b6be7d68bda91df878c4118c\n"
    },
    {
      "commit": "2e19c3c02957208371cdd491e6342ea7ddb440d9",
      "tree": "ba960541c34212c11b10980f06e3afec8af35968",
      "parents": [
        "2352a815fe99a00702dd00c5d1c6cfdfadba10fd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Aug 26 09:29:28 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 28 01:29:02 2012 -0700"
      },
      "message": "Camera2: Factor out Camera2Client::Parameters\n\nMove the parameter structure and the various utility methods using it\nto its own class. Rename LockedParameters to SharedParameters to match\nthe Mutex naming convention.\n\nAlso move CameraMetadata to camera2 directory for organization.\n\nNo functional changes.\n\nBug: 6243944\nChange-Id: Ie60b535936ecfda9bf23361d52604abf515c83d0\n"
    },
    {
      "commit": "2352a815fe99a00702dd00c5d1c6cfdfadba10fd",
      "tree": "522f85faa8a80d4f86d0659b7694d871bc160953",
      "parents": [
        "68536901073cba8d673f410ebf79d44cd6c79e39",
        "a6195decfe4f9021bbbd7deb050495c33371366b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 17:15:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 17:16:00 2012 -0700"
      },
      "message": "Merge \"Use new surface flinger API.\" into jb-mr1-dev"
    },
    {
      "commit": "68536901073cba8d673f410ebf79d44cd6c79e39",
      "tree": "2479297afdb261be17cb9aba90c5366f815cc583",
      "parents": [
        "33ea2dffa733b41eca4290c1eaa094058040b704",
        "f17b6cf6aa7548ca82e7fed96d71db7821103e57"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 12:19:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 12:19:52 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix metering/focusing region coordinates, minor bugs\" into jb-mr1-dev"
    },
    {
      "commit": "33ea2dffa733b41eca4290c1eaa094058040b704",
      "tree": "6069daf9681206c0dcaa17f62302edf386e2efff",
      "parents": [
        "928da7e276dcfc2d2f6e68c91f33d3a6df6be033",
        "c8474b68e435cd840ba66791fb09e3da59f1d93c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 12:19:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 12:19:41 2012 -0700"
      },
      "message": "Merge \"Camera2: Move frame processing to its own thread.\" into jb-mr1-dev"
    },
    {
      "commit": "928da7e276dcfc2d2f6e68c91f33d3a6df6be033",
      "tree": "f71cf718027a4dfe352d840733a743422558ed64",
      "parents": [
        "db7e3856c1cb7c2a25d1b01a86339596cc2c00a0",
        "cab96a4a7a2900fa991ab77ae45ba8d4be97e054"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 10:33:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 10:33:36 2012 -0700"
      },
      "message": "Merge \"Camera2: Use CameraMetadata wrapper class.\" into jb-mr1-dev"
    },
    {
      "commit": "db7e3856c1cb7c2a25d1b01a86339596cc2c00a0",
      "tree": "987786ac415467223629a3da3ac8f9e1b311bbba",
      "parents": [
        "1c356d38527efbbee0894188c0a8f82074b0f441",
        "b8a9825bf0f5c74333b0e4ff5ba7677ac6fd2a25"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 27 10:14:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 10:14:30 2012 -0700"
      },
      "message": "Merge \"Fixed a potential/rare race condtion in MediaPlayerService::Client::notify() method\" into jb-mr1-dev"
    },
    {
      "commit": "1c356d38527efbbee0894188c0a8f82074b0f441",
      "tree": "15a9f511a77a8817f02c558883052dd754298a2d",
      "parents": [
        "690921927f289da73556ea71c28981194af8ffcd",
        "aa8879d381918335c9d829fc279b76d53a15a550"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 27 10:14:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 10:14:23 2012 -0700"
      },
      "message": "Merge \"Fixed a native crash due to unexpected state at destroy time when encoder component\u0027s source fails to start\" into jb-mr1-dev"
    },
    {
      "commit": "f17b6cf6aa7548ca82e7fed96d71db7821103e57",
      "tree": "708a7173885143204487ce9b3b32d08df88ab34a",
      "parents": [
        "c8474b68e435cd840ba66791fb09e3da59f1d93c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Aug 25 17:12:18 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 09:56:20 2012 -0700"
      },
      "message": "Camera2: Fix metering/focusing region coordinates, minor bugs\n\n- Use active pixel array-based coordinates instead of the normalized\n  camera API coordinates for ae/awb/af regions\n- Fix calculation of UV stride for YV12 format\n\nBug: 6243944\nChange-Id: I80cbd989858b0a3cb75c6f536c145e16e44fdb25\n"
    },
    {
      "commit": "c8474b68e435cd840ba66791fb09e3da59f1d93c",
      "tree": "7c5ee6a72015cd28d37e9f564ac0f3a625a2a609",
      "parents": [
        "cab96a4a7a2900fa991ab77ae45ba8d4be97e054"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 24 16:30:44 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 09:56:08 2012 -0700"
      },
      "message": "Camera2: Move frame processing to its own thread.\n\nTo avoid blocking the HAL on possibly long-running binder calls,\nmove frame receiption and processing to its own thread.\n\nBug: 6243944\nChange-Id: I6385be4410b2f68e2331755027afc10c342187cf\n"
    },
    {
      "commit": "cab96a4a7a2900fa991ab77ae45ba8d4be97e054",
      "tree": "3622d5ac476753b4771d63dbd80a15e26f419dea",
      "parents": [
        "690921927f289da73556ea71c28981194af8ffcd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 24 11:29:22 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 27 09:14:50 2012 -0700"
      },
      "message": "Camera2: Use CameraMetadata wrapper class.\n\nWrap the use of the camera_metadata library inside a CameraMetadata\nclass to avoid memory leaks, improve code clarity, and increase type\nsafety.\n\nBug: 6243944\nChange-Id: I90ca592b5875e27e4c58ea1ca680582dc3c3b56a\n"
    },
    {
      "commit": "690921927f289da73556ea71c28981194af8ffcd",
      "tree": "e4bef9233f3f73be80d44ee99dd140e933a4c723",
      "parents": [
        "96272d57caa39566842795ba1f0605a5a5f72272",
        "a0ead0a2d2ce1d114ad3a17d755dddce831abb40"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Aug 26 16:28:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 26 16:28:14 2012 -0700"
      },
      "message": "Merge \"SurfaceMediaSource: a few fixes / cleanups\" into jb-mr1-dev"
    },
    {
      "commit": "a0ead0a2d2ce1d114ad3a17d755dddce831abb40",
      "tree": "0908865a805a13176c98f2a9a5ffb2c28380d75d",
      "parents": [
        "ff3f75c3e827c1c1f3e3a11b1de46b19444af197"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Aug 23 20:24:09 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Aug 26 16:25:12 2012 -0700"
      },
      "message": "SurfaceMediaSource: a few fixes / cleanups\n\n- Remove the setting of mStopped to true in onBuffersReleased\n- Cleaned up a few function call logs\n- Removed the \u0027reset\u0027 method.\n\nChange-Id: I56bab1d5cb2f3e6d59d54698c2e045d796d1849f\n"
    },
    {
      "commit": "b8a9825bf0f5c74333b0e4ff5ba7677ac6fd2a25",
      "tree": "4dd56785fc2185f44abff6f257197ca982e4c49b",
      "parents": [
        "96272d57caa39566842795ba1f0605a5a5f72272"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Aug 26 16:13:03 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Aug 26 16:18:11 2012 -0700"
      },
      "message": "Fixed a potential/rare race condtion in MediaPlayerService::Client::notify() method\n\no The mClient could be disconnected before the notify message is sent out. Use\n  a local reference could help resolve this issue.\n\no related-to-bug: 6782035\n\nChange-Id: Ia2047bd7f2666100fed83c6e5417a3bf2e20cd2c\n"
    },
    {
      "commit": "a6195decfe4f9021bbbd7deb050495c33371366b",
      "tree": "09b9019be81ae19ce8555b505248802fc918e4e3",
      "parents": [
        "96272d57caa39566842795ba1f0605a5a5f72272"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 24 22:34:11 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 24 22:42:51 2012 -0700"
      },
      "message": "Use new surface flinger API.\n\nChange-Id: I594c6e15db5f617d2feaac1a65b5316daa3812d0\n"
    },
    {
      "commit": "96272d57caa39566842795ba1f0605a5a5f72272",
      "tree": "1ca35139ef23f8758896eda687ac12882ec9f8d3",
      "parents": [
        "b0c1e303913f606dca15bfb75c029f3d4a1ab04c",
        "fd7ec80f3d0e30c8df61b86951d926ab9c8c6d25"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 17:18:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 17:18:25 2012 -0700"
      },
      "message": "Merge \"Fix deadlock\" into jb-mr1-dev"
    },
    {
      "commit": "fd7ec80f3d0e30c8df61b86951d926ab9c8c6d25",
      "tree": "a43a6dee60d9c94ad41b1801803c1ce09ac2dea0",
      "parents": [
        "ff3f75c3e827c1c1f3e3a11b1de46b19444af197"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 17:10:17 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 17:12:20 2012 -0700"
      },
      "message": "Fix deadlock\n\nI wanted to save some space, and ended up with a deadlock.\nThis change basically restores setDataSource(fd, offset, size) to the\nway it was before I added the new setDataSource(DataSource) method,\ninstead of calling through to it.\n\nChange-Id: Iacf4627c8745369fa84b467530189a9f64f8726b\n"
    },
    {
      "commit": "b0c1e303913f606dca15bfb75c029f3d4a1ab04c",
      "tree": "ab5fd76968ff644d0dc3d73c694dda4f025249ca",
      "parents": [
        "ff3f75c3e827c1c1f3e3a11b1de46b19444af197",
        "e44615ff6022239850a3ea459ad6e07b44c37544"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 24 14:29:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 14:29:57 2012 -0700"
      },
      "message": "Merge \"Reduce THD when equalizer is ON.\" into jb-mr1-dev"
    },
    {
      "commit": "e44615ff6022239850a3ea459ad6e07b44c37544",
      "tree": "67b26af98c6bff960193a642bf0a48181c1cee43",
      "parents": [
        "9a150640a28d3fa5507a590125a6c004681bb221"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 24 14:17:34 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 24 14:17:34 2012 -0700"
      },
      "message": "Reduce THD when equalizer is ON.\n\nIncrease headroom in LVM bundle to reduce THD when equalizer is ON\nwith high band gains.\n\nAlso add a workaround for a bug in headroom parameter control.\n\nChange-Id: I1d67c9ae475f6cf852c2e0e49bacfc82a5e484fd\n"
    },
    {
      "commit": "aa8879d381918335c9d829fc279b76d53a15a550",
      "tree": "0ec909da8db12815112ba15ba266d1093ff91de8",
      "parents": [
        "9a150640a28d3fa5507a590125a6c004681bb221"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 24 10:53:31 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 24 13:10:16 2012 -0700"
      },
      "message": "Fixed a native crash due to unexpected state at destroy time when encoder component\u0027s source fails to start\n\no Encoder component initializes to be in the state of EXECUTING before its source gets started, because we wanted to be able\n  to configure the source to use the advertised number of input buffers. However, if the source fails to start, then the encoder\n  ends up in the state of EXECUTING when OMXCodec object gets destroyed. As a result, the assertion on the expected state in\n  OMXCodec\u0027s constructor fails. The fix is to stop the video encoder component right way when its source fails to start so to\n  bring the state of the encoder component back to the expected state.\n\no related-to-bug: 7045494\n\nChange-Id: I6d4a221eb809d7137f53e58098a04816998f7a25\n"
    },
    {
      "commit": "ff3f75c3e827c1c1f3e3a11b1de46b19444af197",
      "tree": "5b660851627c1926b96278f9dac189b36b17e3cf",
      "parents": [
        "6de95261c619d53f3e7b431fd17995e73928571e",
        "dbcb4c17f16230dfc6af908f176681c49f61b13e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 10:37:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 10:37:39 2012 -0700"
      },
      "message": "Merge \"Allow directly setting a DataSource for NuMediaExtractor\" into jb-mr1-dev"
    },
    {
      "commit": "dbcb4c17f16230dfc6af908f176681c49f61b13e",
      "tree": "bef549ee2c80ee54309207846ab36192b0124879",
      "parents": [
        "9a150640a28d3fa5507a590125a6c004681bb221"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 09:53:35 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 10:14:37 2012 -0700"
      },
      "message": "Allow directly setting a DataSource for NuMediaExtractor\n\nThis adds NuMediaExtractor::setDataSource(const sp\u003cDataSource\u003e \u0026source),\nwhich some new code under frameworks/av will use to let applications\nprovide a custom data source for extractors.\n\nChange-Id: I8fb743441d04b4eadbda3c2d76858c3d60e2a3b2\n"
    },
    {
      "commit": "6de95261c619d53f3e7b431fd17995e73928571e",
      "tree": "77f07b8a0d4aeb0ff8ad0badf69cab797ce415ef",
      "parents": [
        "960e46f97e3ca22e99548841816ab77ac3a30d86",
        "cb0b755efc2cd24703f400729994900bf2117f66"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Fri Aug 24 09:20:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 09:20:08 2012 -0700"
      },
      "message": "Merge \"Add a missing NULL check.\" into jb-mr1-dev"
    },
    {
      "commit": "960e46f97e3ca22e99548841816ab77ac3a30d86",
      "tree": "3245f2587b5c90c1574bdda55b7e4d5563b7eba7",
      "parents": [
        "a8d21ea6dd37683a11a7ba2a63ab0af786ef52d7",
        "07315f8262f843f3624c70974642e4fb733a661c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 24 07:29:47 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 24 07:29:47 2012 -0700"
      },
      "message": "am 07315f82: am 4b60ac04: Merge \"Fixed redefinition of \\\u0027i\\\u0027 with a different type error\"\n\n* commit \u002707315f8262f843f3624c70974642e4fb733a661c\u0027:\n  Fixed redefinition of \u0027i\u0027 with a different type error\n"
    },
    {
      "commit": "a8d21ea6dd37683a11a7ba2a63ab0af786ef52d7",
      "tree": "0c46f5322f4553357481c91d7171ba1c05c117d6",
      "parents": [
        "d8d4d666cc323d6a30d2030f7a41f5778b9bbbd5",
        "780159840d754eae8e4e3f693ea10932634053f8"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 24 07:29:45 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 24 07:29:45 2012 -0700"
      },
      "message": "am 78015984: am 6e55a0f7: Merge \"Fixed member access into incomplete type build error\"\n\n* commit \u0027780159840d754eae8e4e3f693ea10932634053f8\u0027:\n  Fixed member access into incomplete type build error\n"
    },
    {
      "commit": "cb0b755efc2cd24703f400729994900bf2117f66",
      "tree": "21d73848006bb14b4de9fcfe56fa0a1befd09868",
      "parents": [
        "9a150640a28d3fa5507a590125a6c004681bb221"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Aug 23 17:47:31 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Aug 23 17:47:31 2012 -0700"
      },
      "message": "Add a missing NULL check.\n\nDon\u0027t crash if its time to start the next media player in a media\nplayer chain, but the current player\u0027s client has a NULL mAudioOutput,\nas is the case when the low level player implements\nMediaPlayerHWInterface.\n\nChange-Id: If555da3a46960cbee91ff26e5b1fd05e52c8ef28\n"
    },
    {
      "commit": "d8d4d666cc323d6a30d2030f7a41f5778b9bbbd5",
      "tree": "3d681b98ca398db99ca3fa274946456de161f7d2",
      "parents": [
        "9a150640a28d3fa5507a590125a6c004681bb221",
        "f10f36d34812bae602ff018fb503ad07eaf550b1"
      ],
      "author": {
        "name": "Jeffrey Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Aug 23 17:24:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 23 17:24:29 2012 -0700"
      },
      "message": "Merge \"Send current bandwidth info event when buffering occurs\" into jb-mr1-dev"
    },
    {
      "commit": "07315f8262f843f3624c70974642e4fb733a661c",
      "tree": "98dcde6faf3c948c4d7c69f9dfb95e3c47247960",
      "parents": [
        "780159840d754eae8e4e3f693ea10932634053f8",
        "4b60ac04a878eaf8344b56189509ccd6925855c2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 23 13:01:44 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 23 13:01:44 2012 -0700"
      },
      "message": "am 4b60ac04: Merge \"Fixed redefinition of \\\u0027i\\\u0027 with a different type error\"\n\n* commit \u00274b60ac04a878eaf8344b56189509ccd6925855c2\u0027:\n  Fixed redefinition of \u0027i\u0027 with a different type error\n"
    }
  ],
  "next": "780159840d754eae8e4e3f693ea10932634053f8"
}
