)]}'
{
  "log": [
    {
      "commit": "ef441d965504dbf31c5db690e5b34fcdcecd92ff",
      "tree": "4c4bd3804dffe1e472c94e1d2d42a3ece615cde6",
      "parents": [
        "e0b5bb23f0a26d248275d203885b820659da7320"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 14 21:00:02 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Jul 17 15:53:53 2011 -0400"
      },
      "message": "MTP: Use a single packet for the data phase\n\ninstead of sending 12 byte header in a separate packet.\nPTP on the Mac is much happier with this approach.\n\nChange-Id: I7d1ca498f6346afd88876d24332187b466fc469c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e0b5bb23f0a26d248275d203885b820659da7320",
      "tree": "4d7cf07bb5fdd85a882f31f9e4eaae173efdbdde",
      "parents": [
        "4378ace44b9de477608a6c2fbf7134bc0345555f",
        "4d8d0c30abfa4b8d75866d42094cc797e05068fa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 16:27:13 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 16:27:13 2011 -0700"
      },
      "message": "Merge \"Log CPU usage\""
    },
    {
      "commit": "4378ace44b9de477608a6c2fbf7134bc0345555f",
      "tree": "be6f1e331589e11ac7d0168f9c942b04d0dcde68",
      "parents": [
        "d75de03f90a17862b18a3d2404e7117d8c53dbbf",
        "6fb40672ac0f0b2f479367fa0ba4e8944df06dad"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jul 15 14:20:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 14:20:45 2011 -0700"
      },
      "message": "Merge \"Use unsigned char to store table of contents retrieved from XING header. Our compiler treats char default to unsigned (trygon-eng on master branch). If I force \"signed char\" for the table of contents array, some MediaFramework tests for VBR mp3 would fail.\""
    },
    {
      "commit": "d75de03f90a17862b18a3d2404e7117d8c53dbbf",
      "tree": "6a2bca1ad7888fbc2442ac76d30acb0211c1eeea",
      "parents": [
        "3c76eaebad1e420937088e52ec89efcb76bb875d",
        "7e43a5a2dcfa9bc64ef477472a33c87a84695c09"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 15 14:16:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 14:16:15 2011 -0700"
      },
      "message": "Merge \"Refetch playlists according to the HLS specs, varying delay if playlists unchanged\""
    },
    {
      "commit": "4d8d0c30abfa4b8d75866d42094cc797e05068fa",
      "tree": "49d5a2a3b2aa864d2780101c03b6129a0cbbbb4c",
      "parents": [
        "5895e970ae119210773a5184c019178e2516b132"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 08 15:26:12 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 13:28:19 2011 -0700"
      },
      "message": "Log CPU usage\n\nChange-Id: Ie447e59be139153e526b7ad467c46c659d26816f\n"
    },
    {
      "commit": "6fb40672ac0f0b2f479367fa0ba4e8944df06dad",
      "tree": "f1566031f2f4c2a9c6cccee5cc6bdb952decfbc9",
      "parents": [
        "3c76eaebad1e420937088e52ec89efcb76bb875d"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jul 15 11:53:17 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jul 15 12:08:00 2011 -0700"
      },
      "message": "Use unsigned char to store table of contents retrieved from XING header.\nOur compiler treats char default to unsigned (trygon-eng on master branch).\nIf I force \"signed char\" for the table of contents array, some MediaFramework\ntests for VBR mp3 would fail.\n\nChange-Id: I725e2d4dfe57ff36fdb1d65fe3184f7ab41ad695\n"
    },
    {
      "commit": "7e43a5a2dcfa9bc64ef477472a33c87a84695c09",
      "tree": "8ef9d646b909607a73440ef2531fa493e446882e",
      "parents": [
        "dc3d6784c73882c888423f0cb9b4de1b14e1dc02"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 15 11:30:16 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 15 11:30:16 2011 -0700"
      },
      "message": "Refetch playlists according to the HLS specs, varying delay if playlists unchanged\n\nsince the previous fetch.\n\nChange-Id: I75e167a650c65a23e284381db5203beba7be7420\nrelated-to-bug: 4983546\n"
    },
    {
      "commit": "3c76eaebad1e420937088e52ec89efcb76bb875d",
      "tree": "0e5fb33aee507b4da790b5c0adcb360d44180dcc",
      "parents": [
        "dc3d6784c73882c888423f0cb9b4de1b14e1dc02",
        "40d76d70587ed095692615b0a1b657da861f7ffc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 09:23:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 09:23:33 2011 -0700"
      },
      "message": "Merge \"Bug 5031179 possible fix for assert in join\""
    },
    {
      "commit": "dc3d6784c73882c888423f0cb9b4de1b14e1dc02",
      "tree": "b78f15ad04eebe599cda79ee280032f62033b5e9",
      "parents": [
        "6f93135e5c8945ad2589af0c01652bc104eae819",
        "a3f4d7f096e5c91dc6af085761b1459866c043d9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 14 16:42:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 16:42:34 2011 -0700"
      },
      "message": "Merge \"Revert \"Add some logging to track down where ANR happens during MediaPlayer._release().\"\""
    },
    {
      "commit": "a3f4d7f096e5c91dc6af085761b1459866c043d9",
      "tree": "78f4f6a7a26553be4f4a2e6260c41901ce5849b9",
      "parents": [
        "9cded98816c40fd55053b1e38fc7fd8a68da8866"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 14 16:22:47 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 14 16:22:47 2011 -0700"
      },
      "message": "Revert \"Add some logging to track down where ANR happens during MediaPlayer._release().\"\n\nThis reverts commit a5293d1ca4459293f4993ea39c09ea703a022844.\n\nConflicts:\n\n\tmedia/libstagefright/AwesomePlayer.cpp\n\nChange-Id: I2a5960208a6780b9a44ab5cce0ffc0e2fb28f426\n"
    },
    {
      "commit": "40d76d70587ed095692615b0a1b657da861f7ffc",
      "tree": "01fcf8dedb407ef440c745825ba8818ae644eba4",
      "parents": [
        "15825c7b6f6b19092a5949b4e46aea4fa229932c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 14 16:16:54 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 14 16:16:54 2011 -0700"
      },
      "message": "Bug 5031179 possible fix for assert in join\n\nChange-Id: Id3a24c152579b8fdcfb9d66a11aa11579406a7ec\n"
    },
    {
      "commit": "6f93135e5c8945ad2589af0c01652bc104eae819",
      "tree": "07d95a3bd03675cd669eeffd7c63aef13a5884e4",
      "parents": [
        "15825c7b6f6b19092a5949b4e46aea4fa229932c",
        "5442cb59e8483e18b3a02400d431d167ea7074b3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 14 13:22:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 13:22:45 2011 -0700"
      },
      "message": "Merge \"If audio startup fails while executing MediaPlayer::start() do NOT post an error\""
    },
    {
      "commit": "5442cb59e8483e18b3a02400d431d167ea7074b3",
      "tree": "ec53f69074b3a7df04a2223aad753b6d2cf1bd9c",
      "parents": [
        "2864c9a3a29311beb5ef96d8fc3c7745df2dd2cd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 14 13:02:47 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 14 13:02:47 2011 -0700"
      },
      "message": "If audio startup fails while executing MediaPlayer::start() do NOT post an error\n\nnotification, the error returned by MediaPlayer::start() will suffice.\n\nChange-Id: I49bd8d42078f039e5e6d8d4fed4f7f55dc5ff82a\nrelated-to-bug: 5020200\n"
    },
    {
      "commit": "15825c7b6f6b19092a5949b4e46aea4fa229932c",
      "tree": "d9f7ac9876c2dde68c6cc962109a28d1c24231a6",
      "parents": [
        "2864c9a3a29311beb5ef96d8fc3c7745df2dd2cd",
        "457116d3a01618acf9a875020ca5860551ba03a6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 14 09:59:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 09:59:24 2011 -0700"
      },
      "message": "Merge \"Support profile and level query for SW video decoders\""
    },
    {
      "commit": "2864c9a3a29311beb5ef96d8fc3c7745df2dd2cd",
      "tree": "f79498f4f7db56d4f1c4ed336492f60b83f05fcd",
      "parents": [
        "49c8340bd83cc5d64b1fcaed4afbda5fd4d74a3e",
        "a4b77bc0dbefc58b337c35b03ef21147a2cbdd4e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 14 09:09:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 09:09:14 2011 -0700"
      },
      "message": "Merge \"Include all supported mime types when querying decoder profile/level support.\""
    },
    {
      "commit": "49c8340bd83cc5d64b1fcaed4afbda5fd4d74a3e",
      "tree": "6a24d306f6b16e2e70ebc7318bad26a616983c42",
      "parents": [
        "0ee92ffd74ac8594b68aa3c73b341dc0c6330b3f",
        "dab718bba3945332dc75e268e1e7f0fe2eb91c4a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 14 09:09:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 09:09:07 2011 -0700"
      },
      "message": "Merge \"Remove legacy http support from stagefright, chromium is the new hotness.\""
    },
    {
      "commit": "0ee92ffd74ac8594b68aa3c73b341dc0c6330b3f",
      "tree": "72f67fddb82b31baa379fbc173e44379f8e49748",
      "parents": [
        "81eedd1746be590d5d506dfb9ff23619f9d9898f",
        "ca9718b81d1edb3d094a11502737293dcb7526e7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 14 07:54:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 07:54:34 2011 -0700"
      },
      "message": "Merge \"OMX CallbackDispatcher uses C++ Thread not pthread\""
    },
    {
      "commit": "81eedd1746be590d5d506dfb9ff23619f9d9898f",
      "tree": "caeac020149ff784bea22015b30232543a35c791",
      "parents": [
        "9d35d0c4a1371d52c4ce4d34575967026d9135af"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 11:06:57 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 19:45:44 2011 -0400"
      },
      "message": "Remove some #ifdef HAVE_ANDROID_OS that were needed for the simulator build\n\nChange-Id: I13d9f251f86c05ae5405f37adbf6b8e9660935ba\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "dab718bba3945332dc75e268e1e7f0fe2eb91c4a",
      "tree": "a1c5582fc94961c13093197f5f728ae7194c931e",
      "parents": [
        "42e549e4ab54802d788c43e3a04a85b7a1a95e97"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 15:45:01 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 15:45:01 2011 -0700"
      },
      "message": "Remove legacy http support from stagefright, chromium is the new hotness.\n\nChange-Id: I6725d42d38b91e6a1cbca43174870f445aeb3d99\n"
    },
    {
      "commit": "a4b77bc0dbefc58b337c35b03ef21147a2cbdd4e",
      "tree": "7146226940256346c7c56ec82ed73678bf3953d4",
      "parents": [
        "42e549e4ab54802d788c43e3a04a85b7a1a95e97"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 15:27:04 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 15:27:51 2011 -0700"
      },
      "message": "Include all supported mime types when querying decoder profile/level support.\n\nChange-Id: Ia1c930eee489bfebb482ac5079bd6ac9354532f2\n"
    },
    {
      "commit": "9d35d0c4a1371d52c4ce4d34575967026d9135af",
      "tree": "a8d2f771f5c653bda659b313e2156834c5dce791",
      "parents": [
        "4cfad9814ae3cbf761f88a4f4a94793c627f11de",
        "87e031caf905145cb6e362a8c60f02736b87deef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 15:19:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 15:19:44 2011 -0700"
      },
      "message": "Merge \"Remove old-style software decoders.\""
    },
    {
      "commit": "87e031caf905145cb6e362a8c60f02736b87deef",
      "tree": "409d1a2a489620450bb671353db86d995064d74c",
      "parents": [
        "42e549e4ab54802d788c43e3a04a85b7a1a95e97"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 12:38:46 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 14:14:08 2011 -0700"
      },
      "message": "Remove old-style software decoders.\n\nChange-Id: Ie0729d6a65470ffdc38229791f25a75a22c724d8\n"
    },
    {
      "commit": "4cfad9814ae3cbf761f88a4f4a94793c627f11de",
      "tree": "c420a998a354613273e0674232ac4e773ca39f6f",
      "parents": [
        "42e549e4ab54802d788c43e3a04a85b7a1a95e97",
        "319d2e3f4e17a14c9af55ee0a7bcd180d1ce68a5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 13 14:07:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 14:07:01 2011 -0700"
      },
      "message": "Merge \"get rid of overlay HAL\""
    },
    {
      "commit": "42e549e4ab54802d788c43e3a04a85b7a1a95e97",
      "tree": "6bf620f639533f345089df3902a93109028bed4e",
      "parents": [
        "9cded98816c40fd55053b1e38fc7fd8a68da8866"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 09:36:11 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 13 09:47:09 2011 -0700"
      },
      "message": "Enable signalling of a stream discontinuity involving a format-change\n\nthrough IStreamListener.\n\nChange-Id: Ic0409cdc4891ad26b61f2f98bdda3c7fb2e2de6a\nrelated-to-bug: 5022434\n"
    },
    {
      "commit": "9cded98816c40fd55053b1e38fc7fd8a68da8866",
      "tree": "88d588fb4175e1366b13713dca97bbb59367f0ce",
      "parents": [
        "350d9162155e1f3eab1821f5eeed762faa01f0cc",
        "dec7388c3edf09eaaccaaf57f6301e716319a34d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 08:07:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 08:07:59 2011 -0700"
      },
      "message": "Merge \"MTP: Clean up MtpServer initialization and threading:\""
    },
    {
      "commit": "dec7388c3edf09eaaccaaf57f6301e716319a34d",
      "tree": "d4fb2635f12fdd13e2feba28f1c5b15fa9e39fc3",
      "parents": [
        "8deb152167af1dbf39d532737f105368ee8973f5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 11 15:04:38 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 09:44:42 2011 -0400"
      },
      "message": "MTP: Clean up MtpServer initialization and threading:\n\nMove thread from native to Java code\nRemove the stop() method (the thread will exit on its own)\n\nChange-Id: Ib897c3630162f82669a4ee8c187e8172da50b29d\n"
    },
    {
      "commit": "350d9162155e1f3eab1821f5eeed762faa01f0cc",
      "tree": "01efeefb8eff6b7077eb14e163d62878d48a3d88",
      "parents": [
        "8deb152167af1dbf39d532737f105368ee8973f5",
        "1374eddc4455b26d1dffdca10fc70534b3f08c1d"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Jul 12 17:40:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 17:40:25 2011 -0700"
      },
      "message": "Merge \"Add support for TI H264 encoder\""
    },
    {
      "commit": "319d2e3f4e17a14c9af55ee0a7bcd180d1ce68a5",
      "tree": "2977cbd0292d1be3b4014130bb2be99e60cc0599",
      "parents": [
        "8deb152167af1dbf39d532737f105368ee8973f5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 12 16:02:46 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 12 16:04:12 2011 -0700"
      },
      "message": "get rid of overlay HAL\n\nChange-Id: I461f633d172ab10e05326ef10544c67dea664c0e\n"
    },
    {
      "commit": "1374eddc4455b26d1dffdca10fc70534b3f08c1d",
      "tree": "4265b434ff248dc16adeffce42f2d1214549c633",
      "parents": [
        "a5a0cea84cdf116f4de4f812c26be73e70a260e6"
      ],
      "author": {
        "name": "Dandawate Saket",
        "email": "dsaket@ti.com",
        "time": "Mon Jul 11 19:12:57 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 12 15:50:28 2011 -0700"
      },
      "message": "Add support for TI H264 encoder\n\nAdd support for TI H264 encoder and quirks for buffer allocation.\nTemporary switching to baseline profile till ctts patch is defaulted\nas per profile detection.\n\nChange-Id: I1d56184b9c5d5f00d6c63aef7e058f3d56b84cef\nSigned-off-by: Dandawate Saket \u003cdsaket@ti.com\u003e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "8deb152167af1dbf39d532737f105368ee8973f5",
      "tree": "41cc89735821eb5870b594e94b7122f162892749",
      "parents": [
        "63b96e48deb0a4c5b594693922bd9101ffc3ef93",
        "5a5f9d636ed6c116993c6cad5abdad7a734992e8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 12 14:43:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 14:43:34 2011 -0700"
      },
      "message": "Merge \"Make MetadataBufferType.h C-friendly\""
    },
    {
      "commit": "63b96e48deb0a4c5b594693922bd9101ffc3ef93",
      "tree": "f4e64e5c62746d337a1b1de063a57c50c9fa3b62",
      "parents": [
        "a5a0cea84cdf116f4de4f812c26be73e70a260e6",
        "5e0067b486c3862316aa1f293cf9690c0cf54bda"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "message": "Merge \"Remove the simulator target from all makefiles. Bug: 5010576\""
    },
    {
      "commit": "5a5f9d636ed6c116993c6cad5abdad7a734992e8",
      "tree": "5810d32bd5d743162b37f021571c24cd3124c007",
      "parents": [
        "a5a0cea84cdf116f4de4f812c26be73e70a260e6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 12 09:28:17 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 12 09:35:40 2011 -0700"
      },
      "message": "Make MetadataBufferType.h C-friendly\n\nChange-Id: I4388d8f6cf30f08858aec73aa971647feae4a5e3\n"
    },
    {
      "commit": "ca9718b81d1edb3d094a11502737293dcb7526e7",
      "tree": "768a81017974bd2c8d2b09a458693a5143c6254e",
      "parents": [
        "a5a0cea84cdf116f4de4f812c26be73e70a260e6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 23 15:09:08 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 12 07:49:40 2011 -0700"
      },
      "message": "OMX CallbackDispatcher uses C++ Thread not pthread\n\nThis permits leveraging future improvements to Thread.\n\nChange-Id: I45e25a309e7edd1d4f0dacc5ec987329afa497d9\n"
    },
    {
      "commit": "5e0067b486c3862316aa1f293cf9690c0cf54bda",
      "tree": "104ac8491b40d6e9d8353322792fb83ce76f4c82",
      "parents": [
        "52f556b976a9caceee183d8af2118ddbee02c70a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "message": "Remove the simulator target from all makefiles.\nBug: 5010576\n\nChange-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8\n"
    },
    {
      "commit": "a5a0cea84cdf116f4de4f812c26be73e70a260e6",
      "tree": "8257599da1438dfd8311d9c9d59671c9fddd7bfd",
      "parents": [
        "52f556b976a9caceee183d8af2118ddbee02c70a",
        "ba7b8f881a9b6b21803752326d2932a3bd42d7cf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 11 15:20:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 15:20:27 2011 -0700"
      },
      "message": "Merge \"Audio Effect API: process reverse stream function\""
    },
    {
      "commit": "52f556b976a9caceee183d8af2118ddbee02c70a",
      "tree": "f4c7c24f8281154ec647e23d66a49a74c8f53d09",
      "parents": [
        "3623b481fa2734b95d4553dafabca931e5d0502a",
        "619d29fa1f5efab134441418d82a82a573b4de46"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 13:37:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 13:37:53 2011 -0700"
      },
      "message": "Merge \"Eliminate single-process mode. Bug: 5010576\""
    },
    {
      "commit": "3623b481fa2734b95d4553dafabca931e5d0502a",
      "tree": "118a1efa62a0f4235276db5be5f310737ec55bd0",
      "parents": [
        "fcf0efd3919435cb27091a8af6db3de35b6899ba",
        "411ba422e3635d534928ffd81abf54f4f291c739"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 11 12:56:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 12:56:11 2011 -0700"
      },
      "message": "Merge \"Do not wait for unlaunched threads in stop()\""
    },
    {
      "commit": "411ba422e3635d534928ffd81abf54f4f291c739",
      "tree": "f3dbe434a44ee5c5d810b0ceb59f0382481cf9a7",
      "parents": [
        "9b186a44051d0ef7f4ca67150f204299b15a448e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 08 16:51:16 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 11 12:51:21 2011 -0700"
      },
      "message": "Do not wait for unlaunched threads in stop()\n\nChange-Id: If681749753bb96ee98c1539658cfd919eeb0cb65\n"
    },
    {
      "commit": "fcf0efd3919435cb27091a8af6db3de35b6899ba",
      "tree": "f25616b80d06e474bb7682c0ed368d7bf7918ec2",
      "parents": [
        "9b88b72ee2c3fd01fb46e77b7e6d80f3bd52e958",
        "ae4c1ac6401185539c03ce0819e174fd1b04b136"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 11 12:46:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 12:46:35 2011 -0700"
      },
      "message": "Merge \"Release camera if CameraSource::start() has not been called\""
    },
    {
      "commit": "457116d3a01618acf9a875020ca5860551ba03a6",
      "tree": "16ea85295b56ef3cc8885c7507841505a9a744e7",
      "parents": [
        "9b186a44051d0ef7f4ca67150f204299b15a448e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 11 12:29:10 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 11 12:29:10 2011 -0700"
      },
      "message": "Support profile and level query for SW video decoders\n\nChange-Id: I9c20db128be96cd36cf2083e08e8c21f5e6d1fdf\n"
    },
    {
      "commit": "ba7b8f881a9b6b21803752326d2932a3bd42d7cf",
      "tree": "3e6ac78f1dea2eb4bde64c598c21a9b8e87a9db2",
      "parents": [
        "9b88b72ee2c3fd01fb46e77b7e6d80f3bd52e958"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 17 18:54:16 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 11 12:00:53 2011 -0700"
      },
      "message": "Audio Effect API: process reverse stream function\n\nAdded function to audio effect interface for processing of\na reverse stream.\nThis is necessary for audio pre processes like echo cancellation.\n\nChange-Id: I6e12d79dbbed6376acdfc79304b8c0ab3f705eae\n"
    },
    {
      "commit": "9b88b72ee2c3fd01fb46e77b7e6d80f3bd52e958",
      "tree": "f14b7d39ef4012695277173c2c1fb35837af5ea8",
      "parents": [
        "bca946c7a54343f1517347bc74d3fff4e6303d3b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 11 09:18:03 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 11 13:40:02 2011 -0400"
      },
      "message": "MTP: Return error if user tries to copy a file \u003e\u003d 4GB to a FAT32 file system\n\nBug: 4561836\n\nChange-Id: I2bffb93b032038f6c220c24c752ccd7ca66c23a0\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ae4c1ac6401185539c03ce0819e174fd1b04b136",
      "tree": "ae4becf79ad28f3f47136894468fa090bc893d79",
      "parents": [
        "9b186a44051d0ef7f4ca67150f204299b15a448e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 08 17:59:29 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Jul 10 14:19:26 2011 -0700"
      },
      "message": "Release camera if CameraSource::start() has not been called\n\nChange-Id: I2f7e4b8501db3d80b9aa6f99d896d778bec29e8c\n"
    },
    {
      "commit": "619d29fa1f5efab134441418d82a82a573b4de46",
      "tree": "173b48d845a616b1de063a7d449fc75fedbc3d3a",
      "parents": [
        "bca946c7a54343f1517347bc74d3fff4e6303d3b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 18:52:57 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 19:54:07 2011 -0700"
      },
      "message": "Eliminate single-process mode.\nBug: 5010576\n\nChange-Id: Id450dc83efed4897d1e4ff451530fed14457aace\n"
    },
    {
      "commit": "bca946c7a54343f1517347bc74d3fff4e6303d3b",
      "tree": "d95e420f92a8f1f420b1e7a35f7a44701b964d41",
      "parents": [
        "6c21234e3d254fc58227cd2063500a0dcd173689",
        "d552b88515c6ccd18695e5db5e6032a6425d8c63"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 08 14:17:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 08 14:17:16 2011 -0700"
      },
      "message": "Merge \"Use advertised h264 encoding parameters by default if the profile is not baseline\""
    },
    {
      "commit": "6c21234e3d254fc58227cd2063500a0dcd173689",
      "tree": "bd889dcd6c3169089f63932ecbe1f890f30e8c48",
      "parents": [
        "9b186a44051d0ef7f4ca67150f204299b15a448e",
        "5159c7ec97b575c0486159f0543d2da90c3c3b68"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 08 14:06:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 08 14:06:24 2011 -0700"
      },
      "message": "Merge \"Fix build warning; LOG_TAG was misplaced\""
    },
    {
      "commit": "d552b88515c6ccd18695e5db5e6032a6425d8c63",
      "tree": "93182fdbb87ea2e5787c2831838fc7aaa3e36a54",
      "parents": [
        "9b186a44051d0ef7f4ca67150f204299b15a448e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 07 16:41:25 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 08 10:44:05 2011 -0700"
      },
      "message": "Use advertised h264 encoding parameters by default if the profile is not baseline\n\no Force to use AVC baseline profile for camcorder low quality videos\n\nChange-Id: I3424c57dd0c55fc4991f5767b57695c8f3420ecb\n"
    },
    {
      "commit": "5159c7ec97b575c0486159f0543d2da90c3c3b68",
      "tree": "4a6ed1bf3c4a2e667fc8e6047e15677f02f98a1b",
      "parents": [
        "5895e970ae119210773a5184c019178e2516b132"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 08 09:32:50 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 08 09:32:50 2011 -0700"
      },
      "message": "Fix build warning; LOG_TAG was misplaced\n\nChange-Id: I4fb0590f626445188f9053367707878b2fa0fa30\n"
    },
    {
      "commit": "9b186a44051d0ef7f4ca67150f204299b15a448e",
      "tree": "ee76351e87297f8740901edc4d8383072bb78e9f",
      "parents": [
        "dc7d07e5e402b31068a55c8b055d1a82d61f9ca5",
        "6d8b694d999e9be7d5dcc336535832a80fb6f61f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 07 15:37:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 15:37:07 2011 -0700"
      },
      "message": "Merge \"Moved and renamed effect API header files\""
    },
    {
      "commit": "6d8b694d999e9be7d5dcc336535832a80fb6f61f",
      "tree": "4fcdbf4a7f7fa24a16d7bf27816922031870102f",
      "parents": [
        "5895e970ae119210773a5184c019178e2516b132"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 24 07:01:31 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 07 15:25:51 2011 -0700"
      },
      "message": "Moved and renamed effect API header files\n\nMoved specific effect header files to\nsystem/media/audio_effects/include/audio_effects\nand renamed to lower case (effect_xxx.h).\n\nChange-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621\n"
    },
    {
      "commit": "dc7d07e5e402b31068a55c8b055d1a82d61f9ca5",
      "tree": "b1ece2bad901d9e98129b70deda7f144386263a1",
      "parents": [
        "5895e970ae119210773a5184c019178e2516b132"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 07 08:30:10 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 07 10:30:31 2011 -0700"
      },
      "message": "Add support for some custom YUV420 color formats to recordvideo utility\n\nChange-Id: I2f0dfba466efb94b704dca761162d7c7457a43cf\n"
    },
    {
      "commit": "5895e970ae119210773a5184c019178e2516b132",
      "tree": "c5e38d96737f30c0f5bf3a086192a9fe0b92bc5f",
      "parents": [
        "d26edf9435bf5bdb43b5a1f71192bb1477a1cc7f",
        "0d0edfb024f65f7e1097bf1814ae229ce9cb367d"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jul 06 09:22:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 09:22:05 2011 -0700"
      },
      "message": "Merge \"- Retrieve is_drm in MediaMetadataRetriever. - Add one more column in MediaStore to indicate whether a   media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager\""
    },
    {
      "commit": "0d0edfb024f65f7e1097bf1814ae229ce9cb367d",
      "tree": "b8995cf55d54f9f357b414a4b3285ad2d16285d9",
      "parents": [
        "69c2b29eb72396068b9d116c2a54f283025c7d6b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jun 27 11:09:00 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jul 01 16:52:28 2011 -0700"
      },
      "message": "- Retrieve is_drm in MediaMetadataRetriever.\n- Add one more column in MediaStore to indicate whether a\n  media file is drm-protected.\n- Remove old DRM code from Ringtone\n- Use the new DRM code in RingtoneManager\n\nChange-Id: I1311fd1c04841c2cd47df6c901589966cf55a692\n"
    },
    {
      "commit": "d26edf9435bf5bdb43b5a1f71192bb1477a1cc7f",
      "tree": "f07c5fcc24433c5a003c9f124da8c5524c8b73bf",
      "parents": [
        "13b263c0fb2f03f12089150c3d05b545c25257ca",
        "593e2773f616a926af45e74359e21a898c89875f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 01 15:02:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 15:02:33 2011 -0700"
      },
      "message": "Merge \"Bug 4571308 Provide correct video frame timestamps\""
    },
    {
      "commit": "13b263c0fb2f03f12089150c3d05b545c25257ca",
      "tree": "4ed42309ed640d52f1e03b29416df4c53d940278",
      "parents": [
        "ea317826269a1faecc2c61b76e2dab9bb7e70a62",
        "9b80c2bdb205bc143104f54d0743b6eedd67b14e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 14:28:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 14:28:10 2011 -0700"
      },
      "message": "Merge \"Charge network traffic to the uid of the process using the MediaPlayer.\""
    },
    {
      "commit": "ea317826269a1faecc2c61b76e2dab9bb7e70a62",
      "tree": "e085dc7e5e47c7815aab2dcb8ad5f5b1e2e2a2a0",
      "parents": [
        "3eeab1a71b7e222b60c5413916c2f3c7ec61e37d",
        "0af941927ef8f35f2da5380dfd8d04b7f4ed3532"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 14:27:37 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 14:27:37 2011 -0700"
      },
      "message": "Merge \"Ignore all flush-complete notifications with port \u003d\u003d OMX_ALL\""
    },
    {
      "commit": "3eeab1a71b7e222b60c5413916c2f3c7ec61e37d",
      "tree": "98ebdc83ce88c0cfad215fb0c549dab998cd3822",
      "parents": [
        "577dd43e0a80b4ccc621d52f06fea0761fc7f602",
        "32eea24fe93fd43e8078b1080db17304b27ed95a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 01 14:03:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 14:03:45 2011 -0700"
      },
      "message": "Merge \"Add extended metadata buffer support by defining different types of metadata buffers\""
    },
    {
      "commit": "9b80c2bdb205bc143104f54d0743b6eedd67b14e",
      "tree": "7a035b1bbc67096fa775d41544f420a5eb6e0487",
      "parents": [
        "cebcdaef5b559f4db2a9d8b305d9d7da03525b62"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 30 15:47:02 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 13:18:43 2011 -0700"
      },
      "message": "Charge network traffic to the uid of the process using the MediaPlayer.\n\nChange-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067\nrelated-to-bug: 4517282\n"
    },
    {
      "commit": "0af941927ef8f35f2da5380dfd8d04b7f4ed3532",
      "tree": "fa356aacae6ff837c97f8544c89a02fcbfe16a38",
      "parents": [
        "cebcdaef5b559f4db2a9d8b305d9d7da03525b62"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 13:13:02 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 13:13:02 2011 -0700"
      },
      "message": "Ignore all flush-complete notifications with port \u003d\u003d OMX_ALL\n\nUse of this notification is not consistent across\nimplementations. We\u0027ll drop this notification and rely\non flush-complete notifications on the individual port\nindices instead.\n\nChange-Id: I76c0dfdcfc92a7c9acf57abf3027d2638d77efca\n"
    },
    {
      "commit": "577dd43e0a80b4ccc621d52f06fea0761fc7f602",
      "tree": "8f2e980daee1470363ae969455cc12b8ff896708",
      "parents": [
        "3edf4509ad62582c682cbcf572396da4036506a3",
        "0bb6b4c5da2451ee0973372b0a3858b15c742689"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 09:48:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 09:48:05 2011 -0700"
      },
      "message": "Merge \"Support a \"secure input buffer\" mode for use by Widevine DRM in OMXCodec.\""
    },
    {
      "commit": "0bb6b4c5da2451ee0973372b0a3858b15c742689",
      "tree": "968bcc86bf7c08aa943b4eb2286921dac8e7fbe0",
      "parents": [
        "cebcdaef5b559f4db2a9d8b305d9d7da03525b62"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 29 15:53:28 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 01 09:28:51 2011 -0700"
      },
      "message": "Support a \"secure input buffer\" mode for use by Widevine DRM in OMXCodec.\n\nChange-Id: Ie03b285265099dbac9b12f3f41d9ad758d0b50ad\n"
    },
    {
      "commit": "3edf4509ad62582c682cbcf572396da4036506a3",
      "tree": "49c4c45e819eaa0a470940cff076e20b0916d69c",
      "parents": [
        "ab23dc0443e874a82110119896cce0103d89a529",
        "e301545a292987b6f7f3b316003eb8b76e3a5e2e"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jul 01 08:52:28 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 08:52:28 2011 -0700"
      },
      "message": "Merge \"Revert \"Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video.\"\""
    },
    {
      "commit": "ab23dc0443e874a82110119896cce0103d89a529",
      "tree": "74cda7dfa24522950c7881fe394120717f7d5d4b",
      "parents": [
        "cebcdaef5b559f4db2a9d8b305d9d7da03525b62",
        "ba499b591db0e26081e38545493144755eb72fff"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 01 08:35:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 08:35:25 2011 -0700"
      },
      "message": "Merge \"Return ERROR_END_OF_STREAM when the input source reaches eos\""
    },
    {
      "commit": "cebcdaef5b559f4db2a9d8b305d9d7da03525b62",
      "tree": "8b512ebf1f8497121366a743aec16bf6ac176efa",
      "parents": [
        "0f30bd90272c818aa37c0bb22d22eaa7d3689879",
        "63d794763a680c29edccce3a6fac3d6d9c13c8e3"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Fri Jul 01 08:04:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 08:04:11 2011 -0700"
      },
      "message": "Merge changes I7e8401a4,I412ddf36\n\n* changes:\n  Merge Chromium at r11.0.696.0: New autofill strings\n  Merge Chromium at r11.0.696.0: Using setter instead of direct variable access\n"
    },
    {
      "commit": "e301545a292987b6f7f3b316003eb8b76e3a5e2e",
      "tree": "13a39a80c67625240791eab94842dcdc662c63fe",
      "parents": [
        "50255a92dfb2ffd35955035ae9ac9d4b85f606b8"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jul 01 07:13:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 07:13:42 2011 -0700"
      },
      "message": "Revert \"Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video.\"\n\nThis reverts commit d63d947d406977c7c307f69369908b4342c98ef3"
    },
    {
      "commit": "0f30bd90272c818aa37c0bb22d22eaa7d3689879",
      "tree": "0a843f5b297b088988bc1d153ec3ae6548b9cf93",
      "parents": [
        "69c2b29eb72396068b9d116c2a54f283025c7d6b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 30 16:52:33 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 30 16:52:33 2011 -0700"
      },
      "message": "Seeking/duration in HLS content is based on the individual segments\u0027 duration\n\nnot target-duration.\n\nChange-Id: I294097daa84c25e4084a6fc4ea80e39a543f3d10\nrelated-to-bug: 4983285\n"
    },
    {
      "commit": "69c2b29eb72396068b9d116c2a54f283025c7d6b",
      "tree": "2327936c53ec2dd2fda576fc158f0bbf195ad0c1",
      "parents": [
        "e5bf6409774fe73f968b7db215f535b64de66139",
        "ac5767a96df9fae46a37ffba62611472135a0f6d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 30 11:21:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 30 11:21:14 2011 -0700"
      },
      "message": "Merge \"Revert \"Parse RTP-Info even for live streams.\"\""
    },
    {
      "commit": "ac5767a96df9fae46a37ffba62611472135a0f6d",
      "tree": "35f170df72649a2bdfd171730a52a7e1d0a24965",
      "parents": [
        "9906d2e28146b24fc516bfd2568caeb463944d96"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 30 10:59:19 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 30 10:59:19 2011 -0700"
      },
      "message": "Revert \"Parse RTP-Info even for live streams.\"\n\nThis reverts commit d873413ff9f742f259c29d7d0b58265db6b24529.\n"
    },
    {
      "commit": "e5bf6409774fe73f968b7db215f535b64de66139",
      "tree": "1423ab7e90832989d67dcb15a08e79369c9a38a9",
      "parents": [
        "9906d2e28146b24fc516bfd2568caeb463944d96"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 30 09:17:57 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 30 09:34:25 2011 -0700"
      },
      "message": "Some (most) OMX decoders do not send a OMX_CmdComplete/Flush OMX_ALL notification\n\nChange-Id: I1bdcc7be5f12dab301891a5f9ee5cc981e09ba82\n"
    },
    {
      "commit": "ba499b591db0e26081e38545493144755eb72fff",
      "tree": "e4ac33a3cc5f01a0a59947e09813c4bc1d7ceea5",
      "parents": [
        "0a932b40bdc8c427ff275426ee19960d8648021d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 29 22:35:59 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 29 22:35:59 2011 -0700"
      },
      "message": "Return ERROR_END_OF_STREAM when the input source reaches eos\n\nChange-Id: I334313b054dcf388d2e05d56efb10ceea4980638\n"
    },
    {
      "commit": "9906d2e28146b24fc516bfd2568caeb463944d96",
      "tree": "fa8db6ece7efe4d5ba5cbee7b40ee6db0ec2e198",
      "parents": [
        "4ea52aea75c385e8d9de8cc04554aa5d93ca272b",
        "2df788fb0c402938f827bf9c9ce2ca3ab1dcd464"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "message": "Merge \"SF transactions are now O(1) wrt IPC instead of O(N).\""
    },
    {
      "commit": "2df788fb0c402938f827bf9c9ce2ca3ab1dcd464",
      "tree": "9d0b50a3de930a214b706ffb5dd524a6dc9d4153",
      "parents": [
        "3e1763ecdf14769a534f75e94a56785f63174b47"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 28 19:09:31 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 15:05:41 2011 -0700"
      },
      "message": "SF transactions are now O(1) wrt IPC instead of O(N).\n\nChange-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43\n"
    },
    {
      "commit": "4ea52aea75c385e8d9de8cc04554aa5d93ca272b",
      "tree": "683e921f8ad7eda3a374327003a67159fc3be069",
      "parents": [
        "fcc93ba6265f6cb1f193ac8b5827d37514dcf653",
        "0055e9e1c67e4614135da2cc0866caf3e7bfa3d6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 29 10:23:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 10:23:14 2011 -0700"
      },
      "message": "Merge \"Fix a format string that triggered a compile-time warning in OMXCodec.cpp\""
    },
    {
      "commit": "fcc93ba6265f6cb1f193ac8b5827d37514dcf653",
      "tree": "eb67e09a658fc74341631d47b2f1fe71825cd633",
      "parents": [
        "72bb3424c2422f178705b351eb70d14b69f0301e",
        "553f66e21be6e11120460830fc78793a4d11b465"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 29 09:51:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 09:51:50 2011 -0700"
      },
      "message": "Merge \"Instantiate a NetworkChangeNotifier to have chromium transparently handle interface\""
    },
    {
      "commit": "0055e9e1c67e4614135da2cc0866caf3e7bfa3d6",
      "tree": "783f27841370ab25174f5610f91ccd8d80dd0fb9",
      "parents": [
        "95068be1426dc0a4dc856cf9e35550c31b901711"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 11:42:43 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 29 09:19:19 2011 -0700"
      },
      "message": "Fix a format string that triggered a compile-time warning in OMXCodec.cpp\n\nChange-Id: Ib4b6cce1b4102034605da8edfb0dd8bc9a578168\n"
    },
    {
      "commit": "553f66e21be6e11120460830fc78793a4d11b465",
      "tree": "a99ad12442677fa8ab40895f901a2b8f77745544",
      "parents": [
        "95068be1426dc0a4dc856cf9e35550c31b901711"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 20 13:57:04 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 29 09:17:59 2011 -0700"
      },
      "message": "Instantiate a NetworkChangeNotifier to have chromium transparently handle interface\n\nchanges.\n\nChange-Id: If48d2934ce29d68b9c31a1d120fe8f134f277a33\n"
    },
    {
      "commit": "72bb3424c2422f178705b351eb70d14b69f0301e",
      "tree": "7ea3624efe4ac379b65869ae96f55fc6c3d8d2bf",
      "parents": [
        "95068be1426dc0a4dc856cf9e35550c31b901711",
        "b26a1176517579bd4d23f2a2cc91eca2e59b245c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 29 09:11:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 09:11:21 2011 -0700"
      },
      "message": "Merge \"Support for \"streaming\" non-transport streams by first converting them to ts packets.\""
    },
    {
      "commit": "63d794763a680c29edccce3a6fac3d6d9c13c8e3",
      "tree": "9205e6d96e42c88ea589d29bba78585b2df023f4",
      "parents": [
        "95068be1426dc0a4dc856cf9e35550c31b901711"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Mon Jun 27 10:49:11 2011 +0100"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Jun 29 16:00:27 2011 +0100"
      },
      "message": "Merge Chromium at r11.0.696.0: Using setter instead of direct variable access\n\nMembers in UrlRequestContext was made private in upstream CL:\nhttp://src.chromium.org/viewvc/chrome/trunk/src/net/url_request/url_request_context.h?view\u003ddiff\u0026pathrev\u003d77261\u0026r1\u003d75164\u0026r2\u003d75165\n\nChange-Id: I412ddf36b0818e59b9b3ae428407d562facd4785\n"
    },
    {
      "commit": "95068be1426dc0a4dc856cf9e35550c31b901711",
      "tree": "9f216a6e6c6523ea0f93ec7dcaca56f6970c6acc",
      "parents": [
        "3e1763ecdf14769a534f75e94a56785f63174b47"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jun 29 15:17:11 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jun 29 16:53:37 2011 +0800"
      },
      "message": "Unlock the camera if media recorder fails to start recording.\n\nbug:4965716\n\nChange-Id: Icb1f7f18e9ea6c4f0427ade2ed338e7d56be5e01\n"
    },
    {
      "commit": "32eea24fe93fd43e8078b1080db17304b27ed95a",
      "tree": "f39ec5198867e6c4e85601c7d58512afd1916505",
      "parents": [
        "0a932b40bdc8c427ff275426ee19960d8648021d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 27 16:30:55 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 28 17:35:02 2011 -0700"
      },
      "message": "Add extended metadata buffer support by defining different types of metadata buffers\n\nChange-Id: I6aa6b5da004c240c9986f6b9036950e234c8bd42\n"
    },
    {
      "commit": "b26a1176517579bd4d23f2a2cc91eca2e59b245c",
      "tree": "de3a9784e8aa3bf1174d9893d07c446e805c8924",
      "parents": [
        "3e1763ecdf14769a534f75e94a56785f63174b47"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 15:48:18 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 16:08:24 2011 -0700"
      },
      "message": "Support for \"streaming\" non-transport streams by first converting them to ts packets.\n\nChange-Id: Ia753a1ab99039f54ce3678a38e997902372b5fa5\n"
    },
    {
      "commit": "3e1763ecdf14769a534f75e94a56785f63174b47",
      "tree": "f93cb501a1984cd58dc0c2bf96f252595847a7e8",
      "parents": [
        "0a932b40bdc8c427ff275426ee19960d8648021d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 15:47:56 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 14:44:57 2011 -0700"
      },
      "message": "Support for writing output data to a provided callback function instead of a file\n\nin MPEG2TSWriter\n\nChange-Id: Ie54a5677c7b789a973aa50b7f197c6db238425bc\n"
    },
    {
      "commit": "0a932b40bdc8c427ff275426ee19960d8648021d",
      "tree": "4bd8610ec36d72c59acb16dd22636e8b8d8b5d38",
      "parents": [
        "e764bbf9020b8f31632b28216c86f557bb5acd2c",
        "1065b3f17d3048948e7d522049d1980b90df3dc1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 12:48:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 12:48:01 2011 -0700"
      },
      "message": "Merge \"Multiple changes to ACodec/codec tools:\""
    },
    {
      "commit": "1065b3f17d3048948e7d522049d1980b90df3dc1",
      "tree": "dbe2c8d5a540ec07e7ef74929808401b71004cd5",
      "parents": [
        "1e06f435434681f8750cc21763868fd025e8480e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:51:41 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:51:41 2011 -0700"
      },
      "message": "Multiple changes to ACodec/codec tools:\n\nMake sure sf2 does not coalesce input buffers, generalize ACodec\u0027s codec\ninstantiation based on OMXCodec\u0027s list of eligible component names.\n\nSome changes/additions to the \"sf2\" commandline tool\n\nMake surface options consistent with stagefright tool, i.e. use \u0027-S\u0027 instead of \u0027-s\u0027\nNew option \u0027-R\u0027 renders surface-allocated buffers.\n\nAlso fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified.\n\nChange-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae\n"
    },
    {
      "commit": "e764bbf9020b8f31632b28216c86f557bb5acd2c",
      "tree": "67466bcd5e726beaa926b8f0202cd18aaa0a2bd3",
      "parents": [
        "306bafcd7cabeb9059e066296cd225b8b03968a2",
        "16f7863149b400ca52e2e3cb83e50534fee6b58b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:16:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 10:16:51 2011 -0700"
      },
      "message": "Merge \"New option in the stagefright commandline tool.\""
    },
    {
      "commit": "306bafcd7cabeb9059e066296cd225b8b03968a2",
      "tree": "e5a598c909be525ba8b1a6db14cbbd2abdc070c9",
      "parents": [
        "1e06f435434681f8750cc21763868fd025e8480e",
        "50255a92dfb2ffd35955035ae9ac9d4b85f606b8"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 28 10:12:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 10:12:08 2011 -0700"
      },
      "message": "Merge \"Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video.\""
    },
    {
      "commit": "16f7863149b400ca52e2e3cb83e50534fee6b58b",
      "tree": "c014c8206d3f69b77eeee1bc2ede86e332bb9ac9",
      "parents": [
        "1e06f435434681f8750cc21763868fd025e8480e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:11:09 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 28 10:11:09 2011 -0700"
      },
      "message": "New option in the stagefright commandline tool.\n\nUse \u0027-S\u0027 to allocate decoder buffers from a surface\nUse \u0027-T\u0027 to allocate decoder buffers from a surface texture\n\nChange-Id: Ib71ea53d0fd1b2def08bfeac2fd8bcbdc1938161\n"
    },
    {
      "commit": "1e06f435434681f8750cc21763868fd025e8480e",
      "tree": "a064310008fa01610255ac7b8187e2b588675dee",
      "parents": [
        "34bac59216838c056ffc27fa8dc9c0bf583eaf82"
      ],
      "author": {
        "name": "Sundar Raman",
        "email": "sunds@ti.com",
        "time": "Fri Jun 17 09:05:09 2011 -0500"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 27 13:48:50 2011 -0700"
      },
      "message": "CameraService: Decouple dequeue and lock\n\nDecouple lockBuffer from dequeueBuffer. Add lock_buffer to preview_stream_ops,\nso HALs will be fully in charge of managing buffers.\n\nChange-Id: I7b53487d618bdf08ba904c5a0f41af462a7ca773\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "50255a92dfb2ffd35955035ae9ac9d4b85f606b8",
      "tree": "86093d1e49f305a52d867262079493f4112c1b58",
      "parents": [
        "b1af69b8f91cf71bef79f56faf981f9a77e507b6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Jun 27 10:48:26 2011 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Jun 27 12:42:39 2011 -0700"
      },
      "message": "Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video.\n\nThis change allows the WVM extractor to close and reopen when not in use which resolves\nthe issue with heap fragmentation between plays.\n\nChange-Id: I160ee1e98aada2bfdd0818eeb6300ad50644fb75\n"
    },
    {
      "commit": "34bac59216838c056ffc27fa8dc9c0bf583eaf82",
      "tree": "f9cd9c2d378d660351adf02a121624b577f78ea4",
      "parents": [
        "e5b2a43058438da3f5795dd9abf9419d640a004f",
        "3571d50a2582bc9c63f09cd81b4f490ea3522bd9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 11:14:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 27 11:14:19 2011 -0700"
      },
      "message": "Merge \"Fix the new color converter to respect the destination crop rect.\""
    },
    {
      "commit": "e5b2a43058438da3f5795dd9abf9419d640a004f",
      "tree": "4ca5f8154754f8e38676d1f7116d64d31aed68e9",
      "parents": [
        "bab4b56c93a3fc26767687bffd5d10c5250b35ea",
        "884946a23cfe804491ef6067bd9361371d7848fd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 11:14:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 27 11:14:12 2011 -0700"
      },
      "message": "Merge \"Log video dimensions and crop rectangle.\""
    },
    {
      "commit": "bab4b56c93a3fc26767687bffd5d10c5250b35ea",
      "tree": "a8432dec7a7ff35fbbe74ec3ecda1a1f467081a4",
      "parents": [
        "b1af69b8f91cf71bef79f56faf981f9a77e507b6",
        "078f12ed36b71a5fa7654b774369090b98cc684c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 11:14:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 27 11:14:05 2011 -0700"
      },
      "message": "Merge \"Update paths to test content used to run the omx_tests.\""
    },
    {
      "commit": "593e2773f616a926af45e74359e21a898c89875f",
      "tree": "ab3ee0caf88eb8dd858e8ba0a3a2525a4a8d0ff0",
      "parents": [
        "e6ebb09642944b1d0cc06a788308e9b843dee595"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 27 10:10:19 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 27 11:09:33 2011 -0700"
      },
      "message": "Bug 4571308 Provide correct video frame timestamps\n\nChange-Id: I0f726817fc02d3e2a4cf82ed801ef977994e6bcc\n"
    },
    {
      "commit": "b1af69b8f91cf71bef79f56faf981f9a77e507b6",
      "tree": "13a39a80c67625240791eab94842dcdc662c63fe",
      "parents": [
        "4ca2c7c913f8bd4ada13aca56d36045d42d1e00f",
        "486247017e0bfb9db9994a53a28c0dacfebf8567"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 27 10:34:13 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 27 10:34:13 2011 -0700"
      },
      "message": "Merge \"Reduce the number of output buffers and force output buffers in display order for SoftAVC decoder\""
    },
    {
      "commit": "3571d50a2582bc9c63f09cd81b4f490ea3522bd9",
      "tree": "75922c68e5f7ad9af3d36f4a05739d58c86886e4",
      "parents": [
        "884946a23cfe804491ef6067bd9361371d7848fd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 24 13:16:42 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 09:26:09 2011 -0700"
      },
      "message": "Fix the new color converter to respect the destination crop rect.\n\nAlso fixes the SoftwareRenderer to request blitting the correct crop rectangles.\n\nChange-Id: I38706cf9b42d96c6d5b35a9380f006ea4fbbf1ea\n"
    },
    {
      "commit": "884946a23cfe804491ef6067bd9361371d7848fd",
      "tree": "fabed61b8765b53ed1c4bd0eab95f1ebf232b475",
      "parents": [
        "078f12ed36b71a5fa7654b774369090b98cc684c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 24 13:15:30 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 09:26:09 2011 -0700"
      },
      "message": "Log video dimensions and crop rectangle.\n\nChange-Id: Ia56b09df4f6e9a14c4dcc499a6637fc39f8e3bb5\n"
    },
    {
      "commit": "078f12ed36b71a5fa7654b774369090b98cc684c",
      "tree": "6511315c11e89bb617f23f712a96fc4260e6a828",
      "parents": [
        "4ca2c7c913f8bd4ada13aca56d36045d42d1e00f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 24 13:14:32 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 27 09:26:09 2011 -0700"
      },
      "message": "Update paths to test content used to run the omx_tests.\n\nChange-Id: I23201ac1541df032426cb05b9dc872b28882f992\n"
    },
    {
      "commit": "4ca2c7c913f8bd4ada13aca56d36045d42d1e00f",
      "tree": "d65d0cadafa63bd9ab2aa9e8fbb6704b27a13fbc",
      "parents": [
        "c5a57efb706ec79032fc09c43b16d11ed0876604"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jun 01 17:22:24 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Jun 27 15:44:57 2011 +0800"
      },
      "message": "Add framework support for camcorder zoom.\n\nThe purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to\nallow applications using the camera during recording.\n\nCamera service allows only one client at a time. Since camcorder application\nneeds to own the camera to do things like zoom, the media recorder cannot\naccess the camera directly during recording. So ICameraRecordingProxy is a proxy\nof ICamera, which allows the media recorder to start/stop the recording and\nrelease recording frames. ICameraRecordingProxyListener is an interface that\nallows the recorder to receive video frames during recording.\n\nICameraRecordingProxy\n  startRecording()\n  stopRecording()\n  releaseRecordingFrame()\n\nICameraRecordingProxyListener\n  dataCallbackTimestamp()\n\nThe camcorder app opens the camera and starts the preview. The app passes\nICamera and ICameraRecordingProxy to the media recorder by\nMediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in\nMediaRecorder::start(). After setup, the recorder disconnects from camera\nservice. The recorder calls ICameraRecordingProxy::startRecording() and\npasses a ICameraRecordingProxyListener to the app. The app connects back to\ncamera service and starts the recording. The app owns the camera and can do\nthings like zoom. The media recorder receives the video frames from the\nlistener and releases them by ICameraRecordingProxy::releaseRecordingFrame.\nThe recorder calls ICameraRecordingProxy::stopRecording() to stop the\nrecording.\n\nThe call sequences are as follows:\n1. The app: Camera.unlock().\n2. The app: MediaRecorder.setCamera().\n3. Start recording\n   (1) The app: MediaRecorder.start().\n   (2) The recorder: ICamera.unlock() and ICamera.disconnect().\n   (3) The recorder: ICameraRecordingProxy.startRecording().\n   (4) The app: ICamera.reconnect().\n   (5) The app: ICamera.startRecording().\n4. During recording\n   (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()\n   (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().\n5. Stop recording\n   (1) The app: MediaRecorder.stop()\n   (2) The recorder: ICameraRecordingProxy.stopRecording().\n   (3) The app: ICamera.stopRecording().\n\nbug:2644213\n\nChange-Id: I15269397defc25cbbcae16abc071c8349c123122\n"
    },
    {
      "commit": "486247017e0bfb9db9994a53a28c0dacfebf8567",
      "tree": "bd524b6276e7b4b5556084555ebfd1ea2298a00f",
      "parents": [
        "c5a57efb706ec79032fc09c43b16d11ed0876604"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 17 17:00:20 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Jun 26 07:42:39 2011 -0700"
      },
      "message": "Reduce the number of output buffers and force output buffers in display order for SoftAVC decoder\n\nChange-Id: I9ec6d8205e7a56e42d5b5799a6c2e31076d24b81\n"
    },
    {
      "commit": "c5a57efb706ec79032fc09c43b16d11ed0876604",
      "tree": "95444a8ebe96bdd635f5669ae91e8f53a0d57a3e",
      "parents": [
        "cb62bc3fe54222cf05824e6f98fefafee552049a"
      ],
      "author": {
        "name": "Anu Sundararajan",
        "email": "sanuradha@ti.com",
        "time": "Wed Jun 22 10:49:21 2011 -0500"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Jun 23 18:35:25 2011 -0700"
      },
      "message": "Stagefright: add support for gralloc OMX_UseBuffer.\n\nXXX: This change should go along with a documentation change to\nHardwareAPI.h that describes the new extension.\n\nThis change adds support for passing a buffer_handle_t to OMX_UseBuffer\nduring OMXCodec initialization. This new way of passing the\nbuffer_handle_t\u0027s replaces the old OMX_SetParameter-based approach, and\nthis change deprecates that interface, but still supports it for OMX IL\nimplementations that do not support the new interface.\n\nChange-Id: If9c1cb3c6c349c54dab094aeb8af13eae9f85271\nSigned-off-by: Jamie Gennis \u003cjgennis@google.com\u003e\nSigned-off-by: Sarthak Aggarwal \u003csarthak@ti.com\u003e\n"
    }
  ],
  "next": "cb62bc3fe54222cf05824e6f98fefafee552049a"
}
