)]}'
{
  "log": [
    {
      "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": "0852843d304006e3ab333081fddda13b07193de8",
      "tree": "f60be26aad988e89bc135a86f6e4ae8853c69a49",
      "parents": [
        "3d66eb4128aebef31bb0fa44c4d53d6122294a26"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Apr 08 09:06:54 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Apr 16 19:01:15 2015 -0700"
      },
      "message": "stagefright: initial timed id3 support in hls\n\nChange-Id: I00a8a786b3f4b74742c34770edd94e937abe20a8\n"
    },
    {
      "commit": "3d66eb4128aebef31bb0fa44c4d53d6122294a26",
      "tree": "b532ebd2b434a9f6f90039bdb46f775fbe2ebefe",
      "parents": [
        "71933d769c54dadb5d8618ccb1ae69a3926f890b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 16 12:44:11 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 16 13:58:38 2015 -0700"
      },
      "message": "MediaCodec: hold input buffers during FLUSHED state\n\nbug: 20267388\nChange-Id: I21a12cb2ebb74e17dcdb7b502c3f674e9e64b5dc\n"
    },
    {
      "commit": "c224ec53a17994fa97ab2f29304647c9f195c51c",
      "tree": "6086a1cf5720b82e7dc25b7ecd60af39d66c738d",
      "parents": [
        "f2326ac96366ec4d05f470cc4a0b407e7805bab7",
        "99f31604136d66ae10e20669fb6b5716f342bde0"
      ],
      "author": {
        "name": "Chris Watkins",
        "email": "watk@google.com",
        "time": "Thu Apr 16 17:06:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 16 17:06:42 2015 +0000"
      },
      "message": "Merge \"Unhide the android.media.[Media]DataSource interface.\""
    },
    {
      "commit": "99f31604136d66ae10e20669fb6b5716f342bde0",
      "tree": "20e64f4f26533b37b087ce8656b1040b8189e24f",
      "parents": [
        "2f33dbc6ca08d45efea2df775c158e2a11e07ab6"
      ],
      "author": {
        "name": "Chris Watkins",
        "email": "watk@google.com",
        "time": "Fri Mar 20 13:06:33 2015 -0700"
      },
      "committer": {
        "name": "Chris Watkins",
        "email": "watk@google.com",
        "time": "Wed Apr 15 17:12:22 2015 -0700"
      },
      "message": "Unhide the android.media.[Media]DataSource interface.\n\nThis allows apps to implement MediaDataSource, which is modeled on\nstagefright\u0027s DataSource, to supply media data to the framework. This\nwas already implemented for MediaExtractor, but it was renamed from\nDataSource.\n\nMediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new\noverload: #setDataSource(android.media.MediaDataSource)\n\nOnly NuPlayer supports this new data source.\n\nThe change introduces:\n * IDataSource:        The binder interface for DataSource.\n * JMediaDataSource:   The native counterpart to the java interface. It\n                       implements IDataSource.\n * CallbackDataSource: A stagefright DataSource that wraps an\n                       IDataSource.\n\nChange-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1\n"
    },
    {
      "commit": "554a277d4e42a3d3df3d90ba0e7dfa2d31690e32",
      "tree": "3647500470a7eca8095102a0e2818acb848cdf6a",
      "parents": [
        "3249558196082087fb8bd0a847ef5c6000c8b925"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 10 11:29:24 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 15 23:15:38 2015 +0000"
      },
      "message": "audio policy: add binder calls for audio source control\n\nAdd binder methods to IAudioPolicyService to control activity\nof external audio sources (e.g FM tuner).\n\nChange-Id: I2008308a6a996baeae502b68a790d87281efe2ff\n"
    },
    {
      "commit": "cfdd52423cee9efea73023feeaa74279ebd45b7c",
      "tree": "154c4ea34b3fc95dbde268fb24be2f2915438c78",
      "parents": [
        "5e1c007038df74b389018e762d5059cacecff59e",
        "de80105c3f2db0eabd47640c49387ea3b44d4782"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 15 21:11:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 15 21:12:01 2015 +0000"
      },
      "message": "Merge \"AudioPolicyManager: notification of dynamic policy mix activity\""
    },
    {
      "commit": "c44111b22c26236cb0b32d3fbd1cc9fad3fb28ff",
      "tree": "3eae04149058cd321b732fb201efb1c2d3e465b4",
      "parents": [
        "a5bf4e0339a10b7db936c739fbfd6cf3cb00fbb8",
        "4d44cad22ea925a651463f2d51d6586c14d4b787"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 15 17:56:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 15 17:56:26 2015 +0000"
      },
      "message": "Merge \"Camera2: Add prepare for output streams\""
    },
    {
      "commit": "4d44cad22ea925a651463f2d51d6586c14d4b787",
      "tree": "3e9fa49f6f98a8deee591f58054488ddc6e46505",
      "parents": [
        "4123d6db0642cd13e69230705b12d6b6fee6f73f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Apr 11 13:15:45 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 15 10:51:33 2015 -0700"
      },
      "message": "Camera2: Add prepare for output streams\n\nThe prepare call asynchronously pre-allocates buffers for a given\noutput stream, and then fires the onPrepared callback.\n\nNot implemented for Camera2Device or used in Camera2Client.\n\nChange-Id: I1cccdfff846dd6985133c591dbdceed823929ade\n"
    },
    {
      "commit": "a5bf4e0339a10b7db936c739fbfd6cf3cb00fbb8",
      "tree": "fea070a835cfb6fc870072331926020623bce8bf",
      "parents": [
        "7233234a32d22d2ffb63ed4e92df339458047887",
        "99acce4526db0f14be6e516ecb3920d5ed66877b"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Apr 15 03:11:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 15 03:11:14 2015 +0000"
      },
      "message": "Merge \"Revert \"stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.\"\""
    },
    {
      "commit": "de80105c3f2db0eabd47640c49387ea3b44d4782",
      "tree": "9775c7bbe30ef1ab13a888def8531cb0f87b1756",
      "parents": [
        "079e121934106860af5ff5491bd3884453d1fdb3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 14 19:10:14 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 14 19:20:20 2015 -0700"
      },
      "message": "AudioPolicyManager: notification of dynamic policy mix activity\n\nImplement non-stream type specific ref counting in output\n  descriptors to keep track of mix activity.\nNotify audio policy client of mix activity changes.\n\nBug 20226914\n\nChange-Id: Iec939cb640c58056f88947b611d23b4bb6d8a11b\n"
    },
    {
      "commit": "7233234a32d22d2ffb63ed4e92df339458047887",
      "tree": "807509f7cba92cf490d3c82da300a9d686eea02d",
      "parents": [
        "be39e102a64f48fb3afe6ca412231f17df3c3c87",
        "67e7f543c7f1c4fe4ee1989ceb0aebe44a63b49e"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Apr 15 01:41:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 15 01:41:58 2015 +0000"
      },
      "message": "Merge \"media: use ResourceManagerService with MediaCodec\""
    },
    {
      "commit": "be39e102a64f48fb3afe6ca412231f17df3c3c87",
      "tree": "cdcef473819021571445f55fb2059c71f2fe147e",
      "parents": [
        "948dbbbe0d75f1975a80eafd53d6b8daa8f92223",
        "a0d0ba51ad60a68117a0ee78e37ab78715b8a069"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 15 01:32:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 15 01:32:25 2015 +0000"
      },
      "message": "Merge \"HLS: parse stream resolution and set maxWidth/maxHeight\""
    },
    {
      "commit": "948dbbbe0d75f1975a80eafd53d6b8daa8f92223",
      "tree": "1394f250b7657a7d39ee2b270c7a51281c30c692",
      "parents": [
        "4123d6db0642cd13e69230705b12d6b6fee6f73f",
        "8cfad968d5ec429b033caff9743f1ef15090be61"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 14 22:28:26 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 14 22:28:27 2015 +0000"
      },
      "message": "Merge \"stagefright: metadata retriever changes for capture fps\""
    },
    {
      "commit": "67e7f543c7f1c4fe4ee1989ceb0aebe44a63b49e",
      "tree": "7de894fc9626b36de6eed70812962380ca217f22",
      "parents": [
        "9e6955a19bf77ebf27b770e910efbe1ebf1ceac0"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Mar 13 10:47:08 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 14 14:16:12 2015 -0700"
      },
      "message": "media: use ResourceManagerService with MediaCodec\n\nBug: 19620911\nChange-Id: I235a97e5195b28645b7834dda0dd77307d93f4a8\n"
    },
    {
      "commit": "99acce4526db0f14be6e516ecb3920d5ed66877b",
      "tree": "d97838f1d697448b4b55c3485761518b3037ac7a",
      "parents": [
        "ea20d117ef9b4e867ec3982c7d070e719617ba2f"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 14 21:12:53 2015 +0000"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 14 21:12:53 2015 +0000"
      },
      "message": "Revert \"stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.\"\n\nThis reverts commit ea20d117ef9b4e867ec3982c7d070e719617ba2f.\n\nChange-Id: Ia77448a81429814e6915eca9c1cd854ca0e623cc\n"
    },
    {
      "commit": "a0d0ba51ad60a68117a0ee78e37ab78715b8a069",
      "tree": "8d7555285a426fd3b77b93fcfd550dc5c1e9f0c2",
      "parents": [
        "db93079daf06a94e50622d0383b9ed8e767e2f92"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 10 22:41:56 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 14 11:39:16 2015 -0700"
      },
      "message": "HLS: parse stream resolution and set maxWidth/maxHeight\n\nbug: 20160436\n\nChange-Id: Ic3adb84d3c65cc65f62fc509a99d09602db862a1\n"
    },
    {
      "commit": "2f33dbc6ca08d45efea2df775c158e2a11e07ab6",
      "tree": "b465e416af6302e7e0dda0826c9766f33bbc2cfc",
      "parents": [
        "b23cabdb71b98dc5e852f5d06be271696fea92c7",
        "618ff8a48a0c895a78f91f5692510c2a809425c3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Apr 14 17:29:40 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 14 17:29:41 2015 +0000"
      },
      "message": "Merge \"camera2: add reprocess support\""
    },
    {
      "commit": "b23cabdb71b98dc5e852f5d06be271696fea92c7",
      "tree": "5fd928f892970e2d905fdfcc502a0204d62a149d",
      "parents": [
        "9e6955a19bf77ebf27b770e910efbe1ebf1ceac0",
        "551b5355d34aa42890811fc3606d3b63429296cd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 14 15:02:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 14 15:02:12 2015 +0000"
      },
      "message": "Merge \"AudioRecord::obtainBuffer() can return nonContig like AudioTrack\""
    },
    {
      "commit": "8cfad968d5ec429b033caff9743f1ef15090be61",
      "tree": "10780dace38525633eb6c55f5ecf2d1713980eba",
      "parents": [
        "db93079daf06a94e50622d0383b9ed8e767e2f92"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 07 17:53:11 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 13 22:26:33 2015 -0700"
      },
      "message": "stagefright: metadata retriever changes for capture fps\n\nbug: 19460202\nChange-Id: I20afded0b7eec45b2f25b51cf59d9f48eada74d8\n"
    },
    {
      "commit": "551b5355d34aa42890811fc3606d3b63429296cd",
      "tree": "a55a6f457f11025f653241a58d475fe6a8269be5",
      "parents": [
        "7d669b3551c20109f5544455ca1555499693e1e1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 11:30:28 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 13 18:02:09 2015 -0700"
      },
      "message": "AudioRecord::obtainBuffer() can return nonContig like AudioTrack\n\nAnd fix error handling in both AudioRecord and AudioTrack.\n\nChange-Id: I4853d736cc6d2c05de5b18b0eac62716edfa62ec\n"
    },
    {
      "commit": "9e6955a19bf77ebf27b770e910efbe1ebf1ceac0",
      "tree": "04fbb621d9f9262bdec827d80f9df998a48f90ff",
      "parents": [
        "5795cb168634680fd5c835849c8fcf48dd6f532b"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Mar 26 13:52:57 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Apr 13 18:01:51 2015 -0700"
      },
      "message": "media: handle overrides and measure max codec instance.\n\nBug: 19620911\nChange-Id: I68d5919284700f37ccc6c6b9f96cd87ccdd40e6a\n"
    },
    {
      "commit": "5795cb168634680fd5c835849c8fcf48dd6f532b",
      "tree": "b57d8881970ec7f29ceaf20bcbd604991f6a1444",
      "parents": [
        "4264bbd7af97aeae87f1907b96f62e4025c989d0",
        "c1f5cb4b11d0c9f52f69aec4fe2d36da2f8139c9"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 14 00:57:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 14 00:57:57 2015 +0000"
      },
      "message": "Merge \"libstagefright: parse global settings from codec xml file.\""
    },
    {
      "commit": "c1f5cb4b11d0c9f52f69aec4fe2d36da2f8139c9",
      "tree": "7e5049d6725c4a6c1947a743659598c391cf0665",
      "parents": [
        "52e88b2986536e83a7a6da63461556b8734a85f3"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Mar 25 16:19:58 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Apr 13 17:51:14 2015 -0700"
      },
      "message": "libstagefright: parse global settings from codec xml file.\n\nAlso parse a new codec limit \"max-supported-instances\".\n\nBug: 19620911\nChange-Id: I6574c168b0c2b1aa649883958d3073edc01a4a03\n"
    },
    {
      "commit": "618ff8a48a0c895a78f91f5692510c2a809425c3",
      "tree": "9473236e1e759aecf921b87e50302d933bae041d",
      "parents": [
        "25f82752942b1c78aec8ee303d61afff85cff9d1"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Mar 13 11:27:17 2015 -0700"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Apr 13 17:25:36 2015 -0700"
      },
      "message": "camera2: add reprocess support\n\nAdd support to create input stream, submit reprocess capture requests,\nand receive reprocess capture results.\n\nChange-Id: Iee2d4313f3d52616a484eaea7a28f5ef9d8a674b\n"
    },
    {
      "commit": "e6109e2f10b43c2cc2561c6fd6633b5f988bd7a9",
      "tree": "3b8f9bd7d8caab7cdd2e58ad5a918619938db9a3",
      "parents": [
        "421f47ca9c2dcc78584b2bb609c3755483b55155"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 10 17:18:22 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 10 17:48:56 2015 -0700"
      },
      "message": "mediaplayer: support async mode for widevine legacy mode\n\nBug: 14679336\nChange-Id: Id224eb8c31ec148ca9a144758cc56ddbf5465f5c\n"
    },
    {
      "commit": "ed5554fb1c837f6b1008d3910018c979c57da502",
      "tree": "65ebd5ffd8e905b4756f01a508974464e2b4e5f0",
      "parents": [
        "52e88b2986536e83a7a6da63461556b8734a85f3"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Apr 06 14:17:24 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Apr 10 14:49:44 2015 -0700"
      },
      "message": "libstagefright: handle MediaFormat \"operating-rate\" key.\n\nBug: 19620911\nChange-Id: I846d3cc10308a13f2ed92bb82ba7e8236d9c67d1\n"
    },
    {
      "commit": "4c1efbc76f1dfeb9427617e451042a12bfb59ad3",
      "tree": "43c39c7172b3cfbbc26678a5233702a011ef27b3",
      "parents": [
        "c255757c795e5db87bafa6609c4ae052cf38b45b",
        "1849570240443d1f75775c205fa658f7070849c6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Apr 10 21:03:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 21:03:24 2015 +0000"
      },
      "message": "Merge \"Add a method to associate MediaDrm session with MediaCrypto\""
    },
    {
      "commit": "1849570240443d1f75775c205fa658f7070849c6",
      "tree": "86ad28892b0e8b49c8666ad39e340234c610e709",
      "parents": [
        "2fb25c873e1a7f346bd8c7c072a85ca6a74b0e95"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Apr 10 04:10:59 2015 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Apr 10 04:10:59 2015 -0700"
      },
      "message": "Add a method to associate MediaDrm session with MediaCrypto\n\nPreviously, to associate a MediaDrm session with MediaCrypto,\nthe MediaDrm sessionId was passed as initData to the MediaCrypto\nconstructor.  This is not ideal for two reasons: it\u0027s pretty\nobscure and you can\u0027t change the association without tearing\ndown the MediaCodec/MediaCrypto and starting all over.  Use\ncases like key rotation require being able to update the\nMediaDrm session post-construction.  This CL addresses both of\nthese issues.\n\nbug: 19570317\nChange-Id: Ieb32d04d61742fc1dee2105dd904690d44c46c7b\n"
    },
    {
      "commit": "7d014e50b3acd60e73ed7d7a74dc58485c7a413c",
      "tree": "d2d5a07889b721c5d775c9da8c9dbc0531d19173",
      "parents": [
        "e62e16371b6c2f33072b3345e1d1853673b9a3d8",
        "8edb8dc44b8a2f81bdb5db645b6b708548771a31"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 10 03:28:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 03:28:12 2015 +0000"
      },
      "message": "Merge \"Add playback rate to AudioTrack\""
    },
    {
      "commit": "e62e16371b6c2f33072b3345e1d1853673b9a3d8",
      "tree": "7b771118f2df495918ce679dbd62f42b30392603",
      "parents": [
        "1c2dc0643141483cb7f90ee032845a1c38fe093a",
        "c5656cc900aeb4a705e27508dd82c70030a97709"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 10 03:27:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 03:28:00 2015 +0000"
      },
      "message": "Merge \"Add playback rate to AudioMixer\""
    },
    {
      "commit": "8edb8dc44b8a2f81bdb5db645b6b708548771a31",
      "tree": "663bda0f8a3d43894fa6d3d3f4283ed0df427f03",
      "parents": [
        "c5656cc900aeb4a705e27508dd82c70030a97709"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 26 19:13:55 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 18:49:15 2015 -0700"
      },
      "message": "Add playback rate to AudioTrack\n\nBug: 19196501\nChange-Id: I6411e1d3ce652b711a71a6d9df020cb5f60d4714\n"
    },
    {
      "commit": "541c1721e517a44127f0086f77b4e679849bb8cc",
      "tree": "18d35f7ffc8bdd7dc5d006c548b20af554a7f42a",
      "parents": [
        "2fb25c873e1a7f346bd8c7c072a85ca6a74b0e95",
        "fa6a06765e7b92b7ba265482bd4cf3074f9ff6cc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 09 23:59:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 09 23:59:06 2015 +0000"
      },
      "message": "Merge \"MediaClock: allow user to query playback rate.\""
    },
    {
      "commit": "079e121934106860af5ff5491bd3884453d1fdb3",
      "tree": "9e632f4ac530466a4d98ddde47b8f44f8378679c",
      "parents": [
        "bd903e363faeacaeae98252bfc753d5cac9de602",
        "ea20d117ef9b4e867ec3982c7d070e719617ba2f"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 09 22:28:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 09 22:28:54 2015 +0000"
      },
      "message": "Merge \"stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.\""
    },
    {
      "commit": "ea20d117ef9b4e867ec3982c7d070e719617ba2f",
      "tree": "3a573f404a1fdbc793aa659ea2cfe63403f4adb4",
      "parents": [
        "31ffe45a22b72ee5d25bb4932d0525e90dbc19fe"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 09 13:54:27 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 09 14:56:47 2015 -0700"
      },
      "message": "stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.\n\nBug: 19620911\nChange-Id: I95e257c8aea2ef218f27ffaa2e62a8f12554d824\n"
    },
    {
      "commit": "fa6a06765e7b92b7ba265482bd4cf3074f9ff6cc",
      "tree": "745f872831d337fb97d6130765b1078ae74607b0",
      "parents": [
        "31ffe45a22b72ee5d25bb4932d0525e90dbc19fe"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 09 14:56:25 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 09 14:56:25 2015 -0700"
      },
      "message": "MediaClock: allow user to query playback rate.\n\nBug: 19666434\nChange-Id: I306579e481cfcf923422d50d3d5cfae045ef2227\n"
    },
    {
      "commit": "c5656cc900aeb4a705e27508dd82c70030a97709",
      "tree": "930d4266db7b4d93eb7ade5629812a722dc7920f",
      "parents": [
        "857d5a20a956ef61b64ae07b018ecc2f1eb0a503"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 26 19:04:33 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 12:37:01 2015 -0700"
      },
      "message": "Add playback rate to AudioMixer\n\nBug: 19196501\nChange-Id: I42d1f90e6297cf3f1304860d1691a5dfedd4c37d\n"
    },
    {
      "commit": "03763a9573fcfdd0f85dd9ac0203e7da525a6c98",
      "tree": "cf48ab8ce281938ef7440a3ad67664cbbd628a39",
      "parents": [
        "31ffe45a22b72ee5d25bb4932d0525e90dbc19fe",
        "c481b5012a5f6cf72e5e93b36f1ed4c9169916f2"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Apr 09 17:47:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 09 17:47:47 2015 +0000"
      },
      "message": "Merge \"Pass crypto source data using a shared buffer\""
    },
    {
      "commit": "c481b5012a5f6cf72e5e93b36f1ed4c9169916f2",
      "tree": "bbb7920204199b43cd24075d48b8fa387a43059f",
      "parents": [
        "e41b5f31148f9cfb7316295c900c7d3c695510b2"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 06 18:21:05 2015 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 08 18:33:59 2015 -0700"
      },
      "message": "Pass crypto source data using a shared buffer\n\nMediaCodec was using a binder transaction buffer\nto pass encryption source data for protected content.\nOn some 4K content, the max binder transaction buffer\nsize was being exceeded.  This change uses a shared\nbuffer for the encryption source data instead of a\nbinder transaction buffer, which avoids the problem and\nmay be more efficient.\n\nbug: 20027687\nChange-Id: I36a24ebf600d7e1064b78e48b167fdc29b2c65e9\n"
    },
    {
      "commit": "6770c6faa3467c92eabc5ec9b23d60eb556a0d03",
      "tree": "45470127b227dbda5a346bb1902f92f8998c25bb",
      "parents": [
        "73c02e4277b399c2ec1555d32b6ad5df23bb83dc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 07 13:43:36 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 08 15:58:56 2015 -0700"
      },
      "message": "Enable 8 bit and float pcm record formats for AudioFlinger\n\nUpdate sampling rate handling as well.\n\nBug: 19570772\nChange-Id: I872248e64c0578b2e48869a68fee0d51bd0640c3\n"
    },
    {
      "commit": "6dc4dc4ad23dc82eca9af3112292f3e6d5b17b15",
      "tree": "2ebe8fb3630e8e33baa66be39305df86eab83c7d",
      "parents": [
        "e41b5f31148f9cfb7316295c900c7d3c695510b2",
        "aa9811945f575614b3482d09e4d969792701cebb"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Wed Apr 08 17:08:01 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 08 17:08:01 2015 +0000"
      },
      "message": "Merge \"Adding explicit routing API to AudioTrack\""
    },
    {
      "commit": "aa9811945f575614b3482d09e4d969792701cebb",
      "tree": "1744aa567efe78c3062ec80da19277d96def0725",
      "parents": [
        "41efeb2b477066d96ad34a048f34fb6fb34213ec"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Sat Mar 21 09:55:15 2015 -0700"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Wed Apr 08 09:51:07 2015 -0700"
      },
      "message": "Adding explicit routing API to AudioTrack\n\nChange-Id: I40c048c7644c46f4e4f7103875206c0785c4b1dc\n"
    },
    {
      "commit": "e58e2a168e4a8bbd55e31bf12bd03ffc437c8226",
      "tree": "b05e698168e6b616b058193cb425491e84b62575",
      "parents": [
        "594eddf21facc3e84a4de912a0e2d45c880fd1ab",
        "3b8798ae4b3e27c7f7bee9794995b78a12adc4f8"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 07 19:14:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 07 19:14:52 2015 +0000"
      },
      "message": "Merge \"stagefright: add new MediaCodec callback CB_RESOURCE_RECLAIMED.\""
    },
    {
      "commit": "002135d149d8604e972d1b353d768f293fbce15f",
      "tree": "2b574bf6a084149bb75975e372b2f0516bf2276c",
      "parents": [
        "aa80951a578c1843708227b63456474f99e5e868",
        "d47dfcb5a2e5901c96fc92662cec7aa30f7f8843"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 03 18:48:27 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 03 18:48:28 2015 +0000"
      },
      "message": "Merge \"HLS: misc bug fixes\""
    },
    {
      "commit": "d47dfcb5a2e5901c96fc92662cec7aa30f7f8843",
      "tree": "ac077cfad563e38bf91e4b2c95e7e28056bf7439",
      "parents": [
        "ac41a6f253a69671f6e018fcc84daf0030615ca9"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Mar 27 15:53:45 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 02 16:31:09 2015 -0700"
      },
      "message": "HLS: misc bug fixes\n\n- fix no target-duration case\n\n- fix for audio-only \u003c\u003d\u003e audio/video switching\n\n- disable audio-only variants if there is at least\n  one variant with video\n\n- fix mpeg2ts PTS wraparound when bandwidth adapting\n\n- tweak up/down switch marks\n\nbug: 19567254\n\nChange-Id: Ib46144203c56dfc96eccd6ddaa3867e8a4f2c6a9\n"
    },
    {
      "commit": "b28753e19550e5051cd02e6af72ab06e4eff04e0",
      "tree": "5c9b7dabb3d4abe6aa20bf512ec025eb23d1ca04",
      "parents": [
        "d4d55cdf31a3faa619bfa043f5b0f170f6ffd139"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 01 13:06:28 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 01 16:53:33 2015 -0700"
      },
      "message": "audio port: support multiple clients\n\nAdd support for more than one audio port callback client per process.\n\nChange-Id: I657c4fc28d5d2d993307551e3e69567dc60196cb\n"
    },
    {
      "commit": "36597b241c59eba7e55d5150092947a748c5e9cb",
      "tree": "bf174c4f6c45a2a5abfb3852effb567d5b653843",
      "parents": [
        "ac41a6f253a69671f6e018fcc84daf0030615ca9"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Mar 20 22:15:57 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Mar 31 12:11:10 2015 -0700"
      },
      "message": "camera2: Enforce client eviction on user switch.\n\nBug: 19186859\nChange-Id: I172a2ce46c8e8a131ae7e8dd99d60c5f4f0d6668\n"
    },
    {
      "commit": "0f5d69123490bb3c4fe26129dfd23e21ce184c88",
      "tree": "0226e70e4bd45d61b940f60e24efc846c5af8244",
      "parents": [
        "3e414355fbed266916b446eaabbb3f9c153635b2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 11:30:00 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 25 09:27:09 2015 -0700"
      },
      "message": "Remove deprecation FIXMEs for TRANSFER_OBTAIN mode\n\nChange-Id: I7f43aabdb092e1465d79cd0eea5944fff18b93db\n"
    },
    {
      "commit": "525907aa2cf2148186ed55e47e424395b9a43dca",
      "tree": "947b98272d9e5956eb5c7e08b27895117e1488d2",
      "parents": [
        "ae9710473b88592c557488bfcae71616d9e9b75f",
        "54298b338cf9f782f2ac681a15e6cbbb99649350"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 25 00:05:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 25 00:05:59 2015 +0000"
      },
      "message": "Merge \"Camera: fix metadata assertion\""
    },
    {
      "commit": "54298b338cf9f782f2ac681a15e6cbbb99649350",
      "tree": "ea9027bd6a83df8488aa7d16d237c51f3c93a269",
      "parents": [
        "676b21b30edbd74d7b9aae247961a1ffde1b8993"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 24 16:51:41 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 24 16:51:41 2015 -0700"
      },
      "message": "Camera: fix metadata assertion\n\nBug: 19897963\nChange-Id: I6b383c4750f31691a1c02e927bbeb0c1998a9eff\n"
    },
    {
      "commit": "957af4cef721c1eec1606850e77ad2ef1fd0eb0a",
      "tree": "3c05978c8a584181355db31052116afcda8db5f4",
      "parents": [
        "343dad3c1ffdd780bbf247ceebb1f2fd344a5d51",
        "3622cdff65f34a99d2f55936a895387ad41510ce"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 24 20:41:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 20:41:38 2015 +0000"
      },
      "message": "Merge \"AudioRecord::read() can be non-blocking to match AudioTrack\""
    },
    {
      "commit": "82ceac025459b5b8887441d709081ec29c6b9416",
      "tree": "6400948366e9d51774601a03d149a4ba7b33e2cb",
      "parents": [
        "21b51b61ee52e6aa74d98b138d3dd4f0e17b1441",
        "bfd318402924414fbde4d31c9d23cc423f10b630"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 24 19:42:30 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 19:42:31 2015 +0000"
      },
      "message": "Merge \"set() in AudioRecord and AudioTracks needs no lock\""
    },
    {
      "commit": "21b51b61ee52e6aa74d98b138d3dd4f0e17b1441",
      "tree": "ed8a111abfa1da3548ddd46d6db8c94d9a4ceb0c",
      "parents": [
        "3fac40b9e80e7d27fa613afe22048872f2ff6d9e",
        "1d8b3b684f469f346c2e0d4420e25a23aa1dda55"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 24 19:16:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 19:16:54 2015 +0000"
      },
      "message": "Merge \"Remove AudioRecord::notificationFrames()\""
    },
    {
      "commit": "ebb80468d8e31e22b867744d86b57bd4bc3186fd",
      "tree": "1871edf0c2c023d86ed394a66a0e63afb2a49fd5",
      "parents": [
        "6ce2ed7e9d003c4580e2813d657660ef18865df6",
        "231c3d169ad029689f9d688b68179af7e96b8d78"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Mar 24 16:47:09 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 16:47:10 2015 +0000"
      },
      "message": "Merge \"media: add ResourceManagerService\""
    },
    {
      "commit": "6ce2ed7e9d003c4580e2813d657660ef18865df6",
      "tree": "18b29c59043564dfd0ca9f27c219749e3da908f2",
      "parents": [
        "ec648447b7dcab701c436a54bd38a1abd8037be1",
        "c8db9712d9abe9b0d74193ea7d7cff428e32e62c"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Mar 24 16:29:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 16:29:22 2015 +0000"
      },
      "message": "Merge \"MediaSync: support MediaSync in native code.\""
    },
    {
      "commit": "ec648447b7dcab701c436a54bd38a1abd8037be1",
      "tree": "a83bc7a008f5671316e18095b15f9fb7b746fd81",
      "parents": [
        "4c36d6f48f4eecacc148317f775f65961a4f03d2",
        "d072c909d87f8150433860f6de4c11df6e09e2f9"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Mar 24 00:05:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 00:05:44 2015 +0000"
      },
      "message": "Merge \"Report key request message type for unprefixed EME\""
    },
    {
      "commit": "231c3d169ad029689f9d688b68179af7e96b8d78",
      "tree": "09dbf8d4dc47f5698c08190f498357b455a396c7",
      "parents": [
        "84b784dd4f340331d36b1be3de05a6c814d9795c"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Mar 11 15:10:32 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Mar 23 17:02:28 2015 -0700"
      },
      "message": "media: add ResourceManagerService\n\nBug: 19620911\nChange-Id: Iea173d310d31781bc50effe3d9bd6553cb5139eb\n"
    },
    {
      "commit": "3622cdff65f34a99d2f55936a895387ad41510ce",
      "tree": "c6af21a8fb7d4252d0ac78e542bb1baa5ae29f17",
      "parents": [
        "4c36d6f48f4eecacc148317f775f65961a4f03d2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 10:58:21 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 14:53:01 2015 -0700"
      },
      "message": "AudioRecord::read() can be non-blocking to match AudioTrack\n\nChange-Id: I23b9466b81ab6037d0bccd5e6f5974b7bd4aeacb\n"
    },
    {
      "commit": "bfd318402924414fbde4d31c9d23cc423f10b630",
      "tree": "35662fc06a14886bfcb74cfc6dbdf274a3497ee7",
      "parents": [
        "4c36d6f48f4eecacc148317f775f65961a4f03d2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 09:01:44 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 14:52:03 2015 -0700"
      },
      "message": "set() in AudioRecord and AudioTracks needs no lock\n\nChange-Id: I9d61b3d117e9b21fbbfad772d8981a5abb8fafae\n"
    },
    {
      "commit": "1d8b3b684f469f346c2e0d4420e25a23aa1dda55",
      "tree": "a14ee945d4f796d05fa4fac6fe621a057705e1c5",
      "parents": [
        "4c36d6f48f4eecacc148317f775f65961a4f03d2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 08:55:02 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 14:51:28 2015 -0700"
      },
      "message": "Remove AudioRecord::notificationFrames()\n\nThis API was unused, and is not present in AudioTrack\n\nChange-Id: I66a1eedc149af085269c0f438c3c8d4e226a0e5b\n"
    },
    {
      "commit": "d1e85c354bf08cbf7fb7619f91bda1c416b40627",
      "tree": "6ba9419f727ac171f956120f225cad153c1245f5",
      "parents": [
        "17fe26e5b500671ca0773b57b77fa63b113aadae",
        "d8772b24079b61018b455e602f3030284c30c7f5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 18:29:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 18:29:33 2015 +0000"
      },
      "message": "Merge \"Update AudioRecord comments to match AudioTrack\""
    },
    {
      "commit": "17fe26e5b500671ca0773b57b77fa63b113aadae",
      "tree": "521d1db72da5e9dbfd198f9302d095863a29e917",
      "parents": [
        "7be5db4925258f113aa228e7212d66243adcaf6f",
        "a5017872000a938667c76d760a866547c3719d09"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 18:29:19 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 18:29:20 2015 +0000"
      },
      "message": "Merge \"Update AudioTrack constructor and set() comments\""
    },
    {
      "commit": "0c5260cea542fdf8aa5f36b4f8de37f3b1331398",
      "tree": "5e748e8ea1985ab15e4e321aca6f89b24255ac3d",
      "parents": [
        "c19dc82b6198d06b37018d649bdff3a16d871598",
        "b882e936ead71ee407a5d6f1e7194115fc13c410"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 17:59:04 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 17:59:05 2015 +0000"
      },
      "message": "Merge \"Update AudioTrack comments to match AudioRecord\""
    },
    {
      "commit": "c19dc82b6198d06b37018d649bdff3a16d871598",
      "tree": "faafcc9625c23979bc966ec3e5df849f44266356",
      "parents": [
        "f85e854158cbed22a68625d2fafea50b86ca791f",
        "85fc799d4cde549c7cc82d9e5c84f21e161ecfbe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 17:29:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 17:29:24 2015 +0000"
      },
      "message": "Merge \"AudioTrack::dump() comment\""
    },
    {
      "commit": "f85e854158cbed22a68625d2fafea50b86ca791f",
      "tree": "563485ca195f3919ba1835cfa1f3c1c57094dcfd",
      "parents": [
        "b6caa81602880670299393de833fc1d69043d581",
        "5014c94c1bbac4a4284576b0015ba75145237593"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 17:21:03 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 17:21:03 2015 +0000"
      },
      "message": "Merge \"AudioRecord::releaseBuffer() buffer is const *, like AudioTrack\""
    },
    {
      "commit": "b6caa81602880670299393de833fc1d69043d581",
      "tree": "8ae7eddaab58da9b9b7ceb2c4888ddd2c63b9663",
      "parents": [
        "8681bd84965606a4540226b76ea1db1a2198809d",
        "05163541326f51cefda91df5127d378c20b5a73f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 16:57:00 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 16:57:00 2015 +0000"
      },
      "message": "Merge \"Remove dead AudioTrack::setAttributesFromStreamType()\""
    },
    {
      "commit": "8681bd84965606a4540226b76ea1db1a2198809d",
      "tree": "1e3705a0de3de367bafe6a5854bf31f167227057",
      "parents": [
        "32db812d43fc17a8c24f3ff5ac81e5002f3ce126",
        "32860f77787f41abac08afdfc2592272ccc31bcb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 16:36:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 16:36:53 2015 +0000"
      },
      "message": "Merge \"Deprecate AudioRecord::getInput() and AudioTrack::getOutput()\""
    },
    {
      "commit": "5c242217a809e13a1704100fb991e03ce4985e6c",
      "tree": "c8bc3a7c49f687c2afed67329ef0d531bb1d6b3c",
      "parents": [
        "e063c308aaeaf85c9c41fda5df083a8aa90bdb24",
        "a9757af8a140a1d5ae261c22f9d7eebef99cbe96"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 16:05:18 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 16:05:19 2015 +0000"
      },
      "message": "Merge \"Move AudioTrack::isOffloaded() and isDirect() variants\""
    },
    {
      "commit": "e063c308aaeaf85c9c41fda5df083a8aa90bdb24",
      "tree": "f4ec5b1176ca063f48644f4abe1c86eb9e7327e9",
      "parents": [
        "0fe431544e5320a58508fb0533063d36dad1a473",
        "d2027336b45f524a196403d351ec317782793792"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 15:56:19 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 15:56:20 2015 +0000"
      },
      "message": "Merge \"Whitespace\""
    },
    {
      "commit": "0fe431544e5320a58508fb0533063d36dad1a473",
      "tree": "3fba1e4666b6778fa720db5963c304b91d2823f4",
      "parents": [
        "999c894e18a64e0ded860a1bb51e14822ed31e86",
        "6991ed25d8b5c2f75325ccd7cc522762da6f2b09"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 15:47:44 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 15:47:44 2015 +0000"
      },
      "message": "Merge \"Add FIXME to deprecate AudioTrack::getMinFrameCount()\""
    },
    {
      "commit": "999c894e18a64e0ded860a1bb51e14822ed31e86",
      "tree": "3845b691d1afcf45592bd707748fa19954abb9bd",
      "parents": [
        "ad7345c0d3c4e3562a70ad89d797f7473c7be57a",
        "17ea1351633d4f5e4f9eafd0778eb8b59fa30f10"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 15:39:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 15:39:38 2015 +0000"
      },
      "message": "Merge \"Update AudioRecord comments to match AudioTrack\""
    },
    {
      "commit": "ad7345c0d3c4e3562a70ad89d797f7473c7be57a",
      "tree": "f52441979e6aebf9b1b618bc7f7b7c665f78a5b7",
      "parents": [
        "d34ed0f51697623456ddbca10ef9ccf5367ce952",
        "d198b85a163330b03e7507c9e8bfeb5f4d958a6c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 15:30:42 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 15:30:42 2015 +0000"
      },
      "message": "Merge \"Fix typos\""
    },
    {
      "commit": "d8772b24079b61018b455e602f3030284c30c7f5",
      "tree": "1f945a16c3338faf2741325d8e08b4266df0e1c7",
      "parents": [
        "a5017872000a938667c76d760a866547c3719d09"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 10:59:40 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:03:35 2015 -0700"
      },
      "message": "Update AudioRecord comments to match AudioTrack\n\nChange-Id: I02cb51af058277991ad0b1b5dce45744b8e8c129\n"
    },
    {
      "commit": "a5017872000a938667c76d760a866547c3719d09",
      "tree": "63f7de068471f1ddd4f78e2098152bde804199c1",
      "parents": [
        "138d6f9b0b77d94773a8a29d3c5bdb78f38ee142"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 10:56:35 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:03:21 2015 -0700"
      },
      "message": "Update AudioTrack constructor and set() comments\n\nComments were missing for recently added parameters.\n\nChange-Id: I414594fed56317112be5f3b415871d77e7f7e282\n"
    },
    {
      "commit": "b882e936ead71ee407a5d6f1e7194115fc13c410",
      "tree": "1ff0080bc4acc812ee387291a3fb4d1860516e9f",
      "parents": [
        "85fc799d4cde549c7cc82d9e5c84f21e161ecfbe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 10:54:24 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:03:09 2015 -0700"
      },
      "message": "Update AudioTrack comments to match AudioRecord\n\nChange-Id: I176a4830513a0b37c38f86815fe637093b9ad52f\n"
    },
    {
      "commit": "85fc799d4cde549c7cc82d9e5c84f21e161ecfbe",
      "tree": "aae5cf8be8bddb68cbad17a9e8186c0f5f4d981b",
      "parents": [
        "5014c94c1bbac4a4284576b0015ba75145237593"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 10:04:25 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:03:05 2015 -0700"
      },
      "message": "AudioTrack::dump() comment\n\nChange-Id: Id3b5210293a77404189555a0c797fb099e3c6c04\n"
    },
    {
      "commit": "5014c94c1bbac4a4284576b0015ba75145237593",
      "tree": "c097348f29dcaf33b3fbd56c330ca9b7ab53b48a",
      "parents": [
        "05163541326f51cefda91df5127d378c20b5a73f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 10:06:37 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:03:03 2015 -0700"
      },
      "message": "AudioRecord::releaseBuffer() buffer is const *, like AudioTrack\n\nChange-Id: If09689a8411392281ad06fcf781f3198941c642d\n"
    },
    {
      "commit": "05163541326f51cefda91df5127d378c20b5a73f",
      "tree": "f02dfa9e3d2560d2513c1f36eff20dbd498d1654",
      "parents": [
        "32860f77787f41abac08afdfc2592272ccc31bcb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 09:55:57 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:03:01 2015 -0700"
      },
      "message": "Remove dead AudioTrack::setAttributesFromStreamType()\n\nChange-Id: I34feb3f9df49458f8a81ddcced4dd769fdaca945\n"
    },
    {
      "commit": "32860f77787f41abac08afdfc2592272ccc31bcb",
      "tree": "330b65ddca5dd7b541565b67944e739f5dc0fc8e",
      "parents": [
        "40bc906252974d0b389ae4a147232d0c9a97193f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 08:55:18 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:02:59 2015 -0700"
      },
      "message": "Deprecate AudioRecord::getInput() and AudioTrack::getOutput()\n\nDoes not completely fix the bug, but is a step in the right direction.\n\nBug: 12593118\nChange-Id: Id591cd700ab58fd927ae44c71c81dac55b5cac2d\n"
    },
    {
      "commit": "a9757af8a140a1d5ae261c22f9d7eebef99cbe96",
      "tree": "4d1a70aa415a7006018bcd5b84c6d28ba9ee0722",
      "parents": [
        "d2027336b45f524a196403d351ec317782793792"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 09:00:14 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:02:52 2015 -0700"
      },
      "message": "Move AudioTrack::isOffloaded() and isDirect() variants\n\nto be near each other.\n\nChange-Id: Ic26681716ea48886f0bfed23803240466db5d8fa\n"
    },
    {
      "commit": "d2027336b45f524a196403d351ec317782793792",
      "tree": "88b2d938d53d20c4caa1cd82a69d52dbcdbdaefd",
      "parents": [
        "6991ed25d8b5c2f75325ccd7cc522762da6f2b09"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 08:59:18 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:02:50 2015 -0700"
      },
      "message": "Whitespace\n\nChange-Id: I4640be948ad3caff0eb7525991398a1353e4bfe6\n"
    },
    {
      "commit": "6991ed25d8b5c2f75325ccd7cc522762da6f2b09",
      "tree": "07d7d20b4f8230d83ab43d71955e0ff1a954cc2b",
      "parents": [
        "17ea1351633d4f5e4f9eafd0778eb8b59fa30f10"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 08:57:24 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:02:47 2015 -0700"
      },
      "message": "Add FIXME to deprecate AudioTrack::getMinFrameCount()\n\nContinuation of previous change, for all APIs that assume a route\n\nChange-Id: Ia1315032cf6366f428db342b16b2e1c3b574f407\n"
    },
    {
      "commit": "17ea1351633d4f5e4f9eafd0778eb8b59fa30f10",
      "tree": "98815310f51d9c40356f8ab8ef44bd1bfe010bb2",
      "parents": [
        "d198b85a163330b03e7507c9e8bfeb5f4d958a6c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 08:54:17 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:02:45 2015 -0700"
      },
      "message": "Update AudioRecord comments to match AudioTrack\n\nChange-Id: I6c3620c60c0ba159e4688b42de4ec8b91920e048\n"
    },
    {
      "commit": "d198b85a163330b03e7507c9e8bfeb5f4d958a6c",
      "tree": "0c682560d50acec9efeca2a1d706b3a09c6ecdc5",
      "parents": [
        "0e4421286b92a81e952f53210227adbf05d97c25"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 16 14:55:53 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 23 08:02:41 2015 -0700"
      },
      "message": "Fix typos\n\nFix typos in comments\nAdd formal parameter name to declaration where it was missing\nFix out of order comments\n\nChange-Id: I1de81ae82af5ca507864e4c7b959111bac898b98\n"
    },
    {
      "commit": "76fa9ec3e831ce97aeb2f1aa688972f5b85d9c30",
      "tree": "ccd88ef9f0cd1fe4d1e3516c77caf448e1cc1a5e",
      "parents": [
        "9efdf956cc2eef63fef609375901d6c8df6351b6",
        "f1300d31fe80c8e14cf2bbca6c7b6768110cd5ba"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sun Mar 22 00:40:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Mar 22 00:40:42 2015 +0000"
      },
      "message": "am f1300d31: am cdf96ffa: Merge \"ulaw and alaw aren\\\u0027t limited to 8kHz\"\n\n* commit \u0027f1300d31fe80c8e14cf2bbca6c7b6768110cd5ba\u0027:\n  ulaw and alaw aren\u0027t limited to 8kHz\n"
    },
    {
      "commit": "9efdf956cc2eef63fef609375901d6c8df6351b6",
      "tree": "4e7cfe7a780397d9578bd7860023168ea62519a5",
      "parents": [
        "514d7af22c5d6526309e71fadcff42b072c30241"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Mar 18 23:11:57 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Mar 20 22:34:54 2015 -0700"
      },
      "message": "camera2: Remove ProCamera.\n\nBug: 19186859\nChange-Id: I4aaadb53db65b479f92cbb3c05329d1e40317900\n"
    },
    {
      "commit": "c8db9712d9abe9b0d74193ea7d7cff428e32e62c",
      "tree": "184bc7777bce86c268348ca946e5009612c0e0fd",
      "parents": [
        "0e4421286b92a81e952f53210227adbf05d97c25"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Mar 09 16:31:48 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Mar 20 11:10:33 2015 -0700"
      },
      "message": "MediaSync: support MediaSync in native code.\n\nBug: 19666434\nChange-Id: Ib6678153f43f5063bdaaf53dd8ad5e8d26434e1e\n"
    },
    {
      "commit": "17c39e708ed657b8fa66f8acce5128e51696915c",
      "tree": "ec0f96c66e44c39e83800bb7a02792ab57781e99",
      "parents": [
        "340cebdaa2875ba2ab9725b81218ebc59d84164b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 20 09:15:11 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 20 09:15:11 2015 -0700"
      },
      "message": "ulaw and alaw aren\u0027t limited to 8kHz\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d158490\nChange-Id: Ib30e156c99a997db861bb85e17244a5effdd55cf\n"
    },
    {
      "commit": "7c963e92bc11d4b6a22696c51f9abf42987a1f74",
      "tree": "f927372bf3ce78b90be5619464ec102f1ad83c3d",
      "parents": [
        "b588cf22b2e44f20921550412d443fba55b1343e",
        "803b3e558022c6d0eb069308339dc84e6e8035dc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 19 23:12:00 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 19 23:12:01 2015 +0000"
      },
      "message": "Merge \"Event driven wake for AudioRecordThread notification changes\""
    },
    {
      "commit": "3b8798ae4b3e27c7f7bee9794995b78a12adc4f8",
      "tree": "dc2648d35fbb8ee114802d37d5c7542253330ed4",
      "parents": [
        "8952c68ecea34cd58245577636b51a5124706893"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Mar 19 11:16:12 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Mar 19 11:16:12 2015 -0700"
      },
      "message": "stagefright: add new MediaCodec callback CB_RESOURCE_RECLAIMED.\n\nBug: 19620911\nChange-Id: I8db19cdbb1b93a7a6401e158f91285e7c395b719\n"
    },
    {
      "commit": "ae21e335e392125168601dba4731c85b5c25f33f",
      "tree": "9fc3c0737d1391aa6aa9417b212275688cd3bd00",
      "parents": [
        "5a23aa949188fafe1d8d35966ff5a73974294dfd",
        "b97babb8c08969b55af3b6456d15f764c8873d3f"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 19 17:27:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 19 17:27:53 2015 +0000"
      },
      "message": "Merge \"Camera: plumbing rotation field through\""
    },
    {
      "commit": "803b3e558022c6d0eb069308339dc84e6e8035dc",
      "tree": "ffae05f0ba870ac1f7b704a7309542444db623a4",
      "parents": [
        "377165c24968b044faccaf366a2377fa32143e2f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 18 23:26:55 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 18 23:33:44 2015 -0700"
      },
      "message": "Event driven wake for AudioRecordThread notification changes\n\nUsed for setMarkerPosition and setPositionUpdatePeriod.\n\nChange-Id: Iedd1be8725dea32bdba6908b78c5166780a66fec\n"
    },
    {
      "commit": "d58b2ac7244a964caa3f4e386b8280ae2f5d2125",
      "tree": "84ef9b168bd3ab9e33c0532dabf33fe328eba334",
      "parents": [
        "377165c24968b044faccaf366a2377fa32143e2f",
        "cc776718c0be7c31fe5ab4fc1446d377be60369f"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Mar 19 05:55:16 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 19 05:55:16 2015 +0000"
      },
      "message": "Merge \"camera2: Add camera client eviction enforcement.\""
    },
    {
      "commit": "cc776718c0be7c31fe5ab4fc1446d377be60369f",
      "tree": "c5f0633e27f6c36b938f6a57fea544996ac3d5ae",
      "parents": [
        "f9d19514b3e620b6339c98a442da833a702915ed"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Feb 17 20:18:47 2015 -0800"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Mar 18 22:21:21 2015 -0700"
      },
      "message": "camera2: Add camera client eviction enforcement.\n\n- This updates the CameraService to implement client\n  eviction behavior based on process priority.\n\nBug: 19186859\n\nChange-Id: I646939b1cdf1a2237c4e5044164d55a2542cf36e\n"
    },
    {
      "commit": "b97babb8c08969b55af3b6456d15f764c8873d3f",
      "tree": "e972ec2e9ff83219464a753f4298aa37c3220e55",
      "parents": [
        "802a568f77b9a372537e4216b2a7cbb203958a87"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 12 13:42:44 2015 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Mar 18 14:15:12 2015 -0700"
      },
      "message": "Camera: plumbing rotation field through\n\nChange-Id: I0f4343a0bfa7bf09ba887c78a1da1c08daa35333\n"
    },
    {
      "commit": "d072c909d87f8150433860f6de4c11df6e09e2f9",
      "tree": "57ddf1e47d3ce322e10214991e01b509aeeb1155",
      "parents": [
        "eb0ee0e842d3b8294aa6c0b797eaf7aff3fd2f89"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Mar 16 13:39:29 2015 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Mar 16 15:39:03 2015 -0700"
      },
      "message": "Report key request message type for unprefixed EME\n\nbug: 19771299\nChange-Id: I02f0a4532b5ea8a7e680d71f45ac0da06879f3d6\n"
    },
    {
      "commit": "fdfce553a8ea19af59ecc95d8395fc50e2b5bf35",
      "tree": "e5727b283ba76cd6a31651e6f277e01866d6ded7",
      "parents": [
        "74bebe401dd966308f29b0c4f42cf6946dc64582",
        "f5e837e3c7d4b1cee3b18d740bf7d07f4d1ddc1c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 16 20:42:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 16 20:42:25 2015 +0000"
      },
      "message": "Merge \"Add FIXME to deprecate all APIs that assume a route\""
    },
    {
      "commit": "74bebe401dd966308f29b0c4f42cf6946dc64582",
      "tree": "cc6666875298f58e252864f303c1736eea44f4e3",
      "parents": [
        "8952c68ecea34cd58245577636b51a5124706893",
        "f59497bd3c190e087202043de5450ef06e92b27d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 16 20:42:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 16 20:42:24 2015 +0000"
      },
      "message": "Merge \"Update comments\""
    },
    {
      "commit": "8952c68ecea34cd58245577636b51a5124706893",
      "tree": "5788d368a7210ef6561b2bb515b8bcadc10a9830",
      "parents": [
        "b89b86d48cd5a6258e24fefd0eab888062cbdfb0",
        "14bcacaed718a506f59e8f3af66e9e0137789da6"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Mar 16 18:50:50 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 16 18:50:51 2015 +0000"
      },
      "message": "Merge \"libstagefright: add ProcessInfo to get process priority.\""
    },
    {
      "commit": "14bcacaed718a506f59e8f3af66e9e0137789da6",
      "tree": "94a2350667b013b388b5862870c670bac5a7f8d9",
      "parents": [
        "ac48c28215798e4135396f09d583b22302636735"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Mar 16 11:24:30 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Mar 16 11:26:32 2015 -0700"
      },
      "message": "libstagefright: add ProcessInfo to get process priority.\n\nBug: 19620911\nChange-Id: I240b814b8925b1d6266e6f998a7debd654a2145a\n"
    }
  ],
  "next": "0125d057ff7581c77f23c5d72a55f169b57abcc2"
}
