)]}'
{
  "log": [
    {
      "commit": "f9656ff1f117830f2f3d3e24be354fa3a4db3ada",
      "tree": "b8958bc6b2700ebc86cb2afdd992a177c2c1ae23",
      "parents": [
        "7e5e530d39e3de6f904c8587b1c60bed631178c1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 07:51:15 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 11:18:27 2019 -0800"
      },
      "message": "Remove DrmInitialization from IDataSource\n\nDrmInitialization only needs to be called on PlayerServiceFileSource\nand PlayerServiceMediaHTTP, so just have those initialize the forward\nlock engine automatically, which removes the need to have this in the\nIDataSource interface.\n\nTest: atest cts/tests/tests/drm/src/android/drm/cts/DRMTest.java\n\nChange-Id: I344f46b65b5c473930b16b9b4041e4897384dc18\n"
    },
    {
      "commit": "42057ce1890b2be250b95f56734a47b93c8ad537",
      "tree": "7bfbe8147243430c306546b6a7e5caaa1e94d9cc",
      "parents": [
        "df0b56ba22cc201e535a2efc2245214355b6adf2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 23 12:15:57 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 08 09:30:45 2019 -0700"
      },
      "message": "Split datasource out of libstagefright\n\ninto libdatasource, which contains:\n  DataSourceFactory\n  (Clear)FileSource\n  (Clear)MediaHTTP\n  DataURISource\n  HTTPBase\n  NuCachedSource2\n\nThis is needed to break a circular dependency in an upcoming CL.\n\nTest: build, boot\n\nChange-Id: I34d9937235c78f18f51b18945342a0743e209577\n"
    },
    {
      "commit": "28e8a2d57ed9571ab101ead32f4e9d04fc987be6",
      "tree": "3c4b8a9c5bdb2ee2c86694fae82eb9389ebb7b89",
      "parents": [
        "83af7a3c9eb82028ff26561e58615cd34ca4ec8c",
        "4d76644e732be0bd92a3faa7e79586aa8bed8ad9"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 11 11:27:45 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 11 11:27:45 2019 -0800"
      },
      "message": "Merge \"Fix cert-dcl16-c clang-tidy warnings in libstagefright.\" am: 55e72131c2 am: a1aed6c9f8\nam: 4d76644e73\n\nChange-Id: I676a45acffc5d7d596776104fea701c340fbfc44\n"
    },
    {
      "commit": "3794b24a20f5b30a52066d6db24ecaf7ddfb149e",
      "tree": "f8f62018b7a7e501c077b9d4c84319f6eea1f1bf",
      "parents": [
        "04cc6db79b3a89542eb1bbb3a705606e376cd58c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 13:55:06 2018 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 10 20:00:40 2019 +0000"
      },
      "message": "Fix cert-dcl16-c clang-tidy warnings in libstagefright.\n\nBug: 120614316\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,cert-dcl16-c\nChange-Id: I3b7b9895da4960c4b7549a49869dd257fe7ab4cc\n"
    },
    {
      "commit": "3f6576443eba3169ab248525610fb7b341fbbcb0",
      "tree": "fe043e6799b59954f05e70886e39eeb171086bb2",
      "parents": [
        "dd3556092f0a20a0d4dd4646863f00c679c955a8"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Sep 27 12:22:23 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Oct 03 10:54:21 2018 -0700"
      },
      "message": "Update DataSourceBase::getAvailableSize signature\n\nFor more consistency:\n+ Add offset parameter to correspond with readAt\n+ return status_t like getSize.\n\nBug: 109928575\nTest: android.media.cts#StreamingMediaPlayer2Test\nChange-Id: I3f330283ca3b53cba158615650152701113f58df\n"
    },
    {
      "commit": "03244035489de61c4eb09506cb41a1a46a834a49",
      "tree": "6a4a3309af6e97e50181889b67b01991bf9f1ebd",
      "parents": [
        "87653da51febf0b3be01c742c5d2b6728b496ffa"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Oct 02 14:36:32 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Oct 02 16:15:24 2018 -0700"
      },
      "message": "Network DataSources: implement disconnect in close\n\nBug: 109928575\nTest: android.media.cts.NativeDecoderTest#testAMediaDataSourceClose\nChange-Id: I083b85c31e42f7ddd4b2da365557e3d9251f8777\n"
    },
    {
      "commit": "92541a351d8c5ca6aa0c1b3b0d40023ff2385645",
      "tree": "9157ede04bbea53d2c6b64558034be82d6d01714",
      "parents": [
        "2a8dbc7611d3861d696c167ebdced50158bbebe1"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Dec 15 15:26:14 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Dec 15 17:37:54 2017 -0800"
      },
      "message": "Remove unused code DataSource::getDrmInfo\n\nThe method in question was added in I4b9ef19 with DRMExtractor.\nThe only use case of getDrmInfo(), in DRMExtractor, has been removed\nwith I4dd3f07ca.\n\nTest: build. post commit media cts test.\nBug: 65851881\nChange-Id: Ieb4d9d36c74efcfbfe690bcd09e1cd7e08ee3f1a\n"
    },
    {
      "commit": "47734c9509ecb472c2844cae46e2d916b9358321",
      "tree": "6b17e7f1540458e2f1abbe1c082353f920edc3df",
      "parents": [
        "20be7bf5ba6f3d4db36686d5af4316006cf9bb27",
        "98a9b2a491360c762e2ed46a9126f576693645a5"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "message": "resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp\n\nChange-Id: Iae0a5cb698807d74ba28878d7ce1f69b6ba5219a\n"
    },
    {
      "commit": "090ef604f81447eab4aa0a5b45d6307482573560",
      "tree": "6eb6530aab79b1cdc543ef16650be519db449e37",
      "parents": [
        "cdf7931424583ff20a754999216041fb46287cb3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:39:54 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:55:42 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings.\n\nBug: 28341362\nChange-Id: I625fbab25f16282c2ea929cd16283d9d146fa17b\n"
    },
    {
      "commit": "69d3d8a9540b0da787ea0beccad2517f057dd54d",
      "tree": "d8a91e3ee2298b35c3aad167a4f5073225aeba3a",
      "parents": [
        "953c59c51da938fdcaf3801de89edb736c249c6f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 07 13:20:01 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Apr 06 13:24:12 2016 -0700"
      },
      "message": "Expand mediaextractor dumpsys\n\nBug: 22775369\nChange-Id: I3366a52ba7a00d1685a2211465f2f18f143d0efc\n"
    },
    {
      "commit": "316c3d929ffb004b0150d515e82aede02208ce97",
      "tree": "cc281ba1a211e352d0e40e980c4d911d5a22f805",
      "parents": [
        "35e03636d6fa0c7c33c67e10686657849a61aff8"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Sep 08 17:32:28 2015 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Sep 09 13:58:29 2015 +0900"
      },
      "message": "NuCachedSource2: fix possible erroneous early free\n\nBecause the constructor of NuCachedSource2 sent a message to\nAHandlerReflector object, AHandlerReflector::onMessageReceived could\nhave executed just before the object gets wrapped in a strong\npointer, resulting in erroneous early free. Fix the issue by using\nstatic Create function to ensure the message is sent after the\nobject is wrapped in a sp.\n\nBug: 23882800\nChange-Id: I38a9d7a3083f184b4c81d0b00ba1661721278855\n"
    },
    {
      "commit": "2c878cfdf36b896abb99e62a37188cc92cd4fe6e",
      "tree": "02879a5bba582a747c55291d32e0cba13bc84863",
      "parents": [
        "8eddd88568fe4da0ca0ceab5072bc488827f01b5"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue May 19 10:56:40 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue May 19 10:58:56 2015 -0700"
      },
      "message": "stagefright: don\u0027t use stale pointer after disconnecting NuCachedSource2\n\nbug: 20858729\nChange-Id: I7d680accb43a4aa08620acd96659b97e80d1a5e8\n"
    },
    {
      "commit": "ee4e1b1a63758941460ae79a064249d3a5189443",
      "tree": "d27f03a73170da9cce96b6eae5b2ecd874eace22",
      "parents": [
        "2170233c49e50f3986cdc4f726016d6003cb5b8e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 17 13:46:19 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 17 13:46:43 2015 -0700"
      },
      "message": "stagefright: warnings be gone, some are now errors, use clang\n\nChange-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c\n"
    },
    {
      "commit": "1d15ab58bf8239069ef343de6cb21aabf3ef7d78",
      "tree": "d4b3266c9baf5e6dee214fc6562391101e198be7",
      "parents": [
        "5804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 04 16:46:34 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 17:49:50 2015 -0800"
      },
      "message": "media: switch to new AMessage handling\n\nBug: 19607784\nChange-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa\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": "4f17dadd3cfd9940893ea042ca8883c6aa6ada07",
      "tree": "87a3e29a1cc626d30ee974c088f1effa79037fca",
      "parents": [
        "a8a4eeb95988e6bb73f7a742c8dd238c1f96c5c4"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Sep 30 14:17:38 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Sep 30 17:25:27 2014 -0700"
      },
      "message": "NuCachedSource2: fix disconnect process\n\n - clear mAsyncResult\n - return early from reads if mDisconnecting is set\n\nBug: 17696761\nChange-Id: I98bfc3f5f06594915bd58faf71fbcded482664d2\n"
    },
    {
      "commit": "9f3d1cffe3bbec35c1fb7fc7e206428728ac234e",
      "tree": "76b6ef229b1f9af5608dd273b09769288a902573",
      "parents": [
        "fc55783d0886d5dbaa234f85a4313796d9ef1df4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 23 22:22:30 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 24 05:44:37 2014 +0000"
      },
      "message": "NuCachedSource2: more fixes for source read hang\n\n- Do not try to read from HTTP source if already disconnecting\n\n- Let NuCachedSource2::readAt() return immediately when disconnecting\n\nBug: 17613805\n\nChange-Id: Ibca4d3a4288ae9a9e2f5658a4240ace54efeb220\n"
    },
    {
      "commit": "48296b792a8d68358de74141fa80bd5bd84d0307",
      "tree": "56b46f8d4de2e87f8028a09fa2b8203625c01474",
      "parents": [
        "83a23e1e1e45d9e2f5497e214796250f74aad1d4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sun Sep 14 14:28:45 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 16 13:26:18 2014 -0700"
      },
      "message": "Disconnect HTTP-based data source upon reset\n\nBug: 17425250\n\nChange-Id: Ieb4c93fd9848489f9dbf35a36474376924fd8eb9\n"
    },
    {
      "commit": "a5750e0dad9e90f2195ce36f2c4457fa04b2b83e",
      "tree": "cba2a1ae57e4a61fba2fe3a39d6411aa731950ac",
      "parents": [
        "ff17990df24913df9267c9c8b938178716298114"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 18 16:34:45 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jun 26 14:56:27 2014 +0000"
      },
      "message": "libstagefright: 64-bit compile warnings\n\nChange-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b\n"
    },
    {
      "commit": "1b24cf32e02a1372e57b3a2a432bc0adfe496e6d",
      "tree": "220f4583ae1081df62fa5c861eed3e9e90a24515",
      "parents": [
        "4845b69f70ff457be8d8908f6eb61e2af67e00d3",
        "e80631aa1992ca50af679cd6a018c0ffda7f9b17"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "message": "am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027e80631aa1992ca50af679cd6a018c0ffda7f9b17\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\n"
    },
    {
      "commit": "db43b34c3428e480f8c4c66e7e88f4001f37f91e",
      "tree": "be194bf06c84b61f277a1c29c7499aa7862494a4",
      "parents": [
        "1df2557ac95a6d8a087fb15f6f842dc049f2759b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 04 14:47:28 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 13:18:22 2014 -0700"
      },
      "message": "media: 64 bit compile issues\n\n- change internal sized types to use stdint.h\n- printf \u0026 scanf formats\n- size_t or unsigned int for iterators\n\nChange-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446\n"
    },
    {
      "commit": "d411b4ca2945cd8974a3a78199fce94646950128",
      "tree": "e1c9e21525348fe826b91ecee7075ccb743f843d",
      "parents": [
        "51b3ea2b8f7298bffbd246c65a606cd053357b66"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 11 07:54:53 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 11 17:12:03 2014 +0000"
      },
      "message": "warnings be gone.\n\n(cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36)\n\nModified by Mark Salyzyn \u003csalyzyn@google.com\u003e to keep merge conflicts\nor errors downstream to a minimum.\n\nChange-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613"
    },
    {
      "commit": "84333e0475bc911adc16417f4ca327c975cf6c36",
      "tree": "4973c505d7c73d883c2cd796bc66ba96312c4a7a",
      "parents": [
        "1d6fa7af1288b550faabe4ec2cf98684236723db"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 07 15:36:10 2014 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 11 11:41:07 2014 -0800"
      },
      "message": "warnings be gone.\n\nChange-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef\n"
    },
    {
      "commit": "1b86fe063badb5f28c467ade39be0f4008688947",
      "tree": "d88660112d407540184ad8e1292ed8aa98fae317",
      "parents": [
        "5ce88270eb2d41462de8c4155673b802b2ca48cb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 29 11:13:26 2014 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 04 15:11:53 2014 -0800"
      },
      "message": "FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code\n\nChange-Id: I9f74a86e70422187c9cf0ca1318a29019700192d\n"
    },
    {
      "commit": "a7607a7f97b3136d5e61c0bca63760bf9fc05b19",
      "tree": "9a939366f6acaba47fe73e6bb9d25bed37c8b022",
      "parents": [
        "690921927f289da73556ea71c28981194af8ffcd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 28 09:48:40 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 28 10:46:38 2012 -0700"
      },
      "message": "Fix retries when server doesn\u0027t support range requests.\n\nChange-Id: I2d137f3e799b87af36a279473c0077d860c14477\nrelated-to-bug: 7021436\n"
    },
    {
      "commit": "a53d87c7b1428fe02f535c31dafd64cb1362fde9",
      "tree": "91d1c0a816d28e2b4103522753119ae0b7b5a3e5",
      "parents": [
        "8d6086781c79620ce6133df7bd27f0efdee6b4e6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 19 16:25:20 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 19 16:53:42 2012 -0700"
      },
      "message": "Add the ability to query the amount of cached data to NuMediaExtractor.\n\nChange-Id: I0966270a2bd36698330beaa03f47d02fc6a40c44\nrelated-to-bug: 6364341\n"
    },
    {
      "commit": "40a4e1440869b2e3981f261b0d301cd16c0cf0aa",
      "tree": "ba4dc1613a6ca3b4b8fc762fd3e9c7a20b79429f",
      "parents": [
        "63ad6aacc6ce6b729bf25f41376cfea731a2c1eb"
      ],
      "author": {
        "name": "Bryan Mawhinney",
        "email": "bryanmawhinney@google.com",
        "time": "Wed Jan 18 13:40:07 2012 +0000"
      },
      "committer": {
        "name": "Bryan Mawhinney",
        "email": "bryanmawhinney@google.com",
        "time": "Wed Jan 18 13:43:16 2012 +0000"
      },
      "message": "Make sure seek triggers a reconnect if needed.\n\nPreviously, if we had disconnected at the high watermark,\nthe read immediately following a seek would fail, and would\nnot be retried, resulting in an error.\n\nChange-Id: I45a53563fe17d6b54893815abc7750a7dfb0a124\n"
    },
    {
      "commit": "9d2f386dd2885eaffa11fd494ae258bb09fe6397",
      "tree": "382639f8cc7f1a3677589d7dfca37b667ea4261c",
      "parents": [
        "83bc7f3cf78b28a818417f40a4f0c00593993366"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 10 08:24:37 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 12 16:25:12 2012 -0800"
      },
      "message": "Separate sniffing from session initialization\n\nThis avoid lengthy/duplicate sniffing for drm plugins when a decrypt session is opened\n\no The change is backward compatibile in that no update is required\n  for existing drm plug-ins if they do not plan to provide separate\n  sniffer/extractor\n\nrelated-to-bug: 5725548\n\nChange-Id: I7fc4caf82d77472da4e2bc7b5d31060fb54fd84c\n"
    },
    {
      "commit": "29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47",
      "tree": "3bdafe4b02fe36f6ee29c3170f0b0d2799bebf86",
      "parents": [
        "d709ca9c6a0fa1c8f40cbe624a119398643c5087"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "df64d15042bbd5e0e4933ac49bf3c177dd94752c",
      "tree": "ff04eb3e1a1ce8c8d8559b93a438f278d984aa87",
      "parents": [
        "b8a805261bf0282e992d3608035e47d05a898710"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "message": "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156801\n\nBug: 5449033\nChange-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea\n"
    },
    {
      "commit": "3856b090cd04ba5dd4a59a12430ed724d5995909",
      "tree": "a24e4c98fa6049fd8085826be838000f9a67e39b",
      "parents": [
        "1d2acaffde56ad79e6e96f228d7857863462397c"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "95c4d6034dc356f70c6293ea53d4858415b2d020",
      "tree": "c56b9ee32d2cdcd06c1fcc9803c0eb6ebee5a2a6",
      "parents": [
        "49c59815369616b0fd5451ccabd377e8fe1dc3fa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 17 15:49:01 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 17 15:49:01 2011 -0700"
      },
      "message": "Don\u0027t hold onto the lock while reconnecting to the server\n\nto avoid stalling the readers.\n\nChange-Id: I73b646587c8a654a73ff7d800c0f17bd78001855\n"
    },
    {
      "commit": "49c59815369616b0fd5451ccabd377e8fe1dc3fa",
      "tree": "90e8850990af78df26d7c0a1b7097747aa57fda2",
      "parents": [
        "e87a2f05f39203dff8914b7612b1b2a709aeb75f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 07 13:40:45 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 10 12:41:21 2011 -0700"
      },
      "message": "YouTube can now request custom cache/prefetch parameters and disconnect-at-highwater\n\nthrough the use of pseudo http headers specified in the setDataSource call.\n\nx-cache-config: -1/-1/0\nx-disconnect-at-highwatermark: 1\n\nturns off keep-alives and disconnects every time the cache is full (will attempt\nto reconnect once it run below lowwater mark)\n\nrelated-to-bug: 5433309\n\nChange-Id: Id2f942fc956e0e156834cfcd6bb08dae6a29fae1\n"
    },
    {
      "commit": "0b8cd8b0cf1489f8f7c0b2c4d7ea8fea70ca93a1",
      "tree": "6be7998d339d1b8182954927aed176d6dca5327c",
      "parents": [
        "003124e20eb0744aab36ad1bde05e15ac122ad75"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 07 10:00:38 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 07 10:00:38 2011 -0700"
      },
      "message": "Specifying -1 for both low and highwater marks would not actually do the right thing\n\nbefore this change. Also make it more consistent in that specifying -1 for the\nkeepalive settings specifies the default.\n\nChange-Id: I086f530fbf42abce66d1c8e61157215cb474e044\n"
    },
    {
      "commit": "a045cb0e77097120e86e367e1cab5494ce2a5d5e",
      "tree": "aa59a2e83f38bf06507b0c81af311f2f096287ec",
      "parents": [
        "d20bf0676d6db8f12edcd2307f82409c076c7015"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 05 14:32:17 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 06 15:27:24 2011 -0700"
      },
      "message": "Allow a system property \"media.stagefright.cache-params\" to override cache/prefetcher\n\ndefault parameters. To override specify a property\n\nadb shell setprop media.stagefright.cache-params \"4096/20480/15\" to\nset the low water threshold to 4096 KB, the high water threshold to 20 MB\nand the keepalive interval to 15 secs.\n\nif high and/or lowwater mark are negative, the default values are used for\nthe respective value.\n\nif keep-alive interval is 0, keep-alives are disabled.\n\nChange-Id: I89a4a06836e4a2f473d7a92b567ab07818c2f87d\n"
    },
    {
      "commit": "0683eba6b35c396c21f10e926709f2f8fc05f090",
      "tree": "2cb1f37218e73941c6f7bb575bb972696e362ef4",
      "parents": [
        "59d49c0b3b56b24c5b6d98cdfdcd75c537322f2e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jul 18 13:47:55 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 22 08:17:41 2011 -0700"
      },
      "message": "Retry datasource fetches a few times before giving up (NuCachedSource2).\n\nChange-Id: I147fc18ef55bc89d2e2fee69b7869c45abbfdd6b\nrelated-to-bug: 3405354\n"
    },
    {
      "commit": "b33d2ac90cfce0fe6db8c3e979e7ae2bbfc28163",
      "tree": "9c0ce3c250ee66779410c79580b37b036486e56d",
      "parents": [
        "d217a8c4632b3e3065f8c2a26b9ce4dc4c97171f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 01 15:27:20 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 02 10:13:52 2011 -0700"
      },
      "message": "Do not call getEstimatedBandwidth if the streaming is not HTTP-based\n\nChange-Id: I4ab6c57e5b2b989676b8dfbb98402d10a5752261\n"
    },
    {
      "commit": "5b1b8a93a07326f1cbc627f09e02988375189e0a",
      "tree": "1da7ba8c401fb96b4de5fab790fba8e51eea78f6",
      "parents": [
        "65580f9adf6c4d98449ad0716488f9fe3869aa5a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 25 19:37:03 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 31 15:23:25 2011 -0700"
      },
      "message": "Send estimated bandwidth value as informational event when cache fetcher pauses\n\no Application can make informed decision about the available network bandwidth\n  when cache fetcher pauses.\n\no Application can also adjust how frequently the bandwidth is estimated within\n  a range from one second to one minute.\n\nChange-Id: I90068001343e79da1886de03c565537787e1580b\n"
    },
    {
      "commit": "67802977b6f0aa8d6f14f85dadcf32a3cadb9c07",
      "tree": "ffa2df57c4ddd67c64244c78e214de97304e48a4",
      "parents": [
        "89dc0dffdcbf0999a854a9b1bbea8f56395cc209"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed May 04 11:43:43 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed May 04 11:43:43 2011 -0700"
      },
      "message": "Fix potential memory corruption in NuCachedSource2.\n\nChange-Id: Ia6bd2d4966287228a3ac1b067ee1f1ccad965dbb\nrelated-to-bug: 4354845\n"
    },
    {
      "commit": "7bf8413f91fc072452f315a91618aeef2574d420",
      "tree": "bfca52f8d270e6e37c90af65b8eddce1f888c4e5",
      "parents": [
        "b158c54511bfb32999525bca9e19f1b438c0bef5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 19 10:04:08 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 19 10:10:06 2011 -0700"
      },
      "message": "Make sure a read restarts the prefetcher if necessary.\n\nChange-Id: I87cac0e61e4dce7987ddf29c32f51e1672d1bbed\nrelated-to-bug: 4286618\n"
    },
    {
      "commit": "6511c9755c3a3360ba869772600c7aae048a7ffc",
      "tree": "2107391c77f03d89461e296703c856a32f9196c0",
      "parents": [
        "ff6bf33354f28a2bce073645bd102414c81d7580"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 30 11:15:27 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 30 11:15:27 2011 -0700"
      },
      "message": "Stagefright DataSources now expose the underlying content mime type.\n\nUse that mime type to determine if we should do upfront buffering at the start of\nplayback and don\u0027t for audio streams to ensure playback starts fairly instantly.\n\nChange-Id: If21e36d1b024f0e5c723911bceadaa2e0307ab42\nrelated-to-bug: 4090916\n"
    },
    {
      "commit": "9d00f0375f8b1af9fe06637e4fa575c7c062df39",
      "tree": "1b3a3fc4534c5e6a8dd394b6f791aeab8ae6cf52",
      "parents": [
        "0a73d81f213fb2d6f2fdd59c4dda047bf453bb1c",
        "b6a7147ce79b4fd44313f23d76e25c8d1919d490"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 22 11:42:08 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 22 11:42:08 2011 -0700"
      },
      "message": "am 6834f061: am 970d7dd9: am e2c32e9f: If nothing is to be copied, return right away.\n\n* commit \u00276834f0617aea626dfc0f306c9fa3610f32cee1f7\u0027:\n  If nothing is to be copied, return right away.\n"
    },
    {
      "commit": "310962976d575c0a97ec7a768e9cca0b2361daea",
      "tree": "59bff634240c22e21f4dd35f8b01780e9a42e25e",
      "parents": [
        "39068e0fa09e1e342d8cb2280edc5d1941e93bd5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 14:16:03 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 14:16:03 2011 -0700"
      },
      "message": "If nothing is to be copied, return right away.\n\nThis avoids a potential out-of-bounds problem in the code below.\n\nChange-Id: I942d55da0a5288b37512cb74407f900a2d824c0c\nrelated-to-bug: 4139974\n"
    },
    {
      "commit": "b5ce361d19e69fe156f7188c9ee0f4734b259874",
      "tree": "1536e63d3394cbbd5c2e8bc5cde6affb2b173850",
      "parents": [
        "609ce04d29780c430ff7e17511fc073a664c02d5"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Feb 24 16:40:57 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 10 16:20:48 2011 -0800"
      },
      "message": "Fix for bug 3477330\nThis patch fixs a crash bug caused by using a NULL DecryptHandle pointer.\nFix by using sp\u003cDecryptHandle\u003e instead.\n\nChange-Id: Icbd59858385e8256125a615a3c82656b25319d44\n"
    },
    {
      "commit": "889b340ec736a9d3e3e690256d305cc8740f0c4b",
      "tree": "fab2bdfdc9621b051923b744065f8f0331b770c1",
      "parents": [
        "802da7bc462f6f9df6e681cc75c51dc0a056a4a1"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Feb 07 11:41:11 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Feb 07 15:10:33 2011 -0800"
      },
      "message": "- Do not use global DrmManagerClient\n- Release the DrmManagerClient and DecryptHandle in DataSource\nFix for bug 3429811\n\nChange-Id: I549f72b75225751877eb0e630ce8098f8ec6316f\n"
    },
    {
      "commit": "ac05c317cd818701535c5d72ce90da98c4bae75b",
      "tree": "7bc60e7bca5d17cad542d96782ad828a0df0c258",
      "parents": [
        "88b7ad413c4b6d08697069b18488641d6ce31fd3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 15:07:19 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 15:07:19 2011 -0800"
      },
      "message": "Prefill the cache before trying to instantiate the media extractor.\n\nThe latter is an operation that otherwise could block on the datasource\nfor a significant amount of time. During that time we\u0027d be unable to\nabort the preparation phase without this prefill.\n\nChange-Id: Ia42496d88a11314386ea8797d665bf4e94871e30\nrelated-to-bug: 3362836\n"
    },
    {
      "commit": "1bd233ce7e1aa7730bc18d46ffd57791391738cd",
      "tree": "f260f0d8821d1f36fbfcf9f678fb80f62ec099b9",
      "parents": [
        "ccb3506ed1845121b94f4e27244e61a46eb19815"
      ],
      "author": {
        "name": "Bryan Mawhinney",
        "email": "bryanmawhinney@google.com",
        "time": "Tue Jan 18 19:12:21 2011 +0000"
      },
      "committer": {
        "name": "Bryan Mawhinney",
        "email": "bryanmawhinney@google.com",
        "time": "Tue Jan 18 19:12:21 2011 +0000"
      },
      "message": "Don\u0027t report 100% buffered when the stream ends prematurely.\n\nChange-Id: Ia4e80d02f28104427a3309e3d5b155faa5702757\n"
    },
    {
      "commit": "6ee94582e3ce7bdd9625345e7564e3176a51a2f3",
      "tree": "bf2c802a855fcddb53ff057e0889e11a363ee846",
      "parents": [
        "42dd1d5f186252a7f09f8fb1a46ea82e3877b2d3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jan 14 15:15:12 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jan 14 15:15:12 2011 -0800"
      },
      "message": "Fixed thrashing in the cached buffer during 720p YT video streaming\n\nbug - 3340194\n\nChange-Id: Ic59bb18ab1731d7dd7cae7cc8aeb393900bce7f6\n"
    },
    {
      "commit": "145e68fc778275963189b02a1adcbe27cce4d769",
      "tree": "91addc4557024a25d8ba64efc79b821be5ca1877",
      "parents": [
        "0ecfbd1cf37dbfb44d19c27351f5769309ac028d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 11 15:05:28 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 11 15:05:28 2011 -0800"
      },
      "message": "Increase cache size and low-watermark threshold, also\n\nMediaPlayer now sends out MEDIA_INFO,MEDIA_INFO_VIDEO_TRACK_LAGGING messages\nto the JAVA client informing it how much (if at all) the video lags behind\naudio (arg2 is the media delay in ms).\n\nChange-Id: I6933f573d8597a35112e4b5ee0fcb826a7f6ddd1\nrelated-to-bug: 3335220\n"
    },
    {
      "commit": "a44153c1a57202fb538659eb50706e60454d6273",
      "tree": "4ba43d350d44fb4bd052ce3c562c4a2ad6658270",
      "parents": [
        "16afe2fb439cab6125bb46a07a8078d4ce1c1ea5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 03 16:12:25 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 06 08:28:36 2010 -0800"
      },
      "message": "Squashed commit of the following:\n\ncommit 9254c845d7c82976fd4b8be406ce4b17eeb0e119\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 3 15:26:12 2010 -0800\n\n    Remove obsolete code from the cached data source.\n\n    Change-Id: I794b986ac8977cbc834dff189221a636ba564e36\n\ncommit 2ee33711064c58c53ba65ed9e63dd4b01ec2380e\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 3 15:23:13 2010 -0800\n\n    LiveSource is dead, long live LiveSession.\n\n    Change-Id: Ibcd0731ecf9c94f0b3e5db3d53d012d9da2a1c66\n\ncommit 9eabb2c3cd8571ab859bdeae0aa7f655c414d8fa\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 3 12:49:31 2010 -0800\n\n    Respect explicitly signalled discontinuities.\n\n    Change-Id: I3c0c16a2de7a99742d25db7d1b2ff0258de52271\n\ncommit 7f7f7b6b906b6ece6e4d43af7fd5f494e805c5e5\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 3 11:45:57 2010 -0800\n\n    Better protection against syncword emulation in AAC ADTS content.\n\n    Change-Id: I867e80a4556dd46d24ab3e781177c248a5221719\n\ncommit fe765766582efcc350aed01135ea603576adccf6\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 3 09:15:59 2010 -0800\n\n    New implementation of http live driving code.\n\n    Change-Id: I31ddf3d6a0d5929b121be704a2b9c3d6775f7737\n\nChange-Id: Id8d1829c8fcb173756965013f848c1d426ef1048\n"
    },
    {
      "commit": "7fe4ed1207fa587c65231f9a32374ae4b618d6c0",
      "tree": "d08e65e7a8d73045f1d4bf240fefa7c665dc6a3e",
      "parents": [
        "b9ff444a7eaf7ffd43970c0477110c6808bd4a7c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 19 10:08:23 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 19 10:08:23 2010 -0800"
      },
      "message": "Fix an artifact of going from off_t to off64_t\n\nChange-Id: I999fb60a290f9b2db5b73bf926392c8f4e1b7829\n"
    },
    {
      "commit": "c7fc37a3dab9bd1f96713649f351b5990e6316ff",
      "tree": "bd8cb4ea7521967152650311b485d2d0e6b3bcf2",
      "parents": [
        "17468ee8dbfe5eb0b9a4f72be80cbb92a5134800"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 16 14:04:54 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 18 14:12:24 2010 -0800"
      },
      "message": "64-bit file size/offset support for media framework\n\nChange-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10\n"
    },
    {
      "commit": "771b85d9245a24273497792a2515d88d31c99e1e",
      "tree": "ad3f2d0ccc747b0ed36950ab89bab9d27bf51089",
      "parents": [
        "8fff6bb0000e43f02c9d04ca90f941fdefdc1356"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Nov 09 15:06:51 2010 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Nov 18 09:55:35 2010 -0800"
      },
      "message": "Add getUri() for streaming\n\nChange-Id: I56e15e67cc5f4d0f41c9e2985404a4d89d757e7e\n"
    },
    {
      "commit": "34ef0f32c8fc0186236a27e07405328cc1f7c56d",
      "tree": "0625b59a0b78550160ae46f047a8e7443664132e",
      "parents": [
        "7ce05cf6009a2fbbceb3d2c0ff639473d0b7d6a9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 11 15:37:17 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 11 15:37:17 2010 -0800"
      },
      "message": "Make sure the prefetcher is actively fetching data if we pause playback due to cache underrun.\n\nChange-Id: Id5f4b7a0387137380dcd39995390a8e0d084b4b3\n\nConflicts:\n\n\tmedia/libstagefright/AwesomePlayer.cpp\n"
    },
    {
      "commit": "b371426ce4cf2fa6d8c3d1903b61322feb165d35",
      "tree": "ce2c36b33cf39e393b68d5feba1cb03d7ef0ed53",
      "parents": [
        "a935bc4696e4060c362b0f6913cc220331667a35"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 01 15:53:16 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Nov 05 10:33:58 2010 -0700"
      },
      "message": "Add support for WV DRM\n\nChange-Id: I0408c5e0a488f112a84337b21b0cd4613a4da461\n"
    },
    {
      "commit": "bff07d0b22a5ee2d9f044f6cb5e4be1532017ab0",
      "tree": "3377ef036c87095609a0969dbf0b5c93450b8903",
      "parents": [
        "2bc940b4f961e588459c83862b2c6bea314a4027"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 11:34:37 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 14:32:10 2010 -0700"
      },
      "message": "HTTP Live content that are tagged as complete are now seekable.\n\nChange-Id: I9d0d2f009f883e5baf3e9de8c5c0aa05760e4bde\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "6e4c5c499999c04c2477b987f9e64f3ff2bf1a06",
      "tree": "d19a0fc9db90d33a693f0e64cc79c31f38d414c4",
      "parents": [
        "425587d4566c1667448bf91fa452b4def8b6cedb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 21 13:13:15 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 21 15:12:19 2010 -0700"
      },
      "message": "Remove stagefright foundation\u0027s incompatible logging interface and update callsites.\n\nChange-Id: I45fba7d60530ea0f233ac3695a97306b6dc1795c\n"
    },
    {
      "commit": "a814c1fdc2acf0ed2ee3b175110f6039be7c4873",
      "tree": "bdeb2c9b722b0307041d4906961f235a3cfabcbe",
      "parents": [
        "f8860bf3592debe89916aa49b7994a7deeee0df1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 15:21:07 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 15:21:07 2010 -0700"
      },
      "message": "ALoopers can now be named (useful to distinguish threads).\n\nChange-Id: Ieabaddb2e3a9e3a7a5bc36e55cd0721b60dbd50e\n"
    },
    {
      "commit": "a5273ebd1746368662a597643d6701a5046d5c7b",
      "tree": "02a0ae5c66fd970081552a4f91511344d51d4a60",
      "parents": [
        "c7fa90a661dd9f6107af6a1d9e6dcaa1cb9a34e3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 22 08:57:34 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 22 09:54:58 2010 -0700"
      },
      "message": "Make the prefetcher read packets from the network after a keep-alive timeout expires regardless of whether its currently actively fetching data or not.\n\nChange-Id: I7d022ac494e1cecdd7f656806b7ed45979c02840\n"
    },
    {
      "commit": "d17875a226491e3de60fa32d764a4cc92de7f949",
      "tree": "7f736ca99f509a532a9978e8a12a667c6ac5b70a",
      "parents": [
        "b55cf746536962d262c3b627e32a37464927b67b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 11 14:14:52 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 11 14:16:12 2010 -0700"
      },
      "message": "Must hold lock here...\n\nChange-Id: I179a5582c9246f78c988f85e2f969f32d547ac89\n"
    },
    {
      "commit": "6f5aae1bcba130d5b8092a19fca3627aa565df56",
      "tree": "9c374a2bfe07516f509271a33e5efb9269547f8d",
      "parents": [
        "ddbdb35d176266b5ab64c30178f5cb76c5b1b4b4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 11 09:22:48 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 11 09:22:48 2010 -0700"
      },
      "message": "Fix a typo in NuCachedSource2 that would trigger an assert near the end of a stream.\n\nChange-Id: I963ad7074b830d553b67c8925efd5369d0b7a5b9\n"
    },
    {
      "commit": "5994b4798b01f3dd340577c9ea9657f09093a770",
      "tree": "1fa0f3bcca95eb3b7dd79c781ccca2fe0630f134",
      "parents": [
        "98c7c319907f4ed3915461ca62b1027590d351e5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 10 11:09:36 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 10 11:23:56 2010 -0700"
      },
      "message": "Initial check-in of new caching/prefetching data source implementation.\n\nChange-Id: I97a6e3f03c69c9b1219f1f06bd109c0102f2c504\n"
    }
  ]
}
