)]}'
{
  "log": [
    {
      "commit": "29f1c32eea12ab33547af73fb0e5dcf432e6979c",
      "tree": "d06e74143c2cd64ab0c1425b4b646e52cd6f13d0",
      "parents": [
        "7ea817e58d283434c624e1b2b6dcdba2e409133b",
        "5126f1d413b4fcb0aff5b364e1e5a41c89ca665c"
      ],
      "author": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Fri Dec 02 13:44:10 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 02 13:44:10 2011 -0800"
      },
      "message": "am 5126f1d4: am 613ed4c6: Merge \"Fixd for 5490443 Native crash while exporting a video - Add new onError callback to PreviewProgressListener, which is used to indicate video editor application for the error that has occurred during priviewing. With this modification, \n\n* commit \u00275126f1d413b4fcb0aff5b364e1e5a41c89ca665c\u0027:\n  Fixd for 5490443 Native crash while exporting a video - Add new onError callback to PreviewProgressListener, which is used to indicate video editor application for the error that has occurred during priviewing. With this modification, the application must implement the onError method, and then VideoEditorPreviewTest.java is changed accordingly.\n"
    },
    {
      "commit": "63149c81adf79f43c6508647614247277f8052e2",
      "tree": "88903ac924756e62b577ede1aa72e01c70a9cb0f",
      "parents": [
        "a6f8ebc616cfe3185ae2513ef2f846e8d32b551e"
      ],
      "author": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Wed Nov 30 16:54:46 2011 -0800"
      },
      "committer": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Thu Dec 01 09:43:42 2011 -0800"
      },
      "message": "Fixd for 5490443 Native crash while exporting a video\n- Add new onError callback to PreviewProgressListener, which is\nused to indicate video editor application for the error that has occurred during\npriviewing.\nWith this modification, the application must implement the onError method,\nand then VideoEditorPreviewTest.java is changed accordingly.\n\nChange-Id: I15610b8907fcf8bd35a3c69ad7c07b5175a6e309\n"
    },
    {
      "commit": "a4e702c2da02975276a46303ec78554e0d952905",
      "tree": "d83b5b384f3afa52610f6d81b79396534a0e8c26",
      "parents": [
        "a0337b4082f5c3e727d7e17e233c3da4a4a24e4c",
        "f51f1bd9d42d0dd55c120bfb83ed113b61e5c3ca"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 03 20:18:37 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 03 20:18:37 2011 +0000"
      },
      "message": "am f51f1bd9: Verify we actually have valid utf8 metadata\n\n* commit \u0027f51f1bd9d42d0dd55c120bfb83ed113b61e5c3ca\u0027:\n  Verify we actually have valid utf8 metadata\n"
    },
    {
      "commit": "f51f1bd9d42d0dd55c120bfb83ed113b61e5c3ca",
      "tree": "d3030786fb7266ca03c3c7ad21ab6126eb72886d",
      "parents": [
        "c5ce130f658303299bf55091373951f7fd33ae36"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 10:49:50 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 03 13:12:16 2011 -0700"
      },
      "message": "Verify we actually have valid utf8 metadata\n\nBefore calling NewStringUTF, check that the metadata value is actually\nvalid utf-8, and replace the offending characters with \"?\" if it is not.\nb/5534491\n\nChange-Id: I43de4307e739ae0b7d4177937ed33aa1dfb90d98\n"
    },
    {
      "commit": "71f2cf116aab893e224056c38ab146bd1538dd3e",
      "tree": "75a9162a0ea00830184b12a9ca51d3a1a040a5bb",
      "parents": [
        "1da79501066a74b630c8aa138db0f86ab6c690bb"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "f76afc80d229cf0c918e849acf5d8c4f5d4ffd07",
      "tree": "34ea727eb9597a948fa5cca1dfb128a7ccae3940",
      "parents": [
        "57337eb78e65c160fb9c46a01e04c476d1bfdca1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 14 19:06:55 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 14 19:55:12 2011 -0700"
      },
      "message": "MediaPlayer: properly handle released surfaces\n\nBug: 5396571\nChange-Id: I6af87cb04f09f9ae6ea77cd7ba31108a3e93d24a\n"
    },
    {
      "commit": "8dc208476f1fbbf6cd0b8cc3d48487a62cb72883",
      "tree": "bab0c935df6afc8a87a851162529f4a4d0681a67",
      "parents": [
        "8013290dd0e9d3eabc3611d7eca47aa50bdceed0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 28 09:21:11 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 28 09:21:11 2011 -0700"
      },
      "message": "Log a warning when a MediaPlayer is finalized without having being released.\nb/5382634\n\nChange-Id: I756d09d16a92ab8ce736c16a24e319a87be6c8de\n"
    },
    {
      "commit": "07b9ae33127212fd9e15f96fa89b7d4cab81e55e",
      "tree": "2649cc7409bb00e3037451e156931cee3cafe837",
      "parents": [
        "79aa40302b643ee6c6227ee354a1b1378e721568"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 16:27:31 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 19:32:26 2011 -0700"
      },
      "message": "Add QVGA resolution to CamcorderProfile\n\nChange-Id: Icebbafb68d8164370f98a2c36699845d10ef081b\nrelated-to-bug: 5145483\n"
    },
    {
      "commit": "81b37d8bde34ef3bb8eb8dfd7492761a39a8fd09",
      "tree": "dbab2126f8f4d8e26a596c25f2138d803f9c5ac7",
      "parents": [
        "c286b2cc26d57efa5fef42c085bb2eb330021114"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 15:28:43 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 15:38:36 2011 -0700"
      },
      "message": "If media player has died already, do not dec the old surface texture reference.\nOtherwise segfault will occur.\nFor bug 5327664.\nDo not merge.\n\nChange-Id: I03ea7bc047aa99a106f1e010dac74f75a833ef84\n"
    },
    {
      "commit": "c286b2cc26d57efa5fef42c085bb2eb330021114",
      "tree": "41ff1aec410c7a9d5979c0d13aaa9d6af9c92450",
      "parents": [
        "cb995121ee4bb4da236e8181fbfbd33bc2f9173a"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Sep 14 13:59:45 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 11:58:25 2011 -0700"
      },
      "message": "Cherry-pick from master. Do not merge.\nDo not need to reset surface as NULL in MediaPlayer\u0027s _release.\nRelated to bug 5252296.\n\nChange-Id: Ieab063cee70e072fcc4d861abe0f7979a7bab1ec\n"
    },
    {
      "commit": "a18886ca08b32c5c949a285f27c8713e05e3dd11",
      "tree": "b3514ed33f823248af654dda0d524761f48cfb05",
      "parents": [
        "2295cc77c72d451e7a1c9ec48f120a8e73651b6d"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Sep 09 13:58:59 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Sep 09 13:58:59 2011 +0800"
      },
      "message": "Fix 5278371: OOM in MediaItemThumbnailTest\n\nBecause we request 400x240 thumbnails. 100 thumbnails needs 38M,\nwhich is too much. Change it to 70 now.\n\nAlso handle the case if the thumbnail callback throws exception.\n\nChange-Id: Iac4ee72f308b7c7a6ae860983197601cf89bee8f\n"
    },
    {
      "commit": "47a52158d2df0eb818bf7d589d8ff9fd5c0daaa3",
      "tree": "bfeb04d14957f9d5787622a08b6d3bf767cb929f",
      "parents": [
        "7a57009c3ab5e4a55db448596a650261e878c975"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Sep 07 19:20:45 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Sep 07 19:20:45 2011 +0800"
      },
      "message": "Fix 5156702: rotate thumbnails\n\nChange-Id: I97b51dadf129172d5b154e9dfd66da254e4559d7\n"
    },
    {
      "commit": "fc301b0bb5c635c6bb51b48c504a8db5f9010e5c",
      "tree": "463dec648e238d2e6821a86d121f2a3f8048b3ff",
      "parents": [
        "117999d1f44ec3423369385495ae207898b7b73e"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Aug 30 14:39:17 2011 +0100"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Sep 02 11:26:59 2011 +0100"
      },
      "message": "Require INTERNET permission for network-based content.\nBug #1870981\n\nChange-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f\n"
    },
    {
      "commit": "c847b1a89df94dbff4c2f557f8c042ead5398c3f",
      "tree": "89a7ff6d1b2e7728ad1bf893f0b861d666bc6af5",
      "parents": [
        "890be6b919ce0c65d018a2dc40a6a1d59bc2b14d"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Tue Aug 30 12:44:44 2011 -0700"
      },
      "committer": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Tue Aug 30 12:44:44 2011 -0700"
      },
      "message": "Fix for 5156702 Rotate video output for thumbnails and export\n\nThis is part of a multi project submit.\nThis is the Java and Jni changes.\n\nChange-Id: I8851f5d865e657b7846bcded38e752f388f95895\n"
    },
    {
      "commit": "3ced044154945f9d60983032278e00fe28f4ab1b",
      "tree": "84dc5de0042328edd75dc1a24982e7f3af9f92c9",
      "parents": [
        "16296180984756e631611005179f42865af35621"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Fri Aug 12 16:43:37 2011 -0700"
      },
      "committer": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Fri Aug 19 14:34:47 2011 -0700"
      },
      "message": "Fix for 4142219 Don\u0027t hard code platform-specific limitations (Jni/ Java)\n\nAlso fixes 5118207 add other video codec support for video editor export.\n\nChange-Id: If72427173bd8ff684af07ba00f4425c1deef29c6\n"
    },
    {
      "commit": "7f639d33151be143f062274b0da0729c29391bdb",
      "tree": "ee9fb3a9eac94c397f12d2c0b290830385152708",
      "parents": [
        "2f5485587bfe99a56ab8d7b65ead3deb404d178e",
        "176dde85a0ba838c1aed4148473743d964edbaec"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Aug 18 18:39:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 18:39:01 2011 -0700"
      },
      "message": "Merge \"Fix 5144356: Native crash while importing music\""
    },
    {
      "commit": "a91495d56dc10a57ed21490ffafae742b6411d6e",
      "tree": "a7f41997c419f23176af0428ad836dc128a5c6c3",
      "parents": [
        "072039c71e3ef0e547cec4c28f05383debf439e1",
        "6721d33feff547e938aeba20073c9c0cc6a3390b"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Thu Aug 18 09:09:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 09:09:35 2011 -0700"
      },
      "message": "Merge \"Fix for 5155561 During export, progress bar jumps from 0 to 50%\""
    },
    {
      "commit": "176dde85a0ba838c1aed4148473743d964edbaec",
      "tree": "523e5bdddde7099cb631c437aa0b84296a23b457",
      "parents": [
        "fde00591c6e3243a7834b21f57e8c386f23aa597"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Aug 18 15:27:32 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Aug 18 15:28:43 2011 +0800"
      },
      "message": "Fix 5144356: Native crash while importing music\n\n1. Use the correct Get*Field functions according to the field type.\n2. When we have exceptions, return.\n\nChange-Id: I1878d806e26798a0977ff71a781551088e45f6fb\n"
    },
    {
      "commit": "6721d33feff547e938aeba20073c9c0cc6a3390b",
      "tree": "62aedc4e72f2fc8f5594699f1b018fe53233f4e7",
      "parents": [
        "dd7bc9f457204e60feeea53b0b12ba706d6964df"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Tue Aug 16 16:35:43 2011 -0700"
      },
      "committer": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Wed Aug 17 16:12:39 2011 -0700"
      },
      "message": "Fix for 5155561 During export, progress bar jumps from 0 to 50%\n\nChange-Id: I5f5814a1212cd242535ae7cadec8a76f099e78ce\n"
    },
    {
      "commit": "1f5de3833daddfa1d0ebc7dee1f9e007d4ed36a0",
      "tree": "77c4ad2ab7fce3ab6efff68bf0887631b54f2f01",
      "parents": [
        "0a2f9664737f112e7a15d8b28e053469845a5a80"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Aug 15 20:15:14 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Aug 16 16:48:43 2011 +0800"
      },
      "message": "Display thumbnails one by one and cache them.\n\nChange-Id: I10808f5bca475aea924817bf532dc5916438563a\n"
    },
    {
      "commit": "cb04a1f3a31c252a0e3fda5e7eaa16f3257c9397",
      "tree": "5993d0c25f98c9c78a57c1c5949a21c16c0c1b44",
      "parents": [
        "37d81ac316db1e9fab455d5b80012c8cf8b6c334"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Aug 09 20:54:01 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Aug 15 10:08:33 2011 +0800"
      },
      "message": "Speed up thumbnail generation.\n\nWe don\u0027t need to have precise position for thumbnails, so we add\na tolerance parameter to the decoder. The decoder can return an\nearlier frame within the tolerance time given.\n\nChange-Id: I0a49ed6b03f8c3264606e4143dd5ecf48e9d0f62\n"
    },
    {
      "commit": "65de903a88d432044bfa78271dd3192856ff25b4",
      "tree": "4312cd3ea7bd3fcd28ff9d9cc6b2438e6cdbf7ed",
      "parents": [
        "e81ad0aa13f3d9c51ad79f3f7e178660cd58b791",
        "43ef913815ec84d04877a698614a31e129cd97e3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 12 16:41:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 12 16:41:56 2011 -0700"
      },
      "message": "Merge \"If release has been called before finalize, do not expect MediaPlayer still exists\""
    },
    {
      "commit": "43ef913815ec84d04877a698614a31e129cd97e3",
      "tree": "38983c24f478cc7582bf5db084790239a086bbdf",
      "parents": [
        "6e97ed2127bdda72fee739fe9d28011d52155b9c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 12 11:33:27 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 12 16:39:47 2011 -0700"
      },
      "message": "If release has been called before finalize, do not expect MediaPlayer still exists\n\no also, we should releae the surface object when release is called, not wait until finalize is called.\n\nrelated-to-bug: 5157956\n\nChange-Id: I0233ad61d8349c3e3800de68b752b9548ece1742\n"
    },
    {
      "commit": "c498ad6eac80981946a7e96637fe2a9d0b161789",
      "tree": "c414bbba2684471ec8c40c321dcfa2937b7707ee",
      "parents": [
        "02bb0e4e3bccd0b5a87c46b248a8b05d3bb35844",
        "09f1735fadf985f321abef5fe696d0b80c6b46c7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 12 12:49:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 12 12:49:42 2011 -0700"
      },
      "message": "Merge \"Fix issue 5144429: CTS test fails for AudioEffects\""
    },
    {
      "commit": "1ee60119c4fa51ebfa781cf5fdc33f192e8551b8",
      "tree": "2fb0ce22107a1d3f0c73f3bd5d63a877f5a16d44",
      "parents": [
        "61bb11cfa03abc345f27ec14f63929b6f600edff"
      ],
      "author": {
        "name": "Ted Bonkenburg",
        "email": "tedbo@google.com",
        "time": "Tue Jul 26 09:51:18 2011 -0700"
      },
      "committer": {
        "name": "Ted Bonkenburg",
        "email": "tedbo@google.com",
        "time": "Thu Aug 11 19:58:25 2011 -0700"
      },
      "message": "Remove ParcelSurfaceTexture and update MediaPlayer\n\nThis removes the ParcelSurfaceTexture class since that functionality has been\nfolded into Surface.java. The change also updates the MediaPlayer to get rid\nof setParcelSurfaceTexture() and modifies setTexture() to use the new Surface\nfunctionality in order to simplify the code.\n\nChange-Id: Iafa75ea3188263928128325d8a726786971b4de4\n"
    },
    {
      "commit": "09f1735fadf985f321abef5fe696d0b80c6b46c7",
      "tree": "b2669d5a83942cfaca3fb09b64fada87b3f6a424",
      "parents": [
        "246ae5011c385d100f73b441ce7e47a6ea7e33ba"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 11 17:06:10 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 11 18:06:18 2011 -0700"
      },
      "message": "Fix issue 5144429: CTS test fails for AudioEffects\n\nandroid_media_AudioEffect_native_setup() was not initializing\nproperly the effect descriptor for audio pre processings.\n\nAudioEffect tests should create per processing effects on a valid\nAudioRecord session.\n\nChange-Id: Ia1862ca91c98e272f9374b9225a7d4ce7ef132fc\n"
    },
    {
      "commit": "91784c996f95483e3041169215c0d6635e27ffcc",
      "tree": "4ae8badfa2529f83e8747e687b971bdc79012b32",
      "parents": [
        "1467ec343309821b215cb3e049a6746d07030c07"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Aug 09 15:29:34 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Aug 09 15:31:30 2011 -0700"
      },
      "message": "To support for switching from a non-null surface/ surface texture to\na null one, and vice versa.\nFix for bug 5137445.\n\nChange-Id: Ifca2997f8ad27a843abbdaa7e89a56329bc40fde\n"
    },
    {
      "commit": "17cfcbfa2920e2bd0576cce0b36fb72fbbd1e0e3",
      "tree": "4042d65542d4b74e80bd1dd203e2e15bc543cc4d",
      "parents": [
        "e3f6d316b3118c245d1c4d65c70ac62cde70d311"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jul 26 12:14:28 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Jul 27 09:18:26 2011 +0800"
      },
      "message": "Add dependencies for the YV12 color converter change.\n\nBug: 5061733\nChange-Id: Id8227a4f634285323c37498604fe080d986bfb09\n"
    },
    {
      "commit": "85a315b54797b05b4232eda426fdd60e255aa97d",
      "tree": "aa1b4d7821bb832bbcc5a3fd4e102199d86594b3",
      "parents": [
        "efebb49ced7eb26c80a93cdda99de4f00021d672",
        "cac873bd4ad6ffc8587e3d77fece5abcf2804f4f"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Tue Jul 26 15:57:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 26 15:57:17 2011 -0700"
      },
      "message": "Merge \"Fixing up Mediarecorder for MFF\""
    },
    {
      "commit": "b33d46cc77b0e96a4d0ff39b85158c5c4eca3855",
      "tree": "ab0864704714f7e0d738536f9070861c183473e7",
      "parents": [
        "01c4dccece0ca90605fc29b5880a0a4fc319acbb",
        "25ba294d1f7f16d285a98d4a8ec2524ca2f860da"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Jul 25 18:36:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 18:36:57 2011 -0700"
      },
      "message": "Merge \"Add filename and line number in the debug messages.\""
    },
    {
      "commit": "cac873bd4ad6ffc8587e3d77fece5abcf2804f4f",
      "tree": "b1eca99095ee19c9cc5d1f002f44e7dcd093fc11",
      "parents": [
        "47a7c68ac862ecfc68f35a63b330cbda7131cd66"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Mon Jul 25 17:20:50 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Mon Jul 25 17:38:15 2011 -0700"
      },
      "message": "Fixing up Mediarecorder for MFF\n\nFor using the MediaRecorder in MFF (Mobile Filter Framework),\ngetMediaRecorder method in mediarecorder jni was earlier changed to\na non static method. Changed it back to a static method.\n\nAlso, added a new source type to MediaRecorder.VideoSource for recording\nGRalloc buffers.\n\nChange-Id: I031fad45c12b0ac9602d9e451d4767e95a86234d\n"
    },
    {
      "commit": "0f7f4ece1b6b73caf608d533d833a8cdc11c8131",
      "tree": "0f8a57676ec5ac53b22594b5f754a6216c720651",
      "parents": [
        "84e35d995f0b804a322e9e07fd1a0341658763ef"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 24 13:36:09 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 25 14:39:00 2011 -0700"
      },
      "message": "Added APIs for audio preprocessing\n\nAdded APIs to control pre processes applied on captured audio.\nThose APIs are still hidden until reviewed by API council.\n\nThree types of standard pre processes are supported:\n- Automatic Gain Control (AGC) by AutomaticGainControl class\n- Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class\n- Noise Suppression (NS) by NoiseSuppressor class\n\nA method is added to AudioEffect class to query audio pre processings\napplied by default by the platform on a given AudioRecord session ID.\n\nChange-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d\n"
    },
    {
      "commit": "aba28e7fecb06adab8de51619b2929b640369e83",
      "tree": "60ac494d70a72b7a565ee01af856c785372c32cb",
      "parents": [
        "a7cb8254943163606aa9339a0a8ba8930c7cafd9",
        "3ff98beeafd271a65c1f824699431366882b04f6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 22 17:59:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 17:59:10 2011 -0700"
      },
      "message": "Merge \"Deprecate two methods in MediaRecorder.java class\""
    },
    {
      "commit": "897e27bc75886e44d2f9f09155127f401c4173ea",
      "tree": "d352d82d32c65c1872c7020e18894c32411ca89e",
      "parents": [
        "95b404228547eb771700e6cbb927adc282aebccd"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jul 01 17:39:39 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jul 22 14:17:25 2011 -0700"
      },
      "message": "Connect MediaRecorder Native to SurfaceMediaSource\n\nMaking a connection from MediaRecorder Native layer to the\nSurfaceMediaSource for the purpose of encoding GL Frames. This will be\ncalled from the java side inside the Mobile Filter Framework.\n\nThe mediarecorder native layer (client), when set the videosource to\noption VIDEO_SOURCE_FRAMES, asks the StageFrightRecorder on the mediaserver\nside to create a SurfaceMediaSource object and pass it back as a\nsp\u003cISurfaceTexture\u003e object. Using that, the client side will dequeue and\nqueue buffers. Connecting the GL Frames to the obtained\nsp\u003cISurfaceTexture\u003e is not part of this CL.\n\nRelated to bug id: 4529323\n\nChange-Id: I651bec718dd5b935779e7d7a050b841c2d0b0fcd\n"
    },
    {
      "commit": "3ff98beeafd271a65c1f824699431366882b04f6",
      "tree": "ea0e8969920b5614ffc0edf47f26ccd7292eb977",
      "parents": [
        "ac4159549c10dbe428d42980278c0e43ecc8d93f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 21 10:36:03 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 22 11:45:50 2011 -0700"
      },
      "message": "Deprecate two methods in MediaRecorder.java class\n\nChange-Id: I98fbe628fe77867b97c04f44458948ede2f49d22\n"
    },
    {
      "commit": "25ba294d1f7f16d285a98d4a8ec2524ca2f860da",
      "tree": "dc061a7fe0ccee14ba4182ecec7d1f62384add8d",
      "parents": [
        "040c2f91ed0968f3193031cabbf51b756930adc7"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jul 22 05:07:45 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jul 22 05:08:39 2011 +0800"
      },
      "message": "Add filename and line number in the debug messages.\n\nChange-Id: I0e19215cd6f26ccd97bcbff765194adda5faf940\n"
    },
    {
      "commit": "432fb8ecbed402b06f7f92d829be544b317059be",
      "tree": "c7bb3ab93ee06af3106ec6feede6c002092280ee",
      "parents": [
        "598b6fe86b213d65668928f575a9688ac7c6061b",
        "600acf14ff12eaf139f0ac644fb7e17849af65fa"
      ],
      "author": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Thu Jul 21 11:13:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 21 11:13:43 2011 -0700"
      },
      "message": "Merge \"fix for issue  4142219 Don\u0027t hard code platform-specific limitations-jni/java part\""
    },
    {
      "commit": "2c70d4a372a8ce83163f19bbd6ae82483ffbe46b",
      "tree": "a0ce5a726ee27ce434e925ff2d8963d8a2f47580",
      "parents": [
        "cf4cfc6fc88f204e2e496e37337f7e70809bbf6f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 20 16:38:43 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 20 17:33:13 2011 -0700"
      },
      "message": "Untangle MediaScanner error handling.\nBug: 5056917\n\nChange-Id: I1a7a73579e3ba4e9709459329fc1901a28b0f4b1\n"
    },
    {
      "commit": "600acf14ff12eaf139f0ac644fb7e17849af65fa",
      "tree": "ca6c6d083c575d3ba2240c3398a8163017e21ac2",
      "parents": [
        "caed51bcc23303182ffffb8b2db04647845bc1f5"
      ],
      "author": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Wed Jul 06 18:33:09 2011 -0700"
      },
      "committer": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Wed Jul 20 16:51:39 2011 -0700"
      },
      "message": "fix for issue  4142219\nDon\u0027t hard code platform-specific limitations-jni/java part\n\nChange-Id: Icde261b1caf29a8cf552884c97f3c9d0b41741a3\n"
    },
    {
      "commit": "c1b9bbb21c8ad5109978a4e9e770cd18b0257434",
      "tree": "bfb7dd2272e5fe29d3c0fc4f22ca708e00bc10be",
      "parents": [
        "b6e5e7a740bf595a1a5d32b28549e5d579a04ee3"
      ],
      "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": "dcc31946f2b78be4bf95b1cace2e2c211f027e72",
      "tree": "49fc88fa7bee3e58449b87c547b01f94f860be74",
      "parents": [
        "3fd13eb6322e09f1ffe5476e28d55732da391151"
      ],
      "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": "a59a1bad8586e79a863442fa5139658e50ce9dd7",
      "tree": "29b42bfa8737ff7daa3d0216a47344519a18c37c",
      "parents": [
        "d44e1b6033eed29718f2e7e3540e4884929941a5",
        "af16d0b30e89f31b7617424c8706553ff571d08d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 11 12:15:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 12:15:21 2011 -0700"
      },
      "message": "Merge \"Remove unnecessary locking from MediaScanner JNI code\""
    },
    {
      "commit": "af16d0b30e89f31b7617424c8706553ff571d08d",
      "tree": "375fc4d9900ffc5ef1c97de2d8c269ea04e7327a",
      "parents": [
        "b7440a140b650932bf31cf51d3b87c3249e3b682"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Jul 10 14:22:31 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 11 15:07:10 2011 -0400"
      },
      "message": "Remove unnecessary locking from MediaScanner JNI code\n\nThere is nothing in this file that requires a global lock.\nFurthermore, the lock can cause timeouts in native_finalize if one instance\nis being garbage collected while another is busy in processDirectory\n\nBug: 5002520\n\nChange-Id: I8717f8edeb932200d9f76b3d98915cfbe18b6ec6\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7a59dd2ce33b46cbc73eef964ddb4272ea1da8d1",
      "tree": "62b6fa4be7f8904e07742a03f82cdf4b680b02ef",
      "parents": [
        "b7440a140b650932bf31cf51d3b87c3249e3b682"
      ],
      "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": "5cc05263399fea948c3b80f83f07ff7476ef0505",
      "tree": "4e27914026920216147b5f79300f9a61c909cf2e",
      "parents": [
        "1a65b441b127e66c0fae2e04e6f88628a6363209"
      ],
      "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": "ff90212a3c00e89b25399eb90cdce471cc8c8cc1",
      "tree": "4712acd3de187d9f11c601d52aabd57766985e7c",
      "parents": [
        "6e24576b6b10336e37c6447a5e2dbde5ea332da6"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jun 30 14:41:20 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jun 30 14:41:20 2011 +0800"
      },
      "message": "Remove curtain effect (it\u0027s unused).\n\nChange-Id: I2addf390aaa5aa514238b1f98eea67f27745cbf1\n"
    },
    {
      "commit": "42419ce28a09eb63e29a8fef87e6f5534f41902f",
      "tree": "f4c758095b56ee9257e90acc4050da046783663d",
      "parents": [
        "14f14863c508ff38fb2fe925c89e2bb2228fcffe"
      ],
      "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": "d7ed5992634596a53f32f66277de6d287ffb752f",
      "tree": "bce4c3bd3bdb4a33eec300ce13935f3f9a76f28b",
      "parents": [
        "0f5d8441ef3ee88855df71b15d81f4c14f12d63d"
      ],
      "author": {
        "name": "Shailendra",
        "email": "shailendray@google.com",
        "time": "Wed Jun 22 12:08:22 2011 -0700"
      },
      "committer": {
        "name": "Shailendra",
        "email": "shailendray@google.com",
        "time": "Wed Jun 22 12:15:56 2011 -0700"
      },
      "message": "Fix for kenBurn Effect for PNG image is crashing (4861071 )\n\nChange-Id: I4b9905ca862a1f0eac0bed4c7f021e93f79ea592\n"
    },
    {
      "commit": "7d40d42a364f520da853b41956b0a18ed172491b",
      "tree": "babec49303223c277a3a511076fe46ab35d3dcaf",
      "parents": [
        "422bf6702f4f099e6fd4fab4c26b0deaeb684e9f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 21 08:27:06 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 21 08:27:06 2011 -0400"
      },
      "message": "MTP: Add support for PTP variant of GetDeviceInfo result.\n\nChange-Id: I09f86fda768b7697665e401adb9516588859bf59\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "79cd8ba46b1ac15f75174beebc1411edea32c05b",
      "tree": "40fc349010204336cb3b98e64a944ff2f424aa7d",
      "parents": [
        "d7c8b6d2a4d2ec16f4f61c66f400d8b20726964c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 14 17:56:13 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 15 07:30:19 2011 -0700"
      },
      "message": "Remove unneeded #include \u003csys/resource.h\u003e\n\nSuggested in code review for previous change.\n\nChange-Id: Ic3225b240367dc6c9bf56fb4498fb8a0f9f806ec\n"
    },
    {
      "commit": "cc5278a3e258b30903102b718fb1cd832e79bb2b",
      "tree": "9d5116e42006858d5ed5bb7fddafe22a2f7cb045",
      "parents": [
        "8aec83eb15a94b8027bbe7b6358cdf2468fd2b5c"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Fri Jun 10 13:05:32 2011 -0700"
      },
      "committer": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Mon Jun 13 14:27:39 2011 -0700"
      },
      "message": "Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.\n\nThis adds support for setting a SurfaceTexture as the MediaPlayer video\nsink by using a ParcelSurfaceTexture object. The goal is to enable a\nSurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then\nbe set on the MediaPlayer.\n\nChange-Id: Ife5689ce673eb4bee1c377019db761685217b71d\n"
    },
    {
      "commit": "aa48835ce9a84d9d587d7a4b10ee6ea7c00e00ec",
      "tree": "54f7c3b7d105ee9e986f92b8a36b308a24bee14d",
      "parents": [
        "9eb014aeb0630dab9210f8eb8b6c2f4250d5990e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 08 09:19:23 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 08 09:19:23 2011 -0700"
      },
      "message": "MTP: Remove obsolete setPtpMode support\n\nPTP mode will be implemented as a separate USB function instead.\n\nChange-Id: I9304c1936c70604ab2ed9704c6b95e11b61f5ba2\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e46a86fcb6a0849fc05c4cade6cb94aad0325295",
      "tree": "6e56bb08bc09a3e73d1b7e6b0cab5d7d226d6463",
      "parents": [
        "2225e4b7049fa3fb9d39a068b8268b63c952d7c1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 15:20:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 01 15:20:35 2011 -0700"
      },
      "message": "Revert \"Use AudioTrack::event_type not int in callback\"\n\nThis reverts commit 2225e4b7049fa3fb9d39a068b8268b63c952d7c1"
    },
    {
      "commit": "2225e4b7049fa3fb9d39a068b8268b63c952d7c1",
      "tree": "e4acaa9a05334d2e930677a5f5adf8314d1706c9",
      "parents": [
        "2978cef0a77550ea3a364ffbf42fc43f2029070e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 04 17:18:16 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 01 13:50:23 2011 -0700"
      },
      "message": "Use AudioTrack::event_type not int in callback\n\nChange-Id: Ifefc708d46874e04fd0d01cb6e2d43b987ee796c\n"
    },
    {
      "commit": "e6f3f54e05ac773cacd146a9cc69d758d031271a",
      "tree": "ad6dc834b127811bd262b9b7eb76b729a290f8cc",
      "parents": [
        "c6aa9e8cc2bd6738fa6136b63f27ebd37c7efab0",
        "b107f4dec334b4c54584d4af21a7ceefc14947f2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 16 16:08:12 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 16 16:08:12 2011 -0400"
      },
      "message": "resolved conflicts for merge of b107f4de to master\n\nChange-Id: I0290c8517562bcbba7ac1f6ed358011c8e7e250e\n"
    },
    {
      "commit": "51690544aaeee82b1c50232cd57d50038b77f0c4",
      "tree": "15c07b891ca2c1b8e0fdd2471b6d0855162d66dd",
      "parents": [
        "2f6a3885533a52758c2cd4f81f6123a712be8ae6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 09 20:16:05 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 16 14:29:45 2011 -0400"
      },
      "message": "MTP: Have GetStorageInfo command return correct storage type for removable storage\n\nChange-Id: I09b548483c12080e7d77970babcae2eef379f2f4\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "34bb419e5946ab28112e9e27a4d1b3928d31e0e2",
      "tree": "3186b2ce206a101b19285660af602ec66bdbc831",
      "parents": [
        "b856f43ea7a3a5261a93e432e5ea80005e972530"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 11 14:15:23 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu May 12 14:09:57 2011 -0700"
      },
      "message": "update for new audio.h header location\n\nChange-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "79f407cc6c5ae34fc6f04d52fd034b49d1f002c4",
      "tree": "d416e43ca5458a0292dfcc515eabdb15e1304c02",
      "parents": [
        "8b1b0548b21e6d8fdfb769d9064cd2ff4232bc3d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu May 05 12:50:04 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu May 05 15:11:23 2011 -0700"
      },
      "message": "Refactor to share code between MediaPlayer and MediaMetadataRetriever JNI\n\nChange-Id: Ib847213f566dee79126d7c14d00750a9a8dedeb9\n"
    },
    {
      "commit": "17524dc0d296146c8ffb3f692dc8ab05fee5b1e0",
      "tree": "b5b014c4afc422460fd5a6c8c0807f276a27077f",
      "parents": [
        "588f280fe099dc5b18f15124ffb035fc1f5ef2f1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 04 13:41:58 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu May 05 11:20:55 2011 -0700"
      },
      "message": "Clean up JNI code\n\no Move the Set/Map/Iterator calls from JNI to Java\no The JNI function receives arrays instead of Maps\no Removed Set/Iterator calls from the Java code as suggested\n\nChange-Id: I34068bf24b61abaf2833dad1f65abc733ed760dd\n"
    },
    {
      "commit": "710a2064450bee6da14a6bb94b964c2b1eee06d0",
      "tree": "d61291813fb2ae043193e2bfbfef1549b4fe4c5e",
      "parents": [
        "7fc3bebb5e57900d988fe8f681feedae30f81e7d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 24 18:40:17 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:57 2011 -0400"
      },
      "message": "DO NOT MERGE MTP: Implement GetThumb command\n\nThis allows the PC to access thumbnails in JPEG files over MTP/PTP\n\nBug: 3219495\n\nChange-Id: Id61f353ba70e896fae9a47338bf7871c0f185d3e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "371279f8026dc6cf41852cf09f4475d1caf6f589",
      "tree": "2cd145b87231bbb28a56d7df7663fef85c259e0d",
      "parents": [
        "9c112a86def2f5e21705b29f906aadcb7fafb067"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Apr 21 17:05:55 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:56 2011 -0400"
      },
      "message": "DO NOT MERGE MTP: Add extended operations to support in-place editing of files\n\nMTP does not support partial writes of files (the entire file must be transferred at once).\nThis makes it impossible to implement a FUSE file system for MTP\nwith acceptable performance.\nTo fix this problem, this change adds extended MTP operations to allow\npartial writes to files:\n\nSendPartialObject - allows writing a subset of a file, or appending to the end of a file\n\nTruncateObject - allows changing the size of a file\n\nBeginEditObject - must be called before using SendPartialObject and TruncateObject\n\nEndEditObject - commits changes to a file after it has been edited with SendPartialObject or TruncateObject\n\nWe also add GetPartialObject64, which is the same as GetPartialObject\nbut has a 64 bit offset rather than 32.\n\nChange-Id: Id5365e1c4dc55a2d819c16c9db0a3ac2260f9309\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9c112a86def2f5e21705b29f906aadcb7fafb067",
      "tree": "1cba6eb0a32786b87527e810b843e49e0e08a5db",
      "parents": [
        "1cf74fb3c46f107d95a87c7c4ab88c421758f41e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 24 11:15:09 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:56 2011 -0400"
      },
      "message": "DO NOT MERGE MediaScanner: reimplement the \".nomedia\" feature for hiding files from the media provider\n\nPreviously we ignored any files and directories that had name started with \u0027.\u0027\nand ignored any directories that contained a \".nomedia\" file.\nNow to support transferring any file via MTP, we now add these previously ignored files\nto the media database, but will not mark them as audio, video, image or playlist files.\nThat way they will be included in the files table but will be hidden from the\naudio, video, images and playlist views that are used by apps like Music and Gallery.\n\nBug: 3405327\n\nChange-Id: Ibb37bb2856a0684ce9f685ed565ad35347622834\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7ae938be1b4fb8938f0f438cfd611cd9ed0da513",
      "tree": "0c9dbcf5228101652d8e0a742e51139ea3ac8964",
      "parents": [
        "91dd02c3405a76e9051f7e118ad19ca111b2aa40"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:21:27 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:56 2011 -0400"
      },
      "message": "DO NOT MERGE MTP and media provider support for multiple storage devices:\n\n- MTP support for multiple storage units\n\n- Add storage_id column to media database for MTP storage ID\n\n- Add framework resource for defining mount points and user visible descriptions\nfor multiple volumes\n\n- Clean up locking in MtpServer JNI code\n\nChange-Id: Ide6d47bd9aa1698ed2a13d695613e03f2a9b29e3\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d01ec6eab019e46398975202e9e4a198a603ad99",
      "tree": "0669d2f0f8a546de5ebaf135bec67086648f51fc",
      "parents": [
        "71a0dab1ca962c2827be0221a7fbcc065dc3cbb8"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Apr 25 17:28:22 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Apr 29 10:24:03 2011 -0700"
      },
      "message": "Add setParameter/getParameter to MediaPlayer API.\nfor bug 1982947\n\nChange-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53\n"
    },
    {
      "commit": "24fc2fb1c541e954b83fd31ea9f786a5e9b45501",
      "tree": "e85b3ff86b73d56e16ab640919d251c046371c65",
      "parents": [
        "4dc22e77cfd2a1c3671e5646ee87c5e4c15596a0"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Apr 19 22:30:36 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Apr 27 13:10:10 2011 -0700"
      },
      "message": "audio/media: convert to using the audio HAL and new audio defs\n\nChange-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "c89f22242b955ae748765b3465b819b40f70ee5f",
      "tree": "e6eb68d7849ee6954b0b309b480b79ac93c1893f",
      "parents": [
        "466e3a22db283958a1da71cc60a23ce3976a3659"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 24 18:40:17 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Apr 25 17:40:33 2011 -0700"
      },
      "message": "MTP: Implement GetThumb command\n\nThis allows the PC to access thumbnails in JPEG files over MTP/PTP\n\nBug: 3219495\n\nChange-Id: I4964f8b4826dffb7f0f77464ec91bd2e97a2f007\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "997354e4b4a9666cedd62282471e97822affced9",
      "tree": "4f9af265b59489bdc0b2e1562cde035d984c5767",
      "parents": [
        "653935da6bfe45301bc362c92d4aa9b4f50277ca"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 24 11:15:09 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Apr 25 09:21:54 2011 -0700"
      },
      "message": "MediaScanner: reimplement the \".nomedia\" feature for hiding files from the media provider\n\nPreviously we ignored any files and directories that had name started with \u0027.\u0027\nand ignored any directories that contained a \".nomedia\" file.\nNow to support transferring any file via MTP, we now add these previously ignored files\nto the media database, but will not mark them as audio, video, image or playlist files.\nThat way they will be included in the files table but will be hidden from the\naudio, video, images and playlist views that are used by apps like Music and Gallery.\n\nBug: 3405327\n\nChange-Id: I2d7285bd32e06c1a5c4ef6a8a15f8f8b2c33b39b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "825e8716a6ddaf9c70767c5f7228d16da73f7573",
      "tree": "169d8744dd7d48fcdf68128497539a83e8abe132",
      "parents": [
        "b8b49559f6444c0c52c86680f2c2c8ee950be94d",
        "9df53fae3afd1c6b5278216be2fd33a255602aef"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Apr 23 08:55:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 23 08:55:59 2011 -0700"
      },
      "message": "Merge \"MTP: Add extended operations to support in-place editing of files\""
    },
    {
      "commit": "2fb605a088d25037c66eae04f5d35ea1fe115390",
      "tree": "4c0e6dd45fe6528196e132b374933de7fa0dba7a",
      "parents": [
        "fb281f3ad7f78f9046fe3921fe0a2ab74fad5f82"
      ],
      "author": {
        "name": "hongteng",
        "email": "hongteng@google.com",
        "time": "Fri Apr 22 11:46:10 2011 -0700"
      },
      "committer": {
        "name": "hongteng",
        "email": "hongteng@google.com",
        "time": "Fri Apr 22 11:46:10 2011 -0700"
      },
      "message": "Fix for issue 3385135 \"source code cleanup\" engine part\n- remove the unused header files\n\nChange-Id: I78971f7a6ae9325ce96a474e448c6f3d586d7ba6\n"
    },
    {
      "commit": "9df53fae3afd1c6b5278216be2fd33a255602aef",
      "tree": "8d0cdc8ade4364595d906dbd4d2340354ee37cc8",
      "parents": [
        "fb281f3ad7f78f9046fe3921fe0a2ab74fad5f82"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Apr 21 17:05:55 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Apr 22 07:11:20 2011 -0700"
      },
      "message": "MTP: Add extended operations to support in-place editing of files\n\nMTP does not support partial writes of files (the entire file must be transferred at once).\nThis makes it impossible to implement a FUSE file system for MTP\nwith acceptable performance.\nTo fix this problem, this change adds extended MTP operations to allow\npartial writes to files:\n\nSendPartialObject - allows writing a subset of a file, or appending to the end of a file\n\nTruncateObject - allows changing the size of a file\n\nBeginEditObject - must be called before using SendPartialObject and TruncateObject\n\nEndEditObject - commits changes to a file after it has been edited with SendPartialObject or TruncateObject\n\nWe also add GetPartialObject64, which is the same as GetPartialObject\nbut has a 64 bit offset rather than 32.\n\nChange-Id: I4b110748b97ae05cdc8aab02ecdbbbeb263f7840\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c0125dd4f1f8bb03ad16138f86d55ed3305240c4",
      "tree": "99b5a55808e8d00db39b78d1e8acd6859d4057fc",
      "parents": [
        "9f0df630fda450571e097ab6b1f1b1e5fa71e981"
      ],
      "author": {
        "name": "Shyam Pallapothu",
        "email": "shyamp@google.com",
        "time": "Thu Apr 21 19:13:56 2011 -0700"
      },
      "committer": {
        "name": "Shyam Pallapothu",
        "email": "shyamp@google.com",
        "time": "Thu Apr 21 19:13:56 2011 -0700"
      },
      "message": "Fix for issue 4133431 \"Remove OSAL layer\" in JNI part\n\nChange-Id: I4d38454cdf32cb87dadeedcecd19261dd0b0b927\n"
    },
    {
      "commit": "3feb41ff6f617768eb25c1b69c473d33f4f2f37b",
      "tree": "023f2e6d258f064a3ccde492aa7adf0bb64b04c7",
      "parents": [
        "7743fa64b11e9747d3ba8065a08a33ee9d90938f"
      ],
      "author": {
        "name": "Shyam Pallapothu",
        "email": "shyamp@google.com",
        "time": "Wed Apr 20 20:28:32 2011 -0700"
      },
      "committer": {
        "name": "Shyam Pallapothu",
        "email": "shyamp@google.com",
        "time": "Wed Apr 20 20:28:32 2011 -0700"
      },
      "message": "Fix for issue 4133431 \"Remove OSAL layer\" in JNI\n\nChange-Id: I55f43989a8b89a3811468b30646fe1af0c87b386\n"
    },
    {
      "commit": "7743fa64b11e9747d3ba8065a08a33ee9d90938f",
      "tree": "07706df9ae37fb590a53982ea3db426cb6b7cd41",
      "parents": [
        "118782298b72ed526c8254025b36c8cf6d3b1f76"
      ],
      "author": {
        "name": "Dheeraj Sharma",
        "email": "dheerajs@google.com",
        "time": "Tue Apr 12 14:53:58 2011 -0700"
      },
      "committer": {
        "name": "Shyam Pallapothu",
        "email": "shyamp@google.com",
        "time": "Wed Apr 20 18:33:02 2011 -0700"
      },
      "message": "Fix for issue 4133431 \"Remove OSAL layer\" in JNI part\"\n\nFix for issue 4133431\n\nChange-Id: I5879b740e7104abca7f4e1e831629997a6eec781\n"
    },
    {
      "commit": "966f9e558d714d9d41189e989b21e6d5fec35047",
      "tree": "91a441b9bd37150759458b5ef908271de2c18a84",
      "parents": [
        "3220d0a1dec028ae648cb4d89d7a6aa824b34225",
        "162ee49e1ce8800de80697fdd0e0e42ad7e9374e"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Apr 13 15:36:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 15:36:14 2011 -0700"
      },
      "message": "Merge \"- Add another parameter in notify() to be able to send timed text sample through listener during video playback. - Add OnTimedTextListener in the MediaPlayer For feature request 800939.\""
    },
    {
      "commit": "162ee49e1ce8800de80697fdd0e0e42ad7e9374e",
      "tree": "fb729edc49c75aa905daa34211810bd92c959f8c",
      "parents": [
        "a58ee55f490953247882298d56003cbf94285344"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Apr 11 17:23:27 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Apr 13 11:11:34 2011 -0700"
      },
      "message": "- Add another parameter in notify() to be able to send timed text sample\nthrough listener during video playback.\n- Add OnTimedTextListener in the MediaPlayer\nFor feature request 800939.\n\nChange-Id: I65072c27acb4c0037109a72be38c73e9f667420f\n"
    },
    {
      "commit": "dd66bcbf9d6ef0c50a18d9c4b1b39ce7ef7afcc4",
      "tree": "d44c2b9758436b189a2091297fa1e22d350da4a3",
      "parents": [
        "ae447967b5f07dd789a7488aa9e190637478a97c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 12 11:28:59 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 12 11:28:59 2011 -0700"
      },
      "message": "More native code cleanup.\n\nDon\u0027t keep unused global references to classes, don\u0027t throw exceptions\nwhen an exception is already pending, and fix a (harmless) misunderstanding\nabout how GetStringChars works.\n\nChange-Id: Ie445036f057daa8a1c76aceb7bad2a84fb81d820\n"
    },
    {
      "commit": "a3804cf77f0edd93f6247a055cdafb856b117eec",
      "tree": "795814e56ceddf3773f7f2b47bb7a6b632daa5d5",
      "parents": [
        "4123211637dcc0155091016f0c0987b80e56ab7b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 11 16:50:19 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 11 17:04:01 2011 -0700"
      },
      "message": "You don\u0027t need to poke around inside FileDescriptor manually.\n\nWe can help you with that.\n\nNote also that getParcelFileDescriptorFD did no such thing. All its callers\nwere passing in a regular java.io.FileDescriptor and expecting the int. No\nParcelFileDescriptors involved.\n\nChange-Id: Idc233626f20c092e719f152562601f406cc1b64a\n"
    },
    {
      "commit": "15dd15fd572df6b6f785dff75f66e9b99f40322a",
      "tree": "101754d3ee5b9903fbe513b308646c8eaccab8af",
      "parents": [
        "6cab9a6e3fc660ca9c2b32e01f86c71da222c181"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 08 17:42:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 08 17:42:34 2011 -0700"
      },
      "message": "Tidy up exception throwing in the media native code.\n\n(I\u0027m going through all of frameworks/base in multiple passes. This pass is just\nfor exception throwing.)\n\nChange-Id: Ia14a5c720edae86ac780023be88e676aa1b3315d\n"
    },
    {
      "commit": "c371a02e7cf504e9a926ca29c33e63b658c2cef7",
      "tree": "d0590119aa5f7809550abc55ac6e23a937c3d10f",
      "parents": [
        "fcdebf88a483faa2f9bbde2b9a4093ca98b2ba6c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 06 12:16:07 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 07 11:10:25 2011 -0700"
      },
      "message": "Media JNI code cleanup\n\no Don\u0027t throw exception again because an exception was already thrown\no Check on return values from FindClass() and GetMethodID\n\nChange-Id: Id92bb8228f1f0d2798d1cdf7de73cbb43816060b\nrelated-to-bug: 4139926\n"
    },
    {
      "commit": "3977472d9f3380a8323156dbc7d0090cf2f2d310",
      "tree": "739b13129b62691d22b9c300f45a8f4926c8ab9a",
      "parents": [
        "d57a93b27d43ac46960be6276a208da0b686bcf4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 06 11:57:48 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 06 12:05:03 2011 -0700"
      },
      "message": "Handle the failure from GetStringUTFChars()\n\nChange-Id: I9eb0f9f0fd2fa5116e7be80b1fa2ed4a95521b9d\nrelated-to-bug: 4139926\n"
    },
    {
      "commit": "46e18c11d46a2bc1a46174f963d0ed1224d94cd2",
      "tree": "266818e339e08cea909f21b9af492f5ffc83079d",
      "parents": [
        "14faa3bd8bd6d1deab63a40ad2f8b6e451a16208"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Apr 05 22:44:45 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Apr 06 10:04:20 2011 -0700"
      },
      "message": "Don\u0027t use local ref for cached jclass reference in JNI code\n\nChange-Id: Id45b2acb358a819f2fd332e99f3a095f6fc7299b\nrelated-to-bug: 4241138\n"
    },
    {
      "commit": "b239b683765f63d79e74b8ba2a8cc2855f236536",
      "tree": "7ff21a574ec525fd441380e3187ff44c5ef9961c",
      "parents": [
        "80e0a416a6f8d70d3f55614695fb430f914371bc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:21:27 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 15:19:16 2011 -0400"
      },
      "message": "MTP and media provider support for multiple storage devices:\n\n- MTP support for multiple storage units\n\n- Add storage_id column to media database for MTP storage ID\n\n- Add framework resource for defining mount points and user visible descriptions\nfor multiple volumes\n\n- Clean up locking in MtpServer JNI code\n\nChange-Id: Iffb66ed156ef5bc80b14228af78fbacee7734360\n"
    },
    {
      "commit": "a93f84e067f02c319c69a114e219006507d1b4f4",
      "tree": "0ca68afb418717383664b1ca42843a5485a3b324",
      "parents": [
        "827107f4ec7d9a53d7bb6e4071858252f263fa8c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 01 13:29:27 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 01 13:29:27 2011 -0700"
      },
      "message": "ISurfaceTexture does not have a method getIdentity()\n\nChange-Id: I81e6b0335747bd5c2c4b15c9f8c99100842a06c1\n"
    },
    {
      "commit": "696257ccf315a1da042787c5b2d1f80c7146fc94",
      "tree": "39c185c6f97540243e5d071e545343822f46f2cc",
      "parents": [
        "1be6cce70175bd90744498d5fca95e3f9eec1cf6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 25 18:42:40 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 25 18:42:40 2011 -0700"
      },
      "message": "merge libsurfaceflinger_client into libgui\n\nthis is the first step in unifying surfacetexture and surface.\nfor this reason the header files were not moved, as most of them\nwill eventually go away.\n\nNOTE: currently we keep libsurfaceflinger_client.so as an empty\nlibrary to workaround prebuilt binaries wrongly linking against\nit.\n\nChange-Id: I130f0de2428e8579033dc41394d093f4e1431a00\n"
    },
    {
      "commit": "602b3286ffe7da6e70bf2d9e4861a5d74ff7c473",
      "tree": "c5f479c502362a0ab46889d50c13d638f2669371",
      "parents": [
        "7a4b8bd58847e6334aaa45227a2512a8200c0812"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 18 08:33:14 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 21 17:11:59 2011 -0700"
      },
      "message": "Fix issue 3509396: AudioEffect.getParameter JAVA.\n\nRemoved dead/buggy code in AudioEffect.getParameter() and\nAudioEffect.command() that was meant to return the actual length of\nmeaningful data in the returned parameter or command reply.\n\nThis is replaced by the method return status indicating this length when\npositive (negative return codes still indicate the same errors as before).\n\nModified automated AudioEffect tests accordingly.\n\nChange-Id: Ie89617f912766b8dee73b81f92af9c48027c982d\n"
    },
    {
      "commit": "5bb357f4ccdb573efbe1476a7f20e82f454b3a93",
      "tree": "f6e40a6046f3356ba932aeaedc96def285aee319",
      "parents": [
        "14a80afa512c4d37b1e0dc4c4fe6281d74fc172e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 11:55:01 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 11:55:01 2011 -0700"
      },
      "message": "Fixing the build.\n\nChange-Id: I89daa503029491e6f1a8321f7e45c9439315ad23\n"
    },
    {
      "commit": "14a80afa512c4d37b1e0dc4c4fe6281d74fc172e",
      "tree": "1c19cabbb4cab7206d7a91240ff4a7a41e9a7cf7",
      "parents": [
        "294a6e420f07021441f1187ce0a38a925e6dce12",
        "5b7ced6a4ebcec34a36d0779773bc9e671732dbf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 11:23:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 21 11:23:15 2011 -0700"
      },
      "message": "Merge \"Support passing headers to MediaMetadataRetriever\u0027s setDataSource API\""
    },
    {
      "commit": "5b7ced6a4ebcec34a36d0779773bc9e671732dbf",
      "tree": "0489d59487f225e900896f1f5fd152dc2c498666",
      "parents": [
        "affb58e727863fdc8d2c0ea444054b581eb41be5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 10:25:44 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 11:13:59 2011 -0700"
      },
      "message": "Support passing headers to MediaMetadataRetriever\u0027s setDataSource API\n\nChange-Id: Ib1a5c08fc5034cac05034db27007a35c9b660b26\nrelated-to-bug: 3506316\n"
    },
    {
      "commit": "9f2cde3cdb3e2de97f450d0f4e2b52aae86ce5a3",
      "tree": "b9e8f36150c9abdd11ced360c1a89f6071460d05",
      "parents": [
        "df66797771550d243500943e1b9a177667f77f7a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 18 17:55:06 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Mar 20 14:46:30 2011 -0700"
      },
      "message": "Scale the thumbnail if display dimension is different from the actual buffer size\n\nbug - 3379293\n\nChange-Id: I31c08010c97387716433da99d648bd364847b6aa\n"
    },
    {
      "commit": "0b8fe2012debcc3a274797ff4d405906fd30be8e",
      "tree": "16be217b036806b8d98d5ae271d777cb3cc30566",
      "parents": [
        "5e4059f646a6c648b000d1422180bd85d93c09a9",
        "ce254e8613ddc4d57a8a5a8a2763b22690f451a4"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Wed Mar 16 16:10:32 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 16 16:10:32 2011 -0700"
      },
      "message": "am ce254e86: am 69d05490: am 0edefea8: Merge \"Fix for 4087846 Crash reported by monkey report (Java/Jni)\" into honeycomb-mr1\n\n* commit \u0027ce254e8613ddc4d57a8a5a8a2763b22690f451a4\u0027:\n  Fix for 4087846 Crash reported by monkey report (Java/Jni)\n"
    },
    {
      "commit": "8e7991a52edb3eb8bd1a44ceb7f6d97108748c8c",
      "tree": "66b4f142e7368d3bd08590b12c0d1d8e4823d012",
      "parents": [
        "3ec9d06f070db3a8899ad235736abd0ffaf6f578"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Tue Mar 15 16:20:17 2011 -0700"
      },
      "committer": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Tue Mar 15 16:20:17 2011 -0700"
      },
      "message": "Fix for 4087846 Crash reported by monkey report (Java/Jni)\n\nChange-Id: I356f975743f5a24e72f33a20ee497a2b12791be6\n"
    },
    {
      "commit": "0660c7d04892f3e84e5a3a3ec42cf4c704b9d689",
      "tree": "6b1b2f348d64f08694d6a0c3393184621197d825",
      "parents": [
        "688d8412bd027f33c0c56267d26b96ef10599702",
        "133cf8b92a07d5be8c64607b9644aa9cef169fb0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 14 17:49:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 17:49:25 2011 -0700"
      },
      "message": "Merge \"Add a release() method to MediaScanner\""
    },
    {
      "commit": "3070af08821ee86f06a9cc6b58dbb79c82946b94",
      "tree": "350ed99dcd32f33f936639c946b0176ed6022693",
      "parents": [
        "e3f075622da4e78772abf21a5a219a0d48bc6c04"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Mar 14 14:02:13 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Mar 14 14:25:59 2011 -0700"
      },
      "message": "frameworks/base: remove LOCAL_PRELINK_MODULE\n\nChange-Id: I54dd62ebef47e7690afa5a858f3cad941b135481\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "133cf8b92a07d5be8c64607b9644aa9cef169fb0",
      "tree": "ca6d0ac089b1ae342cfa3d4538945557b1bf36b5",
      "parents": [
        "718e64b17f72874996425b7ba9a187d473bc58f7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 11 15:18:40 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 11 19:08:59 2011 -0800"
      },
      "message": "Add a release() method to MediaScanner\n\nbug - 2586042\n\nChange-Id: I08713ac75cbcaf01dff21a24cdefb6e2dacc92cb\n"
    },
    {
      "commit": "86ad55028be46a4cfbe821f27729fcebf045ccc8",
      "tree": "2566460fefaf09441bbea4398394a2076e050a1e",
      "parents": [
        "e5c1bdfa98e419b0e8bb35dbbc14a4844fe91dc1",
        "eab30df28154ef6b671340726225ea60c8443595"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Mar 11 16:52:59 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 16:52:59 2011 -0800"
      },
      "message": "Merge \"Remove unnecessary ld flags.\""
    },
    {
      "commit": "eab30df28154ef6b671340726225ea60c8443595",
      "tree": "bedcaa314969930c410b6d51080cc01dda3b2f31",
      "parents": [
        "4c1ac4e66560f53625de28663c67e81a5f8f4401"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Mar 11 16:06:02 2011 -0800"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Mar 11 16:06:02 2011 -0800"
      },
      "message": "Remove unnecessary ld flags.\n\nThis fixes the x86 buid, in which bfd linker is unavailabe.\n\nChange-Id: Ibce1b5cbfb0435644b2d75056003578371510929\n"
    },
    {
      "commit": "f39975285874ba80bca3e8d94323c6aad3bb83da",
      "tree": "ffe5c724962efe2a73df8a8d433773fedeb6a2ed",
      "parents": [
        "f25a7964a3c626013a832516617d0afcb81b2673"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 11 12:02:12 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 11 13:36:28 2011 -0800"
      },
      "message": "A little cleanup in MediaScanner JNI code\n\no mainly use the defined class name rather than repeat the string each time\n  to reduce the typo chance.\no format the code also\n\nChange-Id: I131c98f11335ff524d01a6791baa1b8c11013abc\n"
    },
    {
      "commit": "b966b9d9e882835691e5adda292d89dd704df71c",
      "tree": "dad312b383b230b970551174a6122316a9db88bf",
      "parents": [
        "580b64111788fd312697d4fe60017127877dadf4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 17:28:33 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 17:28:33 2011 -0500"
      },
      "message": "MTP: Convert date created and modified values from seconds to milliseconds\n\nBUG: 4026365\n\nChange-Id: Ifd78cca305299ed1cedd6595609d9bf8d520cd8e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "895a28e14e6c88b4ff3b1f1cdf02d22f7b3b52ca",
      "tree": "a8bcc334f58fedb673efd660736fb14fb41ae29e",
      "parents": [
        "4d3e7fb7ab00c190aa7ce4f8a4d5174909067ccc"
      ],
      "author": {
        "name": "Santosh Madhava",
        "email": "smadhava@google.com",
        "time": "Fri Mar 04 18:37:51 2011 -0800"
      },
      "committer": {
        "name": "Santosh Madhava",
        "email": "smadhava@google.com",
        "time": "Fri Mar 04 18:37:51 2011 -0800"
      },
      "message": "Fix for issue 3453519: (Java/JNI) do not allow editing of DRM protected contents\n\nChange-Id: I376483c42b5bed8d2a1765804c2261c18d720a0c\n"
    },
    {
      "commit": "4fad6762c6429379c4f7fe5d78e84d0718f52817",
      "tree": "c64fe84229aca59c0c6d49d2c64f81d798ca50bc",
      "parents": [
        "05d5ef6afd6b152ca9a443311fc2486076a1ae89"
      ],
      "author": {
        "name": "Basavapatna Dattaguru",
        "email": "dattaguru@google.com",
        "time": "Sun Feb 27 21:15:18 2011 -0800"
      },
      "committer": {
        "name": "dattaguru",
        "email": "dattaguru@google.com",
        "time": "Wed Mar 02 10:37:58 2011 -0800"
      },
      "message": "Fix for issue 3371667: fix source code compilation warnings (4)\n\nChange-Id: I898f81fea6c061b9ca7cbd675218d9f4b8c0bc77\n"
    }
  ],
  "next": "71771b3b1bbcafe84e7bd14941b98a1b1d6c8a60"
}
