)]}'
{
  "log": [
    {
      "commit": "1cf582cfc8e1082a0c37c25655a052c7a9185fe4",
      "tree": "6c5f8819f8656f4f7de5332964233fa83d1bf125",
      "parents": [
        "6d40663b36510725de72fd440cbf2fc731c24830",
        "ff486640ca9794a4c328bb1b7ccf4ab5d36d1331"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 05 01:19:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 05 01:19:01 2016 +0000"
      },
      "message": "Merge \"GenericSource: send video input data to decoder in paused state.\" into nyc-dev"
    },
    {
      "commit": "ff486640ca9794a4c328bb1b7ccf4ab5d36d1331",
      "tree": "8a4bc1b9c13c5f11927f2c8e27c59ea3e6c33f19",
      "parents": [
        "ca0cde2597b527083a2f86bda4db00dccaf394d6"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Apr 04 16:17:39 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Apr 04 16:47:23 2016 -0700"
      },
      "message": "GenericSource: send video input data to decoder in paused state.\n\nBug: 27926143\nChange-Id: If2dc21d2dcb6e8e6d4da5456999899d4dbe5d52b\n"
    },
    {
      "commit": "e13f8a603867280de9b02ce4839202a182556416",
      "tree": "adfd4bef77236d67dd7c1e862740448bc82ba7d4",
      "parents": [
        "ea2b9c07b34079f0dbd8610a511e006e69a15adc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 30 14:20:42 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 01 16:56:02 2016 -0700"
      },
      "message": "NuPlayer: Play out remaining audio data when recycling isn\u0027t possible\n\nDon\u0027t flush it immediately.\n\nBug: 26530291\nChange-Id: I0427633402fa251ec62e2b70e47a0a7b451d3ea2\n"
    },
    {
      "commit": "a05f1e3a8eb80a0a9f19456aea357d6d8e405794",
      "tree": "4ed0d72a7ff9e6bc2ba6e901bb3181e6c84d8f11",
      "parents": [
        "ca0cde2597b527083a2f86bda4db00dccaf394d6"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Mar 25 16:31:22 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Mar 29 10:33:24 2016 -0700"
      },
      "message": "NuPlayer: allow audio tear down to restart with non-offload mode.\n\nBug: 27673375\nChange-Id: Iab3ac908bb850e6333fab0cf83894913c1df9005\n"
    },
    {
      "commit": "3e1715dd62ce6472d19ed6b1b6baf16239b12c5e",
      "tree": "6919e4e7bd11698e044534aa2e1c14b1b433a256",
      "parents": [
        "5048de32f603c00926d61b928616e679ce88d693",
        "03a5653c8f25c0e90f362e252be48f95703b18fe"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Mar 23 20:46:58 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 23 20:46:58 2016 +0000"
      },
      "message": "Merge \"NuPlayerDriver: log pause.\" into nyc-dev"
    },
    {
      "commit": "03a5653c8f25c0e90f362e252be48f95703b18fe",
      "tree": "e5485791fae1bc561abff2563ccdc98a04bcb1db",
      "parents": [
        "7f7052f5e45f8eb1df80a6978e0095d9e9c9eded"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Mar 23 13:43:31 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Mar 23 13:43:31 2016 -0700"
      },
      "message": "NuPlayerDriver: log pause.\n\nChange-Id: I85776d5d2a0b6dc9c5fd18fc19afc211f3b44b7a\n"
    },
    {
      "commit": "f4044e892d3939fb99ee545a5e8e8e2999f476b2",
      "tree": "617bd547225bd6d87363bd35db1f8bf245161f06",
      "parents": [
        "5e5cdcac7f4a11400976ab44382429a640a4a9b5",
        "539826f278dadc8041467713790ffe5b54572d6e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 22 21:24:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 22 21:24:09 2016 +0000"
      },
      "message": "Merge \"NuPlayerStreamListener: NULL and bounds check before memcpy\" into klp-dev am: 4fa31b5 am: 6ee73da am: 9ef3f17 am: 8278e43 am: 093cd05 am: 05cb2d8 am: 5042d77 am: 6d1599d am: 297a8d2\nam: 539826f\n\n* commit \u0027539826f278dadc8041467713790ffe5b54572d6e\u0027:\n  NuPlayerStreamListener: NULL and bounds check before memcpy\n"
    },
    {
      "commit": "297a8d26d401fe02281a691e81f1f23d7c567f40",
      "tree": "ecf321b688231f522f38172d1d98e648613e3c66",
      "parents": [
        "717d980d2a05095916e8ba84c54f5fc4a6b02f8e",
        "6d1599db3c2438287922e58ccae42f10904c2948"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 22 21:17:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 22 21:17:51 2016 +0000"
      },
      "message": "Merge \"NuPlayerStreamListener: NULL and bounds check before memcpy\" into klp-dev am: 4fa31b5 am: 6ee73da am: 9ef3f17 am: 8278e43 am: 093cd05 am: 05cb2d8 am: 5042d77\nam: 6d1599d\n\n* commit \u00276d1599db3c2438287922e58ccae42f10904c2948\u0027:\n  NuPlayerStreamListener: NULL and bounds check before memcpy\n"
    },
    {
      "commit": "6d1599db3c2438287922e58ccae42f10904c2948",
      "tree": "d030d299425cfefa70fe3d9b5f4e03cef90c9378",
      "parents": [
        "18fedd0fd651a12843aec36a8fe1d7873a08b78d",
        "5042d77680112a7dc8f72190d2dc320a13d93500"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 22 21:14:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 22 21:14:41 2016 +0000"
      },
      "message": "Merge \"NuPlayerStreamListener: NULL and bounds check before memcpy\" into klp-dev am: 4fa31b5 am: 6ee73da am: 9ef3f17 am: 8278e43 am: 093cd05 am: 05cb2d8\nam: 5042d77\n\n* commit \u00275042d77680112a7dc8f72190d2dc320a13d93500\u0027:\n  NuPlayerStreamListener: NULL and bounds check before memcpy\n"
    },
    {
      "commit": "5042d77680112a7dc8f72190d2dc320a13d93500",
      "tree": "4469158950934c5fdebc66b948761b91450e5408",
      "parents": [
        "e00b888d4f87688fd92d4d23fc049614aef90c2f",
        "05cb2d88206227dca9f77d4aaaa47699fb6c70d2"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 22 21:11:39 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 22 21:11:39 2016 +0000"
      },
      "message": "Merge \"NuPlayerStreamListener: NULL and bounds check before memcpy\" into klp-dev am: 4fa31b5 am: 6ee73da am: 9ef3f17 am: 8278e43 am: 093cd05\nam: 05cb2d8\n\n* commit \u002705cb2d88206227dca9f77d4aaaa47699fb6c70d2\u0027:\n  NuPlayerStreamListener: NULL and bounds check before memcpy\n"
    },
    {
      "commit": "05cb2d88206227dca9f77d4aaaa47699fb6c70d2",
      "tree": "f6a02731f76b6918622527fe37780f1629101918",
      "parents": [
        "9eedbf45eeaad2717b6f3b0fba53b264f691eef3",
        "093cd05cb8c505975c678c0ecb1042f798e6416a"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 22 21:08:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 22 21:08:28 2016 +0000"
      },
      "message": "Merge \"NuPlayerStreamListener: NULL and bounds check before memcpy\" into klp-dev am: 4fa31b5 am: 6ee73da am: 9ef3f17 am: 8278e43\nam: 093cd05\n\n* commit \u0027093cd05cb8c505975c678c0ecb1042f798e6416a\u0027:\n  NuPlayerStreamListener: NULL and bounds check before memcpy\n"
    },
    {
      "commit": "8278e439fb12da29b0144d1830d886dc0629a3ce",
      "tree": "20d553fb906fa902995c80afd45fe4a784987310",
      "parents": [
        "7840f059175ee89235567845cc151fb6de1a1b24",
        "9ef3f1714381dd903bd4a1f978c8fb0cc8e15c81"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 22 21:02:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 22 21:02:14 2016 +0000"
      },
      "message": "Merge \"NuPlayerStreamListener: NULL and bounds check before memcpy\" into klp-dev am: 4fa31b5 am: 6ee73da\nam: 9ef3f17\n\n* commit \u00279ef3f1714381dd903bd4a1f978c8fb0cc8e15c81\u0027:\n  NuPlayerStreamListener: NULL and bounds check before memcpy\n"
    },
    {
      "commit": "9ef3f1714381dd903bd4a1f978c8fb0cc8e15c81",
      "tree": "ffb61c7e1843e17c55e4290d6ce280616048f0f0",
      "parents": [
        "d82ca561cb58280640c51bb53a416f5f79278c3c",
        "6ee73dabbf1774517d5d4afcefad4e9f71c6df9b"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 22 20:59:08 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 22 20:59:08 2016 +0000"
      },
      "message": "Merge \"NuPlayerStreamListener: NULL and bounds check before memcpy\" into klp-dev am: 4fa31b5\nam: 6ee73da\n\n* commit \u00276ee73dabbf1774517d5d4afcefad4e9f71c6df9b\u0027:\n  NuPlayerStreamListener: NULL and bounds check before memcpy\n"
    },
    {
      "commit": "6ee73dabbf1774517d5d4afcefad4e9f71c6df9b",
      "tree": "060ff333c25da911aa43129253fe4b78dacc9f31",
      "parents": [
        "4a9d762d2539fd2108803741da4366500253c564",
        "4fa31b5d858e11df241d6518cb06eea5b0adb3d6"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 22 20:56:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 22 20:56:01 2016 +0000"
      },
      "message": "Merge \"NuPlayerStreamListener: NULL and bounds check before memcpy\" into klp-dev\nam: 4fa31b5\n\n* commit \u00274fa31b5d858e11df241d6518cb06eea5b0adb3d6\u0027:\n  NuPlayerStreamListener: NULL and bounds check before memcpy\n"
    },
    {
      "commit": "13632850977b072e39df87bc6205f9475480c351",
      "tree": "4040a7e98a065eb164507514bbdac55db17135b2",
      "parents": [
        "ab67a3d24a73d8847b91ef3508bd53541ce5ee15",
        "419187cec0ff4660a84524b1980c2a6b6f987272"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Mar 22 18:38:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 22 18:38:59 2016 +0000"
      },
      "message": "Merge \"NuPlayerDriver: no delayed seek.\" into nyc-dev"
    },
    {
      "commit": "88b3147ea116911285cdbbea422e67e1c69b355e",
      "tree": "1e5c40b558e90e9bf9fb5ca9b4077e62ee317de8",
      "parents": [
        "1595f8ac7ab412e81e0565e1347edaeedf9f2832"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Mar 18 14:34:57 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Mar 18 17:02:51 2016 -0700"
      },
      "message": "NuPlayerStreamListener: NULL and bounds check before memcpy\n\nBug: 27533704\nChange-Id: I992a7709b92b1cbc3114c97bec48a3fc5b22ba6e\n"
    },
    {
      "commit": "7f7052f5e45f8eb1df80a6978e0095d9e9c9eded",
      "tree": "d635be3caadf658f6cd2b73281ebb86caa205932",
      "parents": [
        "fc1337d079ba7e6ffd7ce07706cfeeeb355c0200",
        "9f5c692300e02f9f1b4e08b238a76f1428c854d3"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Mar 18 06:43:19 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 18 06:43:19 2016 +0000"
      },
      "message": "Merge \"media: adjust time offset in case of time lapse\" into nyc-dev"
    },
    {
      "commit": "9f5c692300e02f9f1b4e08b238a76f1428c854d3",
      "tree": "822c07a5a37ac87022536d0e2c60dc84ec917bf2",
      "parents": [
        "dabb051cf03b5ccc994c769a1cd23f9e6c378dee"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 17 15:53:33 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 17 15:53:33 2016 +0900"
      },
      "message": "media: adjust time offset in case of time lapse\n\nBug: 27636840\nChange-Id: I7be87042b450e0e7e4d9e74072a2acdf4af1a4dd\n"
    },
    {
      "commit": "d848eb48c121c119e8ba7583efc75415fe102570",
      "tree": "06733e396ad546bf39be0a6699193d041883edad",
      "parents": [
        "38246e482ea3bd1e0f88f7133934ec4537b48bbd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 08 13:42:11 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 16 14:04:22 2016 -0700"
      },
      "message": "Use audio_session_t consistently\n\nBug: 27562099\nChange-Id: I328d8226191386b163f2ace41233607294c50dcd\n"
    },
    {
      "commit": "419187cec0ff4660a84524b1980c2a6b6f987272",
      "tree": "36d2ac23db823fc13e1b311105f8a5683423e74c",
      "parents": [
        "38246e482ea3bd1e0f88f7133934ec4537b48bbd"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 29 10:07:26 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Mar 16 17:02:05 2016 +0000"
      },
      "message": "NuPlayerDriver: no delayed seek.\n\nBug: 25302052\nChange-Id: Icbfd38b6ca26fdefd1b87ea4dcd4e9c576d9bb3f\n"
    },
    {
      "commit": "b77d03b62cb743d0faf74b54aa466b4d220b5e61",
      "tree": "bcc760931cec0686beab02290590ae584fcb3fff",
      "parents": [
        "f56a02a5e7d1bfaeabf8b918e56bf49ea509bd42"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 03 14:02:17 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Mar 14 11:23:17 2016 -0700"
      },
      "message": "stagefright: connect color aspects and surface dataspace\n\n1. Keep configuration format as video decoder and encoder will need\nit to reset their default color aspects on mode/size change.\n\n2. Separate color aspect handling for decoder and encoder as they\nare quite different. Update decoder and encoder color aspect setting\nto latest policy.\n\n3. propagate dataspace to GraphicBufferSource, MediaCodecSource,\nCameraSource and SoftwareRenderer\n\nBug: 25684127\nChange-Id: Ie9a7528af36ed44605a7ce3e69b5794ef16b1c66\n"
    },
    {
      "commit": "d56db1d2bee182d1851097a9c712712fc094d117",
      "tree": "243fda59e2b4d51491af628b49b3a35b267e0051",
      "parents": [
        "cf7913e2389a5e850e01aa6f905d252ee54c9891"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Dec 17 16:50:35 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 02 10:27:36 2016 -0800"
      },
      "message": "Camera: Switch camera2 to auto-gen C++ binder interfaces\n\n - Move camera service AIDL files to frameworks/av\n - Build C++ interface stubs with AIDL tools\n - Add necessary native-side parcelables and update existing ones\n - Remove manually-written stubs, rearrange remaining manual stubs\n - Adjust implementations to work with auto-generated stubs\n   - Adjust method signatures for auto-gen differences\n   - Add rich error messages using binder::Status\n\nBug: 25091611\nChange-Id: I6f69f34b9d1a3f8d1fb7db87357363f8fa8483ff\n"
    },
    {
      "commit": "f013dc41d9ac1e295c91594e6f2ebc1455af5f41",
      "tree": "74ced965df287e5753ddfea9b2b705a46c43d242",
      "parents": [
        "e736431c69e2a00468d140d2af97b63e0e5aa83a",
        "641e0c718da1c58e5b89379f60465c4e564ebb73"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Feb 25 22:28:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 25 22:28:26 2016 +0000"
      },
      "message": "Merge \"Miscellaneous RTSP improvements\" into nyc-dev"
    },
    {
      "commit": "5031b2f3ac5223587e48fc8463bec24cb62495ba",
      "tree": "b51a726bbeb65974083b52fdd2679fb51cfe42cb",
      "parents": [
        "fc958a0888d47b5d34847afab3b33d877d9ca007"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 25 11:19:31 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 25 11:19:31 2016 -0800"
      },
      "message": "NuPlayer: allow restartAudio in non-offload mode.\n\nBug: 27349327\nBug: 27059518\nChange-Id: Ia41de9dbe8949ca04f6f3cd11f5b01cea2f53a74\n"
    },
    {
      "commit": "641e0c718da1c58e5b89379f60465c4e564ebb73",
      "tree": "185862167860b7fa4486b0e62c3ac0b98b6c14a8",
      "parents": [
        "c52198dc514cb3f790c3d814b279faa27d07a36b"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Feb 22 11:37:20 2016 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Feb 25 09:24:22 2016 -0800"
      },
      "message": "Miscellaneous RTSP improvements\n\n1. Server side management based on buffer monitoring\n2. Notify prepared after more buffering\n3. Drop stale access units after seek\n\nBug: 27292698\nChange-Id: Ic41686bb3514eb1d4c206bb155d45f34b6350810\n"
    },
    {
      "commit": "809aeb1f725beed877887fe1c5ca3430d811b328",
      "tree": "46dcd59c8e9a8a986651754a87fa6dd08ac70cba",
      "parents": [
        "f70077e43576f876bac08f3cf1f702b3c19b8184",
        "bf70feb38dc0361989aa6ef869cdd4f6ce3f7108"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 24 17:31:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 17:31:31 2016 +0000"
      },
      "message": "Merge \"NuPlayer: switch to non-offload mode when playback rate is not 1.f\" into nyc-dev"
    },
    {
      "commit": "bf70feb38dc0361989aa6ef869cdd4f6ce3f7108",
      "tree": "189396ee5661dbf439a7c5d43f773b3e8d2caa67",
      "parents": [
        "56d65dc0b4574b1d29132b25c90c83a8fb203c9e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 19 15:47:16 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 23 11:36:22 2016 -0800"
      },
      "message": "NuPlayer: switch to non-offload mode when playback rate is not 1.f\n\nBug: 27059518\nChange-Id: Ib53786fe5ba2271bd4c1563c3ee5403617589066\n"
    },
    {
      "commit": "d11c43a12917e017d715db88c13e4e7550eb9151",
      "tree": "e3bc323984164c00cb234ae4c911ffc8d0bfe029",
      "parents": [
        "cf1bbf3a12be653b825e230fd2785c14cd9b0192"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Jan 27 16:26:12 2016 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Feb 22 09:53:32 2016 -0800"
      },
      "message": "mediaresourcemanager: verify the input calling pid\n\nBug: 26830615\nChange-Id: I2e9c579b3bdd86a90b08fa161206d32527390bb5\n"
    },
    {
      "commit": "262c39e35bf88e09dab3e0ae9f7df84db64273bb",
      "tree": "f18b82ce3d5b683b4ac838b69c8e540c798fec25",
      "parents": [
        "b89194e2bb82a040b82f0f0011138bcf39917041",
        "3bed45a4923eaf615fdc322da7b0b8faf7475a63"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 18 17:01:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 17:01:10 2016 +0000"
      },
      "message": "Merge \"NuPlayer: always send BUFFERING_END to client.\" into nyc-dev"
    },
    {
      "commit": "d2f35de429c67a156299f662b0783fbcead13cb6",
      "tree": "5a593cfdc8fdd6042ef0c83152aca9d841b440da",
      "parents": [
        "f25f8410c01922c58d78ec35da420c3b4fed7e38"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 17 16:48:06 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 17 17:08:07 2016 -0800"
      },
      "message": "NuPlayerRenderer: return correct pending audio duration for virtual audio sink.\n\nBug: 27222912\nChange-Id: Ia900f8ac66fcdad538f847233fe680f6bf47ea2f\n"
    },
    {
      "commit": "3bed45a4923eaf615fdc322da7b0b8faf7475a63",
      "tree": "efd82cd537928d996193df4fa1e85523eef6b9a2",
      "parents": [
        "b0a144d705a021994628d136a170a6d2bd4282e7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 17 11:06:47 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 17 11:06:47 2016 -0800"
      },
      "message": "NuPlayer: always send BUFFERING_END to client.\n\nBug: 25727912\nChange-Id: I8c0d87ae2611769e275ed8f0d82a8928961657e8\n"
    },
    {
      "commit": "9ac86b3cae9a1e14b12bf97223ddde96142aae43",
      "tree": "47e31065ddbfe56deb8e9990bba2bb6a39fd979e",
      "parents": [
        "aef47bf801dcbcb88cec8426c03237c6313da1c2"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sat Jan 23 17:27:58 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 16 22:36:37 2016 -0800"
      },
      "message": "stagefright: ICrypto: enable passing secure buffers in native_handle\n\nPreviously secure buffers were passed as opaque\nvoid * values, which no longer works since\nmediadrmserver is now a separate process from\nmediaserver.\n\nBug: 22990512\nChange-Id: I5c458ba19e78e20d1bd5a5899df0bce16f71bfd8\n"
    },
    {
      "commit": "528c8403ad2ede53054a706a20c00b710fa08166",
      "tree": "29b1a6c57810d3c7068fd1fa2c2e212caeb50574",
      "parents": [
        "e8c8ed47ca15aa6be83c6feef89e27a832e763e9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 12 12:39:34 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Feb 11 23:49:15 2016 +0000"
      },
      "message": "NuPlayerRenderer: Reduce calls into AudioTrack::getTimestamp\n\nBug: 26513187\nChange-Id: I2e1792fedd81f95272485b0122f1dfe04113f1ac\n"
    },
    {
      "commit": "818382eed20cae448416c4ff78d36874016ab30b",
      "tree": "6e5bad8c2079c75e41a80529eb0b0ffe54576514",
      "parents": [
        "c10899dc623a61f5f48bb00568a3f6a70f2f22b6",
        "351ce871cee5da00340cf448e8d73b9e22cea078"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 11 00:07:25 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 11 00:07:25 2016 +0000"
      },
      "message": "Merge \"NuPlayer: set mPausedByClient correctly when calling setPlaybackSettings().\" into nyc-dev"
    },
    {
      "commit": "4ad74b2b4507c8b2714b7b7584578d2d43ae2633",
      "tree": "cafd974ec56d970270de49f55ee560aac9a4724a",
      "parents": [
        "3aaa699a46edb4f47d0cd5a11d57eba93493bd90"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 05 17:11:20 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 10 23:08:52 2016 +0000"
      },
      "message": "RTSP: increase mCheckGeneration when mCheckPending is set to false.\n\nThis will ensure there is only one \u0027chek\u0027 message.\nAlso delay notification of seek done till kWhatSeekDone, instead of\nkWhatSeekPaused. This allows back-to-back multiple seeks.\n\nBug: 25727912\nChange-Id: If873bfaf1c37790e520f1f659ab26148b0c8cd1c\n"
    },
    {
      "commit": "351ce871cee5da00340cf448e8d73b9e22cea078",
      "tree": "a2d17dea8bbbd9f5fcf1b6e41be5465b27270158",
      "parents": [
        "3aaa699a46edb4f47d0cd5a11d57eba93493bd90"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 10 13:21:59 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 10 15:01:06 2016 -0800"
      },
      "message": "NuPlayer: set mPausedByClient correctly when calling setPlaybackSettings().\n\nAlso reset mPendingBufferingFlag when seeking.\n\nBug: 25727912\nChange-Id: I1b6ec51b22f981c1701ac7eab572f95e6874c3a0\n"
    },
    {
      "commit": "07af6518b7b7eeb730ded9c5fd6fd6fb3a462bc5",
      "tree": "d0101e4e06e92d5de0419ea333fd359c45f28270",
      "parents": [
        "12b6265f1d4be368957f91104d5210cf604ac4cc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 10 10:45:47 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 10 10:45:47 2016 -0800"
      },
      "message": "NuPlayerRenderer: remove extra quotation mark.\n\nBug: 26400089\nChange-Id: Icbfe373424e03629d6bc7242879618402bbbcb96\n"
    },
    {
      "commit": "12b6265f1d4be368957f91104d5210cf604ac4cc",
      "tree": "5c14a43cd3734e93f7353e1b40b045a1da45cfa5",
      "parents": [
        "00803f7e94052144ecf476268bc717191ee29865"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 09 17:49:31 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 10 17:54:18 2016 +0000"
      },
      "message": "NuPlayerRenderer: use system clock when audio sink is not working.\n\nBug: 26400089\nChange-Id: I8243b95798b54daa3023d1123ef0a8351e7502e2\n"
    },
    {
      "commit": "1900e77bac4276f247f80fd06d19316cac598f57",
      "tree": "b97774b7b48e386a774ed817d1e3dc6defeacc42",
      "parents": [
        "687bb88d330048075e69a7fc514d92901eeb0eee"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 02 16:12:16 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 09 14:45:15 2016 -0800"
      },
      "message": "Run codecs in a separate process\n\nEncoders and secure decoders still run in the mediaserver, while\nall other codecs run in a separate codec process.\n\nBug: 22775369\n\nChange-Id: Ifbcab8a8f2fe77d2567830ac88f0d982e77f7b00\n"
    },
    {
      "commit": "e4d40ad91f3516bde106658673b2cb076b5dfcb7",
      "tree": "eef674159322f2d46d3aa3201db1cf0211c28b26",
      "parents": [
        "43e08e0146b825cde52480b64764765d9a61f97c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jan 12 16:22:42 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Feb 08 19:46:06 2016 -0800"
      },
      "message": "stagefright: Remove deprecated AwesomePlayer\n\nBug: 17108024\nChange-Id: Ia721bdfa87b07612ad8e76cbdcda6de2b8ce2a74\n"
    },
    {
      "commit": "c71563f778e9b56d33555ea978a3085101a097ef",
      "tree": "005aeb2cb06d8823259e4734ce4b0ff532607afa",
      "parents": [
        "cf64aab04838133e3c9f96584ba8ee7a1ff422f9",
        "71c75e002fce579444a1a6126effe883b963091b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sat Feb 06 03:28:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 06 03:28:00 2016 +0000"
      },
      "message": "Merge \"NuPlayer: do not send BUFFERING_START to client when paused by client.\""
    },
    {
      "commit": "71c75e002fce579444a1a6126effe883b963091b",
      "tree": "6efaece101cfb94eb0fb6582c0cedf73658e9dbd",
      "parents": [
        "19bd5498a78936436e982ff074cd9d460494c066"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 04 09:40:47 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 05 17:20:09 2016 -0800"
      },
      "message": "NuPlayer: do not send BUFFERING_START to client when paused by client.\n\nBug: 25727912\nChange-Id: I5f82090352a3d6806f1f8fafbdb2a3bf0be48be7\n"
    },
    {
      "commit": "6b0795009b8f53ab771e0074b76381977d016f4b",
      "tree": "3826d0ddaeca05e6761c1c70ee8aafe3d4f177e6",
      "parents": [
        "6fc17d1a7c5d2fb117491b2e9f66c6236b526508"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 14:00:18 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 23:16:28 2016 -0800"
      },
      "message": "stagefright: move MetadataRetriever off of OMXCodec\n\nAlso remove some unneeded OMXCodec includes.\n\nBug: 17108024\nChange-Id: I1e4b32d83216e9c6b1d76a18fb346dc632be4b1d\n"
    },
    {
      "commit": "3ba7ed56de35656a1eeb12fff16531085d3f37cb",
      "tree": "a6076c3092f92981110f19f1391c0b84e7d337c6",
      "parents": [
        "36672af51e20268e4649075858943f7545ddd15b",
        "e67ba383dd585d2c253986a39225e0d6d05755f3"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 03 01:43:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 03 01:43:31 2016 +0000"
      },
      "message": "Merge \"Revert \"NuPlayer: use kWhatPauseOnBufferingStart instead of kWhatBufferingStart in RTSPSource.\"\""
    },
    {
      "commit": "e67ba383dd585d2c253986a39225e0d6d05755f3",
      "tree": "9d88f2ae7072e8e09e75fcee545332e88d0f3604",
      "parents": [
        "2c9a30a341e50f53039e1b7da96dfa91104fdd62"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 03 01:41:49 2016 +0000"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 03 01:42:56 2016 +0000"
      },
      "message": "Revert \"NuPlayer: use kWhatPauseOnBufferingStart instead of kWhatBufferingStart in RTSPSource.\"\n\nThis reverts commit 2c9a30a341e50f53039e1b7da96dfa91104fdd62.\nRTSPSource::pause() will stop receiving data in RTSPSource. This is different from GenericSource::pause().\n\nChange-Id: I2df2bf350731ce0fb1f278942b23ccc6f4f37fb9\n"
    },
    {
      "commit": "254012a040733ec2476171d311005168810d1d01",
      "tree": "c069d85ca6a64f011c5a55f43e0ecdedb8e199b6",
      "parents": [
        "2b7893250228abb63dd7ca577d8c7769dcff2344",
        "260e56c9a17737bf280d776797d6dee411c9b4da"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 28 21:55:41 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 21:55:41 2016 +0000"
      },
      "message": "Merge \"Revert \"Run codecs in a separate process\"\""
    },
    {
      "commit": "260e56c9a17737bf280d776797d6dee411c9b4da",
      "tree": "5e2de882c337b17d1d06dd5dd323be134d7bb882",
      "parents": [
        "4f12d94fc26df1d0c7a566792711b8863fd39fe9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 28 21:41:25 2016 +0000"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 28 21:41:25 2016 +0000"
      },
      "message": "Revert \"Run codecs in a separate process\"\n\nThis reverts commit 4f12d94fc26df1d0c7a566792711b8863fd39fe9.\n\nChange-Id: Ic850a950119a45efd3042f40147253b37c328853\n"
    },
    {
      "commit": "feb76cc0340f3eb4c9ae91cbfab4dcea449422f5",
      "tree": "cc4ca7aee0d37dfbf5438aa1b948698116403706",
      "parents": [
        "dfb7c95a69f43201cfe52f1e3cffde9adf7b88ba",
        "6773d4777f4ccbbe6377e4ae1b42c117066ae6ba"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jan 28 02:04:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 02:04:34 2016 +0000"
      },
      "message": "Merge changes from topic \u0027camera-hardening\u0027\n\n* changes:\n  camera: Add support to pass native handles across binders\n  Camera: Fix client permission check\n  Add cameraserver process\n"
    },
    {
      "commit": "8a3ff465d394b969166f4df8c1bad9d2f1103747",
      "tree": "53a8b199fbe724556dd0c4f09378927e630210c0",
      "parents": [
        "d98985b9f9257d4da8be9c4789c1035099c1f564",
        "148c3d67710ca9353f14e5c37a0a38c88d4f0e53"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 28 01:21:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 01:21:18 2016 +0000"
      },
      "message": "Merge \"media: reset total paused duration for MediaRecorder at stop\""
    },
    {
      "commit": "26736fd21faada79c4fb91cb6ef91582c113e9eb",
      "tree": "00f6d0ed7b67904ad183548331ab1581492c95cf",
      "parents": [
        "4b2fcd8abf90b1bd95539f9f4ef2ac39ce9e2df1",
        "4f12d94fc26df1d0c7a566792711b8863fd39fe9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jan 27 17:46:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 17:46:46 2016 +0000"
      },
      "message": "Merge \"Run codecs in a separate process\""
    },
    {
      "commit": "148c3d67710ca9353f14e5c37a0a38c88d4f0e53",
      "tree": "841693276ee41b92fd2eeb153a56aefd9f02ee5b",
      "parents": [
        "a7b723715bab4ddf6db364c825135a9bc003c7c0"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jan 27 09:45:29 2016 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jan 27 09:45:29 2016 -0800"
      },
      "message": "media: reset total paused duration for MediaRecorder at stop\n\nBug: 20092236\nChange-Id: I05a11a2f9b8a0fbc54900aa6ba00bf49e8a0bafd\n"
    },
    {
      "commit": "1e0745544cf6328ba5957748328651c3cfb5b6b6",
      "tree": "75135c7a0990dfd5365d0ed5c1b1d251b374917d",
      "parents": [
        "cf0143c6d900911cb43abf8d233cf75f333700e2",
        "9aa87d4ef502c9700a31fe46dc6e1d6f99cf4e5e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jan 27 00:31:21 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 00:31:21 2016 +0000"
      },
      "message": "Merge \"stagefright: add HEVC support to MediaRecorder\""
    },
    {
      "commit": "98a668f6ea51e4d894d2ebb61a0e18287fb14008",
      "tree": "2e0942e593e58b5b6c44b87526a35dbf3d808b34",
      "parents": [
        "1f36e3b27abfb16bc5e788e253d367eff4886dba"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Dec 18 14:10:33 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jan 25 17:47:12 2016 -0800"
      },
      "message": "Camera: Fix client permission check\n\nModify StageFright\u0027s CameraSource to forward calling PID as\nclient PID when connecting to CameraService so CameraService\ncan check if the client PID has permission to use camera.\n\nChange CameraService to check calling UID is trusted before\nusing the passed in client PID and client UID to verify permission.\n\nBug: 24511454\nChange-Id: I4906ab73510e2c75714690bed675e3c13aca3ccf\n"
    },
    {
      "commit": "4f12d94fc26df1d0c7a566792711b8863fd39fe9",
      "tree": "35c3df0045f97769878455388f4c99e2ffa65d68",
      "parents": [
        "97385561584e96c1c1149cf883e0ad1c75cfbdd0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 16 11:11:59 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 22 19:53:00 2016 -0800"
      },
      "message": "Run codecs in a separate process\n\nFor now this only runs decoders and Google encoders in the codec process.\n\nBug: 22775369\nChange-Id: Iadd8b6bc2873ddcfaee3e68866642ba74c6949aa\n"
    },
    {
      "commit": "97385561584e96c1c1149cf883e0ad1c75cfbdd0",
      "tree": "5e2de882c337b17d1d06dd5dd323be134d7bb882",
      "parents": [
        "4f2559d3cdeb7187dedca186d5abc65af4bdb031",
        "62cc8d0d9d8019a84e6ef63c3917d3beb99061c6"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jan 22 18:24:13 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 22 18:24:13 2016 +0000"
      },
      "message": "Merge \"NuPlayerDriver: fix misc. getCurrentPosition issue.\""
    },
    {
      "commit": "62cc8d0d9d8019a84e6ef63c3917d3beb99061c6",
      "tree": "a9531b7b91dc5d9c86a9cf8083a4dd55c9b88f14",
      "parents": [
        "987f953298169027df001409fbd82991d82900bc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 21 13:03:20 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jan 22 17:48:05 2016 +0000"
      },
      "message": "NuPlayerDriver: fix misc. getCurrentPosition issue.\n\nQuery position from nuplayer if player is at EOS as driver may have\nstale position.\n\nUse driver\u0027s getPosition instead of player\u0027s getPosition if player is\npaused by setPlaybackRate. This will preserve sought position.\n\nChange-Id: Ib55f028438fc40359f599969d01b66aef5100c0a\n"
    },
    {
      "commit": "9aa87d4ef502c9700a31fe46dc6e1d6f99cf4e5e",
      "tree": "93b918396094a3e53d86e92642531f801fb60fff",
      "parents": [
        "81becaec18695331e853477e0ba6c51c989d365e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Dec 07 13:52:02 2015 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 21 12:47:05 2016 -0800"
      },
      "message": "stagefright: add HEVC support to MediaRecorder\n\nBug: 22879917\nChange-Id: I6c97b051467de44c506a8ff021321e5953a63fc3\n"
    },
    {
      "commit": "f2e71d265424820caf64dd8e53c03c6a65f80373",
      "tree": "a2d9181fe5821ec512609cff06eb4002c8687edf",
      "parents": [
        "56097a8ecc31ec308a1caa38f92b69f99324eada",
        "2c9a30a341e50f53039e1b7da96dfa91104fdd62"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 21 17:18:14 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 21 17:18:14 2016 +0000"
      },
      "message": "Merge \"NuPlayer: use kWhatPauseOnBufferingStart instead of kWhatBufferingStart in RTSPSource.\""
    },
    {
      "commit": "56097a8ecc31ec308a1caa38f92b69f99324eada",
      "tree": "3df2eb393112b130b4886f5f82a760cdea062a86",
      "parents": [
        "987f953298169027df001409fbd82991d82900bc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 07 16:03:03 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 21 16:58:14 2016 +0000"
      },
      "message": "NuPlayerDecoder: fail gracefully when input data can\u0027t be held in allocated buffer.\n\nBug: 24145279\nChange-Id: I6b99ee2dc63063557f4ee2c5856f7c848e969752\n"
    },
    {
      "commit": "05b7b2d33816a4bf9592ec82639a7bcf06166157",
      "tree": "974641b19e8c93bdc5de71ec0b04b0bbd15102ad",
      "parents": [
        "78c12ed04e8b7e1f417d61e2a61e1070e3fb7bf2",
        "3694d7cf40d1645bf05246cf38595eed606bb650"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Thu Jan 21 03:40:33 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 21 03:40:33 2016 +0000"
      },
      "message": "Merge \"Support for CEA-708 closed caption\""
    },
    {
      "commit": "4def1cb3283df05929dbf81f9ca68803b519437f",
      "tree": "19ac964917f520a5c3a428b731f142b93137c6da",
      "parents": [
        "70d20f98299e5ce8dbdf01ed6123a47fe7bc45b1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 20 13:13:51 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 20 13:18:28 2016 -0800"
      },
      "message": "GenericSource: reset mPrepareBuffering to initial value when buffering monitor is stopped.\n\nBug: 26676177\nChange-Id: I4dbd86a624bd0c8fb8dd154752e345168e804d6b\n"
    },
    {
      "commit": "2c9a30a341e50f53039e1b7da96dfa91104fdd62",
      "tree": "a13757360b96d7a4085161ee366c30de6b2cd2da",
      "parents": [
        "81becaec18695331e853477e0ba6c51c989d365e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 19 16:53:31 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 19 16:53:31 2016 -0800"
      },
      "message": "NuPlayer: use kWhatPauseOnBufferingStart instead of kWhatBufferingStart in RTSPSource.\n\nBug: 24295007\nChange-Id: I75026f7c96b40b0d552d849772760367f9859d1b\n"
    },
    {
      "commit": "14532f2383c3849d0db59a607ed0bd802f57155c",
      "tree": "4708ae8fdfead414b9c4c0268faced5e05599327",
      "parents": [
        "3583c435f773ceef3f340d14c06c62579866f2aa"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Dec 29 11:28:15 2015 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 19 09:06:12 2016 -0800"
      },
      "message": "MediaPlayer: overhaul buffering monitor scheme.\n\nGenericSource: buffering monitor runs on a separate looper since readBuffer()\ncall can be blocked for long time.\n  When paused, dequeueAccess() returns -EWOULDBLOCK.\n  For audio offload, take into account cached data in downstream components.\nNuPlayerDecoderPassThrough: flush out aggregate buffer when source doesn\u0027t have\ndata available.\n\nBug: 24295007\nChange-Id: I535a438d96ee902c9b4baa7c84ed7e5063a23964\n(cherry picked from commit 32ce83cf93e4eb14c9937e4b850e044f9f7fdf2c)\n"
    },
    {
      "commit": "ce84b2240497cd0923e190ae115e319e4c17d303",
      "tree": "fefc7e1b872badcfa63548ee866ad1f3074b8188",
      "parents": [
        "74a930b2bb7c61c25232c4f06b67abdbeaca8116"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 14 14:39:42 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 14 14:39:42 2016 -0800"
      },
      "message": "RTSPSource: check mHTTPService before dereferencing it.\n\nChange-Id: Id92c5ed86742f9c5cb0a67207b26de61523fd009\n"
    },
    {
      "commit": "18cb1eca504817b5b144a023ae2792d90e74c9a5",
      "tree": "4b39e8a99696709fb6d1c8197328f073cb21f66a",
      "parents": [
        "1ab2f2d0a6208ec9b6bb7e8b130efa9b70737f98"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 18 11:55:22 2015 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Jan 11 17:01:07 2016 -0800"
      },
      "message": "Support AES-CBC sample encryption in MediaDrm\n\nbug:23719082\nChange-Id: I3028452f315122b65296881aed1fbf66c3ceeebc\n"
    },
    {
      "commit": "2afac0c7c42560ff5b8f133c6074b7e023279d6d",
      "tree": "f541f9d2de183b5b24c857bdf5995845b22efb2b",
      "parents": [
        "df9e6aaf716279baf0e27b99acf10005924245ed"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 07 12:13:07 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 07 15:20:31 2016 -0800"
      },
      "message": "libmedia: check NULL pointer at binder receiver side.\n\nChange-Id: I464da96f3d6081dd8c3cc2fd977e2b96f5d477bb\n"
    },
    {
      "commit": "00541e293c250ea9e31b6ab2dc134802e34fe843",
      "tree": "9250a08be0b9fa9caee2472fa931e98b7eda9844",
      "parents": [
        "44333e51c62643e7581022495a2a1f410dd62e27"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Dec 18 17:04:00 2015 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Dec 28 09:40:57 2015 -0800"
      },
      "message": "NuPlayerRenderer: delay video until audio clock is ready\n\nBug: 26291187\nChange-Id: Ifcfc87033390ed772868976129e233afb099c13b\n"
    },
    {
      "commit": "6ca0256a1dcd85e1fa0a535347a9f0ecc57e284d",
      "tree": "b4cbf5a35c31dc157921709fe45393580299f5d4",
      "parents": [
        "5be2304ab2a1e40ca85f2c01defa4bb33e8344d9"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Dec 09 08:40:40 2015 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Dec 09 08:40:40 2015 -0800"
      },
      "message": "Remove unused MediaDrm.unprovisionDevice\n\nbug:25726218\nChange-Id: I6eb0ceb488c66c191897b3c190f5da1d71880c77\n"
    },
    {
      "commit": "fe2d80d385d71be73ba6ac0f5c98de1b524bf12f",
      "tree": "3a1bae295270156825ede5bc72c45690490e527e",
      "parents": [
        "8f283a894dfe2d5c7d987cd62f0498c46a0ff90d",
        "83487187ab549d0966791a60a92d49d77e47f071"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Dec 08 22:55:18 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 08 22:55:18 2015 +0000"
      },
      "message": "DO NOT MERGE nuplayer: do not use cached source for wvm content am: 91a23ed95c\nam: 83487187ab\n\n* commit \u002783487187ab549d0966791a60a92d49d77e47f071\u0027:\n  DO NOT MERGE nuplayer: do not use cached source for wvm content\n"
    },
    {
      "commit": "3694d7cf40d1645bf05246cf38595eed606bb650",
      "tree": "4e0acd93f201adf54119271b3bd539f74deea84c",
      "parents": [
        "cc8bbc3ffed9fdd3f3d92973474c498e51035ccd"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Wed Oct 21 11:41:38 2015 +0900"
      },
      "committer": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Mon Dec 07 18:00:19 2015 +0900"
      },
      "message": "Support for CEA-708 closed caption\n\nBug: 24314667, Bug: 24889604\nChange-Id: Ica8a8405b143921de82ca6075a1f7b1f6f9ff345\n"
    },
    {
      "commit": "91a23ed95cda558a3c31e8ef34f420924f4d6d7d",
      "tree": "ed64b9310a0d8384650949af575ce7e74a5bed23",
      "parents": [
        "92edb173a725a1e648b926545e27110fef27a16a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 19 16:39:59 2015 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 04 17:51:54 2015 +0000"
      },
      "message": "DO NOT MERGE nuplayer: do not use cached source for wvm content\n\nbug: 18730095, 25563255\nChange-Id: Ibd4f54907949daae1d095fa0922050310d16698f\n(cherry picked from commit fc6cfd8343ae8919e85ec22efed9df626fe8854b)\n"
    },
    {
      "commit": "728a7aa0819cd583f09a941f26b71886533a244f",
      "tree": "13a3a7bd4227cd0977d4aeb57fc1e2febaee6244",
      "parents": [
        "469826c69810c24f2e90291182c8501e76be31f0",
        "8420073fda0f6f6c68c952e030b0dbc184112e42"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 03 23:24:17 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 23:24:17 2015 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: Allow immediate pause on next track.\""
    },
    {
      "commit": "8420073fda0f6f6c68c952e030b0dbc184112e42",
      "tree": "772ec9a8251eb16a5be9f6df2910003c36d966bd",
      "parents": [
        "6411cb684e5994834c441d94708d245d81b474a5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 03 14:41:06 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 03 14:55:00 2015 -0800"
      },
      "message": "NuPlayerRenderer: Allow immediate pause on next track.\n\nPrior code required audio data to have been decoded first.\n\nBug: 25904185\nChange-Id: I52fa65b2ed53d29ddd534c2bf3070626d54bd633\n"
    },
    {
      "commit": "3f273d10817ddb2f792ae043de692efcdf1988ae",
      "tree": "85d7e25da5a8a1d7c86487821004246ccab36e03",
      "parents": [
        "c5fcd06e9c332a60ba5fcba2118270dbdf22ae42"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Nov 24 09:06:49 2015 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Dec 02 18:18:03 2015 +0000"
      },
      "message": "Uses AudioFlinger to signal battery stats for audio.\n\nBug: 18177221\nChange-Id: I704010c037cb99bb74b98798ee8e494fa8bdc875\n"
    },
    {
      "commit": "f4284584d6a12c19906d661e55163c0d90f83286",
      "tree": "e52df89ad84b72924768fa5ea45b9a16d9fe7aab",
      "parents": [
        "5a2ab8f1e6d71df5a6ecfd5c81db37e0ca0c09bf",
        "2a9cf2eeefa590a26c0af51fa226940560e5bef2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 30 19:31:32 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 30 19:31:32 2015 +0000"
      },
      "message": "Merge \"Tuning the number of packets for one read in StreamingSource\" am: 9cd5f8115b am: a4afeea0dc\nam: 2a9cf2eeef\n\n* commit \u00272a9cf2eeefa590a26c0af51fa226940560e5bef2\u0027:\n  Tuning the number of packets for one read in StreamingSource\n"
    },
    {
      "commit": "2a9cf2eeefa590a26c0af51fa226940560e5bef2",
      "tree": "82fd35fa97d924b122ba450c111662d1588b7a11",
      "parents": [
        "02fa0e5675b30ba8a416c1bb2ba114d397fbfc8f",
        "a4afeea0dccf5d2bf400f53743df196ceee2fcbe"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 30 19:28:32 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 30 19:28:32 2015 +0000"
      },
      "message": "Merge \"Tuning the number of packets for one read in StreamingSource\" am: 9cd5f8115b\nam: a4afeea0dc\n\n* commit \u0027a4afeea0dccf5d2bf400f53743df196ceee2fcbe\u0027:\n  Tuning the number of packets for one read in StreamingSource\n"
    },
    {
      "commit": "a4afeea0dccf5d2bf400f53743df196ceee2fcbe",
      "tree": "2202f4b7beb6d36ca0a815a579808b252cb309c3",
      "parents": [
        "19a31b9656ec89ac273ba97277168728f2e027bb",
        "9cd5f8115b9d2414e8ec537ffec3308776c2b587"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 30 19:24:35 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 30 19:24:35 2015 +0000"
      },
      "message": "Merge \"Tuning the number of packets for one read in StreamingSource\"\nam: 9cd5f8115b\n\n* commit \u00279cd5f8115b9d2414e8ec537ffec3308776c2b587\u0027:\n  Tuning the number of packets for one read in StreamingSource\n"
    },
    {
      "commit": "9cd5f8115b9d2414e8ec537ffec3308776c2b587",
      "tree": "cee02579ecd0b286d4ba15e1bd6f4601f8262845",
      "parents": [
        "140359b74d00895d53e89e4f3be542fc66351f34",
        "8cf4ced8d25e9b1b56b69b544339acc1550e4038"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 30 19:20:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 30 19:20:05 2015 +0000"
      },
      "message": "Merge \"Tuning the number of packets for one read in StreamingSource\""
    },
    {
      "commit": "dc123cbae198204e8c6c3d4f4f09a95cbc0e9ec5",
      "tree": "6b13b112383dc58f8f31d754e847e187086c0bb5",
      "parents": [
        "6411cb684e5994834c441d94708d245d81b474a5",
        "caf17eb5d71fb588fd1cc0c040f4d18538170e3d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 26 01:17:13 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 26 01:17:13 2015 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: always display the first video frame without delay.\" am: 80b991393d am: bd060b5932\nam: caf17eb5d7\n\n* commit \u0027caf17eb5d71fb588fd1cc0c040f4d18538170e3d\u0027:\n  NuPlayerRenderer: always display the first video frame without delay.\n"
    },
    {
      "commit": "caf17eb5d71fb588fd1cc0c040f4d18538170e3d",
      "tree": "85eb9ed03e36855b32879a4c54fb27553f5540f3",
      "parents": [
        "873ca50c7d590b4a04efc1e9c6ffec566e7e4e24",
        "bd060b5932d4c27cb7e11d5b7273de945a125e7d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 26 01:13:14 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 26 01:13:14 2015 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: always display the first video frame without delay.\" am: 80b991393d\nam: bd060b5932\n\n* commit \u0027bd060b5932d4c27cb7e11d5b7273de945a125e7d\u0027:\n  NuPlayerRenderer: always display the first video frame without delay.\n"
    },
    {
      "commit": "bd060b5932d4c27cb7e11d5b7273de945a125e7d",
      "tree": "0c8e7e80bb39f020c22d1978029ad4d4c0f05a33",
      "parents": [
        "674649bcb5d3e5fd6e527906c7b166f96d35ec16",
        "80b991393de73161eb0bf8e692c830eb9ab12ca4"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 26 00:06:54 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 26 00:06:54 2015 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: always display the first video frame without delay.\"\nam: 80b991393d\n\n* commit \u002780b991393de73161eb0bf8e692c830eb9ab12ca4\u0027:\n  NuPlayerRenderer: always display the first video frame without delay.\n"
    },
    {
      "commit": "80b991393de73161eb0bf8e692c830eb9ab12ca4",
      "tree": "186d7f4d2aba8147a562e0aaa751d0cf766f9b53",
      "parents": [
        "f5ac18d2fd86b1fe6d2f115d64d95117ed7f96f5",
        "25d696f31bfcbb24459f5d68c2288101bb5f7875"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 25 23:06:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 25 23:06:49 2015 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: always display the first video frame without delay.\""
    },
    {
      "commit": "7897659e2756c0f715b7469421cbbeb4d422eae0",
      "tree": "de5e6a75b9c6c42f6709fe6b811e33481a4e6943",
      "parents": [
        "371ed17f26d789c485f9a082f65e2c80ca651489",
        "873ca50c7d590b4a04efc1e9c6ffec566e7e4e24"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 25 18:29:47 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 25 18:29:47 2015 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.\" am: f5ac18d2fd am: 674649bcb5\nam: 873ca50c7d\n\n* commit \u0027873ca50c7d590b4a04efc1e9c6ffec566e7e4e24\u0027:\n  NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.\n"
    },
    {
      "commit": "873ca50c7d590b4a04efc1e9c6ffec566e7e4e24",
      "tree": "3356c20ec62b9a84536ae1ba9cb809370fa1010d",
      "parents": [
        "959606c5a5d856ec958708985c101792d3445511",
        "674649bcb5d3e5fd6e527906c7b166f96d35ec16"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 25 18:25:54 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 25 18:25:54 2015 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.\" am: f5ac18d2fd\nam: 674649bcb5\n\n* commit \u0027674649bcb5d3e5fd6e527906c7b166f96d35ec16\u0027:\n  NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.\n"
    },
    {
      "commit": "674649bcb5d3e5fd6e527906c7b166f96d35ec16",
      "tree": "5cb99af91a5b24510ad24b7a2aa2301b982c2619",
      "parents": [
        "310706d108cd086e148bfbca3a1400ddd98de82c",
        "f5ac18d2fd86b1fe6d2f115d64d95117ed7f96f5"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 25 18:22:51 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 25 18:22:51 2015 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.\"\nam: f5ac18d2fd\n\n* commit \u0027f5ac18d2fd86b1fe6d2f115d64d95117ed7f96f5\u0027:\n  NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.\n"
    },
    {
      "commit": "25d696f31bfcbb24459f5d68c2288101bb5f7875",
      "tree": "476976bc294c4398acbf6ee2b7b30f102fee1b06",
      "parents": [
        "bca41e308fc322e27a839448f5eae3337f66b8b7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 19 10:57:15 2015 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Nov 24 17:15:40 2015 -0800"
      },
      "message": "NuPlayerRenderer: always display the first video frame without delay.\n\nBug: 25357751\nChange-Id: Iffd9af2ddf7626155d98caf086fe209600141585\n"
    },
    {
      "commit": "3bc667014875aba35102941b3997d242c303aa0d",
      "tree": "c3673d936f910a1dad425b96069944918f48f232",
      "parents": [
        "bca41e308fc322e27a839448f5eae3337f66b8b7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 18 15:45:06 2015 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 19 09:34:36 2015 -0800"
      },
      "message": "NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.\n\nBug: 25372978\nChange-Id: Id66ab9b9961d5a3b9fb783ae73c27ed1c8054db8\n"
    },
    {
      "commit": "10a121b2a3ea3334e1e3a2722b2a03833fb9a897",
      "tree": "025f61b9ba9b92d7cafb991e33a27a5de8782000",
      "parents": [
        "ebab3587f58316cdb488d44b9c17c35382fc8473"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 04 14:46:44 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 04 14:52:00 2015 -0800"
      },
      "message": "GenericSource: use sp\u003c\u003e instead of regular pointer.\n\nRegular pointers have a tendency to go stale.\n\nBug: 25472775\nChange-Id: I85fc152e11d11d2f29ba621e88ea314f56e7dd60\n"
    },
    {
      "commit": "74e0f3a620bd0cdfb153728e99a17a96ca3db0de",
      "tree": "fc5fbef0a0e456c56b9998de47e22bf3f83e77c8",
      "parents": [
        "9cc6bb627e9683149f3d3f0609a83b8f14be7fde",
        "f71d2618532e73db5c01e3c00595d7d2ab2cff3e"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Nov 03 14:29:53 2015 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Nov 03 14:29:53 2015 -0800"
      },
      "message": "Merge commit \u0027f71d2618532e73db5c01e3c00595d7d2ab2cff3e\u0027 into HEAD\n"
    },
    {
      "commit": "23cba7d6b11ba47bd0408f84fb935c4d382fff59",
      "tree": "21c4d5d7e318d2557e0ae1c1d60d567e0637e958",
      "parents": [
        "ae0dd12d85bdf93a20be49e0bbc9b97a2dd3c3e7",
        "470b7752e38307305365fdaaa005b81db977d708"
      ],
      "author": {
        "name": "Erik Wolsheimer",
        "email": "ewol@google.com",
        "time": "Fri Oct 30 20:19:04 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 30 20:19:04 2015 +0000"
      },
      "message": "fix deadlock in MediaPlayerService BUG: 25263909 am: 7845a1f079\nam: 470b7752e3\n\n* commit \u0027470b7752e38307305365fdaaa005b81db977d708\u0027:\n  fix deadlock in MediaPlayerService BUG: 25263909\n"
    },
    {
      "commit": "470b7752e38307305365fdaaa005b81db977d708",
      "tree": "62e94f15f80d1f9c0e5f0de3ce1a5dbdece3fc49",
      "parents": [
        "e9ce1b1476ecaa29a845213de9ae1e749fb7d7b6",
        "7845a1f0790a1de9e26e99578f6ce3219cf8efc3"
      ],
      "author": {
        "name": "Erik Wolsheimer",
        "email": "ewol@google.com",
        "time": "Fri Oct 30 20:14:57 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 30 20:14:57 2015 +0000"
      },
      "message": "fix deadlock in MediaPlayerService BUG: 25263909\nam: 7845a1f079\n\n* commit \u00277845a1f0790a1de9e26e99578f6ce3219cf8efc3\u0027:\n  fix deadlock in MediaPlayerService BUG: 25263909\n"
    },
    {
      "commit": "7845a1f0790a1de9e26e99578f6ce3219cf8efc3",
      "tree": "1d9f0f145f690b31b03cbeacfdcbfbab0c6c3481",
      "parents": [
        "06195062e6b65b342b70cb1299ff278340eba9ff"
      ],
      "author": {
        "name": "Erik Wolsheimer",
        "email": "ewol@google.com",
        "time": "Fri Oct 30 12:07:52 2015 -0700"
      },
      "committer": {
        "name": "Erik Wolsheimer",
        "email": "ewol@google.com",
        "time": "Fri Oct 30 12:07:52 2015 -0700"
      },
      "message": "fix deadlock in MediaPlayerService\nBUG: 25263909\n\nChange-Id: I3f08c02a851b67ab269e9aef7b2fb17eda09ea5d\n"
    },
    {
      "commit": "23c2590349009bc010eebe7cfcc12375143cd69e",
      "tree": "203062486313edbf7466443f94e8cf6a8c7123df",
      "parents": [
        "f2f0745681801741fe4511dbc767acd3fd09f81d",
        "c24b47c33d9f250972a570a9ff22920f98d3c732"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Oct 30 16:30:40 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 30 16:30:40 2015 +0000"
      },
      "message": "Merge \"nuplayer: don\\\u0027t resume if player is reseting\" am: c5ea4edcd4\nam: c24b47c33d\n\n* commit \u0027c24b47c33d9f250972a570a9ff22920f98d3c732\u0027:\n  nuplayer: don\u0027t resume if player is reseting\n"
    },
    {
      "commit": "c24b47c33d9f250972a570a9ff22920f98d3c732",
      "tree": "803d259a648100269553a731b0233cb34f4d803f",
      "parents": [
        "62ac714617c3c994619afdc0666ac3359d8084e7",
        "c5ea4edcd4326eaea78549e3d1ad5e4367e65f06"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Oct 30 16:26:43 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 30 16:26:43 2015 +0000"
      },
      "message": "Merge \"nuplayer: don\\\u0027t resume if player is reseting\"\nam: c5ea4edcd4\n\n* commit \u0027c5ea4edcd4326eaea78549e3d1ad5e4367e65f06\u0027:\n  nuplayer: don\u0027t resume if player is reseting\n"
    },
    {
      "commit": "9a40167c3dc32fccc72abd96f03df6ea5676793b",
      "tree": "389d217a83b3dd6d2bab73f48b3bbc9e6826d2b6",
      "parents": [
        "7350b057ca864f5dc9e53d48e34710a8e81133f8",
        "b2487f03f12dcafdb801fc0007c8df8412397f44"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 28 17:30:40 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 28 17:30:40 2015 +0000"
      },
      "message": "Merge \"Extractor service\""
    },
    {
      "commit": "b2487f03f12dcafdb801fc0007c8df8412397f44",
      "tree": "4fac81f0fed0d22a1ff36e884ce1825561b5226d",
      "parents": [
        "f8e21a06c1b559757f1c6846b1a1abd29874cbeb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 01 13:23:23 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 28 07:43:19 2015 -0700"
      },
      "message": "Extractor service\n\nRun extractors in a separate process. Currently all data is copied through a\nbinder transaction, and WVMExtractor is still run in the mediaserver process.\n\nChange-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13\n"
    },
    {
      "commit": "7350b057ca864f5dc9e53d48e34710a8e81133f8",
      "tree": "7aeac0c5e4ff5c00467839eee3c59e32e56c7cef",
      "parents": [
        "146427dcdad5c3b23d9ab1a5a6416551f1f110af"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Oct 01 15:50:14 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Oct 27 17:16:11 2015 -0700"
      },
      "message": "Don\u0027t re-scan sources if no new ones will appear\n\nThe only scenario we might need to re-scan is when switching between\nbitrate variants in HTTPLiveSources.\n\nBug: 23313819\nChange-Id: I892033c8698f985de74801c39ac5b5417ed19e89\n"
    },
    {
      "commit": "b75de9d4ba6725104342b5376a1047ff1c9b2765",
      "tree": "94245eca48717e67225a5fc4c5ecfc371c794e12",
      "parents": [
        "acd2186aa239efa58b202823083c1b8dbc1c8a16"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Oct 07 16:52:19 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Oct 27 16:47:34 2015 -0700"
      },
      "message": "nuplayer: don\u0027t resume if player is reseting\n\nBug: 24712426\nChange-Id: I58cca0bde708a5c3b073ed77e18b62fe81d6c017\n"
    },
    {
      "commit": "8cf4ced8d25e9b1b56b69b544339acc1550e4038",
      "tree": "14bc46b553b7a1f5d5c125def558e8d0cedd3381",
      "parents": [
        "2d772fd4afd1481a8cea5f59b890d771dbada2f6"
      ],
      "author": {
        "name": "osamu fujita",
        "email": "osamu.x.fujita@sonymobile.com",
        "time": "Tue Oct 06 14:20:02 2015 +0900"
      },
      "committer": {
        "name": "Takahiro Aizawa",
        "email": "takahiro.aizawa@sonymobile.com",
        "time": "Tue Oct 27 18:34:51 2015 +0900"
      },
      "message": "Tuning the number of packets for one read in StreamingSource\n\nRead performance in StreamingSource became worse from LMR1 because\nthe design was changed to asynchronous from synchronous.\nAs a result, the generation of access unit does not make it\nin time for some multiplexed contents, and this causes frame drop.\nThis patch improves read performance by increasing the number of\npackets for one read.\n\nChange-Id: I14955da5a9c5415e35905cc95f1471e0811a4991\n"
    },
    {
      "commit": "64c2d17111b5aebaee2592d9d17c56301bb3e1bc",
      "tree": "2c78bfca6b77a13dd53215e15a69db77cf475b2b",
      "parents": [
        "d373ede5e7737f7fec936f4c37f64805a538d584"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Oct 07 16:52:19 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Oct 26 21:58:17 2015 +0000"
      },
      "message": "nuplayer: don\u0027t resume if player is reseting\n\nBug: 24712426\nChange-Id: I58cca0bde708a5c3b073ed77e18b62fe81d6c017\n"
    }
  ],
  "next": "4a8b99cf5d7754d0cad30ec376d2883efe078feb"
}
