)]}'
{
  "log": [
    {
      "commit": "55cadf7eca8dffa981054d3521fd279fefe9b6f4",
      "tree": "739dc96c2d52f6050b056e8b64765b72f3983b1a",
      "parents": [
        "ec24b0217e6e6de9ebcfb72154dbde2070f53e5a",
        "4d592c59e684ed3e6f0db4b05c37ba8774b8d410"
      ],
      "author": {
        "name": "dujin.cha",
        "email": "dujin.cha@samsung.com",
        "time": "Tue Nov 22 13:22:00 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 22 13:22:00 2011 -0800"
      },
      "message": "am 4d592c59: am eabde3d4: am fe464a76: [Prime K] Fix gabage character issue\n\n* commit \u00274d592c59e684ed3e6f0db4b05c37ba8774b8d410\u0027:\n  [Prime K] Fix gabage character issue\n"
    },
    {
      "commit": "eabde3d4a9027a19443a31c7c7cda3d44fb0ffe0",
      "tree": "61c6212cb0987cd45b47d3ed10bd5d6601ec8ee5",
      "parents": [
        "eff6ed0fee42e4324ceb8d5a20be09bb2f34aa9f",
        "fe464a76d8fc858be971dbb5e67b1d22fd925347"
      ],
      "author": {
        "name": "dujin.cha",
        "email": "dujin.cha@samsung.com",
        "time": "Tue Nov 22 13:18:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 22 13:18:27 2011 -0800"
      },
      "message": "am fe464a76: [Prime K] Fix gabage character issue\n\n* commit \u0027fe464a76d8fc858be971dbb5e67b1d22fd925347\u0027:\n  [Prime K] Fix gabage character issue\n"
    },
    {
      "commit": "fe464a76d8fc858be971dbb5e67b1d22fd925347",
      "tree": "5fae81310242c8fc3dd782d3ee5e858d2e67784a",
      "parents": [
        "e36657e5416dbc9c1b22cc73174a958fafdfd736"
      ],
      "author": {
        "name": "dujin.cha",
        "email": "dujin.cha@samsung.com",
        "time": "Tue Nov 22 12:13:33 2011 +0900"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 22 10:28:21 2011 -0800"
      },
      "message": "[Prime K] Fix gabage character issue\n\nKorean characters show up as gabage characters in Music player.\nReason : MTP service does not set the locale for the MediaScanner\nSolution : Set locale when MtpDatabase creates MediaScanner.\n\nBug ID : 5567433\nSigned-off-by: dujin.cha \u003cdujin.cha@samsung.com\u003e\n\nChange-Id: I4bfe5f603c113170d45bd57a8709c21c665e260b\n"
    },
    {
      "commit": "0e7d85fa93a5f5975b437277439b3c65f86cf275",
      "tree": "9583c9f67deea73d392e692331da2650a381dd38",
      "parents": [
        "ca127baa0675bc1168019fbb1f9812dbbe4613d7",
        "4e72e2bfc24afe053ca98c6de2591a4057cfd9fa"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 15 20:19:55 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 15 20:19:55 2011 -0800"
      },
      "message": "am 4e72e2bf: am 4fdc36e6: Merge \"Document that release() should be called with onPause() and onStop() for media objects\" into ics-mr1\n\n* commit \u00274e72e2bfc24afe053ca98c6de2591a4057cfd9fa\u0027:\n  Document that release() should be called with onPause() and onStop() for media objects\n"
    },
    {
      "commit": "4fdc36e6d6003cdce911678f0b233697554f8dbf",
      "tree": "5071202f980d8e18e80f00d2987facb075b416a6",
      "parents": [
        "45f05c9580739ffe2d665cec50efb0bb57d757ba",
        "89ca6983eb2be21848f5ac884a2c118f152c83e6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 15 20:13:03 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 15 20:13:03 2011 -0800"
      },
      "message": "Merge \"Document that release() should be called with onPause() and onStop() for media objects\" into ics-mr1"
    },
    {
      "commit": "29270da5f7dee7e81b9d69446c7d2030aea6ff74",
      "tree": "ff0b4b61184e438fdbfac5139e50160469664fe1",
      "parents": [
        "dff37bc674310beeb2aaf296130b8bbaa0e2ead2",
        "4978c1a5b07782d622ca9e3eedd649a5927d226f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 15 18:28:39 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 15 18:28:39 2011 -0800"
      },
      "message": "am 4978c1a5: am 0ddb0143: Merge \"Fix 5623252 unlink to death of audio focus client early\" into ics-mr1\n\n* commit \u00274978c1a5b07782d622ca9e3eedd649a5927d226f\u0027:\n  Fix 5623252 unlink to death of audio focus client early\n"
    },
    {
      "commit": "89ca6983eb2be21848f5ac884a2c118f152c83e6",
      "tree": "3d270f87edbba1a0ee42a63364b61a5f22bcc768",
      "parents": [
        "b3b66af2b5b4ccca1f507290ab6f138a3cbffc3e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 14 19:01:26 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 15 18:08:06 2011 -0800"
      },
      "message": "Document that release() should be called with onPause() and onStop() for media objects\n\nChange-Id: I12dd734b4314df4f0573ad56a1714348e50da05e\nrelated-to-bug: 5616833\n"
    },
    {
      "commit": "e7edc868538e83152e7bc35c830fee0d629baefc",
      "tree": "10b740a8dd1b3d18ce353da65faea9feb940e5be",
      "parents": [
        "34a62348be92034a9fb7582e51754224785568dc"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 15 16:27:05 2011 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 15 17:41:05 2011 -0800"
      },
      "message": "Fix 5623252 unlink to death of audio focus client early\n\nWhen removing an entry in the audio focus stack, don\u0027t wait for\n this object\u0027s finalizer to unlink to the death of the associated\n client, and unlink right away.\nThe FocusStackEntry.unlinkToDeath() method is made safe to call\n by catching the exception it can throw inside its body.\n\nChange-Id: Id347a933d72dcb41531adff2854fb00277032cc9\n"
    },
    {
      "commit": "eb80b31b5548650675c078ccfffc3091402a9382",
      "tree": "91395268faadfcb0a488ccca5db68fbd943294b2",
      "parents": [
        "7c4dee75b8a9db10ff1c5456ea7d13bfc61f35ab",
        "87597d9ce00691f05703f728c17548df2bbc9cc2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 15 13:06:57 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 15 13:06:57 2011 -0800"
      },
      "message": "am 87597d9c: am 538dc6ac: Merge \"Fix 5615747 Don\\\u0027t leak remote control client death handlers\" into ics-mr1\n\n* commit \u002787597d9ce00691f05703f728c17548df2bbc9cc2\u0027:\n  Fix 5615747 Don\u0027t leak remote control client death handlers\n"
    },
    {
      "commit": "a9509736c85c19fe4ad4ba97a0545f0422a3dfc1",
      "tree": "b92044586a0fdb62deb6d006b29c844130410fb9",
      "parents": [
        "258576a82c2293c3a988bf2dc6744fd8082421f9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 14 15:23:04 2011 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 14 17:30:23 2011 -0800"
      },
      "message": "Fix 5615747 Don\u0027t leak remote control client death handlers\n\nWhenever a remote control stack entry is GC\u0027d or removed from\n the stack, unlink its death handler.\n\nChange-Id: Ia4ed6667351849fd388272591e24ffc16959beaf\n"
    },
    {
      "commit": "f1ec32db686586eddd023583e1c5978005c06d58",
      "tree": "e539f119e3f2031d42cecd584a1e591bf94d882b",
      "parents": [
        "28a5ec9613a824d2ec15ce5e5cec77a6fcf444d5",
        "9d36a99582518ed1a7fb005382e0128479b43e18"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 14 14:38:30 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 14 14:38:30 2011 -0800"
      },
      "message": "am 9d36a995: am 258576a8: Merge \"Fix 5607938 AudioFocusDeathHandler leaks GREF\" into ics-mr1\n\n* commit \u00279d36a99582518ed1a7fb005382e0128479b43e18\u0027:\n  Fix 5607938 AudioFocusDeathHandler leaks GREF\n"
    },
    {
      "commit": "527c44e8a455dd0fdef1aeb6d7d8f99bb0839295",
      "tree": "118f8d3b784b29fc519957bba613d4339b04af36",
      "parents": [
        "b14d771cf07479e3186a167a219fb2d42d8d4d30",
        "62b9aec7a0a4e1cf8cfec7e39ea3103ab510d72e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 14 10:50:33 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 14 10:50:33 2011 -0800"
      },
      "message": "Merge \"Don\u0027t check return value of new for being \u003d\u003d null\""
    },
    {
      "commit": "de1f065be109e1c313d8330c8e34210fedaac74e",
      "tree": "ba350f88aa1c75fd400552b5ca8afa0c8e26f9e2",
      "parents": [
        "24597eb77e1a88994b83c5b1f45d5b72383943b8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Nov 11 16:13:48 2011 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Nov 11 16:13:48 2011 -0800"
      },
      "message": "Fix 5607938 AudioFocusDeathHandler leaks GREF\n\nThe AudioFocus death handler was correctly updating the audio\n focus stack when an audio focus client dies, but the death handler\n was leaking GREF if unlinkToDeath() is not called.\nThe fix consists in making sure unlinkToDeath() is always called\n by calling it in its finalizer.\n\nChange-Id: I0c5343b4986ab582cadbf171fc53816952dc16f5\n"
    },
    {
      "commit": "62b9aec7a0a4e1cf8cfec7e39ea3103ab510d72e",
      "tree": "7fbec5605ee4f4f82bb4bd1a57d48af8eda5b367",
      "parents": [
        "e2d58e95a09590a63f1c597bb808b925bcab9a69"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 07 11:10:16 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 11 07:30:19 2011 -0800"
      },
      "message": "Don\u0027t check return value of new for being \u003d\u003d null\n\nnew either succeeds or throws an exception\n\nChange-Id: I1615e10c4f6730495c49e56b64714a00141ea8ff\n"
    },
    {
      "commit": "00aa51b355d2b9ae7604fe4c43f6e64193422dba",
      "tree": "1b6a6c4e66681f32812f7a30937d05f394262cf3",
      "parents": [
        "08e42967b9e459b7beb22e859f1f1eba0546741b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 10 14:46:26 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 11 01:49:01 2011 -0800"
      },
      "message": "Unhide the key to retriever location information in 3gp/mp4 files\n\nChange-Id: I71c651b403955c0f6f8df096e995a5f5f4e39130\nrelated-to-bug: 5560253\n"
    },
    {
      "commit": "77c500c9a1f763b31fb5a03c803b3523fcb72310",
      "tree": "9feafc0d06b27223cd189b22d7bf7bc2c82c11ef",
      "parents": [
        "785fd3685a69e5b3ef9c0958dcf4ae85f818e78d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 09 00:48:56 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 10 11:40:11 2011 -0800"
      },
      "message": "Add support for retrieving location information in mp4/3gpp files\n\nChange-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687\nrelated-to-bug: 5560253\n"
    },
    {
      "commit": "96a33d1caad2fab0bc28891cfbf553f4b050bf0b",
      "tree": "9a2560cbaa3a850793a0c7de5738953dcc859807",
      "parents": [
        "36a7f2a9adfa21ec31f00d496fef82e68931c860"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 08 10:31:57 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 09 18:06:37 2011 -0800"
      },
      "message": "Fix problems in tablet silent mode.\n\nDo not enter silent mode when ALARM stream volume is changed\nto 0 by volume down key: Only RING, NOTIFICATION and MUSIC\nstreams control silent mode.\n\nReport correct volume (0) for NOTIFICATION stream when silent mode\nis entered by changing NOTIFICATION stream volume to 0 with\nvolume down key.\n\nChange-Id: I3e0816dfae40bc127cc30cca02cdca6ec19e30a4\n"
    },
    {
      "commit": "b1224ff1c4ef8324c9d76b857463787aabd84707",
      "tree": "c4d09a980b8032e44e6cd10053ccf20c63434825",
      "parents": [
        "6581043a44ab46a47f09080eeb7c9fc9d0a2d0c0"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Nov 07 20:32:40 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Nov 07 20:34:37 2011 +0800"
      },
      "message": "Fix 5509346: Resize the thumbnails if it\u0027s too large.\n\nChange-Id: I805f37f22cc745cfbc788f594da704e7e634f122\n"
    },
    {
      "commit": "cd84197ac1226432de2e13c8fd678a4c88511e0f",
      "tree": "bcef45ac64c6b29b49aa3cae9539c308ea3a0281",
      "parents": [
        "b288f99334348a21ffb465b37a4522998b452410",
        "6e91e5b689a3eb8e6a6f3c038322b8044a9d6670"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 31 23:23:15 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 31 23:23:15 2011 +0000"
      },
      "message": "am 6e91e5b6: Merge \"Fix volume indication in vibrate mode.\" into ics-mr0\n\n* commit \u00276e91e5b689a3eb8e6a6f3c038322b8044a9d6670\u0027:\n  Fix volume indication in vibrate mode.\n"
    },
    {
      "commit": "8ca9a1cf350bde9a429b8a6fe7c673b964048a54",
      "tree": "12fe45701f5765db09cdc30cec36c2095a5512f0",
      "parents": [
        "69e640ee84fc218d6318acaf73a1c1841d7fba6b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 31 12:12:37 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 31 12:12:37 2011 -0700"
      },
      "message": "Fix volume indication in vibrate mode.\n\nThe latest change in silent/vibrate mode selection via volume keys\nwas such that ringtone volume was not showing 0 when entering vibrate mode\nby continuous press on vol down.\n\nIssue 5530217.\n\nChange-Id: I9ba817648e5dca40e0d19f5f606d7763ae61b1c6\n"
    },
    {
      "commit": "18936d7d1d0964ba3f5112c5e3ce60f31e1ba5bb",
      "tree": "48f209ead50adb66c5ae28dfd04e5a67906d0732",
      "parents": [
        "bce45617083209583d61afbea50994f2cdcda459",
        "69e640ee84fc218d6318acaf73a1c1841d7fba6b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sun Oct 30 21:37:09 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 30 21:37:09 2011 +0000"
      },
      "message": "am 69e640ee: Merge \"Bring back the old-style Ring/Vibrate/Silent states when using volume keys.\" into ics-mr0\n\n* commit \u002769e640ee84fc218d6318acaf73a1c1841d7fba6b\u0027:\n  Bring back the old-style Ring/Vibrate/Silent states when using volume keys.\n"
    },
    {
      "commit": "74b2b9547329a0b05e0bd5701057696007b854bb",
      "tree": "40eea9e4308a3ff3cb5033ddf51a2f25b1872f62",
      "parents": [
        "76756a42dd68062349158f70d9b0ab95db908acc",
        "09848bc89de999416e2de82a7693b2deec6bf802"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Sat Oct 29 02:16:10 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 29 02:16:10 2011 +0000"
      },
      "message": "am 09848bc8: Merge \"docs: add developer guide cross references, Project ACRE, round 3\" into ics-mr0\n\n* commit \u002709848bc89de999416e2de82a7693b2deec6bf802\u0027:\n  docs: add developer guide cross references, Project ACRE, round 3\n"
    },
    {
      "commit": "69e640ee84fc218d6318acaf73a1c1841d7fba6b",
      "tree": "3657937f3baf9261fb25a4efd13e0e5f40f9a11c",
      "parents": [
        "2d280f754e32e556407df05d977cfabdfff1c070",
        "c696a53d1fe4d61373c5dc64dd057d322da90c8f"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Oct 28 18:59:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 28 18:59:11 2011 -0700"
      },
      "message": "Merge \"Bring back the old-style Ring/Vibrate/Silent states when using volume keys.\" into ics-mr0"
    },
    {
      "commit": "c696a53d1fe4d61373c5dc64dd057d322da90c8f",
      "tree": "52999422370ca84ef1fedf1490bd6cfa14c7a96d",
      "parents": [
        "fe9a2a5471616a3267b30013bce36b13a455c0cd"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Oct 28 17:02:37 2011 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Oct 28 18:40:43 2011 -0700"
      },
      "message": "Bring back the old-style Ring/Vibrate/Silent states when using volume keys.\n\nIn order to completely mute the ringer (no vibrate), introduce an extra\nstate beyond mute, which mutes the vibrator as well, if it was enabled.\n\nBug: 5530217\n\nChange-Id: Ib1f299ee6bbca56c1aa7e1100662591362d08307\n"
    },
    {
      "commit": "61fd1e8d8c3ccf2d6b7d4af1c19e8f0988d5a1ec",
      "tree": "0cc2443b58929c018ac78c1f85047fb9c4b267f2",
      "parents": [
        "a6d2e6b952d535fec4483d67ea52947e6e3bc629"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Wed Oct 26 13:39:11 2011 -0700"
      },
      "committer": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Fri Oct 28 14:23:23 2011 -0700"
      },
      "message": "docs: add developer guide cross references, Project ACRE, round 3\n\nChange-Id: I6125315ecdf0f78dd947c514a9944729d723e95d\n"
    },
    {
      "commit": "33fe290ca33235d7e0988cace14de3319a9a83f1",
      "tree": "de16feac822bed06d2059d704bac79f93daa3554",
      "parents": [
        "d085df318afc8b3485afdd81106ce93a13265ebb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 27 08:09:44 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 27 08:47:07 2011 -0700"
      },
      "message": "Unhide QVGA related resolution profiles and allow to use QVGA resolution for timelapse video recording.\n\nChange-Id: I328d9fa83a381415d7648218a6fb93b3724bbcc6\nrelated-to-bug: 5343832\n"
    },
    {
      "commit": "e68a6936c7b3d3a041feeff9661b234a25e56e73",
      "tree": "6d6f931c462433358d772646652a166295ff7b76",
      "parents": [
        "4715402557a483eda853186e32ff6a552023a5fe",
        "8e2ed8d512ade2ea481b3a292556782b17a74674"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 19 07:50:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 19 07:50:24 2011 -0700"
      },
      "message": "Merge \"Refactor FileInserter in MediaScanner and adding unit tests for the newly added class.\""
    },
    {
      "commit": "46c8f1535a884a77137c294cad94f811a33f07aa",
      "tree": "44bb9ec6b634f163ca27e1e7c329d42e0a53905b",
      "parents": [
        "21ad1d1cb0806991fc5e7c55c9f3bbce87745e17",
        "c0a87dc10cc74918518457e96b48f16bcc0ea2cd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 17 19:50:36 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 17 19:50:36 2011 -0700"
      },
      "message": "am c0a87dc1: Merge \"Fix issue 5462427: Volume should never be 0 ...\" into ics-mr0\n\n* commit \u0027c0a87dc10cc74918518457e96b48f16bcc0ea2cd\u0027:\n  Fix issue 5462427: Volume should never be 0 ...\n"
    },
    {
      "commit": "b024c30a80684ac08daef3137b7ba0d347fe3ce5",
      "tree": "20617b67c4f8ddc6ccd091b63560c252225f19e8",
      "parents": [
        "202b38cb71d123e4ebc8741643e84fa455ecd002"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 14 17:19:27 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 14 17:19:27 2011 -0700"
      },
      "message": "Fix issue 5462427: Volume should never be 0 ...\n\nMake sure that ring or notification volume index\nnever reaches 0 unless in silent mode.\nConversely, enter silent mode when this volume is set to 0.\n\nChange-Id: Iff5e5e972b607f4736e7a704b26b2dadb40074b0\n"
    },
    {
      "commit": "e04783ccde79730f239d739ad515224245683f22",
      "tree": "c6120978bbad10f2e08c61a412c38485ed1082cd",
      "parents": [
        "93c299d0d0fc46c2407edca569960c36043c137a",
        "615858a8ebb12b3541fd709e6e965ac814880261"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 14 12:58:40 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 14 12:58:40 2011 -0700"
      },
      "message": "am 615858a8: Merge \"Indicate screen off condition to audio framework.\" into ics-mr0\n\n* commit \u0027615858a8ebb12b3541fd709e6e965ac814880261\u0027:\n  Indicate screen off condition to audio framework.\n"
    },
    {
      "commit": "950e8cb40a6d826af4cc2eef9d3908c1b70486e6",
      "tree": "d9afa821e1459d33cc815923466b5300a3844aec",
      "parents": [
        "e6fee18d16a86c266afef48f7705268435a99111"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 13 08:57:54 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 14 11:40:24 2011 -0700"
      },
      "message": "Indicate screen off condition to audio framework.\n\nAdd a mechanism for AudioService to notify audio framework and audio HAL\nthat screen is turned on or off. This indication can be used by lower\naudio layers to trigger low power audio playback mode.\nCurrent implementaiton based on setParameters() method is experimental\nand will be replaced by a different interface when ready.\n\nChange-Id: Ie72ada0a8edec3d71b47681b9f51cb5bc839d45b\n"
    },
    {
      "commit": "414b74c564d29da933a650d5193bb2152b704c06",
      "tree": "53d026a96513eb3b4c60385e452dfd8fa81d0484",
      "parents": [
        "772158a596bc97694fa82e710b5cfbe8c6f40cdc",
        "e48440d59a52c0f13166da2fd32023356d9215d9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Oct 14 08:46:08 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 14 08:46:08 2011 -0700"
      },
      "message": "am e48440d5: Merge \"Fix 5153611 remove remote control client/display log from AudioService\" into ics-mr0\n\n* commit \u0027e48440d59a52c0f13166da2fd32023356d9215d9\u0027:\n  Fix 5153611 remove remote control client/display log from AudioService\n"
    },
    {
      "commit": "7ff866e8cf43afc64111e98863dab549b57447b4",
      "tree": "278795ce70e40a709e4ffd1ad77517c555a9f5a5",
      "parents": [
        "0c265c886b563095172827d39b55a8cd71a19ffb"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Oct 13 18:09:26 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Oct 13 18:09:26 2011 -0700"
      },
      "message": "Fix 5153611 remove remote control client/display log from AudioService\n\nDo not log debug messages for the RemoteControlClient and\n IRemoteControlDisplay related features.\n\nChange-Id: I81bfeec1770f81b78b679dc03fb40806393b170a\n"
    },
    {
      "commit": "0eb6ef1798362d15696618debdb2478b386398c5",
      "tree": "b8fb88c8fcc85ed6f33bcc7ace0188dc72772ecd",
      "parents": [
        "df3975c5aee17cc365b854e616d8831b45809db0",
        "bc554956128d69d8d2e60365fb6cffe6facf659b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 13 10:03:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 10:03:26 2011 -0700"
      },
      "message": "Merge \"Support for an MPEG2 Program Stream extractor.\""
    },
    {
      "commit": "09b4d99822678e57ba6ed1568832980ba64be330",
      "tree": "6f6d4a50696d0d509e48183e445347f6d3f9776e",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 11 12:07:35 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 11 18:59:34 2011 -0700"
      },
      "message": "DO NOT MERGE Fix 5389442 RemoteControlClient javadoc\n\nExtend RemoteControlClient class description with an example\n of instance creation showing how the PendingIntent is created\n and how it uses the same ComponentName as the one used\n in AudioManager.registerMediaButtonEventReceiver()\n\nChange-Id: I1af61ddbf5cfb9160ea5b814bed7b881d51b7eff\n"
    },
    {
      "commit": "ad87f5b40f2a3fd2d506dc15e00b8af28a8fa2ba",
      "tree": "be556697448569ed7fdf1597d7a4a77f22fb969a",
      "parents": [
        "338140f7340a5471b5c5e8152405bc810fe56769"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 11 12:07:35 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 11 14:09:23 2011 -0700"
      },
      "message": "Fix 5389442 RemoteControlClient javadoc\n\nExtend RemoteControlClient class description with an example\n of instance creation showing how the PendingIntent is created\n and how it uses the same ComponentName as the one used\n in AudioManager.registerMediaButtonEventReceiver()\n\nChange-Id: If8f050f94b112f9680ba6bf32ba622bc648fb1d0\n"
    },
    {
      "commit": "8e2ed8d512ade2ea481b3a292556782b17a74674",
      "tree": "07434a2f882aab55bdf1f0249f789a4761ec1bf2",
      "parents": [
        "041ed0485a5fce499add436d9a117562b202254e"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 10 19:18:45 2011 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 10 19:34:35 2011 -0700"
      },
      "message": "Refactor FileInserter in MediaScanner and adding unit tests for the newly added class.\n\nChange-Id: Ia0e8c95239916fd4c21cb5bf10ac94201e6eb6f1\n"
    },
    {
      "commit": "f58ba6506959947d2e646833789c859ae50e6767",
      "tree": "6333600bfc316ce5db2d92be9804ad39629d7833",
      "parents": [
        "f6497e45fae88788b1c67d815458355a1f2f65b5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Oct 09 21:02:12 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Oct 09 21:14:58 2011 -0700"
      },
      "message": "Support AMR as a file type so that it can be imported into movie studio\n\nChange-Id: I3fc4f49ae0a210f53b1bab68716f4e558b3d91c5\nrelated-to-bug: 5419452\n"
    },
    {
      "commit": "bc554956128d69d8d2e60365fb6cffe6facf659b",
      "tree": "8a84036682044f96b5b5aade1b18add9c40e86f3",
      "parents": [
        "ce0a7ade96ddbdcb342e0b382e9d3ea43962cafd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 14:12:44 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 30 15:26:31 2011 -0700"
      },
      "message": "Support for an MPEG2 Program Stream extractor.\n\nChange-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41\n"
    },
    {
      "commit": "b741c604861ddbafcacaa452e31bd19337a19705",
      "tree": "9e2a1593dba623c7a4ac269ed468c17f54331ed0",
      "parents": [
        "ee1d541ec89e1d2724a382c90276586e2c28b278"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 29 15:58:41 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 29 15:58:41 2011 -0700"
      },
      "message": "Remove Ringtone.setWakeMode, it\u0027s not needed.\n\nThis partially reverts commit e47e8520fa48bd014287eda94ea39927de73d6bc.\n(the other part of that change was already removed as part of a different\nchange)\n\nChange-Id: Ica7c196ab1f74f96237e64d07580832f0d50022f\n"
    },
    {
      "commit": "d94a7b60ccbd748752d4babd9fc79252c71bb1c2",
      "tree": "78994f46f20f6f285c47f617e9325dff38024f34",
      "parents": [
        "cc3fbb7b699083518340cfd57334d3798d881a49",
        "e1bd048cf2af24cbd93e549875c875239e5f4829"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 29 10:11:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 29 10:11:34 2011 -0700"
      },
      "message": "Merge \"Release MediaPlayer before letting it go out of scope.\""
    },
    {
      "commit": "e1bd048cf2af24cbd93e549875c875239e5f4829",
      "tree": "fae9e314ac3e012a73afc3b0b51bd1f26750d984",
      "parents": [
        "40047fa14df169bece9c8d28bdbc515030d37383"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 29 09:59:03 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 29 09:59:03 2011 -0700"
      },
      "message": "Release MediaPlayer before letting it go out of scope.\n\nChange-Id: Ib2b727146f6cba91b131e66d218251f5a3206fac\n"
    },
    {
      "commit": "26b3d1ff38998c7cb80a2950da0589ebd8510897",
      "tree": "0776dff97f5818a9548e4d7a151acd0c111732d3",
      "parents": [
        "2b2adbdda04c96592026e84243cbb0f90a2021c9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 28 11:05:15 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 28 11:43:36 2011 -0700"
      },
      "message": "Fix bug 5357295 NPE on display when remote control client dies\n\nWhen a IRemoteControlClient dies, that client is set to null\n in the stack of remote control entries (mRCStack). This is done\n by calling registerRemoteControlClient() with a null client.\nThe bug is that registerRemoteControlClient(), after storing\n the new client, uses it to let it know what the current\n remote control display is. When that display is non null, the\n client is sent the current display. So when a client died\n when there was a display, the client reference was accessed\n in the part of the method where we haven\u0027t yet checked whether\n it is null or not.\nThe fix consists in moving the setting of the display on the\n client (method plugRemoteControlDisplay) only after having\n checked that the client is non-null.\n\nChange-Id: Ic74d6cba9e3a3a16e78cd80a1ae5901abfeb3905\n"
    },
    {
      "commit": "e47e8520fa48bd014287eda94ea39927de73d6bc",
      "tree": "f2b3b93f1420ee9b7813cad49b0cfa19f1d1282e",
      "parents": [
        "a80599f5be394edd9f3918ba03c490850a1d9e7f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 21 13:34:33 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 21 13:34:33 2011 -0700"
      },
      "message": "Keyguard sound needs to hold wake lock.\n\nWe need to hold a wakelock while playing the keyguard lock sound,\nso that it actually completes before the CPU goes to sleep.\n\nChange-Id: I144c345383afeb911ea461b2eb17b31183b6d092\n"
    },
    {
      "commit": "eb060254a0b7aa42ab05ed6539156c3084ec1908",
      "tree": "1761514f154b567612d108c6a902bb819cf70847",
      "parents": [
        "13dfa095c2a62b0bece80c12300fcab3f20a2cbe",
        "9c43016b52afa855156aac2dc81a2bbe1e4ab436"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 21 09:36:56 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 21 09:36:56 2011 -0700"
      },
      "message": "am 9c43016b: Merge \"Bug 5045498 Keep track of RemoteControlClient play state change time\" into ics-factoryrom\n\n* commit \u00279c43016b52afa855156aac2dc81a2bbe1e4ab436\u0027:\n  Bug 5045498 Keep track of RemoteControlClient play state change time\n"
    },
    {
      "commit": "28b9a063ad359d186cf69b235c5592eb308d2ac4",
      "tree": "d7ddd735760c7c8722d3579cb4f72acec3b649cf",
      "parents": [
        "f888f3ffa06ea8f67dcf417e9ce446c183238b99",
        "7d92a22d9dec42a45cd55fd77d0a86b4b9c6e9df"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 21 08:48:46 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 21 08:48:46 2011 -0700"
      },
      "message": "Merge \"MediaScanner: To query row ids of music files when handling playlists.\""
    },
    {
      "commit": "68622396b62f9084781add1e12f4d513b633ab54",
      "tree": "453653c1bf8e7de308091370e08edef4aafe4cac",
      "parents": [
        "bbb11b80106c8687f2833c3d4b538029fc0805e6"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 19 14:53:14 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Sep 20 11:59:51 2011 -0700"
      },
      "message": "Bug 5045498 Keep track of RemoteControlClient play state change time\n\nStore the time at which a RemoteControlClient changes it playback\n state, and send that time to the IRemoteControlDisplay.\nThis change will enable displays to implement strategies such as\n timeouts (e.g. to not display transport controls for clients which have\n been paused or stopped for a certain amount of time).\n\nChange-Id: I902882500565743d455d56f6000efaf612cbe0a9\n"
    },
    {
      "commit": "ed4cfe70ca165b6469d2c9fb1b5296afdff1faae",
      "tree": "8549abc09330a9e494d27559d2bccc23a421623b",
      "parents": [
        "291c6d789dac8f85c50163e9a9ef24ef31183b93",
        "e1bf8efaff42dc33b7a4663f3c9d50d12de81bcb"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Sep 20 09:23:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 20 09:23:34 2011 -0700"
      },
      "message": "Merge \"Fix 5224359: Add width and height to media store.\""
    },
    {
      "commit": "e1bf8efaff42dc33b7a4663f3c9d50d12de81bcb",
      "tree": "603897f82cc21f920062a457798a19758d6c7f75",
      "parents": [
        "f2ff20e05baec2d9849c7456e8455a2671820f2a"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Sep 20 20:37:21 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Sep 20 20:41:44 2011 +0800"
      },
      "message": "Fix 5224359: Add width and height to media store.\n\nChange-Id: I27376285a551e648eb0ea010dfdf6b8ed873cdd8\n"
    },
    {
      "commit": "92d0a64b909cd95e8f4ce587438b0cc6d2daeaa0",
      "tree": "17d23a22607f0eab69abedf4f82d850c222c1fae",
      "parents": [
        "3b6377b120bb507f93a8f1e7e25bc026de764dd6",
        "07b9ae33127212fd9e15f96fa89b7d4cab81e55e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 20:06:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 19 20:06:52 2011 -0700"
      },
      "message": "Merge \"Add QVGA resolution to CamcorderProfile\" into ics-factoryrom"
    },
    {
      "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": "f0cff0456258478ba768097f73d4367ab67fd7a3",
      "tree": "a8078a2ede31b08397230128d40de672cbf91744",
      "parents": [
        "34d0d300cac645b48cce5a1735f45e1102d4ef0e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 14 18:11:09 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 16 12:40:43 2011 -0700"
      },
      "message": "Bug 5300223 RemoteControlClient uses PendingIntent for media button events\n\nUpdate the implementation of the RemoteControlClient / Display\n feature rely on PendingIntent as provided in the construction\n of the RemoteControlClient instance.\nThe ComponentName that describes the target of the media button\n events is set as the target of the Intent from which\n a PendingIntent is constructed.\nThis ComponentName is still saved in the stack for persisting\n the last media button event receiver.\n\nThis CL also updates the lockscreen IRemoteControlDisplay\n implementation to use the PendingIntent supplied by the\n application when sending transport control events. A (good)\n side effect of doing this is that intent will be directly\n targeted at the application.\n\nRestoration of the media button event receiver\n after reboot is not fully functional yet.\n\nChange-Id: I2be82f2839e9dee1de02512437b3fb41cc386cde\n"
    },
    {
      "commit": "34d0d300cac645b48cce5a1735f45e1102d4ef0e",
      "tree": "7e738441e728ce0e460df11250053d9918604a07",
      "parents": [
        "ebdcae732f648871dd0df6586a5ba57aae015bd4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 16 10:41:04 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 16 11:33:50 2011 -0700"
      },
      "message": "Fix bug 5327199 Recycle bitmaps in RemoteControlClient\n\nWhen applying the new bitmap from the editor to the client,\n recycle the old bitmap, and set the reference to the editor\n bitmap to null.\n\nChange-Id: I7d79e4b8410e5035fa51b20be4b1ada391c84c28\n"
    },
    {
      "commit": "16066ec591d05830a925b34f966f8c552a81ca70",
      "tree": "9749c825e9e1c36ac6205a9989314176941dc38c",
      "parents": [
        "8dd41fb992668b67db9a0899f5d1768680a55620",
        "d7454be47f4111c0478a502353e11dea401378bd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 14 09:18:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 09:18:23 2011 -0700"
      },
      "message": "Merge \"Issue 5044873: Pb with BT SCO AudioManager API\""
    },
    {
      "commit": "e83f771f0ab8e1e72e1fd2147085223ac8a00ba2",
      "tree": "62442357c460e9b2069cbb82ae8a48639cea896f",
      "parents": [
        "d8c82516dd664d3d7617d19bd1f8530f1d922957",
        "6e920e6dac11c3ebf6c0c19402934834e9e491bf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 14 09:05:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 09:05:36 2011 -0700"
      },
      "message": "Merge \"Bug 5300223 RemoteControlClient uses PendingIntent\""
    },
    {
      "commit": "d7454be47f4111c0478a502353e11dea401378bd",
      "tree": "ed80cfa9763853f251790833dfd6a10a10087e16",
      "parents": [
        "cb18db8e7e43c4aa15aeb82dbab41ee3ee95f0b4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 14 08:45:58 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 14 08:45:58 2011 -0700"
      },
      "message": "Issue 5044873: Pb with BT SCO AudioManager API\n\nDo not identify the SCO connection client by the binder interface\npassed when starting the connection as this binder changes if the\nAudioManager proxy changes. Use the client PID instead.\n\nThis solves an issue with gTalk starting a SCO connection from one\nAudioManager proxy and then changing audio mode from another thus\nterminating the previously started SCO connection.\n\nChange-Id: Ia3067fecc551fc15df3bf75ce0c43d181859e4f0\n"
    },
    {
      "commit": "6e920e6dac11c3ebf6c0c19402934834e9e491bf",
      "tree": "2abb48550aaed544e9c997842e66ff8f20cbcd17",
      "parents": [
        "92bda84b11ba2aec98036313784444d9f5aebc9a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Sep 13 17:48:43 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Sep 13 19:27:20 2011 -0700"
      },
      "message": "Bug 5300223 RemoteControlClient uses PendingIntent\n\nAPI change so RemoteControlClient is given a PendingIntent in\n its constructor, which will be used for receiving media button\n events from remote controls.\nLeave the old constructors (but hidden) to not break\n current functionality until the AudioManager and AudioService\n implementations have been updated.\n\nChange-Id: Ifa12c8036c948931adc386a827dce2936788e1cd\n"
    },
    {
      "commit": "48c5fb14933cba4dcf6ba401b895e59bac4a8420",
      "tree": "0b9e5715ba5f0a0c674575ea27a04576cdb8b585",
      "parents": [
        "651cdfcbac6245f570475991588ddc2d30265e8d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 13 00:17:08 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 13 16:24:45 2011 -0700"
      },
      "message": "API review: Metadata class not used.\n\nThe Metadata class doesn\u0027t actually seem to be used with anything\nin the SDK, and the API probably needs some work, so hide it.\n\nChange-Id: Ifecf49130b90cbb4c588ad8104f1e7957978f789\n"
    },
    {
      "commit": "02ea7d48773210fa0f29299269aca26b3201b1d0",
      "tree": "9b6cab04851ffd8290c1ccfcf84da30acb4b99bc",
      "parents": [
        "ebf6478f557c20fc1c23f9537fcdc3f3c66decb4",
        "466ade5ad66e7bfb1814d5e5ac76a17f8a0bcd3a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 09 08:44:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 08:44:19 2011 -0700"
      },
      "message": "Merge \"Fix bug 5045498 Unhide Remote Control Client API\""
    },
    {
      "commit": "ebf6478f557c20fc1c23f9537fcdc3f3c66decb4",
      "tree": "c5551bed9dd3a33ecd1e13aa8e220811e83bf9ce",
      "parents": [
        "ce0027532dc10bf9b25f4eeff1a7540f10fe9a26",
        "9f103de83f2d5d472960dcf1401e95b2ab57a477"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 09 08:27:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 08:27:04 2011 -0700"
      },
      "message": "Merge \"Fix issue 4673378: switching from VoIP to GSM call\""
    },
    {
      "commit": "9f103de83f2d5d472960dcf1401e95b2ab57a477",
      "tree": "cf010908fb2dce19bfa8ab89b53468dc500bc2be",
      "parents": [
        "6a39c0201ca72d6ccbc63e5fec75949a08fcb043"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 08 15:04:23 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 08 19:23:56 2011 -0700"
      },
      "message": "Fix issue 4673378: switching from VoIP to GSM call\n\nThe problem is that any app can change the audio mode and override\na mode previously set by another app. If two apps (gTalk and Phone) compete\nfor audio mode ownership, there is no mechanism to maintain coherency\nin the actual audio mode selected.\n\nAdded a mechanism in AudioService to manage an audio mode request stack.\nAny app requesting a mode different from NORMAL enters at the top of the stack\nand the requested mode is applied. When an app sets mode back to NORMAL, it exits\nthe stack and the new mode corresponding to the request at the top of the\nstack (if any) is applied.\n\nChange-Id: I68d1755d0922f680df4a19bfc5ab924f5a5d8ccd\n"
    },
    {
      "commit": "70ad1c378bce097f9f2dbb79cb8d5d225d4c14d7",
      "tree": "f9bca6d4a690a6a46463a15d40ed5c44dd5569cf",
      "parents": [
        "66b10a1cf77e1dd767508930a950b1584143ee9b",
        "47a52158d2df0eb818bf7d589d8ff9fd5c0daaa3"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Sep 08 05:52:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 05:52:44 2011 -0700"
      },
      "message": "Merge \"Fix 5156702: rotate thumbnails\""
    },
    {
      "commit": "7d92a22d9dec42a45cd55fd77d0a86b4b9c6e9df",
      "tree": "2cd3a616c04a91fe89e5a5b6016e011eea959c68",
      "parents": [
        "9f443fb6e70f4dafdc9610385c66425410bb3ff1"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Aug 18 18:04:46 2011 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Sep 08 10:50:40 2011 +0900"
      },
      "message": "MediaScanner: To query row ids of music files when handling playlists.\n\nChange-Id: I3c2a803618bfdaf4915f2487669952d5e3b4dd32\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": "671db6f3ba1fdb3c907e0735fe6d0d284f5c34de",
      "tree": "b2cd304b30f29ee35493d85b45c2f91c0a6270e2",
      "parents": [
        "535e8f3562b7ca49888769a4c5c974730fb9084d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 06 16:29:12 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 06 16:51:21 2011 -0700"
      },
      "message": "Fix startBluetoothSco race\n\nChange-Id: I8b711bd3c6b12f2e3e92144c0dadac72261bf914\n"
    },
    {
      "commit": "2e6f49cc810ea8c4a23d88fdeb24267a18085556",
      "tree": "b74ae2660d5878caae3a67879017af6b3b1daa01",
      "parents": [
        "05dbb65dfa3b81a4b70069ca6aa0a343b56565f9",
        "83fb94d188e18a44458f903ff4baa6e8402a31ce"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Sep 05 14:50:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 05 14:50:33 2011 -0700"
      },
      "message": "Merge \"MediaPlayer: remove the setTexture method\""
    },
    {
      "commit": "09bb20b5f6072f3202c4bfd7db9b557e05547c3b",
      "tree": "9f0cc870703768bc99f448437eb8ac58cafcd35c",
      "parents": [
        "5c72e583f5f6eec85d5fb79742017e92b13ebc21",
        "8b1f35099331746599298bda151eac56b041b746"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Sun Sep 04 19:36:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 04 19:36:20 2011 -0700"
      },
      "message": "Merge \"Fix 5240036: Generate a reasonable bitrate for intermediate clips.\""
    },
    {
      "commit": "dca56b9432e2cc851d1a58920071fed2e1e3d142",
      "tree": "dec365b40e97c1e8331db5e0174548251aebdb92",
      "parents": [
        "5afd2bd02ae44d5a38f9e560047723ddab176405"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 02 14:20:56 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 02 15:59:50 2011 -0700"
      },
      "message": "Fix issue 5252593: any app can restart the runtime\n\nReplace null device address string by empty sting.\n\nChange-Id: I285c35f3345334e6d2190493b1a8a5aca1a361a4\n"
    },
    {
      "commit": "83fb94d188e18a44458f903ff4baa6e8402a31ce",
      "tree": "a8455575f12848d418358f1c0e74e12a6f1d7669",
      "parents": [
        "c592e8e61acd3cfbd11f05d2ea59af267ca33dcf"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Aug 28 17:38:33 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Sep 02 15:48:52 2011 -0700"
      },
      "message": "MediaPlayer: remove the setTexture method\n\nThis change removes the MediaPlayer#setTexture method.  It has been\nreplaced with MediaPlayer#setSurface.\n\nChange-Id: Iaecbbac7629d7092883f270694c5c67391f4ed6c\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": "8b1f35099331746599298bda151eac56b041b746",
      "tree": "19625faac1a31e3320372a3733f04ab6a00014a0",
      "parents": [
        "d5e6527f5f35f128bd4308a19721911df517a1c1"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Sep 02 18:19:54 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Sep 02 18:19:54 2011 +0800"
      },
      "message": "Fix 5240036: Generate a reasonable bitrate for intermediate clips.\n\nChange-Id: I96bf9a7d0e2ce78fd19cce7bccbd4ac318748709\n"
    },
    {
      "commit": "466ade5ad66e7bfb1814d5e5ac76a17f8a0bcd3a",
      "tree": "168e8bd03620e0a0fda484acd2558e691f80fe85",
      "parents": [
        "a6ec356d2f5d2829fd8eff315a37f49501eac842"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 01 10:02:30 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 01 16:13:50 2011 -0700"
      },
      "message": "Fix bug 5045498 Unhide Remote Control Client API\n\nThe RemoteControlClient API enables media application to have\n information such as album art, current song, playback state\n be displayed on \"remote control displays\", as well as be\n controlled by \"remote controls\".\nThe new API consists in:\n - a new class, RemoteControlClient\n - new methods in AudioManager to register a RemoteControlClient\n - a new class, RemoteControlClient.MetadataEditor to edit and\n  apply the information associated with a RemoteControlClient,\n  and which will be displayed on a \"remote control display\"\n\nChange-Id: I5616085e4ad58ce0bbc1a5953b0a5a28d32f8703\n"
    },
    {
      "commit": "a6ec356d2f5d2829fd8eff315a37f49501eac842",
      "tree": "9c3e5a64b0dacf0c2c453f6b2b4974d4c32248b2",
      "parents": [
        "185a251b08104a2f19f642d9492e75dd11680dd6",
        "b716f0b7b2d8e4b045843fc6a7004910eb344c19"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 31 19:02:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 19:02:59 2011 -0700"
      },
      "message": "Merge \"Fix 5243349 RemoteControlDisplay incorrectly updated\""
    },
    {
      "commit": "b716f0b7b2d8e4b045843fc6a7004910eb344c19",
      "tree": "d591b77edf50323319052372281b7b7af8f854ef",
      "parents": [
        "528e382f48681a2175a24e7403f63a4493d7c44b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 31 18:24:04 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 31 18:24:04 2011 -0700"
      },
      "message": "Fix 5243349 RemoteControlDisplay incorrectly updated\n\nThis fixes a case where the RCD would display transport control\n for a RemoteControlClient that didn\u0027t have audio focus.\nThis was happening because registering an RCD was directly calling\n the updateRemoteControlDisplay method, without first calling\n the checkUpdateRemoteControlDisplay method which verifies the\n conditions before updating the display. One of those conditions\n is that the audio focus stack shouldn\u0027t be empty.\n\nTo verify this fix, several functions were also rename to clearly\n indicate the lock order and verify we properly synchronize on\n the right objects. In doing so, a missing synchronization on\n audio focus was found.\n\nChange-Id: If1baaac224ea676aeb83ac0aefcc53f87461c32e\n"
    },
    {
      "commit": "270bcaa9d1b7e6cef723532692d82bb231ac7137",
      "tree": "74de29fb2048522fe2320a6b80e0a948e8107890",
      "parents": [
        "93d77b633e7888b425443f544b2732485adee45e",
        "c847b1a89df94dbff4c2f557f8c042ead5398c3f"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Wed Aug 31 17:14:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 17:14:52 2011 -0700"
      },
      "message": "Merge \"Fix for 5156702 Rotate video output for thumbnails and export\""
    },
    {
      "commit": "16b241a58f1ec4b317647b6fd0ad9b5cc3f7ba3d",
      "tree": "ca95d0bbe1dbe8391e437f0bb0824719b7e6a2c5",
      "parents": [
        "528e382f48681a2175a24e7403f63a4493d7c44b",
        "3d4c06f90726a85e89dab13c41ddc15b9c912a3f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 31 12:59:28 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 12:59:28 2011 -0700"
      },
      "message": "Merge \"Change condition to enter silent mode.\""
    },
    {
      "commit": "338794576667745b060ac269b2c2b36e0c6964f2",
      "tree": "b992e663dd4ec34c8bed2eaed65bad6de3eab34e",
      "parents": [
        "49fb943db85c748fc7dd4f5ee4a461d7489fb1b0"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 31 11:42:17 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 31 11:52:16 2011 -0700"
      },
      "message": "Fix 5242200 only update RemoteControlDisplay when a client is present\n\nA precondition for updateRemoteControlDisplay_syncRcs() is that\n mRCStack is not null. This condition was not verified when\n registering a RemoteControlDisplay.\n\nChange-Id: I0b152410e57c590114b387e9ab83f0c4d15d060d\n"
    },
    {
      "commit": "3d4c06f90726a85e89dab13c41ddc15b9c912a3f",
      "tree": "b3a4238d33234d3e4004c3d643ab9578fb19b8df",
      "parents": [
        "256147581959868044bd92bad281c5c75a1068d7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 15 19:58:28 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 31 09:47:24 2011 -0700"
      },
      "message": "Change condition to enter silent mode.\n\nPreviously, silent mode was entered if volume was already at 0 and\nvolume down key was pressed once.\n\nThe new volume management policy specifies that silent mode is entered when\nvolume is at last audible step and volume down key is pressed once.\n\nChange-Id: Id3e75a99c522d8afe276868010b6e73495d23fde\n"
    },
    {
      "commit": "5ad4b9fb96089e460902ffac9f3649366afd3750",
      "tree": "4a16d35c55e927de1279e07c87a3bfc0578a9a30",
      "parents": [
        "8ec83219e8cbac105054fb60101e6d98a972bcc2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 30 16:52:05 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 30 18:42:33 2011 -0700"
      },
      "message": "RemoteControlClient metadata: add method for metadata of long type\n\nUpdate to the RemoteControlClient.Editor API:\n - new method for setting metadata of type long\n - methods for setting metadata throw an exception if using\n    the wrong key with the wrong method.\n\nNote that this change will cause the Music2 application to\n throw an exception when it tries to set the duration as a string.\n\nChange-Id: I17cff86467851a0aff313c07653e752ae6b6180f\n"
    },
    {
      "commit": "2261c7d6456376ed10a97643fc74a1e4eb2c1c9f",
      "tree": "e9d7b031ecb4c319f3b2b2d34f1fced2ad9cd5f7",
      "parents": [
        "95901a1b8b9ee85a8cfe5603f6fa3cca15b2cb85",
        "958bba6862c9540c528263686b0de044b4a7a5f6"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 30 15:14:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 30 15:14:12 2011 -0700"
      },
      "message": "Merge \"Bug 5045498 Force display update when display registers\""
    },
    {
      "commit": "958bba6862c9540c528263686b0de044b4a7a5f6",
      "tree": "a7c9baf2d47f430ca08af029cb92078f2d62e6d1",
      "parents": [
        "42930641792ecd23fee6b2913ba1e7cf24634f3d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 30 10:52:59 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 30 14:48:31 2011 -0700"
      },
      "message": "Bug 5045498 Force display update when display registers\n\nWhen an IRemoteControlDisplay registers, cause the\n RemoteControlClient to send all its information to the newly\n registered display.\nThe previous code was only sending a request for update: this\n request didn\u0027t here cause the client to send the data because\n a new client generation had not been synchronized among clients\n and displays.\nThis CL uses the same code path to force an update as when audio\n focus changes, or a new client registers, by calling the same\n method that is called in those cases,\n updateRemoteControlDisplay_syncRcs(flags).\nAlso in this CL: more method renames to indicate methods that\n are called synchronized on mRCStack.\n\nChange-Id: I54102f45ba1cd4812d958ecd883bec7bc45ae88f\n"
    },
    {
      "commit": "8d102eb6720deccfb8b5872fde531ef6ca580077",
      "tree": "ffb573506f9bb9546a00252f229c3b71c4518e10",
      "parents": [
        "be1a0493a8bf589137874bec4222297fbb712185",
        "af4fccf0c029be1f6964de5a456ceb651f052ba4"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Aug 30 14:38:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 30 14:38:56 2011 -0700"
      },
      "message": "Merge changes I33f59705,Ia4c8c822,I2fb695ab,I2e587afc\n\n* changes:\n  MediaDump: use the MediaPlayer#setSurface method\n  HTML5VideoView: switch to MediaPlayer#setSurface\n  MediaPlayer: unhide the setSurface method\n  Surface: unhide the SurfaceTexture ctor\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": "8f7bf025067767313d4d012718ad7f7f8b9822cd",
      "tree": "b18cfe30c84a1bb70a33ca9fd5f90bf1541792ce",
      "parents": [
        "890be6b919ce0c65d018a2dc40a6a1d59bc2b14d"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Mon Aug 29 20:16:22 2011 -0700"
      },
      "committer": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Mon Aug 29 20:16:22 2011 -0700"
      },
      "message": "5106773 Can\u0027t export a movie - Error returned from OMX API in ducati\n\nVideo Editor engine wrongly set the profile in place of level.\nSo level was always 1 (default value for Profile)\n\nChange-Id: I202f866d32e81869d9692174d59d9d777a772282\n"
    },
    {
      "commit": "b283dc64bc97f53804108cebf5b904eb4fb77155",
      "tree": "5e0f934dd391229f14b1df8743509f7a29fd30d3",
      "parents": [
        "0db3aef9f81b056c57b2331dd2750958c9341fdf"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Aug 28 16:28:08 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Aug 29 14:33:10 2011 -0700"
      },
      "message": "MediaPlayer: unhide the setSurface method\n\nChange-Id: I2fb695ab918d1099ad7cc51bfd436712a0b640d9\n"
    },
    {
      "commit": "db8a361629f06f62b9e1c40d4413b3b5099bd124",
      "tree": "8f3df898ad26bf61fac792fa41efc7c3f823efbb",
      "parents": [
        "7309c83b95b36eac141680158df70ac1ce02a160"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 26 19:10:51 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Aug 29 09:57:18 2011 -0700"
      },
      "message": "Update IRemoteControlDisplay when it registers.\n\nWhen an IRemoteControlDisplay registers, it must receive information\n from the current client.\n\nChange-Id: Id845e7a87ac74c2db2c59e0281b28a45f8d20528\n"
    },
    {
      "commit": "7309c83b95b36eac141680158df70ac1ce02a160",
      "tree": "03bfa9618de15c7831f0d060d2dce1e9fd5db05d",
      "parents": [
        "18e7bce52318f00b5023f33933a571c477f2b61c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 26 18:33:02 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 26 18:54:44 2011 -0700"
      },
      "message": "Cannot compare Binder references for RC display to unregister\n\nCannot trust references to IRemoteControlDisplay to remain the\n same when removing a RemoteControlDisplay, compare the\n result of .asBinder() instead.\n\nChange-Id: Ib2e82aa24bd4b12804bccff94a6a0090ff83bea8\n"
    },
    {
      "commit": "18e7bce52318f00b5023f33933a571c477f2b61c",
      "tree": "0ce0b85a0cc4bbb42debac30f42cb211ab2feec4",
      "parents": [
        "6e679d5a53091b348a2cdc0c76f4e8fa4ac52d4b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 26 12:11:36 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 26 18:14:29 2011 -0700"
      },
      "message": "Address multiple RemoteControlDisplay competing for registration\n\nThe RemoteControlClient / Display feature only supports one\n display. If multiple displays are registered, this CL implements\n the following policy:\n - cannot unregister a display that is not the current one,\n - registering a display when another is already registered\n    causes the old one to be unregistered.\nThis fixes a death handler leak where the previous display was\n simply overwritten, without unlinking to its death.\n\nChange-Id: I63f8a38093796e0960761936d7fc58d47b7589b3\n"
    },
    {
      "commit": "6e679d5a53091b348a2cdc0c76f4e8fa4ac52d4b",
      "tree": "09b1f0fc5e0e17b886c4626513e108b7f27d2d85",
      "parents": [
        "2daf331e683d397f4968016144f4cb34188b8b98"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 26 11:57:42 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 26 11:57:42 2011 -0700"
      },
      "message": "Don\u0027t try to rescale when no bitmap in RemoteControlClient\n\nIf a RemoteControlClient has a null artwork, do no attempt to\n rescale the bitmap, it\u0027s ok to send a null bitmap to the\n IRemoteControlDisplay.\n\nChange-Id: I8332ccfcf18107ea0b41d4e7fa232d7f68798efc\n"
    },
    {
      "commit": "3094d955b8321f01e50cb0c448ae1c4c461f41c9",
      "tree": "347b624f7b46cb4425a1c810cb78cdcdedce6ef1",
      "parents": [
        "4b6df6a3dcbd9990e36438c529fa8c16b2580df9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 24 18:41:55 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 24 19:08:48 2011 -0700"
      },
      "message": "Fix deadlock in AudioService\n\nLocks related to audio focus and remote control should always be\n taken in the following order:\n 1/ audio focus lock\n 2/ remote control stack\n 3/ current remote control client generation\n\nChange-Id: If8be11bfef92849957e692b2bd52adbd67a2ef0b\n"
    },
    {
      "commit": "4b6df6a3dcbd9990e36438c529fa8c16b2580df9",
      "tree": "577902233904b17e520e61e45dd58a58116d4487",
      "parents": [
        "2da59ffbda80594e6312f400341810f91e1d333a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 24 10:31:13 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 24 17:13:49 2011 -0700"
      },
      "message": "More information for RemoteControlDisplay about new client\n\nWhen the client gets cleared, let the display know the new\n client generation ID is for a clear.\nWhen a new client becomes current, let the display know\n what the associated media button event receiver is.\n\nChange-Id: I18e37a309b5b30ed361a68918379b60418409f1e\n"
    },
    {
      "commit": "44413e5b514a91806a4bb4c7780029ea43be6f81",
      "tree": "f9fa87ca867f6577fb03090d018436ed61c9c0b0",
      "parents": [
        "4da5eeffc92331b958eeb111aa2f3d938083954e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 18:20:03 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 19:08:47 2011 -0700"
      },
      "message": "Bug 5045498 Single binder call when metadata and artwork are updated\n\nWhen metadata gets applied, optimize the artwork and metadata\n update by doing it in a single call.\n\nAdd missing RemoteControlDisplay-related methods in AudioManager.\n\nChange-Id: I97aa802cc480327bee5592ea8dfdbd414c0f037a\n"
    },
    {
      "commit": "4da5eeffc92331b958eeb111aa2f3d938083954e",
      "tree": "6aea06060925b9278ac57fda67d29208c205a16a",
      "parents": [
        "68e37ae87ad9932f2119c1b2fc361c1aed5841e4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 16:01:10 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 18:09:49 2011 -0700"
      },
      "message": "Bug 5045498 Implementation of RemoteControlClient.MetadataEditor\n\nA MetadataEditor contains all the metadata and artwork to be applied\n to a RemoteControlClient.\nA MetadataEditor can only be applied once.\n\nChange-Id: I3ce9d97f520cd9ab009fb1a92a2b399717511bd8\n"
    },
    {
      "commit": "68e37ae87ad9932f2119c1b2fc361c1aed5841e4",
      "tree": "262236462ca8a2c8568c9d6533cfa97eb244a3d5",
      "parents": [
        "f9838d0bb961d5464a92819107747237ea1d923c",
        "4426e42ac6107bf6b09f7c4cdad39eb161d8b9ca"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 11:46:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 23 11:46:44 2011 -0700"
      },
      "message": "Merge \"Bug 5045498 New implementation of remote control API\""
    },
    {
      "commit": "4426e42ac6107bf6b09f7c4cdad39eb161d8b9ca",
      "tree": "27528bb34ea1b83f0c798ac975fd27c38f5869c1",
      "parents": [
        "0197d825f15844e51b91a0006d411ecb06350641"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Aug 18 19:16:47 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 11:23:22 2011 -0700"
      },
      "message": "Bug 5045498 New implementation of remote control API\n\nRemote control displays expose an IRemoteControlDisplay interface\n which they register through AudioManager.\nRemote control clients create a RemoteControlClient object, which\n implicitely exposes an IRemoteControlClient interface registered\n in AudioService through AudioManager.\nAudioService tells all clients and displays when a new client\n is the one that should be displayed.\nA client\u0027s data gets sent to the display when it is valid, or\n it sets new data (while being valid).\n\nThe implementation for setting metadata and album art is temporary,\n and will migrate to the MetadataEditor API in future CLs.\n\nChange-Id: Ibab6ea1d94c68f32482c760c6ae269541f885548\n"
    },
    {
      "commit": "cf56f1e7ad7586831faa5bacb537f71cdb227e61",
      "tree": "3e4e11e003bf364e86a1aac85f4b087bae9b7ac4",
      "parents": [
        "b1d6e76af75f705a6165cf69a13365828fc6354a",
        "73a56fe47720cc2659da6fc0a01fcc28940e7243"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 23 08:44:13 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 23 08:44:13 2011 -0700"
      },
      "message": "Merge \"Revert \"Change condition to enter silent mode.\"\""
    },
    {
      "commit": "73a56fe47720cc2659da6fc0a01fcc28940e7243",
      "tree": "eef40df774b2d6e3f2d7cb7511ddb50fb2cf161d",
      "parents": [
        "cf508bd5c3ba4554778c64b23683842575410c7f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 23 08:27:41 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 23 08:27:41 2011 -0700"
      },
      "message": "Revert \"Change condition to enter silent mode.\"\n\nThis reverts commit c11c3ae4dd5d4054e5b44a7bdfe6b203bdb69976.\n"
    },
    {
      "commit": "f1824a9762a28c1b664360cb1b6c354d937878bc",
      "tree": "6060f1dd38c11716ecfed3e85653e40bea1f79b1",
      "parents": [
        "e20c279d9a6719a7c0d8c6606c7ba1bd207db8d3"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Aug 23 15:59:51 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Aug 23 16:00:28 2011 +0800"
      },
      "message": "Pass correct indices for thumbnails of MediaImageItem.\n\nChange-Id: I8e52014ab76c63994385bc54106c19b425be8550\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": "8c60d89b3704164d5a13e80ace6bea4b51af37a3",
      "tree": "ea05eb620d35c14cb168078527805b6e7c933f8e",
      "parents": [
        "926808dc9bd99e3d663d1612961f587db6161ad5",
        "178889eff7fa3361a5cb08d6d43846a1baf5216b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 17 16:54:37 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 17 16:54:37 2011 -0700"
      },
      "message": "Merge \"Bug 5045498 RemoteControlClient interface\""
    }
  ],
  "next": "8f6684144a617982763db3d2281e86f2a9d368db"
}
