)]}'
{
  "log": [
    {
      "commit": "6ff6131f4d020684aa5e75355ec70ccda5ef01c3",
      "tree": "51c5e0f9bd786a4faa0d1b4572f9370d7d74c536",
      "parents": [
        "d691679bdcd234bd908aea8c378e214e90d6eeb5"
      ],
      "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": "Wed May 04 10:41:20 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: I000930b787b00a2da0b57de9790053b2d71b86fd\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d691679bdcd234bd908aea8c378e214e90d6eeb5",
      "tree": "eae73eecf148b1882e77a4ae69041378c61c9ae1",
      "parents": [
        "be3814b79246b4fb410f710125735bdbf92b2f08"
      ],
      "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": "Wed May 04 10:41:20 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: Ib707f329be98878501952b6054998518a6eabbbd\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "be3814b79246b4fb410f710125735bdbf92b2f08",
      "tree": "3422ee78638f99db4ec3cd349bc2fd946b6c9ae4",
      "parents": [
        "7ae9d02961c091dcd9765e094c1c4063cbdf34a4"
      ],
      "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": "Wed May 04 10:41:20 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: I53d501fd4891ebe27408135fb598027e06b7e495\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7ae9d02961c091dcd9765e094c1c4063cbdf34a4",
      "tree": "8baa1e9d361e6784b2bbd2b51fbf61b67f860842",
      "parents": [
        "bbfa577c90d2c11b3b064fe51e9409a52a5cf418",
        "ae23aaee377578d9601db8d0acff66a4dd40920a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 29 14:42:58 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 29 14:42:58 2011 -0700"
      },
      "message": "am ec78f551: Add avg bandwidth estimate every 2 seconds - do not merge.\n\n* commit \u0027ec78f551b575b0274cbe796f8e08a9df1a706680\u0027:\n  Add avg bandwidth estimate every 2 seconds - do not merge.\n"
    },
    {
      "commit": "ae23aaee377578d9601db8d0acff66a4dd40920a",
      "tree": "8d233077e775bf921e55166e10ecb99580c2a49f",
      "parents": [
        "84f64d2a48a267c6517df69dd757c1ead54db036"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 28 11:15:01 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 28 17:16:03 2011 -0700"
      },
      "message": "Add avg bandwidth estimate every 2 seconds - do not merge.\n\nThis patch is meant for testing only.\nWe will remove this patch once we tracked down all those spinning issues.\n\nrelated-to-bug: 4339075\n\nChange-Id: I4cf1927f1067d4f7dbc589ceb3c47407eaf40ae7\n"
    },
    {
      "commit": "7613baa541233c0955d32c4f76731f6c1fb6f61f",
      "tree": "02c72f51a4bff50e26aa927d1182d3bec4c73ec3",
      "parents": [
        "df485b44bc929c34cf2cc068efe74816540c64b7",
        "6c00983982d167bdb348c437f0480a480f38696c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 13 11:48:28 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 13 11:48:28 2011 -0700"
      },
      "message": "am b0d6f10e: Bug 4167061 remove debugging code\n\n* commit \u0027b0d6f10eedeef099164995d51dbd076a6fcc5acc\u0027:\n  Bug 4167061 remove debugging code\n"
    },
    {
      "commit": "6c00983982d167bdb348c437f0480a480f38696c",
      "tree": "f71f31e6c7e6d43f08be9748b1a10423752ca76a",
      "parents": [
        "449d8ad81402c2758793db99850a4d390c191f4f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 13 11:16:49 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 13 11:16:49 2011 -0700"
      },
      "message": "Bug 4167061 remove debugging code\n\nChange-Id: I1cb46a7bbf885c72e75d32f3f7675d90ab611e85\n"
    },
    {
      "commit": "df485b44bc929c34cf2cc068efe74816540c64b7",
      "tree": "a298e9287c1f8dc35a78c444b96d64bbb58fb762",
      "parents": [
        "f68c65b8d9864919950aa52774e8cf7b5d7563f4",
        "449d8ad81402c2758793db99850a4d390c191f4f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 11 12:43:28 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 11 12:43:28 2011 -0700"
      },
      "message": "am c6c2285b: Enable HDCP debugging in Stagefright (1 of 2)\n\n* commit \u0027c6c2285b36e83b96056e2404371cdf6e6f7acaee\u0027:\n  Enable HDCP debugging in Stagefright (1 of 2)\n"
    },
    {
      "commit": "449d8ad81402c2758793db99850a4d390c191f4f",
      "tree": "c5a80747de020e30afa0bfe70324e8209ba5d0e2",
      "parents": [
        "d4d43b2ad0f715211feb48ce2f3e2158883583c0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 11 11:07:05 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 11 11:07:53 2011 -0700"
      },
      "message": "Enable HDCP debugging in Stagefright (1 of 2)\n\nChange-Id: Ia3ea555d5fa45547ed6bfce59f299087ced7809c\n"
    },
    {
      "commit": "f68c65b8d9864919950aa52774e8cf7b5d7563f4",
      "tree": "02c72f51a4bff50e26aa927d1182d3bec4c73ec3",
      "parents": [
        "650502b7f3a47fd85db72c1396d64ec9628821e1",
        "d4d43b2ad0f715211feb48ce2f3e2158883583c0"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Apr 08 17:40:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 08 17:40:00 2011 -0700"
      },
      "message": "am 66380f76: Stagefright: authenticate ANativeWindow.\n\n* commit \u002766380f768c0de8bde1f54ac6ab3f126b66928dad\u0027:\n  Stagefright: authenticate ANativeWindow.\n"
    },
    {
      "commit": "d4d43b2ad0f715211feb48ce2f3e2158883583c0",
      "tree": "f71f31e6c7e6d43f08be9748b1a10423752ca76a",
      "parents": [
        "5b3635efd12466e957a59d93a9167c9a01e9c933"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Apr 07 19:03:56 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Apr 08 15:24:10 2011 -0700"
      },
      "message": "Stagefright: authenticate ANativeWindow.\n\nThis change adds a check to verify that the ANativeWindow to which\ndecoded video buffers are queued sends those buffers to SurfaceFlinger.\nThe check is done when the buffer content is flagged as protected.  This\nchange also adds an error in the case where protected buffers are\nneeded, but an ANativeWindow is not being used as the video destination.\n\nChange-Id: I107c9082d65ef0de4a13594e9535a2053ad5161b\nBug: 4269240\n"
    },
    {
      "commit": "650502b7f3a47fd85db72c1396d64ec9628821e1",
      "tree": "86797d51100726590492056d79bca38a4d80ae3e",
      "parents": [
        "ba7d7874192e9670e7a51e7e334732c96f27ab5d",
        "5b3635efd12466e957a59d93a9167c9a01e9c933"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 31 11:06:41 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 31 11:06:41 2011 -0700"
      },
      "message": "am ffa670b5: Bug 4167061\n\n* commit \u0027ffa670b5b00b8b4c5a4296f9a1ac382c0e647894\u0027:\n  Bug 4167061\n"
    },
    {
      "commit": "5b3635efd12466e957a59d93a9167c9a01e9c933",
      "tree": "453da09352f3bac017c3e4e43efab4f21ee9674a",
      "parents": [
        "cbd2ba4e5398e2c2ae71a1fce6bd6d6b1e395fd6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 30 18:50:41 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 30 18:50:41 2011 -0700"
      },
      "message": "Bug 4167061\n\nChange-Id: I9bf7c0f9387ad23501261b8c2d10fa6fdaba8aef\n"
    },
    {
      "commit": "ba7d7874192e9670e7a51e7e334732c96f27ab5d",
      "tree": "04a3145955bddcc73c0b46f371d302416a50e5a0",
      "parents": [
        "62302d34b084c43b231f936be3c08f202d5c7c1a",
        "cbd2ba4e5398e2c2ae71a1fce6bd6d6b1e395fd6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 30 15:19:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 30 15:19:46 2011 -0700"
      },
      "message": "am b676b73e: Merge \"When http streaming and Content-Length is unknown, make sure to return all\" into honeycomb-mr1\n\n* commit \u0027b676b73e391b10a4ec5fbd6a1a02054fb3d8aa4b\u0027:\n  When http streaming and Content-Length is unknown, make sure to return all\n"
    },
    {
      "commit": "cbd2ba4e5398e2c2ae71a1fce6bd6d6b1e395fd6",
      "tree": "4e8dd8f25a167893ad30efb856e4270186f7da00",
      "parents": [
        "89c120e7adbe09c6283591789594c5e591aa5032",
        "9dc0193472834c49e6bdc864fbeb145828f1d8aa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 30 15:16:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 30 15:16:36 2011 -0700"
      },
      "message": "Merge \"When http streaming and Content-Length is unknown, make sure to return all\" into honeycomb-mr1"
    },
    {
      "commit": "9dc0193472834c49e6bdc864fbeb145828f1d8aa",
      "tree": "451bbd7080e3f947106f13a9b1bde70a8660ce2e",
      "parents": [
        "98442ddd86ea33453c2db10cfbfc310ae49dce8f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 30 14:45:22 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 30 15:00:34 2011 -0700"
      },
      "message": "When http streaming and Content-Length is unknown, make sure to return all\n\ndata that we successfully received before signalling the error.\n\nChange-Id: I7e60602d41b4df85aa85e413c590687305e9bbce\nrelated-to-bug: 4190765\n"
    },
    {
      "commit": "62302d34b084c43b231f936be3c08f202d5c7c1a",
      "tree": "ef7eede3f9428bea7f358cf7499ee20601e14c31",
      "parents": [
        "3979f08f59ab2905510a439bae32b92ae21cfddf",
        "89c120e7adbe09c6283591789594c5e591aa5032"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 30 09:27:14 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 30 09:27:14 2011 -0700"
      },
      "message": "am ebf6a72b: Merge \"Surfaceflinger expects rectangles to be specified right/bottom edge exclusive.\" into honeycomb-mr1\n\n* commit \u0027ebf6a72b3536646ade389c7afa828e316eb93c21\u0027:\n  Surfaceflinger expects rectangles to be specified right/bottom edge exclusive.\n"
    },
    {
      "commit": "89c120e7adbe09c6283591789594c5e591aa5032",
      "tree": "91d932dc5b175d223365401e9ebf70bb02391097",
      "parents": [
        "98442ddd86ea33453c2db10cfbfc310ae49dce8f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 29 10:00:20 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 29 10:00:20 2011 -0700"
      },
      "message": "Surfaceflinger expects rectangles to be specified right/bottom edge exclusive.\n\nChange-Id: Ib493572c614dbb74fa23b13c3e43899e3b31cf0e\nrelated-to-bug: 4147205\n"
    },
    {
      "commit": "3979f08f59ab2905510a439bae32b92ae21cfddf",
      "tree": "f604c04099e2f0a8ad9edcf4adece1f4c68e577e",
      "parents": [
        "3a4d645d3bf0bcd3e75968a9d88245fa9a9e0a42",
        "98442ddd86ea33453c2db10cfbfc310ae49dce8f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 28 08:16:52 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 28 08:16:52 2011 -0700"
      },
      "message": "am 2edbdcc6: Merge \"After a seek there\\\u0027s a brief period where audio time isn\\\u0027t reestablished.\" into honeycomb-mr1\n\n* commit \u00272edbdcc6f2572e5f84253617b1850908344b3f8c\u0027:\n  After a seek there\u0027s a brief period where audio time isn\u0027t reestablished.\n"
    },
    {
      "commit": "98442ddd86ea33453c2db10cfbfc310ae49dce8f",
      "tree": "8f29483fd8d74fa1a3fd35709f6b2b0c97e1cc41",
      "parents": [
        "5dac87b088556b8ed7f2a4f5546d31be0bb68680",
        "fe9b71919cdddf898a516169db840751878098ca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 28 08:11:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 28 08:11:26 2011 -0700"
      },
      "message": "Merge \"After a seek there\u0027s a brief period where audio time isn\u0027t reestablished.\" into honeycomb-mr1"
    },
    {
      "commit": "fe9b71919cdddf898a516169db840751878098ca",
      "tree": "137c583ebc201f04bbc2a8628a955f1b8da20b77",
      "parents": [
        "75ae0de858be5cddf60b70d3056e393aa12b224e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 25 16:36:13 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 25 16:40:50 2011 -0700"
      },
      "message": "After a seek there\u0027s a brief period where audio time isn\u0027t reestablished.\n\nDon\u0027t use audio time to trigger a \"we\u0027re very late, skipping ahead\" action\nuntil it\u0027s reestablished.\n\nChange-Id: Ia8534e5bed60203d49a457d14b2e55eb972b5fa1\nrelated-to-bug: 4173683\n"
    },
    {
      "commit": "3a4d645d3bf0bcd3e75968a9d88245fa9a9e0a42",
      "tree": "c46895cfbd0c2114e22c3ba6f15bd3a51bd03414",
      "parents": [
        "df4a70cf8858185323e5176bd3bed51f1b5cbc35",
        "5dac87b088556b8ed7f2a4f5546d31be0bb68680"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 25 15:38:34 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 25 15:38:34 2011 -0700"
      },
      "message": "am 1457ef74: Merge \"Make sure we post a video event when seeking after seeing video EOS before.\" into honeycomb-mr1\n\n* commit \u00271457ef74d49ee56097ad97cc078e898326beb7db\u0027:\n  Make sure we post a video event when seeking after seeing video EOS before.\n"
    },
    {
      "commit": "5dac87b088556b8ed7f2a4f5546d31be0bb68680",
      "tree": "98ea42e6bde58e3b8738b125e696aa93ae1d0743",
      "parents": [
        "75ae0de858be5cddf60b70d3056e393aa12b224e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 25 13:03:14 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 25 14:47:38 2011 -0700"
      },
      "message": "Make sure we post a video event when seeking after seeing video EOS before.\n\nChange-Id: I513bf94c0732a85324160977ea5723d8aafd6aba\nrelated-to-bug: 3316960\n"
    },
    {
      "commit": "df4a70cf8858185323e5176bd3bed51f1b5cbc35",
      "tree": "562b8ba7545c836a5f87d2145c6b347ffa48eec8",
      "parents": [
        "504c5e3fa3d4378773bd76b045d7a2e1e834fe59",
        "75ae0de858be5cddf60b70d3056e393aa12b224e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 25 10:24:44 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 25 10:24:44 2011 -0700"
      },
      "message": "am 837430dd: Merge \"Switch to use SF cached source\" into honeycomb-mr1\n\n* commit \u0027837430dd3440f6e71f68ef755399e22386dee084\u0027:\n  Switch to use SF cached source\n"
    },
    {
      "commit": "3318523222e31fb4a7fcc345ddb4ec845d30ef96",
      "tree": "0ff0de9c7c1d7cedfe10a02cf13e5d08b0270b66",
      "parents": [
        "07d0220bcc9036bcbe36819912559267d9c1c538"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 25 08:41:57 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 25 08:41:57 2011 -0700"
      },
      "message": "Switch to use SF cached source\n\nbug - 3500025\n\nChange-Id: I96c416d39af498f091d2d52f5923f556382a9c1f\n"
    },
    {
      "commit": "ee9f5eefb02bdef3120cd4c1053c505065fe9094",
      "tree": "49007016c9aeb0eb3ed1e4627c508af115fb69e5",
      "parents": [
        "52bee301b7ef870ec0acd86fda72352508369ce6",
        "eabd34665adc284525fe7337ad5c56a8b92964ef"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 23 17:06:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 23 17:06:12 2011 -0700"
      },
      "message": "am 0b1b2a32: Merge \"Bug 4159373 Use HDCP debug settings\" into honeycomb-mr1\n\n* commit \u00270b1b2a3212cc6c96959e009a9705f94f2ed8b4f4\u0027:\n  Bug 4159373 Use HDCP debug settings\n"
    },
    {
      "commit": "eabd34665adc284525fe7337ad5c56a8b92964ef",
      "tree": "b57c6292e86da2417332fee21a2b325413baf2c4",
      "parents": [
        "975040cdfc9ffcae822e554faa8fc8e472b4c407"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 23 14:34:31 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 23 16:08:18 2011 -0700"
      },
      "message": "Bug 4159373 Use HDCP debug settings\n\nChange-Id: Iefc0a0d4b574ee94fbc83bf74b57c1d3465c821c\n"
    },
    {
      "commit": "0e680d80363358f1759a376d9a968732ac41bbe8",
      "tree": "6acbf87c998447df367551701918e722fd3a636b",
      "parents": [
        "796260593d071cd1b48b0816dff25dcea9d21ae7",
        "19da284286c8ed5be00840432a215763f95fda91"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 22 08:48:58 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 22 08:48:58 2011 -0700"
      },
      "message": "am 453c0d5f: Merge \"DO NOT MERGE: Enable http-live support for https:// urls, fix a parsing issue.\" into honeycomb-mr1\n\n* commit \u0027453c0d5f16a09473b0653566973bf8b6a867cf79\u0027:\n  DO NOT MERGE: Enable http-live support for https:// urls, fix a parsing issue.\n"
    },
    {
      "commit": "bb3ae0dc89b06ddf81c34fc1ba7f972712ab8a92",
      "tree": "d6904ebda2efd7b3bcfc8078a828eba28b2b0b37",
      "parents": [
        "310962976d575c0a97ec7a768e9cca0b2361daea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 16:28:04 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 16:45:25 2011 -0700"
      },
      "message": "DO NOT MERGE: Enable http-live support for https:// urls, fix a parsing issue.\n\nChange-Id: Ic683201dcfcd11fb4bccfeefc63427a4c9bfabb4\nrelated-to-bug: 4148291\n"
    },
    {
      "commit": "b6a7147ce79b4fd44313f23d76e25c8d1919d490",
      "tree": "20cbbb6ce749788915fa257a6f7ca2aa708622c4",
      "parents": [
        "49bbee02a79d867c40b07812044c945bc1589c33",
        "310962976d575c0a97ec7a768e9cca0b2361daea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 16:21:29 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 21 16:21:29 2011 -0700"
      },
      "message": "am e2c32e9f: If nothing is to be copied, return right away.\n\n* commit \u0027e2c32e9f966cf9f2c9ed94bf0703344a2cca284b\u0027:\n  If nothing is to be copied, return right away.\n"
    },
    {
      "commit": "310962976d575c0a97ec7a768e9cca0b2361daea",
      "tree": "59bff634240c22e21f4dd35f8b01780e9a42e25e",
      "parents": [
        "39068e0fa09e1e342d8cb2280edc5d1941e93bd5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 14:16:03 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 14:16:03 2011 -0700"
      },
      "message": "If nothing is to be copied, return right away.\n\nThis avoids a potential out-of-bounds problem in the code below.\n\nChange-Id: I942d55da0a5288b37512cb74407f900a2d824c0c\nrelated-to-bug: 4139974\n"
    },
    {
      "commit": "f432a761e73bef8be43f83377ecea8abef72ce86",
      "tree": "1fbf7f4a649db1100fd7e7784da2a2e18c957d12",
      "parents": [
        "eabc1ebd1b4a08b74ba51108c2b900b448cb802f",
        "27c174483a8ae9688d5d4897c19074f62c7f1701"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 17 11:56:05 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 17 11:56:05 2011 -0700"
      },
      "message": "am 2f1f2248: Fix missing AOSP copyright headers for a bunch of media framework files\n\n* commit \u00272f1f2248c8439adbd686810e306c55f9e6a5abc3\u0027:\n  Fix missing AOSP copyright headers for a bunch of media framework files\n"
    },
    {
      "commit": "27c174483a8ae9688d5d4897c19074f62c7f1701",
      "tree": "9da8616575a69c53a3a8a9a7da3cfa12390e339e",
      "parents": [
        "8031ec79eb657a0ae84325410578ea87f50eeb54"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 17 11:02:04 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 17 11:10:40 2011 -0700"
      },
      "message": "Fix missing AOSP copyright headers for a bunch of media framework files\n\nbug - 4119349\n\nChange-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50\n"
    },
    {
      "commit": "eabc1ebd1b4a08b74ba51108c2b900b448cb802f",
      "tree": "ebfd8bac504962a8ee7cd541a823723b09981868",
      "parents": [
        "8190975e03954b2efe30bd2cd146d869ad676580",
        "8031ec79eb657a0ae84325410578ea87f50eeb54"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 16 15:11:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 16 15:11:03 2011 -0700"
      },
      "message": "am fc591762: Merge \"Add the default camera id to mCameraIds for emulator and those devices without media_profiles.xml configuration file.\" into honeycomb-mr1\n\n* commit \u0027fc59176241f498ad4eeb4237800c2eb5edd9efcd\u0027:\n  Add the default camera id to mCameraIds for emulator and those devices without media_profiles.xml configuration file.\n"
    },
    {
      "commit": "8031ec79eb657a0ae84325410578ea87f50eeb54",
      "tree": "9dfaf157d4a8ecef0a9f31f84c50734fa235a1a1",
      "parents": [
        "ae03031ab6af9505335e888b709ee661fe04ed83"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 16 14:09:50 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 16 14:11:32 2011 -0700"
      },
      "message": "Add the default camera id to mCameraIds for emulator and those devices without media_profiles.xml configuration file.\n\nbug - 4109530\n\nChange-Id: Ib83be7a7f767a4b20ac338734ada1581e7a4c5bf\n"
    },
    {
      "commit": "8190975e03954b2efe30bd2cd146d869ad676580",
      "tree": "abf07bad6da1f486fc55535158051091f87159ca",
      "parents": [
        "8c87dc71127ccc7b3ad616bc4862676fa09b7ce4",
        "ae03031ab6af9505335e888b709ee661fe04ed83"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 16 13:18:42 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 16 13:18:42 2011 -0700"
      },
      "message": "am 46956b06: Merge \"DO NOT MERGE: Fix a race condition when playing an audio-only stream and seeking before starting.\" into honeycomb-mr1\n\n* commit \u002746956b0691b2a228237d17536fe4ad33a760c0af\u0027:\n  DO NOT MERGE: Fix a race condition when playing an audio-only stream and seeking before starting.\n"
    },
    {
      "commit": "ae03031ab6af9505335e888b709ee661fe04ed83",
      "tree": "d8f0cc2b24fe221eb201eb0c76b0c5dd942f05de",
      "parents": [
        "427f147cce909f1af7dc47ab2e5353d79bf6cd5f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 16 10:41:25 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 16 12:04:56 2011 -0700"
      },
      "message": "DO NOT MERGE: Fix a race condition when playing an audio-only stream and seeking before starting.\n\nChange-Id: I70dfdfb7c27e3c713079c359ef89a570eb600dc7\nrelated-to-bug: 4039068\n"
    },
    {
      "commit": "41be68d9953c8d87c7d4889e551a32a1028c90ec",
      "tree": "f1e74e7affc2eeacda43b218f14a1eb89f9a1fab",
      "parents": [
        "6cfa41f06fc6a85ebaf5b94c4602128359587473",
        "8980847d149cfca1d0564d9454c262764b6ee164"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 09:44:15 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 14 09:44:15 2011 -0700"
      },
      "message": "am 3ec9d06f: Merge \"MtpDevice: Handle zero length packets in readResponse()\" into honeycomb-mr1\n\n* commit \u00273ec9d06f070db3a8899ad235736abd0ffaf6f578\u0027:\n  MtpDevice: Handle zero length packets in readResponse()\n"
    },
    {
      "commit": "3d74457b66533b170606347e60628e55a2af255e",
      "tree": "959f5d6628976454dad2f3c5580b56ee4544cd84",
      "parents": [
        "33bde8d8c4fc71fb3cdd8356fd0df70ffb44fcd7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 10:33:22 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 10:33:22 2011 -0400"
      },
      "message": "MtpDevice: Handle zero length packets in readResponse()\n\nBug: 3509060\n\nChange-Id: I291eefeaa667688c9e6e75da74ec3025b84065e9\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "23771ca8d528e1887a263365e01ac9f681248f22",
      "tree": "6c3ae38506655d9558e4027e1bb89532be723dd2",
      "parents": [
        "203616faff0be6c2306f02d82f3ce305746beb49",
        "33bde8d8c4fc71fb3cdd8356fd0df70ffb44fcd7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 06:55:21 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 14 06:55:21 2011 -0700"
      },
      "message": "am dec0b755: Merge \"MTP host: Fix problems reading large data packets\" into honeycomb-mr1\n\n* commit \u0027dec0b755fff1bf87aafd397ef0dd864f54c587cf\u0027:\n  MTP host: Fix problems reading large data packets\n"
    },
    {
      "commit": "33bde8d8c4fc71fb3cdd8356fd0df70ffb44fcd7",
      "tree": "faa52dddeecce0fc9585f19d4165af0e938b33d6",
      "parents": [
        "2eb62955eb84b97695e8a7e56e14310cbb86412b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 12 14:03:23 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 12 14:03:23 2011 -0500"
      },
      "message": "MTP host: Fix problems reading large data packets\n\nFixes problem reading large thumbnails via PTP\n\nBug: 4065217\n\nChange-Id: I643672512829c93ab0827091f39103dbb1918071\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "203616faff0be6c2306f02d82f3ce305746beb49",
      "tree": "c54ef9ad6a5166f7a8b3c42a134370b874f12c07",
      "parents": [
        "0592e3cc541aa0c6477e00ddb052558a5a3e17c1",
        "2eb62955eb84b97695e8a7e56e14310cbb86412b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 11 08:44:35 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 11 08:44:35 2011 -0800"
      },
      "message": "am 92f2f3ff: Merge \"Bug 3012968 DRM output control\" into honeycomb-mr1\n\n* commit \u002792f2f3ff2ea5c5b474722f2055cfee4916010e26\u0027:\n  Bug 3012968 DRM output control\n"
    },
    {
      "commit": "2eb62955eb84b97695e8a7e56e14310cbb86412b",
      "tree": "fd19d4d6f069a06d5094fe85dda6b632f5c80d4e",
      "parents": [
        "8862028032790fe2ec3f6114de6b2e98a296e6df"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 28 12:37:51 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 10 19:16:40 2011 -0800"
      },
      "message": "Bug 3012968 DRM output control\n\nModifies Stagefright to verify that there is a hardware-protected path\nto video sink for DRM content.\n\nChange-Id: I18b8741390e803a05a88c7f180b860a24ba88a10\n"
    },
    {
      "commit": "4ec5179bf8cdebe37538fd22a690f20783a2b010",
      "tree": "2b5c0159949c8e52d6b5f3c7b39fe0c3a51500dd",
      "parents": [
        "83bfaf0acb485327bbc49356ea76025645f9ec0d",
        "d563b839989fbacfe958db4e6b9876796841aa21"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Mar 09 15:17:20 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 09 15:17:20 2011 -0800"
      },
      "message": "am 8df2477c: am bd0e806a: Support IPv6-\u003eIPv4 fallback in HTTP streaming.\n\n* commit \u00278df2477c4e7e5bf72d6d1216ae5184c53304470e\u0027:\n  Support IPv6-\u003eIPv4 fallback in HTTP streaming.\n"
    },
    {
      "commit": "83bfaf0acb485327bbc49356ea76025645f9ec0d",
      "tree": "872085c68090a1d811d42c3be4a5085a110dbe65",
      "parents": [
        "bd75c0d65c003ae18baebab7357c1d621096282b",
        "f64b241764f52ebd595fc4535d4f54dc07f501fc"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Mar 09 15:17:12 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 09 15:17:12 2011 -0800"
      },
      "message": "am e4a02b61: am b9da16a1: Support IPv6 in HTTP streaming.\n\n* commit \u0027e4a02b61290fa61955c979cfd1afc17a92bba481\u0027:\n  Support IPv6 in HTTP streaming.\n"
    },
    {
      "commit": "d563b839989fbacfe958db4e6b9876796841aa21",
      "tree": "f84a64b6f97387ceeda1d5699034df3049c0c368",
      "parents": [
        "f64b241764f52ebd595fc4535d4f54dc07f501fc",
        "0ef631528fa7a2f061aea2bdd68ef734ed626b87"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Mar 09 15:09:20 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 09 15:09:20 2011 -0800"
      },
      "message": "am bd0e806a: Support IPv6-\u003eIPv4 fallback in HTTP streaming.\n\n* commit \u0027bd0e806a61df9b67890dc3b1390db554e7468b4a\u0027:\n  Support IPv6-\u003eIPv4 fallback in HTTP streaming.\n"
    },
    {
      "commit": "f64b241764f52ebd595fc4535d4f54dc07f501fc",
      "tree": "f2a4965e154c70e5f17a9b9d80630d88f7162c11",
      "parents": [
        "af50f1169ec7489f981158ba6d1afacdeeeda9c3",
        "7528e58daa21c43dd937d06b130a033f31c99604"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Mar 09 15:09:04 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 09 15:09:04 2011 -0800"
      },
      "message": "am b9da16a1: Support IPv6 in HTTP streaming.\n\n* commit \u0027b9da16a1e36fcf4e38a50adcf10ea59c12dea254\u0027:\n  Support IPv6 in HTTP streaming.\n"
    },
    {
      "commit": "1703cdfee717b1b312bf8979816a9e2f16a82e5d",
      "tree": "eb9d3cfe8ffebe45679de91af6f9ffd676ca5067",
      "parents": [
        "fbb1909036ba7de3d9fb8738daba60b357881153"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 07 14:52:59 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 08 16:33:15 2011 -0800"
      },
      "message": "Fix issue 3439872: video chat and bluetooth SCO\n\nThis change fixes the stability problems experienced when using\na bluetooth headset supporting both A2DP and SCO. Problems occur\nwhen starting the video chat at which time the A2DP output is being\nstopped to start SCO. At that time, active AudioTracks are invalidated\nby AudioFlinger so that a new AudioTrack binder interface can be\nrecreated by the client process on the new mixer thread with correct parameters.\nThe problem was that the process to restore the binder interface was not\nprotected against concurrent requests which caused 2 binder interfaces\nto be created sometimes. This could lead to permanent client deadlock\nif one of the client threads was waiting for a condition of the first\ncreated binder interface while the second one was created (as the AudioFlinger\nwould only signal conditions on the last one created).\nThis concurrent request situation is more likely to happen when a client\nuses the JAVA AudioTrack as the JNI implementation uses simultaneously the\nnative AudioTrack callback and write push mechanisms. By doing so, the code\nthat checks if the binder interface should be restored (in obtainBuffer()) is\nmuch more likely to be called concurrently from two different threads.\n\nThe fix consists in protecting the critical binder interface restore phase\nwith a flag in the AudioTrack control block. The first thread acting upon the binder\ninterface restore request will raise the flag and the second thread will just wait for\na condition to be signaled when the restore process is complete.\n\nAlso protected all accesses to the AudioTrack control block by a mutex to prevent\naccess while the track is being destroyed and restored. If a mutex cannot be held\n(e.g because we call a callback function), acquire a strong reference on the IAudioTrack\nto prevent its destruction while the cblk is being accessed.\n\nModified AudioTrack JNI to use GetByteArrayElements() instead of\nGetPrimitiveArrayCritical() when writing audio buffers. Entering a critical section would\ncause the JNI to abort if a mediaserver crash occurs during a write due to the AudioSystem\ncallback being called during the critical section when media server process restarts.\nAnyway with current JNI implementation, either versions do not copy data most of the times\nand the criticial version does not guaranty no data copy.\n\nThe same modifications have been made to AudioRecord.\n\nChange-Id: Idc5aa711a04c3eee180cdd03f44fe17f3c4dcb52\n"
    },
    {
      "commit": "0ef631528fa7a2f061aea2bdd68ef734ed626b87",
      "tree": "cef02f58235fab716efc3bbd704d898317546117",
      "parents": [
        "7528e58daa21c43dd937d06b130a033f31c99604"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Feb 03 16:41:34 2011 -0800"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Mar 08 15:01:15 2011 -0800"
      },
      "message": "Support IPv6-\u003eIPv4 fallback in HTTP streaming.\n\nBug: 4068057\nChange-Id: I425f65a99eb9e0986d9e9c0e264c3c8f61fcfdbd\n"
    },
    {
      "commit": "7528e58daa21c43dd937d06b130a033f31c99604",
      "tree": "a30199d0b6e67f286a25e3648559562003dccdd9",
      "parents": [
        "64bfdc7d8d8e0404f7193f776fd226d1cd870f93"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jan 03 16:10:34 2011 -0800"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Mar 08 15:01:15 2011 -0800"
      },
      "message": "Support IPv6 in HTTP streaming.\n\nBug: 4068057\nChange-Id: I1e141ec99fbfa43722eeb2e4161d56548ffc0640\n"
    },
    {
      "commit": "af50f1169ec7489f981158ba6d1afacdeeeda9c3",
      "tree": "e55946d17d774a661e8c472267dbcc9062bdec2d",
      "parents": [
        "b8dc45f224232e6ff64c1528b9e549b5a348fcd3",
        "64bfdc7d8d8e0404f7193f776fd226d1cd870f93"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 07 15:10:26 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 07 15:10:26 2011 -0800"
      },
      "message": "am d581c047: Add missing copyright headers for a couple of files. DO NOT MERGE Cherry-picked from other branch...\n\n* commit \u0027d581c04722e2610ca5471b9c3d1881043b1205b1\u0027:\n  Add missing copyright headers for a couple of files. DO NOT MERGE Cherry-picked from other branch...\n"
    },
    {
      "commit": "64bfdc7d8d8e0404f7193f776fd226d1cd870f93",
      "tree": "7afc88990921056a2ebc2e3a1f93cc2e1aa2d578",
      "parents": [
        "917429960b0e0d0c363e849f482f6aeb11c9b7d7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 07 14:48:58 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 07 14:50:40 2011 -0800"
      },
      "message": "Add missing copyright headers for a couple of files. DO NOT MERGE\nCherry-picked from other branch...\n\nbug - 4025673\n\nChange-Id: I6fd1baaf5625297fb1e358de3a3a632a7f5deb90\n"
    },
    {
      "commit": "fbb1909036ba7de3d9fb8738daba60b357881153",
      "tree": "f5036359f46e2ebfe4dc95c9a14e452782fcc845",
      "parents": [
        "73870c96dc3d652b64b74b023f3df67edf7d08c0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Mar 05 06:01:44 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 07 14:34:05 2011 -0800"
      },
      "message": "Add missing copyright headers to a couple of files\n\nbug - 4025673\n\nChange-Id: Ie1c4cf18c06032f9b89cc08e5be25d38c0f76aa1\n"
    },
    {
      "commit": "73870c96dc3d652b64b74b023f3df67edf7d08c0",
      "tree": "e81a37be8550affe40677225ca7bce0d3d855a62",
      "parents": [
        "2eb6a47b58c5b36f887a372e89f3d70f5d40812c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 04 16:24:07 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 04 16:30:37 2011 -0800"
      },
      "message": "Fix a leak from AACEncoder.cpp\n\nbug - 3470617\n\nChange-Id: I328e92bc1b2aca72e5856703dae00f957f40bc27\n"
    },
    {
      "commit": "2eb6a47b58c5b36f887a372e89f3d70f5d40812c",
      "tree": "0790af432dfa32b214f56365de220d9083f557c3",
      "parents": [
        "4f46fed004b76d462ef859aa94a3c056b0e79b60"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 04 11:25:17 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 04 11:28:50 2011 -0800"
      },
      "message": "Do not enforce the rule in MP3Extractor that all audio frames in an mp3 file must have the same mode\n\nFor some mp3 files, the mode can be changed from one audio frame to another. Without\nthe capability to switch modes, the decoded audio may have lots of artifacts.\n\nbug - 3253310\n\nChange-Id: Id57bb1f204642d15e38a800c72214f6794cfaa37\n"
    },
    {
      "commit": "4f46fed004b76d462ef859aa94a3c056b0e79b60",
      "tree": "afd68cec4f63a8576a539064a48b80dbe7ff92e4",
      "parents": [
        "9a5f9b7dbe9ecdebfbd9e8f96452c42213b08a31",
        "9ee159b79022b2e1a050acb3890ce948e99e9ccb"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 19:51:04 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 19:51:04 2011 -0800"
      },
      "message": "Merge \"- To track the usage of all audio output devices - To track the currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData()\""
    },
    {
      "commit": "9ee159b79022b2e1a050acb3890ce948e99e9ccb",
      "tree": "3f8c908cd6d5a69f1f6c5eb7c4e0a833890107e9",
      "parents": [
        "5f5354e35ab3b2a0cb4cabb6d0aa5a160225ccc8"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Feb 24 14:51:45 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 16:53:24 2011 -0800"
      },
      "message": "- To track the usage of all audio output devices\n- To track the currently used audio device\n- The devices are separated as speaker and other audio devices\n- Provide the collected data to battery application through pullBatteryData()\n\nChange-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc\n"
    },
    {
      "commit": "9a5f9b7dbe9ecdebfbd9e8f96452c42213b08a31",
      "tree": "1acbbf96751320d217d292dd4b65a802be4aa68e",
      "parents": [
        "8b17ba3296340dd556d5c00b322be42b9490b4e0",
        "258d4e3aef7984574b0972a66871afc8a13d8e4e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Mar 02 16:44:51 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 16:44:51 2011 -0800"
      },
      "message": "Merge \"Stagefright: Use the ANW min undequeued bufs query.\""
    },
    {
      "commit": "c3369fd756f015b06fe5824766e618160fe079f5",
      "tree": "decc34854dec22ec59d55ecaf957117bcaa86009",
      "parents": [
        "43a7e77206090d5a301dea224347a01a59fb2dfc",
        "3e57322b332214e3cb1874e67a5704c9b2b5f6ec"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 16:22:20 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 16:22:20 2011 -0800"
      },
      "message": "Merge \"Resize internal PES buffers dynamically instead of relying on a fixed maximum size.\""
    },
    {
      "commit": "3e57322b332214e3cb1874e67a5704c9b2b5f6ec",
      "tree": "d459fd8434a1357d0041dfbca03f6b16ffff387b",
      "parents": [
        "32f3cefa373cd55e63deda36ca9d07c7fe22eaaf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 16:18:33 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 16:18:33 2011 -0800"
      },
      "message": "Resize internal PES buffers dynamically instead of relying on a fixed maximum size.\n\nChange-Id: Ibe720e6148799e32d039ccdb4b269659bc779952\n"
    },
    {
      "commit": "43a7e77206090d5a301dea224347a01a59fb2dfc",
      "tree": "6a669591201e33d6a516e6eef823e7a5efa0f225",
      "parents": [
        "1c4967155109ab083a4149347596f7ebd3662a67",
        "32f3cefa373cd55e63deda36ca9d07c7fe22eaaf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 16:11:01 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 16:11:01 2011 -0800"
      },
      "message": "Merge \"Allow optional specification of a PTS timestamp when signalling a discontinuity.\""
    },
    {
      "commit": "32f3cefa373cd55e63deda36ca9d07c7fe22eaaf",
      "tree": "b8ff788f27c04b39b7959783a53e7a138cdff3e6",
      "parents": [
        "3fd91baee812919f53a85c5c05f32606313f8334"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 15:34:46 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 15:38:32 2011 -0800"
      },
      "message": "Allow optional specification of a PTS timestamp when signalling a discontinuity.\n\nIf present, rendering will be suppressed until reaching the timestamp.\n\nChange-Id: Ic64bdf4225063c5a4d042ea9809960b843a46d19\nrelated-to-bug: 3489454\n"
    },
    {
      "commit": "f96ebc66c0feb441733da6d08bca6d8de96cd9f0",
      "tree": "c8f968cc41015354621c2344fd9c79ba7978aa4b",
      "parents": [
        "3fd91baee812919f53a85c5c05f32606313f8334",
        "ebdc652a891659d83386c3f92715ad6c70c8ba2d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 02 14:00:56 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 14:00:56 2011 -0800"
      },
      "message": "Merge \"PV\u0027s mp3 decoder mistreated inputBufferCurrentLength in unit of bytes as in unit of bits\""
    },
    {
      "commit": "ebdc652a891659d83386c3f92715ad6c70c8ba2d",
      "tree": "6aa8964f4c963e717a00d65afceedb6d12a68f2c",
      "parents": [
        "5f5354e35ab3b2a0cb4cabb6d0aa5a160225ccc8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 02 09:42:45 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 02 12:26:14 2011 -0800"
      },
      "message": "PV\u0027s mp3 decoder mistreated inputBufferCurrentLength in unit of bytes as in unit of bits\n\nbug - 3464899\n\nChange-Id: Idef81a1bd3846d60fc5e4a40c11ce1ba78ebaa23\n"
    },
    {
      "commit": "3fd91baee812919f53a85c5c05f32606313f8334",
      "tree": "24783b0ba138d001b58f6a718a1e45df8063bf73",
      "parents": [
        "5f5354e35ab3b2a0cb4cabb6d0aa5a160225ccc8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 11:10:10 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 02 11:14:44 2011 -0800"
      },
      "message": "Provide better duration and seek accuracy if playing vorbis audio from a non-streaming source.\n\nChange-Id: Ib823c2dd28e84f4c49e3676f4e4962a6e006b166\nrelated-to-bug: 3107013\n"
    },
    {
      "commit": "2a21ff5f51f74d98fcdee96dff1da658da8da84b",
      "tree": "0d8f8f977cbcb98439b5d9b3454db877e62e31da",
      "parents": [
        "d71a0e1ac517cf312b9a96fe5ba9de04f2b9ffd4",
        "2a7e0a1eb29306982fd77bdc64d324464a48a2b9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 01 17:11:26 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 17:11:26 2011 -0800"
      },
      "message": "Merge \"Get rid of redundant media profiles\""
    },
    {
      "commit": "2a7e0a1eb29306982fd77bdc64d324464a48a2b9",
      "tree": "394731f4a2cfb40c76de91decce1520c0a705dac",
      "parents": [
        "c0bff9b96152179650dc9508799a38e35ef2a321"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 28 21:07:39 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 01 15:58:59 2011 -0800"
      },
      "message": "Get rid of redundant media profiles\n\nbug - 3330679\n\nChange-Id: Idc55aea32746c0c57552c5e15a289681421aa859\n"
    },
    {
      "commit": "d71a0e1ac517cf312b9a96fe5ba9de04f2b9ffd4",
      "tree": "110dc24af6e6f8120738656436f1e20bdd5e8f0d",
      "parents": [
        "c0bff9b96152179650dc9508799a38e35ef2a321"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 12:18:41 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 12:35:18 2011 -0800"
      },
      "message": "Fix issue 3499926.\n\nMake sure that NumberEffectsEnabled is decremented at the same time as\nSamplesToExitCountBb reaches 0 in Effect_process(). Not doing so\ncauses NumberEffectsEnabled not being decremented if Effect_setEnabled()\nis called after SamplesToExitCountBb reaches 0 and before next Effect_process() is called.\n\nChange-Id: Id827a301f93a5a09ecd9995a0c7d731ef526711a\n"
    },
    {
      "commit": "59e7879a8482284a434268d51b4b438f0625d1be",
      "tree": "8538fc40ac0fbea7a45b8db3e90c005adc8f077c",
      "parents": [
        "e13e24b6e8a7c2d0244ba575e309fb1254119a82",
        "3c14b9745c4afc88cec247d9dd0b003e087cbb52"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 01 11:41:29 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 11:41:29 2011 -0800"
      },
      "message": "Merge \"Stagefright: Query buffer usage from the component.\""
    },
    {
      "commit": "e13e24b6e8a7c2d0244ba575e309fb1254119a82",
      "tree": "6cdccfa869301126e7f8f88db4453bcb81ea8aad",
      "parents": [
        "d2d38d5c937c552555aec8aa2eb9822a19b2476b",
        "e2ce6458659c6e1bad420357b61dc10cd8bbe2ab"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 01 10:25:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 10:25:38 2011 -0800"
      },
      "message": "Merge \"Add an OMX IL API for querying buffer usage flags.\""
    },
    {
      "commit": "d2d38d5c937c552555aec8aa2eb9822a19b2476b",
      "tree": "0c7c0d4c4e3a65f83fd44fbfbe825d927676d6c6",
      "parents": [
        "6fa83fbad4bf779c6677d525d434f0738726465e",
        "74006804065941841883c4b46ee785070164023f"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 01 10:24:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 10:24:55 2011 -0800"
      },
      "message": "Merge \"Fix error recovery in Stagefright init.\""
    },
    {
      "commit": "258d4e3aef7984574b0972a66871afc8a13d8e4e",
      "tree": "e43f95881328489ac23c72a3a58830a963223289",
      "parents": [
        "3911a720270fc0326accfa4a3df427a649a45487"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Feb 27 15:10:34 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 28 12:53:31 2011 -0800"
      },
      "message": "Stagefright: Use the ANW min undequeued bufs query.\n\nThis change modifies Stagefright\u0027s ANativeWindow initialization to use\nthe new MIN_UNDEQUEUED_BUFFERS query on the ANativeWindow.\n\nChange-Id: I62565945e90ac40de326de77adcfa5577ed89975\nRelated-Bug: 3356050\n"
    },
    {
      "commit": "74006804065941841883c4b46ee785070164023f",
      "tree": "7ad683fcf66330919b9015c5ff7d44bb8fb7d220",
      "parents": [
        "633b4c8cc1f41370576aa43e6c5a70e4865a36df"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Feb 22 18:33:06 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 28 12:23:23 2011 -0800"
      },
      "message": "Fix error recovery in Stagefright init.\n\nThis change fixes the error path of\nOMXCodec::allocateOutputBuffersFromNativeWindow so that it cancels the\ncorrect number of buffers if a dequeueBuffer operation fails.\n\nChange-Id: Ib7cdcdf24f1718bc070ad218a5980949c0e942eb\n"
    },
    {
      "commit": "3c14b9745c4afc88cec247d9dd0b003e087cbb52",
      "tree": "41a11dc48c86b3eb0352f35d3ff389ec14bced8c",
      "parents": [
        "e2ce6458659c6e1bad420357b61dc10cd8bbe2ab"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Feb 24 12:48:17 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 28 12:12:58 2011 -0800"
      },
      "message": "Stagefright: Query buffer usage from the component.\n\nThis change makes Stagefright query the gralloc buffer usage flags from\nthe OMX IL component and passing those flags on to the ANativeWindow.\n\nChange-Id: Ic9af8a9e6df9ff4aadc7355890324d68841bc488\nRelated-Bug: 3479027\n"
    },
    {
      "commit": "e2ce6458659c6e1bad420357b61dc10cd8bbe2ab",
      "tree": "89a59a1cef847dc359dbf013f0c76d94f6363918",
      "parents": [
        "3911a720270fc0326accfa4a3df427a649a45487"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Feb 23 19:01:28 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Feb 28 12:12:20 2011 -0800"
      },
      "message": "Add an OMX IL API for querying buffer usage flags.\n\nThis change defines an OpenMAX IL API for querying from the IL component\nthe gralloc buffer usage flags that should be used to allocate the\nbuffers.  It also adds the Stagefright plumbing for using the new OMX IL\nAPI.\n\nChange-Id: I046b5e7be70ce61e2a921dcdc6e3aa9324d19ea6\nRelated-Bug: 3479027\n"
    },
    {
      "commit": "6fa83fbad4bf779c6677d525d434f0738726465e",
      "tree": "99e9ee8cd5ef6b7d652faae11e5d9771d59d33ab",
      "parents": [
        "3911a720270fc0326accfa4a3df427a649a45487",
        "ff98976e40459e910cfd1a7693bb08cff4dabd42"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 28 11:27:09 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 11:27:09 2011 -0800"
      },
      "message": "Merge \"The color conversion from YUV420Planar to RGB only requires the image width to be a multiple of 2, not 4.\""
    },
    {
      "commit": "8ddeebb93cb41e7a8e9fe763afb6c6016b21fa61",
      "tree": "808255cd5bf6a072306cc1c2d203b01baf7b46e6",
      "parents": [
        "60181854194007eef9471c2774a9912ce8c42cfa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 21 09:37:13 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 28 08:39:13 2011 -0800"
      },
      "message": "Bug 3447027 Limit previews for DRM video\n\nChange-Id: I5b15cf6a15623cf73f007c59143ab5e3fa5a07e8\n"
    },
    {
      "commit": "633b4c8cc1f41370576aa43e6c5a70e4865a36df",
      "tree": "9232fad7dac365eeaad84efbbdd973cb0f0b851a",
      "parents": [
        "18eb42eca6949158e630eae38a70db8f837c17c8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 24 21:16:54 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 25 11:19:40 2011 -0800"
      },
      "message": "mp4a box contains mp3 audio when the object type indication is 0x6b\n\nIn this case, the MediaExtractor returns ERROR_UNSUPPORTED since our\nsoftware MP3 audio decoder may not be able to handle packetized\nMP3 audio.\n\nbug - 3377570\n\nChange-Id: I8bb6b3813716b5fa019e318842e8e1908b3c8bf8\n"
    },
    {
      "commit": "18eb42eca6949158e630eae38a70db8f837c17c8",
      "tree": "6cff1251a9dccc1e6238bc0a5f0d77e9b48be5cf",
      "parents": [
        "827b55c5f3409b68ef57816208220d8804693e44",
        "64bb6983690bf994d904591145a3cdd6373bdbe6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 16:26:14 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 16:26:14 2011 -0800"
      },
      "message": "Merge \"Alternate patch for late video issue: seek only the video ahead to the next\""
    },
    {
      "commit": "827b55c5f3409b68ef57816208220d8804693e44",
      "tree": "65876f2b881d52f6a3fec94564a0baf0d0802627",
      "parents": [
        "72feaa5df1f7b15b18e30592653dc511dc0b8c51",
        "7314fa17093d514199fedcb55ac41136a1b31cb3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 14:49:10 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 14:49:10 2011 -0800"
      },
      "message": "Merge \"Suppress the logging of URLs when in incognito mode.\""
    },
    {
      "commit": "7314fa17093d514199fedcb55ac41136a1b31cb3",
      "tree": "87378f5d573dd94da744bdecf42f011dad05abea",
      "parents": [
        "9287abf2657bee9464965c37bdaa866d023c9d89"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 14:42:48 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 14:42:48 2011 -0800"
      },
      "message": "Suppress the logging of URLs when in incognito mode.\n\nChange-Id: Ib951b495eae15669e160ef54686eab0eeb9b366a\nrelated-to-bug: 3336575\n"
    },
    {
      "commit": "64bb6983690bf994d904591145a3cdd6373bdbe6",
      "tree": "ea4ad0c189bb08a23db52880f21867a769189e22",
      "parents": [
        "9287abf2657bee9464965c37bdaa866d023c9d89"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 12:05:40 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 24 13:32:38 2011 -0800"
      },
      "message": "Alternate patch for late video issue: seek only the video ahead to the next\n\nsyncframe after the current audio media position, leave audio untouched.\n\nChange-Id: Ia9fa8e205467e5460c8219afd396bddd09fcfb46\nrelated-to-bug: 3375737\n"
    },
    {
      "commit": "72feaa5df1f7b15b18e30592653dc511dc0b8c51",
      "tree": "11ddd737877c1e9f93cf9ad5a7ac9b5403d5f934",
      "parents": [
        "e23da615c0b1721fe7d9d2e06e82e43b9bd89df3",
        "1173118eace0e9e347cb007f0da817cee87579ed"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 24 12:37:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 12:37:02 2011 -0800"
      },
      "message": "Merge \"Bug 3438258 Add SurfaceTexture as MediaPlayer sink\""
    },
    {
      "commit": "e23da615c0b1721fe7d9d2e06e82e43b9bd89df3",
      "tree": "fcf91d4d01dbd2f1edd3ec7d63c458f4060d6f86",
      "parents": [
        "9287abf2657bee9464965c37bdaa866d023c9d89"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 24 09:16:43 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 24 10:10:32 2011 -0800"
      },
      "message": "Fix MP3Extractor\n\nWhen the temp buffer wraps around, the next read position should start\nfrom what have been read to avoid reading the same remaining bytes in\nthe buffer again.\n\no also fix some of the formatting string for logging\n\nbug - 3482444\n\nChange-Id: Ie0b56f4691ff9e80a48a57f1b7d0d28c78cfb313\n"
    },
    {
      "commit": "9287abf2657bee9464965c37bdaa866d023c9d89",
      "tree": "034cc54bc1e61082510c588d5d76529a96cb3e55",
      "parents": [
        "6f7a293c1bbf993ff712927e3e14af0d195cf1c1",
        "8c8f24dce1dfc2d1eed8f7856ffceaa349afa2a6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 24 08:17:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 08:17:02 2011 -0800"
      },
      "message": "Merge \"Don\u0027t crash when parsing DRM MIME types\""
    },
    {
      "commit": "17e89b555a41aa591f1a01ecd51a7cb5a7bcfc0e",
      "tree": "1f8962490e2d9d7b88e8b2b2806c83849b8ca63b",
      "parents": [
        "676ae7591c5260869f89efe2380afaacb79bacc9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 23 17:07:49 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 23 17:11:41 2011 -0800"
      },
      "message": "d263 may contain optional bitr box, and thus its size can be up to 23 bytes\n\nbug - 3482703\n\nChange-Id: Id6fdf9d1f4a304954c018b67d50bd79a07164687\n"
    },
    {
      "commit": "676ae7591c5260869f89efe2380afaacb79bacc9",
      "tree": "740653e1a3b85e7e3fd20950be7b11cdc4c1126f",
      "parents": [
        "7e20422fb3b0c11b18ae142f3be08f9bf65bfd4b",
        "95d7e994c73c17b27c7134ba3cc3acbb5889aa87"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 23 15:23:13 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 23 15:23:13 2011 -0800"
      },
      "message": "Merge \"Remove RefBase.h dependency on TextOutput.h\""
    },
    {
      "commit": "1173118eace0e9e347cb007f0da817cee87579ed",
      "tree": "d2d23b2120010097d1edda29cd0adffd938105c3",
      "parents": [
        "f7f3e824a8cb2b38355db8e4f99e43b90ee71ce4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 08 17:26:17 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 23 15:02:56 2011 -0800"
      },
      "message": "Bug 3438258 Add SurfaceTexture as MediaPlayer sink\n\nThis change enables the use of a SurfaceTexture in place of a Surface\nas the video sink for an android.media.MediaPlayer. The new API\nMediaPlayer.setTexture is currently hidden.\n\nThis includes:\n - New Java and C++ interfaces\n - C++ plumbing and implementation (JNI, Binder)\n - Stagefright AwesomePlayer and NuPlayer use ANativeWindow\n   (either Surface or SurfaceTextureClient)\n\nChange-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51\n"
    },
    {
      "commit": "7e20422fb3b0c11b18ae142f3be08f9bf65bfd4b",
      "tree": "1a0c01e50ec0c7c17c19f3fa319bb8b330fee1c4",
      "parents": [
        "f7f3e824a8cb2b38355db8e4f99e43b90ee71ce4",
        "75b0b5473c7b43f8c5972db7e6e8930988ead751"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 23 14:12:33 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 23 14:12:33 2011 -0800"
      },
      "message": "Merge \"To collect the total usage time of encoders in the media recorder\""
    },
    {
      "commit": "75b0b5473c7b43f8c5972db7e6e8930988ead751",
      "tree": "d4372d334eb5784028647ee37a984e374e8e7c63",
      "parents": [
        "51b9a8b53eaa1a0188be95d4d6a749424787e0d6"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 23 11:47:34 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 23 13:20:21 2011 -0800"
      },
      "message": "To collect the total usage time of encoders in the media recorder\n\nChange-Id: I94c9c94dec6bd714a3ebf96b4465b94f069e55b8\n"
    },
    {
      "commit": "f7f3e824a8cb2b38355db8e4f99e43b90ee71ce4",
      "tree": "a94990fc4beef239ce5f44f9eb196df926a872fd",
      "parents": [
        "51b9a8b53eaa1a0188be95d4d6a749424787e0d6",
        "e468ac57f6e8afc6078c76d4eb1ac327112a3de0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 23 10:38:21 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 23 10:38:21 2011 -0800"
      },
      "message": "Merge \"Application-managed callback buffer support for raw image\""
    },
    {
      "commit": "51b9a8b53eaa1a0188be95d4d6a749424787e0d6",
      "tree": "098b73dc47ef13b88c0598493b1b4bec3ea451aa",
      "parents": [
        "8e0e1979f0f41487b0f18aa5b9c8c52a39ca27f4",
        "7cf180c9bff69e5cc4a2f4e53b432db45ebbebab"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 23 09:58:33 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 23 09:58:33 2011 -0800"
      },
      "message": "Merge \"- Add method in MediaPlayerService to collect and pull   codec usage (duration) for the battery app - Collect MediaPlayer decoding usage data\""
    },
    {
      "commit": "7cf180c9bff69e5cc4a2f4e53b432db45ebbebab",
      "tree": "05d25862b1e1f30ffc31fe2ca2128ff68810df1b",
      "parents": [
        "1de41a66e3e7b548ee44e6654580e5f6f7265b11"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Sat Feb 19 18:37:57 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 22 22:42:05 2011 -0800"
      },
      "message": "- Add method in MediaPlayerService to collect and pull\n  codec usage (duration) for the battery app\n- Collect MediaPlayer decoding usage data\n\nChange-Id: I0ef4e32b6a041ba1fe73c19f9c67185c61d03965\n"
    },
    {
      "commit": "e468ac57f6e8afc6078c76d4eb1ac327112a3de0",
      "tree": "b6f657aa11261327f5f4743dd54f796e73ec328b",
      "parents": [
        "8e0e1979f0f41487b0f18aa5b9c8c52a39ca27f4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 17 16:38:06 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 20:48:15 2011 -0800"
      },
      "message": "Application-managed callback buffer support for raw image\n\nbug - 3292153\n\nChange-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2\n"
    },
    {
      "commit": "95d7e994c73c17b27c7134ba3cc3acbb5889aa87",
      "tree": "c28723f5f8601c5000bb4f5499abf8e91da6d879",
      "parents": [
        "8e0e1979f0f41487b0f18aa5b9c8c52a39ca27f4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 16 15:23:08 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 22 18:08:58 2011 -0800"
      },
      "message": "Remove RefBase.h dependency on TextOutput.h\n\nChange-Id: I72cd6b98ef82b4868fe1c8ec87862cf43fb4ee73\n"
    },
    {
      "commit": "8e0e1979f0f41487b0f18aa5b9c8c52a39ca27f4",
      "tree": "c572654ad4f22a50890f3a64edec67bba1d8a3f8",
      "parents": [
        "fcea8f7a7d178e5426aa06586cff54726e18d1f6",
        "c498a2747314b1e863eab6a22aaf7323642ba62a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 16:52:12 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 22 16:52:12 2011 -0800"
      },
      "message": "Merge \"Remove mkvparser code from /frameworks/base\""
    },
    {
      "commit": "c498a2747314b1e863eab6a22aaf7323642ba62a",
      "tree": "ac6837ea83c9cece69630a62734d7c6e12058478",
      "parents": [
        "1de41a66e3e7b548ee44e6654580e5f6f7265b11"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 15:12:15 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 22 16:33:50 2011 -0800"
      },
      "message": "Remove mkvparser code from /frameworks/base\n\nbug - 3322129\n\nChange-Id: I94dca6234ce57c9a32290aa7ac4885b0a2f566a9\n"
    },
    {
      "commit": "fcea8f7a7d178e5426aa06586cff54726e18d1f6",
      "tree": "3ceea0c1696a4d69305fa101200186525962d2aa",
      "parents": [
        "a849440ca96e93f700d62c6e41d48905b4d405b6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 16:25:00 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 16:25:00 2011 -0800"
      },
      "message": "Support for PCMA and PCMU raw audio data in RTP/RTSP.\n\nChange-Id: Icb87bdfa7cf572c572e2a86c46fa072d9fad18f6\nrelated-to-bug: 3084183\n"
    },
    {
      "commit": "a849440ca96e93f700d62c6e41d48905b4d405b6",
      "tree": "4df33307f6d972f4465c542390dd7ef3606eea58",
      "parents": [
        "39a5f1bbf88c124dc24b34d718a2d95f577b5bf1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Feb 18 09:07:14 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 22 13:57:23 2011 -0800"
      },
      "message": "MTP: Add support for dynamically adding and removing storage units\n\nBUG: 3402847\n\nChange-Id: I7da266061d949abcb6bb11c6faaa47b5e4a2a977\n"
    },
    {
      "commit": "39a5f1bbf88c124dc24b34d718a2d95f577b5bf1",
      "tree": "7bc473fd2c339d63d8ea1ca52b9d8fef2f75aaf2",
      "parents": [
        "f1d985081cff2a6aa2397c5341da8432db753211",
        "55e26193c885b7d5acdae9978848e6587987790f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 13:51:22 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 22 13:51:22 2011 -0800"
      },
      "message": "Merge \"Support more MPEG4-LATM audio functionality.\""
    }
  ],
  "next": "55e26193c885b7d5acdae9978848e6587987790f"
}
