)]}'
{
  "log": [
    {
      "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": "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": "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"
    },
    {
      "commit": "4a8b99cf5d7754d0cad30ec376d2883efe078feb",
      "tree": "49c83849a1546b60e222d30e96d15eb1d422d263",
      "parents": [
        "d9400a8b62241304566f2184268e3a283bcfa666",
        "02e3ed9de28cc2f38edee12423dc36b3ef348a47"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 26 19:48:18 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 26 19:48:18 2015 +0000"
      },
      "message": "Merge \"Play timed text even after 35.79 minutes\" am: 66bee4de48 am: 7b65e85b6f\nam: 02e3ed9de2\n\n* commit \u002702e3ed9de28cc2f38edee12423dc36b3ef348a47\u0027:\n  Play timed text even after 35.79 minutes\n"
    },
    {
      "commit": "02e3ed9de28cc2f38edee12423dc36b3ef348a47",
      "tree": "fc4247dd8e04f1fb43572d3d1e3716d7f2e5176f",
      "parents": [
        "439f8b6c0224c7847204adc9c2e8e01684e54b34",
        "7b65e85b6f4fb063b5156c39e36c5e115e81d935"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 26 16:00:17 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 26 16:00:17 2015 +0000"
      },
      "message": "Merge \"Play timed text even after 35.79 minutes\" am: 66bee4de48\nam: 7b65e85b6f\n\n* commit \u00277b65e85b6f4fb063b5156c39e36c5e115e81d935\u0027:\n  Play timed text even after 35.79 minutes\n"
    },
    {
      "commit": "7b65e85b6f4fb063b5156c39e36c5e115e81d935",
      "tree": "dd6fa3105d306e6604596582a16009c5ebde98d5",
      "parents": [
        "ba07fec87ea7966f4d34030b391ff9a6fb976fa2",
        "66bee4de485d389d719a7dea03d73baa5380eacf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 26 15:56:44 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 26 15:56:44 2015 +0000"
      },
      "message": "Merge \"Play timed text even after 35.79 minutes\"\nam: 66bee4de48\n\n* commit \u002766bee4de485d389d719a7dea03d73baa5380eacf\u0027:\n  Play timed text even after 35.79 minutes\n"
    },
    {
      "commit": "24d484bab46ef8f9c95197afa064c941eb5fccba",
      "tree": "818f9938e553be5d0034d5f23e51a234556eb9d8",
      "parents": [
        "2d772fd4afd1481a8cea5f59b890d771dbada2f6"
      ],
      "author": {
        "name": "Patrik2 Carlsson",
        "email": "patrik2.carlsson@sonymobile.com",
        "time": "Tue Jan 27 16:49:45 2015 +0100"
      },
      "committer": {
        "name": "Takahiro Aizawa",
        "email": "takahiro.aizawa@sonymobile.com",
        "time": "Mon Oct 26 07:48:57 2015 +0900"
      },
      "message": "Play timed text even after 35.79 minutes\n\nint overflow when converting current position in ms to Us\n\nChange-Id: I12882e52ed1ac92644d601efae5c10ec25ae9e63\n"
    },
    {
      "commit": "2f218cfd1f58624de6a90aae32a35eba78e8097b",
      "tree": "0585dc60b06ebd107610a85082412177f6cc569e",
      "parents": [
        "64c67fad3c9ed5e23f3e5932f49277fdc8802286",
        "5357aa663ed4467e830925a942021064374c0616"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 22 20:11:10 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 22 20:11:10 2015 +0000"
      },
      "message": "Merge \"GenericSource: reset mDecryptHandle when mDataSource is cleared.\" into mnc-dr-dev am: f8dc643316 am: 87494c6a68\nam: 5357aa663e\n\n* commit \u00275357aa663ed4467e830925a942021064374c0616\u0027:\n  GenericSource: reset mDecryptHandle when mDataSource is cleared.\n"
    },
    {
      "commit": "5357aa663ed4467e830925a942021064374c0616",
      "tree": "65a1529ffd1fdda97e03df1247722b8791a230cc",
      "parents": [
        "570364ddbf85ed99ac909d534b1a966de5b20b73",
        "87494c6a687db0ec4e3436a9e73604f3cc9c9142"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 22 20:08:42 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 22 20:08:42 2015 +0000"
      },
      "message": "Merge \"GenericSource: reset mDecryptHandle when mDataSource is cleared.\" into mnc-dr-dev am: f8dc643316\nam: 87494c6a68\n\n* commit \u002787494c6a687db0ec4e3436a9e73604f3cc9c9142\u0027:\n  GenericSource: reset mDecryptHandle when mDataSource is cleared.\n"
    },
    {
      "commit": "cdc9cf656a8e43875234cb021fffeb4792d7c74e",
      "tree": "bad42e7b44697a72ab67eb72e730d2e7556825d9",
      "parents": [
        "c0d8c35a2d3873ef1d7c7e5c5eaa51f41c1c3a17"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 22 11:35:04 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 22 11:35:04 2015 -0700"
      },
      "message": "GenericSource: reset mDecryptHandle when mDataSource is cleared.\n\nBug: 25070434\nChange-Id: Ib0eb6a419683a0e686a4f63b82e9300cb1f69484\n"
    },
    {
      "commit": "213f490215c2946edc2cc3f589219efe283d6548",
      "tree": "db72c5d29d73fb64e2bb7893e15b1d53dcd1fa95",
      "parents": [
        "eaf784ba41d4d06df82e864720818854ce1b9b8d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 22 08:55:25 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 22 08:55:25 2015 -0700"
      },
      "message": "MediaPlayerService: fix returned value for getPlayedOutDurationUs().\n\nChange-Id: Id38c146cb43543c83b8378752027cc292cdbd17b\n"
    },
    {
      "commit": "d855a738735a3df8863b486f5d3b5e404cef15c1",
      "tree": "cd1434f14e891becd3332fdf29fb499ba060dec3",
      "parents": [
        "c4ac8173f911aeac8d5006b19ba48fb51a865115"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 13:31:15 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 13:31:15 2015 -0700"
      },
      "message": "NuPlayerRenderer: fix merge error.\n\nChange-Id: I9cadabd4b5699a607fd5b22f8bd50f9203542b46\n"
    },
    {
      "commit": "c4ac8173f911aeac8d5006b19ba48fb51a865115",
      "tree": "3c1945093ad340ac2d60d4f9606ed108195fca7a",
      "parents": [
        "4ecbea3ae1fcefb082dc419cb663909536138ddb"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 10:35:48 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 18:48:31 2015 +0000"
      },
      "message": "AudioSink: move getPlayedOutAudioDurationUs() from NuPlayerRenderer to AudioSink.\n\nChange-Id: Id22e10dc5f1cd7ade0e043ea56ed77497c2e32af\n"
    },
    {
      "commit": "4ecbea3ae1fcefb082dc419cb663909536138ddb",
      "tree": "07256849cc0586e8f6d3b77cac86b2b562dabe42",
      "parents": [
        "422bf879ed138202f7731d5f279c64af5af7da42"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 20 18:09:57 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 18:47:35 2015 +0000"
      },
      "message": "MediaClock: prevent media time from going backwards.\n\nMedia Clock is started only when AudioSink has rendered some frames.\n\nBug: 25074321\nChange-Id: Ic09fc666eed019e24f5b6a4b8929021eab87ca41\n"
    },
    {
      "commit": "422bf879ed138202f7731d5f279c64af5af7da42",
      "tree": "4289326e84e8422c44e53178670e48ccccefacf5",
      "parents": [
        "a55232a81063031c14eea514daa24f5e2a55ed32",
        "558f5c28c9a1e70dd9ef7ee2fbd33ef407a53de8"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 17:10:53 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 21 17:10:53 2015 +0000"
      },
      "message": "Merge \"GenericSource: reset mDrmManagerClient when mDataSource is cleared.\" into mnc-dr-dev am: 7bfd9afefa am: 023815588c\nam: 558f5c28c9\n\n* commit \u0027558f5c28c9a1e70dd9ef7ee2fbd33ef407a53de8\u0027:\n  GenericSource: reset mDrmManagerClient when mDataSource is cleared.\n"
    },
    {
      "commit": "558f5c28c9a1e70dd9ef7ee2fbd33ef407a53de8",
      "tree": "d12562370b73a05321f94e05366a9cc777fb75d0",
      "parents": [
        "23ae8a79d8cc629757e18baeaba1e7ddfaccec18",
        "023815588cb8063caca1b2a26abdaa1e222f686e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 16:54:11 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 21 16:54:11 2015 +0000"
      },
      "message": "Merge \"GenericSource: reset mDrmManagerClient when mDataSource is cleared.\" into mnc-dr-dev am: 7bfd9afefa\nam: 023815588c\n\n* commit \u0027023815588cb8063caca1b2a26abdaa1e222f686e\u0027:\n  GenericSource: reset mDrmManagerClient when mDataSource is cleared.\n"
    },
    {
      "commit": "12a841346158e6edad01e3601014058cfc0ca01d",
      "tree": "22b15c699e1d009311744bba668dec908c53602e",
      "parents": [
        "dfaded0e5f61f22d11dc447ac2f505f276490123"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Oct 20 16:09:21 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Oct 20 16:36:02 2015 -0700"
      },
      "message": "Nuplayer: Fix playback for video only streams\n\nBug: 24146140\nChange-Id: I58c72c74cfcffa66ea8dc5804bcfc5ba884cbab9\n"
    },
    {
      "commit": "b41fd0d4929f0a89811bafcc4fd944b128f00ce2",
      "tree": "3c49ad453a8d8c6aa6bef90f0d313af51d01289f",
      "parents": [
        "ceb10ea795d92d889201cd40f5ac6290edf4ded7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 19 16:14:14 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 19 16:14:14 2015 -0700"
      },
      "message": "GenericSource: reset mDrmManagerClient when mDataSource is cleared.\n\nBug: 25070434\nChange-Id: Iade3472c496ac42456e42db35e402f7b66416f5b\n"
    },
    {
      "commit": "ec2a354b6d066156c1bd097650b230087f5cffe8",
      "tree": "ccf54aa6eb5ae16bac6ecf5dbd67d19662dc7659",
      "parents": [
        "77cce44fd360e4bd47ad3427ea14beb15b515d24",
        "c47396ef620e5cee8602bcb46a6d5a4369c9175b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 14 01:28:36 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 01:28:36 2015 +0000"
      },
      "message": "am c47396ef: am 2894d702: Merge \"NuPlayerDecoder: report error in case of audio sink open error.\" into mnc-dr-dev\n\n* commit \u0027c47396ef620e5cee8602bcb46a6d5a4369c9175b\u0027:\n  NuPlayerDecoder: report error in case of audio sink open error.\n"
    },
    {
      "commit": "be99b0d5e29ba76fbb3748381a489edfc89ebdad",
      "tree": "63716a63e3a412fb853c206acbb97a5c289ee412",
      "parents": [
        "c67c65882f7cf1d3ae617bff41ff9c7ec8a0fd27",
        "3bf88c1f6349886234dafd4907a3d0eccc29184b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 14 01:24:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 01:24:27 2015 +0000"
      },
      "message": "am 3bf88c1f: am ce805c2a: Merge \"NuPlayerRenderer: do not send rendering started message when paused\" into mnc-dr-dev\n\n* commit \u00273bf88c1f6349886234dafd4907a3d0eccc29184b\u0027:\n  NuPlayerRenderer: do not send rendering started message when paused\n"
    },
    {
      "commit": "216f0177cbfa0d8e911d64fc17ccbb5100ad87b4",
      "tree": "e1de3589261da0456a351592a496af5e199e3843",
      "parents": [
        "ce805c2a0c447dcdd4e649db7415020dbec1100b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 20 18:40:24 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 14 00:26:57 2015 +0000"
      },
      "message": "NuPlayerDecoder: report error in case of audio sink open error.\n\nBug: 21093153.\nChange-Id: I77e03a620b43967991dcee9d6ca01f67c8b7a02e\n(cherry picked from commit 15ce09dddf830d6a6ca097c5ec0a7ec7c35b6b3a)\n"
    },
    {
      "commit": "a5b4642220b810d8f044171c7c05aed0597a1812",
      "tree": "3e4c6f9e508e33cb102998dcb3efff6afb0fa926",
      "parents": [
        "95c3a43ae474f327289670c8fc61a0ec003810af"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 03 15:13:01 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 13 16:03:25 2015 -0700"
      },
      "message": "NuPlayerRenderer: do not send rendering started message when paused\n\nDelay until resume.\n\nBug: 23669269\nChange-Id: I0a805812d80b1aad561425442bca0fc05a05752f\n"
    },
    {
      "commit": "cd375316692ca158b43a797b737c699bdbeaf149",
      "tree": "681e173b93d6766d986acc1a2ddbbe7532d3c057",
      "parents": [
        "2d57a4c79a1ea94031bd5bcbf09bc4a36e754871",
        "9fd61065f878c2813a86f30d7070e027efa09026"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 22:09:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 22:09:31 2015 +0000"
      },
      "message": "am 9fd61065: am 106ceacb: NuPlayer: reset mAudioEOS and mVideoEOS when renderer is flushed.\n\n* commit \u00279fd61065f878c2813a86f30d7070e027efa09026\u0027:\n  NuPlayer: reset mAudioEOS and mVideoEOS when renderer is flushed.\n"
    },
    {
      "commit": "95c3a43ae474f327289670c8fc61a0ec003810af",
      "tree": "ec0798568d9bcb2feb5f56e000f0c885759b8cbe",
      "parents": [
        "106ceacb404fc580984f882a0c17d61aed3aaf7b",
        "b345ddc3c728359166375af6f19367f547bbd613"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 13 22:00:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 13 22:00:56 2015 +0000"
      },
      "message": "Merge \"Don\u0027t send OnCompletion events when looping\" into mnc-dr-dev"
    },
    {
      "commit": "106ceacb404fc580984f882a0c17d61aed3aaf7b",
      "tree": "b0d7720ea4360b90100b8c113fca5a1d7a05bf43",
      "parents": [
        "780b766d823040e2d015529e5529c83a008442cc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 08 13:58:33 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 21:47:31 2015 +0000"
      },
      "message": "NuPlayer: reset mAudioEOS and mVideoEOS when renderer is flushed.\n\nBug: 24749881\nChange-Id: I0d3a757262446ac702dfebd464d5e59f1a98eba8\n(cherry picked from commit 3261f0db54e31e652af9bd3b76a8e85174f5ee87)\n"
    },
    {
      "commit": "2d57a4c79a1ea94031bd5bcbf09bc4a36e754871",
      "tree": "71eaba035723287b1a7b04cbf762be92b270dc29",
      "parents": [
        "7f12464b0c1d498853ae43e3bf82d6d57c90caf3",
        "984142e07345f5541a9605ac3938796883c10c27"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 21:46:03 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 21:46:03 2015 +0000"
      },
      "message": "am 984142e0: am 780b766d: Merge \"NuPlayerDriver: acquire mLock when needed.\" into mnc-dr-dev\n\n* commit \u0027984142e07345f5541a9605ac3938796883c10c27\u0027:\n  NuPlayerDriver: acquire mLock when needed.\n"
    },
    {
      "commit": "780b766d823040e2d015529e5529c83a008442cc",
      "tree": "6a804f039d2829d2a1762366d65bbacfbe2f2d37",
      "parents": [
        "b3c483098e1955202ea08f41d468eb78635e86e0",
        "842396584c80d352c9aa7ea249399102155df49b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 21:33:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 13 21:33:29 2015 +0000"
      },
      "message": "Merge \"NuPlayerDriver: acquire mLock when needed.\" into mnc-dr-dev"
    },
    {
      "commit": "3f6fe8512006905f584e6a9998e1707350c7a1e5",
      "tree": "2547cd001cb14dc4d210ab23366bec5b1c30ce89",
      "parents": [
        "756d465998023c1cd86505ae9c114432d437e7ca",
        "4e1095c67f144ac8b90170afae035fea57454d9d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 21:29:10 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 21:29:10 2015 +0000"
      },
      "message": "am 4e1095c6: am 1a825df7: Merge \"NuPlayerRenderer: always update MediaClock with max media duration.\" into cw-e-dev\n\n* commit \u00274e1095c67f144ac8b90170afae035fea57454d9d\u0027:\n  NuPlayerRenderer: always update MediaClock with max media duration.\n"
    },
    {
      "commit": "842396584c80d352c9aa7ea249399102155df49b",
      "tree": "1cfafa590ef0cb2a1af420608bd7fc6c3bc8c9f9",
      "parents": [
        "e5200ea76c5d180b53087ae7825326ec61cc4687"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 06 10:32:32 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 21:28:58 2015 +0000"
      },
      "message": "NuPlayerDriver: acquire mLock when needed.\n\nBug: 24338126\nChange-Id: Ic55d1a551c18255423423079b6c2bf045dea6e44\n(cherry picked from commit f3631d2921ee0738f87427848e38873370ef9ec0)\n"
    },
    {
      "commit": "4e1095c67f144ac8b90170afae035fea57454d9d",
      "tree": "24559ec4a88508a1501e34cb838c2b00e8f94976",
      "parents": [
        "ef67b6eb329c32da7a687c2eb171d58dfd0e96cc",
        "1a825df7d657ff70f356965140340e488e121033"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 21:25:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 21:25:31 2015 +0000"
      },
      "message": "am 1a825df7: Merge \"NuPlayerRenderer: always update MediaClock with max media duration.\" into cw-e-dev\n\n* commit \u00271a825df7d657ff70f356965140340e488e121033\u0027:\n  NuPlayerRenderer: always update MediaClock with max media duration.\n"
    },
    {
      "commit": "492ccd6f03f83a72dcde6aa1674cc22fd45fc06e",
      "tree": "4945f7454ac413220b1b0a630831af6761e84dd9",
      "parents": [
        "c4c68f63192ae7af09a6158b2e72ca7a1a7f4364"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 10:58:07 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 21:19:11 2015 +0000"
      },
      "message": "NuPlayerRenderer: always update MediaClock with max media duration.\n\nBug: 24345295\nChange-Id: I868c9c44ea22de98a083432262e485d0f134203f\n(cherry picked from commit d005c5ddb4842369979df7b76f1d0f5f1380fcd9)\n"
    },
    {
      "commit": "b345ddc3c728359166375af6f19367f547bbd613",
      "tree": "c613b70d29a9db29c294cb03bbf3009e7f440fd1",
      "parents": [
        "d805214cec5219eef42346cc136effe89292ac69"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 08 10:00:34 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 13 12:38:13 2015 -0700"
      },
      "message": "Don\u0027t send OnCompletion events when looping\n\nAwesomePlayer never did, and neither should NuPlayer.\n\nBug: 18656047\nChange-Id: Ia9abe42cfe6ea643633cec859e9da770092569bb\n"
    },
    {
      "commit": "d005c5ddb4842369979df7b76f1d0f5f1380fcd9",
      "tree": "3c0098f403ad3897eb1579df9614e9910513dd1d",
      "parents": [
        "87b93c0cec767640b6e4dcca1ba1dc2bfeb91df5"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 10:58:07 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 13 10:58:07 2015 -0700"
      },
      "message": "NuPlayerRenderer: always update MediaClock with max media duration.\n\nBug: 24345295\nChange-Id: I868c9c44ea22de98a083432262e485d0f134203f\n"
    }
  ],
  "next": "3809d9ee895ecd3366fa6c4c532c0ac5930d2a6f"
}
