)]}'
{
  "log": [
    {
      "commit": "7d64d30d0dcdb97be921790e2702e5adfe751d92",
      "tree": "440252f501c141fe4416dfc58898edce7e41681d",
      "parents": [
        "81b0d510e8ab71649aa7478d722ebb0d99cab8d9",
        "a944197b97b4e64ffb3abe91218d1db06ea9d7de"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Aug 12 21:33:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 12 21:33:07 2016 +0000"
      },
      "message": "resolve merge conflicts of 6ae8c7b to stage-aosp-master am: 32d6e5f0eb\nam: a944197b97\n\nChange-Id: I03472be260cbfdaf436514d319e91063c738b82c\n"
    },
    {
      "commit": "a944197b97b4e64ffb3abe91218d1db06ea9d7de",
      "tree": "10605cfea223bd40c6841fe4d36769567d2504fc",
      "parents": [
        "b29fdbe4467335c3d277ffc3433c7cb5ef8be4ec",
        "32d6e5f0ebe9e00f80401e5f4fd6e285a474590d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Aug 12 21:28:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 12 21:28:50 2016 +0000"
      },
      "message": "resolve merge conflicts of 6ae8c7b to stage-aosp-master\nam: 32d6e5f0eb\n\nChange-Id: I200068e27004c5f3c9508a4f46747e0459b31ba8\n"
    },
    {
      "commit": "32d6e5f0ebe9e00f80401e5f4fd6e285a474590d",
      "tree": "3bdd56b0b9b65ec35caa4a976c76ad9d4214cfbd",
      "parents": [
        "311f99eade1222575bc65a2fcbd9f9a5a40d2024",
        "6ae8c7bc1fd68dc810155df7021fde26a2b2414c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Aug 12 13:46:48 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Aug 12 13:53:20 2016 -0700"
      },
      "message": "resolve merge conflicts of 6ae8c7b to stage-aosp-master\n\nChange-Id: Iabb5d9b93b98e428c53f0504fbfe832ed24d988d\n"
    },
    {
      "commit": "6ae8c7bc1fd68dc810155df7021fde26a2b2414c",
      "tree": "e333d0aaffb4a0c017f4e63ab6c64a3ab31cd4c3",
      "parents": [
        "70066d92606c66dedd27c974a7ee6f84e36ef015",
        "0d1ed381fde5dac12dd84fcf3da66dac46699378"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Aug 12 20:34:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 12 20:34:15 2016 +0000"
      },
      "message": "Merge \"Fix clang-tidy warnings in stagefright.\""
    },
    {
      "commit": "5ca8f32280377dd923e72c3c6bd3994217461b8b",
      "tree": "b5146ce7885539d8b002d3270346f574e3965711",
      "parents": [
        "7aeb8c8d4437eb8f45be3ad3828764795e14ad4c",
        "63ef5a38f82d22c1f97922fe490a1fd336566d5c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 23:53:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 10 23:53:01 2016 +0000"
      },
      "message": "resolve merge conflicts of fd923e7 to stage-aosp-master am: df5d9246f9\nam: 63ef5a38f8\n\nChange-Id: I516a43c5e56323e99ad7a8ca2e4811b77c9704f4\n"
    },
    {
      "commit": "63ef5a38f82d22c1f97922fe490a1fd336566d5c",
      "tree": "e84028568dbcede5ffdaf58be20c6cc080028edd",
      "parents": [
        "b8750e114b6fd99768c45233d4b2ffb2b198f5d1",
        "df5d9246f9607b1c2f8b134c46a05af06e206da3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 23:50:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 10 23:50:01 2016 +0000"
      },
      "message": "resolve merge conflicts of fd923e7 to stage-aosp-master\nam: df5d9246f9\n\nChange-Id: I20767244fef48ad42334c5131e2d402f75bb7327\n"
    },
    {
      "commit": "df5d9246f9607b1c2f8b134c46a05af06e206da3",
      "tree": "7cd9fcb42c86c8cfe950db239e21e8b5ece98369",
      "parents": [
        "7ad2854adc0abe8dd7909a6ed401107ad09bc3d2",
        "fd923e7fe2779bcd69d79471b8c30c8b98918f62"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 15:40:39 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 16:10:32 2016 -0700"
      },
      "message": "resolve merge conflicts of fd923e7 to stage-aosp-master\n\nChange-Id: I75b44b89bae41197a1fd68362d20b8ba2b4dd192\n"
    },
    {
      "commit": "fd923e7fe2779bcd69d79471b8c30c8b98918f62",
      "tree": "216eef7ee3c7dd3658bf6a97bdf93e5b46c9990f",
      "parents": [
        "1c10de5b7bafaa7886bf6c9f61d435aeb2b1e7f4",
        "36d0ca16024820df9a12903d2ac443fabcc180bc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 10 22:17:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 10 22:17:25 2016 +0000"
      },
      "message": "Merge \"Fix clang-tidy warnings in audio and playerservice.\""
    },
    {
      "commit": "36d0ca16024820df9a12903d2ac443fabcc180bc",
      "tree": "51e8f285ae66ad7cb922caeb7ba8d5f1d20367e3",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:31:32 2016 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 17:56:35 2016 +0000"
      },
      "message": "Fix clang-tidy warnings in audio and playerservice.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I265f3b094e08d5705b506b3fbba51439c134af84\nMerged-In: I265f3b094e08d5705b506b3fbba51439c134af84\n"
    },
    {
      "commit": "0d1ed381fde5dac12dd84fcf3da66dac46699378",
      "tree": "cf0367b8e296171a61d16924bb26a4f84db57700",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:28:14 2016 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 17:38:12 2016 +0000"
      },
      "message": "Fix clang-tidy warnings in stagefright.\n\n* Add explicit keyword to conversion constructors.\n* Or add NOLINT to implicit conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\n* Use const reference type to avoid unnecessary copy.\nBug: 30413862\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I7a15ac1e37973fe2c661f577a6106b913653de40\nMerged-In: I7a15ac1e37973fe2c661f577a6106b913653de40\n"
    },
    {
      "commit": "8c0164ca98bcc76f3656fb1078033bffd4a387de",
      "tree": "053055dfa80eb72f140b8ce6da9fb138f2e6486d",
      "parents": [
        "67fbddfdc2cafd63c83d3bb55a2451d4c26f546d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:20:59 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:20:59 2016 -0700"
      },
      "message": "Fix clang-tidy warnings in drm.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\n* Use const reference type to avoid unnecessary copy.\nBug: 30413862\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Idf1c48d7bfe3f0da20401cb3ff1983ec00be170d\n"
    },
    {
      "commit": "c5ce33d3f70bb8755a7ae964b1f558ce9b20a959",
      "tree": "7ed952ba9aaa959c5205b2b87d9f934dde804e80",
      "parents": [
        "61286f7829294a5ddaa5f852afa2fb3ea2eebcd6",
        "85dbe661a2989d1c51182b62701e412104fbfffc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sat Aug 06 01:28:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 06 01:28:10 2016 +0000"
      },
      "message": "MediaPlayerService: clear output in CallbackData when recycling AudioTrack. am: adee56abc3\nam: 85dbe661a2\n\nChange-Id: If59f8e28b33334f3273500506bf041940951527c\n"
    },
    {
      "commit": "adee56abc3749b18f90e7788990a0b5ae1bf430e",
      "tree": "98a630421dbcf4c8f27b810666ba03f2437f4310",
      "parents": [
        "e7449bf60c861f1dea7510f706004dfdb5efb2a7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Aug 05 15:40:34 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Aug 05 15:40:34 2016 -0700"
      },
      "message": "MediaPlayerService: clear output in CallbackData when recycling AudioTrack.\n\nBug: 30365636\nChange-Id: I3832a309f78a6fa89d4afea7bdd7139f0d9013f4\n"
    },
    {
      "commit": "6575a6f5df018281b03700579099d05b35101ec1",
      "tree": "768d4fadbca24af5541c50db26960bf37f88bc7f",
      "parents": [
        "b78d2df84cfc926142ad95ba35e8ec6ab2f74eb3",
        "b4cb73e7f079d6639e1f3eae5adaf138a167f3f3"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 19 03:57:40 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 19 03:57:40 2016 +0000"
      },
      "message": "Merge \\\"AudioSink: set configurations correctly for recycled track.\\\" into nyc-mr1-dev\nam: b4cb73e7f0\n\nChange-Id: Ie0022ddf183bec7c8c547e56c715500c3588a89c\n"
    },
    {
      "commit": "b4cb73e7f079d6639e1f3eae5adaf138a167f3f3",
      "tree": "d696cf08253a07fbad66ac22b5b1ff79d06bead8",
      "parents": [
        "542cb3f42970275b9d6828d409ba697dab202861",
        "e0bbac912f9ea561ed96ad8b0a354cbab8f345a1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 19 03:51:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 19 03:51:48 2016 +0000"
      },
      "message": "Merge \"AudioSink: set configurations correctly for recycled track.\" into nyc-mr1-dev"
    },
    {
      "commit": "e0bbac912f9ea561ed96ad8b0a354cbab8f345a1",
      "tree": "286de5eb65dd7cd335648da9ae5d65f233c6e4d3",
      "parents": [
        "9f6392250bf6d02a514bd83b743906dda748dee9"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jul 18 16:04:53 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jul 18 18:18:09 2016 -0700"
      },
      "message": "AudioSink: set configurations correctly for recycled track.\n\nBug: 29838892\nChange-Id: Ib64db16aeeaa4436d082a4098a21a75376119ef0\n"
    },
    {
      "commit": "881f62d5a1da2f0cf7222a8d304fa58faa154197",
      "tree": "8c82c7c027d8334ad82dc639e428666560a41e22",
      "parents": [
        "77e39d9c068b67e8fa6f78ef79a5126584bdd735",
        "bc7e8996c2be0377a659348649367c2d9455f21d"
      ],
      "author": {
        "name": "Takahiro Aizawa",
        "email": "takahiro.aizawa@sonymobile.com",
        "time": "Fri Jul 15 23:41:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 15 23:41:07 2016 +0000"
      },
      "message": "Merge \\\"Add null check for rtsp source\\\" into nyc-mr1-dev\nam: bc7e8996c2\n\nChange-Id: Ic0ad15b9eef3049bab98b01a6e495743988632f6\n"
    },
    {
      "commit": "bc7e8996c2be0377a659348649367c2d9455f21d",
      "tree": "b7f64bc1cd8aed0b93d739024d9fcadb7d0e1436",
      "parents": [
        "b800dfd8239f6fe0248b3034d75429b1e452d5e2",
        "c622c584ea0ffb807eb9f711aa30016eae069c92"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Jul 15 23:34:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 23:34:23 2016 +0000"
      },
      "message": "Merge \"Add null check for rtsp source\" into nyc-mr1-dev"
    },
    {
      "commit": "888de371da1b821975506c6013e2013ed6024e02",
      "tree": "ebf7b437aa53304863fb9eafea46205420bd21b1",
      "parents": [
        "e3caed1db3de38d1e60403101390392e77adf815",
        "e98f14ff194bd00ed71574cff19340c1090c78dd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 15 06:11:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 15 06:11:36 2016 +0000"
      },
      "message": "Merge \\\"GenericSource: Allow multiple buffer reads for video\\\" into nyc-mr1-dev\nam: e98f14ff19\n\nChange-Id: I8348ecb645e1aef74064bacdbacd8de6c20e4d94\n"
    },
    {
      "commit": "e98f14ff194bd00ed71574cff19340c1090c78dd",
      "tree": "4444c32cfea40c34aa704e4256905b0b7ebdfd44",
      "parents": [
        "9bbbdd3cab5c6b93649cbf31ba3097218944b06a",
        "cdeb6603d862cec4adac7c39f3b8b240f2b645dc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 15 06:04:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 06:04:47 2016 +0000"
      },
      "message": "Merge \"GenericSource: Allow multiple buffer reads for video\" into nyc-mr1-dev"
    },
    {
      "commit": "e8d9d6d8ff2c229313ab7f079ae52445e8ee6b5a",
      "tree": "c00daa5723f09a50b5e9203486f32d6f829226f0",
      "parents": [
        "78ef32963c91d4c2e8d4e1cb361987b0438fc7f3",
        "83efe020b94d29132bd4d5cbe049a15abad0095a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 15 03:37:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 15 03:37:20 2016 +0000"
      },
      "message": "Merge \\\"IMediaSource: Improve shared memory buffer transfer\\\" into nyc-mr1-dev\nam: 83efe020b9\n\nChange-Id: I20c727525eb2aa9d9858ee59d699c5ae8b81ef1f\n"
    },
    {
      "commit": "83efe020b94d29132bd4d5cbe049a15abad0095a",
      "tree": "b3b1be55898e24fc29f464342802b5ad301b1821",
      "parents": [
        "87cbfa8c5ecbe515c380d5592cef20c1fafe36b7",
        "f59c0bafebcd795b20141bf928a5cab8ac46e882"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 15 03:30:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 03:30:32 2016 +0000"
      },
      "message": "Merge \"IMediaSource: Improve shared memory buffer transfer\" into nyc-mr1-dev"
    },
    {
      "commit": "78ef32963c91d4c2e8d4e1cb361987b0438fc7f3",
      "tree": "7a6ed701f782e1a9197077aa9fc11c0480724980",
      "parents": [
        "38667cc8c1c46b66665e4a17d60e44e708c184b4",
        "87cbfa8c5ecbe515c380d5592cef20c1fafe36b7"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 15 01:26:13 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 15 01:26:13 2016 +0000"
      },
      "message": "Merge \\\"stagefright: prefer B frames for high frame-rate recording\\\" into nyc-mr1-dev\nam: 87cbfa8c5e\n\nChange-Id: I7648f002a8c6f8385abcac3b80f768cddc1b3722\n"
    },
    {
      "commit": "0bdc8b005ffa5f74f6188acf2923aa42ca28bed0",
      "tree": "0220285a449f304db8e0987fdb68ba75635ab14c",
      "parents": [
        "fc33e4017e2adaeacb0c4deffc762c612d70f256",
        "8dcd820534b11b9b2f10cd2e1f6601cb472f424a"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 15 01:26:12 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 15 01:26:12 2016 +0000"
      },
      "message": "Merge \\\"stagefright: update temporal layering selection in MediaRecorder\\\" into nyc-mr1-dev\nam: 8dcd820534\n\nChange-Id: I6ae23ad45ae59d3f450ebf53ceba13e6ad0a6b43\n"
    },
    {
      "commit": "87cbfa8c5ecbe515c380d5592cef20c1fafe36b7",
      "tree": "d100a80cfa3b8df1a8219270a19de244510085f0",
      "parents": [
        "db2d2066e6e3f3ce728c2b17ed0923b02834519b",
        "e19f2956de379b9c9a852d50d83d0608ca42bfe9"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 15 01:22:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 01:22:26 2016 +0000"
      },
      "message": "Merge \"stagefright: prefer B frames for high frame-rate recording\" into nyc-mr1-dev"
    },
    {
      "commit": "8dcd820534b11b9b2f10cd2e1f6601cb472f424a",
      "tree": "87ed46c9b40b7ed0701359d2de7431320d47186e",
      "parents": [
        "b00a831ccc86d9274dbdd06256546947115783e2",
        "2da225766572a3d4746b4e21cb231a0243b114ab"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 15 01:19:35 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 01:19:36 2016 +0000"
      },
      "message": "Merge \"stagefright: update temporal layering selection in MediaRecorder\" into nyc-mr1-dev"
    },
    {
      "commit": "a23429a8050e188ee5f7c3390b9766c49f6f3dd3",
      "tree": "aea9e6380b83bae1123f46ff0ca52bb2561590a0",
      "parents": [
        "8ccd117143f4e0c9fc05102f8101f67ad1f11da6",
        "6fb884ae1cdac4ac87cfc56f2dc35ce21298b7dc"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 14 22:58:32 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 14 22:58:32 2016 +0000"
      },
      "message": "Merge \\\"stagefright: don\\\u0027t auto-drop temporal layers for unknown SVC streams\\\" into nyc-mr1-dev\nam: 6fb884ae1c\n\nChange-Id: Id5e46a10ec931331946ec1474d52a0280250ea6c\n"
    },
    {
      "commit": "9fb815244cc33927e14ce0fe70539786a611daf9",
      "tree": "6609e29e0c6b6a834caf7d9a60d2647f65b08731",
      "parents": [
        "a5bcf56619a70b0b46c737a29d873bbff8fb77a4"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 14 07:33:43 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 14 22:49:05 2016 +0000"
      },
      "message": "stagefright: don\u0027t auto-drop temporal layers for unknown SVC streams\n\n- SVC optimization requires knowin the number of layers which is\n  using custom signaling. Don\u0027t drop temporal layers without that information.\n\nAlso SVC optimization fixes:\n\n- Play back all layers immediately after an IDR frame (previous logic\n  required leveling up one level at a time that only works for hierarchical\n  B frames)\n- Track current max layer-ID during dropping so we can react to upward\n  changes in the allowed layers more quickly.\n- Get up to 90% of display rate before dropping layers (up from 50%)\n\nBug: 27596987\nChange-Id: Ia6c8363fc154c822a5b2a268e2f40678212a487c\n"
    },
    {
      "commit": "e19f2956de379b9c9a852d50d83d0608ca42bfe9",
      "tree": "586ef72882396f3ea01bc885c7b4fb99f45620d8",
      "parents": [
        "2da225766572a3d4746b4e21cb231a0243b114ab"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 14 15:22:10 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 14 15:25:13 2016 -0700"
      },
      "message": "stagefright: prefer B frames for high frame-rate recording\n\nSome codecs do not support B-frames with temporal layering.\n- Prefer temporal layering for slow-motion and time lapse videos\n(since B-frames are not as useful for time lapse, and layering is\n needed for slow-motion)\n- Prefer B-frames for HFR capture\n\nBug: 27596987\nChange-Id: I12f530e9f624e2948e176b5548e0d9d65eed95d8\n"
    },
    {
      "commit": "2da225766572a3d4746b4e21cb231a0243b114ab",
      "tree": "8036414716c275db15eece15a62dadafd719a474",
      "parents": [
        "764e119d3bb1016c868b2334056e1e619dd9b3a5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 14 10:54:41 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 14 15:24:06 2016 -0700"
      },
      "message": "stagefright: update temporal layering selection in MediaRecorder\n\n- Use max expected decode framerate to decide on number of layers\n- Optimize for decoding on 30fps display (battery saver mode)\n\nBug: 27596987\nChange-Id: I8902b4a78670cb0aebb8bccd640367e262f172b2\n"
    },
    {
      "commit": "ea648c61a5db55e41ea98bf42500a458cadd8e64",
      "tree": "65bf9e471c607a42f7291a4a68570195cb8aa14d",
      "parents": [
        "f5ae7b4790fe8e4432dc6270dacf1685d6f97723",
        "37d7af3c3a95022465b86b6cdec9db9fb5a40fd1"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Jul 14 18:06:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 14 18:06:56 2016 +0000"
      },
      "message": "Add bound checks to utf16_to_utf8\nam: 37d7af3c3a\n\nChange-Id: Ib0670b8f8583ad5e67b4e75ba59ce345fe1ce35a\n"
    },
    {
      "commit": "37d7af3c3a95022465b86b6cdec9db9fb5a40fd1",
      "tree": "b7d58e6a6c975599436e044a420ccd041b53ddf8",
      "parents": [
        "786ddba2862716164920b455c4d5a1b3a7454193"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Jun 28 18:24:52 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Jul 14 13:22:21 2016 +0000"
      },
      "message": "Add bound checks to utf16_to_utf8\n\nBug: 29250543\nChange-Id: I3518416e89ed901021970958fb6005fd69129f7c\n(cherry picked from commit 1d3f4278b2666d1a145af2f54782c993aa07d1d9)\n"
    },
    {
      "commit": "f396b630691c47e3323ed1deb2b2ce22bf1426bb",
      "tree": "45aeb8aa200de294709e850ecf1fcf858d744e7d",
      "parents": [
        "df7ed7540b72f5663ee47a9628489f2855ac1126",
        "fa6a70ab138b2deac81be61db7ab3041d698c9d0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 14 02:37:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 14 02:37:58 2016 +0000"
      },
      "message": "Merge \\\"stagefright: enable temporal layering for timelapse and hfr recording\\\" into nyc-mr1-dev\nam: fa6a70ab13\n\nChange-Id: I12ccd929fbee67ed6d6d7be406a01ab181b5af55\n"
    },
    {
      "commit": "c96cfbe66d7bf261c57ff93984bc6a4b3a58f6fc",
      "tree": "7a4722fca0d9d0231d559bb25c9ef97a25a948ed",
      "parents": [
        "e4aebb03ae43d22b3d85c6e6913cfb517ae14217"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 13 07:56:02 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 13 16:27:19 2016 -0700"
      },
      "message": "stagefright: enable temporal layering for timelapse and hfr recording\n\nBug: 27596987\nChange-Id: I310abc22425290117629d5e592f473396a5733d1\n"
    },
    {
      "commit": "cdeb6603d862cec4adac7c39f3b8b240f2b645dc",
      "tree": "839cc37ee4a36e37f7597fccdd7c927e1b314c3e",
      "parents": [
        "f59c0bafebcd795b20141bf928a5cab8ac46e882"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jun 28 17:21:44 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 13 12:38:46 2016 -0700"
      },
      "message": "GenericSource: Allow multiple buffer reads for video\n\nBug: 29125703\nChange-Id: I23490a65ad3968d7be561805c9fa742320b5c78a\n"
    },
    {
      "commit": "f59c0bafebcd795b20141bf928a5cab8ac46e882",
      "tree": "13148690f5bcc66bd17c56b4a0f4cd9f5d05b539",
      "parents": [
        "88bd73d9acf5011ef40122fa9a1b43195facbe07"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 15 17:59:30 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 13 12:38:33 2016 -0700"
      },
      "message": "IMediaSource: Improve shared memory buffer transfer\n\nBug: 29125703\nChange-Id: Icf1180dee65f6504e6c10dd4d5b28a8e441f67d1\n"
    },
    {
      "commit": "4bcec886d7a228bef86da16137571306751b99cd",
      "tree": "fb765bff830a31f20ff015bf1855375de0bc52b6",
      "parents": [
        "84fd507c3dc666947811af5d5f134f7dbe9a09de",
        "412bfccc79b17fc8684af6704c01a69dd94033d8"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Wed Jul 13 01:30:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 13 01:30:54 2016 +0000"
      },
      "message": "Merge \\\"NuPlayer: adjust temporal-layers to achieve smooth play\\\" into nyc-mr1-dev\nam: 412bfccc79\n\nChange-Id: If911a557ce1e53d10061b0d635553fc8556171c9\n"
    },
    {
      "commit": "c622c584ea0ffb807eb9f711aa30016eae069c92",
      "tree": "f2746bf2a731482f4ab207bc5c7d450b9e2bdf48",
      "parents": [
        "e37b911fbf70c15c652db8585bca2a5f035d9def"
      ],
      "author": {
        "name": "Takahiro Aizawa",
        "email": "takahiro.aizawa@sonymobile.com",
        "time": "Mon Jun 20 09:53:47 2016 +0900"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 12 18:07:49 2016 -0700"
      },
      "message": "Add null check for rtsp source\n\nDuring playback contents with multi audio tracks or multi video tracks,\ncrash occurs in checkBuffering() which is added from Android-N.\nThe reason is because instance is not set in mSource in onConnected().\nThis commit adds null check to prevent crash.\n\nBug: 29520487\n\nChange-Id: I893c11a7339e938b1f3b79805c2fb3d9be5cfc96\nSigned-off-by: ZHU XINGYUE \u003czhu.x.xingyue@sonymobile.com\u003e\n"
    },
    {
      "commit": "bbaa144657862e424ed6a199edbd36b5a93c93ad",
      "tree": "8ea45105fd16a1cfedc342e9f011899b1ad5e77e",
      "parents": [
        "0093efba5a3afae93dcd2664a8a54a8306cb538b"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Fri Apr 08 13:33:49 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 12 16:35:48 2016 -0700"
      },
      "message": "NuPlayer: adjust temporal-layers to achieve smooth play\n\nFor multi-layer-encoded content (with hierarchical referencing),\nselect a subset of layers based on playback speed.\n\nBug: 27596987\nChange-Id: I824c699f3c2b80bb516c1b44493eda72239291ac\n(cherry picked from commit 64ad0e0b2b5f992052d287e82ebd79f9f892dcbf)\n"
    },
    {
      "commit": "c33ece57d98dad7247b4f63e878aeffe2decf289",
      "tree": "5cb627cedead02e4107bd237d7fb66337844a757",
      "parents": [
        "f517d276a8bfe4034106abf8009fcd6cc28a0838",
        "bea67b8a707b8875419019ebd2d568090310b326"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Mon Jul 11 12:22:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 11 12:22:34 2016 +0000"
      },
      "message": "Merge \\\"Add bound checks to utf16_to_utf8\\\" into nyc-mr1-dev\nam: bea67b8a70\n\nChange-Id: I4281c4eabbabc991f2fa5d1052d30194dfacc630\n"
    },
    {
      "commit": "bea67b8a707b8875419019ebd2d568090310b326",
      "tree": "59708f53d9c4950fda3d1e1324eb0ec62e6bd48c",
      "parents": [
        "5cc2e814acac142c77eed4e9b8d954623be8965c",
        "1d3f4278b2666d1a145af2f54782c993aa07d1d9"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Mon Jul 11 12:11:30 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 12:11:32 2016 +0000"
      },
      "message": "Merge \"Add bound checks to utf16_to_utf8\" into nyc-mr1-dev"
    },
    {
      "commit": "1d3f4278b2666d1a145af2f54782c993aa07d1d9",
      "tree": "a58f653e4a76988ee042eba780c6b9667ba77028",
      "parents": [
        "e8a984e43504890e0f676256a0445b9917a2af91"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Jun 28 18:24:52 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Jun 28 18:55:43 2016 +0100"
      },
      "message": "Add bound checks to utf16_to_utf8\n\nBug: 29250543\nChange-Id: I3518416e89ed901021970958fb6005fd69129f7c\n"
    },
    {
      "commit": "6851089a7eb9e76fe30de0de98ddd32b36c39095",
      "tree": "6b3eaabc286cb5b42de81d285a3aa6d6445db1b6",
      "parents": [
        "53789bfd3985ea84045bb63bf07ca125c2e7141e",
        "d023a7707fe551817fb3f7539f68a388b3381f41"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Jun 28 03:08:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 28 03:08:50 2016 +0000"
      },
      "message": "Merge \\\"media: set correct mode if both capture and playback rate are set.\\\" into nyc-mr1-dev\nam: d023a7707f\n\nChange-Id: I61be6e2b08da37bfb7b018641d5eb49f4d8633fa\n"
    },
    {
      "commit": "d023a7707fe551817fb3f7539f68a388b3381f41",
      "tree": "5d73cb217c8fff66a31b4c005fe6941152264a50",
      "parents": [
        "7b171a9e7be64e9881ed03baad1422d75ca768a4",
        "5a4a0a1e4a44b8e48aff8e74df56d37dc6d7129c"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Jun 28 03:02:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 03:02:34 2016 +0000"
      },
      "message": "Merge \"media: set correct mode if both capture and playback rate are set.\" into nyc-mr1-dev"
    },
    {
      "commit": "5a4a0a1e4a44b8e48aff8e74df56d37dc6d7129c",
      "tree": "b5d5dafc6cc8dfc6b942dc4462015b3c5f349b04",
      "parents": [
        "901ca36bf02726ca07d83820c93c76d696549a03"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Jun 23 15:03:20 2016 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Jun 27 16:44:04 2016 -0700"
      },
      "message": "media: set correct mode if both capture and playback rate are set.\n\nThis will avoid the recording operate in slow motion/time-lapse mode even\nif capture rate and playback rate diff a little bit.\n\nBug:28313712\nChange-Id: I7b50c6eacbde4189a4d0d76f95861dd029991685\n"
    },
    {
      "commit": "85eb70d63f722641eb0b382e8137fee88b56b69f",
      "tree": "764a2e3dd6cf0194bfb3709eb7c2cf343b03bf76",
      "parents": [
        "2dd124980b4d90daae60127eec56a88bda7e417b",
        "e5d45332a2d8abb44e4ec2964c3d965c28144030"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jun 17 13:35:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 17 13:35:46 2016 +0000"
      },
      "message": "Merge \"Using requested video scaling mode in NuPlayer\" into nyc-mr1-dev"
    },
    {
      "commit": "e8653ac8f0a8c9a2e91e73dccdc45e70c161b0c0",
      "tree": "3c0ab6d608cb53bcec72646e1f61f1c575d4f786",
      "parents": [
        "e193b37a92515206241a25ede18fcab5678354fd",
        "bfc9d5e5d594652410ee03827adf01b323818952"
      ],
      "author": {
        "name": "Bartosz Dolewski",
        "email": "bartosz.dolewski@sonymobile.com",
        "time": "Fri Jun 17 02:32:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 17 02:32:18 2016 +0000"
      },
      "message": "Merge \\\\\\\"Using requested video scaling mode in NuPlayer\\\\\\\" am: 42cf4c39dc am: f8f2f89cf1\nam: bfc9d5e5d5\n\nChange-Id: I44dc761fde557fa49b178d208c0ae9474d65596b\n"
    },
    {
      "commit": "f8f2f89cf1781091cba8ce8ce6f38bc6ad069dff",
      "tree": "2e8f1de6f23681bfab68c582d6e0d5eba76654b5",
      "parents": [
        "dbcce36298345b3e40034e44f2ba706e3c544f1e",
        "42cf4c39dcfc7c2cbd9fa3e6769dcd130d56c171"
      ],
      "author": {
        "name": "Bartosz Dolewski",
        "email": "bartosz.dolewski@sonymobile.com",
        "time": "Fri Jun 17 02:24:00 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 17 02:24:00 2016 +0000"
      },
      "message": "Merge \\\"Using requested video scaling mode in NuPlayer\\\"\nam: 42cf4c39dc\n\nChange-Id: I3fa1f06ba5a492019371e43dd08f38ffa24aafca\n"
    },
    {
      "commit": "e5d45332a2d8abb44e4ec2964c3d965c28144030",
      "tree": "3fc790c4bb039e758357afd80757f8e2b45996b5",
      "parents": [
        "331d46c3f71e2a1e9bb315c4a428cbf399882597"
      ],
      "author": {
        "name": "Bartosz Dolewski",
        "email": "bartosz.dolewski@sonymobile.com",
        "time": "Thu Dec 11 12:47:08 2014 +0100"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jun 16 19:21:37 2016 -0700"
      },
      "message": "Using requested video scaling mode in NuPlayer\n\nIn comparison to AwesomePlayer, NuPlayer has lack of setting\nthe video scaling mode flag on event kWhatVideoSizeChanged.\nThat causes the issues with wrong video screen ratio, because\nACodec has hardcoded flag which was the last one set up for\nparticular native window object, even that flow goes back to NuPlayer.\n\nBug: 29338922\n\nChange-Id: I1fe28e64d58cdec0cda596eb2f6640ab9be7fd21\n(cherry picked from commit 26936f7bd94594e6c5a13332b3899e67f230cba0)\n"
    },
    {
      "commit": "42cf4c39dcfc7c2cbd9fa3e6769dcd130d56c171",
      "tree": "b9b1ea270edc6597ab1c7444ea42df4329efc4dd",
      "parents": [
        "fbd40d6690edf4352144c22718ade312ac1dba95",
        "26936f7bd94594e6c5a13332b3899e67f230cba0"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jun 17 02:15:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 17 02:15:23 2016 +0000"
      },
      "message": "Merge \"Using requested video scaling mode in NuPlayer\""
    },
    {
      "commit": "26936f7bd94594e6c5a13332b3899e67f230cba0",
      "tree": "dc93a8843fd2f870712aae00edc1876f5abf3608",
      "parents": [
        "2d772fd4afd1481a8cea5f59b890d771dbada2f6"
      ],
      "author": {
        "name": "Bartosz Dolewski",
        "email": "bartosz.dolewski@sonymobile.com",
        "time": "Thu Dec 11 12:47:08 2014 +0100"
      },
      "committer": {
        "name": "Takahiro Aizawa",
        "email": "Takahiro.Aizawa@sonymobile.com",
        "time": "Wed Jun 15 08:49:31 2016 +0000"
      },
      "message": "Using requested video scaling mode in NuPlayer\n\nIn comparison to AwesomePlayer, NuPlayer has lack of setting\nthe video scaling mode flag on event kWhatVideoSizeChanged.\nThat causes the issues with wrong video screen ratio, because\nACodec has hardcoded flag which was the last one set up for\nparticular native window object, even that flow goes back to NuPlayer.\n\nBug: 29338922\n\nChange-Id: I1fe28e64d58cdec0cda596eb2f6640ab9be7fd21\n"
    },
    {
      "commit": "ba505c621b565e815739180ee8e779077a85b3c1",
      "tree": "a253c18e30a8c02d5cab1f7a3dfa776e3a6c67ae",
      "parents": [
        "a590d49f700418080cfbef68a0334f90c1444b5d",
        "5a71f1a2117f769c1e26b77ccce9199a505c255f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 14 21:58:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 14 21:58:41 2016 +0000"
      },
      "message": "Merge \\\"IMediaSource: add supportReadMultiple().\\\" into nyc-mr1-dev\nam: 5a71f1a211\n\nChange-Id: I41bdcc6f58ef96718acddd19c169b6e54fcc26a9\n"
    },
    {
      "commit": "d3f4e14d4c6ea02c49a50ad7c5fd08dd13b518e1",
      "tree": "f4d5f5976f5828787b3c2bd726b4fbea373a5201",
      "parents": [
        "2591f8308729b8f7b5d669d774cdac5636731535"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jun 13 14:51:43 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 14 17:52:11 2016 +0000"
      },
      "message": "IMediaSource: add supportReadMultiple().\n\nBug: 29331573\nChange-Id: I7cdff44878bd93671e98fe11c99d17e82410cdcb\n"
    },
    {
      "commit": "655db71f0d3125526426e9b4c5862c028a3c2fa6",
      "tree": "41bdfa3c264c194fba60366eaf287ce6a6c08704",
      "parents": [
        "0c39e52f03a8020bc17d72a1deb5ef31e61ea53a",
        "247a92eec4b0a8e4a9fd31b2755e96928b2895d0"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 08 22:18:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 08 22:18:53 2016 +0000"
      },
      "message": "Merge \\\"NuPlayer: set mPaused to false in onStart().\\\" into nyc-dev\nam: 247a92eec4\n\nChange-Id: I3c7aeaf4b17eaf9e6478352fb899551a429303dd\n"
    },
    {
      "commit": "247a92eec4b0a8e4a9fd31b2755e96928b2895d0",
      "tree": "ea020a105c527eef0d2c1402cda55500b60e7f7a",
      "parents": [
        "8a092d306e3fb228628506ffd73d9d9f0387f271",
        "fe8fe7dc0316289e7f03690bcbe2332b395ba331"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 08 22:10:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 08 22:10:09 2016 +0000"
      },
      "message": "Merge \"NuPlayer: set mPaused to false in onStart().\" into nyc-dev"
    },
    {
      "commit": "fe8fe7dc0316289e7f03690bcbe2332b395ba331",
      "tree": "00d2147e4bbea7b9c6d702c1fe0baf6a167c63e5",
      "parents": [
        "596e81bc4f32f8a205b4885c03b240b90e7ef090"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 08 10:29:25 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 08 10:29:25 2016 -0700"
      },
      "message": "NuPlayer: set mPaused to false in onStart().\n\nBug: 29209515\nChange-Id: I96c506feccd7105a63421a7b9444385d4fa6e7d8\n"
    },
    {
      "commit": "f3360accc10aaaa5d21aa4f385f6d4cd473948dd",
      "tree": "da5978d711e33d1c126c9c87a53b03d84a9e8956",
      "parents": [
        "3832a6fc827ab7c580117e0cdaff8bb914629d51",
        "8a092d306e3fb228628506ffd73d9d9f0387f271"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 08 17:23:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 08 17:23:52 2016 +0000"
      },
      "message": "NuPlayer: fix behavior of setPlaybackParams.\nam: 8a092d306e\n\nChange-Id: I5042d302cea9fcbfbf3fdaaabba90086da0e5ea0\n"
    },
    {
      "commit": "8a092d306e3fb228628506ffd73d9d9f0387f271",
      "tree": "af2b225d09bb55dba5ba5505f8a6444dc5c1e039",
      "parents": [
        "596e81bc4f32f8a205b4885c03b240b90e7ef090"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jun 03 14:57:24 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jun 06 14:36:07 2016 -0700"
      },
      "message": "NuPlayer: fix behavior of setPlaybackParams.\n\nsetPlaybackParams with zero speed is equivalent to pause().\nsetPlaybackParams with non-zero speed should start playback when player has\nbeen prepared.\nBug: 29032949\n\nChange-Id: Ib7738da653208f4fe5a8f1d7cf98b8479b3dc798\n"
    },
    {
      "commit": "1785050a7ebb4e5e8e14f8a17b194362f0dd4b12",
      "tree": "71787af82e636ac69d2ac1033a6b825dc8432234",
      "parents": [
        "29cc033c02a995e1d02a353627dfe93231239352",
        "aaa28debcb0d2475d065a467281d1cc77c7c4aca"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri May 27 23:58:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 27 23:58:49 2016 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: ignore fractional audio frame.\" into nyc-dev\nam: aaa28debcb\n\n* commit \u0027aaa28debcb0d2475d065a467281d1cc77c7c4aca\u0027:\n  NuPlayerRenderer: ignore fractional audio frame.\n\nChange-Id: Iaf78c5fd956bfdbaf2025f06bb58e454d6bd27c1\n"
    },
    {
      "commit": "aaa28debcb0d2475d065a467281d1cc77c7c4aca",
      "tree": "67c18a4932228de9efa2b788b0a84ea6d5c69b0d",
      "parents": [
        "65f611a0e99133244f77c853495083733444b231",
        "03cee24b8d54e5b5a94957b9fb7049738ff68765"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri May 27 23:51:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 27 23:51:07 2016 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: ignore fractional audio frame.\" into nyc-dev"
    },
    {
      "commit": "03cee24b8d54e5b5a94957b9fb7049738ff68765",
      "tree": "0dea71cf50a47b7f0196acb85d070914b8d8173e",
      "parents": [
        "4ecb8af13a00dd6331a3e957af5c3230f537e923"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu May 26 15:22:59 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri May 27 16:29:12 2016 -0700"
      },
      "message": "NuPlayerRenderer: ignore fractional audio frame.\n\nBug: 27488269\nChange-Id: I3f0e38f972e9d28b6edd8a4286b334021be81371\n"
    },
    {
      "commit": "dce4f9f87d7e0084406f3c73cc7db27c4708a2f5",
      "tree": "7bd1412664f83b5ecd44e39c159a63d6318b6ffa",
      "parents": [
        "336e999bb2efbf571bc605dc40d34040dde90f62",
        "01f69476f61484a504f15123debe332dd39fd47f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 25 23:45:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 23:45:46 2016 +0000"
      },
      "message": "Merge \"RTSPSource: pause internally when buffering starts.\" into nyc-dev\nam: 01f69476f6\n\n* commit \u002701f69476f61484a504f15123debe332dd39fd47f\u0027:\n  RTSPSource: pause internally when buffering starts.\n\nChange-Id: Icd0789ec7029a76579b05ae4b5a024dfda19d15b\n"
    },
    {
      "commit": "01f69476f61484a504f15123debe332dd39fd47f",
      "tree": "37179ea59b16bad79930b76a681bf1bfd06ed6b9",
      "parents": [
        "f489ff899861a385c36b548bd51d0c6e17f8e67f",
        "c9ff2009a0a010eeaba80d76493fbf33fcb561c8"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 25 23:32:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 23:32:42 2016 +0000"
      },
      "message": "Merge \"RTSPSource: pause internally when buffering starts.\" into nyc-dev"
    },
    {
      "commit": "c9ff2009a0a010eeaba80d76493fbf33fcb561c8",
      "tree": "8e7df1f4c0cd5033ce4ddd7d2243c8f8b8d470e2",
      "parents": [
        "4ecb8af13a00dd6331a3e957af5c3230f537e923"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue May 24 16:23:48 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue May 24 16:23:48 2016 -0700"
      },
      "message": "RTSPSource: pause internally when buffering starts.\n\nBug: 28915794\nChange-Id: I1a04bdfe306fdf0f82fefbe9eb2855184991c1c8\n"
    },
    {
      "commit": "5cb96b83e6bff91a5ab006ff542dc32031be9087",
      "tree": "94fee5c9f5cb6130a87d0e4cecbae27dd5abd2be",
      "parents": [
        "4d1522bdc7efaa9677ac92b620cea9e9110ec2a4",
        "f3d9908a888203e7e70b8c2d43ee741a95e154ed"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 24 20:41:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 20:41:03 2016 +0000"
      },
      "message": "Merge \"Add memory heap checks for mediaserver and audioserver\" into nyc-dev\nam: f3d9908a88\n\n* commit \u0027f3d9908a888203e7e70b8c2d43ee741a95e154ed\u0027:\n  Add memory heap checks for mediaserver and audioserver\n\nChange-Id: I8b5dda2e29da8651cbd9dbc77fa9ca6211b1a47d\n"
    },
    {
      "commit": "f3d9908a888203e7e70b8c2d43ee741a95e154ed",
      "tree": "d19638ca4ece2ea0f7f60c851b7970b6d4178ba4",
      "parents": [
        "b2379ba0a32638bae2ea0460644f68cf5a0967ce",
        "07b745e166ee62030960ccea37e117caadf71c32"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 24 20:38:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 24 20:38:23 2016 +0000"
      },
      "message": "Merge \"Add memory heap checks for mediaserver and audioserver\" into nyc-dev"
    },
    {
      "commit": "cc516cdd0293fead98ed33fa0334c79a940c8653",
      "tree": "fa6c111b9856952a99c3975ef72acb547d261d87",
      "parents": [
        "8b269a1708b95d5f31ea59afb36bb42c26f91961",
        "b2379ba0a32638bae2ea0460644f68cf5a0967ce"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 24 17:27:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 24 17:27:15 2016 +0000"
      },
      "message": "Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check\nam: b2379ba0a3\n\n* commit \u0027b2379ba0a32638bae2ea0460644f68cf5a0967ce\u0027:\n  Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check\n\nChange-Id: Iff08e0b44c71b63d101ca26c6ed9972fa030bfb1\n"
    },
    {
      "commit": "b2379ba0a32638bae2ea0460644f68cf5a0967ce",
      "tree": "92313531455a4482d97d03d0f4ecb1e727b4076a",
      "parents": [
        "a0e10ff02b156738c0e5441104821b220eea3d68"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon May 23 17:42:12 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 24 17:16:57 2016 +0000"
      },
      "message": "Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check\n\nMake sure we use the correct PID and UID when checking\nandroid.permission.CAPTURE_AUDIO_OUTPUT permission from audio\npolicy service.\n\nBug: 28772898\nChange-Id: I8f0c45bf7a5728b4364a451eefb6c025892ae9a5\n"
    },
    {
      "commit": "07b745e166ee62030960ccea37e117caadf71c32",
      "tree": "a370227e0d195f58a4e7797d8a70933730970907",
      "parents": [
        "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 23 16:21:07 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 23 16:55:08 2016 -0700"
      },
      "message": "Add memory heap checks for mediaserver and audioserver\n\nMemory heap check updated and restored to mediaserver,\nadded as new option to audioserver.\n\nRequires properties to be set (example for audioserver):\n\n$ adb shell setprop libc.debug.malloc.program audioserver\n$ adb shell setprop libc.debug.malloc.options backtrace\u003d8\n$ adb shell pkill audioserver\n\n...\n\nand to dump:\n\n$ adb shell dumpsys media.audio_flinger -m\n\nBug: 28909124\nBug: 27500825\nChange-Id: Ifa8c2c02b022daf1a799ee4a1d75282a3c921763\n"
    },
    {
      "commit": "6efa6e62bbc597def4df6d966bdfee16be572b59",
      "tree": "dea72857fab2fadb18836c9066d95da8dcf08294",
      "parents": [
        "c7fc3e21df35ed16f5af2a7d80825fcdaa777a18",
        "4ecb8af13a00dd6331a3e957af5c3230f537e923"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon May 23 23:38:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 23 23:38:52 2016 +0000"
      },
      "message": "Merge \"NuPlayer: remove the condition on sending BUFFERING_START event.\" into nyc-dev\nam: 4ecb8af13a\n\n* commit \u00274ecb8af13a00dd6331a3e957af5c3230f537e923\u0027:\n  NuPlayer: remove the condition on sending BUFFERING_START event.\n\nChange-Id: I992d6b70152dc6f7cc8cf6d7ecebcc0a59481cb3\n"
    },
    {
      "commit": "4ecb8af13a00dd6331a3e957af5c3230f537e923",
      "tree": "928a535a509ef23a8c5dda984e2ee18fa7959db9",
      "parents": [
        "d4b8036373f4cac1af9765d12fdd3eae99d49b5f",
        "bfe8207b2fa54a84ccbdb19fefe3a2836a2707c4"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon May 23 23:33:25 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 23 23:33:25 2016 +0000"
      },
      "message": "Merge \"NuPlayer: remove the condition on sending BUFFERING_START event.\" into nyc-dev"
    },
    {
      "commit": "bfe8207b2fa54a84ccbdb19fefe3a2836a2707c4",
      "tree": "1490004e397352a6533ea600da9f99100dea03b4",
      "parents": [
        "78d4d1e46c546a29ec86b98f4bfce71424c42213"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri May 20 09:21:50 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon May 23 16:17:42 2016 -0700"
      },
      "message": "NuPlayer: remove the condition on sending BUFFERING_START event.\n\nSince RTSPSource::pause() has become no op, it\u0027s safe to always send BUFFERING events.\nBug: 28915794\nBug: 25727912\nBug: 27292698\n\nChange-Id: Ia61bce13ee7ef84734ab5063a3311f0bb38e6f72\n"
    },
    {
      "commit": "013ce69d91e05d50d0f6d54943ccc3ba28fbe5e6",
      "tree": "1223cf2e7beddf3681463d89096627d44a612ea8",
      "parents": [
        "5a3b7974a42a8188d7bd5621bcc5b3b8eeac75be",
        "2b1a242470adb3ef4ba3a63c21f5415581324c4f"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sat May 21 02:32:40 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat May 21 02:32:40 2016 +0000"
      },
      "message": "Merge \"stagefright: fix issues with bitrate handling\" into nyc-dev\nam: 2b1a242470\n\n* commit \u00272b1a242470adb3ef4ba3a63c21f5415581324c4f\u0027:\n  stagefright: fix issues with bitrate handling\n\nChange-Id: Ibe48277a28d6cde7c4cd35383f7fb38e126a3153\n"
    },
    {
      "commit": "46f80165c595d81dda68f8f3fea27f4fb04937dd",
      "tree": "4da9697ed302ace4644f9dd27d4a0bfca357b727",
      "parents": [
        "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 19 15:35:47 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 20 03:43:30 2016 +0000"
      },
      "message": "stagefright: fix issues with bitrate handling\n\n- parse btrt mp4 box\n- write max and avg. bitrates into avcc\n- fix the use of \"bit-rate\" vs. the correct \"bitrate\"\n- document ESDS better\n- fix some spacing\n\nBug: 28671284\nChange-Id: I94961a095c6d162af38b7999cc946f899a1b1b09\n"
    },
    {
      "commit": "76c12009f52a60fc2894e1493516a9d4fb107640",
      "tree": "07523920cff677d375765ebc72f515dbb452e0ed",
      "parents": [
        "514d8c512d08824b288fa1784b33a294b0f7e81d",
        "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue May 17 22:57:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 17 22:57:36 2016 +0000"
      },
      "message": "Merge \"Re-enable source re-scan for StreamingSource\" into nyc-dev\nam: d4c4d2248b\n\n* commit \u0027d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9\u0027:\n  Re-enable source re-scan for StreamingSource\n\nChange-Id: I0c1460ad7178b1b617679108fa156b81003f375b\n"
    },
    {
      "commit": "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9",
      "tree": "13d5d6248b2ace5abb63006f27d3cc6d6d3eac6b",
      "parents": [
        "13084621072ea2e4c34e2a9d79793c621d9bf005",
        "093024bfa271988655327e0fb761b581afa8bc11"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue May 17 22:22:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 17 22:22:31 2016 +0000"
      },
      "message": "Merge \"Re-enable source re-scan for StreamingSource\" into nyc-dev"
    },
    {
      "commit": "465cf3ee4a6322f6a7a02afe4d5d4f5015b0cc5d",
      "tree": "1a783eab1b2ab53ac120e7c9039fb7e136a8e688",
      "parents": [
        "5e5364848ddf4c210f12d8052a747c86c30e2f04",
        "78d4d1e46c546a29ec86b98f4bfce71424c42213"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon May 16 22:37:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 16 22:37:19 2016 +0000"
      },
      "message": "Merge \"NuPlayer: reduce calls to getFormat().\" into nyc-dev\nam: 78d4d1e46c\n\n* commit \u002778d4d1e46c546a29ec86b98f4bfce71424c42213\u0027:\n  NuPlayer: reduce calls to getFormat().\n\nChange-Id: Ie5e1688f0aa751a59f834fbb09a445ed4360f5e6\n"
    },
    {
      "commit": "78d4d1e46c546a29ec86b98f4bfce71424c42213",
      "tree": "c119c081b505f1991950bf53c98a2082b01acbdb",
      "parents": [
        "c33457231aa8d92734302217f36b24610e9121f1",
        "41cd463de0e5d7fd5d1ac2b537226ab209529760"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon May 16 22:26:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 22:26:58 2016 +0000"
      },
      "message": "Merge \"NuPlayer: reduce calls to getFormat().\" into nyc-dev"
    },
    {
      "commit": "5e5364848ddf4c210f12d8052a747c86c30e2f04",
      "tree": "573fd4c0a1a5edc4c05348392cc3b3333ce3ffa3",
      "parents": [
        "8244c117585741a298848523e5c7b9ef2a128659",
        "c33457231aa8d92734302217f36b24610e9121f1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 16 19:56:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 16 19:56:16 2016 +0000"
      },
      "message": "Merge \"MediaPlayer/MediaRecorder: Do not notify client of audioserver death\" into nyc-dev\nam: c33457231a\n\n* commit \u0027c33457231aa8d92734302217f36b24610e9121f1\u0027:\n  MediaPlayer/MediaRecorder: Do not notify client of audioserver death\n\nChange-Id: Id2cb28ceffa6410c4125092f92c3daa762336256\n"
    },
    {
      "commit": "c33457231aa8d92734302217f36b24610e9121f1",
      "tree": "e8361e2f52b3e5c241195c1df2ff541a873c85d9",
      "parents": [
        "d498419257359b8e95a99bde40795fc53ff57163",
        "0bfa3eee31c9f99ec65158f810e65e12bae5ebf1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 16 19:49:33 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 19:49:33 2016 +0000"
      },
      "message": "Merge \"MediaPlayer/MediaRecorder: Do not notify client of audioserver death\" into nyc-dev"
    },
    {
      "commit": "0bfa3eee31c9f99ec65158f810e65e12bae5ebf1",
      "tree": "cf5719e6a3cec8c447a053bd6a456556b86efefc",
      "parents": [
        "e35bcaa2c908c5ef404928412ade7711e6173d35"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 13 15:48:36 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 16 10:54:26 2016 -0700"
      },
      "message": "MediaPlayer/MediaRecorder: Do not notify client of audioserver death\n\nHandled internally within NuPlayer and MediaRecorder.\n\nBug: 28768023\nChange-Id: I26d94332a4668bf7a8ad54a7b25e6f0a3a6fe48d\n"
    },
    {
      "commit": "41cd463de0e5d7fd5d1ac2b537226ab209529760",
      "tree": "f212a00408f17881dfaf12d537c03fd25a74ae72",
      "parents": [
        "f15d88daa721d53921bfb7798dd12f7c74b44ac1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri May 13 10:53:30 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri May 13 16:36:21 2016 -0700"
      },
      "message": "NuPlayer: reduce calls to getFormat().\n\nBug: 28545177\nChange-Id: Ia4a2725f0ac353adfcd8f23654175467e86b78f3\n"
    },
    {
      "commit": "507c191a6d2e0f1590549d6db6294e380b44ef17",
      "tree": "3889f8f085c6126dbe0e91f84c86e89e5b9469c1",
      "parents": [
        "5fa6231ed57ff435ce6f7b55b9a2de260eb73116",
        "51f03edcb36dcca327e9d5aa2410654e8a1b2809"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri May 13 23:22:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 13 23:22:56 2016 +0000"
      },
      "message": "Merge \"IMediaSource: add readMultiple API to speed up inter-process reading.\" into nyc-dev\nam: 51f03edcb3\n\n* commit \u002751f03edcb36dcca327e9d5aa2410654e8a1b2809\u0027:\n  IMediaSource: add readMultiple API to speed up inter-process reading.\n\nChange-Id: I3882ea39ef22a8c2e9fafbf734854c6e3ca931b7\n"
    },
    {
      "commit": "51f03edcb36dcca327e9d5aa2410654e8a1b2809",
      "tree": "add63de381bb91551c190b70a689e186afe2deff",
      "parents": [
        "361c6c4276b772cc1ef7d7fb67f78d15034ccdd7",
        "1f1fc459ddb67d1162f2dbb10d14e57f42841da2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri May 13 23:17:10 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 13 23:17:10 2016 +0000"
      },
      "message": "Merge \"IMediaSource: add readMultiple API to speed up inter-process reading.\" into nyc-dev"
    },
    {
      "commit": "1f1fc459ddb67d1162f2dbb10d14e57f42841da2",
      "tree": "7bf6233340100f1907e98f684119ee20e79c3022",
      "parents": [
        "f15d88daa721d53921bfb7798dd12f7c74b44ac1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 11 16:17:22 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu May 12 14:50:14 2016 -0700"
      },
      "message": "IMediaSource: add readMultiple API to speed up inter-process reading.\n\nGenericSource: use readMultiple for audio track.\nBug: 28545177\nBug: 22775369\nChange-Id: If26b80e75eba4212105d51140c4bfce85ec664f8\n"
    },
    {
      "commit": "093024bfa271988655327e0fb761b581afa8bc11",
      "tree": "be08a10d8cdd5d91a40f27e45b5a033f04721959",
      "parents": [
        "26583ffe69a7601ad29e00094fe66ce795356fab"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu May 12 13:45:56 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu May 12 13:50:27 2016 -0700"
      },
      "message": "Re-enable source re-scan for StreamingSource\n\nBug: 28666655\nChange-Id: I6d142e33958460144cda7370fdf3dd06d28ea3e1\n"
    },
    {
      "commit": "b9987ad06d8298cde7b28bb214ac10777bcf8102",
      "tree": "82598f2e3650cf2a0536b469dcc1abb42da296b1",
      "parents": [
        "ee77653487915b890785764198f4d953c2ff0126",
        "8b43838c4872af3e9f47846e2618461af2d8d346"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 11 22:11:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 11 22:11:28 2016 +0000"
      },
      "message": "Merge \"audioflinger: various offload playback fixes\" into nyc-dev\nam: 8b43838c48\n\n* commit \u00278b43838c4872af3e9f47846e2618461af2d8d346\u0027:\n  audioflinger: various offload playback fixes\n\nChange-Id: I1954e445630309c039ade92e545479245de095be\n"
    },
    {
      "commit": "e93cc03da360a1a0d2ad937c745ce8c8e8be81c2",
      "tree": "9deae98570f41fdec272a863a2e84c7828af1a64",
      "parents": [
        "038ccfd6ff5a32d6f559e5b479d6f8e55d0b5133"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 05 10:15:10 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 11 11:38:01 2016 -0700"
      },
      "message": "audioflinger: various offload playback fixes\n\nRevert underrun sleep time optimization added for\noffload by commit 51716185 which can cause music to pause for a few\nseconds in some corner cases.\n\nAllow underruns in STOPPING_1 state to avoid dropping last buffer\nreceived by the AudioTrack callback after stop() is called by the\nclient.\n\nAllow interruption of thread loop sleep if a command is pending to\nspeed up track start sequence.\n\nDo not wait for a full AudioTrack buffer before writing to audio HAL\nwhen resuming playback or transitioning to next track.\n\nAlso moved log level for underruns in AudioSink from I to D to reduce\nspam on user builds.\n\nBug: 28545177\nBug: 27682362\nBug: 28347796\n\nChange-Id: I05b651b7878a2d2eedcac43cd669e32add171d40\n"
    },
    {
      "commit": "39024f236d014c8cea82160607d83c5462f3add5",
      "tree": "30d3a2e91612f10a17af741a25c0015fa2920599",
      "parents": [
        "d2119f3976fb93e9e1c2aa1be52adae3df2ca73f",
        "4f5e307c752b8f76b7422ff65fbd9bcbeb9f7664"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue May 10 18:01:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 10 18:01:54 2016 +0000"
      },
      "message": "Merge \"Avoid scanning sources when decoder state is shutdown\" am: 95165fd5c7\nam: 4f5e307c75\n\n* commit \u00274f5e307c752b8f76b7422ff65fbd9bcbeb9f7664\u0027:\n  Avoid scanning sources when decoder state is shutdown\n\nChange-Id: I65f275d3f91b844a969ffb845a5f0a8a9a900f8d\n"
    },
    {
      "commit": "95165fd5c78113bc6b54979b136ddc3ff0e44cbf",
      "tree": "e0388c6c7acf287348551055dad61b47f126fe86",
      "parents": [
        "e7d3c72f23384774407248edcbfc9c9d78bfe304",
        "cbcbb79ce7fc7b75534800911f74fa28bbe2a68b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue May 10 17:48:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 10 17:48:41 2016 +0000"
      },
      "message": "Merge \"Avoid scanning sources when decoder state is shutdown\""
    },
    {
      "commit": "b7e75437b160fd8fe239f62f690af6ff0c2a7df6",
      "tree": "773cb546ed4f66bb7b93d832546b702135604a66",
      "parents": [
        "38616ced5b3d0e19389a20c7f7472d842bae1990",
        "0d0a8b48d267a1980cfd9507b51d173756835f34"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue May 10 08:05:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 10 08:05:07 2016 +0000"
      },
      "message": "Merge changes I58b03acd,I7d7eb086 into nyc-dev\nam: 0d0a8b48d2\n\n* commit \u00270d0a8b48d267a1980cfd9507b51d173756835f34\u0027:\n  stagefright: untangle metadata-mode handling\n  stagefright: add a way to update native handle in OMX buffers\n\nChange-Id: I857573724b0a4f7b38832777b12caa8666ac210b\n"
    },
    {
      "commit": "3e328782f1e1061d08ea0c45b855cc418a2d9ea6",
      "tree": "db604a686666d52d54d74d42a9625e833fa1d39f",
      "parents": [
        "7e0bef8aa6bf9db06079b743794ec2712ad84431"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon May 09 10:56:46 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon May 09 15:46:36 2016 -0700"
      },
      "message": "stagefright: untangle metadata-mode handling\n\n- specify requested metadata mode from producers to OMX\n- (pass requested metadata in IOMX::storeMetadataInBuffers)\n- use correct logic for native handle source\n- use native handle source for encoded meta buffers\n\nBug: 22775369\nChange-Id: I58b03acd3e9a5367d5010d7f87b7af5cae23362c\n"
    },
    {
      "commit": "cbcbb79ce7fc7b75534800911f74fa28bbe2a68b",
      "tree": "092cacbfd21881618997e4e235f4856a603ecb67",
      "parents": [
        "2d772fd4afd1481a8cea5f59b890d771dbada2f6"
      ],
      "author": {
        "name": "Toshikazu Saito",
        "email": "toshikazu.x.saito@sonymobile.com",
        "time": "Tue Sep 15 14:53:01 2015 +0900"
      },
      "committer": {
        "name": "Takahiro Aizawa",
        "email": "Takahiro.Aizawa@sonymobile.com",
        "time": "Fri May 06 09:47:46 2016 +0000"
      },
      "message": "Avoid scanning sources when decoder state is shutdown\n\nIf creating MediaCodec is failed, decoder notifies error and shutdown\nof decoder is requested. In that case, NuPlayer::flushDecoder()\nrequests performScanSources() if mScanSourcesPending is true. By this\nrequest, kWhatScanSources is posted again and instantiating decoder\nis also requested again. This processing is executed continuously and\nerror is notified many times.\nThis fix limits running performScanSources() only when needShutdown is\nfalse\n\nBug: 28627498\n\nChange-Id: I7b7a82ad8fdf493b58ce95670e37e77533295ddc\n"
    },
    {
      "commit": "63c857c7fd57587e71fd3cd9bf3c0c9e49e29dd9",
      "tree": "7b2829a961b5cf3487c92b54e24f1636c028b521",
      "parents": [
        "1ac5a450420767378c44476eeff735402f017c48",
        "375a9c03550cc1bdca9e2cca862d6e549530bac6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 05 17:06:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 05 17:06:36 2016 +0000"
      },
      "message": "Merge \"Report other servers\\\u0027 deaths in OnErrorListener too\" into nyc-dev\nam: 375a9c0355\n\n* commit \u0027375a9c03550cc1bdca9e2cca862d6e549530bac6\u0027:\n  Report other servers\u0027 deaths in OnErrorListener too\n\nChange-Id: Icc8752b4686e1b67d5b42701d3840af5006c6ce6\n"
    },
    {
      "commit": "375a9c03550cc1bdca9e2cca862d6e549530bac6",
      "tree": "d46c5a9d62bdd1e855d97388d3c0821f45dfd73a",
      "parents": [
        "f15d88daa721d53921bfb7798dd12f7c74b44ac1",
        "6dc3a3e2292454f94c015da45f1ebfc6a493e736"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 05 16:55:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 05 16:55:50 2016 +0000"
      },
      "message": "Merge \"Report other servers\u0027 deaths in OnErrorListener too\" into nyc-dev"
    },
    {
      "commit": "ee7ff029e0313f32aa371aa7f94d80b534fb36df",
      "tree": "e148903f0d7934fbd71a4b242f2a87db39ab135d",
      "parents": [
        "95aa1eb5a09865a50d272bace5ced2a117e8828e",
        "26583ffe69a7601ad29e00094fe66ce795356fab"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 03 23:47:40 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 03 23:47:40 2016 +0000"
      },
      "message": "Merge \"Clear unused pointer field when sending across binder\" into klp-dev am: 71095f174e am: 4b817b51e2 am: 2d4cf313fa am: ef1fcffc98 am: 38f24823d0 am: d2c61d049b am: 7c3e69cd12 am: 5f527d44d7 am: c83479de24 am: 26ef0c4385 am: 1863e62d0f\nam: 26583ffe69\n\n* commit \u002726583ffe69a7601ad29e00094fe66ce795356fab\u0027:\n  Clear unused pointer field when sending across binder\n\nChange-Id: I016ff03271a2839a725d58eedf13818c7931f778\n"
    },
    {
      "commit": "26583ffe69a7601ad29e00094fe66ce795356fab",
      "tree": "7d2e9ac334cbb050ee6be1ef77a90c36faf2147e",
      "parents": [
        "7aa45dd7fc5c2bd959f1571231556ac06b7ec8ae",
        "1863e62d0f49b01b7d066e2d7c47fef249fffd9d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 03 23:45:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 03 23:45:10 2016 +0000"
      },
      "message": "Merge \"Clear unused pointer field when sending across binder\" into klp-dev am: 71095f174e am: 4b817b51e2 am: 2d4cf313fa am: ef1fcffc98 am: 38f24823d0 am: d2c61d049b am: 7c3e69cd12 am: 5f527d44d7 am: c83479de24 am: 26ef0c4385\nam: 1863e62d0f\n\n* commit \u00271863e62d0f49b01b7d066e2d7c47fef249fffd9d\u0027:\n  Clear unused pointer field when sending across binder\n\nChange-Id: I6b890a1e3964ba6623344414a5a897cc19a84e88\n"
    },
    {
      "commit": "26ef0c43859fd505456fe4aa7bf7e6fabb91a237",
      "tree": "b6044c511f901b0b0718d082227432be343de650",
      "parents": [
        "cba11f751f7dcc5243f6e29f7bd58513255a5a3d",
        "c83479de2497e93311932c03e5cd414a1088e6a2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 03 23:40:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 03 23:40:03 2016 +0000"
      },
      "message": "Merge \"Clear unused pointer field when sending across binder\" into klp-dev am: 71095f174e am: 4b817b51e2 am: 2d4cf313fa am: ef1fcffc98 am: 38f24823d0 am: d2c61d049b am: 7c3e69cd12 am: 5f527d44d7\nam: c83479de24\n\n* commit \u0027c83479de2497e93311932c03e5cd414a1088e6a2\u0027:\n  Clear unused pointer field when sending across binder\n\nChange-Id: Iedb6c73113b84f521f8616116326e1933dcc44e9\n"
    },
    {
      "commit": "c83479de2497e93311932c03e5cd414a1088e6a2",
      "tree": "3309962d5d732b110045eb85b16469831b2b3e7f",
      "parents": [
        "364a89bb840d35fe6d7156ee69aed85798e1dba4",
        "5f527d44d7155103ffd3b1780008dd1441511016"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 03 23:37:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 03 23:37:35 2016 +0000"
      },
      "message": "Merge \"Clear unused pointer field when sending across binder\" into klp-dev am: 71095f174e am: 4b817b51e2 am: 2d4cf313fa am: ef1fcffc98 am: 38f24823d0 am: d2c61d049b am: 7c3e69cd12\nam: 5f527d44d7\n\n* commit \u00275f527d44d7155103ffd3b1780008dd1441511016\u0027:\n  Clear unused pointer field when sending across binder\n\nChange-Id: I543a1c93d6d82736dab9ce7de0208deeae1a4667\n"
    },
    {
      "commit": "5f527d44d7155103ffd3b1780008dd1441511016",
      "tree": "b51227ae54d477a9de0f33ca37784834763d7266",
      "parents": [
        "eaa4d780120dd690be2ae035ef4e715026b5b12e",
        "7c3e69cd12e2e631ab97ce10b71def69b3490d9d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 03 23:35:12 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 03 23:35:12 2016 +0000"
      },
      "message": "Merge \"Clear unused pointer field when sending across binder\" into klp-dev am: 71095f174e am: 4b817b51e2 am: 2d4cf313fa am: ef1fcffc98 am: 38f24823d0 am: d2c61d049b\nam: 7c3e69cd12\n\n* commit \u00277c3e69cd12e2e631ab97ce10b71def69b3490d9d\u0027:\n  Clear unused pointer field when sending across binder\n\nChange-Id: If5f841e873f937669e3e23f77bbfb43f109c563d\n"
    }
  ],
  "next": "7c3e69cd12e2e631ab97ce10b71def69b3490d9d"
}
