)]}'
{
  "log": [
    {
      "commit": "ce0a7ade96ddbdcb342e0b382e9d3ea43962cafd",
      "tree": "e87c56aae986de91e91e7fadaeef4f4745fc3cbe",
      "parents": [
        "cb52d012e910b86d3562d4cad32d66e17986e286",
        "b741c604861ddbafcacaa452e31bd19337a19705"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 30 11:13:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 30 11:13:39 2011 -0700"
      },
      "message": "Merge \"Remove Ringtone.setWakeMode, it\u0027s not needed.\""
    },
    {
      "commit": "cb52d012e910b86d3562d4cad32d66e17986e286",
      "tree": "665e51b4425821b0d8e760b65714a3232aba3a97",
      "parents": [
        "d42825f40e5a08a030a2f8f7ca2998e43d5d6f81",
        "9a6ed36ba55a206934937cfafca7e797e8c6ea00"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 30 11:13:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 30 11:13:21 2011 -0700"
      },
      "message": "Merge \"Gracefuly return on detecting wrong AAC format from corrupted files\""
    },
    {
      "commit": "9a6ed36ba55a206934937cfafca7e797e8c6ea00",
      "tree": "5a4edaf522cfaa16037f4298d842602bafe9df32",
      "parents": [
        "1402bb19012d4fc7595da2586bec9e6f428b36fb"
      ],
      "author": {
        "name": "Gilles-Arnaud Bleu-Laine",
        "email": "gilles@ti.com",
        "time": "Thu Sep 15 21:30:13 2011 -0500"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 30 10:46:12 2011 -0700"
      },
      "message": "Gracefuly return on detecting wrong AAC format from corrupted files\n\nReturn BAD_VALUE error upon detection of wrongly formatted files.\nThe client should abort the initialization upon error detection.\n\nThe current CHECK() interrupts the configurecodec() preventing a graceful\nexit.\n\nChange-Id: Ic79313fa76a63284897df5d91635de87d06f3100\nSigned-off-by: Gilles-Arnaud Bleu-Laine \u003cgilles@ti.com\u003e\n"
    },
    {
      "commit": "627f445a23b6c1188e366c0eec52abc488668bec",
      "tree": "828b100a598b1616a2f00debaa67eb2081bf8863",
      "parents": [
        "1c6ac4eb5c035ecc18bab2006610f9015be08f34"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Sep 30 10:00:58 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Sep 30 10:05:33 2011 -0700"
      },
      "message": "Wait for some time before stopping the media recorder.\nFix for bug 5239001.\n\nChange-Id: Ifa18a404e8568cced88a93b8d1a7125875aadb15\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": "cc3fbb7b699083518340cfd57334d3798d881a49",
      "tree": "7422bc166b5bd0d46f97557c01c951ce8a9ab46d",
      "parents": [
        "b9c13d091efde4865ed5cfaf1c5a17b0bb17a38e",
        "26b3d1ff38998c7cb80a2950da0589ebd8510897"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 29 09:09:37 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 29 09:09:37 2011 -0700"
      },
      "message": "Merge \"Fix bug 5357295 NPE on display when remote control client dies\""
    },
    {
      "commit": "0044a15eb92588372e21fa56a02fbed396cb5e02",
      "tree": "4d1e0e66b8a4d8ceb92e2abd25bd20d108602cc8",
      "parents": [
        "cbbecdfdadb4b2db00fc11ff7bbacd579475909f",
        "2378341174055957833e5af17dc32596c2996335"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 16:08:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 28 16:08:59 2011 -0700"
      },
      "message": "Merge \"Support multiple NAL fragments per .mkv payload\""
    },
    {
      "commit": "2378341174055957833e5af17dc32596c2996335",
      "tree": "0ab510acbf95bff4d39244fa79a3fe906e2c21a5",
      "parents": [
        "781ae92f11ff136b99acb56cc361ad662d9cb6b9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 15:06:46 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 15:06:46 2011 -0700"
      },
      "message": "Support multiple NAL fragments per .mkv payload\n\nApparently the payload for an h.264 track in an .mkv file can contain multiple\nNAL fragments, we used to discard everything after the first one before, now\nwe preserve them all.\n\nChange-Id: Ic7187365309f3880a3256982879a45df50db697d\nrelated-to-bug: 5337218\n"
    },
    {
      "commit": "5e28463dc4d12802d173018c572f73e13ba50722",
      "tree": "29fe532a4c2e9affc537f4489b65df9b27b51df1",
      "parents": [
        "781ae92f11ff136b99acb56cc361ad662d9cb6b9",
        "dbf85120b8ca5e2bdc64f4085e9d6a036ac2ce5e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 28 13:46:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 28 13:46:49 2011 -0700"
      },
      "message": "Merge \"Flush resets the count of played audio frames\""
    },
    {
      "commit": "781ae92f11ff136b99acb56cc361ad662d9cb6b9",
      "tree": "791db9323c1f18ee0e074a6f1aa2494d3950c499",
      "parents": [
        "0a6cd02b4824f9f974257362eddef0c5c5d46ab3",
        "3e408f39ef1c0513908a3b73da5ce6f4164e85d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 13:13:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 28 13:13:33 2011 -0700"
      },
      "message": "Merge \"Support AMR, G.711 and vorbis audio in ACodec and friends.\""
    },
    {
      "commit": "0a6cd02b4824f9f974257362eddef0c5c5d46ab3",
      "tree": "f97d97277faa9c041d20caf317682bcc90ad35c4",
      "parents": [
        "40047fa14df169bece9c8d28bdbc515030d37383",
        "b2d17234b77cda555905e0da997f543708374246"
      ],
      "author": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Wed Sep 28 12:40:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 28 12:40:07 2011 -0700"
      },
      "message": "am b2d17234: Merge \"Reorganize media framework functional tests. Group tests into sub-packages\" into ics-factoryrom\n\n* commit \u0027b2d17234b77cda555905e0da997f543708374246\u0027:\n  Reorganize media framework functional tests. Group tests into sub-packages\n"
    },
    {
      "commit": "3e408f39ef1c0513908a3b73da5ce6f4164e85d9",
      "tree": "bd82b382b4d57aa40362b376dd9473114584b7cf",
      "parents": [
        "9a3d51ed1090d459666c3257923b16eca842bb10"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "message": "Support AMR, G.711 and vorbis audio in ACodec and friends.\n\nChange-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983\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": "8df38890d4634aec70c5d37bc90a3a2f836f8aa1",
      "tree": "ac2dcce234b4b62a33d4d22b7b1142b32f99dee6",
      "parents": [
        "9a3d51ed1090d459666c3257923b16eca842bb10",
        "8dc208476f1fbbf6cd0b8cc3d48487a62cb72883"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 28 09:41:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 28 09:41:12 2011 -0700"
      },
      "message": "Merge \"Log a warning when a MediaPlayer is finalized without having being released. b/5382634\""
    },
    {
      "commit": "8dc208476f1fbbf6cd0b8cc3d48487a62cb72883",
      "tree": "bab0c935df6afc8a87a851162529f4a4d0681a67",
      "parents": [
        "8013290dd0e9d3eabc3611d7eca47aa50bdceed0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 28 09:21:11 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 28 09:21:11 2011 -0700"
      },
      "message": "Log a warning when a MediaPlayer is finalized without having being released.\nb/5382634\n\nChange-Id: I756d09d16a92ab8ce736c16a24e319a87be6c8de\n"
    },
    {
      "commit": "dbf85120b8ca5e2bdc64f4085e9d6a036ac2ce5e",
      "tree": "839ec4d723ef2a9656f22c6d3ba1804e8ab300f6",
      "parents": [
        "8f0bb4bc1715ad9aaa486d010ea870ec2f43d245"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 27 22:47:25 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 27 22:47:25 2011 -0700"
      },
      "message": "Flush resets the count of played audio frames\n\nChange-Id: I0cda94646a71757fa113a199d29235e13efd7ac3\nrelated-to-bug: 5331470\n"
    },
    {
      "commit": "db6028508c8eb31a0de1dcdfc410ddfe6df7c5ad",
      "tree": "4b9bdec6fedfec04e97c3ed10de3246961fbb574",
      "parents": [
        "ce9756d06dd8aebb7b92879ab3b02bbe8f290992"
      ],
      "author": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Tue Sep 27 16:00:20 2011 -0700"
      },
      "committer": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Tue Sep 27 16:00:20 2011 -0700"
      },
      "message": "Reorganize media framework functional tests.\nGroup tests into sub-packages\n\nChange-Id: I878e14487142de495fc646037d5d0b51e39341bd\n"
    },
    {
      "commit": "262d7e8e21625b520d9b60a230160a7ff1b295fd",
      "tree": "7e7b0c22f2d47e45b2e4c1880dc81eac4f99373c",
      "parents": [
        "d33b3881f7647e721181c46f9166ee139cec7e38"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 15:05:40 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 15:07:36 2011 -0700"
      },
      "message": "Cut down on AwesomePlayer and OMXCodec\u0027s verbosity.\n\nChange-Id: Ifd95717e8ea0fb0327099b16d72a6ed58c7c9924\nrelated-to-bug: 5382014\n"
    },
    {
      "commit": "d33b3881f7647e721181c46f9166ee139cec7e38",
      "tree": "4fdfa59dcd6be4117bceea55a09cbaab2382e9ae",
      "parents": [
        "553e54742043d9e7ee01d704390864ee554e8b09",
        "7922619e9c755353effd0188779ebbd5c1372624"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 13:36:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 13:36:22 2011 -0700"
      },
      "message": "Merge \"Signal an appropriate error even if there are no active streams yet.\""
    },
    {
      "commit": "7922619e9c755353effd0188779ebbd5c1372624",
      "tree": "4c46519604e74adc5e3bc009108f73aa963b4aa4",
      "parents": [
        "cbb62bb81807ff83a0887b90111218d81a3f57df"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 12:12:25 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 27 12:13:37 2011 -0700"
      },
      "message": "Signal an appropriate error even if there are no active streams yet.\n\nChange-Id: I3ac1053ad288558b62ee18056dfd0a9ce0da8f49\nrelated-to-bug: 5372901\n"
    },
    {
      "commit": "53719fc4c5c441e8696f26bbfb9166b0bd19ef29",
      "tree": "05c82e12c7539c941fe994e3d9fba04b6a28c5c3",
      "parents": [
        "6ce9dfd8a45e1133987ab8400d92cb2bb493b666",
        "9968a36f297e299578b4f4726832ac8323a08c6f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 27 10:32:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 27 10:32:17 2011 -0700"
      },
      "message": "Merge \"Fix issue 5373048: AudioCache decode errors\""
    },
    {
      "commit": "9968a36f297e299578b4f4726832ac8323a08c6f",
      "tree": "e01dcf76a5c10b21f48c30fb279173cc037c8a21",
      "parents": [
        "2cdbe2f1cf0157bf49913c46cc806169e0f9ecc6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 27 09:48:56 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 27 10:23:38 2011 -0700"
      },
      "message": "Fix issue 5373048: AudioCache decode errors\n\nWhen decoding a file for the SoundPool, do not\nreject the entire file in case of error but\nreturn what was decoded so far instead.\n\nChange-Id: Iff199a1b6a4c8e064e42a0dfe0704e0ae36a27fd\n"
    },
    {
      "commit": "928baf1f5480f67c1916a933d691e38de4f0a575",
      "tree": "bab54f6848e44f3722502ce31c5734bede91e5e2",
      "parents": [
        "3bade9504a648ce7606b876dc7d71b4684e279c9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 10:53:29 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 10:53:29 2011 -0700"
      },
      "message": "Propagate error signalled by the source all the way to the output EOS notification.\n\nChange-Id: I30e959a6d669f09745c59fbdebee08f869511cf7\nrelated-to-bug: 5372901\n"
    },
    {
      "commit": "3bade9504a648ce7606b876dc7d71b4684e279c9",
      "tree": "8424e5d3f9a93d63d959ef46ca93a606d28b88b2",
      "parents": [
        "e0b0578a1efe6dc3ed259835ce0ceb939a0ecee6",
        "bea34b942d1727934e4cd69c5e7b69679b4e8891"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 26 08:09:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 08:09:11 2011 -0700"
      },
      "message": "Merge \"Support even more .avi files with .mp3 content not aligned to chunk boundaries\""
    },
    {
      "commit": "bea34b942d1727934e4cd69c5e7b69679b4e8891",
      "tree": "3e8f95a2d7eb3b5d7b62fe0fe330325d5a620a13",
      "parents": [
        "c56c92013c0acfa4517ed5d36d8aa78bc21452ae"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 23 14:05:49 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 23 14:59:31 2011 -0700"
      },
      "message": "Support even more .avi files with .mp3 content not aligned to chunk boundaries\n\nChange-Id: I3ace4118e2e519648c23c51d0b699ba0d7511a5d\nrelated-to-bug: 5349382\n"
    },
    {
      "commit": "65837cede462b551742f900f2e2f5a1d5dd576a2",
      "tree": "58bcb6fb0db5f188e68fb2a1281e747616aaf947",
      "parents": [
        "651e46679b2d5dc7809fdb2b57e15a9ba2992db4",
        "5e7acae2c3e4cf345e3fa7bf10e3c62f9e69e6be"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 23 14:43:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 14:43:12 2011 -0700"
      },
      "message": "Merge \"Fix issue 5355047: Automated effect tests fail.\""
    },
    {
      "commit": "5e7acae2c3e4cf345e3fa7bf10e3c62f9e69e6be",
      "tree": "8cc7a58d39a095530ac0d036d84a5e7b88ab0d12",
      "parents": [
        "d30d2aae108a132ac6ee04cdf29cbec50cc73320"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 23 08:40:41 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 23 10:15:05 2011 -0700"
      },
      "message": "Fix issue 5355047: Automated effect tests fail.\n\nFixed several regressions in automated audio effect tests due\nto changes in effect framework and visualizer FFT output range.\n\n- Do not suspend Volume effect on session 0 when effects are\nenabled on specific sessions.\n- Adapt energy detection thresholds to new visualizer FFT range.\n- Leave more time for BassBoost and Virtualizer effects to ramp up\nbefore measuring the effect.\n- Removed second insert reverb left by mistake on the player session\nin preset reverb test.\n\nChange-Id: I7a1ad1372d783fa7900eb9dd1d3b47f54d8d766f\n"
    },
    {
      "commit": "91d34137903c278e5e077fa1edef9bbbcdd140f7",
      "tree": "170495ea90f215584e1cc52385b4fcf5620d032e",
      "parents": [
        "4cd34752cb229f3e1716e1e92f54f58dd847745c",
        "1d71c7b40a7f38487e602e78f45279b6a8364fc9"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Sep 23 09:08:11 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 23 09:08:11 2011 -0700"
      },
      "message": "am 1d71c7b4: Merge \"Returning EOS in SurfaceMediaSource:read\" into ics-factoryrom\n\n* commit \u00271d71c7b40a7f38487e602e78f45279b6a8364fc9\u0027:\n  Returning EOS in SurfaceMediaSource:read\n"
    },
    {
      "commit": "a1849fceaf4b22d0a8ec7992c91bc416f78c9fd2",
      "tree": "0dfd3602307339eaaa32dd8c1d8208caf8e1a7cf",
      "parents": [
        "904fb9d79cc72879e4c6767c219ec78feda8e62b"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 22 17:03:48 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 22 17:03:48 2011 -0700"
      },
      "message": "Returning EOS in SurfaceMediaSource:read\n\nIn SurfaceMediaSource::read, if disconnect has already been called, then\nERROR_END_OF_STREAM should be returned rather that NO_INIT. Else, it\nsometimes leads to a crash in mediarecorder stop() call.\n\nRelated to FactoryROM bug: 5332812\n\nChange-Id: I22132538ab2501d084e0283876817b1ec3f64a1d\n"
    },
    {
      "commit": "dda868cd3383aecb45b42e39abfa2670101dde00",
      "tree": "f2f4076b8b4e176256396e4227102eda5d5eacc2",
      "parents": [
        "d30f73725bf6f7b668244a0e51245a85005c3e9f",
        "e47e8520fa48bd014287eda94ea39927de73d6bc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 21 15:15:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 21 15:15:18 2011 -0700"
      },
      "message": "Merge \"Keyguard sound needs to hold wake lock.\""
    },
    {
      "commit": "bfd1c9d93f47040bc52a1fbdc8ae81502a6f4b23",
      "tree": "cc721606a9c10f5e173f04081352f93faf3d6dcc",
      "parents": [
        "fbc8b8861ce819cdac180fdf8d9f8ce3e82f3201",
        "3001e4721237af2754fc2ac57100dd4ea00c67cb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 21 13:56:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 21 13:56:09 2011 -0700"
      },
      "message": "Merge \"Support some .avi files containing H.264 video, log warnings if audio/video unsupported\""
    },
    {
      "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": "3001e4721237af2754fc2ac57100dd4ea00c67cb",
      "tree": "2d12e728801ec6098fe8dc3cc82dc22c76584ab5",
      "parents": [
        "291c6d789dac8f85c50163e9a9ef24ef31183b93"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 21 13:19:54 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 21 13:19:54 2011 -0700"
      },
      "message": "Support some .avi files containing H.264 video, log warnings if audio/video unsupported\n\nChange-Id: Ie7280f25f2bd19f32234c08673e64ceb65833677\nrelated-to-bug: 5349382\n"
    },
    {
      "commit": "faa75f6146165016685291084ca79ddd377411b4",
      "tree": "3b9364a101be2b3d2ef41e6db4ff945ca57d609b",
      "parents": [
        "eb060254a0b7aa42ab05ed6539156c3084ec1908",
        "cd5c896381321d6986de0ec0acbd69e150405102"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 21 10:51:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 21 10:51:43 2011 -0700"
      },
      "message": "Merge \"Bug 5234242 audio continues after discontinuity\""
    },
    {
      "commit": "cd5c896381321d6986de0ec0acbd69e150405102",
      "tree": "513c58620a1f4368ac861e753a8281113b38ecad",
      "parents": [
        "dd0ffde6f553afb9fcdbab198102df540a4470a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 21 10:40:01 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 21 10:40:01 2011 -0700"
      },
      "message": "Bug 5234242 audio continues after discontinuity\n\nReduce to 8 buffers of 10 packets from 16 buffers of 20 packets.\n\nChange-Id: Ifdb5e15535989fbb6e5e1b70d5f9f71dc66a5c83\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": "3907c79aebf8621a5a4880c9e66db3c49a44f359",
      "tree": "57278dd5e12f6788d4d624cc75ec969476dafdfe",
      "parents": [
        "cb61187783b2a995cfb56ea6c4a396ebff13ff0f",
        "92d0a64b909cd95e8f4ce587438b0cc6d2daeaa0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 20:09:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 19 20:09:00 2011 -0700"
      },
      "message": "am 92d0a64b: Merge \"Add QVGA resolution to CamcorderProfile\" into ics-factoryrom\n\n* commit \u002792d0a64b909cd95e8f4ce587438b0cc6d2daeaa0\u0027:\n  Add QVGA resolution to CamcorderProfile\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": "e2bb99600e3a6eed97d2739f62c84998180a705d",
      "tree": "709dfe1e98a6f852a0587200e4524d099afd6d49",
      "parents": [
        "bb132eba71bc12a88416df01e2df539820c2d607",
        "abc63e7f461fea0ff8a049b3590866f01aadd49f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 19 13:28:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 19 13:28:47 2011 -0700"
      },
      "message": "Merge \"Remove an O(n^2) algorithm in MPEG4Extractor.cpp to speed up seeks in long streams\""
    },
    {
      "commit": "abc63e7f461fea0ff8a049b3590866f01aadd49f",
      "tree": "e57a48a98bfd8d344daa3b6fcb956347124d82f0",
      "parents": [
        "c7342fbf992091cd37bb34b8fac2e6b6ca47fdf5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 19 12:18:47 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 19 12:21:33 2011 -0700"
      },
      "message": "Remove an O(n^2) algorithm in MPEG4Extractor.cpp to speed up seeks in long streams\n\ncontaining B-frames.\n\nChange-Id: Ie4dc734d2c2d5a5ce84674bb883f4b27e2278642\nrelated-to-bug: 5336497\n"
    },
    {
      "commit": "b3e6eab16153c28a30525a7c26fb7a153a5548f4",
      "tree": "ee0a6cc48843ac0ba59a33279e7aa7fd19c355d1",
      "parents": [
        "bd1bb1d07530b1cee4b7e395f8bf3c67c5db3f7f",
        "2f153169594249738d63aa6e2897d257f6b7d71e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 19 09:51:29 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 19 09:51:29 2011 -0700"
      },
      "message": "am 2f153169: Merge \"Bug 5300223 RemoteControlClient uses PendingIntent for media button events\" into ics-factoryrom\n\n* commit \u00272f153169594249738d63aa6e2897d257f6b7d71e\u0027:\n  Bug 5300223 RemoteControlClient uses PendingIntent for media button events\n"
    },
    {
      "commit": "c7342fbf992091cd37bb34b8fac2e6b6ca47fdf5",
      "tree": "f571f4bd05cbe80a40e9245f76a8d6f00653e904",
      "parents": [
        "5c1c26a837a21605d202880024b302f8a3969ed0",
        "950fc9d1159bfc38e2b58a2ccf4465c630573126"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 19 08:54:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 19 08:54:59 2011 -0700"
      },
      "message": "Merge \"In order to recover from video lagging behind audio, drop avc frames\""
    },
    {
      "commit": "950fc9d1159bfc38e2b58a2ccf4465c630573126",
      "tree": "30e3b1175e474fc73198a5aca79a37b00f9c12ff",
      "parents": [
        "44895fe865a597963a6a4a1fa0af9c3b2ff164d1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 16 15:09:22 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 16 15:19:59 2011 -0700"
      },
      "message": "In order to recover from video lagging behind audio, drop avc frames\n\nthat are not referenced by other frames before feeding them into the decoder.\n\nChange-Id: I822190af8f8329567bff8da1ea23136d0a765481\n"
    },
    {
      "commit": "607fb6dadab628c11ecbfd63642be5951e7287f0",
      "tree": "e81f21451ab8cba56a8b6cedb7db9e246d816c9f",
      "parents": [
        "07adee4a559e1655c5c1c1ec2f3b9bc15c33ea61",
        "f79ec360984011c49c52b7a19b96cbbc932df4be"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 16 15:02:43 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 16 15:02:43 2011 -0700"
      },
      "message": "am f79ec360: Merge \"Fix bug 5327199 Recycle bitmaps in RemoteControlClient\" into ics-factoryrom\n\n* commit \u0027f79ec360984011c49c52b7a19b96cbbc932df4be\u0027:\n  Fix bug 5327199 Recycle bitmaps in RemoteControlClient\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": "115cac8131e9b2a599ac5f10f9e973487c8fd25c",
      "tree": "2fa9d409531590d62e39908875102eb952df512d",
      "parents": [
        "bcba155942705de42174871fc1215b3f4655797b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 15 12:25:04 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 16 10:44:02 2011 -0700"
      },
      "message": "Various improvements to nuplayer playback\n\n- Drastically cut down the number of times we supply the AudioSink with data\nby estimating the time until the sink would run out of data and then scheduling\na refill in advance of that.\n\n- Use a dedicated looper for video decoders since they are currently taking\ntoo long to return from OMX_FillThisBuffer (bug 5325201)\n\n- Revise thread priorities for the OMX dispatcher and software codecs, instead\nof running them at ANDROID_PRIORITY_AUDIO, they now only run at\nANDROID_PRIORITY_FOREGROUND\n\n- Since threads created by pthread_create inherit all of the parent threads\nattributes including thread priority, briefly reset thread priority to\nANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then\nrestore it.\n\nChange-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3\n"
    },
    {
      "commit": "152f7b3985a777403168722891b7941c16a0cfaa",
      "tree": "95f32894f4a299c6e30d0585263ee337e5bacc27",
      "parents": [
        "b851f15ee22222569bfbda1a017c12dcc89ec3ab",
        "e828beb3866e2275cd26acd2a58f9f8a3967ba30"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 16:56:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 15 16:56:41 2011 -0700"
      },
      "message": "Merge \"If media player has died already, do not dec the old surface texture reference. Otherwise segfault will occur. For bug 5327664.\""
    },
    {
      "commit": "81b37d8bde34ef3bb8eb8dfd7492761a39a8fd09",
      "tree": "dbab2126f8f4d8e26a596c25f2138d803f9c5ac7",
      "parents": [
        "c286b2cc26d57efa5fef42c085bb2eb330021114"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 15:28:43 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 15:38:36 2011 -0700"
      },
      "message": "If media player has died already, do not dec the old surface texture reference.\nOtherwise segfault will occur.\nFor bug 5327664.\nDo not merge.\n\nChange-Id: I03ea7bc047aa99a106f1e010dac74f75a833ef84\n"
    },
    {
      "commit": "e828beb3866e2275cd26acd2a58f9f8a3967ba30",
      "tree": "d21e5edc8208b90533bcda268b2fdcc7ecd722e5",
      "parents": [
        "d59310d08637c8531dc7949fc166b0daeede53c0"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 15:28:43 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 15:36:02 2011 -0700"
      },
      "message": "If media player has died already, do not dec the old surface texture reference.\nOtherwise segfault will occur.\nFor bug 5327664.\n\nChange-Id: I03ea7bc047aa99a106f1e010dac74f75a833ef84\n"
    },
    {
      "commit": "c286b2cc26d57efa5fef42c085bb2eb330021114",
      "tree": "41ff1aec410c7a9d5979c0d13aaa9d6af9c92450",
      "parents": [
        "cb995121ee4bb4da236e8181fbfbd33bc2f9173a"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Sep 14 13:59:45 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 11:58:25 2011 -0700"
      },
      "message": "Cherry-pick from master. Do not merge.\nDo not need to reset surface as NULL in MediaPlayer\u0027s _release.\nRelated to bug 5252296.\n\nChange-Id: Ieab063cee70e072fcc4d861abe0f7979a7bab1ec\n"
    },
    {
      "commit": "b107c628ba7387c5e0dff6020530ce47feba446a",
      "tree": "b756a842d286c2ca458c0e41046365b219c5a084",
      "parents": [
        "c3afd4c60ef3a064c7ad8339d2c120ab2116eeee",
        "d59310d08637c8531dc7949fc166b0daeede53c0"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Sep 15 10:16:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 15 10:16:00 2011 -0700"
      },
      "message": "Merge \"Do not need to reset surface as NULL in MediaPlayer\u0027s _release. Related to bug 5252296.\""
    },
    {
      "commit": "1318864fa7ce6c85aaf629b1db08c79e4d0cf41e",
      "tree": "0a55adab2711acd93131bf933dd5b8f638c2a7d9",
      "parents": [
        "e71ffeb7e0eaa181130aaaad18a94ef3ab73ecb1",
        "0209da1cb177888af6c58e9bcc13c5d9665d6354"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "message": "Merge \"Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\""
    },
    {
      "commit": "d59310d08637c8531dc7949fc166b0daeede53c0",
      "tree": "64602590db4b3cdfab19786d9b697479b1a96661",
      "parents": [
        "02ea7d48773210fa0f29299269aca26b3201b1d0"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Sep 14 13:59:45 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Sep 14 14:24:27 2011 -0700"
      },
      "message": "Do not need to reset surface as NULL in MediaPlayer\u0027s _release.\nRelated to bug 5252296.\n\nChange-Id: Ieab063cee70e072fcc4d861abe0f7979a7bab1ec\n"
    },
    {
      "commit": "2424c93d84cd4cd0936cd7a5d1d7323ce5dc4e96",
      "tree": "61bd27b407cc036e0df2627e209f0cb85b476b33",
      "parents": [
        "11fed2b218eae1ea94e7c1055a49562efef87a90",
        "3f43e7d37f8efb0a0c6c07d1d0dd5103e26922d3"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Wed Sep 14 14:01:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 14:01:36 2011 -0700"
      },
      "message": "Merge \"Fix for bug 5309242 [Prime] VideoEditorAPITest testVideoContentHD failed\""
    },
    {
      "commit": "3f43e7d37f8efb0a0c6c07d1d0dd5103e26922d3",
      "tree": "4e91939aa338a1314045a5da1e76ed70884653f7",
      "parents": [
        "7a685e89114ddfe35f87075dfe66a480c91c9de2"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Wed Sep 14 11:21:50 2011 -0700"
      },
      "committer": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Wed Sep 14 12:37:02 2011 -0700"
      },
      "message": "Fix for bug 5309242 [Prime] VideoEditorAPITest testVideoContentHD failed\n\nChange-Id: Ibd52a3bda8e1cb17f1c110cc219f2c71a46e5122\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": "3f0c821740305c352eb355ba3d72906a7a97751c",
      "tree": "37e771ac039d0b0578bc7266ea9122771edf7c99",
      "parents": [
        "d4fdc0f5621098d89c686a0edbfc22247005c46c",
        "7e8626fd7580dc5e0d4b4e4ceef0988067b60037"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "message": "Merge \"Issue 5298399: Lost speech after a crash in gTalk.\""
    },
    {
      "commit": "7e8626fd7580dc5e0d4b4e4ceef0988067b60037",
      "tree": "f0737733bd57b2f217abe1154143e40ec5ec5e0a",
      "parents": [
        "3705b22c9704050dfb46d784ae84e9d7f9357ad4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 15:04:17 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:33:29 2011 -0700"
      },
      "message": "Issue 5298399: Lost speech after a crash in gTalk.\n\nFixed problem in AudioTrack::restoreTrack_l() causing a permanent\nfailure if the IAudioTrack interface to AudioFlinger could not be\nrestored at the first attempt.\n\nChange-Id: I039d4fe2dca8d3baf71f1a6c51119f27a67b6611\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": "bf208ec91ec80fd2a3c2474c236b09b37c1a02c4",
      "tree": "5228640aeee6e29c08b2f4666f37a779659dc095",
      "parents": [
        "5d42a7df1dffa5e7e4077e40348790e94411093d",
        "63749954aa828b3f73b4738659eaea5eaeeca874"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:37:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 11:37:22 2011 -0700"
      },
      "message": "Merge \"Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\""
    },
    {
      "commit": "63749954aa828b3f73b4738659eaea5eaeeca874",
      "tree": "fbffa2a79de63efd5b03463755cb7368de85c834",
      "parents": [
        "62bb0cdc746e850c2d2d5da4f6c7a38f8782f4bc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:12:57 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:12:57 2011 -0700"
      },
      "message": "Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\n\nAssume for now that all chunks are the same size, i.e. have the same number of\nsamples.\n\nChange-Id: Ib8a7dfeb16cc3e5be199ff9d98b68dd0b9c23eb8\nrelated-to-bug: 5279872\n"
    },
    {
      "commit": "0209da1cb177888af6c58e9bcc13c5d9665d6354",
      "tree": "881903a5c7f6df847531cdb98a4d7ffffaf2431d",
      "parents": [
        "62bb0cdc746e850c2d2d5da4f6c7a38f8782f4bc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 12 19:56:23 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 13 11:00:17 2011 -0700"
      },
      "message": "Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\n\nChange-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb\nrelated-to-bug: 5300618\n"
    },
    {
      "commit": "fa6dfdcfd741980ba1c1d1971b69fc6f8a34dfeb",
      "tree": "060523120efd3b3a080a94d0e86e52a57fe56d9b",
      "parents": [
        "62bb0cdc746e850c2d2d5da4f6c7a38f8782f4bc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 08:28:38 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 09:48:22 2011 -0700"
      },
      "message": "Don\u0027t post position updates too frequently\n\ni.e. don\u0027t hog my message queue.\n\nrelated-to-bug: 5284760\nChange-Id: I8e2d36a11dbee1567b18ed13dc5257a65c6eeda7\n"
    },
    {
      "commit": "7fc8f515a0add6837d525b4f2b4baa7ebe37fc7f",
      "tree": "b09c5ca9c0c2206af0eb272cac8f5dea8871c5fd",
      "parents": [
        "d30b89799c010ad91b9d98fb0c3ddb45b152f71e",
        "d41108c91fcf2f7a47b733c61ee5983cf22bd6a8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:21:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 12 14:21:42 2011 -0700"
      },
      "message": "Merge \"Turn an another assertion into a runtime error in ACodec\u0027s implementation\""
    },
    {
      "commit": "d41108c91fcf2f7a47b733c61ee5983cf22bd6a8",
      "tree": "dd9c47c44c3fbabd34dd29f5711f3ba1e7b2e49c",
      "parents": [
        "92bda84b11ba2aec98036313784444d9f5aebc9a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "message": "Turn an another assertion into a runtime error in ACodec\u0027s implementation\n\nChange-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd\nrelated-to-bug: 5284760\n"
    },
    {
      "commit": "f8c84b343488c29cc6ef224a7df751c94955e029",
      "tree": "9f04d1a407c1795822c75b3ef9a3abffc3f66928",
      "parents": [
        "92bda84b11ba2aec98036313784444d9f5aebc9a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 13:49:00 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 13:49:00 2011 -0700"
      },
      "message": "Increase the avi extractor\u0027s confidence slighly over mp3\u0027s\n\nSo that we don\u0027t accidentally identify a .avi file containing an mp3 track as\nan mp3 file.\n\nChange-Id: I73495b80cbb5bc1007bf810f2db453c9f175171b\nrelated-to-bug: 5288189\n"
    },
    {
      "commit": "d8f7c2c2dcc9548bc8808e648904c918ecd1d1ba",
      "tree": "c75440aabc86cb26997ac89b9a0bacf2d847af5a",
      "parents": [
        "a3809b344c9f528c5c510dfc48ed9049a17cb64b"
      ],
      "author": {
        "name": "Devaraj Rangasamy",
        "email": "dev@ti.com",
        "time": "Thu Sep 08 17:53:33 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 17:22:24 2011 -0700"
      },
      "message": "MTS Recorder Test: Use VideoFrameRate from Device Camcorder Profile\n\nMTS tests have hardcoded video framerates.\nMTS can query the video framerate supported by device via\nCamcorder profiles and use.\n\nChange-Id: I61666df6af58eaba46f7366521cc114184cb4ac5\nSigned-off-by: Devaraj Rangasamy \u003cdev@ti.com\u003e\n"
    },
    {
      "commit": "4cf9a3b857e78d7a9a71b104d8531aa18a150978",
      "tree": "7109b7c590ad1175770da26507cea19c60a61ffe",
      "parents": [
        "973f553be4aabf9656d6c1596b47767896677b0a",
        "b05a600352dcd4517c62c7503edf9eea22359280"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 15:50:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 15:50:39 2011 -0700"
      },
      "message": "Merge \"Fix another hardcoded frame rate in the media framework test\""
    },
    {
      "commit": "973f553be4aabf9656d6c1596b47767896677b0a",
      "tree": "0a41919bfce6237a4bb6332e6c463d630c34e738",
      "parents": [
        "7b8d7cb59cfdc492df920b0c48960a691994f598"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Sep 07 23:55:27 2011 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Sep 09 15:36:42 2011 -0700"
      },
      "message": "Make MediaScanner skip certain directories\n\nThe list of directories to skip are configurable via setprop.\nThe main motivation is that some test data folder takes long time\nto scan, and media scanner may compete for CPU time against perf\ntests therefore skewing the results.\n\nBug: 5263115\nChange-Id: I568213e2a4babf6033021c1d336ef0347c0e3315\n"
    },
    {
      "commit": "6f84da50ad9a9fa044543fa5dde197f609b01a8f",
      "tree": "3abe55cdf216e44bb9e584489559bc0639ace90a",
      "parents": [
        "e123612c08719352d3313005d0b792f17bbe090d",
        "4a0c91fc50964d9836728c5e48887bfc0c09a841"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 14:56:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 14:56:30 2011 -0700"
      },
      "message": "Merge \"Don\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\""
    },
    {
      "commit": "4a0c91fc50964d9836728c5e48887bfc0c09a841",
      "tree": "cbef7116035502e3676a4021b875a202e0a4e6fb",
      "parents": [
        "ccccb505abb1fb16d349e80d03edfde3c6775202"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 13:19:59 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 13:27:27 2011 -0700"
      },
      "message": "Don\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\n\nChange-Id: Iee9b18449bce9d7565ab5cc7f9e999484051196c\nrelated-to-bug: 5233843\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": "a18886ca08b32c5c949a285f27c8713e05e3dd11",
      "tree": "b3514ed33f823248af654dda0d524761f48cfb05",
      "parents": [
        "2295cc77c72d451e7a1c9ec48f120a8e73651b6d"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Sep 09 13:58:59 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Sep 09 13:58:59 2011 +0800"
      },
      "message": "Fix 5278371: OOM in MediaItemThumbnailTest\n\nBecause we request 400x240 thumbnails. 100 thumbnails needs 38M,\nwhich is too much. Change it to 70 now.\n\nAlso handle the case if the thumbnail callback throws exception.\n\nChange-Id: Iac4ee72f308b7c7a6ae860983197601cf89bee8f\n"
    },
    {
      "commit": "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": "11e2e5dece7a92f50b73240dc0300343a7b495bf",
      "tree": "ef0ef9b3c080d303c781099f7e5c1a044758cc06",
      "parents": [
        "4ef6d2ea215169c2c0cbab14228e5073e986392b",
        "f1d360ac86ec1f59eab0d01c606099278aa3ca1e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 08 16:07:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 16:07:40 2011 -0700"
      },
      "message": "Merge \"AudioTrack: extend callback thread sleep time\""
    },
    {
      "commit": "5303254cc944449d08c8489caf288516445f7af0",
      "tree": "881cd970e6d9d3bac23851220447b20953a722ba",
      "parents": [
        "53df60b81eac34445389ae05a6b664077d27cbd7",
        "e46fcef2785171597ee3ec75af33bbad60720280"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 08 15:33:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 15:33:31 2011 -0700"
      },
      "message": "Merge \"Always set geometry in queuebuffer\""
    },
    {
      "commit": "f1d360ac86ec1f59eab0d01c606099278aa3ca1e",
      "tree": "bccc640b88a426dead73f5d0a1766d0a1d1e9591",
      "parents": [
        "6a39c0201ca72d6ccbc63e5fec75949a08fcb043"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 07 11:13:23 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 08 15:18:37 2011 -0700"
      },
      "message": "AudioTrack: extend callback thread sleep time\n\nDo not force wake up the AudioTrack thread every 10ms if no timed\nevents (loop, markers..) have to be processed.\nThis will help reduce power consumption.\n\nChange-Id: Icb425b13800690008dd07c27ffac84739e3dbba3\n"
    },
    {
      "commit": "e46fcef2785171597ee3ec75af33bbad60720280",
      "tree": "4fade69f93c063ca52ed6ea7eb97050c1b17e578",
      "parents": [
        "ec64655f7993fefd47e8ec00ea77e3981fd1f9e4"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 08 14:15:00 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 08 14:16:55 2011 -0700"
      },
      "message": "Always set geometry in queuebuffer\n\nThe queuebuffer could return early due to timestamp issues. Need to set\nthe geometry even in that case.\n\nChange-Id: I04d7cd1df3996d640c269285398c0042923ba920\n"
    },
    {
      "commit": "84584471624775a849c880a50efc351e47c4a4af",
      "tree": "d4eeedc8a69b0afba10286d9a62be38b941a953f",
      "parents": [
        "70ad1c378bce097f9f2dbb79cb8d5d225d4c14d7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 11:33:47 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 11:33:47 2011 -0700"
      },
      "message": "Audio player must not be used as a timesource before it\u0027s started.\n\nOtherwise it\u0027ll trigger a division-by-zero exception since the audio sample rate\nis as yet unknown.\n\nChange-Id: I0793aa7c1c348ffa2611272bb646eff6ecf6ff53\nrelated-to-bug: 5242451\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": "b05a600352dcd4517c62c7503edf9eea22359280",
      "tree": "535a3ccef3630d00245ea6879441dcbed5b083a1",
      "parents": [
        "ccccb505abb1fb16d349e80d03edfde3c6775202"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 07 19:31:24 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 07 19:31:24 2011 -0700"
      },
      "message": "Fix another hardcoded frame rate in the media framework test\n\nChange-Id: I7d7f9d0812a0228dbf924084a32dbede0338b421\nrelated-to-bug: 5264298\n"
    },
    {
      "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": "65e7815dd49a836e410bfa2817d9d48576547a9a",
      "tree": "e0bd4f969fdbcfb7ded531b4ebe003bf251a68bf",
      "parents": [
        "4147abcd84f7dab2bf6f7a644b86c732d8e16cdb",
        "27f4bbb676d6486bb41ec8677b8c00708994b704"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:56:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 14:56:47 2011 -0700"
      },
      "message": "Merge \"Bug 5270905 fix MediaPlayer with IStreamSource\""
    },
    {
      "commit": "27f4bbb676d6486bb41ec8677b8c00708994b704",
      "tree": "1160b3fc6c84275548f938dcd6f466077f5e941d",
      "parents": [
        "ddca4708b6955c04954b9850e2fb92293ff95ebe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:40:23 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:42:37 2011 -0700"
      },
      "message": "Bug 5270905 fix MediaPlayer with IStreamSource\n\nChange-Id: Ia8a6381a6c88b4a0a1378aab03f5275f0fa1125a\n"
    },
    {
      "commit": "166c1b2e7a1a48a39ecd2400b94f9f21c9868810",
      "tree": "806eb12ca871e2b12a86c9343f24b3fcaac6d0f9",
      "parents": [
        "ec64655f7993fefd47e8ec00ea77e3981fd1f9e4",
        "3814ff4b17165e86d1893fde53025c69583599b4"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Sep 07 14:18:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 14:18:41 2011 -0700"
      },
      "message": "Merge \"Fixing bug in SurfaceMediaSource_test\""
    },
    {
      "commit": "089d3e3f14101140ff8baa3cc44f3dd8586ad285",
      "tree": "40522e2274a9aedff1b301ebe162c3dea9b5bd0c",
      "parents": [
        "01dba603d7c74756126297b843aca0befed8810c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 11:05:43 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 11:05:43 2011 -0700"
      },
      "message": "Apparently keyframe status in audio tracks of .webm/.mkv files is unreliable\n\nfortunately in all our supported audio encodings we can treat every frame as\na keyframe.\n\nChange-Id: I32f21d0077bbae7ef9efe725dd351baf531179e2\nrelated-to-bug: 5263837\n"
    },
    {
      "commit": "01dba603d7c74756126297b843aca0befed8810c",
      "tree": "22c818ac3287d4c0dc118a74459da307278e8a38",
      "parents": [
        "cbdc9d2e9cba355de4f57eaa926a2d51aa343ac8",
        "612e16191a31758627dd039dec22f0b122c33ce6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 09:05:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 09:05:04 2011 -0700"
      },
      "message": "Merge \"Stop metadata retriever from dereferencing a NULL pointer if\""
    },
    {
      "commit": "4880a736dc518b60a199ac1d2a003dc6148991ea",
      "tree": "7181c4d86cff8bf51ed5b1e65d887e00c02c3e9d",
      "parents": [
        "ddca4708b6955c04954b9850e2fb92293ff95ebe",
        "671db6f3ba1fdb3c907e0735fe6d0d284f5c34de"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 07 07:55:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 07:55:00 2011 -0700"
      },
      "message": "Merge \"Fix startBluetoothSco race\""
    }
  ],
  "next": "47a52158d2df0eb818bf7d589d8ff9fd5c0daaa3"
}
