)]}'
{
  "log": [
    {
      "commit": "58aef303411053caccb1355df98d7cbf3e0d38a1",
      "tree": "6d1bd12136c284cd862d043c1fa9f28767d17b09",
      "parents": [
        "a2e95f5c9b1613cce1d2bf0f0e35b0addd137906"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 05 15:50:17 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 05 19:50:21 2016 -0800"
      },
      "message": "MediaRecorderClient: Use checkService instead of getService for camera\n\nAvoids 5 second delay for wearables.\n\nBug: 33086228\nChange-Id: I71d17b1586284feb782d14d77d58a8b0614435dd\n"
    },
    {
      "commit": "d859d8a3ea3eb88d48119dad0550da3ac5a48b59",
      "tree": "e066a5cf2d6381aaeaebda9336bbc36002153442",
      "parents": [
        "fb071462592ec32f4240cb6f8318961404e27d34"
      ],
      "author": {
        "name": "Tom Rudick",
        "email": "tmr@google.com",
        "time": "Fri Nov 18 11:32:45 2016 -0500"
      },
      "committer": {
        "name": "Tom Rudick",
        "email": "tmr@google.com",
        "time": "Fri Nov 18 11:32:45 2016 -0500"
      },
      "message": "If a device does not have a camera, do not set a camera death notifier\n\ngetService(\"media.camera\") will return a NULL binder if there is no\ncamera service present. This will result in a segfault when we\nattempt to set the DeathListener on the binder. If the camera\nbinder is NULL, we should not attempt to set a notifier.\n\nBug: 32742216\nBug: 32742421\nChange-Id: Id6e7cabdd9e2f0f5d44f4ce435121f84d891026a\n"
    },
    {
      "commit": "59e9ca734f4d33fa1698466cdb2b66ab4ea1b82b",
      "tree": "f8692ecd3255c5dc2a905b14d982db6dbcd6b7c4",
      "parents": [
        "cf199260de131420b5be51be9ddda9561e7e30d4"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Oct 20 13:51:42 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Oct 20 13:55:04 2016 -0700"
      },
      "message": "NuPlayerDecoder: initialize dropAccessUnit to true\n\n`continue` in a do-while skips to the conditional test; initialize\ndropAccessUnit to true such that the loop continues during a seamless\nformat change.\n\nBug: 32240909\nChange-Id: I477820e03a417fe1968450fe783ea7183aeadfd9\n"
    },
    {
      "commit": "a83eebb78c3a7d57a769dac965b17a8aad7c7b8f",
      "tree": "10200f0c4fb0cc73cfdaab9da975b51fa3a24ebd",
      "parents": [
        "72eb787809a3dc8128e80766743574f647d21603"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Oct 13 15:10:42 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Oct 13 15:21:29 2016 -0700"
      },
      "message": "HTTPLiveSource: implement getFormatMeta\n\nBug: 32113727\nChange-Id: I10eafd4cf428f5fee6ada7213627ca7119cbf0e7\n"
    },
    {
      "commit": "1de83d5a634116c9b28490d5f5be61868fb8cbd1",
      "tree": "8bd5855043e979445ccec03e8b10fcec77dd2fc2",
      "parents": [
        "984be9311e2a9e16aa4e945e7548c2331455dbf1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 10 10:15:03 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 10 10:15:03 2016 -0700"
      },
      "message": "NuPlayer: return error when neither audio nor video source has metadata.\n\nBug: 32045229\nChange-Id: If300426aa502885d663b66a661e98b749ba4c9a9\n"
    },
    {
      "commit": "238e1247a1fde2c7857ec243563126de72346a89",
      "tree": "d6b08f62007be89ce280b83b14bf91c40a39b4f4",
      "parents": [
        "6ba9b60facdffc9dfdd6e8792798f27d51c104ba"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Sep 09 11:40:01 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Sep 09 11:40:01 2016 -0700"
      },
      "message": "NuPlayerRenderer: add more info in a log line.\n\nBug: 30993141\nChange-Id: I9420e19fce53e3048d1665b32858a7510487fb3f\n"
    },
    {
      "commit": "f9b77b8a0659096a136c7456e5e6a1d2f9e137cb",
      "tree": "b930ecf5d5bc17a49a3d99304c0554ded0ed413b",
      "parents": [
        "aa5b30e7b25040dd1121f106e990f8d39ddf9558",
        "0ab2569d449f4c549d8a4969384f10f337fceb1b"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Sep 02 00:56:05 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 02 00:56:05 2016 +0000"
      },
      "message": "Merge \"rtsp: fix StopBuffering condition in monitor\" into nyc-mr1-dev"
    },
    {
      "commit": "aa5b30e7b25040dd1121f106e990f8d39ddf9558",
      "tree": "1030d3c3e234dfdc79ce93da8fc6a2bb8ca35b0d",
      "parents": [
        "eda5eb5192a559d957f9a662c1ee10c0c931e3f6",
        "ae48167abbc1570498ae89759fcd5da1d6191388"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Sep 02 00:55:53 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 02 00:55:54 2016 +0000"
      },
      "message": "Merge \"rtsp: cancel AU checks when near end\" into nyc-mr1-dev"
    },
    {
      "commit": "21b83d1c5b1c528d066f63139b3c1dcc5f8e6399",
      "tree": "4825df1ab86ed05c8314f33d58155af92e67e8b5",
      "parents": [
        "d8d2728947b1c1517584afe39476e080ed4051c8",
        "884b1861562cf717cff272cc835550badcdf2f55"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:36:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:36:58 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f am: 50b9d889e6 am: 81e0557519 am: 31407677bc am: 4d03d0d14d am: 22fdb93234\nam: 884b186156\n\nChange-Id: I71cbae61748477abf88449bc49b5559f69fcc621\n"
    },
    {
      "commit": "884b1861562cf717cff272cc835550badcdf2f55",
      "tree": "807baa8939ac14071239e057ff443a8d25806ef3",
      "parents": [
        "deb0335714cabc906098fb1d971d992027267fc6",
        "22fdb93234e1e5d8c384a75c05e01ee92e20e61a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:35:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:35:06 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f am: 50b9d889e6 am: 81e0557519 am: 31407677bc am: 4d03d0d14d\nam: 22fdb93234\n\nChange-Id: Ic3ec984fdbc8f79afd8ccb3073e4128812c2e85f\n"
    },
    {
      "commit": "22fdb93234e1e5d8c384a75c05e01ee92e20e61a",
      "tree": "07cf81b2f739c887e5ea3bbd9d0fb93d5dc88fa6",
      "parents": [
        "be4a3164993ba9779950ddec744e4ad954dff092",
        "4d03d0d14dc21e4ce1dbd080f5d1baf24bf09e66"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:31:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:31:34 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f am: 50b9d889e6 am: 81e0557519 am: 31407677bc\nam: 4d03d0d14d\n\nChange-Id: Id3dcf62c73b535b8416e073b67954daded502fab\n"
    },
    {
      "commit": "31407677bcf5216234c0caa12259fccd63d4d13c",
      "tree": "a57623b3205eea342e666b40684d0981dddc3172",
      "parents": [
        "3662106826084151f98ce591434e87596eb5ae59",
        "81e055751904469db7233f4698a9b6a8a1d50900"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:25:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:25:57 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f am: 50b9d889e6\nam: 81e0557519\n\nChange-Id: Id17354d41c8f3c4e41d03eb9467ca7d482b522df\n"
    },
    {
      "commit": "81e055751904469db7233f4698a9b6a8a1d50900",
      "tree": "44d601b65a293691a76e71e81f3b256e384fdb8d",
      "parents": [
        "5d7ca78437bb974ecf3f40da17bedaeffbb4948d",
        "50b9d889e637ff3c26e4582edc91ff0c2111fd6d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:22:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:22:57 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f\nam: 50b9d889e6\n\nChange-Id: I86b58e0cb64d668021a649627e34a0386dcc619a\n"
    },
    {
      "commit": "50b9d889e637ff3c26e4582edc91ff0c2111fd6d",
      "tree": "90244540828ebd99330d9d8e6f7d14b72f7bfc91",
      "parents": [
        "f49ac6ef61935ad636305dd1f3a3d4964b7c4f61",
        "629e78c10f0b81831a385197cc7c167d753d1683"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:19:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:19:57 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696\nam: 629e78c10f\n\nChange-Id: I14c17d063743ca79f43f674c2d4cbcb57f90451e\n"
    },
    {
      "commit": "629e78c10f0b81831a385197cc7c167d753d1683",
      "tree": "55465416c5fcc5325020162026447a59f1ad63b6",
      "parents": [
        "6f8e939c584047179483840480f10dbc956d70f6",
        "c6fdb3d6964988ed576fbe393401fbd10c15d86d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:16:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:16:56 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce\nam: c6fdb3d696\n\nChange-Id: I6e1cb16e9c281bda0375f552aab01b2ee069c14b\n"
    },
    {
      "commit": "a7549d3dce0b313c8d22d54e43217d822393e5ae",
      "tree": "759113fc77f9124a29d48987f4620676a91dd136",
      "parents": [
        "a9c1e43d89d7afc587b620cf7c01d94c1722ad2f",
        "de97dbd662bc959bfe4a894c8678f1383294e148"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:10:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:10:56 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408\nam: de97dbd662\n\nChange-Id: I758cf33ec36858a612efe6c412af3df9653f9229\n"
    },
    {
      "commit": "de97dbd662bc959bfe4a894c8678f1383294e148",
      "tree": "7a9e627b781e2550eca69d66ac6774a9299ecf67",
      "parents": [
        "91ec9a6fd37ef12ab3b37ebdec56e798d85a6797",
        "0dd714e4081b874425aef6c40b152fb918ae595e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:08:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:08:25 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a\nam: 0dd714e408\n\nChange-Id: Ib620e8573ff6da861c101311143d266fd5086d7b\n"
    },
    {
      "commit": "0dd714e4081b874425aef6c40b152fb918ae595e",
      "tree": "0a5fb3bde45327f6591c946fc8f07ab1501ebfab",
      "parents": [
        "7fa7052231b770d342192ac6c54ddc5ee6e2e363",
        "f4e00a7c5ab47b4f9f6c2646d6d71c3ba28f5a9d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:05:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:05:25 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787\nam: f4e00a7c5a\n\nChange-Id: I4b72afd20bbca69423d1be6ebf963ed41ded1a4e\n"
    },
    {
      "commit": "282841278723166e74039329ca56e444ad472daf",
      "tree": "aeba49f6b7078c00da85d76de6a0c4c8f260ccd9",
      "parents": [
        "4fb531e2627a0bb5109de2aa6096a972f40dad72"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Aug 30 13:49:06 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Aug 30 22:02:44 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL\n\nBug: 31155917\nBug: 30204103\nChange-Id: I9a2a59ddb900fc942e7c19b31b53a110d790474c\n"
    },
    {
      "commit": "0ab2569d449f4c549d8a4969384f10f337fceb1b",
      "tree": "105a0a5af68ad4d115624efeb595298c74673bde",
      "parents": [
        "78fe845ddab5d2e430d47c1d99499519edb9b95e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 01 16:26:58 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Aug 27 01:59:27 2016 +0000"
      },
      "message": "rtsp: fix StopBuffering condition in monitor\n\nStop buffering once there is sufficient data on all tracks.\n\nBug: 30230942\nChange-Id: Iae484a4aab720c0bd70e0c122fd87e8237156019\n(cherry picked from commit 91ea571836401ba77854d7b3aefb3ccee9c20eb3)\n"
    },
    {
      "commit": "ae48167abbc1570498ae89759fcd5da1d6191388",
      "tree": "0f904cf9d195b62c242f5f0f8f0f6231b26c5830",
      "parents": [
        "78fe845ddab5d2e430d47c1d99499519edb9b95e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Jul 29 16:44:39 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Aug 27 01:53:28 2016 +0000"
      },
      "message": "rtsp: cancel AU checks when near end\n\nBug: 30230942\nChange-Id: Ie383f332beb7072e586bc95e8e7f2cc770953f7e\n"
    },
    {
      "commit": "4c74fde2ef5b582196b296a8263cd39143e7abca",
      "tree": "9ae5a30ce44412c60dcc1fd1eedba3e669631d7d",
      "parents": [
        "7b960a5dc58cfcbb3ef5ac05c93549edf954e5d0"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Aug 26 16:00:52 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Aug 26 17:19:26 2016 -0700"
      },
      "message": "NuPlayerRenderer: fix racing condition for offload mode.\n\nBug: 31111859\nChange-Id: I990d96f9a1e8af5abca121a91fbba34f82fdc13d\n"
    },
    {
      "commit": "19f10153d726bf9f7bbb70071c22f463e5e705a8",
      "tree": "405b25a1282447438a0337c40b0de5f58d4c228f",
      "parents": [
        "c296ea4abd06daf811a335fb7f6ba5a40400e660",
        "739ce899e51d3d82b6395e3b770569d2d345020c"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 19:02:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 19:02:47 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603 am: d560830823 am: 51efd24460 am: 8d32201d4a am: 2b5ee9c8e4 am: 17744ab9d7 am: 77da9683de\nam: 739ce899e5\n\nChange-Id: I7b90f114e40bc1349fcf1d340d9e88bdd6a91754\n"
    },
    {
      "commit": "739ce899e51d3d82b6395e3b770569d2d345020c",
      "tree": "a1236c80cb0ec07656059e5aad84a662448eadc3",
      "parents": [
        "82f5b811b2767289ebb8a9e6af1919c3b72b5121",
        "77da9683de33028a0b277667a0698e8eb1c8c7bc"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:52:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:52:54 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603 am: d560830823 am: 51efd24460 am: 8d32201d4a am: 2b5ee9c8e4 am: 17744ab9d7\nam: 77da9683de\n\nChange-Id: I62d0277bc1dd8b0514486c2f8006d76e8b88085e\n"
    },
    {
      "commit": "77da9683de33028a0b277667a0698e8eb1c8c7bc",
      "tree": "2b2c7589065bf2dc4bd9a4efe765f8ea91e455a9",
      "parents": [
        "167bfc2bae3e29e1332b23cb35c188db9e0837c2",
        "17744ab9d700078d1268dab2a070e6ef8cf962ec"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:48:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:48:21 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603 am: d560830823 am: 51efd24460 am: 8d32201d4a am: 2b5ee9c8e4\nam: 17744ab9d7\n\nChange-Id: I7c9bff5b79002b4c1e83437b69c8cfd5a09854a3\n"
    },
    {
      "commit": "2b5ee9c8e4e7cd3ceadeb03fb68f217a4629de6d",
      "tree": "1127ac15fddbf89e6b8c124d7312d4442f01ec37",
      "parents": [
        "d4808afb993aafccd294aeff5cf6cee46d681367",
        "8d32201d4a6caa7983ae002a76d69d511a804e0a"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:36:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:36:19 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603 am: d560830823 am: 51efd24460\nam: 8d32201d4a\n\nChange-Id: I995c3d8e87f78596c7e3007f2b0a269542adfd42\n"
    },
    {
      "commit": "8d32201d4a6caa7983ae002a76d69d511a804e0a",
      "tree": "ae2f8bf640c4b66b7e645e9462ab34037d790e8b",
      "parents": [
        "38795159877868a41eb453bc79ef89f0538a25a3",
        "51efd2446058bfe0b6ecdd1858bd759159fd0831"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:32:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:32:19 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603 am: d560830823\nam: 51efd24460\n\nChange-Id: I77f1705ddb125b7eb1c1f6b6e8cb61fb0596d2e2\n"
    },
    {
      "commit": "51efd2446058bfe0b6ecdd1858bd759159fd0831",
      "tree": "43dfd3a2e8ff065c81a7c12d289d0788afbb686e",
      "parents": [
        "be78a1c73f20bd72a3747b0c2552ae234b4e49be",
        "d560830823619a753be997d11d4f38223e74724e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:28:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:28:19 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603\nam: d560830823\n\nChange-Id: I77a7c93a2ae554532accb3be47bdee687b99f271\n"
    },
    {
      "commit": "d560830823619a753be997d11d4f38223e74724e",
      "tree": "7d11f31236516c4c2da1ab1dfb3cd0f102fb553c",
      "parents": [
        "6b1403777e71af2f342ed8a279197e8149aae164",
        "b07255f6038c7c7b9a80c9fe2bd2c5d7bbe0c8f1"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:23:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:23:41 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c\nam: b07255f603\n\nChange-Id: I9e2b7d8166c629fdbc3457d152e2947f16ba7ae3\n"
    },
    {
      "commit": "48b3aca54b3ee304a6761dba22ede0ea008306d2",
      "tree": "7f3215d729869f307e015b88aca8da9bd1ca47ec",
      "parents": [
        "53657baf41d8eb2a925059a4f6f57e02188d9d0b",
        "2cee1deec9807f5eadeb39cf24947dbf1a18f750"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:23:40 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:23:40 2016 +0000"
      },
      "message": "DO NOT MERGE MediaPlayerService: avoid invalid static cast am: c159a5ae12\nam: 2cee1deec9\n\nChange-Id: I0cde33c6f069de9eac4e954e9c6ed6f6968546be\n"
    },
    {
      "commit": "7b6a85546c9e320f62b1b4cda9d6620b4e34acc5",
      "tree": "6c0cf42e31a09cab675024ff2ae44cadf791ecb3",
      "parents": [
        "d9591024204ac4174a9e59759fc29f374b65a9eb",
        "ee0a0e39acdcf8f97e0d6945c31ff36a06a36e9d"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:12:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:12:48 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast\nam: ee0a0e39ac\n\nChange-Id: I2e857a57fe87c5050b1042d27c8e3034df2a462c\n"
    },
    {
      "commit": "a5aeb87eabfda3cb385eed405b843bdcb64252be",
      "tree": "57da7b8e5369939413889c1168cae49d17a74dc2",
      "parents": [
        "e35600eb62d4a2dc2dd0cc8c0d0d177cec7ed1cc"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Jul 29 16:51:48 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Aug 18 16:41:05 2016 +0900"
      },
      "message": "mediarecorder: fix timestamp adjustment for early pause/resume\n\nBug: 30549032\nChange-Id: Iafb916454499e9fac3af3b8a6abe06c652f84564\n"
    },
    {
      "commit": "c159a5ae12af671d0fe0c134a27e676ed86c9874",
      "tree": "4860c98a1115c7cd7c2c30ecc80ec8bd1d6b65e1",
      "parents": [
        "17a10c50e20d934c1ac5956fe9019d3013e3f8b3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Aug 16 16:50:54 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Aug 17 15:17:34 2016 -0700"
      },
      "message": "DO NOT MERGE MediaPlayerService: avoid invalid static cast\n\nBug: 30204103\nChange-Id: Ie0dd3568a375f1e9fed8615ad3d85184bcc99028\n"
    },
    {
      "commit": "ee0a0e39acdcf8f97e0d6945c31ff36a06a36e9d",
      "tree": "e2cd58cba0269f63036fbf85b2182f9f04771289",
      "parents": [
        "8f4b1a7de0e102b9203cfda3970edd2eedd9becf"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Aug 16 16:50:54 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Aug 16 17:13:47 2016 -0700"
      },
      "message": "MediaPlayerService: avoid invalid static cast\n\nBug: 30204103\nChange-Id: Ie0dd3568a375f1e9fed8615ad3d85184bcc99028\n"
    },
    {
      "commit": "5bd99f9211c533058be9f41bc966be1f2f501f13",
      "tree": "a9ff7de7295ba1b20672afa0a6d91b644b299c83",
      "parents": [
        "eb2c7c372615427b3b6350f1f563382b0b70917e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 10 10:30:07 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 10 10:31:39 2016 -0700"
      },
      "message": "stagefright: handle NULL format after convertMetaDataToMessage\n\nBug: 30421366\nChange-Id: I411f9f22b39943f7c8fa4e22fc37efe5f9e0ccb5\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": "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": "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": "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": "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": "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": "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": "d8d966fef52fe6a236e8ffdd43604e0ceeb0fab3",
      "tree": "3e35ca130052498eccc53eac2f4f07c501ab5de5",
      "parents": [
        "f3c0ccf224e89e81e733a50e49f2c1cd372ff29a",
        "c0a1a3187c30a9140fd2e0d185339be5966ae5d8"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Jul 14 18:14:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 14 18:14:54 2016 +0000"
      },
      "message": "Add bound checks to utf16_to_utf8 am: 0c9742db80\nam: c0a1a3187c\n\nChange-Id: I050e58df0250e5d685b03c3e572bb756e9f997f0\n"
    },
    {
      "commit": "c0a1a3187c30a9140fd2e0d185339be5966ae5d8",
      "tree": "e9a3414769756a1f2551c9c82dae1f0b084fc4b4",
      "parents": [
        "6007caa57e80d822275f6272ffaa870be2c49f1f",
        "0c9742db802c21274fa299fbf7a8bf7c0c49355d"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Jul 14 18:06:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 14 18:06:57 2016 +0000"
      },
      "message": "Add bound checks to utf16_to_utf8\nam: 0c9742db80\n\nChange-Id: Iacb2248ca498ae3b0ec699c44218963b97405b3b\n"
    },
    {
      "commit": "4f24f218dc0059f101b541557f70abe45f9f8522",
      "tree": "c74702f2e3a94cd1ffaba068d3bfde8323386123",
      "parents": [
        "d88de681cdbbd1074cc5ca31e6a6f99e2be0fc1e",
        "edce8ad0608f6828dae70ce33be31d27c8773157"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Jul 14 17:59:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 14 17:59:53 2016 +0000"
      },
      "message": "DO NOT MERGE Add bound checks to utf16_to_utf8 am: 0d9d569c26\nam: edce8ad060\n\nChange-Id: I1c725b97d3f1fcabaa7129200ca67c3d479fd771\n"
    },
    {
      "commit": "0d9d569c268128f993abd45563af39e98646bcce",
      "tree": "90963cfee9c39f6029a4b1f3de127e1890709812",
      "parents": [
        "da2ac348fc3b33c750d29b6e65371819d9fedf8b"
      ],
      "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 17:23:40 2016 +0000"
      },
      "message": "DO NOT MERGE Add bound checks to utf16_to_utf8\n\nBug: 29250543\n(cherry picked from commit 1d3f4278b2666d1a145af2f54782c993aa07d1d9)\n\nChange-Id: Id4ffb4bee02c3bd53796723b4cbcc88e693f8e83\n"
    },
    {
      "commit": "0c9742db802c21274fa299fbf7a8bf7c0c49355d",
      "tree": "711a134e24f82d1d0346b331398eb5aca7040d90",
      "parents": [
        "cc17d003ee1e0914d046647cd5f27fe2e80dff6b"
      ],
      "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 15:26:48 2016 +0000"
      },
      "message": "Add bound checks to utf16_to_utf8\n\nBug: 29250543\nChange-Id: I3518416e89ed901021970958fb6005fd69129f7c\n(cherry picked from commit 1d3f4278b2666d1a145af2f54782c993aa07d1d9)\n"
    },
    {
      "commit": "804c3b54a34be03ab576390797acc93607114225",
      "tree": "d19672c2cd35361234fdc14d4be4b2f7633399ef",
      "parents": [
        "7a9538cd36716c8263d3808edd58bc87cedd8492"
      ],
      "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 14:47:01 2016 +0000"
      },
      "message": "DO NOT MERGE Add bound checks to utf16_to_utf8\n\nBug: 29250543\n(cherry picked from commit 1d3f4278b2666d1a145af2f54782c993aa07d1d9)\n\nChange-Id: Id4ffb4bee02c3bd53796723b4cbcc88e693f8e83\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "ff8818df6f6bd07f80b9426af23a5f377e5843d6",
      "tree": "516e53702b4288a34f7dbd5776cac5d1fe08da53",
      "parents": [
        "28561389e9c344cbc699b58ad5b490505e9342b1",
        "5f44938fe991e19dd694a08c5e8911a9ffa2670b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 25 21:43:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 21:43:28 2016 +0000"
      },
      "message": "resolve merge conflicts of 823bd74 to lmp-mr1-dev am: 67ca3caf10 am: 6b52fd6b67 am: f4285f22bf am: 87406db29c\nam: 5f44938fe9\n\n* commit \u00275f44938fe991e19dd694a08c5e8911a9ffa2670b\u0027:\n  MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.\n\nChange-Id: I961243ce29ba0296ad9aad927424cc67b39489e3\n"
    },
    {
      "commit": "5f44938fe991e19dd694a08c5e8911a9ffa2670b",
      "tree": "6a59b06e43d7f702a99c5d313651f6a7396272a3",
      "parents": [
        "c65002b096c4015e798a0ea685df0119c137b596",
        "87406db29c09e16df8f0d82dd0547d3fb953ab92"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 25 21:38:02 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 21:38:02 2016 +0000"
      },
      "message": "resolve merge conflicts of 823bd74 to lmp-mr1-dev am: 67ca3caf10 am: 6b52fd6b67 am: f4285f22bf\nam: 87406db29c\n\n* commit \u002787406db29c09e16df8f0d82dd0547d3fb953ab92\u0027:\n  MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.\n\nChange-Id: I6f37992a285efbc2fa08da3b0f6e6f0fecb52b07\n"
    },
    {
      "commit": "87406db29c09e16df8f0d82dd0547d3fb953ab92",
      "tree": "719fa99948609975d92184f4b54525d3890c98d2",
      "parents": [
        "63a4f82181744b6a6ca82226489a9138ef7823fb",
        "f4285f22bfe47791a1d21eaa28a4afce23f47c8d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 25 21:32:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 21:32:51 2016 +0000"
      },
      "message": "resolve merge conflicts of 823bd74 to lmp-mr1-dev am: 67ca3caf10 am: 6b52fd6b67\nam: f4285f22bf\n\n* commit \u0027f4285f22bfe47791a1d21eaa28a4afce23f47c8d\u0027:\n  MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.\n\nChange-Id: I71b691a769641d3e3137b4fd954d784d073b9074\n"
    },
    {
      "commit": "f4285f22bfe47791a1d21eaa28a4afce23f47c8d",
      "tree": "bd6ac79bed27c9c5c02f7a939b48efac11f6e696",
      "parents": [
        "e83713c1987c929af2ed704e1a395a334606fad0",
        "6b52fd6b673c44afc6fe57e85ef8b6994ea84659"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 25 21:26:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 21:26:10 2016 +0000"
      },
      "message": "resolve merge conflicts of 823bd74 to lmp-mr1-dev am: 67ca3caf10\nam: 6b52fd6b67\n\n* commit \u00276b52fd6b673c44afc6fe57e85ef8b6994ea84659\u0027:\n  MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.\n\nChange-Id: I0e66a037649b0000c90c91b40af6eb587362c00b\n"
    },
    {
      "commit": "67ca3caf10929022b2b742b49a88ff1238d3bbe7",
      "tree": "8249df6d200d28dfa42e485214c8e3907d78160b",
      "parents": [
        "4223af4708e4524375385efe13f7ddebfd71ffcf",
        "823bd745b44803e9caea051aabc1a173af57c6db"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 25 14:10:26 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 25 14:10:26 2016 -0700"
      },
      "message": "resolve merge conflicts of 823bd74 to lmp-mr1-dev\n\nChange-Id: Id8f856591eb2a49bf151a9caa6e15f69e6887e4c\n"
    },
    {
      "commit": "e31eeb4cc65e6b0c98d8476cb89f746ddb79a1b0",
      "tree": "f946935cf5d5e0428a821831cc61b12bba6b4bd3",
      "parents": [
        "cbe776167a52a43f6acbafd3278e662840a256c2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Aug 28 10:35:35 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 25 03:48:11 2016 +0000"
      },
      "message": "MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.\n\nGenericSource: return error when no track exists.\n\nSampleIterator: make sure mSamplesPerChunk is not zero before using it as divisor.\n\nBug: 21657957\nBug: 23705695\nBug: 22802344\nBug: 28799341\nChange-Id: I7664992ade90b935d3f255dcd43ecc2898f30b04\n(cherry picked from commit 0386c91b8a910a134e5898ffa924c1b6c7560b13)\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "7c3e69cd12e2e631ab97ce10b71def69b3490d9d",
      "tree": "e7fbcaaa5464fa07483e7b4a02d38039d5d5d165",
      "parents": [
        "995d39cc23949569ea3a689985812ee923da5d4f",
        "d2c61d049b52158c506a2c61727078fccb92b898"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 03 23:32:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 03 23:32:43 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\nam: d2c61d049b\n\n* commit \u0027d2c61d049b52158c506a2c61727078fccb92b898\u0027:\n  Clear unused pointer field when sending across binder\n\nChange-Id: I5e41f418c9fcdea8bc05c150772a0b87cef101bd\n"
    }
  ],
  "next": "38f24823d0bb4b15db9ceac264e01401a653619c"
}
