)]}'
{
  "log": [
    {
      "commit": "d9288b85b35e41ff330242ecb3a4e310ae14f2d3",
      "tree": "211802091034d6ebc5f55c44f49dbd4ed543c9c9",
      "parents": [
        "563b1009577ba6bd69847a7ccef609014987c8a0",
        "3b01b3019b1c62132792a1a94e2dc1f7cfc84f2e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 23:04:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 23:04:34 2016 +0000"
      },
      "message": "Merge \"SoundTrigger: get service by value.\" into lmp-dev"
    },
    {
      "commit": "3b01b3019b1c62132792a1a94e2dc1f7cfc84f2e",
      "tree": "788c73afa82ff5d0beaf8b5628870a342b28bb19",
      "parents": [
        "de97dbd662bc959bfe4a894c8678f1383294e148"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 07 16:58:39 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 09 09:15:30 2016 -0700"
      },
      "message": "SoundTrigger: get service by value.\n\nGet strong pointer to service interface by value and not reference to\nprevent race conditions where the service pointer can be cleared\nby another thread while in use.\n\nBug: 30907212\nChange-Id: I6f02ec3fd1e6392b842b334e1cc4f9aa23916009\n"
    },
    {
      "commit": "86369364a07c85dd8f0e890b783a7bd434b8ef7c",
      "tree": "6a17ee31928e7fef5edee7d01467a0208f303cf3",
      "parents": [
        "8f4b1a7de0e102b9203cfda3970edd2eedd9becf"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 02 07:07:05 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 18 14:25:51 2016 -0700"
      },
      "message": "DO NOT MERGE: IOMX: work against metadata buffer spoofing\n\n- Prohibit direct set/getParam/Settings for extensions meant for\n  OMXNodeInstance alone. This disallows enabling metadata mode\n  without the knowledge of OMXNodeInstance.\n- Do not share metadata mode buffers cross process.\n- Disallow setting up metadata mode/tunneling/input surface\n  after first sendCommand. (Except to Idle state for OMXCodec quirk.)\n- Disallow store-meta for input cross process.\n- Disallow emptyBuffer for surface input (via IOMX).\n- Fix checking for input surface.\n\n[backported from L-MR1]\n\nBug: 29422020\nChange-Id: I801c77b80e703903f62e42d76fd2e76a34e4bc8e\n"
    },
    {
      "commit": "4ef5122525e0ce7a4d3e16bb07c295340a813b00",
      "tree": "681ce3d5db15f8161147c550662dd5dd03a8ff21",
      "parents": [
        "7e06799472dd93f3c4e33807ab41256e75287291",
        "9d65d13cc7c207d4ef877df2834d4fbac74741ad"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jun 22 18:36:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 22 18:36:14 2016 +0000"
      },
      "message": "Merge \\\\\\\"Revert \\\\\\\"Impose a size bound for dynamically allocated tables in stbl.\\\\\\\"\\\\\\\" into klp-dev am: 7e6bd6a911 am: 3ad7688745\nam: 9d65d13cc7\n\nChange-Id: Ib8d8f9c58c1ffb169cf488d57fb841f80a664e97\n"
    },
    {
      "commit": "9d65d13cc7c207d4ef877df2834d4fbac74741ad",
      "tree": "0d22666b8004a8e4ae781514d99b9a00e0059d16",
      "parents": [
        "4c969bf93f71e394de3aa8b08f0ed0f96c48379d",
        "3ad7688745fc44d01707157ba4edcbad8d41fc3e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jun 22 18:33:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 22 18:33:49 2016 +0000"
      },
      "message": "Merge \\\\\"Revert \\\\\"Impose a size bound for dynamically allocated tables in stbl.\\\\\"\\\\\" into klp-dev am: 7e6bd6a911\nam: 3ad7688745\n\nChange-Id: I02de46ed2ce14428a45826270b557426ee2aaf47\n"
    },
    {
      "commit": "7e6bd6a911c5eba7b36b9b01804dd4d00132a175",
      "tree": "57ee9ab2cc93c2fbaaaaf8e77999dac195fc770e",
      "parents": [
        "8f73edb22a30260a2f4f7946fbedd3fd3005c5b6",
        "66c4dbb96c38630d0cd6551fc8c9bf8fa3318903"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jun 22 18:27:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 22 18:27:32 2016 +0000"
      },
      "message": "Merge \"Revert \"Impose a size bound for dynamically allocated tables in stbl.\"\" into klp-dev"
    },
    {
      "commit": "66c4dbb96c38630d0cd6551fc8c9bf8fa3318903",
      "tree": "ec4f2f5e250208980491f0b0fbc0ee250d3bc15c",
      "parents": [
        "25e029746796fe88e82417fb01af2e27b8bbadb2"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jun 22 18:19:15 2016 +0000"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jun 22 18:19:15 2016 +0000"
      },
      "message": "Revert \"Impose a size bound for dynamically allocated tables in stbl.\"\n\nThis reverts commit 25e029746796fe88e82417fb01af2e27b8bbadb2.\n\nChange-Id: I91225838a8be72a3cd413f2bcb99e7dca7e62929\n"
    },
    {
      "commit": "7e06799472dd93f3c4e33807ab41256e75287291",
      "tree": "843c2e0db67fc2232d609ae6f80566b72722a682",
      "parents": [
        "495ba35a1706cbf6fa95616e23c6b656f3b1048b",
        "4c969bf93f71e394de3aa8b08f0ed0f96c48379d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jun 22 17:58:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 22 17:58:26 2016 +0000"
      },
      "message": "Merge \\\\\\\"Impose a size bound for dynamically allocated tables in stbl.\\\\\\\" into klp-dev am: 8f73edb22a am: a263248bf0\nam: 4c969bf93f\n\nChange-Id: I6258bac89bbe02e47b3c912df26f26033d7b76b4\n"
    },
    {
      "commit": "4c969bf93f71e394de3aa8b08f0ed0f96c48379d",
      "tree": "637b8ec7d12c6d0fa0341098f22267172baf93d9",
      "parents": [
        "5c1f01675ca0f4f231f206fc7fe64d353592f726",
        "a263248bf02014dfb5d76ac4c07e7dfcdd6518c1"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jun 22 17:55:12 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 22 17:55:12 2016 +0000"
      },
      "message": "Merge \\\\\"Impose a size bound for dynamically allocated tables in stbl.\\\\\" into klp-dev am: 8f73edb22a\nam: a263248bf0\n\nChange-Id: I0389073f6b18450edc8fa70ed3ec72683a166915\n"
    },
    {
      "commit": "8f73edb22a30260a2f4f7946fbedd3fd3005c5b6",
      "tree": "64727d7547fdef61a404952709b3867f48f681d8",
      "parents": [
        "22d65757103e46bef8c6902ea08c84a775b62a0b",
        "25e029746796fe88e82417fb01af2e27b8bbadb2"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jun 22 17:38:54 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 22 17:38:54 2016 +0000"
      },
      "message": "Merge \"Impose a size bound for dynamically allocated tables in stbl.\" into klp-dev"
    },
    {
      "commit": "25e029746796fe88e82417fb01af2e27b8bbadb2",
      "tree": "b09f9538145fdae6557e38aae36433a8faad7603",
      "parents": [
        "dc7357d20175fadfabd903370094917408bf6e3e"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Jun 21 19:10:21 2016 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jun 22 01:00:26 2016 -0700"
      },
      "message": "Impose a size bound for dynamically allocated tables in stbl.\n\nImpose a restriction of 200MiB for tables in stsc, stts, ctts and stss\nboxes. Also change Vector to std::vector for efficiency and consistency.\n\nBug: 29367429\nChange-Id: I175da524612b9fe68496c612966af51f01a5cd5e\n"
    },
    {
      "commit": "5c1f01675ca0f4f231f206fc7fe64d353592f726",
      "tree": "0d22666b8004a8e4ae781514d99b9a00e0059d16",
      "parents": [
        "8b35cb563de25a0b5f743de2eeb385a87e95ca6c",
        "4bec033dedcb2e9297001878c7837a3d46d205a3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 21 22:03:33 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 22:03:33 2016 +0000"
      },
      "message": "Merge \\\\\"DO NOT MERGE: Camera: Adjust pointers to ANW buffers to avoid infoleak\\\\\" into klp-dev am: 22d6575710\nam: 4bec033ded\n\nChange-Id: I68dd7d3ea94b10104c235007fd03230ef5ae0146\n"
    },
    {
      "commit": "54fc49c9f5ac06ea3c21cfe05a00f36c7df91b3f",
      "tree": "1ac44e86f7e902ab31974e23e456260033c87a05",
      "parents": [
        "cf1aed625841c82c050fc6d460f561038f772a9c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 20 17:00:14 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 20 21:32:22 2016 -0700"
      },
      "message": "DO NOT MERGE: Camera: Adjust pointers to ANW buffers to avoid infoleak\n\nSubtract address of a random static object from pointers being routed\nthrough app process.\n\nBug: 28466701\nChange-Id: Idcbfe81e9507433769672f3dc6d67db5eeed4e04\n"
    },
    {
      "commit": "7a3de84808f700615816397acc7c7927987bab6e",
      "tree": "926c2963967ecb1fb82d5b4584433b30dd3e531d",
      "parents": [
        "dc7357d20175fadfabd903370094917408bf6e3e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 20 17:00:14 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 20 21:32:08 2016 -0700"
      },
      "message": "DO NOT MERGE: Camera: Adjust pointers to ANW buffers to avoid infoleak\n\nSubtract address of a random static object from pointers being routed\nthrough app process.\n\nBug: 28466701\nChange-Id: Idcbfe81e9507433769672f3dc6d67db5eeed4e04\n"
    },
    {
      "commit": "d0f4bfb5527e88e868c4263cb6c9d219367b9fc9",
      "tree": "69301a8556126d12747adc0544dc57a8c389d97a",
      "parents": [
        "33e914c861732cbcca923d34d368e1635b68434f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 07 12:26:43 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 08 17:10:39 2016 -0700"
      },
      "message": "Don\u0027t use sp\u003c\u003e\u0026\n\nbecause they may end up pointing to NULL after a NULL check was performed.\n\nBug: 28166152\nChange-Id: Iab2ea30395b620628cc6f3d067dd4f6fcda824fe\n"
    },
    {
      "commit": "e66381758d6ba02494251e6097e0774a56524be5",
      "tree": "df4f40e2ccb8ca187d1b6a65a597e01ea5615605",
      "parents": [
        "08cb85206ab65cc2b9df372e4ae5f75c331ae7a1",
        "0ee3710873997f09b9a0a645e8b2de9923894f17"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 08 23:14:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 08 23:14:09 2016 +0000"
      },
      "message": "Merge \\\\\"Don\\\\\u0027t use sp\u003c\u003e\u0026\\\\\" into klp-dev am: 598f8d3218\nam: 0ee3710873\n\nChange-Id: I95ce93c3c1975b444bd6cd2c49a3b215395d2754\n"
    },
    {
      "commit": "fc47a301b7b2b044eddaedc98861d55193ec7dc0",
      "tree": "8f64350afe90fc797bba02c7a24720a9c80c31f5",
      "parents": [
        "b016207fc2442420e8d3a8633575ffe4fc29fef3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 07 12:26:43 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 07 12:31:11 2016 -0700"
      },
      "message": "Don\u0027t use sp\u003c\u003e\u0026\n\nbecause they may end up pointing to NULL after a NULL check was performed.\n\nBug: 28166152\nChange-Id: Iab2ea30395b620628cc6f3d067dd4f6fcda824fe\n"
    },
    {
      "commit": "ab7276351e41bc0d40d28c231993ba240b5f21a0",
      "tree": "ee86ba8839dec7ccb3906ab7db5169a617b1bfa8",
      "parents": [
        "76f606bdf9d52a4406dc285e06a0f15b13903bac",
        "a0970c9faabdaca647cb22b78432511de3220399"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Apr 16 00:11:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 16 00:11:25 2016 +0000"
      },
      "message": "Merge \"SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.\" into klp-dev am: 5964527 am: e896c41\nam: a0970c9\n\n* commit \u0027a0970c9faabdaca647cb22b78432511de3220399\u0027:\n  SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.\n\nChange-Id: I7d7e410e25d8a5b1066251cae8cddfa050b07f71\n"
    },
    {
      "commit": "a0970c9faabdaca647cb22b78432511de3220399",
      "tree": "f1f32337b6812a38e1fda5417b3489e9b84de193",
      "parents": [
        "9f3762d8c76b778c8f600486a464838731105b09",
        "e896c41d85a15de06c74885fe040f3f57b63cd5d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Apr 16 00:09:00 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 16 00:09:00 2016 +0000"
      },
      "message": "Merge \"SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.\" into klp-dev am: 5964527\nam: e896c41\n\n* commit \u0027e896c41d85a15de06c74885fe040f3f57b63cd5d\u0027:\n  SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.\n\nChange-Id: I5f23c14d155ea5a64b00d877a329c77cfc5b55f7\n"
    },
    {
      "commit": "a3630a418b4f65277a42cd4018cd3b0b7e134d0c",
      "tree": "faeb669973973cbe4c538f4eec492a1bb9575997",
      "parents": [
        "52636f8462b2a24f77524ca912e3579c33ac113e"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 13 16:25:12 2016 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 14 23:25:16 2016 +0000"
      },
      "message": "SampleTable.cpp: Prevent corrupted stts block from causing\nexcessive memory allocation.\n\nDetails:\n\nDataSource.h\n- Added function getVector() for reading from a data source into\n  a Vector object, whose capacity grows only as much as needed\n  (in case of EOS or reading error).\nSampleTable.h\n- Changed the type of mTimeToSample from uint32_t* to\n  Vector\u003cuint32_t\u003e.\nSampleTable.cpp\n- In setTimeToSample, modified the code to use getVector()\n  instead of readAt(). If the input source has a corrupt\n  time-to-sample table size that is too big, EOS will be reached\n  before the whole table is read, and the return value from\n  getVector() will be false.\n- Also, tightened the bound for the provided time-to-sample table\n  size to guarantee that the table does not take more than\n  UINT_MAX32 bytes in memory.\n\nBug: 28076789\nChange-Id: Id207f369ab7b27787d83f5d8fc48dc53ed9fcdc9\n"
    },
    {
      "commit": "d11972f8d48d14a1a52e98e64b8216abfc7f00e0",
      "tree": "513d2cd1a96344f2f505defaeeffbe0188088e48",
      "parents": [
        "776aacce9e5e2dfbc4e7a955916ea0d397af74bf",
        "93f5bcab205f8d7cd4557eacda513867e8b8ea65"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 24 21:37:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 24 21:37:05 2016 +0000"
      },
      "message": "Get service by value instead of reference am: 61a6d26aab\nam: 93f5bcab20\n\n* commit \u002793f5bcab205f8d7cd4557eacda513867e8b8ea65\u0027:\n  Get service by value instead of reference\n"
    },
    {
      "commit": "93f5bcab205f8d7cd4557eacda513867e8b8ea65",
      "tree": "8b1ad39e3a33cbe4b76e36e17a37cb705f8948d6",
      "parents": [
        "33514675f6588d70a203b2c9200792bca18d425c",
        "61a6d26aab95870279b274e565c1495748befde0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 24 21:24:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 24 21:24:09 2016 +0000"
      },
      "message": "Get service by value instead of reference\nam: 61a6d26aab\n\n* commit \u002761a6d26aab95870279b274e565c1495748befde0\u0027:\n  Get service by value instead of reference\n"
    },
    {
      "commit": "61a6d26aab95870279b274e565c1495748befde0",
      "tree": "d58c9beb9e499e5983db76a52f02f2456c35ff92",
      "parents": [
        "f7a388203a1632084dbe3307d7e3265f689bc11e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 18 08:25:47 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 23 19:28:09 2016 -0800"
      },
      "message": "Get service by value instead of reference\n\nto prevent a cleared service binder from being used.\n\nBug: 26040840\nChange-Id: Ifb5483c55b172d3553deb80dbe27f2204b86ecdb\n"
    },
    {
      "commit": "208bc477d92dbd2e5b4d1c0b2d000fa4c231e9d3",
      "tree": "f24b4d3f782bf473dbeb70c5e4b579bc135eaa15",
      "parents": [
        "9e1d7751b12ea976323abc1fe7760323ab142d39",
        "3d6a7149802928ecf3f58b7218b0e82699b492df"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 03 22:55:36 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 03 22:55:36 2015 +0000"
      },
      "message": "DO NOT MERGE SoundPool: add lock for findSample access from SoundPoolThread\nam: 3d6a714980\n\n* commit \u00273d6a7149802928ecf3f58b7218b0e82699b492df\u0027:\n  DO NOT MERGE SoundPool: add lock for findSample access from SoundPoolThread\n"
    },
    {
      "commit": "3d6a7149802928ecf3f58b7218b0e82699b492df",
      "tree": "d1733d4792e95ae68ed843927cf38291863e4c42",
      "parents": [
        "6afc659b00c3f4a83b9f5f3c744b7119b33340b4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 02 15:55:23 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 03 18:54:00 2015 +0000"
      },
      "message": "DO NOT MERGE SoundPool: add lock for findSample access from SoundPoolThread\n\nSample decoding still occurs in SoundPoolThread\nwithout holding the SoundPool lock.\n\nBug: 25781119\nChange-Id: I11fde005aa9cf5438e0390a0d2dfe0ec1dd282e8\n"
    },
    {
      "commit": "19c47afbc402542720ddd280e1bbde3b2277b586",
      "tree": "d2c3657298566f4466ea0f6ee51217ffe1a9b7a1",
      "parents": [
        "09c291c838bc74bb7c10c22f7232abb946cad8ff"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 02 15:55:23 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 02 18:05:32 2015 -0800"
      },
      "message": "DO NOT MERGE SoundPool: add lock for findSample access from SoundPoolThread\n\nSample decoding still occurs in SoundPoolThread\nwithout holding the SoundPool lock.\n\nBug: 25781119\nChange-Id: I11fde005aa9cf5438e0390a0d2dfe0ec1dd282e8\n"
    },
    {
      "commit": "77c185d5499d6174e7a97b3e1512994d3a803151",
      "tree": "f5ad0fe15b5eac1f8eb5ca52384c022ac2e60b57",
      "parents": [
        "0b1936bee532545381db6adf22f31ac437673f30"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 12 17:10:31 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 12 17:27:17 2015 -0700"
      },
      "message": "stagefright: check bounds for MediaCodecList.getCodecInfo\n\nBug: 24445127\nChange-Id: I1c6cb9e2518b852d48d5d0d625b54409bd4e13ec\n"
    },
    {
      "commit": "dd184a4824acc31160895e2c6f8d93a7facfc2c8",
      "tree": "b59541270989719862e923d24637064ef10aa810",
      "parents": [
        "fc0e2a87c17b1f326b5e3302e8f534c143fd5784",
        "3b4a72acf039c58c33807b6d6fcdd5e09eafb1df"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 08 16:48:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 08 16:48:33 2015 +0000"
      },
      "message": "am 3b4a72ac: Merge \"DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.\" into klp-dev\n\n* commit \u00273b4a72acf039c58c33807b6d6fcdd5e09eafb1df\u0027:\n  DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.\n"
    },
    {
      "commit": "2482595baadd16f20d3992c8c9d6a14061836872",
      "tree": "1b2d060855dc645f847ff2143e359166005f829a",
      "parents": [
        "07395f4cd72cf29d1de2864cde42876db4e54411"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Sep 28 11:32:23 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 07 13:53:25 2015 -0700"
      },
      "message": "DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.\n\nBug: 24310423\nChange-Id: Iebcfc58b447f925ec2134898060af2ef227266a3\n(cherry picked from commit 8dde7269a5356503d2b283234b6cb46d0c3f214e)\n"
    },
    {
      "commit": "4a03d784f7c0e3a9685d182eee92ba6580eaf5a1",
      "tree": "a7356ea6c85c6d1b4b45e0288f43b4f9fe9edae4",
      "parents": [
        "74d1927e4122a1748f89ca2ef79406fc06ee94b2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Sep 28 11:32:23 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 07 11:27:32 2015 -0700"
      },
      "message": "DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.\n\nBug: 24310423\nChange-Id: Iebcfc58b447f925ec2134898060af2ef227266a3\n(cherry picked from commit 8dde7269a5356503d2b283234b6cb46d0c3f214e)\n"
    },
    {
      "commit": "27362395cec5673a9cbfe7179ad5490c4e475329",
      "tree": "e157babb6cdfb2579d9382b2ce2db7da23908611",
      "parents": [
        "6035c811849a8475697268cf71b5cf923705abe8",
        "2ed42aea9c6fbca4bde52d647ff082b997b5968c"
      ],
      "author": {
        "name": "Jon Larimer",
        "email": "jlarimer@google.com",
        "time": "Tue Aug 18 15:13:39 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 18 15:13:39 2015 +0000"
      },
      "message": "am 2ed42aea: Merge \"do not dequeue from native window after we hit fatal error -- DO NOT MERGE\" into klp-dev\n\n* commit \u00272ed42aea9c6fbca4bde52d647ff082b997b5968c\u0027:\n  do not dequeue from native window after we hit fatal error -- DO NOT MERGE\n"
    },
    {
      "commit": "bf47eb9c67ed364f3c288954857aab9d9311db4c",
      "tree": "5ba3da2bb1e2103a1719e9c014dfb290392ff0b1",
      "parents": [
        "e4ac35fa524b011f272d396b2c12515382bddb94"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 14 13:50:02 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 17 17:14:50 2015 +0000"
      },
      "message": "do not dequeue from native window after we hit fatal error -- DO NOT MERGE\n\nbug: 22845824\nChange-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141\n(cherry picked from commit 346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a)\n"
    },
    {
      "commit": "734e65e6e7e1ee863781c1ebd87003933bb4a752",
      "tree": "33fc593159d45ac2a84e93aa8c2d05583acfac65",
      "parents": [
        "3ce293842fed1b3abd2ff0aecd2a0c70a55086ee"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 14 13:50:02 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 17 17:14:17 2015 +0000"
      },
      "message": "do not dequeue from native window after we hit fatal error -- DO NOT MERGE\n\nbug: 22845824\nChange-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141\n(cherry picked from commit 346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a)\n"
    },
    {
      "commit": "171b5fadb9d304f5e06686e4f3d060ef335d7250",
      "tree": "8d45331766e9cb5c701db4a8ca4e51e89f1ac5ad",
      "parents": [
        "d8bb17e33ef33ce173fa2d096211785145d41921",
        "d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 07 14:32:40 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 14:32:40 2015 +0000"
      },
      "message": "am d6ea7f65: am f26400c9: Fix crash on malformed id3\n\n* commit \u0027d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3\u0027:\n  Fix crash on malformed id3\n"
    },
    {
      "commit": "d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3",
      "tree": "b62ef0d8d86dd5a159fda3997b7b7369ced8a96c",
      "parents": [
        "42bd61d73e8b4d0b1101e73324a59fde51077112",
        "f26400c9d01a0e2f71690d5ebc644270f098d590"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 07 14:25:10 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 14:25:10 2015 +0000"
      },
      "message": "am f26400c9: Fix crash on malformed id3\n\n* commit \u0027f26400c9d01a0e2f71690d5ebc644270f098d590\u0027:\n  Fix crash on malformed id3\n"
    },
    {
      "commit": "f26400c9d01a0e2f71690d5ebc644270f098d590",
      "tree": "b96386b9c3bf83c969ed207dbd7b53eb29e6c6a3",
      "parents": [
        "d9a9a324766b26be2ff0d10537ea0b215b0261e3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 04 16:49:28 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 04 23:52:34 2015 +0000"
      },
      "message": "Fix crash on malformed id3\n\nBug: 22954006\nChange-Id: I488cb1e2c69fc7043b6040481b30fa866000515d\n"
    },
    {
      "commit": "a3e8f60f5e409f65f12636df5fad7f20ff736df5",
      "tree": "782d8d5c457afc6b57397ea6890f06b4c0067eec",
      "parents": [
        "5a75b4215821d633af18dd8dae2495299c070bf0",
        "7acac10aae34da5ae4d628c5a270e7e3e94f7598"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon May 11 11:10:36 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 11 11:10:36 2015 +0000"
      },
      "message": "am 7acac10a: Merge \"DO NOT MERGE: Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\" into klp-dev\n\n* commit \u00277acac10aae34da5ae4d628c5a270e7e3e94f7598\u0027:\n  DO NOT MERGE: Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\n"
    },
    {
      "commit": "67a30ebfe785f7cd5ecfb0d2fb487e54536a3d48",
      "tree": "2d7fa0640fa55b339ae5083e7d75022ab3d56720",
      "parents": [
        "6429079345404932c5be5956efc7154390d2ed0e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Apr 01 19:32:25 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sat Apr 25 00:46:59 2015 +0000"
      },
      "message": "DO NOT MERGE: Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\n\nBug: 19641538\nChange-Id: I5aae3f100846c125decc61eec7cd6563e3f33777\n"
    },
    {
      "commit": "bfed843041b6aaec13ee19996748a7a1476db9c8",
      "tree": "f6f6744dbf809a6d7897767f264944922fe954cf",
      "parents": [
        "eb204f82afd5519eb544bf8bee692e7152820c3b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Apr 01 19:32:25 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 24 17:10:41 2015 -0700"
      },
      "message": "Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\n\nBug: 19641538\nChange-Id: I5aae3f100846c125decc61eec7cd6563e3f33777\n"
    },
    {
      "commit": "6d60079e97c5fd6ba7de7b60adb0a027c0608d19",
      "tree": "9ebbce57d5015eb8ac2356af7ed14b84136b9916",
      "parents": [
        "995599cbd6ada739c257716a6d8b90eee6d61473",
        "99370d2da54d7537ffda7fef1f6ef36f8b690321"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 23:31:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 23:31:32 2014 +0000"
      },
      "message": "am 99370d2d: am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\n* commit \u002799370d2da54d7537ffda7fef1f6ef36f8b690321\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "99370d2da54d7537ffda7fef1f6ef36f8b690321",
      "tree": "1ba4953c98fd3eeaa6f9a3fc2ab3e88003da23e4",
      "parents": [
        "ca83dd27f6c662bcbb0cea204c4df7ca77a479fd",
        "ae6965ae7664aaea489a8d58358035610075c9af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 23:28:27 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 23:28:27 2014 +0000"
      },
      "message": "am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\n* commit \u0027ae6965ae7664aaea489a8d58358035610075c9af\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "ae6965ae7664aaea489a8d58358035610075c9af",
      "tree": "fd4406ad0fbd33d98a2cca8407aad354f9baa58b",
      "parents": [
        "42f785c5d5ae596d781171327c98c541f0517feb",
        "3aef35600523eb6b4ccc8086a8913e80701a031a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 23:20:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 10 23:20:25 2014 +0000"
      },
      "message": "am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\n* commit \u00273aef35600523eb6b4ccc8086a8913e80701a031a\u0027:\n  IAudioPolicyService: bound array size in queryDefaultPreProcessing\n"
    },
    {
      "commit": "e360f0f6cad290f69e07fd3a20dcf11a1dbc4160",
      "tree": "6e19a985df2a12cf74d713b689556cfc735f0088",
      "parents": [
        "96016c2d583ccca9fffd6974cb9473f7effd6cf5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 05 12:15:36 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 10 19:43:46 2014 +0000"
      },
      "message": "IAudioPolicyService: bound array size in queryDefaultPreProcessing\n\nBug: 18226810.\nChange-Id: Ib8e2bfe835a8681aac50bf23161db14e50c9a124\n(cherry picked from commit 74adca9ad30b7f8a70d40c5237bade0d16c4ea58)\n"
    },
    {
      "commit": "258420480e1edc73b112a5994a8456e31c558860",
      "tree": "d36112992f8402264834df923ff0c7500c11c6de",
      "parents": [
        "6ce19d24ff985cf845f04c2d6542ce03c7d07964",
        "30358faf33fb9b638257b017fadb4c5f7352d903"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 22 00:29:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 22 00:29:43 2014 +0000"
      },
      "message": "Merge \"stagefright: try to free codec instance if MediaCodec.release hangs\" into lmp-dev"
    },
    {
      "commit": "30358faf33fb9b638257b017fadb4c5f7352d903",
      "tree": "9cf39ac9b04a8de88c5b1dbd40d2c8631efc2115",
      "parents": [
        "7de5ac1f067ec61f7ea424d5534cfd40987b11fa"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Oct 21 16:07:52 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Oct 21 16:14:11 2014 -0700"
      },
      "message": "stagefright: try to free codec instance if MediaCodec.release hangs\n\nBug: 18033275\nChange-Id: If86cd26566d7b75941976f37829bbec619800778\n"
    },
    {
      "commit": "52dfbee90cc3c4426428318e06a92774f5201198",
      "tree": "3721c673f64eefe2bab9a7065ccc17a6f5109800",
      "parents": [
        "7de5ac1f067ec61f7ea424d5534cfd40987b11fa"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Wed Oct 15 02:24:34 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Oct 21 11:15:08 2014 -0700"
      },
      "message": "Stagefright: MediaCodec: shutdown allocated codec on error\n\nIf MediaCodec sees a fatal error and transitions to\nUNINITIALIZED state, The codec may still be alive (with an\nexception of \u0027mediaserver-died\u0027 error).\nHandle Shutdown of the codec during release().\n\nBug: 17784012\nBug: 18033275\n\nChange-Id: I891e036499d9b440a57f77fb735a5ba4da9a6e43\n"
    },
    {
      "commit": "af238382e33a027494a53556e6104b7245e7213f",
      "tree": "87ce15febc15c2063c3655b28214e97929de5660",
      "parents": [
        "ce26e9d13da7a4a4443b9be775bb12fb3ac97d23",
        "04906863a1fa7f296ac11f07e62aa688da39c3ad"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 09 19:34:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 09 19:34:31 2014 +0000"
      },
      "message": "Merge \"Fix VideoFrame class layout for 64/32 bit\" into lmp-dev"
    },
    {
      "commit": "04906863a1fa7f296ac11f07e62aa688da39c3ad",
      "tree": "920f274f1058dafcdc3a0c6a4772eba868f09be4",
      "parents": [
        "af1a4dc989d6707116eaefab300ad55124aace66"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 09 09:47:12 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 09 09:47:12 2014 -0700"
      },
      "message": "Fix VideoFrame class layout for 64/32 bit\n\nThis structure is passed between 64 and 32 bit processes via shared\nmemory, so ensure it\u0027s the same size, and that the members we care\nabout are in the same place.\n\nBug: 17569156\nChange-Id: Id776bc825af1fbf43a6dd3407cca064f6d932902\n"
    },
    {
      "commit": "584c14c370f141685b7e8963a13ed91584383ca1",
      "tree": "3fec4de36f0907212c5d7f2375f537bcfb3f9c35",
      "parents": [
        "e48b90d634f9e6190a788e6225927d418b11d162",
        "ab76066c11e988ca3d3a5d6d74dd510ae080322e"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Tue Oct 07 01:56:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 07 01:56:59 2014 +0000"
      },
      "message": "Merge \"stagefright: do not allocate output buffers for tunneled playback\" into lmp-dev"
    },
    {
      "commit": "f2a64852a4a48c5a3d8a08ffcda20d6884586672",
      "tree": "6f9909217ea845e3d57580240ad00116d7408069",
      "parents": [
        "b220fe0e40bc3752b62a9576fc824634a16fc3ab"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 03 16:12:37 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 03 23:25:54 2014 +0000"
      },
      "message": "MediaRecorder: only dequeue available buffers from MediaCodec\n\nBug: 17514968\nChange-Id: If232f92d163deb2440b927315c69e0c4d51ca290\n"
    },
    {
      "commit": "a147b4f91143d9f2fb608e22f9fca14bbd029573",
      "tree": "e8a2933109c5955906b7e5f1e61ca1a0093c5633",
      "parents": [
        "c416becd966945fca5fa7fb45ac51f84d1d8cd20"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 01 21:36:51 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Oct 02 09:13:13 2014 -0700"
      },
      "message": "mediarecorder: set level if setting default profile\n\nBug: 17676461\nChange-Id: If01ccd09935945d330de0842be95c3544951b6b9\n"
    },
    {
      "commit": "c416becd966945fca5fa7fb45ac51f84d1d8cd20",
      "tree": "a6c4443573c5dd88f2ecbcf3c84f90d58b689dba",
      "parents": [
        "f916667a017a5a6763afc4808344778570312d5a"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 01 21:30:20 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 01 21:39:03 2014 -0700"
      },
      "message": "stagefright: move math templates into AUtils.h\n\nadd unit test for math templates\n\nBug: 17676461\nChange-Id: Ie964c5fcfcca1ec53b4538f8e577392e8fbb4319\n"
    },
    {
      "commit": "d0b9efe7d8300e48f7a99c1dd746d60060206b3c",
      "tree": "ff063a11d672bb71bbced27740eeac82216ed054",
      "parents": [
        "3af67d03bbc30c368821caf8b74ae7fb91ee7db7",
        "2965f4eb7dceaf1173f0e2d93c11c28293aeead7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 01 21:37:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 01 21:37:11 2014 +0000"
      },
      "message": "Merge \"add AAC audio decoder params for PCM limiter enable\" into lmp-dev"
    },
    {
      "commit": "360d6d0924f99b82ebacb5cfb6f7bca95e11b4ee",
      "tree": "1373f20ae467045842a9d206729ace2700f52bd0",
      "parents": [
        "992626cfe4852f1a2b46ea226b19c2eaa5dcfb89"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Sep 29 14:42:35 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Oct 01 10:58:30 2014 -0700"
      },
      "message": "GenericSource: support disconnect before NuCachedSource2 is created\n\nBug: 17672488\nChange-Id: I96776c9679fdcfbe9a442c86447c59802b1465ac\n"
    },
    {
      "commit": "2965f4eb7dceaf1173f0e2d93c11c28293aeead7",
      "tree": "7e69324afe5b3b2713b1f5c10bc3d71468197131",
      "parents": [
        "80ec934ae7d4e3a78af87554fdb77a58f6386ba0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 30 22:02:34 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 01 10:43:12 2014 -0700"
      },
      "message": "add AAC audio decoder params for PCM limiter enable\n\nBug: 17470065\nChange-Id: Ib67aa1c50e3b6c24c4b12b0f31a996cc6874abd1\n"
    },
    {
      "commit": "ab76066c11e988ca3d3a5d6d74dd510ae080322e",
      "tree": "deb4cccdb021f1e7aa0dd147f187a96b51b43d4c",
      "parents": [
        "9f8551ffa967bd8a4d0a52487a183dcf8b22d91f"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Mon Sep 22 19:34:31 2014 -0700"
      },
      "committer": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Sun Sep 28 15:33:34 2014 -0700"
      },
      "message": "stagefright: do not allocate output buffers for tunneled playback\n\nDo not allocate native window buffers for tunneled video playback codecs.\n\nBug: 17112525\nChange-Id: I262d8030a9df6188938fde5d62ebce8faf7dba1f\n"
    },
    {
      "commit": "bb6c9a05840d924b502ce0f1868fca4881ada1ed",
      "tree": "aec6d28b7ab31fec27416c6e853c94c2eedfcd9b",
      "parents": [
        "a935c76f96b066941b34f81c42b3fe9d00db98c5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 25 14:11:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 25 16:44:07 2014 -0700"
      },
      "message": "audio: fix stream type for accessibility usage\n\nMake sure that accessibility prompts are heard when\na ringtone is active by forcing stream type\nto AUDIO_STREAM_RING when phone state is AUDIO_MODE_RINGTONE.\n\nBug: 17558149.\nChange-Id: Ia3bead8052fca5cbf282c267f7b9b06014fef628\n"
    },
    {
      "commit": "d7f77cd78f5180ba7a04b270d632cc4f9f11718a",
      "tree": "b7110dfa83901fc8da23bda42b35c3205a75114c",
      "parents": [
        "0079b331227fc1555d7c5305f33917a570d44890",
        "dc9f58dc23a86d0635fd8601d1cbc8d47bab0303"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Sep 22 19:01:38 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 22 19:01:38 2014 +0000"
      },
      "message": "Merge \"MediaCodec: Fix deallocated pointer reference when calling reset()\" into lmp-dev"
    },
    {
      "commit": "dc9f58dc23a86d0635fd8601d1cbc8d47bab0303",
      "tree": "2ee7470116618537ff6a11e06c6d87421ed24509",
      "parents": [
        "2973994af39d55b58728df3dca067594e826ea2a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 18 14:45:57 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Sep 22 10:23:31 2014 -0700"
      },
      "message": "MediaCodec: Fix deallocated pointer reference when calling reset()\n\nThe name pointer argument in MediaCodec::init() was being\nimplicitly deallocated.\n\nBug: 17499622\nChange-Id: If9409f95674e52d1478f969f77693c4d27ff1ff2\n"
    },
    {
      "commit": "0079b331227fc1555d7c5305f33917a570d44890",
      "tree": "9426b791e1d7e14ee3cba19ab38f09d7da7ade83",
      "parents": [
        "39e07162be0680fd30bec7be50628883aa912ffd",
        "96e92b58b7e9647b4c7c2f54b62a1b357ab06b66"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Sep 22 16:03:02 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 22 16:03:03 2014 +0000"
      },
      "message": "Merge \"MediaBuffer: ABuffer will release MediaBuffer when it\u0027s destructed.\" into lmp-dev"
    },
    {
      "commit": "96e92b58b7e9647b4c7c2f54b62a1b357ab06b66",
      "tree": "35b83c45383cf9753b2f48eea71e66d5331165dc",
      "parents": [
        "086c1e3f41a92aa0025a1da1db5dabbfdffaf129"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Sep 18 17:36:20 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Sep 19 19:20:58 2014 -0700"
      },
      "message": "MediaBuffer: ABuffer will release MediaBuffer when it\u0027s destructed.\n\nBug: 17454455\nChange-Id: Ia423bcc2e1fa39137f114eac44912ed15357bb99\n"
    },
    {
      "commit": "6aadfce1d8c972faad7f4437dcd88d8cd3557611",
      "tree": "59e128037e1ba35eab1be1595d72621ce322476e",
      "parents": [
        "2973994af39d55b58728df3dca067594e826ea2a",
        "a0fd9ca66a68baefd9d76800fd66823fd654ef45"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 18 22:14:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 18 22:14:00 2014 +0000"
      },
      "message": "Merge \"AudioEffect acquires session\" into lmp-dev"
    },
    {
      "commit": "a0fd9ca66a68baefd9d76800fd66823fd654ef45",
      "tree": "c3102c24d002966b7c0038e885296d77136a47c3",
      "parents": [
        "2720c8c45a0040d7007239c100591b9f092b780f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 18 14:07:18 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 18 14:07:18 2014 -0700"
      },
      "message": "AudioEffect acquires session\n\nCurrently, users of audio sessions, AudioTrack and AudioRecord,\n are acquiring and releasing audio sessions according to their\n life-cycle. AudioEffect instances were not counting as users\n of an audio session. This caused an effect used on a session\n to be purged by AudioFlinger::purgeStaleEffects_l() whenever\n the last user of that session went away.\nThis CL makes AudioEffect acquire and release a session when\n created and destroyed.\n\nBug 15432115\n\nChange-Id: I922532150009988d43872f9b5928044a830ae0b3\n"
    },
    {
      "commit": "832666776a681ec3a30ee8fc7d5da9039646147d",
      "tree": "5db9531f473caf0e8f8cce740a997f1ad282edb2",
      "parents": [
        "a87be62b083fb969aeece99d6c29735ef9a5a373",
        "06ad1528e6dd4c866c085d3cad9235d2752eb3ed"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 17 23:15:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 17 23:16:00 2014 +0000"
      },
      "message": "Merge \"NuPlayer: use getTimestamp instead of getPosition\" into lmp-dev"
    },
    {
      "commit": "7f1bc8af1c46695191bf7e2aba6467f3616629c0",
      "tree": "905b0091037bea59f81df3cc6e49c2cfd1d7d24d",
      "parents": [
        "90869c2bef1bc47394a9f603ccebb62b2592fd2b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Sep 12 14:43:11 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 17 23:07:05 2014 +0000"
      },
      "message": "Fix AudioTrack offloaded timestamp handling.\n\ngetTimestamp for offloaded tracks now returns WOULD_BLOCK for\nsituations where the timestamp is unavailable due to the\nprevious track still flushing or the timestamp is stale.\nIt is fixed for normal playback conditions.\n\nBug: 14659809\nBug: 17428188\nChange-Id: Ic9ec07ccabc604236979769db5c4ea2dec252660"
    },
    {
      "commit": "06ad1528e6dd4c866c085d3cad9235d2752eb3ed",
      "tree": "4b8411a9c418927b3916d5b5381cc8738a3ccb31",
      "parents": [
        "919b93473ebbba036f3934e92039f038c7f91a54"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 28 07:27:44 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 17 23:01:24 2014 +0000"
      },
      "message": "NuPlayer: use getTimestamp instead of getPosition\n\nBug: 14659809\nBug: 16985287\nChange-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045"
    },
    {
      "commit": "200092b7f21d2b98f30b800e79d152636f9ba225",
      "tree": "35ced5107a366d0885a6a54e5473891e5ce01317",
      "parents": [
        "4953f92be5c45d7b79448e8964ecbdc39eacb782"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 15 15:13:30 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Sep 11 09:54:52 2014 -0700"
      },
      "message": "Clean up AudioTrack position and timestamp handling\n\nReplace epoch concept by observing and accumulating server delta\npositions.  The advantage of using server deltas instead of absolute\nvalues is that they (1) are not sensitive to 32-bit wraparound,\n(2) are not sensitive to server behavior for stop(), and\n(3) prepare for future 64-bit client positions without requiring 64-bit\npositions on server.\n\nAdd comments to AudioTrack::getTimestamp() and friends\nthat the timestamp output parameter is undefined on error.\n\nDon\u0027t allow getTimestamp to return a negative frame position after stop().\n\nAccumulate the client released frames, which may be useful for a future API.\n\nBug: 11815245\nChange-Id: I652940fa2db2f34a78c012a3ead0d9204fa29c6e\n"
    },
    {
      "commit": "7ea429295a2eb31f2d9256c36c1ef53a195456ac",
      "tree": "b6c7d9d6050093b199d25e579d1407dca4ccc9e5",
      "parents": [
        "83ee5564965408307e6f045ce5faed72bc3437b0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 27 09:02:47 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 10 00:06:45 2014 -0700"
      },
      "message": "stagefright: don\u0027t use AAtomizer in AMessage\n\nBug: 15094301\nChange-Id: Ib82fb6d8fb6b48402d81f411123b3d924368eb93\n"
    },
    {
      "commit": "83ee5564965408307e6f045ce5faed72bc3437b0",
      "tree": "a06226084e4bf874ec9b361ff058e6488e44b93e",
      "parents": [
        "c99d333f59b5559248a5bf3135b7ef85b5f40133",
        "9520aa609c505cf8a9ee105bd78dc186cfb7770b"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 10 05:12:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 10 05:12:18 2014 +0000"
      },
      "message": "Merge \"CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P\" into lmp-dev"
    },
    {
      "commit": "9caf1f5677edb365c20739612cba9f59291a9afb",
      "tree": "c0e84b0ac44d03f63b5b74f961df819980876e92",
      "parents": [
        "8716e3f386f37abd3d759404ca8b3deaf46afde8",
        "0671947255321526cb1ba1ec3a20af9e8579c257"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Sep 09 23:56:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 09 23:56:05 2014 +0000"
      },
      "message": "Merge \"Add error code for insufficient output protection\" into lmp-dev"
    },
    {
      "commit": "9520aa609c505cf8a9ee105bd78dc186cfb7770b",
      "tree": "d6027b7564032ed9f307fc758b4ca49bc997674e",
      "parents": [
        "8270e1d13a101fa946848871b9903b31ff11981f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Sep 09 16:18:31 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Sep 09 16:18:31 2014 -0700"
      },
      "message": "CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P\n\nBug: 17059255\nChange-Id: Ic6b272e4ceec8fc852c9eb787370f4d366dad0ac\n"
    },
    {
      "commit": "640adb3cf89cc9b826372009fad8c9b3d120482e",
      "tree": "e51644f1d307b920cf35e364c7d7562a604ef9a5",
      "parents": [
        "f2a2d0d6731174f5ce2a7b9d6dfd96dd7f1727a4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 05 11:20:11 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 05 11:58:39 2014 -0700"
      },
      "message": "Cache audio attributes when player not available\n\nCache the audio attributes stored in a Parcel in the client-side\n MediaPlayer object if they are set through setParameter()\n before the server-side MediaPlayer is available. Apply them when\n the player is prepared.\n\nBug 17280746\n\nChange-Id: I72f1a7fc4e2b076fae8cbdede77a2f74e98b2a03\n"
    },
    {
      "commit": "d71233a846aca7035a851941c1530d04c6a65086",
      "tree": "a1f528af0c52fd0d78a1843743f2930a2684f2b2",
      "parents": [
        "acdae5d7865b604acaadd3be1c45c84ca4bf3952",
        "34581f44cde67960fbac3ba1f191a2c063ea5145"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 03 19:09:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 03 19:09:43 2014 +0000"
      },
      "message": "Merge \"Use CharacterEncodingDetector in metadataretriever\" into lmp-dev"
    },
    {
      "commit": "ea8462ccd1a882f2c7c785250bcfaa2606b53cb5",
      "tree": "e5125d090918b769896b73470f53ba52b80bdf9c",
      "parents": [
        "23c8cf958b1a756d5e0c78c46eac676676be4fdd",
        "047dd13ca42ff7cea10821ef64eb09229fa3e751"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 03 15:52:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 03 15:52:23 2014 +0000"
      },
      "message": "Merge \"Fix more potential deadlocks in ALooperRoster\" into lmp-dev"
    },
    {
      "commit": "34581f44cde67960fbac3ba1f191a2c063ea5145",
      "tree": "9c89d859f2c9cd1c622355a767e3a7c57c658e8a",
      "parents": [
        "9dd4a2ddd7caf8cbe50d8a76e0ec3e0274d2bce6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 29 16:00:28 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 02 11:54:44 2014 -0700"
      },
      "message": "Use CharacterEncodingDetector in metadataretriever\n\ninstead of media scanner. This way the java MediaMetadataRetriever API\nwill give the same result as the media scanner.\nAlso apply some tweaks to the encoding detector to improve handling of\nISO-8859-1 tags.\n\nBug: 16302581, 17205395\n\nChange-Id: I1682a7a6a8bf04cffaa455044ba72dd7fd152d49\n"
    },
    {
      "commit": "97827bd7c7e64dec22c8fe0f9e734a3c432ad7ee",
      "tree": "bead699ab93f53ccd4f5575598960bc11e1491af",
      "parents": [
        "01b9256a1358110ed718c1a83c2a1808d4afbb92"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Thu Aug 28 19:08:45 2014 -0700"
      },
      "committer": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Thu Aug 28 19:08:45 2014 -0700"
      },
      "message": "Tunneled Video Playback:\nChanged AudioHwSync token to int32_t to match Audio stack api.\n\nBug: 17112525\nChange-Id: I673819495c2e7b540e8d7572cc95796bddbf63bb\n"
    },
    {
      "commit": "0671947255321526cb1ba1ec3a20af9e8579c257",
      "tree": "f40a373993228d1c018c90f581eb674aaffdaf55",
      "parents": [
        "d42173a44721af1a600b9c8599bc736394fcc724"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Aug 28 18:00:04 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Aug 28 18:21:53 2014 -0700"
      },
      "message": "Add error code for insufficient output protection\n\nbug: 16034599\nChange-Id: Ib52c8bdae83ea138cac897bce78ab651c36c1998\n"
    },
    {
      "commit": "047dd13ca42ff7cea10821ef64eb09229fa3e751",
      "tree": "5d6a6b01170dffe63e3ecd5be195a27d4dc525a0",
      "parents": [
        "75c672fc376ef9b3ceff61a96513242b0e5ebd60"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 28 10:49:08 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 28 11:25:34 2014 -0700"
      },
      "message": "Fix more potential deadlocks in ALooperRoster\n\nBug: 17059501\nChange-Id: I242f2859527bed2d6e275c27de94fb19f4dcdc28\n"
    },
    {
      "commit": "1754351d9199721e7e7943461689e399ef015260",
      "tree": "5e0fa67a3a220dad0bdb11c2a883db25d4af3269",
      "parents": [
        "60ffbe05857b7583f4c70c31914947476a908b5b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 06 14:32:02 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 27 11:08:10 2014 -0700"
      },
      "message": "CameraService: Correct API2 error handling\n\n- Add more error codes to the binder camera2 callbacks\n- Translate HAL errors to callback errors\n- When flushing, report failures for queued requests\n- Treat stream config failure as nonfatal\n- Send request errors when buffers aren\u0027t available for captures\n\nBug: 15524101\nBug: 14448494\nBug: 11272459\nBug: 17160301\nChange-Id: I81aa54e805a9cce1cb8a6a9374549daa7666deb2\n"
    },
    {
      "commit": "d354d8d1b09503c0166c1f3e626cda72a3eeb83c",
      "tree": "bcb5370e8abc4611587dbef4066c0345a647c068",
      "parents": [
        "111333eaab12448f45927464c8aeacbbf9a578a1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 20 13:09:58 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 21 18:38:09 2014 -0700"
      },
      "message": "move cache prefill to GenericSource\u0027s message handler\n\nThis allows prepareAsync to be terminated by reset promptly.\n\nIt also makes it easier to do buffer update as GenericSource\ncan access the cache status now.\n\nBug: 16892748\nBug: 17182378\n\nChange-Id: Ia55c04a810fd805041cb2025f6739afa5120b5ed\n"
    },
    {
      "commit": "0b88a62d4d5ac1e515721e587cdf9bcec191812b",
      "tree": "fed446ae00af008008f80041651adb1e0af319ae",
      "parents": [
        "475da7ef08c05a482ced8d318832cf5aa1141aff"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 18 16:52:27 2014 -0700"
      },
      "message": "camera: Fix setParameters for Preview FPS single/range values\n\nAs a workaround, duplicate CameraParameters into CameraParameters2 to\nprevent ABI break for some camera HALs that directly link into\nCameraParameters.\n\nCameraParameters2 implements the real fixes needed in the framework,\nwhile CameraParameters is left in to satisfy older camera HALs.\n\nBug: 12609188\nBug: 16654949\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da\n"
    },
    {
      "commit": "732c6d955524ead6c31e6e1bafbd41ea4cee525d",
      "tree": "512bb207b9013da6f9c728f77a3070a7a5b99638",
      "parents": [
        "261562316c1b652ea697c99c0f24a54112bd0385"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 14 19:54:08 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 14 19:56:58 2014 -0700"
      },
      "message": "stagefright/media: add support for codec features with text value\n\nBug: 11990470\nChange-Id: I7600d999c5f4b6821d825d25fa7e8a2bb5a80c46\n"
    },
    {
      "commit": "d018b8ffd84452a7a4b992b5325713b3256e48ff",
      "tree": "a338c848af9b637f9879a7f0293d0fafbfef4489",
      "parents": [
        "2461e0cf6ae3fe5c9b52ce9e3ac764f4aff5e5eb",
        "6ff58f04f78886b07c72c0118eb71a78d08f5651"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 17:05:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 12 16:54:46 2014 +0000"
      },
      "message": "Merge \"MediaCodecList: handle errors gracefully\" into lmp-dev"
    },
    {
      "commit": "2461e0cf6ae3fe5c9b52ce9e3ac764f4aff5e5eb",
      "tree": "449c2a4029cc6e8048b9d9d373078e5830bd9404",
      "parents": [
        "e7a1737c92cf2e84754ffbc52cfec8edeffcbc75"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 08:55:25 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 16:30:40 2014 +0000"
      },
      "message": "MediaCodecList: don\u0027t return references\n\nBug: 16905025\nChange-Id: I5b42b294f0cc785b8e4dda0e82c8f8377a46f487"
    },
    {
      "commit": "6ff58f04f78886b07c72c0118eb71a78d08f5651",
      "tree": "99652bd3f5349e5cd8c55c261e7e06b65fc06ea1",
      "parents": [
        "e7a1737c92cf2e84754ffbc52cfec8edeffcbc75"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Aug 11 16:46:15 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 09:29:29 2014 -0700"
      },
      "message": "MediaCodecList: handle errors gracefully\n\nHandle missing OMX codecs, and codecs that do not load.\nFix NULL dereference when initializing codec with no type.\n\nBug: 16907578\nBug: 16905025\nChange-Id: I5d103db36ebb029d1aab03222bf6e9324beb1566\n"
    },
    {
      "commit": "306c92dabc524f408445f7da2524c7a5e77ade63",
      "tree": "3e7b9269223865424df13a4efc513ecfe57af69c",
      "parents": [
        "de975ca87c3dbdf9b7d92dae54b3446670b2a50e",
        "cd04484f4837b8ca0041d118286ab6a98e84fc75"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Aug 11 20:26:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 11 18:20:32 2014 +0000"
      },
      "message": "Merge \"Extend downsampling ratios greater than 2:1\" into lmp-dev"
    },
    {
      "commit": "cd04484f4837b8ca0041d118286ab6a98e84fc75",
      "tree": "4b9e501bb71969c0ca5049201aeae42284ac9b80",
      "parents": [
        "53a1e46e559b00653eadf6f4bb5572679b0ee734"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Aug 07 11:04:34 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Aug 11 10:17:18 2014 -0700"
      },
      "message": "Extend downsampling ratios greater than 2:1\n\nAlso improve robustness to choice of sampling rate or buffer size\nsuch that increasing either by 10x does not cause overflow.\n\nBug: 12979141\nBug: 15933066\nChange-Id: If7989bd745d1bee3bdf811b8b7c978543ccafb65\n"
    },
    {
      "commit": "e079c76c5c29d6cca85d9debc470358588721618",
      "tree": "670b27f35b504199cdcaa1473619128a314c9ad9",
      "parents": [
        "53a1e46e559b00653eadf6f4bb5572679b0ee734",
        "5a446aafff3020d607ad6fb14cc7ae76dd8f7947"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Sat Aug 09 04:56:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 09 00:45:27 2014 +0000"
      },
      "message": "Merge \"Added Tunneled video playback support to ACodec\" into lmp-dev"
    },
    {
      "commit": "5a446aafff3020d607ad6fb14cc7ae76dd8f7947",
      "tree": "4b805d80181d7b0c8c61b4907c0f5e15a3bc3230",
      "parents": [
        "48449403a1946653074591829e8c39c8000918d1"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Tue Jul 29 16:47:56 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Aug 08 18:24:15 2014 -0700"
      },
      "message": "Added Tunneled video playback support to ACodec\n\nBug:16132368\nChange-Id: I88d2d66b8548fc203f4a2c4797196af15e56ff38\n"
    },
    {
      "commit": "7c4f0d757bfeedaab4b7ef4ccf5b0a72ec8f4306",
      "tree": "2955488eabae107a5ea3eb510aa867d05c2570f7",
      "parents": [
        "a912c194ded6c9ece78c492c68c3763f284bb5d5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 09 18:53:31 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Aug 08 18:32:22 2014 -0700"
      },
      "message": "NuPlayer: getSelectedTrack\n\nChange-Id: If5251f89b881e7f268e11a06cd3685d794c958b6\n"
    },
    {
      "commit": "ddabe554e95940891c5df9a7f092798351b5f75e",
      "tree": "5e58b35801c040a48b95c071a454a1b8bb35d7ee",
      "parents": [
        "15ff76c99482eab01934cf0f55c815a85cf06f35",
        "8045853d03649f43ea2f7107e7d2dbb9b2d20855"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 08 21:05:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 08 16:09:03 2014 +0000"
      },
      "message": "Merge \"AAC decoder: add support for controlling presentation parameters\" into lmp-dev"
    },
    {
      "commit": "8045853d03649f43ea2f7107e7d2dbb9b2d20855",
      "tree": "e11dfa27febf887acc5cc31c5e975ba74f72da11",
      "parents": [
        "b97cc6a9a3c81215e365c61b071a932073b56ff2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 01 22:17:48 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 08 11:03:32 2014 -0700"
      },
      "message": "AAC decoder: add support for controlling presentation parameters\n\nControl the dowmixing of the AAC decoder\nControl the DRC processing of the AAC decoder\n\nBug 16740915\n\nChange-Id: I9b06ea8785f56213ea120ed85eeb360c88223297\n"
    },
    {
      "commit": "317bb9163befccd87348c11bdfc0044e629b362b",
      "tree": "ae1fc56615f47aa115cf8235ddfb02d444bbf3d2",
      "parents": [
        "1198a3394a21d3c31b19395b124c77f09a8f0924",
        "251d4be8aa5ab80bc915a82a2420233bdc62018e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 08 16:12:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 07 17:50:16 2014 +0000"
      },
      "message": "Merge \"Clarify and implement MediaCodec status codes\" into lmp-dev"
    },
    {
      "commit": "251d4be8aa5ab80bc915a82a2420233bdc62018e",
      "tree": "c158da7f2cd30e99ab93a8046b2cdd1d4ba50c91",
      "parents": [
        "92ce4715315bddd158c7d4028556632f0547e3b9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 30 15:46:04 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Aug 07 12:24:31 2014 -0700"
      },
      "message": "Clarify and implement MediaCodec status codes\n\nClarify MediaCodec status codes in MediaError.h\nWhen appropriate, return OMX error codes for status.\nOptionally return a status code from CreateByType() and\nCreateByComponentName().\n\nBug: 12034929\nBug: 13976475\nChange-Id: I7463dd08d101074f730481b26127a69c9186c97e\n"
    },
    {
      "commit": "229d242665c612fd97431d1e7ac004823b47f181",
      "tree": "956d290a0474e80a9d58572f8e5b92ad373558b1",
      "parents": [
        "1381d4b5c0385aec3741073e5998773b064c1fb0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 14:16:23 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 17:49:38 2014 -0700"
      },
      "message": "stagefright: support flexible YUV format\n\n- Report flexible format for standard OMX formats that are flexible.\n- Accept flexible format when specifying video port formats.\n\nBug: 10706245\nChange-Id: I9e82bc895bb0d5d606eb05fdf83bec766eaa2046\n"
    },
    {
      "commit": "1381d4b5c0385aec3741073e5998773b064c1fb0",
      "tree": "6087b737255d34703a90d1952d48bb97646e492a",
      "parents": [
        "60b1c0e79d12a1c70758bc8d060156924635f8ba"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 15:18:35 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 17:40:13 2014 -0700"
      },
      "message": "media/playerservice: add getCodecList() to MediaPlayerService\n\nBug: 11990470\nChange-Id: I8fa45946fd9b76f9b975fc59062819c57e6881ef\n"
    },
    {
      "commit": "60b1c0e79d12a1c70758bc8d060156924635f8ba",
      "tree": "300d26ea36bca500a7105b7a94497dd1c2aa9fda",
      "parents": [
        "8accee4f0e94f19866d260be6eecd6c219eb4982"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 16:55:46 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 17:40:13 2014 -0700"
      },
      "message": "stagefright: rework media codec list and infos\n\nThis is in preparation of serving the codec list and codec infos\nfrom the mediaserver\n\nBug: 11990470\nChange-Id: Ib8e2708679c9ce461a4ba179974a740cdcdf2731\n"
    },
    {
      "commit": "8accee4f0e94f19866d260be6eecd6c219eb4982",
      "tree": "99ef44526b372dc6020f995cd78f3b9e3b1ffe58",
      "parents": [
        "3659445a8b71afba9927b9d0d8ac41782278bde5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 11:32:00 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 14:23:27 2014 -0700"
      },
      "message": "stagefright: add AString parceling, and equal/compareIgnoreCase\n\nBug: 11990470\nChange-Id: If43ada5d2e768931f4409e499eaa268edade0500\n"
    },
    {
      "commit": "a9522673f3076ea937eb2912945d7ed646ca05df",
      "tree": "144c904f29fa5a155bf0b9b2a84cd2614ab356bd",
      "parents": [
        "0893eaf7d21e3a50b81324673eaa91a6b77a39c2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 11:30:16 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 19:29:40 2014 -0700"
      },
      "message": "stagefright: move ARRAY_SIZE to foundation\n\nBug: 11990470\nChange-Id: Ifae790b774a0fb210acbe33a1310d3d6ba46e7fa\n"
    },
    {
      "commit": "29e09664c2c5b49d78f2666d38a812502a36e26b",
      "tree": "183ffe1053e1865431d5e2bb5ae9a2bb3c4c4946",
      "parents": [
        "0a0e5f02037f396237461a9840b2fc7271812bdc",
        "3de157dd8f9cd45bf9b0406268f5830887105ae1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 06 22:29:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 06 17:19:40 2014 +0000"
      },
      "message": "Merge \"some fixes for crash when extractor creation fails\" into lmp-dev"
    }
  ],
  "next": "3de157dd8f9cd45bf9b0406268f5830887105ae1"
}
