)]}'
{
  "log": [
    {
      "commit": "189660fdc736b495fee20d4a83a7d8a3573e4309",
      "tree": "2975330d4f66776c2d7910a8416372791ba8ee9a",
      "parents": [
        "aa47eb2e0560ade9e0d899e72d733bb6764973b6",
        "6cb3f224d7e2280f8834d361bba1a72682aaaad1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 24 15:49:25 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 24 15:49:25 2013 +0000"
      },
      "message": "Merge \"Fix overflow of rand in ARTPConnection\""
    },
    {
      "commit": "aa47eb2e0560ade9e0d899e72d733bb6764973b6",
      "tree": "6279ecc72189f855a6e247402e668af1b6c0a59f",
      "parents": [
        "6db76e8b8f561355198fc91dd95498a59ad38a20",
        "dcfefde6be8f9f33bbd2b3546f3be946d958d677"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 24 15:46:11 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 24 15:46:13 2013 +0000"
      },
      "message": "Merge \"fix a race condition of MediaPlayerServce::Client::mClient\""
    },
    {
      "commit": "6cb3f224d7e2280f8834d361bba1a72682aaaad1",
      "tree": "9c8911ba250bc2007b816e9d0831a9cf5390ea9d",
      "parents": [
        "6db76e8b8f561355198fc91dd95498a59ad38a20"
      ],
      "author": {
        "name": "Yajun Zeng",
        "email": "beanz@marvell.com",
        "time": "Wed Apr 24 10:38:27 2013 +0800"
      },
      "committer": {
        "name": "Yajun Zeng",
        "email": "beanz@marvell.com",
        "time": "Wed Apr 24 10:38:27 2013 +0800"
      },
      "message": "Fix overflow of rand in ARTPConnection\n\nwithout this fix, (rand()*1000)/RAND_MAX is mainly 0.\n\nChange-Id: I48ae940a7b6974b197d81732774c9dcea107bcf1\nSigned-off-by: Yajun Zeng \u003cbeanz@marvell.com\u003e\n"
    },
    {
      "commit": "6db76e8b8f561355198fc91dd95498a59ad38a20",
      "tree": "d9e41d3eb4f1284e157f1185b9eb725d7cdeaae5",
      "parents": [
        "ef46e50c29935c16798b172acfb04720ff429690",
        "b483a82f02e86710fade1f581e9255f8f4afb246"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 22 21:11:22 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 22 21:11:23 2013 +0000"
      },
      "message": "Merge \"Fixed the wrong timestamps issue about camera recording\""
    },
    {
      "commit": "b483a82f02e86710fade1f581e9255f8f4afb246",
      "tree": "d9e41d3eb4f1284e157f1185b9eb725d7cdeaae5",
      "parents": [
        "ef46e50c29935c16798b172acfb04720ff429690"
      ],
      "author": {
        "name": "Jun Tian",
        "email": "jun.j.tian@intel.com",
        "time": "Mon Apr 22 13:08:21 2013 +0800"
      },
      "committer": {
        "name": "Jun Tian",
        "email": "jun.j.tian@intel.com",
        "time": "Mon Apr 22 13:25:43 2013 +0800"
      },
      "message": "Fixed the wrong timestamps issue about camera recording\n\nOn emulator, the camera video recording crashes randomly.\nIt\u0027s caused by wrong timestamp when encoding the video frame.\nThe element of the vector is erased before accessing it.\nTherefore, when reading the timestamp from the element,\nthe memory of the element has been changed.\n\nChange-Id: I9750417fbb9dc4697ccae1e78e286b23925d3764\n\nSigned-off-by: Panfeng Chang \u003cpanfengx.chang@intel.com\u003e\nSigned-off-by: Jun Tian \u003cjun.j.tian@intel.com\u003e\n"
    },
    {
      "commit": "ef46e50c29935c16798b172acfb04720ff429690",
      "tree": "4b7aa22e9c773350d1f85074aa30b878b631ac6a",
      "parents": [
        "8f418ef50de8aaf784a932ab4a55bef5df1c4f4d",
        "d32b7b479fad359d7fe779a9c5b4c090cdc14b56"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 15 15:33:00 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 15 15:33:01 2013 +0000"
      },
      "message": "Merge \"Fix for crash if no content in DESCRIBE response\""
    },
    {
      "commit": "8f418ef50de8aaf784a932ab4a55bef5df1c4f4d",
      "tree": "281f28d30061d682158ef08185aff3e6ecad924a",
      "parents": [
        "1a76084dd8918533b00d76fbef15888742f752df",
        "7c25b029dc9b195fe0c57f3d26ce58f2f83d6867"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Mar 15 15:11:27 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 15 15:11:28 2013 +0000"
      },
      "message": "Merge \"Prevent invalid frame durations\""
    },
    {
      "commit": "7c25b029dc9b195fe0c57f3d26ce58f2f83d6867",
      "tree": "281f28d30061d682158ef08185aff3e6ecad924a",
      "parents": [
        "1a76084dd8918533b00d76fbef15888742f752df"
      ],
      "author": {
        "name": "Ola Andersson",
        "email": "ola3.andersson@sonymobile.com",
        "time": "Wed Dec 05 13:07:58 2012 +0100"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Tue Mar 12 20:16:35 2013 +0900"
      },
      "message": "Prevent invalid frame durations\n\nPrevent frame duration from being negative when\nexporting movie studio project\n\nChange-Id: I459fb243650c777c2b59d1094acc88c3a944bd81\n"
    },
    {
      "commit": "d32b7b479fad359d7fe779a9c5b4c090cdc14b56",
      "tree": "58977eaeffaccd3630339af19d636da08580eed8",
      "parents": [
        "1a76084dd8918533b00d76fbef15888742f752df"
      ],
      "author": {
        "name": "Xuefei Chen",
        "email": "xuefei.chen@sonymobile.com",
        "time": "Mon Jan 07 16:43:13 2013 +0800"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Tue Mar 12 19:35:23 2013 +0900"
      },
      "message": "Fix for crash if no content in DESCRIBE response\n\nIf DESCRIBE response is received with status 200 but no content,\nMyHandler will still set content data for session description\nparsing. This will cause NULL Pointer crash.\nThis fix checks whether DESCRIBE response has content before\nparsing session description.\n\nChange-Id: I114ae6fd54ce804e61718f62618ca9008425a433\n"
    },
    {
      "commit": "1a76084dd8918533b00d76fbef15888742f752df",
      "tree": "31241ba242b5cf8c9c93a6ef1ee2eb1ca19cd101",
      "parents": [
        "d166e4c1b2463a1aa78ca9225a36aa956427446b",
        "d72b2aa86e19644bbaa72039b3a3044390ba0ecd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 01 19:06:22 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 01 19:06:23 2013 +0000"
      },
      "message": "Merge \"Avoid invalid memory access when using extractMetadata()\""
    },
    {
      "commit": "d72b2aa86e19644bbaa72039b3a3044390ba0ecd",
      "tree": "b0906031536d69a4a84b667e5f82b1aa5de60a78",
      "parents": [
        "2cd9cc25f07a9270a932fdf9c7b52c398e07bce5"
      ],
      "author": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Fri Feb 08 16:26:39 2013 +0900"
      },
      "committer": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Thu Feb 28 16:42:42 2013 +0900"
      },
      "message": "Avoid invalid memory access when using extractMetadata()\n\nBpMediaMetadataRetriever::extractMetadata() returns a string\nwhich is returned by readCString() function of the reply parcel object.\nHowever, the parcel object is destroyed at the end of the\nextractMetadata() function, and so the returned pointer is invalid.\nThis patch fixes this problem by storing the metadata string value.\n\nChange-Id: I2a2ccba78246175b2845a237679d6cebe881e83b\nSigned-off-by: Sangkyu Lee \u003csk82.lee@lge.com\u003e\n"
    },
    {
      "commit": "d166e4c1b2463a1aa78ca9225a36aa956427446b",
      "tree": "2020e9b5a3aca0085006b587a72607e1a7634717",
      "parents": [
        "25e964bc9cfbb8ed315f75ac1e05cbc3c6cd9fc2",
        "d13e6d06ecbbad0fcd7681f9d3c3b076016339aa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 27 20:13:24 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 20:13:25 2013 +0000"
      },
      "message": "Merge \"SoftAMR: Signal the right frame format\""
    },
    {
      "commit": "25e964bc9cfbb8ed315f75ac1e05cbc3c6cd9fc2",
      "tree": "6f163708d5b1a1e641fbfdb9b2298c30ff99c774",
      "parents": [
        "6ee1b867bb316fa3eda3b0c9f907d473031659d9",
        "323093339da7774935bd4f3a8af5057e4411f30a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 27 20:12:07 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 20:12:07 2013 +0000"
      },
      "message": "Merge \"SoftVorbis: Set the right encoding in the port definition\""
    },
    {
      "commit": "6ee1b867bb316fa3eda3b0c9f907d473031659d9",
      "tree": "ec59f2534cb903f7fb91009effb7b68c554efa97",
      "parents": [
        "9a6c614a68b07209919aaea3d4a8b5403379fb35",
        "89b28bfea641983a908b45a15e69a6c62add847a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 27 16:53:21 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 16:53:21 2013 +0000"
      },
      "message": "Merge \"MPEG4Writer: Write a zero-length compressor string\""
    },
    {
      "commit": "d13e6d06ecbbad0fcd7681f9d3c3b076016339aa",
      "tree": "a5c638186a606ed74ec62e10ac64ab9bb5083bca",
      "parents": [
        "9a6c614a68b07209919aaea3d4a8b5403379fb35"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Sun Feb 17 20:36:45 2013 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Sun Feb 17 20:39:14 2013 +0200"
      },
      "message": "SoftAMR: Signal the right frame format\n\nThe correct enum for the format used is OMX_AUDIO_AMRFrameFormatFSF,\nwhich is the same as is used in amrnb/enc/SoftAMRNBEncoder.cpp,\namrwbenc/SoftAMRWBEncoder.cpp and in OMXCodec and ACodec.\n\nThe OMX_AUDIO_AMRFrameFormatConformance enum refers to an odd file\nformat only used for conformance tests, not used in the wild.\n\nChange-Id: Idc395fc1d4969e33453522d6ec6526876438c526\n"
    },
    {
      "commit": "323093339da7774935bd4f3a8af5057e4411f30a",
      "tree": "01641ae1606c8c36607d9246085c51cf3d216ff5",
      "parents": [
        "2cd9cc25f07a9270a932fdf9c7b52c398e07bce5"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Jan 30 21:12:58 2013 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Thu Jan 31 11:27:40 2013 +0200"
      },
      "message": "SoftVorbis: Set the right encoding in the port definition\n\nPreviously, it set the encoding type to AAC, which is just a typo.\n\nChange-Id: I2dcae1f579e9feb0b35b6f5d334028c534275042\n"
    },
    {
      "commit": "89b28bfea641983a908b45a15e69a6c62add847a",
      "tree": "ea05257bdb2bb61e291b376ebce5fe97af74c069",
      "parents": [
        "2cd9cc25f07a9270a932fdf9c7b52c398e07bce5"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Jan 30 18:45:30 2013 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Thu Jan 31 11:22:35 2013 +0200"
      },
      "message": "MPEG4Writer: Write a zero-length compressor string\n\nThe first byte is the number of bytes in the string to display,\nthe rest is the actual string (see ISO/IEC 14496-12:2008 page 29,\ncompressorname in VisualSampleEntry) to display. Currently, all 31\nspace characters are displayed in certain players (such as Apple\nQuickTime Player) instead of the plain codec name (e.g. \"H.264\").\nBy writing the string length properly, the actual content of the\nremaining 31 bytes is ignored instead of displayed.\n\nChange-Id: I7f93a8966d74a4e86abc46c3dcb70f71780d9cd6\n"
    },
    {
      "commit": "9a6c614a68b07209919aaea3d4a8b5403379fb35",
      "tree": "9ff6436bf6a8a286be6869128ce62490e6f1946a",
      "parents": [
        "da76dc4df30dff9139832d2964289e810fe4c24c",
        "64143ff27c2ffd8bd91ee9451305704e6b54ac6e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jan 30 18:57:21 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 30 18:57:21 2013 -0800"
      },
      "message": "am 9b7e8fc7: Camera2: Fix JPEG quality metadata type, new warnings.: DO NOT MERGE\n\n# Via Igor Murashkin\n* commit \u00279b7e8fc7c564b24a1c099dddae4e9c1126bd7c4e\u0027:\n  Camera2: Fix JPEG quality metadata type, new warnings.: DO NOT MERGE\n"
    },
    {
      "commit": "da76dc4df30dff9139832d2964289e810fe4c24c",
      "tree": "3cb01eea2f9ed88793343ca7df750370e4960c9c",
      "parents": [
        "7f73aa0a0a043764b3ed387765ae794aecae9ab8",
        "950fcbe17288bfb3d9bb89f8311cc6bead276499"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jan 30 18:57:20 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 30 18:57:20 2013 -0800"
      },
      "message": "am abeee0ec: Camera2: fix metadata symbols: DO NOT MERGE\n\n# Via Igor Murashkin\n* commit \u0027abeee0ec92b5c77147036bf346de9309092a5ca1\u0027:\n  Camera2: fix metadata symbols: DO NOT MERGE\n"
    },
    {
      "commit": "64143ff27c2ffd8bd91ee9451305704e6b54ac6e",
      "tree": "e9bdb0a8eef7eff82045b95e8cfcb26d3807ef6b",
      "parents": [
        "950fcbe17288bfb3d9bb89f8311cc6bead276499"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jan 04 12:05:56 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jan 30 17:06:51 2013 -0800"
      },
      "message": "Camera2: Fix JPEG quality metadata type, new warnings.: DO NOT MERGE\n\n- JPEG quality tag is now a uint8_t, not an int. Update parameter code\naccordingly.\n\n- Fix new warnings about narrowing conversions.\n\nBug: 7944244\n\nChange-Id: Ie081c57c9e9323148614b170b132ffb98c0a0b9f\n"
    },
    {
      "commit": "950fcbe17288bfb3d9bb89f8311cc6bead276499",
      "tree": "ddee5c687b34c2fbc244e2ae2204207908bc5492",
      "parents": [
        "ef5abc369823f634c460c8f24d3cbf310542fe3b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Nov 27 16:25:46 2012 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jan 30 16:22:45 2013 -0800"
      },
      "message": "Camera2: fix metadata symbols: DO NOT MERGE\n\nChange-Id: I59e457824782de26b7b489cd92eb33d48e6ee2d9\n"
    },
    {
      "commit": "7f73aa0a0a043764b3ed387765ae794aecae9ab8",
      "tree": "f36d0b7aaf4f921c8453c95eba72ffc088394ded",
      "parents": [
        "035f6c9c06791b75e6162433c6b2106d8f1851fb",
        "2cd9cc25f07a9270a932fdf9c7b52c398e07bce5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 21 14:42:34 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 21 14:42:34 2012 -0800"
      },
      "message": "am 12834fe2: Merge \"libvideoeditor: fix code bugs when enabling all-level debugging macros\"\n\n* commit \u002712834fe289e8173e94f31603fa6d313abe56ad70\u0027:\n  libvideoeditor: fix code bugs when enabling all-level debugging macros\n"
    },
    {
      "commit": "2cd9cc25f07a9270a932fdf9c7b52c398e07bce5",
      "tree": "80a9f81946ac2f413920e8400cb29c48c0a19f40",
      "parents": [
        "cc4e6091bd24f84e69d4baf4fce6ceae67676ee5",
        "437ced8a14944bf5450df50c5e7e7a6dfe20ea40"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 21 14:09:14 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 21 14:09:14 2012 -0800"
      },
      "message": "Merge \"libvideoeditor: fix code bugs when enabling all-level debugging macros\""
    },
    {
      "commit": "035f6c9c06791b75e6162433c6b2106d8f1851fb",
      "tree": "2cc56f06a5c0011e0299aefd6a7f4d84bfba88b8",
      "parents": [
        "0b39e8c4dd563b59af4c78c86f735c8d9ef5e481",
        "cc4e6091bd24f84e69d4baf4fce6ceae67676ee5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 21 10:05:52 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 21 10:05:52 2012 -0800"
      },
      "message": "am b54cedab: Merge \"Use default values when MPEG4 audio config parsing fails.\"\n\n* commit \u0027b54cedabdf0261211241e2f3af09c75cffd911ed\u0027:\n  Use default values when MPEG4 audio config parsing fails.\n"
    },
    {
      "commit": "cc4e6091bd24f84e69d4baf4fce6ceae67676ee5",
      "tree": "6277d0e5e817354203dd1514ab7903a791f782df",
      "parents": [
        "93c4d74d3d6bd953ff711f865bfc5fc92b2888cb",
        "a45a600d69a5d8ab99eeb7e0dfa58c3cb99a2e61"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 20 18:25:12 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 20 18:25:12 2012 -0800"
      },
      "message": "Merge \"Use default values when MPEG4 audio config parsing fails.\""
    },
    {
      "commit": "0b39e8c4dd563b59af4c78c86f735c8d9ef5e481",
      "tree": "1e8928dac45ec681a4b440d45a84598064d08647",
      "parents": [
        "bc9f3fc7999a3222c559bc077fde1d5f5fdbc535",
        "93c4d74d3d6bd953ff711f865bfc5fc92b2888cb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 20 14:08:05 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 20 14:08:05 2012 -0800"
      },
      "message": "am 2a55b596: Merge \"libvideoeditor: fix cannot show some thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video\"\n\n* commit \u00272a55b5964c6ae167cc1bc57eca5ca7a1c4aa452c\u0027:\n  libvideoeditor: fix cannot show some thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video\n"
    },
    {
      "commit": "93c4d74d3d6bd953ff711f865bfc5fc92b2888cb",
      "tree": "ce5e7262427a900b756fea08cb2b4c65db069681",
      "parents": [
        "9e69d42d88c908b63b45f3a18da337f89f0dd734",
        "5350066763a35bbaf5b5f15f3f1680ec73852961"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 20 13:15:28 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 20 13:15:28 2012 -0800"
      },
      "message": "Merge \"libvideoeditor: fix cannot show some thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video\""
    },
    {
      "commit": "bc9f3fc7999a3222c559bc077fde1d5f5fdbc535",
      "tree": "21e3a91244a094646e6dd8537abd0fa96845accc",
      "parents": [
        "e9a7857dc045a4465c9e59ea8df67cdd707345b7",
        "9e69d42d88c908b63b45f3a18da337f89f0dd734"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Dec 20 11:03:48 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 20 11:03:48 2012 -0800"
      },
      "message": "am df9cce64: Merge \"Allow multichannel FLAC files\"\n\n* commit \u0027df9cce649d9ac1f4446f613c54191e7c4d646f07\u0027:\n  Allow multichannel FLAC files\n"
    },
    {
      "commit": "9e69d42d88c908b63b45f3a18da337f89f0dd734",
      "tree": "5415cdb4dcb8058d4e9fb9f9fd6e6a5fad650669",
      "parents": [
        "43c32aaaf222c13357cf8fccfa6ffc34c5872947",
        "91de11b05f1bbde310dcc2ab22770970721e79a5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Dec 20 07:30:41 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 20 07:30:42 2012 -0800"
      },
      "message": "Merge \"Allow multichannel FLAC files\""
    },
    {
      "commit": "e9a7857dc045a4465c9e59ea8df67cdd707345b7",
      "tree": "31a5f3cc1e5af890d48ec0abc3fcbd18564c4c8f",
      "parents": [
        "db09629a6dcedf6c9e301a93a8da9524b40c77a0",
        "43c32aaaf222c13357cf8fccfa6ffc34c5872947"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Dec 17 13:18:08 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 17 13:18:08 2012 -0800"
      },
      "message": "am f38259cf: Merge \"Fix bug in WAVExtractor for 24-bit per sample wav\"\n\n* commit \u0027f38259cfe5566914a49f5b0f8b11aa6a951d667a\u0027:\n  Fix bug in WAVExtractor for 24-bit per sample wav\n"
    },
    {
      "commit": "43c32aaaf222c13357cf8fccfa6ffc34c5872947",
      "tree": "4d423eff2848657acc15d72b4e36aaa01378c5d9",
      "parents": [
        "65e8ca7abe6b5a69a61112fc694c6babdc52220f",
        "51634104ae2e91353905e53cdcb483a86d408ca7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Dec 17 12:29:06 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 17 12:29:06 2012 -0800"
      },
      "message": "Merge \"Fix bug in WAVExtractor for 24-bit per sample wav\""
    },
    {
      "commit": "db09629a6dcedf6c9e301a93a8da9524b40c77a0",
      "tree": "5f7ca6abbb03070f51ae5bfc8967d1f393936553",
      "parents": [
        "da99f77816e04f7ea3dafcb371e84d070f5b312a",
        "65e8ca7abe6b5a69a61112fc694c6babdc52220f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Dec 14 15:25:22 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 14 15:25:22 2012 -0800"
      },
      "message": "am 0cd75629: Merge \"Match new paths and organization in external/libvpx\"\n\n* commit \u00270cd75629a8f7a6bd47b2abc6dd8d9f66e70d76a4\u0027:\n  Match new paths and organization in external/libvpx\n"
    },
    {
      "commit": "da99f77816e04f7ea3dafcb371e84d070f5b312a",
      "tree": "730ff1f334d635641c9d1e59f3e116c46261c202",
      "parents": [
        "a4f324673f615d604362d86e1878e85c126847af",
        "16ffd2e30bedbec15b9015f1935b9761279a98be"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 15:25:21 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 14 15:25:21 2012 -0800"
      },
      "message": "am 409542cd: Merge \"FileSource: FILE is not closed\"\n\n* commit \u0027409542cdaf72d8983043f2746d9d916ee1566a80\u0027:\n  FileSource: FILE is not closed\n"
    },
    {
      "commit": "65e8ca7abe6b5a69a61112fc694c6babdc52220f",
      "tree": "b0d52a753de6c7f7dd985f6aab493fa1af3c1ab3",
      "parents": [
        "16ffd2e30bedbec15b9015f1935b9761279a98be",
        "e81a9610343425e5bb76cdb297065426c6e75ef0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Dec 14 12:48:41 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 14 12:48:42 2012 -0800"
      },
      "message": "Merge \"Match new paths and organization in external/libvpx\""
    },
    {
      "commit": "16ffd2e30bedbec15b9015f1935b9761279a98be",
      "tree": "6c1cd1bdef55df574d94b05dc68baf4fa28839bb",
      "parents": [
        "f4283b689abeac92399a26813ca12234050dcb2f",
        "e0d44a50c3ddc5b1bc1b8efb551176c084929342"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 12:05:02 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 14 12:05:02 2012 -0800"
      },
      "message": "Merge \"FileSource: FILE is not closed\""
    },
    {
      "commit": "e0d44a50c3ddc5b1bc1b8efb551176c084929342",
      "tree": "6c1cd1bdef55df574d94b05dc68baf4fa28839bb",
      "parents": [
        "f4283b689abeac92399a26813ca12234050dcb2f"
      ],
      "author": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Fri Dec 14 22:22:36 2012 +0900"
      },
      "committer": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Fri Dec 14 22:22:36 2012 +0900"
      },
      "message": "FileSource: FILE is not closed\n\nAdd destructor to call fclose.\n\nChange-Id: I765c56236f8df58af998439492b0b955ab57606f\n"
    },
    {
      "commit": "e81a9610343425e5bb76cdb297065426c6e75ef0",
      "tree": "cb79f369b569f24f14fd822c393f5650de146278",
      "parents": [
        "f4283b689abeac92399a26813ca12234050dcb2f"
      ],
      "author": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Mon Oct 29 16:48:23 2012 -0700"
      },
      "committer": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Wed Dec 12 16:07:07 2012 -0800"
      },
      "message": "Match new paths and organization in external/libvpx\n\nSee I2c0a87b0fc049e855e21f455b806287b578091de\n\nChange-Id: Iec8566bce0a4763a9a17b4a46f15aa39b5bcd141\n"
    },
    {
      "commit": "a4f324673f615d604362d86e1878e85c126847af",
      "tree": "41d0b30039b3048ff965e49e61b0b95c3ae6ab74",
      "parents": [
        "917279c99c7677a02a120909dc4f9092339f2827",
        "ef5abc369823f634c460c8f24d3cbf310542fe3b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 10 15:34:56 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 10 15:34:56 2012 -0800"
      },
      "message": "am f0ff908d: Logging to investigate a crash\n\n* commit \u0027f0ff908da019a44115109f1b4d1b6864b35a8a29\u0027:\n  Logging to investigate a crash\n"
    },
    {
      "commit": "ef5abc369823f634c460c8f24d3cbf310542fe3b",
      "tree": "429519b3bd4fbc7f47ee2be82f2778ef1545fbdd",
      "parents": [
        "7ecb63d26cc5a45e66248a7abb69f99a76114e07"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 07 14:13:35 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 07 16:19:09 2012 -0800"
      },
      "message": "Logging to investigate a crash\n\nBug: 6490974\nChange-Id: Ib926a9258bde4ee05ed42eea662dff68e426a997\n"
    },
    {
      "commit": "917279c99c7677a02a120909dc4f9092339f2827",
      "tree": "95584fc04375f5e6dd253945fca80e804ccee858",
      "parents": [
        "43309327a15490726618e24da5778457f6f19464",
        "f4283b689abeac92399a26813ca12234050dcb2f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 06 10:39:00 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 06 10:39:00 2012 -0800"
      },
      "message": "am 03425d9c: Merge \"Fix bad checks that causes crash when streaming H.263 content.\"\n\n* commit \u002703425d9cf7f22cf400c13cda60d3e91f0fd48d6e\u0027:\n  Fix bad checks that causes crash when streaming H.263 content.\n"
    },
    {
      "commit": "f4283b689abeac92399a26813ca12234050dcb2f",
      "tree": "c81ca7d7fd85d6dec18f212c2d41d92eb4b374b6",
      "parents": [
        "6020ef18b39c65516a381263837899232b87d774",
        "b90b748d7484f1d464cd9e15289d77b83beed10e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 05 08:58:56 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 05 08:58:56 2012 -0800"
      },
      "message": "Merge \"Fix bad checks that causes crash when streaming H.263 content.\""
    },
    {
      "commit": "43309327a15490726618e24da5778457f6f19464",
      "tree": "2f2b01259162237c2df754e4cd2e71fb55a8cd84",
      "parents": [
        "ae62b042f1da297377f40a6ad1bf22d69d348698",
        "6020ef18b39c65516a381263837899232b87d774"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 03 09:17:51 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 09:17:51 2012 -0800"
      },
      "message": "am f00d40c7: Merge \"Memory leak solved in MPEG4Extractor::parseChunk for cover art\"\n\n* commit \u0027f00d40c716fd4741fa56dd2b59813227658e50f2\u0027:\n  Memory leak solved in MPEG4Extractor::parseChunk for cover art\n"
    },
    {
      "commit": "6020ef18b39c65516a381263837899232b87d774",
      "tree": "04a3c05102496001511738ec0106142a12a17623",
      "parents": [
        "1348d011577a0b083526055686619e901d43e550",
        "2cac3fcde42af0f198144dc5f413dc9e6faae4cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 03 09:00:29 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 09:00:30 2012 -0800"
      },
      "message": "Merge \"Memory leak solved in MPEG4Extractor::parseChunk for cover art\""
    },
    {
      "commit": "b90b748d7484f1d464cd9e15289d77b83beed10e",
      "tree": "4a820515a821c1d7faddd67c1b64bb3035a90ee8",
      "parents": [
        "5676e25a9d99703a247cc03f3918f8ac2ddbb338"
      ],
      "author": {
        "name": "Roger1 Jonsson",
        "email": "roger1.jonsson@sonyericsson.com",
        "time": "Tue Dec 21 09:57:41 2010 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Mon Dec 03 08:13:09 2012 +0100"
      },
      "message": "Fix bad checks that causes crash when streaming H.263 content.\n\nRemove checks that causes crash for rtsp streamed h.263 content\nwith certain values in the RTP payload header:\nRemove zero check for the five reserved bits in the payload header.\nAccording to RFC 4629 these bits MUST be ignored by receivers.\nRemove zero-check for the VRC (Video Redundancy Coding) bit,\nskip packet instead.\nRemove zero-check for the PLEN bits (extra picture header),\nskip packet instead.\nRemove zero-check for the PEBIT bits (extra picture header),\nskip packet instead.\nRemove corresponding zero check for the four resreved bits in the\nAMR payload header. According to RFC 4867 these bits MUST be\nignored by receivers.\n\nChange-Id: I7fc21d69a19d23da24f9267623c338d415ef1387\n"
    },
    {
      "commit": "51634104ae2e91353905e53cdcb483a86d408ca7",
      "tree": "f34e2aa5bc55baefcc89e41baba3dd36212883db",
      "parents": [
        "5676e25a9d99703a247cc03f3918f8ac2ddbb338"
      ],
      "author": {
        "name": "cong.zhou",
        "email": "cong.zhou@lge.com",
        "time": "Wed Nov 28 15:52:28 2012 -0800"
      },
      "committer": {
        "name": "cong.zhou",
        "email": "cong.zhou@lge.com",
        "time": "Fri Nov 30 12:39:00 2012 -0800"
      },
      "message": "Fix bug in WAVExtractor for 24-bit per sample wav\n\nsupport stereo/multichannel 24-bit format\nkMaxFrameSize is fixed to 32768. When converting 24-bit to 16-bit,\nnumber of samlpes is maxBytesToRead /3.\nIn this case, if the maxBytesToRead is not multiple of 3,\npcm data is messed when converting.\n\nBug:7630939\nChange-Id: I0ea1b53eb1272a8d83b63815fc0a05b73cef75f1\n"
    },
    {
      "commit": "ae62b042f1da297377f40a6ad1bf22d69d348698",
      "tree": "52aecd8ff9e09ba8b12ab0b9efe9895fc2f6a8f7",
      "parents": [
        "2a8104e243b246bf4b11b4ed51aac79c6fa08c8d",
        "1348d011577a0b083526055686619e901d43e550"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 30 08:50:09 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 08:50:09 2012 -0800"
      },
      "message": "am e7550eb2: Merge \"Initialize and copy mRotationAngle in VideoFrame\"\n\n* commit \u0027e7550eb2805d864253f88ea2ced57014d6140e55\u0027:\n  Initialize and copy mRotationAngle in VideoFrame\n"
    },
    {
      "commit": "1348d011577a0b083526055686619e901d43e550",
      "tree": "e1070fe75f4bfda407d4ea35846de86b19a7dc0f",
      "parents": [
        "5676e25a9d99703a247cc03f3918f8ac2ddbb338",
        "10db45259545989a80fae0cd6fd6a252f3c9924a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 30 08:30:40 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 08:30:40 2012 -0800"
      },
      "message": "Merge \"Initialize and copy mRotationAngle in VideoFrame\""
    },
    {
      "commit": "10db45259545989a80fae0cd6fd6a252f3c9924a",
      "tree": "3d1c76454c89ebfd2971c5d92d7b2a345a9b989f",
      "parents": [
        "0d55a6f35a2d37187139e50972f7b6c413b2371f"
      ],
      "author": {
        "name": "Christer Fletcher",
        "email": "christer.fletcher@sonyericsson.com",
        "time": "Thu Sep 13 10:28:39 2012 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Fri Nov 30 15:32:18 2012 +0100"
      },
      "message": "Initialize and copy mRotationAngle in VideoFrame\n\nWhen thumbnails were generated they could be generated at random\nangles as the mRotationAngle variable was not initialized to any\nvalue. This variable would have to be explicitly overwritten to not\ncause random rotation. Changed the implementation to initialize the\nvalue to 0 (no rotation). mRotationAngle was also missing in the\ncopy constructor.\n\nChange-Id: I67a5340fdd807c6ab3a3da5eecb09b5b9d5f4666\n"
    },
    {
      "commit": "2a8104e243b246bf4b11b4ed51aac79c6fa08c8d",
      "tree": "142d0e58c0d17ad13e42917c64fa834a866997e3",
      "parents": [
        "6db0ac98038b0b6b5e4a157263daccca802bcc2d",
        "7ecb63d26cc5a45e66248a7abb69f99a76114e07"
      ],
      "author": {
        "name": "Dylan Powers",
        "email": "dylan.kyle.powers@gmail.com",
        "time": "Thu Nov 29 15:20:31 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 15:20:31 2012 -0800"
      },
      "message": "am 47c1a5f7: Bug fix for the MediaPlayer::prepare() api.\n\n* commit \u002747c1a5f7c13d82aa8834fd4543bd1d713b97808e\u0027:\n  Bug fix for the MediaPlayer::prepare() api.\n"
    },
    {
      "commit": "7ecb63d26cc5a45e66248a7abb69f99a76114e07",
      "tree": "4598944cfb5114e8ffd2b58f884599a2641939a5",
      "parents": [
        "65ac1b1761c57124382355c21edbbdaaab2ee025"
      ],
      "author": {
        "name": "Dylan Powers",
        "email": "dylan.kyle.powers@gmail.com",
        "time": "Tue Nov 27 16:06:38 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 29 15:02:00 2012 -0800"
      },
      "message": "Bug fix for the MediaPlayer::prepare() api.\n\nFor an MP3 source, within the prepare command, ID3 tags are checked in search of\ngapless playback info. This causes problems for streamed sources. If ID3v2 tags\naren\u0027t present, then a check is done for ID3v1 tags. This results in a read\ncommand that asks the cache to jump to the end of the file, and subsequently\nmake an extra http call to request those bytes. For a streamed source, this\ncauses the file to not be downloaded automatically when MediaPlayer::prepare()\nis called, and causes stuttering and extra buffering time to be needed when\nstart() is finally called.\nThe solution is to ignore the ID3v1 tags as the gapless info would never exist\nthere, and only check for ID3v2 tags.\n\nCherrypicked from external contribution ffd6ffc5429c45577fd8e9f8fa90e79bb91b8a84\nb/7638165\n\nChange-Id: I7d1b94cffbfe7c38ca094834dedbc92a58855e20\n"
    },
    {
      "commit": "6db0ac98038b0b6b5e4a157263daccca802bcc2d",
      "tree": "142d0e58c0d17ad13e42917c64fa834a866997e3",
      "parents": [
        "53faa7ee457eb9b27be1fd814e42ffe43c8520a0",
        "65ac1b1761c57124382355c21edbbdaaab2ee025"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 29 14:28:51 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:28:51 2012 -0800"
      },
      "message": "am 5dea84c3: Fix log spam\n\n* commit \u00275dea84c39b5e790315b525009c635806e33c97e0\u0027:\n  Fix log spam\n"
    },
    {
      "commit": "53faa7ee457eb9b27be1fd814e42ffe43c8520a0",
      "tree": "121339964fd8d4cb89e4d0ba0fafc801972f1290",
      "parents": [
        "6b4f9facb1d0caf06d511bd1d5a020c6af793c2b",
        "471dd1323f832a2b7daf42f7e75d2b4471dfe112"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 14:27:59 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:27:59 2012 -0800"
      },
      "message": "am b64def9a: Merge \"[wfd] Support a low(er) power state by triggering PAUSE/RESUME.\" into jb-mr1.1-dev\n\n* commit \u0027b64def9a555bfbf533a2da41ba0189b9842a76fb\u0027:\n  [wfd] Support a low(er) power state by triggering PAUSE/RESUME.\n"
    },
    {
      "commit": "6b4f9facb1d0caf06d511bd1d5a020c6af793c2b",
      "tree": "7c4c60432cc8a30be889be1661f75ef6594e6c8d",
      "parents": [
        "06d739cfc61e45d9aaa296284d2628773bcfa9ca",
        "2e6255f1c1fa4f8bc68da9f050755b86e6fa8d7e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 14:27:53 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:27:53 2012 -0800"
      },
      "message": "am e5aed03d: Enable retransmission of UDP packets in case we want to use it\n\n* commit \u0027e5aed03d30ea0ce49728873c5b74f89ba05a9541\u0027:\n  Enable retransmission of UDP packets in case we want to use it\n"
    },
    {
      "commit": "06d739cfc61e45d9aaa296284d2628773bcfa9ca",
      "tree": "bdf013ab282fe6b16771446b428c3c307c00ba8e",
      "parents": [
        "cb9d270eecb7108e19323f522c5e82dcc80a5f32",
        "7a7ea64c1daf025eafaba49617ee47add296254a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 29 14:25:49 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:25:49 2012 -0800"
      },
      "message": "am 79c56d3f: Merge \"Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\" into jb-mr1.1-dev\n\n* commit \u002779c56d3f17d3193a0a86eb3c9bfdea90b89ae3f9\u0027:\n  Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\n"
    },
    {
      "commit": "cb9d270eecb7108e19323f522c5e82dcc80a5f32",
      "tree": "cc71ef8cc847f6093e270226ed87e3cced4caa6e",
      "parents": [
        "45be8448daafeab8f37cb82cd2219f95bc218a6a",
        "e97adde42fabc3928a2ac0b8cdc88e35b24b85dc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 29 14:25:47 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:25:47 2012 -0800"
      },
      "message": "am 0dbe5a93: Added optional intra macroblock refresh support for encoding\n\n* commit \u00270dbe5a9321b24b6883fbb2fe97cd9d525128b0b5\u0027:\n  Added optional intra macroblock refresh support for encoding\n"
    },
    {
      "commit": "65ac1b1761c57124382355c21edbbdaaab2ee025",
      "tree": "ff99bfafc8415e59dbc609f2cdb63ce7f73673de",
      "parents": [
        "471dd1323f832a2b7daf42f7e75d2b4471dfe112"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 29 14:09:41 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 29 14:09:41 2012 -0800"
      },
      "message": "Fix log spam\n\nChange-Id: Ie6c982af906dcfd3cdea4b771dfab1f7e47745ca\n"
    },
    {
      "commit": "45be8448daafeab8f37cb82cd2219f95bc218a6a",
      "tree": "c40cacea51c8dbcf112649a9392887c0c04293c7",
      "parents": [
        "391daa215831b21f5e5c96598cb08b114263b4d5",
        "5676e25a9d99703a247cc03f3918f8ac2ddbb338"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 29 11:33:11 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 11:33:11 2012 -0800"
      },
      "message": "am 031c93df: Merge \"Bug fix for the MediaPlayer::prepare() api.\"\n\n* commit \u0027031c93df74621dc2149876dc377aedee8930547f\u0027:\n  Bug fix for the MediaPlayer::prepare() api.\n"
    },
    {
      "commit": "5676e25a9d99703a247cc03f3918f8ac2ddbb338",
      "tree": "5cd96c679b6826e548e5fdb610d1d76f44775776",
      "parents": [
        "66665cbcf8668d6c6a77f64c49b6a1d5b439fa2e",
        "6e8f0bc59ad2409b294ad4eb803131500306bc8b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 29 11:08:16 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 11:08:16 2012 -0800"
      },
      "message": "Merge \"Bug fix for the MediaPlayer::prepare() api.\""
    },
    {
      "commit": "471dd1323f832a2b7daf42f7e75d2b4471dfe112",
      "tree": "c934c5fef0bc36e992d7aa577e7bfcfb552c9e54",
      "parents": [
        "2e6255f1c1fa4f8bc68da9f050755b86e6fa8d7e",
        "bf4950aa265ec7b54777d122b27037461638af0f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 10:57:06 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 10:57:06 2012 -0800"
      },
      "message": "Merge \"[wfd] Support a low(er) power state by triggering PAUSE/RESUME.\" into jb-mr1.1-dev"
    },
    {
      "commit": "2e6255f1c1fa4f8bc68da9f050755b86e6fa8d7e",
      "tree": "82cdf076ca53994ff2b26174ba886cecbc6f20f9",
      "parents": [
        "7a7ea64c1daf025eafaba49617ee47add296254a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 09:54:42 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 10:35:24 2012 -0800"
      },
      "message": "Enable retransmission of UDP packets in case we want to use it\n\nin our upcoming wfd _sink_ implementation.\n\nChange-Id: I4509c30d5a7b992bc841b73d63db902bbcf8f76a\nrelated-to-bug: 7638155\n"
    },
    {
      "commit": "bf4950aa265ec7b54777d122b27037461638af0f",
      "tree": "5ef033aaa0bbf12936d00ddf64a7c6d242b4206f",
      "parents": [
        "7a7ea64c1daf025eafaba49617ee47add296254a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 16 10:38:11 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 10:33:51 2012 -0800"
      },
      "message": "[wfd] Support a low(er) power state by triggering PAUSE/RESUME.\n\nChange-Id: Ibe42bfa73816bbfeb7e652d435254d0171b89727\nrelated-to-bug: 7638150\n"
    },
    {
      "commit": "391daa215831b21f5e5c96598cb08b114263b4d5",
      "tree": "f67d16df22a78caeacc7318b9aad0f623ef390e7",
      "parents": [
        "61c195615176903bb077a10d6b88ba112fefa250",
        "66665cbcf8668d6c6a77f64c49b6a1d5b439fa2e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 09:14:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 09:14:30 2012 -0800"
      },
      "message": "am 251c04b1: Merge \"Unsolicited server responses cause RTSP streaming to crash\"\n\n* commit \u0027251c04b1f3d048f541832c93347c6604b314e0ea\u0027:\n  Unsolicited server responses cause RTSP streaming to crash\n"
    },
    {
      "commit": "66665cbcf8668d6c6a77f64c49b6a1d5b439fa2e",
      "tree": "eb165d3711f0e5c0deece7cc6cad55c554b1d764",
      "parents": [
        "0d55a6f35a2d37187139e50972f7b6c413b2371f",
        "78cc49b4c4b25ea51dc5f6a6878ea158056bcf32"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 08:51:21 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 08:51:21 2012 -0800"
      },
      "message": "Merge \"Unsolicited server responses cause RTSP streaming to crash\""
    },
    {
      "commit": "78cc49b4c4b25ea51dc5f6a6878ea158056bcf32",
      "tree": "eb165d3711f0e5c0deece7cc6cad55c554b1d764",
      "parents": [
        "0d55a6f35a2d37187139e50972f7b6c413b2371f"
      ],
      "author": {
        "name": "Lena Magnusson",
        "email": "lena.magnusson@sonyericsson.com",
        "time": "Fri Jan 20 09:39:38 2012 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Thu Nov 29 15:25:48 2012 +0100"
      },
      "message": "Unsolicited server responses cause RTSP streaming to crash\n\nIf the set up of the RTSP stream contains an incorrect or otherwise\nproblematic URL, some servers will send an unsolicited server response\nthat contains a negative number in the sequence number (CSeq) field.\n\nThis negative value is not returned from the function findPendingRequest(),\nso the check in notifyResponseListener() will not work.  Instead there will\nbe a crash when 0 is used as the index to find a matching request/response\npair that doesn’t exist.\n\nThe fix is to return the received sequence number also when it is an\nunsolicited server-client message.\n\nChange-Id: Iedaba8a63dece7b43bce007069baefbfd10970b8\n"
    },
    {
      "commit": "7a7ea64c1daf025eafaba49617ee47add296254a",
      "tree": "c782a57189eeb84045c3c9f05fd3c706a4d71b97",
      "parents": [
        "e97adde42fabc3928a2ac0b8cdc88e35b24b85dc",
        "7497e313a163d157647e2eb4a70b3e094cf637f7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 28 15:40:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 15:40:59 2012 -0800"
      },
      "message": "Merge \"Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\" into jb-mr1.1-dev"
    },
    {
      "commit": "7497e313a163d157647e2eb4a70b3e094cf637f7",
      "tree": "4fe5ebf3b51e3ac832a6ef609f5da2cdf42aaadc",
      "parents": [
        "a4c5bc0f18fe272146426ab2eccad6215279c9f3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 15 18:31:50 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 28 15:03:57 2012 -0800"
      },
      "message": "Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\n\nThe time interval between periodic neighboring IDR frames is increased from 1 second to 15 seconds.\n\no related-to-bug: 7524791\n\nChange-Id: Ic32f37448f952f329549eda5e73637ee3b02f046\n"
    },
    {
      "commit": "e97adde42fabc3928a2ac0b8cdc88e35b24b85dc",
      "tree": "32cb87f38949e632da3cd71ea661069b7b07a531",
      "parents": [
        "a4c5bc0f18fe272146426ab2eccad6215279c9f3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 15 14:00:26 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 28 13:21:07 2012 -0800"
      },
      "message": "Added optional intra macroblock refresh support for encoding\n\no related-to-bug: 7524791\n\nChange-Id: I95ac4ee925e2dbeb00b3cfb2e29c611698c5cc9f\n"
    },
    {
      "commit": "61c195615176903bb077a10d6b88ba112fefa250",
      "tree": "10204c708282416431c07c097d3e450427fa9d6b",
      "parents": [
        "5dd0a57f26c6c8dadc35454e69813145141386c4",
        "a4c5bc0f18fe272146426ab2eccad6215279c9f3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 28 09:42:18 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 28 09:42:18 2012 -0800"
      },
      "message": "am b7c8e918: Add support for HLS playlists of type \\\u0027event\\\u0027.\n\n* commit \u0027b7c8e91880463ff4981e3e53e98e45d68e2fe374\u0027:\n  Add support for HLS playlists of type \u0027event\u0027.\n"
    },
    {
      "commit": "6e8f0bc59ad2409b294ad4eb803131500306bc8b",
      "tree": "a932f576e30894c11049260db982452961b4682e",
      "parents": [
        "0d55a6f35a2d37187139e50972f7b6c413b2371f"
      ],
      "author": {
        "name": "Dylan Powers",
        "email": "dylan.kyle.powers@gmail.com",
        "time": "Tue Nov 27 16:06:38 2012 -0800"
      },
      "committer": {
        "name": "Dylan Powers",
        "email": "dylan.kyle.powers@gmail.com",
        "time": "Tue Nov 27 18:18:44 2012 -0800"
      },
      "message": "Bug fix for the MediaPlayer::prepare() api.\n\nFor an MP3 source, within the prepare command, ID3 tags are checked in search of\ngapless playback info. This causes problems for streamed sources. If ID3v2 tags\naren\u0027t present, then a check is done for ID3v1 tags. This results in a read\ncommand that asks the cache to jump to the end of the file, and subsequently\nmake an extra http call to request those bytes. For a streamed source, this\ncauses the file to not be downloaded automatically when MediaPlayer::prepare()\nis called, and causes stuttering and extra buffering time to be needed when\nstart() is finally called.\nThe solution is to ignore the ID3v1 tags as the gapless info would never exist\nthere, and only check for ID3v2 tags.\n\nChange-Id: I7d1b94cffbfe7c38ca094834dedbc92a58855e20\n"
    },
    {
      "commit": "a4c5bc0f18fe272146426ab2eccad6215279c9f3",
      "tree": "9a067b002555730b806f7a86b87a92784ff64fbe",
      "parents": [
        "5ad21fb5686d4d32f61a47eab5a3fd2c4670e32d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 15:02:53 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 15:50:08 2012 -0800"
      },
      "message": "Add support for HLS playlists of type \u0027event\u0027.\n\nrelated-to-bug: 6870049\n\nSquashed commit of the following:\n\ncommit eee2f3ba6bb7335f4e285632726db85645669929\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 15:02:01 2012 -0800\n\n    Make everything a lot less verbose by default.\n\n    Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3\n\ncommit 6bbdb837ed5bd88008e45efb8faf595e4051ba26\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 14:34:46 2012 -0800\n\n    HLS now properly signals media time changes at discontinuities including\n\n    the start of playback (which may not necessarily be at time 0 if the playlist\n    is of type \u0027event\u0027 and hasn\u0027t completed yet).\n\n    Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e\n\ncommit 1555589832b1878a144a976a643e1af4d61f877c\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 14:32:28 2012 -0800\n\n    As part of a time discontinuity, clients of IStreamListener can now\n\n    signal the corresponding media time after the discontinuity, i.e. the first PTS\n    timestamp following the discontinuity will be considered equivalent to the\n    specified media time and media buffers timestamped accordingly.\n\n    Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92\n\ncommit 5c24c605c073a11c426d025b1e7478fc1ad8365a\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 13:00:56 2012 -0800\n\n    NuPlayer sources now expose flags() and can announce\n\n    that duration may change (increase) dynamically, in which case duration\n    will be polled at 1 second intervals and communicated to the upper layers.\n\n    Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea\n\ncommit ecb71de8e281e61971a2cd73e7161a97540bc357\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 12:57:47 2012 -0800\n\n    Stop caching duration in MediaPlayer, duration could increase dynamically.\n\n    Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791\n\ncommit 544aec5823e6d7a3e97e15b6b23546616bcd343e\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 08:46:28 2012 -0800\n\n    An attempt to add support for \"event\" style HLS playlists.\n\n    Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60\n\nChange-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98\n"
    },
    {
      "commit": "5dd0a57f26c6c8dadc35454e69813145141386c4",
      "tree": "f93944b829454836c0be7e602f6756243bc7cfe5",
      "parents": [
        "edac45119a3f37e3092911224385a390c123040e",
        "5ad21fb5686d4d32f61a47eab5a3fd2c4670e32d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 27 15:05:48 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 27 15:06:21 2012 -0800"
      },
      "message": "resolved conflicts for merge of 41829f30 to jb-mr1-dev-plus-aosp\n\nChange-Id: I952d333c2e88b6b28663793046a136822d1b6838\n"
    },
    {
      "commit": "5ad21fb5686d4d32f61a47eab5a3fd2c4670e32d",
      "tree": "131a3301b23d84b1564e1f9a0a853701225970f9",
      "parents": [
        "786a8daf400df7b49f6a7c19a5cea9b504d6aa9e",
        "a614426bc7e195af227a585bb0a07f43b4022d78"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 27 14:51:19 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 14:51:19 2012 -0800"
      },
      "message": "Merge \"New VHQ resampler\" into jb-mr1.1-dev"
    },
    {
      "commit": "a614426bc7e195af227a585bb0a07f43b4022d78",
      "tree": "18f9408e8a76815216783b24249b4e1177d982cd",
      "parents": [
        "35436ad21902edf83e3c1307b45b38d13137d31c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 19 09:00:47 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 27 13:33:45 2012 -0800"
      },
      "message": "New VHQ resampler\n\nSquashed commit of the following:\n\ncommit 12b6952da9f25e94d06dd7185bce255924e7e791\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Nov 19 15:27:26 2012 -0800\n\n    fix a typo in SINC resampler that prevented tracks to be mixed\n\n    we were always erasing the current mix instead of mixing into it.\n\n    Change-Id: Ib229245f9e5a0d384f1727640a59e9f0469211a2\n\ncommit 0019ce082df430278f14ab922e900ce33b64897d\nAuthor: Dave Bort \u003cdbort@google.com\u003e\nDate:   Tue Nov 13 01:30:32 2007 -0800\n\n    Rename \"TARGET\" to \"MODULE\" in the build system.\n\n    Part one of the grand renaming.\n\n    API_CHANGE: Third parties may need to update their makefiles.\n    Any variables with \"LOCAL\" and \"TARGET\" in their names\n    should now use \"MODULE\" instead of \"TARGET\"; e.g., LOCAL_MODULE,\n    LOCAL_MODULE_TAGS.\n\n    PRESUBMIT\u003dpassed\n    OCL\u003d39840\n\n    Change-Id: Ica9a7937d3d9552ab84db46ac6eea8a290e404fe\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit f01adc0cef0e39e75c76d9195ac26a94cac0a100\nAuthor: Glenn Kasten \u003cgkasten@google.com\u003e\nDate:   Wed Nov 14 08:32:08 2012 -0800\n\n    Fix build warnings\n\n    Change-Id: Ic43bcca166a529a6431711b05a7fa21849b6a38b\n\ncommit 9bb031a565c753a03d9c9397edea318947d80528\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sat Nov 10 04:44:30 2012 -0800\n\n    more optimizations...\n\n    calculate the offsets from the phase differently, this happens\n    to reduce the register pressure in the main loop, which in turns\n    allows the compiler to generate much better code (doesn\u0027t need\n    to spill a lot of stuff on the stack).\n\n    this gives another 15% performance increase\n\n    Change-Id: I2ce3479dd48b9e6941adb80e6d443d6e14d64d96\n\ncommit 5a951598f31217b8cd2babd0720c9608ee17291a\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sat Nov 10 03:26:39 2012 -0800\n\n    refactor code to improve neon code\n\n    we want to make sure we don\u0027t transfer data from the\n    neon unit to the arm register file, as this can be quite\n    slow. instead we do all the calculation on the neon side\n    and write the result directly to main memory.\n\n    Change-Id: Ibb56664d3ab03098ae2798b75e2b6927ac900187\n\ncommit b381ee9e83bc9fd18986e79c7809841514ed590e\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Nov 4 15:16:13 2012 -0800\n\n    NEON optimized SINC resampler\n\n    this currently gives us a 60% to 80% boost depending\n    on the quality level selected.\n\n    Change-Id: I7db385007e811ed7bffe5fd3403b44e300894f5b\n\ncommit bea077354210242ea193a50b0dbab0fedab25df3\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Nov 5 01:51:37 2012 -0800\n\n    minor cleanups\n\n    Change-Id: Ia12ee4fb59e90221761bec85e6450db29197591f\n\ncommit 8f4ed7decbe161a5ff38200b218f5216d80aba46\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Nov 4 18:49:14 2012 -0800\n\n    improve resample test\n\n    - handle stereo input\n    - input file can now be ommited, in this case\n      a linear chirp will be used automatically\n    - better usage information\n\n    Change-Id: I5d62a6c26a9054a1c1a517a065b4df5a2cdcda22\n\ncommit 5fcd634ea6cb4df27c495abe20f5f9b8ff55d128\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Nov 4 02:03:49 2012 -0800\n\n    change how we store the FIR coefficients\n\n    The coefficient table is now transposed and shows\n    much better its polyphase nature: we now have a FIR\n    per line, each line corresponding to a phase.\n\n    This doesn\u0027t change at all the results produced by\n    the filter, but allows us to make slightly better\n    use of the data cache and improves performance a bit\n    (although not as much as I thought it would).\n\n    The main benefit is that it is the first step\n    before we can make much larger optimizations\n    (like using NEON).\n\n    Change-Id: Iebf7695825dcbd41f25861efcaefbaa3365ecb43\n\ncommit d652231abf4c7e2ea1fc89caae730cec1f7259a1\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sat Nov 3 23:37:53 2012 -0700\n\n    improve SINC resampler performance\n\n    The improvement is about 60% by just tweaking a few\n    things to help the compiler generate better code.\n    It turns out that inlining too much stuff manually was hurting us.\n\n    Change-Id: I8068f0f75051f95ac600e50ce552572dd1e8c304\n\ncommit 9dc68ef5b94c700c4ee68790e8cbb334c90a538d\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Thu Nov 1 21:03:46 2012 -0700\n\n    new coefficients for the vhq resampler\n\n    previous coefficients were provided by a 3rd party and didn\u0027t have a\n    way to re-generate them. we\u0027re now using the \u0027fir\u0027 utility.\n\n    the performance of the filter is virtually identical, except for\n    the down-sampling case which seems slightly better now:\n       It looks like both the previous and new coefficients are generating\n    some sort of clipping for full-scale signals in the down-sampling case\n    (although the new ones seem better), the reason for that is\n    unknown (see bug: 7453062)\n\n    Also updated the HQ coefficients for the down-samplers, previous ones\n    were a little bit too conservative -- the new ones push the cut-off\n    frequency up by about 1 KHz.\n\n    Change-Id: I54a827b5c707c7cc41268ed01283758dce1d7647\n\ncommit 38e0b8560a6fc1b7124e22e0e09a84a285182f8e\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Tue Oct 30 13:51:44 2012 -0700\n\n    fix SINC resampler on non ARM architectures\n\n    make sure the C version of the code generates the same\n    output than the ARM assemply version.\n\n    Change-Id: Ide218785c35d02598b2d7278e646b1b178148698\n\ncommit a1878128b182696ba508569b4d211d0dfae92463\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Tue Oct 30 12:49:07 2012 -0700\n\n    fix another issue with generating FIR coefficients\n\n    the impulse response of a low-pass is 2*f*sinc(2*pi*f*k), we were\n    missing the 2*f scale factor. This explains why we were seeing\n    clipping and had to manually scale the filter down.\n\n    Change-Id: I86d0bb82ecdd99681c8ba5a8112a8257bf6f0186\n\ncommit 1a0fb993430acc9f601e6c538305bc407c20ac5d\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Oct 29 17:13:20 2012 -0700\n\n    fir a typo that caused up-sampling coefficiens to be wrong\n\n    up-sample coefficient were generated with a cut-off frequency of 24KHz\n    intead of ~20KHz, which caused more aliasing in the audible band.\n\n    also increased the attenuation to 1.3 dB on both up and down\n    sampling coefficient to avoid clipping.\n\n    Change-Id: Ie8aeecf1429190541b656810c6716b6aae5ece2e\n\ncommit 9520ad6862bd682ad075a9d9e3e94ada9f6e58b6\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Oct 29 17:13:16 2012 -0700\n\n    test-resample: clip instead of overflowing\n\n    Change-Id: I550e5a59e51c11e1095ca338222b094f92b96878\n\ncommit ba36656300f250f7f1fdeb75149749344260e6cb\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Oct 21 01:01:38 2012 -0700\n\n    a test app for the resamplers\n\n    Change-Id: I66852d90d384f1d9e77b51ad1a1ebdbaf61d0607\n\ncommit 056a08b9bfd33cf27228c992adc8293a56b01be8\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Fri Oct 26 14:11:01 2012 -0700\n\n    reenable the cubic resampler\n\n    cubic resampler was disabled because it hadn\u0027t been qualified,\n    however after I did some tests, it does improve significantly\n    the sound quality over the order-1 resampler, even if it is\n    still quite bad.\n\n    also HIGH_QUALITY resampler was partially disabled, it\u0027s now\n    fully enabled. It\u0027s a big improvement over the cubic resampler\n    in terms of aliasing noise (it\u0027s not as good in the pass-band).\n\n    Change-Id: I70e3658c255896588642697be9eb594ff4ec0f8b\n\ncommit 8c0241d3ff50ae85167f69b3bd369244894cfa44\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Fri Oct 26 13:48:42 2012 -0700\n\n    improve SINC resampler coefficients\n\n    - we increase the interpolation precision from 4 to 7 bits\n    this doesn\u0027t increase CPU power required, it only increases the\n    size of the filter table but significantly reduces the noise\n    introduced by the quantization of the impulse response.\n\n    - the parameters of the filter are set such that aliasing is\n    rejected at 80 dB below 20 KHz. Because we don\u0027t use a lot of\n    coefficient (to save compute power), there are quite a bit of\n    attenuation in the pass-band: starting at 9KHz for the\n    down-sampler (48 to 44.1), and starting at 13 KHz for the\n    up-sampler (44.1 to 48) -- the transition band is about 15 KHz.\n\n    Change-Id: I855548d2aab8a0fb0d2a2da3a364b6842d7d3838\n\ncommit 69e7dab2192adc1f780464146810629ebd01b145\nAuthor: Pixelflinger \u003cmathias.agopian@gmail.com\u003e\nDate:   Thu Oct 25 19:43:49 2012 -0700\n\n    improve fir tool: cleanup, better default, bug fixes\n\n    - all parameters can be changed on the command-line\n    - added float output\n    - added debug option\n    - added an option to generate a polyphase filter coefficients\n    - added an attenuation option in dBFS\n    - added a lot of comments and references\n    - fixed kaiser window parameter\n\n    also the default should generate a filter with 80 dB rejection\n    (of the 24 KHz aliasing) above 20 KHz and a 15 KHz transition\n    band around ~20 KHz (for 48 KHz sampling rate).\n    It\u0027s not very good but corresponds to the current code.\n\ncommit 8347499d105a50257c18e9dac652e750b06428b1\nAuthor: Glenn Kasten \u003cgkasten@google.com\u003e\nDate:   Mon Oct 22 17:09:27 2012 -0700\n\n    Increase allowed number of VHQ resamplers to 3\n\n    Bug: 7378660\n    Change-Id: I69e33ca2eb4bb9bd38e2c63df62cd1130d68baf6\n\ncommit f91cf3cad7f5c4d52614271c89ab468741c5d24c\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Oct 21 03:04:05 2012 -0700\n\n    Fix a typo that caused the high quality resampler to produce garbage\n\n    the problem is that if libaudio_resampler is present, it is those\n    coefficients that will always be selected, but the correct\n    meta-data.\n\n    Bug: 7385994\n    Change-Id: Ieebeb37b4dfb62a1a051bc29fae2ce056dbc6621\n\ncommit e158a9e4262a174c59469a205658bc3ca4078234\nAuthor: Dan Bornstein \u003cdanfuzz@google.com\u003e\nDate:   Fri Oct 3 10:34:57 2008 -0700\n\n    Manually merge change #111620 from tc3 to mainline, to keep the\n\n    automerger from choking on it.\n\n    p4 sync\n    p4 integrate -r -b android_to_tc3 //...@111620,111620\n    p4 resolve -a\n    p4 resolve     # resolve a couple merge travesties\n\n    PRESUBMIT\u003dpassed\n    BUG\u003d1399648\n    TBR\u003dedheyl\n    OCL\u003d111902\n\n    Change-Id: I854b01553dd92bbf9c864f5a9bd51a3d665f0ac2\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit b9f3c26032be7a6ea01a10d93d94826f449e68ab\nAuthor: Dave Bort \u003cdbort@google.com\u003e\nDate:   Fri Jan 18 14:51:05 2008 -0800\n\n    Rename \"Makefile\" to \"Android.mk\" throughout the tree.\n\n    For \u003chttp://b/issue?id\u003d960416\u003e.\n\n    I\u0027ve tested this as much as I can, but 1500 open files \u003d\n    easy to mess things up.  Please let me know if there\u0027s\n    a problem rather than rolling back this change.\n\n    PRESUBMIT\u003dpassed\n    BUG\u003d960416\n    TBR\u003djoeo\n    OCL\u003d46537\n\n    Change-Id: I5a404caf0f398a7afa7ae7abaf2f2a1c6ab490eb\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit 0c22a9a44c4103483fba1d944acf1354c5eb1617\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Oct 29 23:44:25 2007 -0700\n\n    Tweak the SINC resampler parameters and double the performance. It\u0027s using about 10% CPU in the worse case now.\n\n    Change-Id: I50ac7e6c6702a427fa36ab6d976c507155057507\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit b85e41487983ad085b859acf8251e7e54480308a\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Oct 29 04:34:36 2007 -0700\n\n    A sinc resampler for Audioflinger. It\u0027s not enabled yet, but fully functional and apparently working. It need more \"quality\" tests. In the 48-\u003e44 KHz, it takes about 25% of the CPU time.\n\n    Change-Id: I80eb5185e13ebdb907e0b85c49ba1272c23d60ec\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit ba3949ef17cac2ba71cc3096c413782a49c922e5\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Thu Aug 23 21:01:28 2007 -0700\n\n    fix a few small typos in the FIR computation\n\n    Change-Id: I6e56b514fe520f30f7487f85c64ea5d2a7c19b40\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit 7474bfa7de2604021963794dddfe44985648db6a\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Thu Aug 23 03:16:02 2007 -0700\n\n    This is a tool to compute the the reconstruction filter coefficients for a sinc audio resampler.\n\n    Change-Id: I99be2505139b8e0e7647200e1647509d4f7e6067\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\nBug: 7577965\nChange-Id: I2c84a9283a1668723bad83e1a119c849c88c3e6b\n"
    },
    {
      "commit": "edac45119a3f37e3092911224385a390c123040e",
      "tree": "14d587b83f0555662cf6765d33143638cc331c3d",
      "parents": [
        "47ea283ceaeab616c092f504efcf16eab88267e5",
        "786a8daf400df7b49f6a7c19a5cea9b504d6aa9e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Nov 27 11:39:22 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 27 11:39:22 2012 -0800"
      },
      "message": "am aa9e3e01: Camera: Play shutter sound iff enableShutterSound(true) \u0026\u0026 ShutterCallback !null\n\n* commit \u0027aa9e3e01b86bd9bfb5ac36c0f360d5fe478cbb2d\u0027:\n  Camera: Play shutter sound iff enableShutterSound(true) \u0026\u0026 ShutterCallback !null\n"
    },
    {
      "commit": "47ea283ceaeab616c092f504efcf16eab88267e5",
      "tree": "47d6ffc6e0fd3400194bfeb3dd12e52d20bae4c0",
      "parents": [
        "8680acaf8ccbb245b296e49ef0fa5ca311ac0fd3",
        "0d55a6f35a2d37187139e50972f7b6c413b2371f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 09:39:12 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 27 09:39:12 2012 -0800"
      },
      "message": "am 5768fa03: Merge \"Crash in android::MyHandler::parsePlayResponse\"\n\n* commit \u00275768fa034ede834656697d3612c525595ff85ef9\u0027:\n  Crash in android::MyHandler::parsePlayResponse\n"
    },
    {
      "commit": "8680acaf8ccbb245b296e49ef0fa5ca311ac0fd3",
      "tree": "4de4417de50b0cec010915e8fb6b1233479b9ac5",
      "parents": [
        "115d8138fa0a288163bbeefaf763135f1fc5b677",
        "761ad2c39ab2b6d40379c5926caaf9d8bd5dce15"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 09:39:11 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 27 09:39:11 2012 -0800"
      },
      "message": "am 3eb46d17: Merge \"Fix of uninitialized mIsDrm variable.\"\n\n* commit \u00273eb46d179b1f62cde21077fde466925d4c5c79ad\u0027:\n  Fix of uninitialized mIsDrm variable.\n"
    },
    {
      "commit": "0d55a6f35a2d37187139e50972f7b6c413b2371f",
      "tree": "859fcb3f0bc9369930af336da2c3bd132ee6008e",
      "parents": [
        "761ad2c39ab2b6d40379c5926caaf9d8bd5dce15",
        "e1a31d16dda3460a34e5dfd65c4e96e422dbdbfc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 08:50:52 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 08:51:08 2012 -0800"
      },
      "message": "Merge \"Crash in android::MyHandler::parsePlayResponse\""
    },
    {
      "commit": "761ad2c39ab2b6d40379c5926caaf9d8bd5dce15",
      "tree": "2dd9fad7c2a00e2a0d78a505dcd439fb736d3dbc",
      "parents": [
        "98c47abf4d04ca5df2c8fc403332d08d65e8ce1e",
        "9ca2596be1e624ebf1e39f645d3b3a9c3ed18eb2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 08:49:34 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 08:49:34 2012 -0800"
      },
      "message": "Merge \"Fix of uninitialized mIsDrm variable.\""
    },
    {
      "commit": "e1a31d16dda3460a34e5dfd65c4e96e422dbdbfc",
      "tree": "ea89bf1f146c86157dc5a98b52217b45d497c009",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Patric Frederiksen",
        "email": "patric.frederiksen@sonyericsson.com",
        "time": "Mon Sep 26 10:51:35 2011 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Tue Nov 27 11:38:36 2012 +0100"
      },
      "message": "Crash in android::MyHandler::parsePlayResponse\n\nThis fix handles problems with several asynchronous calls\nwithin streaming. This case is when the phone has sent a\nrequest to the server and while the response is being sent\nback by the server the request is aborted by the user.\nThe fix is an if case that checks if we have aborted while\nwaiting for a response from the server. If we have aborted\nwe should ignore the late response instead of continuing.\n\nChange-Id: I1264bb992f6abcaee1f10a89479e08b54a95e3c2\n"
    },
    {
      "commit": "9ca2596be1e624ebf1e39f645d3b3a9c3ed18eb2",
      "tree": "9fd32e3ff7909bf14f1b2a4204046367a6e22706",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Henrik B Andersson",
        "email": "henrikb.andersson@sonymobile.com",
        "time": "Wed Oct 31 13:02:47 2012 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Tue Nov 27 10:17:01 2012 +0100"
      },
      "message": "Fix of uninitialized mIsDrm variable.\n\nThe mIsDrm is a bool that isn\u0027t initialized.\nThis causes it to be true in most default cases.\n\nChange-Id: I41b534514bf6a3ca88a9f0994b814d55fcd7453b\n"
    },
    {
      "commit": "786a8daf400df7b49f6a7c19a5cea9b504d6aa9e",
      "tree": "bb3a77ca020334cd0993276d5adc1811d1e3a0d9",
      "parents": [
        "35436ad21902edf83e3c1307b45b38d13137d31c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Nov 26 10:50:55 2012 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Nov 26 16:01:48 2012 -0800"
      },
      "message": "Camera: Play shutter sound iff enableShutterSound(true) \u0026\u0026 ShutterCallback !null\n\nBug: 7564718\nChange-Id: Ie7821cdee57966d88af048759578439a3e6ecb2e\n"
    },
    {
      "commit": "115d8138fa0a288163bbeefaf763135f1fc5b677",
      "tree": "16ae7829e47b13d948dd402b6458e0833d5f7c36",
      "parents": [
        "8bcbabbfb8603875fb7e9eb0c6ea3cc3a5a06f00",
        "98c47abf4d04ca5df2c8fc403332d08d65e8ce1e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 26 14:37:22 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 26 14:37:22 2012 -0800"
      },
      "message": "am 79fd6853: Merge \"MediaCodec: Add a method for getting the component name\"\n\n* commit \u002779fd685323e34e0fde22d17fd6848d33f171f4ae\u0027:\n  MediaCodec: Add a method for getting the component name\n"
    },
    {
      "commit": "98c47abf4d04ca5df2c8fc403332d08d65e8ce1e",
      "tree": "c2803496a2d421ef879a19c4bd77049ed592e419",
      "parents": [
        "d338dcea8a9b87fbf63a87b0ccadb74c88d619d2",
        "8601efe463bf3331fa2a389ee13db25f21d28eb9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 26 13:48:41 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 13:48:41 2012 -0800"
      },
      "message": "Merge \"MediaCodec: Add a method for getting the component name\""
    },
    {
      "commit": "8bcbabbfb8603875fb7e9eb0c6ea3cc3a5a06f00",
      "tree": "8ccab4ae195ca5c6c0b2a4dad0cf87e0cf0cf005",
      "parents": [
        "2cfd3b7d85917666f80826bdb5b85f209b22c528",
        "d338dcea8a9b87fbf63a87b0ccadb74c88d619d2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 26 10:00:09 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 26 10:00:09 2012 -0800"
      },
      "message": "am 5865ddf7: Merge \"AudioTrack::dump null mCblk check test\"\n\n* commit \u00275865ddf769d368d714af630aba18392ea1387bc7\u0027:\n  AudioTrack::dump null mCblk check test\n"
    },
    {
      "commit": "d338dcea8a9b87fbf63a87b0ccadb74c88d619d2",
      "tree": "31b8646fea82be32ea9b5e42cfcd726819f02649",
      "parents": [
        "9faed65805f976a1539f893bd884b7f25a42656e",
        "3ac30b696d8f3ae2c6ee87d58acfd71db7c2e808"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 26 08:59:50 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 08:59:51 2012 -0800"
      },
      "message": "Merge \"AudioTrack::dump null mCblk check test\""
    },
    {
      "commit": "3ac30b696d8f3ae2c6ee87d58acfd71db7c2e808",
      "tree": "3d95854536391df2820382ef4f6b5b6859a340eb",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Zbigniew Mazur",
        "email": "zbigniew.mazur@sonyericsson.com",
        "time": "Thu Oct 11 13:56:41 2012 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Fri Nov 23 09:49:30 2012 +0100"
      },
      "message": "AudioTrack::dump null mCblk check test\n\nThis fix is protecting AudioTrack::dump from SIGSEGEV\nwhen calling dumpsys shell command.\n\nChange-Id: I30d136e195a12d6fdad41e14f557b0ad9e59b8a2\n"
    },
    {
      "commit": "2cfd3b7d85917666f80826bdb5b85f209b22c528",
      "tree": "ea34531495d206671a9120099eb0d1dcd79f761e",
      "parents": [
        "12407d6a5161226bf9c29057d187892498fc566c",
        "9faed65805f976a1539f893bd884b7f25a42656e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 20 12:47:56 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 20 12:47:56 2012 -0800"
      },
      "message": "am 2da6e4ae: Merge \"Avoid memory leaks when handling metadata strings\"\n\n* commit \u00272da6e4ae488896df10b22166b0aa0b2cc15492f1\u0027:\n  Avoid memory leaks when handling metadata strings\n"
    },
    {
      "commit": "9faed65805f976a1539f893bd884b7f25a42656e",
      "tree": "0929c350bf645a9e26568c64fa44396a3ce8f89d",
      "parents": [
        "35c96b589ed8095a0d3a7dfd166b40180c0cf84c",
        "8a1016a6f4d274444379c2ed88cc32bfbdfeb346"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 20 12:28:27 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 20 12:28:27 2012 -0800"
      },
      "message": "Merge \"Avoid memory leaks when handling metadata strings\""
    },
    {
      "commit": "8a1016a6f4d274444379c2ed88cc32bfbdfeb346",
      "tree": "0929c350bf645a9e26568c64fa44396a3ce8f89d",
      "parents": [
        "35c96b589ed8095a0d3a7dfd166b40180c0cf84c"
      ],
      "author": {
        "name": "David Williams",
        "email": "david.williams@sonymobile.com",
        "time": "Mon Nov 19 09:52:16 2012 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 20 12:27:56 2012 -0800"
      },
      "message": "Avoid memory leaks when handling metadata strings\n\nDon\u0027t duplicate strings when retrieveing metadata from media\nfiles. As any requests for metadata strings would pass through\nthe binder, this would cause the reference to the duplicate string\nto be lost, causing a memory leak as the duplicate would not be\nfreed.\n\nChange-Id: I2593733472b1bb589bc502b2c11080f581015bb5\n"
    },
    {
      "commit": "12407d6a5161226bf9c29057d187892498fc566c",
      "tree": "bc1c3b480bfb9a1a29a3c9f0c4741648d340ea8f",
      "parents": [
        "fcc6d852b6efb93c1f189399446e4219578cc311",
        "35c96b589ed8095a0d3a7dfd166b40180c0cf84c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 20 09:24:25 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 20 09:24:25 2012 -0800"
      },
      "message": "am 7013209c: Merge \"Handle large AVCC chunks\"\n\n* commit \u00277013209cdf393b3d958ddd46ed50394349378826\u0027:\n  Handle large AVCC chunks\n"
    },
    {
      "commit": "fcc6d852b6efb93c1f189399446e4219578cc311",
      "tree": "33612a6c88b9b10467f851e11f2561a08885d678",
      "parents": [
        "9b5aa9e2f204a381e1e295ba3de6bc752b1be065",
        "515bb03933b7ec4e7133c0cc6de72d9abd57687f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 20 09:24:24 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 20 09:24:24 2012 -0800"
      },
      "message": "am dca2b5d7: Merge \"Changed parsing of trkn and disk from 8 bits to 16 bits\"\n\n* commit \u0027dca2b5d7c29ee06f3c82527dd7264fcc21cac9a6\u0027:\n  Changed parsing of trkn and disk from 8 bits to 16 bits\n"
    },
    {
      "commit": "35c96b589ed8095a0d3a7dfd166b40180c0cf84c",
      "tree": "af0b9c2ad79e4322ef50cd1440318bad5c982e91",
      "parents": [
        "515bb03933b7ec4e7133c0cc6de72d9abd57687f",
        "0fd2883dbe2841b7b35f1e7581e5d9d59e58ad97"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 20 08:52:44 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 20 08:52:44 2012 -0800"
      },
      "message": "Merge \"Handle large AVCC chunks\""
    },
    {
      "commit": "515bb03933b7ec4e7133c0cc6de72d9abd57687f",
      "tree": "1884f6f2a913740c46b9d3f0024e1efe0ac92358",
      "parents": [
        "f42cde8ede088529c231de6a7aee7f043a7fcd09",
        "791841a80dc6bc46cb8d7f613b94338ec5b69b5c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 20 08:18:38 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 20 08:18:38 2012 -0800"
      },
      "message": "Merge \"Changed parsing of trkn and disk from 8 bits to 16 bits\""
    },
    {
      "commit": "8601efe463bf3331fa2a389ee13db25f21d28eb9",
      "tree": "03f0ae8a7bed86d1b704dbf90ce884794f754d5a",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Tue Sep 25 11:43:02 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Mon Nov 19 19:07:37 2012 +0200"
      },
      "message": "MediaCodec: Add a method for getting the component name\n\nIf the codec was chosen based on mime type, the caller does\nnot know what component actually was chosen. This allows\ngetting essential information (such as supported color formats,\nfor a video encoder) for this component.\n\nChange-Id: Ie471f40f8104b37d27ced3dba5a54facc6504b1b\n"
    },
    {
      "commit": "791841a80dc6bc46cb8d7f613b94338ec5b69b5c",
      "tree": "f47ef2fa1949a6985e9a8f3b040390370d58f0ad",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Andreas Lillvik",
        "email": "andreas.lillvik@sonyericsson.com",
        "time": "Wed Oct 13 15:37:01 2010 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Mon Nov 19 12:52:46 2012 +0100"
      },
      "message": "Changed parsing of trkn and disk from 8 bits to 16 bits\n\nThe MPEG4Extractor was parsing 8 bits instead of 16 bits when parsing\n\u0027trkn\u0027 and \u0027disk\u0027. Also added support for 16 bytes size \u0027disk\u0027.\n\nChange-Id: I22b4de2ac800881884d5759776cb380917522a87\n"
    },
    {
      "commit": "0fd2883dbe2841b7b35f1e7581e5d9d59e58ad97",
      "tree": "069eb4a3fe1a0d0ddcd9f551533126012d8b80d2",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Jan Olof Svensson",
        "email": "janolof.svensson@sonyericsson.com",
        "time": "Wed Sep 26 09:08:11 2012 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Mon Nov 19 10:44:31 2012 +0100"
      },
      "message": "Handle large AVCC chunks\n\nIf enabling seq_scaling_matrix_present_flag \u003d 1 the AVCC chunk can\nbe larger than the original buffer size. Changed to using ABuffer\ninstead.\n\nChange-Id: Idacc14b45ea2634c5e608919f3ce567f23363135\n"
    },
    {
      "commit": "2cac3fcde42af0f198144dc5f413dc9e6faae4cc",
      "tree": "c233e514a169cf786936a145fa105c9b5561b889",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Jens Gulin",
        "email": "jens.gulin@sonymobile.com",
        "time": "Mon Sep 10 15:54:40 2012 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Mon Nov 19 10:38:57 2012 +0100"
      },
      "message": "Memory leak solved in MPEG4Extractor::parseChunk for cover art\n\nRepeated leaks detected in mediaserver context. Most chunks small but\nsome bigger. Adding up it was not uncommon to see 200Mb footprint.\nlibc memdebug allocation call stack showed the root cause in \"covr\"\nparsing - that explains why content often was empty but sometimes big.\n\nChange-Id: I0de6c1eeef174d2529973ff9c6a020ec3dd44c75\n"
    },
    {
      "commit": "a45a600d69a5d8ab99eeb7e0dfa58c3cb99a2e61",
      "tree": "3ea3d973b2147245f54b98e378b08a922a181725",
      "parents": [
        "f42cde8ede088529c231de6a7aee7f043a7fcd09"
      ],
      "author": {
        "name": "Erik Rydgren",
        "email": "erik.rydgren@sonyericsson.com",
        "time": "Mon Sep 19 10:38:10 2011 +0200"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Mon Nov 19 09:22:47 2012 +0100"
      },
      "message": "Use default values when MPEG4 audio config parsing fails.\n\nMPEG4 audio packets may be multiplexed using the so called\nLATM (Low Overhead Audio Transport Multiplex) scheme.\nLATM parsing was recently introduced in Stagefright and it\nhas caused issues in cases when the LATM config element\ncannot be parsed correctly. The main problem occurrs when\nthe AudioSpecificConfig part of the config element contains\nmore information than what is expected, causing the\nframeLengthType parameter to get the wrong value. This fix\nintroduces default values of some config parameters that are\nused in case config parsing fails.\n\nChange-Id: I3cb35df76826f95ca0831dc08c2a1e7c6c2c586d\n"
    },
    {
      "commit": "9b5aa9e2f204a381e1e295ba3de6bc752b1be065",
      "tree": "32acb0da383969b045ff4d2cd1378b6a0d081ad7",
      "parents": [
        "50fee506df0f18a2f0c2686b47dbce2170d4ee01",
        "35436ad21902edf83e3c1307b45b38d13137d31c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 14:44:05 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 16 14:44:05 2012 -0800"
      },
      "message": "am d983364b: Static AudioTrack plays twice initially\n\n* commit \u0027d983364b3655a547b55bb11dbe148103198c011d\u0027:\n  Static AudioTrack plays twice initially\n"
    },
    {
      "commit": "35436ad21902edf83e3c1307b45b38d13137d31c",
      "tree": "6cdec82451a9b68ead54cdf7dd7f9a7498a571f2",
      "parents": [
        "3326dffb07bc7cb724cae31923a122321ff5bb1a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 15 14:13:16 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 13:31:11 2012 -0800"
      },
      "message": "Static AudioTrack plays twice initially\n\nBug: 7528721\nChange-Id: I10bc16a26f33dba6572b730a170cb3bf00e68e30\n"
    }
  ],
  "next": "50fee506df0f18a2f0c2686b47dbce2170d4ee01"
}
