)]}'
{
  "log": [
    {
      "commit": "9a92255484adef1ae82f4c77d654ad47997c0439",
      "tree": "636ef4440a528baddd9699c515e2fa408a1a98f8",
      "parents": [
        "eee9697a910c664d2721ef3fcf4e1fad4263466d",
        "c6044a135324979e62cc59db9dbde8b11c4bb74b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 19 22:57:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 22:57:52 2015 +0000"
      },
      "message": "Merge \"MediaCodec: handle a spontaneous error while configuring\" into mnc-dev"
    },
    {
      "commit": "47b1ca9cf7c45564887832bfdec21ccc18eb448e",
      "tree": "c1301d9635ee7a7a2d6c80f352754d04bc98b9d4",
      "parents": [
        "ee140da3422212153f88357725f3fc614de5eb44",
        "3b5401ad38b4346920f9aff0440606b8b565ce90"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jun 19 16:05:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 16:05:32 2015 +0000"
      },
      "message": "Merge \"Check binder transact status\" into mnc-dev"
    },
    {
      "commit": "f86e831ec0cbdce2d34c48fc567ad91a47099b70",
      "tree": "b6413cb2650e0b25d3000780b0fe2517640a719f",
      "parents": [
        "b36bc776545d9758f3bc9a853a5a0fd51280e9fb",
        "6653c935d2518a713587b3887ca09aa09ebfa7fd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 19 15:57:05 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 15:57:05 2015 +0000"
      },
      "message": "Merge \"Return DEAD_OBJECT if getTimestamp cannot restore track\" into mnc-dev"
    },
    {
      "commit": "c675cf0fff3da75a92bc157e3bf698cc5a1f6eb3",
      "tree": "2beb92ab6df1c7d434137fd9c6d547a1e0d4567b",
      "parents": [
        "652c2207fe19bef3657a5abe865f9f9b2a4cd866",
        "1f1db8356b599bc40703c907fb69e6e539343532"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 22:05:40 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 22:05:41 2015 +0000"
      },
      "message": "Merge \"Fix AudioTrack comments relating to use of restoreTrack_l()\" into mnc-dev"
    },
    {
      "commit": "652c2207fe19bef3657a5abe865f9f9b2a4cd866",
      "tree": "e02fae02bf925781cd999e209b2641abc1826022",
      "parents": [
        "808fa88be82c1646dc472ccd459d6498748e940a",
        "9700f5fe4b3becfe858cbf5aa7964296975081bb"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 18 21:59:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 21:59:09 2015 +0000"
      },
      "message": "Merge \"fix buffer leak due to unreleased last repeat frame\" into mnc-dev"
    },
    {
      "commit": "6653c935d2518a713587b3887ca09aa09ebfa7fd",
      "tree": "6d9680827227e1a263b27e3eb4206a85a5122297",
      "parents": [
        "1f1db8356b599bc40703c907fb69e6e539343532"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 08 13:27:48 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 14:42:14 2015 -0700"
      },
      "message": "Return DEAD_OBJECT if getTimestamp cannot restore track\n\nBug: 21699132\nChange-Id: I90443f8674ed949e2546048b231be75cd6fe6615\n"
    },
    {
      "commit": "1f1db8356b599bc40703c907fb69e6e539343532",
      "tree": "bee3a3cc00e5577a7d847871e77f9d3712c92d25",
      "parents": [
        "bd974011599b6d4ff47c1cee36d617f191dc0c2f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 08 13:26:10 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 14:38:32 2015 -0700"
      },
      "message": "Fix AudioTrack comments relating to use of restoreTrack_l()\n\nBug: 21699132\nChange-Id: Ib0d029a5e28676aeffbbbafc88c52a17367a413c\n"
    },
    {
      "commit": "61c83317f1c8f18fd86afe0c776d16933816a83a",
      "tree": "0035632ea3ff8222d1be7630ec0cecb4e909c222",
      "parents": [
        "3fc792fe36b0b9100f74185665221b37f650ff65"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Thu Jun 18 12:39:44 2015 -0700"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Thu Jun 18 12:39:44 2015 -0700"
      },
      "message": "readAt can return negative values (error codes).\n\nThis fixes the regression introduced in\n59cea2616269f34b1f3d046995efd8da42cd5549 due to which MediaPlayer\ntreated all error codes returned by MediaHTTPConnection as\nERROR_OUT_OF_RANGE.\n\nThe regression was caused by accidentally converting negative values\n(which represent error codes) returned by MediaHTTPConnection to very\nlarge positive ones (which represent length of data received).\n\nBug: 21922241\nChange-Id: I1b4592b5fec724aac1ba6c1ff8fdabcba56bcd2d\n"
    },
    {
      "commit": "9700f5fe4b3becfe858cbf5aa7964296975081bb",
      "tree": "775e3a8d57f2c15b7a93aa66101a91ec0c67dc0b",
      "parents": [
        "3a20d29ff09ca2568cb904415625cc44db37edb0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 12 18:30:08 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 18 12:15:22 2015 -0700"
      },
      "message": "fix buffer leak due to unreleased last repeat frame\n\nbug: 21659689\nbug: 21473584\nChange-Id: I9e3dabd1be33352fdacd38797bc9fce91ecc7ee2\n"
    },
    {
      "commit": "3ecc9db40b1fb9c7f807a5892e5c9625aac1fb06",
      "tree": "66f4e301ba869044aa5315843fdcfbcadb420d12",
      "parents": [
        "0f212b73e47ef0e1fa39aa250ebabedb9d81a361"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 16 14:50:36 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 17 12:30:47 2015 -0700"
      },
      "message": "Fix software video decoder buffer size calculation\n\nVarious software video decoders would specify the buffer size as if it were\nfully cropped, which then failed a sanity check in SoftwareRenderer.\nThey now return the full buffer size.\n\nBug: 21717327\nBug: 21443020\nChange-Id: I19fcd091827ebd52a95a5509281a07ccc156e0e5\n"
    },
    {
      "commit": "c6044a135324979e62cc59db9dbde8b11c4bb74b",
      "tree": "a08e7c3445ceb3cd6b2c0716ceb8abea85c7dd61",
      "parents": [
        "bd974011599b6d4ff47c1cee36d617f191dc0c2f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 16 18:13:33 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 16 18:13:33 2015 -0700"
      },
      "message": "MediaCodec: handle a spontaneous error while configuring\n\nAllow the INITIALIZED and UNINITIALIZED state to prevent\na CHECK() from aborting the thread.  This state flexibility\nmakes the handling for kWhatComponentConfigured similar\nto kWhatFlushCompleted.\n\nBug: 21840990\nChange-Id: I57e08cfb146b0b9a355061e4f9ffbe176f213cf6\n"
    },
    {
      "commit": "0f212b73e47ef0e1fa39aa250ebabedb9d81a361",
      "tree": "a05bb0a5893e85ddd2c77c59509fcaf52283603d",
      "parents": [
        "bd974011599b6d4ff47c1cee36d617f191dc0c2f"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Jun 05 17:03:05 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jun 16 09:51:20 2015 -0700"
      },
      "message": "Add distortion correction opcodes in DngCreator.\n\nBug: 20491394\n\nChange-Id: Ide932d49e620c7dc9a847bb5ddc8715d5f936bd5\n"
    },
    {
      "commit": "3b5401ad38b4346920f9aff0440606b8b565ce90",
      "tree": "7e80afc6cc510c3278513df6374262ace6570f5c",
      "parents": [
        "938e2b34b16c3c1fd29c753eeb53ee95a2b2e2b3"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Jun 15 17:42:10 2015 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jun 16 09:45:09 2015 -0700"
      },
      "message": "Check binder transact status\n\nIf mediaserver restarts, the binder transact\nmethods return DEAD_OBJECT.  This status wasn\u0027t\nbeing checked, so calls would proceed with\nunpredictable results.\n\nbug: 20614102\nChange-Id: I11271974ef2ccf0129529d1f67204dff1f1d03b0\n"
    },
    {
      "commit": "bd974011599b6d4ff47c1cee36d617f191dc0c2f",
      "tree": "34c15cf4dd6af513e766fe84e1c6d3a5702d08a7",
      "parents": [
        "938e2b34b16c3c1fd29c753eeb53ee95a2b2e2b3",
        "1ff26b038c646414c450bae5277b7a726b3322b7"
      ],
      "author": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Mon Jun 15 18:42:40 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 18:42:41 2015 +0000"
      },
      "message": "Merge \"Revert \"stagefright: relax check of OMX buffer header\"\" into mnc-dev"
    },
    {
      "commit": "1ff26b038c646414c450bae5277b7a726b3322b7",
      "tree": "1c056695ddfdb1a9d789bd6a180bfd83645e6854",
      "parents": [
        "652bc0197341337bb07fc4f87f168167fb3f47dc"
      ],
      "author": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Mon Jun 15 18:31:50 2015 +0000"
      },
      "committer": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Mon Jun 15 18:33:25 2015 +0000"
      },
      "message": "Revert \"stagefright: relax check of OMX buffer header\"\n\nThis reverts commit 652bc0197341337bb07fc4f87f168167fb3f47dc pending \nthe complete investigation of b/21837661\n\nChange-Id: I9c2825fd98ff7e9898c319ee66c0e3a3466c2093\n"
    },
    {
      "commit": "938e2b34b16c3c1fd29c753eeb53ee95a2b2e2b3",
      "tree": "6b1ab91af2925ec43021109dc8b514073f2ad482",
      "parents": [
        "0907d87dca62cd5bc12d26892c411b7140d148b0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Jun 13 17:03:06 2015 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Jun 13 17:36:11 2015 -0700"
      },
      "message": "don\u0027t trigger an integer underflow when decrementing.\n\nWhen decrementing \"i\", eventually i will equal zero. When that\nhappens, i-- underflows. This causes a crash when code which uses\nclang\u0027s -fsanitize\u003dunsigned-integer-overflow is run.\n\nAvoid trigging an unsigned integer underflow.\n\nChange-Id: I61709cb01f56fdb36d631aa95579e8bd09cafd12\n"
    },
    {
      "commit": "95ca9aa2e1a5b42695113a1260a5e2fd81e4a80f",
      "tree": "3a8073f158801b80428242fc550123278d7ee188",
      "parents": [
        "2b63384b6d338f2c3320818a698c3f9d6221fe5d",
        "c8edf5af010ac24a99b302a18e7b84e8b4b2b783"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sat Jun 13 00:22:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 13 00:22:56 2015 +0000"
      },
      "message": "Merge \"stagefright: use media timestamp for default render timestamp\" into mnc-dev"
    },
    {
      "commit": "2b63384b6d338f2c3320818a698c3f9d6221fe5d",
      "tree": "9a02c08f0a2913249c16579242b8ce7a2115e106",
      "parents": [
        "f8f2f137cceebe3bee4ff3219bc75189a4eccc65",
        "6155085b781a81af66d42d907c9f4d1063999594"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sat Jun 13 00:15:54 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 13 00:15:55 2015 +0000"
      },
      "message": "Merge \"Serialize calls to getFrameAtTime in the mediaserver\" into mnc-dev"
    },
    {
      "commit": "7bf8e1c28ba7ba6eb0c677d9ca749e4238fa43f4",
      "tree": "98087510a5c9b478d5090dace47c2cf54db4c1b8",
      "parents": [
        "652bc0197341337bb07fc4f87f168167fb3f47dc",
        "290d01f37e6ac8d706dc9f06cc4460017ba0d7b1"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Jun 12 23:14:24 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 23:14:24 2015 +0000"
      },
      "message": "Merge \"libstagefright: remove out of date profiling result before doing a new profiling.\" into mnc-dev"
    },
    {
      "commit": "c8edf5af010ac24a99b302a18e7b84e8b4b2b783",
      "tree": "9bc6820b899c3fe7e91c7a2e8905d68a411461b5",
      "parents": [
        "652bc0197341337bb07fc4f87f168167fb3f47dc"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 12 14:37:49 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 12 15:34:56 2015 -0700"
      },
      "message": "stagefright: use media timestamp for default render timestamp\n\nBug: 21814308\nChange-Id: I897bc4878c0b3a758d630e9c117b746ef7e55146\n"
    },
    {
      "commit": "6155085b781a81af66d42d907c9f4d1063999594",
      "tree": "8296eeaa60734e6f5711b1487aa793fa5eef0a99",
      "parents": [
        "ad9ef61e770c0751a9983aa5c9844dfeb9ed665b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 12 15:31:23 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 12 15:31:23 2015 -0700"
      },
      "message": "Serialize calls to getFrameAtTime in the mediaserver\n\nto avoid running out of memory.\n\nBug: 21277449\nChange-Id: I7210806a24958f38d86aadab0310fc263e4c0edf\n"
    },
    {
      "commit": "290d01f37e6ac8d706dc9f06cc4460017ba0d7b1",
      "tree": "896271d1ee453c54a657d5b91a45a32fd8634a46",
      "parents": [
        "356f08476db6191cdcbad20caf69d7bd642a09b2"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Jun 12 15:20:37 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Jun 12 15:24:11 2015 -0700"
      },
      "message": "libstagefright: remove out of date profiling result before doing a new profiling.\n\nBug: 21333717\nChange-Id: Iaeff615fccf87b3aceed6fa566f82c06a981e030\n"
    },
    {
      "commit": "652bc0197341337bb07fc4f87f168167fb3f47dc",
      "tree": "6312ddc81955f89012b7f304fa1f1a2607623cd2",
      "parents": [
        "5011629ad8212397263702f6b585547767f30726"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 12 12:52:27 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 12 12:53:34 2015 -0700"
      },
      "message": "stagefright: relax check of OMX buffer header\n\n- move check to after FillBufferDone only.\n- add support for NULL graphicBuffer - just in case\n\nBug: 21773260\nChange-Id: I804574c30ce47fd98bf09f5fe8ad00ae454ed1af\n"
    },
    {
      "commit": "5011629ad8212397263702f6b585547767f30726",
      "tree": "1c056695ddfdb1a9d789bd6a180bfd83645e6854",
      "parents": [
        "bd95df5def15fc8167f17846e7d1a4cc7440d06a"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 12 12:51:54 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 12 12:53:34 2015 -0700"
      },
      "message": "fix build: use proper fmt in StagefrightMetadataRetriever.cpp log\n\nChange-Id: Iadf74ed8c5b3a3bdb799c6e926fb7bea02511071\n"
    },
    {
      "commit": "bd95df5def15fc8167f17846e7d1a4cc7440d06a",
      "tree": "24cc9c5b6d82ec88858cbf90f660a1d9f54a24af",
      "parents": [
        "9d66d7f78284268272fefcb92697002169c62717",
        "8cecf014ad5c62b072fad8fc24a140e8ee294f62"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 12 18:27:30 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 18:27:30 2015 +0000"
      },
      "message": "Merge \"Return correct error code from IMediaHttpConnection\" into mnc-dev"
    },
    {
      "commit": "9d66d7f78284268272fefcb92697002169c62717",
      "tree": "6e92d81f8f89b2d4d452cf4ae6b4968be10368ce",
      "parents": [
        "ab1b39c6328cd5471d164890e46bb54315b4c542",
        "9da0ce44f228408d73a4dea0be972c785095dccc"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 12 18:25:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 18:25:24 2015 +0000"
      },
      "message": "Merge \"stagefright: post audio EOS in NuPlayerRenderer if getPosition fails\" into mnc-dev"
    },
    {
      "commit": "9da0ce44f228408d73a4dea0be972c785095dccc",
      "tree": "0d439822ec091a1fd48d72a0ddfc757e6b465e66",
      "parents": [
        "3a20d29ff09ca2568cb904415625cc44db37edb0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 11 17:18:58 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 12 11:03:52 2015 -0700"
      },
      "message": "stagefright: post audio EOS in NuPlayerRenderer if getPosition fails\n\nbug: 20071480\nChange-Id: I81f2a1fea0daa694a61be7f4a6d70d6847e9f183\n"
    },
    {
      "commit": "ab1b39c6328cd5471d164890e46bb54315b4c542",
      "tree": "174fdfb60ba8d953fdf877f8724c674473c667a2",
      "parents": [
        "051602a0f3cf4e7cf68dcd5cb69cec82d9230384",
        "36dee23baca299f38c134b18f4deb36862bdd89d"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 12 18:02:30 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 18:02:31 2015 +0000"
      },
      "message": "Merge \"stagefright: Decode video thumbnail using MediaCodec\" into mnc-dev"
    },
    {
      "commit": "36dee23baca299f38c134b18f4deb36862bdd89d",
      "tree": "5ece0ed8dd702b9f495a304ca1b533bea48207a3",
      "parents": [
        "3a20d29ff09ca2568cb904415625cc44db37edb0"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Tue Apr 14 15:15:04 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 12 17:25:04 2015 +0000"
      },
      "message": "stagefright: Decode video thumbnail using MediaCodec\n\nUse MediaCodec (in place of OMXCodec) to decode video\nthumbnail\n\nChange-Id: I05beaa3d67edff51aa17f58444fd34afb3933580\n"
    },
    {
      "commit": "051602a0f3cf4e7cf68dcd5cb69cec82d9230384",
      "tree": "6826d43f12b0bf3b7247ac2c1d3c3576ec3576a7",
      "parents": [
        "c6512256ae3481c94f827bdee31abe6b5e6000f3",
        "67c2c94aa9d387bb7dc47514d62deeb66d486210"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jun 12 00:16:33 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 00:16:33 2015 +0000"
      },
      "message": "Merge \"NuPlayerDriver: add more logging.\" into mnc-dev"
    },
    {
      "commit": "8cecf014ad5c62b072fad8fc24a140e8ee294f62",
      "tree": "21b05abf1e9d7fb1d87369c77ed31f220b6280c1",
      "parents": [
        "ad9ef61e770c0751a9983aa5c9844dfeb9ed665b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 11 14:08:44 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 11 14:08:44 2015 -0700"
      },
      "message": "Return correct error code from IMediaHttpConnection\n\nIt returns a boolean, not a status_t\n\nBug: 21654826\nChange-Id: Id364a90598c5cf0bb567b5b25bbc9b7c73412760\n"
    },
    {
      "commit": "08e8227514f5ab99822dfae8b4d39414646ff59d",
      "tree": "a1ec6a5364ee07c07d610a9e8e30142373d8f140",
      "parents": [
        "ad9ef61e770c0751a9983aa5c9844dfeb9ed665b"
      ],
      "author": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Thu Jun 11 11:15:00 2015 -0700"
      },
      "committer": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Thu Jun 11 20:14:43 2015 +0000"
      },
      "message": "SoftOpus: Fix output buffer capacity.\n\nThe output buffer size as per opus project\u0027s sample decoder [1] is\n960*6*channel_count. Whereas in SoftOpus, we use 960*6 (without the\nchannel count multiplier. Fixing it to include maximum number of\nchannels possible as the multiplier.\n\n[1] http://git.xiph.org/?p\u003dopus-tools.git;a\u003dblob;f\u003dsrc/opusdec.c;h\u003dd085f04eacdfd49759ffdb73db805562ba396720;hb\u003df2a2e88b47f6f24083a37be476f140f677fe7160#l571\n\nBUG\u003d20721050\n\nChange-Id: I323891a1b11491782bc093477b09e7757b885674\n"
    },
    {
      "commit": "67c2c94aa9d387bb7dc47514d62deeb66d486210",
      "tree": "77924dbf80672de139a114fa1dcf491eed1b93d1",
      "parents": [
        "cd644a3f7bd16b25a6fd202ce3eb8c7138572712"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jun 11 10:46:54 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jun 11 10:46:54 2015 -0700"
      },
      "message": "NuPlayerDriver: add more logging.\n\nChange-Id: Ib80a42b4e46b4e2bea02d9a002228a058d1fa211\n"
    },
    {
      "commit": "cd644a3f7bd16b25a6fd202ce3eb8c7138572712",
      "tree": "4d15491ed48505f5a37c986cbefa47e5c20a502f",
      "parents": [
        "71ec3dfc1d8d53bdc8f99b69286b60ecb926d7ff",
        "4b60b068c27a40731bd4a0049cb632da18bf521d"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 11 12:14:50 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 12:14:55 2015 +0000"
      },
      "message": "Merge \"Switch to using shared over local code for initializing ICU\" into mnc-dev"
    },
    {
      "commit": "4b60b068c27a40731bd4a0049cb632da18bf521d",
      "tree": "9565fcd81affa99e9215abb4b0deda71bf683a35",
      "parents": [
        "2f3406517d1fd4486b8b90eb2635d784fad17a48"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 10 15:12:38 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 11 12:59:18 2015 +0100"
      },
      "message": "Switch to using shared over local code for initializing ICU\n\nA static library now exists in external/icu/android_utils.\n\nBug: 21730722\nChange-Id: I8302b585d3c87fd1a975301ceca4ceebaccbcac9\n"
    },
    {
      "commit": "71ec3dfc1d8d53bdc8f99b69286b60ecb926d7ff",
      "tree": "1281f70f082668056162dfb38b8abd76541a7acb",
      "parents": [
        "054bf835731c0fa5e6c2fbee93b0befa74c10119"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jun 11 15:09:38 2015 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jun 11 15:09:38 2015 +0900"
      },
      "message": "stagefright: fix clang build\n\nChange-Id: I4f10e4af6f0b5fb0b90513ad516b36b444d3bd68\n"
    },
    {
      "commit": "054bf835731c0fa5e6c2fbee93b0befa74c10119",
      "tree": "194825d72899bdfd79281c946fda1119b86ef16d",
      "parents": [
        "f4b30c200cfc7c8c502f759dcb90979586e43b27",
        "06ec7f3ef28ee68714d323ca9e2d3cab2165dfe8"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jun 11 05:14:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 05:14:22 2015 +0000"
      },
      "message": "Merge \"stagefright: TinyCacheSource to read continuously\" into mnc-dev"
    },
    {
      "commit": "f4b30c200cfc7c8c502f759dcb90979586e43b27",
      "tree": "f2507ddcfafbcc14b714ea7de96eb2743491cf3e",
      "parents": [
        "3a20d29ff09ca2568cb904415625cc44db37edb0",
        "65959d34fdab8319dbf765be5fbf7ff8051eedf1"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jun 11 05:13:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 05:13:54 2015 +0000"
      },
      "message": "Merge \"mpeg2ts: more error tolerance\" into mnc-dev"
    },
    {
      "commit": "65959d34fdab8319dbf765be5fbf7ff8051eedf1",
      "tree": "27e85a86bda55a6b9229b9c0b2f66cc61eb50365",
      "parents": [
        "ca097142ba4664858bc29bb538bcfcf5ea03ebe7"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jun 10 16:17:45 2015 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jun 11 03:12:21 2015 +0000"
      },
      "message": "mpeg2ts: more error tolerance\n\nBe more tolerant with corrupt packet. Instead of reporting EOS,\nsimply discard the damaged packet and continue.\n\nBug: 21764375\n\nChange-Id: Ibfd112db884732a082371c1abbd047077d1bf57e\n"
    },
    {
      "commit": "06ec7f3ef28ee68714d323ca9e2d3cab2165dfe8",
      "tree": "b69b49437b9ae15fe0bc047e8e83a0f44f986749",
      "parents": [
        "ca097142ba4664858bc29bb538bcfcf5ea03ebe7"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Jun 09 13:26:03 2015 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jun 11 03:11:41 2015 +0000"
      },
      "message": "stagefright: TinyCacheSource to read continuously\n\nIf the seek operation of underlying MediaDataSource implementation is\nexpensive and each read is relatively small (e.g. Live MPEG2 TS\nstream), current TinyCacheSource implementation requests seek too\nfrequently.\n\nBug: 21764375\n\nChange-Id: Ic620bf027bc4ef48822549c83c5c98109986884a\n"
    },
    {
      "commit": "3a20d29ff09ca2568cb904415625cc44db37edb0",
      "tree": "3393ff0050150d5b20a8aa827b83dbea93bd53ad",
      "parents": [
        "e1e5d7a3d3d4d6d644e6c731f977422e004140d5"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Thu May 21 08:47:34 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 16:48:59 2015 -0700"
      },
      "message": "NuPlayer: print player stats at the end of playback\n\nPrint stats at the end of playback if the shell\nproperty persist.debug.sf.stats is set\n\nChange-Id: Ie4250bf86b12af75c16f108ca09ad02b3e44fd29\n"
    },
    {
      "commit": "e1e5d7a3d3d4d6d644e6c731f977422e004140d5",
      "tree": "687a0b028303a6560b09701e1a7689fd9291fa9b",
      "parents": [
        "4a4265e9fc4e72d069eb2de37c8484d67fd3a9fc"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Tue May 19 19:09:48 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 16:48:59 2015 -0700"
      },
      "message": "NuPlayer: Enhance dumpsys statistics\n\nAccount for dropped output-frames (rather than input-frames)\nin percentage dropped frames.\nPrint mime and component name for each active track\n\nChange-Id: I3491d336c696d8ed0fd1503b80afe1df47c787c8\n"
    },
    {
      "commit": "4a4265e9fc4e72d069eb2de37c8484d67fd3a9fc",
      "tree": "a4dca54373dcf917d0ca8a0752a48f1cf02d2ac4",
      "parents": [
        "7d3dc897db90961bf0b841e3ac4169ce8eff1df1",
        "ae0c0a17e824356eb55a6692ff8dee6cdc050401"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 23:24:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 23:24:50 2015 +0000"
      },
      "message": "Merge \"Added support for MPEG2 video in MPEG4Extractor\" into mnc-dev"
    },
    {
      "commit": "7d3dc897db90961bf0b841e3ac4169ce8eff1df1",
      "tree": "95e962c2069376427bc3c57ffa878a73bd75150e",
      "parents": [
        "984a54322f7c70bc75e862d91bdd975814872aff",
        "701d342f785e407c8e6bcb046658f84ac56d989a"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 23:24:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 23:24:11 2015 +0000"
      },
      "message": "Merge \"mediaplayer: remove use-awesomeplayer developer option\" into mnc-dev"
    },
    {
      "commit": "701d342f785e407c8e6bcb046658f84ac56d989a",
      "tree": "9e3eb097872f36eec8929cb2a6e47cf93dd1ff1a",
      "parents": [
        "4599da7f4ca67a323aa64d84c1b79e3ce6ab9f41"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 14:54:28 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 15:27:53 2015 -0700"
      },
      "message": "mediaplayer: remove use-awesomeplayer developer option\n\nBug: 17108024\nChange-Id: Id6429eb58226fe955f091f661fcb2f21a5f6ce5e\n"
    },
    {
      "commit": "984a54322f7c70bc75e862d91bdd975814872aff",
      "tree": "edcbac98c9b3f0197b588f109fd7b331567afd77",
      "parents": [
        "4599da7f4ca67a323aa64d84c1b79e3ce6ab9f41"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 14:18:12 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 14:42:02 2015 -0700"
      },
      "message": "stagefright: fix issues with OMX message passing\n\n- added destructor for MessageList so messages are freed\n- check if notify has been initialized\n- do not call onMessages if there are no messages\n\nBug: 21659665\nChange-Id: Idb4eaa63dc2f8be8b282be79e6234f83a7669481\n"
    },
    {
      "commit": "4599da7f4ca67a323aa64d84c1b79e3ce6ab9f41",
      "tree": "7822a822d17facbf05421eae7ee2a50f39b0e222",
      "parents": [
        "5fb8b2987ab96ad65dc4b046616607ece16d6fb3",
        "3ab25457385dceb07205fc8ead86d7fb9e307588"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 10 20:18:40 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 20:18:41 2015 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: discard pending kWhatDrainAudioQueue message when AudioSink is opened in callback mode.\" into mnc-dev"
    },
    {
      "commit": "3ab25457385dceb07205fc8ead86d7fb9e307588",
      "tree": "1fc1a7eca36e1c1e2d98f53442bfc8c8c4c0026e",
      "parents": [
        "356f08476db6191cdcbad20caf69d7bd642a09b2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 10 09:37:47 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 10 12:02:01 2015 -0700"
      },
      "message": "NuPlayerRenderer: discard pending kWhatDrainAudioQueue message when AudioSink is opened in callback mode.\n\nBug: 21723010\nChange-Id: Iddab8c1cbdf87714aa53315feba064fe101d8f98\n"
    },
    {
      "commit": "5fb8b2987ab96ad65dc4b046616607ece16d6fb3",
      "tree": "125f7d60b9cf55238664ae2e3204ec5ee39df5d4",
      "parents": [
        "2f3406517d1fd4486b8b90eb2635d784fad17a48"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 11:07:37 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 11:19:36 2015 -0700"
      },
      "message": "stagefright: fix legacy support for CameraSource\n\n- allocate big enough buffers for native metadata source even in\nCameraSource mode\n- don\u0027t check range when using native metadata mode (and converting\nit to GrallocSource) as OMX buffer will be smaller than input\n- log allocated vs. OMX reported sizes in OMXNodeInstance logs\n\nBug: 21708032\nChange-Id: I7eeffc5116079e5b368f84980e8e7524260aaccf\n"
    },
    {
      "commit": "2f3406517d1fd4486b8b90eb2635d784fad17a48",
      "tree": "55ff130219cf9ac6b68ebf58b0aa848159852b90",
      "parents": [
        "356f08476db6191cdcbad20caf69d7bd642a09b2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jun 09 17:42:34 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 10 08:52:17 2015 +0000"
      },
      "message": "mediaserver : Initialize ICU on startup.\n\nIn change 2b29e461c in external/icu, we stopped hardcoding the ICU\ndata path at compile time to avoid two sets of mappings in zygote forked\nprocesses. This means we\u0027ll have to tell ICU where its data is if the\nprocess in question isn\u0027t forked from the zygote.\n\nbug: 21705078\nChange-Id: I829d9fa34fe8209aa8a6d55145ca26fdf0d934e8\n"
    },
    {
      "commit": "356f08476db6191cdcbad20caf69d7bd642a09b2",
      "tree": "ae4badc3a935c3ab3080bdad9ac6e1d3c7ca989f",
      "parents": [
        "e1c3cf01a58e45ec3784a1e877e16ce9ef7f6d1c",
        "90fcf68fd29f3cb695bd53a830ad984cb7d430c0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 01:04:45 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 01:04:47 2015 +0000"
      },
      "message": "Merge \"stagefright: add support for output frame rendered callback\" into mnc-dev"
    },
    {
      "commit": "416d4a8ad177a48bcb25aa3a32c4bdfaf6227014",
      "tree": "18998e59b19d82e3d5829b2844edeb8cc9c4be28",
      "parents": [
        "f49b5150f87c98c389a334c3af5a9a586d40ee8f",
        "df809479696725faf5d3424b11fa8a07bd94cb5e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 09 21:27:02 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 21:27:03 2015 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: change log from ALOGW to ALOGV when audio sink reports WOULD_BLOCK on writing.\" into mnc-dev"
    },
    {
      "commit": "df809479696725faf5d3424b11fa8a07bd94cb5e",
      "tree": "fa2bc613ea64fe4ea404a05965b4c2765eb06d63",
      "parents": [
        "9cf332ca156132931da397bae94b89debb40de10"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 09 11:21:13 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 09 14:07:35 2015 -0700"
      },
      "message": "NuPlayerRenderer: change log from ALOGW to ALOGV when audio sink reports WOULD_BLOCK on writing.\n\nBug: 21726662\nChange-Id: I4aa63df7f21e06473594dda30a935e0f1cb745ac\n"
    },
    {
      "commit": "f49b5150f87c98c389a334c3af5a9a586d40ee8f",
      "tree": "fb90dd7dd121f3a9f9507fe475c0bfa7a8092b50",
      "parents": [
        "984591672a6f4096ee92c4a582d4c54ee6023c43",
        "0162d00a38cdb5f4eba5dfe8cd272f69ddbc8c21"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 09 21:04:34 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 21:04:35 2015 +0000"
      },
      "message": "Merge \"AudioSink: use flags granted by AudioTrack, instead of the requested flags.\" into mnc-dev"
    },
    {
      "commit": "0162d00a38cdb5f4eba5dfe8cd272f69ddbc8c21",
      "tree": "23e84b8e8819c1a2106f18f5957815e3ca786014",
      "parents": [
        "9cf332ca156132931da397bae94b89debb40de10"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 09 11:59:33 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 09 12:04:09 2015 -0700"
      },
      "message": "AudioSink: use flags granted by AudioTrack, instead of the requested flags.\n\nDo not call AudioTrack::setPlaybackRate when DIRECT flag is set.\n\nBug: 17459982\nChange-Id: Ib8fb07be72558234519590bcc3bb88c4f6edfa37\n"
    },
    {
      "commit": "f028dad745f85066abc0229d61c0d837f40dc000",
      "tree": "311f584a06de78f4cdcb8b836ef8312e72662777",
      "parents": [
        "c75a989a38a157d48ca34bf127d5b4533e9356a7",
        "819bcef03907c8df8fc0fa78c0d43db98279ffa9"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jun 09 17:30:26 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 17:30:28 2015 +0000"
      },
      "message": "Merge \"Ogg Opus: handle cases where first sample has non 0 time\" into mnc-dev"
    },
    {
      "commit": "c75a989a38a157d48ca34bf127d5b4533e9356a7",
      "tree": "6ba0deebf4deddd63f66874fa6346784192db009",
      "parents": [
        "9b132a7bdde8388f124e4db5ff54a88a93f8cdb6",
        "eecd7659823504c6c65a2b0f4267515a8e3f24cb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 09 17:18:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 17:18:59 2015 +0000"
      },
      "message": "Merge \"Use only strong references to AudioEffect\" into mnc-dev"
    },
    {
      "commit": "90fcf68fd29f3cb695bd53a830ad984cb7d430c0",
      "tree": "ea257431333e4252dcc7882246029d362899b3f0",
      "parents": [
        "9b132a7bdde8388f124e4db5ff54a88a93f8cdb6"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jun 04 10:29:19 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jun 09 08:09:08 2015 -0700"
      },
      "message": "stagefright: add support for output frame rendered callback\n\n- Added FRAME_RENDERED event in OMX, used by tunneled video decoders\n  to signal rendered event timing\n- Track buffers sent for rendering in ACodec and in SoftwareRenderer, and\n  determine when they have rendered\n- Propagate render times to MediaCodec\n\nBug: 20503131\nChange-Id: Idf0a8714d5368b237c2285dd39fa82db847c232f\n"
    },
    {
      "commit": "9b132a7bdde8388f124e4db5ff54a88a93f8cdb6",
      "tree": "6d648e882a71d5c227c90f65e842204ff88c1370",
      "parents": [
        "ca097142ba4664858bc29bb538bcfcf5ea03ebe7",
        "8a1fa1ebc2375c9dcaca2b78918c6740fff2ca74"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Tue Jun 09 02:56:30 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 02:56:31 2015 +0000"
      },
      "message": "Merge \"stagefright: check the validity of the range of adaptation field\" into mnc-dev"
    },
    {
      "commit": "eecd7659823504c6c65a2b0f4267515a8e3f24cb",
      "tree": "458dcc99c0a5a8ad6609ddec67bc903c388e4e8d",
      "parents": [
        "d16a8ef26fd1f7a86061c396c5865564af2f1abb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 04 16:20:16 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 08 18:47:51 2015 -0700"
      },
      "message": "Use only strong references to AudioEffect\n\nDo not refer to an AudioEffect instance by a raw pointer from the\nchild AudioEffectClient.\n\nAlso align destructor cleanup sequence on those of AudioTrack\nand AudioRecord.\n\nBug: 21629892.\n\nChange-Id: I970307aedbc38db2e41a2cc652fd6df9112f712c\n"
    },
    {
      "commit": "819bcef03907c8df8fc0fa78c0d43db98279ffa9",
      "tree": "7849c9ad8d41f3341968e89dfe18022a995d52a3",
      "parents": [
        "8c10a80cf1af68f15eb39552ca116ec6f04fc173"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jun 02 19:25:13 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Jun 08 18:04:22 2015 -0700"
      },
      "message": "Ogg Opus: handle cases where first sample has non 0 time\n\nBug: 19286916\nChange-Id: I660daae57e7b7e793f55154c74347e9d53627324\n"
    },
    {
      "commit": "ca097142ba4664858bc29bb538bcfcf5ea03ebe7",
      "tree": "815799c6e6cb8ca0ea65b1834676635ec62465e8",
      "parents": [
        "2126927d93d129d9a3446034a279572837428df3",
        "42cccd7c8811597d56fb86afeacf6231d693dea6"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jun 08 22:41:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 22:42:05 2015 +0000"
      },
      "message": "Merge \"libstagefright: check memory size for overflow before allocation.\" into mnc-dev"
    },
    {
      "commit": "2126927d93d129d9a3446034a279572837428df3",
      "tree": "8e1686b110e7444f4c1d480fd352e3380c8bee70",
      "parents": [
        "dd488a23d37b71e3f87fe70bf966a6c967e14b60",
        "760f92f8b6da9c9cf128cb18fe3c09402fdde6cd"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jun 08 22:27:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 22:27:36 2015 +0000"
      },
      "message": "Merge \"SoftwareRenderer: sanity check buffer size before copying data.\" into mnc-dev"
    },
    {
      "commit": "42cccd7c8811597d56fb86afeacf6231d693dea6",
      "tree": "8b723706bafe78f252367d85c64a004803598bfd",
      "parents": [
        "9cf332ca156132931da397bae94b89debb40de10"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 03 13:47:51 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jun 08 15:26:21 2015 -0700"
      },
      "message": "libstagefright: check memory size for overflow before allocation.\n\nBug: 20674086\nChange-Id: I431aa2b7d30a942350ab6d105451c6b77e2f99d4\n"
    },
    {
      "commit": "dd488a23d37b71e3f87fe70bf966a6c967e14b60",
      "tree": "baebc9a5e0b95c684b19d573e0fa4331a08f54fa",
      "parents": [
        "0b305f2d8f328426f5c59b5d5f2707ffefe35a5c",
        "ffd8cbb288f096b53df0392bf40d99b89e34bea7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 08 22:18:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 22:18:56 2015 +0000"
      },
      "message": "Merge \"fix graphic buffer leak with persistent input surface\" into mnc-dev"
    },
    {
      "commit": "0b305f2d8f328426f5c59b5d5f2707ffefe35a5c",
      "tree": "520d6bb5c509dc9aea3e511b859060da0fc7279e",
      "parents": [
        "d46a6b9fd8b2a4f9098757384711e2cd03a91651",
        "2177f21c1ae5bf5cb8c1113a1adbe1fd7db34206"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jun 08 22:15:17 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 22:15:17 2015 +0000"
      },
      "message": "Merge \"MPEG4Writer: add check to ensure no integer overflow on allocation.\" into mnc-dev"
    },
    {
      "commit": "760f92f8b6da9c9cf128cb18fe3c09402fdde6cd",
      "tree": "ddd7b46e2c732d63cbaab22922d8c82cccf95f7b",
      "parents": [
        "9cf332ca156132931da397bae94b89debb40de10"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jun 08 14:01:42 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jun 08 14:01:42 2015 -0700"
      },
      "message": "SoftwareRenderer: sanity check buffer size before copying data.\n\nBug: 21443020\nChange-Id: I63cf86217b8201fb41809c23e4b752b845a93ee2\n"
    },
    {
      "commit": "ffd8cbb288f096b53df0392bf40d99b89e34bea7",
      "tree": "8eba9d637c0e08b976396089b01152166415bdab",
      "parents": [
        "26a48f304a8754d655e554178ffb6d7ba4c5aac3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 05 18:38:28 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 08 13:23:32 2015 -0700"
      },
      "message": "fix graphic buffer leak with persistent input surface\n\nimplement PersistentProxyListener that returns buffers during period\nwhen actual listener is not connected.\n\nalso clear old buffer slot in GraphicBufferSource when re-attaching.\n\nbug: 21473584\nChange-Id: I3bcf1a208e745397d6cc6ce9aef9e4f5aa604f3c\n"
    },
    {
      "commit": "d46a6b9fd8b2a4f9098757384711e2cd03a91651",
      "tree": "6a292d7d4948ad40719925c82ee95945a6ccb99d",
      "parents": [
        "b4b4cd11c9b95af613f5c0f14f93e3c9590fda7c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu May 14 17:26:24 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 08 13:21:50 2015 -0700"
      },
      "message": "Camera1 API: Support SW encoders for new camera HALs\n\n- Support new set video format/dataspace command in camera service\n  - HALv3: Select gralloc usage flags based on format\n  - HALv1: Pass format command directly to HAL layer\n- Use format/dataspace command in CameraSource\n- Switch all API1 recording to use metadata mode\n- Switch all \u003e\u003d HALv2 API1 recording to use kMetadataBufferTypeANWBuffer\n\nBug: 13222807\nChange-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42\n"
    },
    {
      "commit": "b4b4cd11c9b95af613f5c0f14f93e3c9590fda7c",
      "tree": "b5cfeed2adbb5e08b67d340af590f0cbb5f00cf4",
      "parents": [
        "a31d237241545d7d2e1b5663426de06dea2426d4",
        "a09152c6317e0295773b91f529e63c4d7c107752"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Jun 08 19:28:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 19:28:49 2015 +0000"
      },
      "message": "Merge \"libstagefright: run codec profiling in worker thread.\" into mnc-dev"
    },
    {
      "commit": "a31d237241545d7d2e1b5663426de06dea2426d4",
      "tree": "b93e31d54c98fb030af73290ffb72346563985c8",
      "parents": [
        "72249d5b2f9f42a96c0e0825431e8f3f49b82644",
        "f6fe4340219a8e674f3250fe32d4697ec8184b24"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jun 08 18:28:47 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 18:28:47 2015 +0000"
      },
      "message": "Merge \"SoftAVCEnc: check requested memory size before allocation.\" into mnc-dev"
    },
    {
      "commit": "a09152c6317e0295773b91f529e63c4d7c107752",
      "tree": "560440b692a1b48e0b32476126f4770f26bb1a50",
      "parents": [
        "81c4d806c574271e6e4e49a795bcbe809af4eff0"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Jun 05 09:54:53 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Sun Jun 07 21:41:52 2015 -0700"
      },
      "message": "libstagefright: run codec profiling in worker thread.\n\nBug: 21645841\nChange-Id: Ia15eb3b064b671c569afb0742db7535f6b03232e\n"
    },
    {
      "commit": "53d350308fea376f3fa8bef76c28b654d1d39766",
      "tree": "c57fe0175a673dac6d5eb31a48d244169ace3da5",
      "parents": [
        "26a48f304a8754d655e554178ffb6d7ba4c5aac3",
        "2aa74dc097fe860abc84769abf2b6e0962718471"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Jun 06 01:28:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 06 01:28:12 2015 +0000"
      },
      "message": "Merge \"MPEG4Writer: fail init check if output fd is not seekable\" into mnc-dev"
    },
    {
      "commit": "2aa74dc097fe860abc84769abf2b6e0962718471",
      "tree": "adad1804e8c7054c64efaf069b176110f547c115",
      "parents": [
        "4170eeec0a2dc2a9543b7e4674a43b3d2faac61d"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jun 03 16:49:30 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Jun 05 18:24:16 2015 -0700"
      },
      "message": "MPEG4Writer: fail init check if output fd is not seekable\n\nBug: 12239375\nChange-Id: Id1e23b3803f0ed48e4d1ad3ec4b84c4a39325ddd\n"
    },
    {
      "commit": "26a48f304a8754d655e554178ffb6d7ba4c5aac3",
      "tree": "29d2f266cec93fa3aa146d9de238132be0658297",
      "parents": [
        "bf913163c69abf9e67bb393f032d0c3e1a642957"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jun 04 10:30:02 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 05 17:57:19 2015 -0700"
      },
      "message": "stagefright: add support for batching OMX events\n\nBug: 20503131\nChange-Id: I762c419ed1245f8b83fb1f6bf61e5557213ca07b\n"
    },
    {
      "commit": "23b6ee36e0d453d5ca9ff6b91e287a2be2325582",
      "tree": "b49e727cc4d43545469f3476837a65625020b9d2",
      "parents": [
        "afd492436efc7f66b958da14659b52232efa5910",
        "8c10a80cf1af68f15eb39552ca116ec6f04fc173"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Jun 05 23:58:02 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 23:58:04 2015 +0000"
      },
      "message": "Merge \"stagefright: initial Ogg Opus support\" into mnc-dev"
    },
    {
      "commit": "afd492436efc7f66b958da14659b52232efa5910",
      "tree": "6fa4c01f1fa1703e1831a76cd16e7c8db7a75d00",
      "parents": [
        "81c4d806c574271e6e4e49a795bcbe809af4eff0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 04 11:01:15 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 05 10:55:21 2015 -0700"
      },
      "message": "Limit allocations to avoid out-of-memory\n\nCorrupt files could cause very large allocations, limit them to something\nmore reasonable.\n\nBug: 17769851\nChange-Id: Ib0f722fd6fddff873bd7a547aac456e608c34c84\n"
    },
    {
      "commit": "81c4d806c574271e6e4e49a795bcbe809af4eff0",
      "tree": "df0d69efc205644e26c68a87354a73621a45d4aa",
      "parents": [
        "13dcb4fea2e1d9698cc5baa5a35b520153593eda",
        "c8e09c610fabc7390297ecb48e939acbdfe27325"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 03:55:00 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 03:55:01 2015 +0000"
      },
      "message": "Merge \"Improve AudioTrack offload timestamp startup glitch detector\" into mnc-dev"
    },
    {
      "commit": "13dcb4fea2e1d9698cc5baa5a35b520153593eda",
      "tree": "ea91b9bcac71a550ded299e9a5d5aeb23dcd582e",
      "parents": [
        "b7e8d8522c5eb2e0a9c04b2f499f930eabba8309",
        "005e9d0300fc326a076ec17b7fa6dd4f51568f55"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 03:51:41 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 03:51:41 2015 +0000"
      },
      "message": "Merge \"NuPlayer: Allow audio drain to fill buffer when paused\" into mnc-dev"
    },
    {
      "commit": "b7e8d8522c5eb2e0a9c04b2f499f930eabba8309",
      "tree": "6f4ed8a6fe2135d0894aba8e489441c581b82a30",
      "parents": [
        "c9e54ee0420bdb0226bc077c3952cdd4953773de",
        "85e48142f726770d3b65caa1f29d8b98f8d5db6b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 03:51:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 03:51:22 2015 +0000"
      },
      "message": "Merge \"NuPlayer: Allow audio callback to fill buffer when paused\" into mnc-dev"
    },
    {
      "commit": "c9e54ee0420bdb0226bc077c3952cdd4953773de",
      "tree": "0e41b58c396174435dbac5205bb5f95b4571700d",
      "parents": [
        "bc186651b6ff4bef5ebe0087c0e34bc8e89b14a3",
        "288da02b1f074f9f3c191f1838f135d4633b3d34"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 03:49:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 03:49:09 2015 +0000"
      },
      "message": "Merge \"NuPlayer: Add audio deep buffer configuration\" into mnc-dev"
    },
    {
      "commit": "bc186651b6ff4bef5ebe0087c0e34bc8e89b14a3",
      "tree": "c4375dc39183f9af9576e2d5188fe85f5d7a6490",
      "parents": [
        "1830513e7a2638e627a7991bc0c786451eadfc0b",
        "179652ee2a508361df1aa18e99000373886f0816"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 03:40:00 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 03:40:02 2015 +0000"
      },
      "message": "Merge \"NuPlayer: Add audio sink buffer configuration\" into mnc-dev"
    },
    {
      "commit": "1830513e7a2638e627a7991bc0c786451eadfc0b",
      "tree": "9f0f0954cdba2d3377544d36bbcf3e4ef9315369",
      "parents": [
        "89d403212e2bcca78cae9c8d64621c664358ee2a",
        "a7f03353d5f172016f324e2a01f301cca6794152"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 03:28:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 03:28:29 2015 +0000"
      },
      "message": "Merge \"Compute sleep time when AudioTrack client callback returns no PCM data\" into mnc-dev"
    },
    {
      "commit": "374f0f48d21a642ba442597a92f5a169b70e0cf0",
      "tree": "0402b2c8a1d7ab1f7de9582592bd053e97f6f79c",
      "parents": [
        "3b6df523db299df78052e5d2f17b0039b7523c06",
        "a105482ae577852ffd08ce88ae5d1ba81db875ac"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jun 04 20:10:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 20:10:32 2015 +0000"
      },
      "message": "Merge \"SampleTable: fix integer overflow checks.\" into mnc-dev"
    },
    {
      "commit": "c8e09c610fabc7390297ecb48e939acbdfe27325",
      "tree": "38ceed23e3bbef10f3d54388926c5ea242a1d069",
      "parents": [
        "005e9d0300fc326a076ec17b7fa6dd4f51568f55"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 23:43:36 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 04 12:23:56 2015 -0700"
      },
      "message": "Improve AudioTrack offload timestamp startup glitch detector\n\nNew or existing glitch behavior for Nexus 5 offload audio:\nwe receive several 0 timestamps,\nthen we get a stale timestamp (very large),\nthen a few ms later we get a correct nonzero timestamp.\n\nWe attempt to hide the glitch because the retrograde timestamp\ncorrection makes the glitch \"sticky\".\n\nBug: 21633313\nChange-Id: I39153af718c151f9435e7d315651a811f72743da\n"
    },
    {
      "commit": "a105482ae577852ffd08ce88ae5d1ba81db875ac",
      "tree": "434cbf9e3f058ab5fced5a78a20a34c27a3b79e8",
      "parents": [
        "9cf332ca156132931da397bae94b89debb40de10"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jun 04 10:40:23 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jun 04 10:40:23 2015 -0700"
      },
      "message": "SampleTable: fix integer overflow checks.\n\nBug: 20139950\nChange-Id: I6f4e3d4c734872074475d9346ed692a4baf77d79\n"
    },
    {
      "commit": "f6fe4340219a8e674f3250fe32d4697ec8184b24",
      "tree": "669022a3fa290bc7826614478345d0efeca443f2",
      "parents": [
        "9cf332ca156132931da397bae94b89debb40de10"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 03 17:14:04 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jun 04 10:16:51 2015 -0700"
      },
      "message": "SoftAVCEnc: check requested memory size before allocation.\n\nBug: 20674674\nChange-Id: I569e7a9b33fe64779a40e55539929c3dc4303c19\n"
    },
    {
      "commit": "2177f21c1ae5bf5cb8c1113a1adbe1fd7db34206",
      "tree": "7f3e94e92258fdb5e37f9416c40d533636d8d0eb",
      "parents": [
        "9cf332ca156132931da397bae94b89debb40de10"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 03 16:47:19 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jun 04 09:56:22 2015 -0700"
      },
      "message": "MPEG4Writer: add check to ensure no integer overflow on allocation.\n\nBug: 20674584\nChange-Id: I77ef1891abf0a20994840a87fa99e55a62f40a70\n"
    },
    {
      "commit": "3b6df523db299df78052e5d2f17b0039b7523c06",
      "tree": "6043e54c3dfe52f9d4ea380b07ed3747881ad10b",
      "parents": [
        "4170eeec0a2dc2a9543b7e4674a43b3d2faac61d",
        "4136329b28f5b301cb9123009a3635a9db4a0a04"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 04 15:03:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 15:03:30 2015 +0000"
      },
      "message": "Merge \"Don\u0027t overwrite user agent header if app specified one\" into mnc-dev"
    },
    {
      "commit": "4136329b28f5b301cb9123009a3635a9db4a0a04",
      "tree": "5e79b8502d29b7f72539ed61568cbf7a400e3e42",
      "parents": [
        "9c21131f254383b39b954e36df8ec57164e102c6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 22 08:36:19 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 04 08:02:36 2015 -0700"
      },
      "message": "Don\u0027t overwrite user agent header if app specified one\n\nBug: 19100078\nhttps://code.google.com/p/android/issues/detail?id\u003d103266\n\nChange-Id: I321935a7e7a217328a5704c94e92f763c8742767\n"
    },
    {
      "commit": "005e9d0300fc326a076ec17b7fa6dd4f51568f55",
      "tree": "d9995f9aa6e174e73211e862526be8b13e5cec66",
      "parents": [
        "85e48142f726770d3b65caa1f29d8b98f8d5db6b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun May 31 23:16:07 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 22:42:14 2015 -0700"
      },
      "message": "NuPlayer: Allow audio drain to fill buffer when paused\n\nIf a pause lasts more than a few seconds, the audio device\nenters standby.  When the audio device comes out of standby,\nit typically requests a large amount of data to fill its buffers\n(especially severe for deep buffer PCM mode).\n\nTo avoid a glitch, continue to fill the buffer (until no more data\ncan be written) when paused.\n\nAlso, we do not start the audio sink if we are paused to avoid\naudio playback in video preview mode.\n\nBug: 19062223\nBug: 21198655\nChange-Id: Ifb3f181d5e810283381b65f2af16a4c71df0b04f\n"
    },
    {
      "commit": "85e48142f726770d3b65caa1f29d8b98f8d5db6b",
      "tree": "e20152866b7021c28085caf329fa91c7abbe13e8",
      "parents": [
        "288da02b1f074f9f3c191f1838f135d4633b3d34"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun May 31 23:04:15 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 22:42:03 2015 -0700"
      },
      "message": "NuPlayer: Allow audio callback to fill buffer when paused\n\nIf a pause lasts more than a few seconds, the audio device\nenters standby.  When the audio device comes out of standby,\nit typically requests a large amount of data to fill its buffers\n(especially severe for deep buffer PCM mode).\n\nTo avoid a glitch, continue to service the audio callback\nwhen paused.\n\nAlso, we do not start the audio sink if we are paused to avoid\naudio playback in video preview mode.\n\nBug: 19062223\nBug: 21198655\nChange-Id: I987337a87e6c875aeb381df8ad37c7139c42dc72\n"
    },
    {
      "commit": "288da02b1f074f9f3c191f1838f135d4633b3d34",
      "tree": "71f3b4ba081022cabab6ea25e06c201e690e1024",
      "parents": [
        "179652ee2a508361df1aa18e99000373886f0816"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun May 31 22:55:59 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 22:41:22 2015 -0700"
      },
      "message": "NuPlayer: Add audio deep buffer configuration\n\nDisabled for video streams now.\nEnabled by property media.stagefright.audio.deep 1\n\nBug: 21198655\nChange-Id: I03f3b43091f950637d46779e2e74c1321b2cd268\n"
    },
    {
      "commit": "179652ee2a508361df1aa18e99000373886f0816",
      "tree": "cab9a40399ab43231c8a9b9fc00985b2efaf600c",
      "parents": [
        "a7f03353d5f172016f324e2a01f301cca6794152"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun May 31 22:49:46 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 22:26:44 2015 -0700"
      },
      "message": "NuPlayer: Add audio sink buffer configuration\n\nProperty media.stagefright.audio.sink (in milliseconds)\nAlso change the default buffer size for PCM playback to 500 ms.\n\nBug: 21198655\nChange-Id: I5781288f59bf08fbecd9263a26c919570b58be0f\n"
    },
    {
      "commit": "a7f03353d5f172016f324e2a01f301cca6794152",
      "tree": "50ac6c8e46e5c60624b96008c2de4585f24364c9",
      "parents": [
        "4170eeec0a2dc2a9543b7e4674a43b3d2faac61d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun May 31 21:54:49 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 22:26:17 2015 -0700"
      },
      "message": "Compute sleep time when AudioTrack client callback returns no PCM data\n\nCallbacks can go into a sleep-wait cycle if the client/app is unable to\ndeliver data.  This can happen if the buffer is large, or if\nthe client/app cannot keep the buffer filled, or upon a stream end condition.\nWe improve the sleep time computation for AudioTrack PCM callbacks.\n\nThis minimizes the number of callbacks to NuPlayerRenderer.\n\nBug: 21198655\nChange-Id: I4247798a6638def2f0d8f1b46f60323482065cb2\n"
    },
    {
      "commit": "8c10a80cf1af68f15eb39552ca116ec6f04fc173",
      "tree": "9ddb1d8addf4a44665028b6db044178793844a80",
      "parents": [
        "2d6b6601743c3c6960c6511a2cb774ef902759f4"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Jun 01 13:58:49 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jun 03 16:17:44 2015 -0700"
      },
      "message": "stagefright: initial Ogg Opus support\n\nBug: 19286916\nChange-Id: I176d803aa5a16038d074aa06b41fc76da0be8952\n"
    },
    {
      "commit": "4170eeec0a2dc2a9543b7e4674a43b3d2faac61d",
      "tree": "cb6467ecdb48f84040fe2b3efca2266aa833b1f1",
      "parents": [
        "d726a189a8a3f822106da21fcb8c8665fd48d272",
        "da17c04fa1c81ff8ffa8160df06fa5031a7884f4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 21:00:18 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 21:00:22 2015 +0000"
      },
      "message": "Merge \"MediaPlayerService: Reset the bytes written in AudioSink stop and flush\" into mnc-dev"
    },
    {
      "commit": "da17c04fa1c81ff8ffa8160df06fa5031a7884f4",
      "tree": "8f8de9064479ea370b7d5c97dd7de61cc593f018",
      "parents": [
        "0eafa9d8ee4069aa709ff85ceffe94d12995956d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 01 15:53:14 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 13:58:39 2015 -0700"
      },
      "message": "MediaPlayerService: Reset the bytes written in AudioSink stop and flush\n\nWhen playing in non-offloaded mode with gapless playback it is\nnecessary to reset AudioSink\u0027s bytes written on stop and flush\n(e.g. seeking) so the frames written can be correctly retrieved\nfor the subsequent song in NuPlayer::Renderer::onAudioSinkChanged().\n\nWithout this change, seeks performed during playback will cause\na time position offset of the subsequent song in Play Music.\n\nBug: 21198655\nChange-Id: I0fb6cc94b5a0ff106dc8a71571ed85d75fb00660\n"
    },
    {
      "commit": "d726a189a8a3f822106da21fcb8c8665fd48d272",
      "tree": "8cf2dc30eca4072e94128d34e5c7be6ce7bf8673",
      "parents": [
        "6f04a0c9bf531372ba885a82e592a0eeb27b9484",
        "a0b397133bfce8a62198dfac9a2b970c8b20bcc5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 20:57:02 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 03 20:57:02 2015 +0000"
      },
      "message": "Merge \"NuPlayer: Add audio callback mode for PCM audio.\" into mnc-dev"
    },
    {
      "commit": "a0b397133bfce8a62198dfac9a2b970c8b20bcc5",
      "tree": "5af9ba6903997316c7f6db55919cc6f52982190f",
      "parents": [
        "0eafa9d8ee4069aa709ff85ceffe94d12995956d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sun May 31 22:40:49 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 03 13:55:14 2015 -0700"
      },
      "message": "NuPlayer: Add audio callback mode for PCM audio.\n\nDisabled for now. Enabled by property media.stagefright.audio.cbk 1\n\nBug: 21198655\nChange-Id: I8f117b089fe019009f1615908d33720a93e1b21e\n"
    }
  ],
  "next": "6f04a0c9bf531372ba885a82e592a0eeb27b9484"
}
