)]}'
{
  "log": [
    {
      "commit": "3fcddfd23adc88116c8fe5ea593626bfce0b75bd",
      "tree": "28331f56a33d25a0a9b019baf0c0112cb5e5fbae",
      "parents": [
        "699e9b0749bda03d12d6aaea9632b28d2bd9e6fb",
        "69c8e36da7137730f4789a0d27d983b40d1f2917"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 20:44:29 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 21 20:44:29 2015 +0000"
      },
      "message": "GenericSource: reset mDrmManagerClient when mDataSource is cleared. am: 224858e719\nam: 69c8e36da7\n\n* commit \u002769c8e36da7137730f4789a0d27d983b40d1f2917\u0027:\n  GenericSource: reset mDrmManagerClient when mDataSource is cleared.\n"
    },
    {
      "commit": "224858e719d045c8554856b12c4ab73d2375cf33",
      "tree": "7aae8271a085e360ad615823d09a2d293bec2649",
      "parents": [
        "8565726f5775a6db97a394aa18a1f6b0e1ce69b7"
      ],
      "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": "Wed Oct 21 16:07:31 2015 +0000"
      },
      "message": "GenericSource: reset mDrmManagerClient when mDataSource is cleared.\n\nBug: 25070434\nChange-Id: Iade3472c496ac42456e42db35e402f7b66416f5b\n(cherry picked from commit b41fd0d4929f0a89811bafcc4fd944b128f00ce2)\n"
    },
    {
      "commit": "67f36a8e6130f5c22ab177b0d29f5705e86daca2",
      "tree": "0c22425637efc13275435df057e6bfa2c0beb48b",
      "parents": [
        "d021f7e5686074771981a6386b59e803160a1073",
        "76b704e3872a7e17362c398e7b898b0d635e0f2d"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Sep 14 14:56:20 2015 +0900"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Sep 14 11:02:49 2015 -0700"
      },
      "message": "resolved conflicts for 76b704e3 to lmp-mr1-dev\n\nChange-Id: I843f6b4080b06581c52683ab4af5261e974cd7af\n"
    },
    {
      "commit": "f3eb82683a80341f5ac23057aab733a57963cab2",
      "tree": "b0d65bc29abd7c55df8e8a38135fec58b894686a",
      "parents": [
        "2b63b91b84c75afdef4213aa11b0dcc8e7d735a3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Sep 02 14:02:47 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Sep 08 12:00:17 2015 -0700"
      },
      "message": "DO NOT MERGE: Protect data source access with mutex during disconnect\n\nBug: 23658148\nChange-Id: Ic37cac7b5d166143e0b77e9919b0aaef486e4fdd\n"
    },
    {
      "commit": "68fca636ac961c181ee71a49f151c71b564258d0",
      "tree": "9d149d5f109cb35133ed3af0805029ccb0576f46",
      "parents": [
        "424314382b6e2064df1c7c445038a11104be84c7"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 31 10:06:48 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 31 12:43:59 2015 -0700"
      },
      "message": "mediaplayer: ensure secure decoders are instantiated before starting source\n\nBug: 19984798\nChange-Id: Iff13cf03c4ce3141380f4d7ab4a2b1045c5ce747\n"
    },
    {
      "commit": "35d5af131c9d4962e935082f204ccd6a2130861c",
      "tree": "3a0456f7e9ddba7cddb0769f2a15d1589f820647",
      "parents": [
        "17e95f40a534101e2df48f077a8029430adef6c3"
      ],
      "author": {
        "name": "Weiyin Jiang",
        "email": "wjiang@codeaurora.org",
        "time": "Wed Jan 28 16:14:02 2015 +0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 06 16:32:24 2015 -0800"
      },
      "message": "nuplayer: acquire wakelock during offload pause timeout\n\nHold a wakelock while paused in audio offload mode, until audio\nteardown event is received, or pause is canceled.\n\nSince ARM cores are sleeping, the delayed AMessage will not be\nreceived, and the audio output driver will not be closed.\nThis blocks XO shutdown.\n\nBug: 19297092\nChange-Id: I3d11fef633e3f2783f4aa31e71285e2fa09d234c\n"
    },
    {
      "commit": "13cfe85ae9f4daab1d0bfcd248fc2576585e259a",
      "tree": "f12d2ac589e97085e5ef6f8f47655ee69479c011",
      "parents": [
        "0662f5b0c43fcfdf055704d02ea41202c9b6094a",
        "341ab6eebb6a992ec7bdf095420cf82bcab1c6b3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 04 23:24:38 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 04 23:24:38 2015 +0000"
      },
      "message": "Merge \"reuse CCDecoder on video discontinuity\" into lmp-mr1-dev"
    },
    {
      "commit": "341ab6eebb6a992ec7bdf095420cf82bcab1c6b3",
      "tree": "bc31f63e34f4a74a7bf679786e5a9af005348ed3",
      "parents": [
        "77f877f82733263bca825b92a3f4537caafabf74"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 04 13:37:18 2015 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 04 13:38:59 2015 -0800"
      },
      "message": "reuse CCDecoder on video discontinuity\n\nbug: 19266084\nChange-Id: I06ef57b09b048a85f77be4dee27599c4f60aacc9\n"
    },
    {
      "commit": "efbb61950db36a5eb789be83f077246172507c67",
      "tree": "0904a0a4b377dd60935c274b29bf1550d0038389",
      "parents": [
        "77f877f82733263bca825b92a3f4537caafabf74"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jan 30 17:13:27 2015 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Feb 03 16:36:09 2015 -0800"
      },
      "message": "NuPlayer: pause playback when buffering is low\n\nalso fix buffering percentage report (should be the buffered position)\n\nbug: 18730095\nChange-Id: I11e7ca4ba9e772a1ae76861ca1ff1725b62f65ae\n"
    },
    {
      "commit": "7a4342651cc6539fc9a8775ce1e322a47adeda78",
      "tree": "874385f4926736daaea5309e0090c950d4989009",
      "parents": [
        "296a0d038e9e485d7a10b54057f24a562a2e76e3",
        "7abbd4c954e26fb69235831e11090ad61cec7b94"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Jan 31 03:49:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 31 03:49:13 2015 +0000"
      },
      "message": "Merge \"Wrong format used in seamless check\" into lmp-mr1-dev"
    },
    {
      "commit": "7abbd4c954e26fb69235831e11090ad61cec7b94",
      "tree": "20c13e7b64e248ec04e8130f1474fdad80d8c800",
      "parents": [
        "64c496c8d51c71605cd34a510da2ecd8180656ec"
      ],
      "author": {
        "name": "joakim johansson",
        "email": "joakim.c.johansson@sonymobile.com",
        "time": "Fri Jan 30 14:16:03 2015 +0100"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Jan 30 18:15:57 2015 -0800"
      },
      "message": "Wrong format used in seamless check\n\nThe targetFormat that is sent to supportsSeamlessFormatChange\nfunction corresponds to the data in mInputFormat but the format\nprovided is the output format, so the check will always return\nfalse.\n\nUse the input format instead.\n\nBug: 18821145\nChange-Id: Iea3cbd59e423da5f2f813e98505b40dc341061b8\n"
    },
    {
      "commit": "231406d597cca1c9c009f870fbb62e46b8475186",
      "tree": "db58d4edd4e0407ce8076bf3f6c9819e8f882649",
      "parents": [
        "64c496c8d51c71605cd34a510da2ecd8180656ec"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 27 11:42:42 2015 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 27 15:13:32 2015 -0800"
      },
      "message": "NuPlayerRenderer: return current real time as render time for video frame when paused.\n\nThis allows video to display immediately during seeking in paused state.\nAlso fix some racing condition.\n\nBug: 19153026\nChange-Id: I0d7a8981ca3c121f5dbc430c2c6d8b7522edc24a\n"
    },
    {
      "commit": "4d4ea7f7ca04cfe70ecf6f35658389f52ae6d3c1",
      "tree": "65233f48967b2de8c1ce6ac794db49c59f9e6110",
      "parents": [
        "21291a420e11ccdf23e955c3dc390304230ddce3",
        "cec7febc48ff76b293ace0cc12a6288f13f72293"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jan 16 00:24:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 16 00:24:48 2015 +0000"
      },
      "message": "Merge \"do not use paused postition if it\u0027s not available\" into lmp-mr1-dev"
    },
    {
      "commit": "cec7febc48ff76b293ace0cc12a6288f13f72293",
      "tree": "e767cf2b97cdef0fc856edcbdc631927595d987c",
      "parents": [
        "ad019236b9bc4a030c2740fd9cfdd0670b118d5c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jan 15 11:22:24 2015 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jan 15 11:22:24 2015 -0800"
      },
      "message": "do not use paused postition if it\u0027s not available\n\nbug: 18896133\nbug: 18996505\nChange-Id: I1e24fabe3fe8f2275b1ccc0df100cb2c4ba2264b\n"
    },
    {
      "commit": "1713460104b86f6be3a5d9993d9ace864d889b2d",
      "tree": "47be834572c94f418cd6d087e953a53a9d655127",
      "parents": [
        "5db7897ddd32e3ec3ab45ecdb6f21b6265e7e14a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 16:14:34 2015 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 17:08:43 2015 -0800"
      },
      "message": "mark any copyrighted content as protected to disable capture\n\nbug: 18916274\nChange-Id: I23f096b51433bf18a10dc5fe6dc6b75c3881c340\n"
    },
    {
      "commit": "0d19abb440c7e62e944efbeadf02299990f9a589",
      "tree": "77638d29013a8bae57a7232e4aa5ea71baadc341",
      "parents": [
        "f580806d893c4631f5324ff0af5c2db68a40ef42",
        "f0e83644637bd05852c244df481f21a0d435ff66"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 23 00:27:46 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 23 00:27:46 2014 +0000"
      },
      "message": "Merge \"NuPlayer: Do not recreate AudioTrack if not needed\" into lmp-mr1-dev"
    },
    {
      "commit": "f0e83644637bd05852c244df481f21a0d435ff66",
      "tree": "1906a30a9d09e3def397d39fba5d64deadc78ae5",
      "parents": [
        "e48cf5b8f823c30af93577c1e380d752ac69b871"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 19 17:55:56 2014 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 19 18:15:33 2014 -0800"
      },
      "message": "NuPlayer: Do not recreate AudioTrack if not needed\n\nOn output format change from the decoder, check if a new audio\ntrack is really needed. This prevents excessive track\ncreation/destruction during seeks.\n\nBug: 18817027\nChange-Id: I4290dcb90cb35bc1303b025e162f6b813d49a05b\n"
    },
    {
      "commit": "ad019236b9bc4a030c2740fd9cfdd0670b118d5c",
      "tree": "0ed6c5d9be18759948a97807f2bcd2f46e9e7778",
      "parents": [
        "d4b056da7cbf1adb2a5f668e4425def3754a9c09",
        "d4cdba18ba7d0057ae54ec7efa5871b1a9d8beca"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Dec 19 22:18:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 19 22:18:10 2014 +0000"
      },
      "message": "Merge \"NuPlayer: reports paused position in paused state.\" into lmp-mr1-dev"
    },
    {
      "commit": "d4cdba18ba7d0057ae54ec7efa5871b1a9d8beca",
      "tree": "6a8a44525450cb0a0d13ab0c60ad31c47bed9f1b",
      "parents": [
        "e48cf5b8f823c30af93577c1e380d752ac69b871"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Dec 18 10:44:17 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Dec 19 11:29:30 2014 -0800"
      },
      "message": "NuPlayer: reports paused position in paused state.\n\nBug: 18733773\nChange-Id: I993a4bf108913ab98a0294d7dcf7605349f7029b\n"
    },
    {
      "commit": "3491232a7c0d953fa021f6a81baee64c44f364f3",
      "tree": "974b02384d160e7baad77f93ed9ab2ba38209134",
      "parents": [
        "e48cf5b8f823c30af93577c1e380d752ac69b871"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 18 18:48:39 2014 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 18 18:48:39 2014 -0800"
      },
      "message": "NuPlayer: Fix failure to stop audio playback\n\nDon\u0027t stop audio sink if gapless - it\u0027s not necessary and has\na side effect of resetting the AudioTrack frames written\nwithout resetting the AudioSink frames written.\n\nBug: 18787619\nChange-Id: I71063b9e3aad9a6dfd7d46ea614e107c815e4c57\n"
    },
    {
      "commit": "9f932418856844c6b8242d4c921654d0cc6af754",
      "tree": "359457f5fadee5eeb72f600e0a74a597724a16de",
      "parents": [
        "2aa82e786be2e986be1ecb48d72b095b040efe9a",
        "661a5270303392bbf22eaa459961e6ab7b26b529"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Dec 15 21:21:40 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 15 21:21:41 2014 +0000"
      },
      "message": "Merge \"Fix for apps that forget to use widevine:// urls\" into lmp-mr1-dev"
    },
    {
      "commit": "6e430fbd927b9cc043639eb728ddc921392a60e8",
      "tree": "ecc06c27de37c7b561e86e90a9a996617a9454dc",
      "parents": [
        "8ddb02230d02968d471aa41b22433957c38827c0",
        "895651b07fec30b0f9b0d2499599a179d95c9be4"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Dec 15 19:15:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 15 19:15:09 2014 +0000"
      },
      "message": "Merge \"NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable.\" into lmp-mr1-dev"
    },
    {
      "commit": "661a5270303392bbf22eaa459961e6ab7b26b529",
      "tree": "da831271890b6b0d615128a4cdace36a1e6487c6",
      "parents": [
        "8cffa91a76d3fa4c96268fc40fc8722a0d33dc8d"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 12 15:24:46 2014 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Dec 15 18:28:54 2014 +0000"
      },
      "message": "Fix for apps that forget to use widevine:// urls\n\nbug: 18554455\n\nChange-Id: I8ff08e7270c65c375205169eb068f361f2a4a727"
    },
    {
      "commit": "895651b07fec30b0f9b0d2499599a179d95c9be4",
      "tree": "bd1a9d42072c8db53dcd72aa3f7392f520b1f4fe",
      "parents": [
        "82a69ea8b090d57bff5e02774688b546a711bbb8"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Dec 10 17:31:52 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Dec 12 14:34:50 2014 -0800"
      },
      "message": "NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable.\n\nLiveSession: return -1 for duration when it\u0027s not available.\n\nBug: 18599325\nChange-Id: Iecd040f48750806f98d1799e2aaab2f90c6f3887\n"
    },
    {
      "commit": "f484952edd94c1b7ee82d7b108edc1ce08671cc4",
      "tree": "cff6a131fad2248c456eee1618849df35bcae67e",
      "parents": [
        "7e45789f5fbcbe68075f57b6d17f72b7b48df546"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Dec 10 16:58:57 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Dec 10 16:59:39 2014 -0800"
      },
      "message": "mediaplayer: allow setVideoSurface before setDataSource\n\nBug: 18709604\nChange-Id: I41e4734faed48b5583feb29896cd5783b8cd7e33\n"
    },
    {
      "commit": "80c57d570238f9f213ccfe818e285090daeafd63",
      "tree": "95ff9139a96af8181ff7ef9f33245512d450d4b5",
      "parents": [
        "18265202049bfa53fe5b18a95d956325acca9c7b",
        "474d7c778b63aa33dcf25a92e23a52c1c47f0ac1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sat Dec 06 01:20:38 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 06 01:20:39 2014 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition.\" into lmp-mr1-dev"
    },
    {
      "commit": "474d7c778b63aa33dcf25a92e23a52c1c47f0ac1",
      "tree": "4b6553cfc31df91a1c304061113172904d4bd768",
      "parents": [
        "9257000c453c1a6f6bf073ff0bf3ba7ef9baf183"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Dec 04 15:12:13 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Dec 05 16:51:38 2014 -0800"
      },
      "message": "NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition.\n\nNuPlayerDecoder: Notify resume is done when EOS is reached.\n\nGenericSource: add code to signal pre-roll for seek so that it will seek to the requested position,\nnot only I-frame. This code is disabled temporarily till we have a full solution to handle both\nsingle seek and continous seek gracefully.\n\nBug: 18625723\nChange-Id: I99a54d4d549e0d805e3abcc227fbf96c16405af0\n"
    },
    {
      "commit": "42e8153cf7271b572e4a94ade332b68521977f36",
      "tree": "ac5b53bbf3c36b916bda20b397dd91de2b262056",
      "parents": [
        "9257000c453c1a6f6bf073ff0bf3ba7ef9baf183"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 01 13:44:26 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Dec 05 15:21:48 2014 -0800"
      },
      "message": "fixes for non-secure widevine playback\n\n- separate secure decoding from widevine\n\n- use non-blocking mode when reading from widevine source\n\n- schedule buffer read when packet source is empty\n\nbug: 18536934\nChange-Id: I65a8e5e819975ca6900ed8e887a442940f2d5d38\n"
    },
    {
      "commit": "b65842dd9447a7925046b2285b2aa8459dc63ed3",
      "tree": "9e9f3e43b5ab1e741dace7a3b005589fd4eb17e3",
      "parents": [
        "76c156f71f398d08fd88100f499a8a41ddfd3808",
        "202bce11a7f66f27e6dbb6d154ddc123aa62513d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 05 04:52:40 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 05 04:52:41 2014 +0000"
      },
      "message": "Merge \"Fix NuPlayer assertion on failure to create AudioTrack\" into lmp-mr1-dev"
    },
    {
      "commit": "180d1b96ee2312f1056a58e26884a89d25ab62c8",
      "tree": "429e10ae941b02a4f3c6e18227c79cd5592b83fb",
      "parents": [
        "ab05b4ccb8ea59079d7f773aa0e090029c479bad"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Dec 02 18:35:35 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Dec 03 16:53:21 2014 -0800"
      },
      "message": "fix threading in RTSPSource and StreamingSource\n\nBug: 18532335\n\nChange-Id: I9c34401a928dc0ddbd0923aa5f127dc628efbb92\n"
    },
    {
      "commit": "202bce11a7f66f27e6dbb6d154ddc123aa62513d",
      "tree": "390b83dacc286717243ba6e3c1173c9e2f01b376",
      "parents": [
        "9a1c8892f6835325db6931529dc74bf98cf0aee8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 03 11:47:36 2014 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 03 16:13:50 2014 -0800"
      },
      "message": "Fix NuPlayer assertion on failure to create AudioTrack\n\nUnder heavy media load or monkey/stress testing, more than\n32 AudioTracks may be created or memory resources may be scarce.\nRemove the assertion on failure to create AudioTrack\nand signal MEDIA_ERROR.\n\nBug: 17319843\nChange-Id: I5d4e200b5f50d800046851a33e035cdc6ff10075\n"
    },
    {
      "commit": "ab05b4ccb8ea59079d7f773aa0e090029c479bad",
      "tree": "71c6ac716e4845c6bab413c4e55dd60631be4a96",
      "parents": [
        "f1828910d48bbd22e1392e6ab0ce31298d1f115c"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Dec 02 09:41:21 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Dec 02 17:43:39 2014 -0800"
      },
      "message": "StreamingSource: check mTSParser before dereferencing it.\n\nBug: 18532335\nChange-Id: I7819d8d359fe75ea4c827138e9aaa2454ccfe3b1\n"
    },
    {
      "commit": "f1828910d48bbd22e1392e6ab0ce31298d1f115c",
      "tree": "752ea9f31459d6b2572fa1721ca4edea612e759f",
      "parents": [
        "d8731629bed46ff573b1ef904e5366d28f23dc0a"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Dec 01 15:33:36 2014 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Dec 01 16:21:07 2014 -0800"
      },
      "message": "nuplayer: clear pending audio access unit on flush.\n\nAlso add flag to avoid reading on flush.\n\nBug: 18540219\nChange-Id: I2fc351c32c87db9a8c8c2aad12ee2bd56a0370ab\n"
    },
    {
      "commit": "f8d717772f6d185cb07720cd5091df9b7d612e0b",
      "tree": "290eabe4ea61e269b21df477521c4ac211d4b364",
      "parents": [
        "bc0f452b9a76dd8c8244e775bc9c5aa85cae3ddf"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 26 15:08:34 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 01 10:54:55 2014 -0800"
      },
      "message": "notify seek complete upon first video output frame\n\nBug: 18541814\nChange-Id: Ie4e0976885f26eb253460eab371cb181ea85f2db\n"
    },
    {
      "commit": "3a8d7d1064a665a8a348710c7d27b31642f7f624",
      "tree": "4b34bf78f66ea2122cea7e3eb030b26fbed9b83d",
      "parents": [
        "8052d933822e51dec3b096cb5fc8a9fbdc076bdc",
        "7137ec7e005a5a6e3c0edb91cfacf16a31f4bf6a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Nov 21 02:21:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 21 02:21:19 2014 +0000"
      },
      "message": "Merge \"tunnel NuPlayer source and decoder input\" into lmp-mr1-dev"
    },
    {
      "commit": "7137ec7e005a5a6e3c0edb91cfacf16a31f4bf6a",
      "tree": "df4513073e85173034aca859ff220d8908969636",
      "parents": [
        "f4ea51fda9396d7ee851b1d4d220384210ea2336"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 12 16:41:05 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Nov 20 18:14:31 2014 -0800"
      },
      "message": "tunnel NuPlayer source and decoder input\n\nBug: 18342383\n\nChange-Id: Ieff1cd3bad2b39d46f127ddd5d5139b919992461\n"
    },
    {
      "commit": "7966142a096c1d5d7386a42eaccc9aed5b4344b3",
      "tree": "15a1da95e59cfc2506f73f10dab7fdcec432b4a8",
      "parents": [
        "f4ea51fda9396d7ee851b1d4d220384210ea2336",
        "f83408b41bbd796b7923d719e7e3799ddc7acaff"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Nov 20 21:13:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 21:13:08 2014 +0000"
      },
      "message": "Merge \"NuPlayer: invalid anchor time when render is flushed.\" into lmp-mr1-dev"
    },
    {
      "commit": "ec9459c63d1c2969505ffdc4a100646fd07223bd",
      "tree": "143cd8e8d5a9d2c973e37833e4836632215f7ee9",
      "parents": [
        "a7cf01da547bad8d4e66e3e4570eddeac98b6b05",
        "a6bf21f2a7cdd33c78464019dc1105ef01248b51"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Nov 20 18:41:46 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 18:41:47 2014 +0000"
      },
      "message": "Merge \"close fd if data source is reset without prepare\" into lmp-mr1-dev"
    },
    {
      "commit": "574aed902443d41581684dc8bc5ddd2e067f4cdf",
      "tree": "eab7a69bd4500f45674192a1366870579fc09d70",
      "parents": [
        "3a2a32b5e758854712caf638fe1f74bb49b50777",
        "6c41e622512a99581afcbdbd6ad284237923c942"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 20 18:35:45 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 18:35:46 2014 +0000"
      },
      "message": "Merge \"When aggregating buffers, make sure we don\u0027t lose data\" into lmp-mr1-dev"
    },
    {
      "commit": "a6bf21f2a7cdd33c78464019dc1105ef01248b51",
      "tree": "a7bc37ebdc3cdc0a840d1c23447ea8a56f8fb958",
      "parents": [
        "f89f2ff4df0855eb56d95a02ab29d856e0ffa858"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 19 20:26:34 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 19 20:28:10 2014 -0800"
      },
      "message": "close fd if data source is reset without prepare\n\nbug: 18434887\nChange-Id: I70dff721710b7299d1ca1f8520278f82d355141d\n"
    },
    {
      "commit": "d9fd6317913c74e1c955eb31978c41e70d5810bc",
      "tree": "1d1bf829c3b08327f770f839dd7c4062b56b1a51",
      "parents": [
        "18899808001ddaea13fa4c5277502c96351f69a5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Nov 06 11:00:00 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Nov 19 16:50:33 2014 -0800"
      },
      "message": "mediaplayer: request auto-frc for high quality avsync\n\nBug: 17383204\nChange-Id: I7209305b4ff3c2386019d7a09d6a0536e9f21522\n"
    },
    {
      "commit": "6c41e622512a99581afcbdbd6ad284237923c942",
      "tree": "67cbb3ad6065eede75b52fdd241db1f36f214072",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 19 13:22:23 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 19 14:08:55 2014 -0800"
      },
      "message": "When aggregating buffers, make sure we don\u0027t lose data\n\nBug: 18277034\nChange-Id: Ia8c35791eea88545a873cad339eb6b5fc25d1d97\n"
    },
    {
      "commit": "18899808001ddaea13fa4c5277502c96351f69a5",
      "tree": "328090b2f4f2a159d8c0015fc99808ef79d15afb",
      "parents": [
        "03181012beab17e145ca8b9bedbcc08d117df1cb",
        "a10fd23bb9fcf16e778c639ea5638e2917dacd89"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Nov 19 19:55:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 19 19:55:19 2014 +0000"
      },
      "message": "Merge \"NuPlayer: open audio sink in offload mode when resuming from timeout teardown.\" into lmp-mr1-dev"
    },
    {
      "commit": "f83408b41bbd796b7923d719e7e3799ddc7acaff",
      "tree": "48ff693ae59ee937d8ffd0d1f1f72516d45b7df7",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Nov 19 10:02:16 2014 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Nov 19 10:02:16 2014 -0800"
      },
      "message": "NuPlayer: invalid anchor time when render is flushed.\n\nAlso rememeber the pause time in NuPlayerDriver.\n\nBug: 18436336\nChange-Id: If09f680a0d0f9137bd55c5f94201eb3aa783278a\n"
    },
    {
      "commit": "ba0790bf10da74caacb214ea8155d172bae4d0c5",
      "tree": "8d2be0704e909f73cb00e80d01fd4ede48a00f15",
      "parents": [
        "993d57ec4817922e291e2d88d690559403a1bcd6",
        "707eadef2ad1388bafdb2d003a4169208fa99811"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 19 01:21:50 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 19 01:21:51 2014 +0000"
      },
      "message": "Merge \"Don\u0027t autoloop notifications\" into lmp-mr1-dev"
    },
    {
      "commit": "6ffb1fd67eb8f00f130a6db914ba42a8432aec70",
      "tree": "8c7fa7071cf8c096c0964416050555c422088993",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Oct 29 16:24:32 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Nov 19 00:42:24 2014 +0000"
      },
      "message": "NuPlayer: pass media time to selectTrack for responsiveness\n\nBug: 18020001\nChange-Id: Id50f8473992f39d8c0aa86a1fabb2601093d2572"
    },
    {
      "commit": "a10fd23bb9fcf16e778c639ea5638e2917dacd89",
      "tree": "6d88124988da832f4bf0e204373c35f3bf380ebe",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Nov 06 16:15:20 2014 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Nov 18 16:06:16 2014 -0800"
      },
      "message": "NuPlayer: open audio sink in offload mode when resuming from timeout teardown.\n\nAlso always recheck if a new stream can do offload.\n\nBug: 18154425\nChange-Id: I121877834bd963eeeba91a2b951fd30d5dc36a8b\n"
    },
    {
      "commit": "707eadef2ad1388bafdb2d003a4169208fa99811",
      "tree": "c5666a6e0d400df28dbd67706fbfdc742710bf8f",
      "parents": [
        "35b0f7095fac4f2cc112edd4b0298a9cb1ee394f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 18 09:50:35 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 18 09:54:54 2014 -0800"
      },
      "message": "Don\u0027t autoloop notifications\n\nSome apps think it\u0027s cool to use ringtones as notification sounds, but\nringtones often loop, which is not appropriate for notifications.\n\nBug: 15929273\nChange-Id: I77c4277801cb2561743f8c676ef76ab4d1668b08\n"
    },
    {
      "commit": "39b109a1df23e7610b031b466e9ecf510b3c077f",
      "tree": "f7b65ac4779af866f4d278004e7f583936cf2d1e",
      "parents": [
        "f89f2ff4df0855eb56d95a02ab29d856e0ffa858",
        "89bf2525c5b57f17260de5b00c5f3f78ac4b881e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 17 23:14:03 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 17 23:14:04 2014 +0000"
      },
      "message": "Merge \"NuPlayer HTTPLiveSource: impl getSelectedTrack\" into lmp-mr1-dev"
    },
    {
      "commit": "c6cfd70f24a11b946859485ce398a189c301a4e2",
      "tree": "47238c67d7cf5f6bfdf6845c64966e5e1692eb12",
      "parents": [
        "12acd3f0374e7707ff50c04f8075883be71b128c"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Nov 11 16:33:20 2014 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Nov 14 14:23:52 2014 -0800"
      },
      "message": "NuPlayer: tunnel decoder with renderer for data buffer passing.\n\nBug: 18342383\n\nChange-Id: I182928007814c146c01a86196c4fda1d46e74ea4\n"
    },
    {
      "commit": "6641004be544a394f3fca81f7213dd6e0668ff98",
      "tree": "9cbadf3341c0119ca0baa4f50c64391914769e54",
      "parents": [
        "e0b7ddcda9b4fb493cc365c92293ed7d12c3208a",
        "e17afa888040eb5fbd31249305efd88ee03bb5bc"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Nov 13 19:16:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 19:16:02 2014 +0000"
      },
      "message": "Merge \"Revert \"mediaplayer: make frame-accurate avsync configurable\"\" into lmp-mr1-dev"
    },
    {
      "commit": "368e33700ed16acc8e99657fb84edd5d2806b34f",
      "tree": "73067e4cc41d76e60ac526ece3a29c2b47443089",
      "parents": [
        "a7e65b196bf7efb27daa36c8a783d9c57c9ffc03"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 11 13:56:44 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 11 13:58:56 2014 -0800"
      },
      "message": "Fix looping sound playback\n\nThe renderer stops the audio sink at the end in order to play out\nthe last little bit of audio. When the sound is looping, the sink\nneeds to be restarted.\n\nBug: 18326137\nChange-Id: I3bc3629597fc43cce33bdf5691d29cc4c2285926\n"
    },
    {
      "commit": "48cb6d7c840e695769405b0d33fd2b85479ec717",
      "tree": "ed5513fbe446bad4b7438f7f4c31feac9bd8850f",
      "parents": [
        "21efaad13f13e390f585cea4371d399997f8d1a6",
        "15ce5f35187659ad757ee2ea6f70dcef5010c2c2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 10 22:29:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 10 22:29:56 2014 +0000"
      },
      "message": "Merge \"Fix short sound playback\" into lmp-mr1-dev"
    },
    {
      "commit": "21efaad13f13e390f585cea4371d399997f8d1a6",
      "tree": "a0138da7c13fdffcc52b37447b466f2cc40b2cd5",
      "parents": [
        "2dc28b69258d4772aaf40902b939153239e7fe7f",
        "5c67ddcf987b1f07c9abc1d051a0c051e7c73ff7"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 10 22:22:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 10 22:22:29 2014 +0000"
      },
      "message": "Merge \"GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs\" into lmp-mr1-dev"
    },
    {
      "commit": "5c67ddcf987b1f07c9abc1d051a0c051e7c73ff7",
      "tree": "75832e9700f6cab80119c44d8045778e41fbffe6",
      "parents": [
        "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Nov 04 17:46:05 2014 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 10 22:02:41 2014 +0000"
      },
      "message": "GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs\n\nBug: 18296874\nChange-Id: I9608523b4cc37e6cf8b91fb1407035aac087796b"
    },
    {
      "commit": "2dc28b69258d4772aaf40902b939153239e7fe7f",
      "tree": "010f2d21a21dd55e7b5d2bfe3bd56918912e76f3",
      "parents": [
        "c5208b7a23300c0f628a4dab3a22536e351da18b",
        "1098d87e56f726184ae9c8fe903ea4743669f35b"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 10 18:25:32 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 10 18:25:33 2014 +0000"
      },
      "message": "Merge \"HTTPLiveSource: NULL check in getFormat\" into lmp-mr1-dev"
    },
    {
      "commit": "1098d87e56f726184ae9c8fe903ea4743669f35b",
      "tree": "c2dabde1d5669bef93e8854e1c0e9ba26703bc6c",
      "parents": [
        "ed1e55c5276a1c031e9b2f016387c7d2fe7bc47f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Nov 06 13:58:48 2014 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Nov 08 01:40:50 2014 +0000"
      },
      "message": "HTTPLiveSource: NULL check in getFormat\n\nBug: 18297916\nChange-Id: I14c5de8d28202ee1b68e369d33e01bd26dbe968d"
    },
    {
      "commit": "e17afa888040eb5fbd31249305efd88ee03bb5bc",
      "tree": "c079294242bc00130c022194b085aaf635bf4e2a",
      "parents": [
        "e662cd5cdbe1312d6b74754d2945fffe99e4fe2c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Nov 07 17:20:58 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Nov 07 17:24:09 2014 -0800"
      },
      "message": "Revert \"mediaplayer: make frame-accurate avsync configurable\"\n\nReenable PTS scheduling for all playback.\n\nThis reverts commit 274084f7bfd3f6bdf5a55cf16ceefed345aa0060.\n\nBug: 18111837\nChange-Id: Ia734ad304c1f85d2ac302261866be82b8f2a30d4\n"
    },
    {
      "commit": "89bf2525c5b57f17260de5b00c5f3f78ac4b881e",
      "tree": "f974b0e3b0b40dc30c933b1b767a66d22c10cc27",
      "parents": [
        "1cf9ad1abb599ce4057189e0db154cf00b4913f8"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 29 19:25:10 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Nov 06 21:44:23 2014 +0000"
      },
      "message": "NuPlayer HTTPLiveSource: impl getSelectedTrack\n\nBug: 17514665\nChange-Id: I81c62553f2c5acb4d2436a9d8f04c10fdbe315d0\n"
    },
    {
      "commit": "fef808d42a9c94b0b5ef3c3d5fb0a090edbc42da",
      "tree": "94c39efa1b2c3cc6a3b40cf2b6e5f087dd6f917b",
      "parents": [
        "151b3f41ffcdf187580542ba0c0d3b84df16beed"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Oct 31 17:57:05 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Nov 06 09:57:19 2014 -0800"
      },
      "message": "AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.\n\nThis will remove the unnecessary flush for seek.\n\nBug: 17511837\nChange-Id: I4b7acfc71a410372f5c630afb94b6a95d09d8974\n"
    },
    {
      "commit": "15ce5f35187659ad757ee2ea6f70dcef5010c2c2",
      "tree": "4fa8715305099f3aac2087de867fe80a529b8599",
      "parents": [
        "8bfa96c2f7c098550b00b84677088f84e81f4ed4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 05 13:07:39 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 05 14:38:29 2014 -0800"
      },
      "message": "Fix short sound playback\n\nAudioTrack needs to be stopped, not paused, at the end of the file,\nsince otherwise the last bit of queued up audio will not be played.\n\nBug: 18188921\nChange-Id: I038aad74a105e163963929c7002b55f377de1442\n"
    },
    {
      "commit": "7011ee31d65917a9e15b271942e863f06eee2da1",
      "tree": "eeeb40b36da0c065189cbda7760a4619687d8550",
      "parents": [
        "cde2b72229fd6e06ee301238fd2943cdc1c40686",
        "a5d316fd802cfc92954527f27e6f32206a896113"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 29 23:11:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 29 23:11:37 2014 +0000"
      },
      "message": "Merge \"NuPlayer: reduce offload pause teardown timeout.\" into lmp-mr1-dev"
    },
    {
      "commit": "a5d316fd802cfc92954527f27e6f32206a896113",
      "tree": "1fa7702b5eb50186fc90a327c59c71ec83a2cc4a",
      "parents": [
        "701b96474dc8afd16046e440975e00be57cc4874"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 29 15:32:17 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 29 15:32:17 2014 -0700"
      },
      "message": "NuPlayer: reduce offload pause teardown timeout.\n\nWaiting 60 seconds to teardown an offloaded path when paused\nis not needed and causes unecessary battery drain.\n10 seconds is enough to avaoid teardown when it would be\nproblematic (seek, pause for notifications, buffering...).\n\nBug: 13505340.\nChange-Id: Ibcaa609b59e86ba2bc49539620bd77504d534c0c\n"
    },
    {
      "commit": "cde2b72229fd6e06ee301238fd2943cdc1c40686",
      "tree": "716014742d05f5c0c1eb28042e12b79ead731da9",
      "parents": [
        "6e8212b2a02685e50d0c093a6f44d9af636261d9",
        "9421174a2f002fef31b330fb04e00105a905dca4"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 29 21:46:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 29 21:46:54 2014 +0000"
      },
      "message": "Merge \"NuPlayer: merge start() and resume().\" into lmp-mr1-dev"
    },
    {
      "commit": "9421174a2f002fef31b330fb04e00105a905dca4",
      "tree": "c98aba03fef5848ac810b6487dd951b93f172953",
      "parents": [
        "b80a2a8871d3af8619bf774a0c9ddbac8d598bf9"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 28 17:09:06 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 28 18:40:45 2014 -0700"
      },
      "message": "NuPlayer: merge start() and resume().\n\nNuPlayerDriver: allow seekTo called in STOPPED_AND_PREPARED state.\n\nBug: 18127606\nChange-Id: I92ff9f7e0a176c434202762d30966d8c4643d1ef\n"
    },
    {
      "commit": "d88c3cafb439367f2a245b625e0a74bcd785f099",
      "tree": "84f82b2d3b9914d1741aa8199202d1962a82a9ef",
      "parents": [
        "701b96474dc8afd16046e440975e00be57cc4874"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 28 10:52:11 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 28 11:46:20 2014 -0700"
      },
      "message": "fix deep buffer logic in NuPlayer.\n\nDeep buffer output should be requested when there is\nno video track, not when there is one.\n\nAlso make sure that the deep buffer flag is restored after\na failure to offload audio decoding.\n\nBug: 18114624.\nChange-Id: If3c04c784bc20d77926993ee475fbf961aeba7ae\n"
    },
    {
      "commit": "f592671336be0a061799033e47ceeacb648ed3bf",
      "tree": "09224fb514c18ae710ff9085dc58bee79ef91faa",
      "parents": [
        "7de5ac1f067ec61f7ea424d5534cfd40987b11fa"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Oct 21 09:36:43 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Oct 21 16:13:35 2014 -0700"
      },
      "message": "mediaplayer: don\u0027t report position past last queued position\n\nalso reanchor offloaded audio track correctly\n\nBug: 17653702\nChange-Id: If05394d3b119be8d80b7764847496246d34a2133\n"
    },
    {
      "commit": "d5923409bbcbb22954a92c2b497ef4492d7cb6a5",
      "tree": "a1ace41b85fb97ea4e496e136abaacad91e69f09",
      "parents": [
        "eecb7805bbbb712925d4372c505f8c7f5c4fb5ed"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 20 17:47:54 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 20 21:04:33 2014 -0700"
      },
      "message": "mediaplayer: limit scheduling video frames into the future\n\nThis addresses when video timestamps jumps before an audio timestamp,\nbut still works on slideshow video clips (\u003c\u003d1fps).\n\nThis, however, will not skip time-changes on video-only live video\nstreams, as we cannot distinguish live slideshow video clips from\nnon-slideshow ones.\n\nBug: 18032127\nChange-Id: I959a714edfe1c8cf3b84704c693dcd1b3e5b7855\n"
    },
    {
      "commit": "eecb7805bbbb712925d4372c505f8c7f5c4fb5ed",
      "tree": "c8b82d790b9e8ce33c68aadbbc664a5f19f10833",
      "parents": [
        "ac302143551a8b964f026385a524dda9ff8ea5ba"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Sun Oct 19 23:12:50 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 20 21:01:42 2014 -0700"
      },
      "message": "NuPlayer: set anchor time for each audio buffer.\n\nAnd use anchor time to compute current position\n\nBug: 17999949\nBug: 18008307\nBug: 18032127\nChange-Id: Ie493c9a1d45d7b788aef65d863f710da6326fcc1\n"
    },
    {
      "commit": "3b9eb1f8629c6264d924ab7043f80d824cdd39e2",
      "tree": "3955ac0da5928472d004b8071fd6aaf1cd1c3349",
      "parents": [
        "9d2189ffcf1142b2948ce3065c32521ed7d966c4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 15 17:05:08 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 16 15:46:13 2014 -0700"
      },
      "message": "move audio sink open/close to NuPlayerRenderer\n\nBug: 17675112\nChange-Id: I7eb3d02380658f848baedafe2aea287586ccf016\n"
    },
    {
      "commit": "1375ac6d029b74ac392db411907b3c0ea57f08a7",
      "tree": "181c2e401c8a614e51e635a7d8f095033eb3d565",
      "parents": [
        "2edda09a2ad1d112c52acd37d323f63f0a492d67",
        "a73d9e0b3d171d2bfcd9eb07df9d6d36ae74df57"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Oct 14 08:00:15 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 14 08:00:16 2014 +0000"
      },
      "message": "Merge \"NuPlayer: query current position from NuPlayerRenderer.\" into lmp-dev"
    },
    {
      "commit": "a73d9e0b3d171d2bfcd9eb07df9d6d36ae74df57",
      "tree": "0e385a27935b7912d276f972b7ed288e329fa2d8",
      "parents": [
        "a4c3d8f0f9aab53b106d95e6139e0465908909f4"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Oct 08 15:13:29 2014 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Oct 13 16:24:49 2014 -0700"
      },
      "message": "NuPlayer: query current position from NuPlayerRenderer.\n\nBug: 17653702\nChange-Id: Ie0b1f92420b071a0cfcd389f5e7917a54d332541\n"
    },
    {
      "commit": "e760de61d9a662b1fbfda96ac34aaa246c2711bb",
      "tree": "f4915925df2fa0a4c5a9a8c83d4ae22712288431",
      "parents": [
        "801a3ff80c36aa9b55dc9b360d0e59f863011a39",
        "dab70a065a8e972d272ed948e77cf2cd0f1525e1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 13 20:27:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 13 20:27:43 2014 +0000"
      },
      "message": "Merge \"NuPlayerDriver: request seek notification when prepare*() is called in STOPPED state.\" into lmp-dev"
    },
    {
      "commit": "dab70a065a8e972d272ed948e77cf2cd0f1525e1",
      "tree": "ca076eda059dde8f4a0faf906c7b3c2d76e4dd36",
      "parents": [
        "c4da004d4baef8cc4a631058549216c8d2383824"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sat Oct 11 15:33:00 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 13 19:59:05 2014 +0000"
      },
      "message": "NuPlayerDriver: request seek notification when prepare*() is called in STOPPED state.\n\nBug: 17596535\nChange-Id: Ib43f91f9b0d0a52112aa1fa8352adac15aaf80f8"
    },
    {
      "commit": "185a295d4518878d5e2bca7b7c3e51df44492df1",
      "tree": "04769da6b39dae04105048d398c5a4f9915ea835",
      "parents": [
        "af238382e33a027494a53556e6104b7245e7213f",
        "49966fff32b27f8821ebe280f25688b3c4f5f73f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Oct 10 00:30:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 10 00:30:59 2014 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: adjust anchor time correctly for video only case.\" into lmp-dev"
    },
    {
      "commit": "49966fff32b27f8821ebe280f25688b3c4f5f73f",
      "tree": "7266302dc6bb2851a53e91f47c6fcf8548ae1e1a",
      "parents": [
        "c4da004d4baef8cc4a631058549216c8d2383824"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 08 18:44:45 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 09 11:16:31 2014 -0700"
      },
      "message": "NuPlayerRenderer: adjust anchor time correctly for video only case.\n\nBug: 17922171\nChange-Id: I4c7e9e7f5ab96d3675d012ae30f78ef945394103\n"
    },
    {
      "commit": "8d121d41f5355b78b687f44e8d4aae4de2aa0359",
      "tree": "dfe376497a0dd934d8c7efeacc89d7ca19db4f38",
      "parents": [
        "c4da004d4baef8cc4a631058549216c8d2383824"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Oct 03 09:53:53 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Oct 06 11:04:18 2014 -0700"
      },
      "message": "NuPlayer: wait for renderer flush before decoder shutdown\n\nBug: 17679341\nChange-Id: Ie3883686891e7ee6fb45ceb01af1eb60b559d3a0\n"
    },
    {
      "commit": "d7988b1a7b32e39e671f7d4e2b2d8027a1f99639",
      "tree": "50d4eebca56d694337ad5074a669fc2500fd2693",
      "parents": [
        "af1a4dc989d6707116eaefab300ad55124aace66"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Oct 03 15:19:10 2014 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Oct 03 16:48:27 2014 -0700"
      },
      "message": "NuPlayer: add audioDecoderStillNeeded.\n\nBug: 17752358\nChange-Id: Ia3b3ee4df65e5564afd0723943d2d747f3a604af\n"
    },
    {
      "commit": "af1a4dc989d6707116eaefab300ad55124aace66",
      "tree": "20527dc001bb768a14ee90bb1a906ae146bf9d53",
      "parents": [
        "2b217bb3aee87ce8486014f261c0f498f6209e80",
        "0852917279f79a94907e9906d0533ae409a30f6a"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Oct 03 21:51:37 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 03 21:51:37 2014 +0000"
      },
      "message": "Merge \"NuPlayer: don\u0027t restart AudioSink when torn down due to pause timeout.\" into lmp-dev"
    },
    {
      "commit": "0852917279f79a94907e9906d0533ae409a30f6a",
      "tree": "09dabacd20dd5b22cb3e1e8a8f1c5b15bd489b31",
      "parents": [
        "c06cf18e5933cfddddfe86df85b72e1d5f7fcdde"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Oct 02 16:55:52 2014 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Oct 03 14:31:24 2014 -0700"
      },
      "message": "NuPlayer: don\u0027t restart AudioSink when torn down due to pause timeout.\n\nBug: 17752358\nChange-Id: I232d105480139bfc0b991bcd8e001930e577cf30\n"
    },
    {
      "commit": "aaa527fbd790d30353d15608e54b5b94625b7b6d",
      "tree": "be42f2ebd1e511e641723a53601b6d3acfccec7e",
      "parents": [
        "fc93499e83403d5959693efa040cb29fd6825abb",
        "e47d44486f0a9f9b828b01d0fbaf84f5573f0aa2"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 03 01:31:21 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 03 01:31:22 2014 +0000"
      },
      "message": "Merge \"send available codec buffer count with codec notification\" into lmp-dev"
    },
    {
      "commit": "6eff943c133903fcd9bdb7bb1812d7b383b090f8",
      "tree": "8c94705d369f5a8ca48a6a80a04aad2f7e17b823",
      "parents": [
        "8b76b592be5bc162fb5a6d7e8c47812544b6b345",
        "2245fc625910e47d1ba3c339e205c21ab58a47ad"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 02 23:18:49 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 02 23:18:50 2014 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: postpone input message processing when it\u0027s not dequeued.\" into lmp-dev"
    },
    {
      "commit": "e47d44486f0a9f9b828b01d0fbaf84f5573f0aa2",
      "tree": "54b690557226ac4725e32f4ac2538aedda1da8b1",
      "parents": [
        "d8b03abf1d003e2940a19f0071ea2892689dd10e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 30 13:12:22 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 02 15:15:44 2014 -0700"
      },
      "message": "send available codec buffer count with codec notification\n\nBug: 14679336\nChange-Id: Id927c96a9a14dd6ecd72540f0037d5841aa32154\n"
    },
    {
      "commit": "2245fc625910e47d1ba3c339e205c21ab58a47ad",
      "tree": "c6461a7adc74275d549d250de6a0e0c9996b6a9c",
      "parents": [
        "dc2e6ddc933e40632e79a866d9ece870db1a975e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 02 15:12:25 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 02 15:12:25 2014 -0700"
      },
      "message": "NuPlayerDecoder: postpone input message processing when it\u0027s not dequeued.\n\nBug: 17622642\nChange-Id: I67608121bf70d6acb152e4aa64892b11bf167e8c\n"
    },
    {
      "commit": "d8b03abf1d003e2940a19f0071ea2892689dd10e",
      "tree": "0da3ff7e88649ef12a8121d483befd555c7ac3f3",
      "parents": [
        "f916667a017a5a6763afc4808344778570312d5a",
        "2abde2c118a94f843a7450818c925d3f0b673cd3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Oct 02 14:26:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 02 14:26:02 2014 +0000"
      },
      "message": "Merge \"NuPlayer: Fix flush mode decoder error handling\" into lmp-dev"
    },
    {
      "commit": "2abde2c118a94f843a7450818c925d3f0b673cd3",
      "tree": "452cecbb797776883b387704a299936b1dd55729",
      "parents": [
        "955e24d3a8e218d4711cabc6558781e095011132"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 30 14:40:32 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 01 20:23:34 2014 -0700"
      },
      "message": "NuPlayer: Fix flush mode decoder error handling\n\nExplicitly handle each flush mode upon decoder error.\nDo not clear out affected decoder immediately.\nAlter logcat messages for better diagnostics.\n\nBug: 17638878\nBug: 17679341\nChange-Id: I219796c04d65d7c4dd61c0d4f99f9f580241a68b\n"
    },
    {
      "commit": "3af67d03bbc30c368821caf8b74ae7fb91ee7db7",
      "tree": "6f71a15d1a29af4964d8b71d4d120ed97f0778c3",
      "parents": [
        "1f4b162e0bee6bcb0c9de464087db286270f5525",
        "360d6d0924f99b82ebacb5cfb6f7bca95e11b4ee"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Oct 01 19:41:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 01 19:41:34 2014 +0000"
      },
      "message": "Merge \"GenericSource: support disconnect before NuCachedSource2 is created\" into lmp-dev"
    },
    {
      "commit": "360d6d0924f99b82ebacb5cfb6f7bca95e11b4ee",
      "tree": "1373f20ae467045842a9d206729ace2700f52bd0",
      "parents": [
        "992626cfe4852f1a2b46ea226b19c2eaa5dcfb89"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Sep 29 14:42:35 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Oct 01 10:58:30 2014 -0700"
      },
      "message": "GenericSource: support disconnect before NuCachedSource2 is created\n\nBug: 17672488\nChange-Id: I96776c9679fdcfbe9a442c86447c59802b1465ac\n"
    },
    {
      "commit": "274084f7bfd3f6bdf5a55cf16ceefed345aa0060",
      "tree": "2d0cde754ce8e28e0557439195e17cc4ed8f0297",
      "parents": [
        "c8c05d6a5821dd56209e160066314a03d2f2ca06"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Sep 29 16:36:37 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Sep 29 16:38:39 2014 -0700"
      },
      "message": "mediaplayer: make frame-accurate avsync configurable\n\ndisable by default\n\nBug: 17686015\nChange-Id: I3961b1bc9c6d48afc8c5f7f5270528ea6341bc60\n"
    },
    {
      "commit": "36f389888e4b2905f0b457f451187fd8d3ed5153",
      "tree": "c310a4a1dca3c9cc8932fd54ab4fe98664576fd1",
      "parents": [
        "c0d17e349901c3ccf6d15b7dcdf7fa30139c9750"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Sep 25 15:27:04 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Sep 25 15:27:04 2014 -0700"
      },
      "message": "NuPlayer: use format obtained from source to tell if video exists.\n\nBug: 17374216\nChange-Id: I2d5f90d72b70684475d67ff8f41b803c2880840b\n"
    },
    {
      "commit": "c0d17e349901c3ccf6d15b7dcdf7fa30139c9750",
      "tree": "fde8275902f719e5c015b179a5c6c20dfec0668e",
      "parents": [
        "9a70c2c490afe35383c2226061af5a2f4e5b2109",
        "cf31f1eecf46d599428e115dfee8dd47b76c83fc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 25 03:50:45 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 25 03:50:46 2014 +0000"
      },
      "message": "Merge \"NuPlayer: Fix decoder error handling\" into lmp-dev"
    },
    {
      "commit": "9a70c2c490afe35383c2226061af5a2f4e5b2109",
      "tree": "8cce6248e2be255df2f44e900172a89fc993f736",
      "parents": [
        "a935c76f96b066941b34f81c42b3fe9d00db98c5",
        "a28785aa9ce323494a6971a38ce1d4d29bf710e4"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Sep 25 03:24:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 25 03:24:23 2014 +0000"
      },
      "message": "Merge \"Fix Widevine classic playback errors with NuPlayer\" into lmp-dev"
    },
    {
      "commit": "cf31f1eecf46d599428e115dfee8dd47b76c83fc",
      "tree": "c28c387f27388abc22a1658f40adf0395afb4262",
      "parents": [
        "80ec934ae7d4e3a78af87554fdb77a58f6386ba0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 23 14:59:01 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Sep 24 18:46:49 2014 -0700"
      },
      "message": "NuPlayer: Fix decoder error handling\n\nUpon error, release MediaCodec after flushing data.\nReport errors when they occur with ALOGE.\nFix onInputBufferFilled mInputBufferIsDequeued check.\n\nBug: 17423087\nBug: 17622642\nChange-Id: I316601a19d5ec95cf8e14f5bc0418a05ec423041\n"
    },
    {
      "commit": "4923cee4fb3b29538d8f46bceeea7d5128242a71",
      "tree": "31fb36a31d4e20ed63d74664b0db534d24ae6e06",
      "parents": [
        "80ec934ae7d4e3a78af87554fdb77a58f6386ba0"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Sep 24 14:25:19 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Sep 24 14:32:18 2014 -0700"
      },
      "message": "NuPlayerDecoder: release MediaBuffers when decoder is deleted.\n\nBug: 17454455\nChange-Id: Ic984c74826f87f5f3c27756a7e7d52295a529bed\n"
    },
    {
      "commit": "a28785aa9ce323494a6971a38ce1d4d29bf710e4",
      "tree": "7ef4abb29a6446f81b624d8708949334fd8faa31",
      "parents": [
        "0079b331227fc1555d7c5305f33917a570d44890"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Sep 23 22:24:26 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Sep 24 10:32:33 2014 -0700"
      },
      "message": "Fix Widevine classic playback errors with NuPlayer\n\nbug: 17589961\nChange-Id: If16c61b90cf92caa89eecd66aabef5813fd7619b\n"
    },
    {
      "commit": "fc55783d0886d5dbaa234f85a4313796d9ef1df4",
      "tree": "49fde06b4444b02eeda2b5a740babcb6a8b6f676",
      "parents": [
        "a4b0894425c0e2a2ebd54b002b6bafa5f1ce0445",
        "e427abf1ea252ff305fc33aacdd2e83cf34891b5"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Sep 24 01:39:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 24 01:39:53 2014 +0000"
      },
      "message": "Merge \"NuPlayer will notify SeekComplete only when requested so.\" into lmp-dev"
    },
    {
      "commit": "7e9f7f7a9fb6c5d93fc9163e32936f3ea284caad",
      "tree": "8edc441f5b1370c3e4825eb439c83d8cac802c3b",
      "parents": [
        "3cdd6b8c82f2c71054bdd767782fc78f501f8e62"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Sep 23 10:55:35 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Sep 23 13:53:58 2014 -0700"
      },
      "message": "NuPlayer: change assert to conditional check.\n\nBug: 17491050\nChange-Id: I657866c5342c227d57617eb89955897171eb5976\n"
    },
    {
      "commit": "3cdd6b8c82f2c71054bdd767782fc78f501f8e62",
      "tree": "0453cbc22210497092b25289a72d1a67856198de",
      "parents": [
        "ad5447f659043ce3e4b3719c6c18a254bee1dde2",
        "f5b1db11734358d979a23a1ac4903872186ef60b"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Sep 23 18:31:26 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 23 18:31:27 2014 +0000"
      },
      "message": "Merge \"NuPlayer: add pause timeout event for offload audio.\" into lmp-dev"
    },
    {
      "commit": "e427abf1ea252ff305fc33aacdd2e83cf34891b5",
      "tree": "4d873112e5203b4c84b308063d34c9b064bc15f9",
      "parents": [
        "0079b331227fc1555d7c5305f33917a570d44890"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Sep 22 15:21:11 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Sep 23 10:05:49 2014 -0700"
      },
      "message": "NuPlayer will notify SeekComplete only when requested so.\n\nBug: 17596535\nChange-Id: I6b744fdcf80f11d521d26c7c8b45f7de70aa0dc3\n"
    },
    {
      "commit": "f5b1db11734358d979a23a1ac4903872186ef60b",
      "tree": "f9ac3f6e20dd86446f591c5c9e196b0f6efeaf97",
      "parents": [
        "4409ba46fab830d81860edba056c3dc6e1c7c003"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Sep 09 10:11:08 2014 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Sep 22 10:58:01 2014 -0700"
      },
      "message": "NuPlayer: add pause timeout event for offload audio.\n\nBug: 17375249\nChange-Id: Ie59c6b372e9ad2aace3d1e27b9896d79de35d722\n"
    }
  ],
  "next": "57568df014f8629ebc5ca8bce9da796dd187401b"
}
