)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "eb0ee0e842d3b8294aa6c0b797eaf7aff3fd2f89",
      "tree": "3a9991c2d7409caac8fca5747ea8cd1b6be83265",
      "parents": [
        "bd321b6ed912c492331216180b8677ee58c1eebd",
        "8b806ea894ca098366629458bfdd1df4866afcdf"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Mar 16 16:37:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 16 16:37:30 2015 +0000"
      },
      "message": "Merge \"libstagefright: handle MediaFormat \"priority\" key.\""
    },
    {
      "commit": "f5e837e3c7d4b1cee3b18d740bf7d07f4d1ddc1c",
      "tree": "dfc142f5ac173cb8b168cb6e31115c3be23e3a98",
      "parents": [
        "802a568f77b9a372537e4216b2a7cbb203958a87"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 03 10:17:10 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 13 16:44:25 2015 -0700"
      },
      "message": "Add FIXME to deprecate all APIs that assume a route\n\nChange-Id: I84e160e3945004338c808edd86b5dbbca1e12874\n"
    },
    {
      "commit": "f59497bd3c190e087202043de5450ef06e92b27d",
      "tree": "52ff88a5a4bd358358850e0ca16d0f9527fded4e",
      "parents": [
        "802a568f77b9a372537e4216b2a7cbb203958a87"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 26 16:35:47 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 13 16:22:16 2015 -0700"
      },
      "message": "Update comments\n\nChange-Id: I37d3c4ce22b74fe8581a886fe5a7f9fef8266dad\n"
    },
    {
      "commit": "802a568f77b9a372537e4216b2a7cbb203958a87",
      "tree": "a31c7160aef56063ee1769fe271432580e6bc3d2",
      "parents": [
        "c84eb736fd051c37e1d7e8585d14612713388a58",
        "ec8930f218fa0c1acde631543b40b5a0b28bfe1f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 13 15:38:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 13 15:38:35 2015 +0000"
      },
      "message": "Merge \"Fix warning while building mediaserver\""
    },
    {
      "commit": "8b806ea894ca098366629458bfdd1df4866afcdf",
      "tree": "b5816f654ec122ac699cefe481c36bfc2db6e125",
      "parents": [
        "2129895bac582be50d3fe067bd5cf5a088863b3a"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Mar 09 16:26:30 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Mar 12 11:37:39 2015 -0700"
      },
      "message": "libstagefright: handle MediaFormat \"priority\" key.\n\nBug: 19620911\nChange-Id: I73675c7cc3d742b9a1a98d6c0f48dcf17557e2ad\n"
    },
    {
      "commit": "3f27436a9346f043f52265da1e6a74cde2bffd4d",
      "tree": "a7404d2ba96071bea1f02f93f6782214fc1e4cc1",
      "parents": [
        "0655386a0dc15fc31883d2e38917ff0e9db89ae7"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 14:35:41 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 10 10:36:09 2015 -0700"
      },
      "message": "stagefright: don\u0027t use ALooperRoster mutex for reply handling\n\nChange replyID-s from uint32_t to an object\nMove reply handling into the loopers (to reuse a common mutex)\n\nBug: 19607784\nChange-Id: Iaa035b846c424c5687ed17ce1079b325e86c54be\n"
    },
    {
      "commit": "1c2a7a6391a5465cb5b059bb004fbbc884ce1a29",
      "tree": "ad4c1d401c2b63d328d7b047fe1cf51ffe2ce364",
      "parents": [
        "0ad38cd9674f2f7180d3310820d7dd2820159320",
        "5833b6aad2c46ba516bdc8262f4fc4667e8018ed"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Mar 10 00:47:31 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 10 00:47:31 2015 +0000"
      },
      "message": "Merge \"mediaplayer: move MediaClock from NuPlayer to libstagefright.\""
    },
    {
      "commit": "5833b6aad2c46ba516bdc8262f4fc4667e8018ed",
      "tree": "ff4014a0c9a409d1849bf9d2c7583a361ff9637b",
      "parents": [
        "e8c9a8f78a9f9213060e5d54a15cde364df3e0d0"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Mar 09 17:01:47 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Mar 09 17:01:47 2015 -0700"
      },
      "message": "mediaplayer: move MediaClock from NuPlayer to libstagefright.\n\nBug: 19666434\nChange-Id: I86865e594226419bbbbee217098f96434e43afbe\n"
    },
    {
      "commit": "ec8930f218fa0c1acde631543b40b5a0b28bfe1f",
      "tree": "0e81f9b456530eb8a745681726e4720e131bef77",
      "parents": [
        "f9d19514b3e620b6339c98a442da833a702915ed"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 09 15:56:22 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 09 15:56:22 2015 -0700"
      },
      "message": "Fix warning while building mediaserver\n\nIn file included from frameworks/av/services/audiopolicy/managerdefault/AudioPolicyManager.h:31:0,\n                 from frameworks/av/services/audiopolicy/service/AudioPolicyService.h:38,\n                 from frameworks/av/media/mediaserver/main_mediaserver.cpp:36:\nframeworks/av/services/audiopolicy/managerdefault/ConfigParsingUtils.h:29:0: warning: \"ARRAY_SIZE\" redefined\n #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))\n ^\nIn file included from frameworks/av/media/libmediaplayerservice/MediaPlayerService.h:31:0,\n                 from frameworks/av/media/mediaserver/main_mediaserver.cpp:35:\nframeworks/av/include/media/stagefright/foundation/ABase.h:21:0: note: this is the location of the previous definition\n #define ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a)))\n ^\n\nChange-Id: I4b80f783c592a78aa88b3dad297278353740466e\n"
    },
    {
      "commit": "b46f394a85d704dd05287cf9bb77cf86e3c02a38",
      "tree": "b6f8c4c2d413ca71ef3b2ca0c5a32c97d7959979",
      "parents": [
        "54a8a456c2b4b382b3ffe3d99e40703df79c0717"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 09 12:00:30 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 09 14:17:25 2015 -0700"
      },
      "message": "AudioTrack::obtainBuffer() now returns number of non-contiguous frames\n\nChange-Id: I1f61d7e3d057c3254babe456b4aa0f6a1809da55\n"
    },
    {
      "commit": "54a8a456c2b4b382b3ffe3d99e40703df79c0717",
      "tree": "3ddae33bf1e144cfa93b9c6ee43bcc7d97ba80b3",
      "parents": [
        "3f02be2ceeaa4b67dc0b1a81aebcfa049276fad8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 09 12:03:00 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 09 14:13:15 2015 -0700"
      },
      "message": "AudioTrack::releaseBuffer parameter is const *\n\nChange-Id: I31ac20863107de05b83cd7f8cd7dd61bed98e456\n"
    },
    {
      "commit": "3f02be2ceeaa4b67dc0b1a81aebcfa049276fad8",
      "tree": "185789eccf36d1b1bd892755ada9471258267a48",
      "parents": [
        "f9d19514b3e620b6339c98a442da833a702915ed"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 09 11:59:04 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 09 14:13:10 2015 -0700"
      },
      "message": "AudioTrack obtain/release buffer comments\n\nChange-Id: I0eb178d1ab4eea7f72f4c55852c19b216ca55f5f\n"
    },
    {
      "commit": "f9d19514b3e620b6339c98a442da833a702915ed",
      "tree": "9b7815dc186d937c8f6753d714472391b227d2c1",
      "parents": [
        "c4fb3345f114b47c8893ab0482ad850f99f65b7c",
        "f22e0d8849dd8bd0581297288c2597d0666382aa"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Mar 06 21:18:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 06 21:18:49 2015 +0000"
      },
      "message": "Merge \"Include ABase.h to get definition of DISALLOW_EVIL_CONSTRUCTORS.\""
    },
    {
      "commit": "f22e0d8849dd8bd0581297288c2597d0666382aa",
      "tree": "a5727bdfd99a6cb8ba43a154197d840a14381bf5",
      "parents": [
        "1a86a8adbf4ab43a6aed2c3c8aa0830c001adb77"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Feb 27 15:19:09 2015 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Mar 06 11:08:48 2015 -0800"
      },
      "message": "Include ABase.h to get definition of DISALLOW_EVIL_CONSTRUCTORS.\n\nChange-Id: I13e375e67f20203c542b5350a55f42e925205b11\n"
    },
    {
      "commit": "fa8b4792228083a4c95e8bd1c28690d44bb48bd6",
      "tree": "5f521f522d653c8a550ccb73389103a886583728",
      "parents": [
        "1d15ab58bf8239069ef343de6cb21aabf3ef7d78"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 04 16:51:05 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 17:49:51 2015 -0800"
      },
      "message": "stagefright: remove AMessage methods using id()\n\nBug: 19607784\nChange-Id: I4b2ca396fb50cde5e7dc9801add69037febe698d\n"
    },
    {
      "commit": "5804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14",
      "tree": "159660930b1c7f6300ea3054e47ce46719083a16",
      "parents": [
        "c10e7f121d346b433c32d1c0d791c4b547cbe60e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 04 17:00:10 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 17:49:50 2015 -0800"
      },
      "message": "stagefright: use handler instead of handler-id in AMessage\n\nThis avoids locking gLooperRoster mutex on post() and deliver().\n\nBug: 19607784\nChange-Id: If6d9d7884dbb08fc390983bda896d223803476ba\n"
    },
    {
      "commit": "7d3f4df0a77e052a7d37de9268aff8c2ed0909cc",
      "tree": "060550294c95fe8a35ba5c7c0c9d476d7c91d788",
      "parents": [
        "1ba399206f6a99fec17331186041b55c3733c8d8"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Mar 03 15:28:00 2015 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Mar 03 15:28:00 2015 -0800"
      },
      "message": "mediaplayer: use non-blocking mode for AudioSink::write().\n\nThis cherry picks https://googleplex-android-review.git.corp.google.com/#/c/643541/ to master.\n\nBug: 19448263\nChange-Id: I43dea830212de79c2b080185b6c6b36078f517d2\n"
    },
    {
      "commit": "d4bd93b22ab9f7dfa32dfc6d48e008db3ea9c634",
      "tree": "6e1effbb661cd90a1c09aed0db9cc44cedaf1544",
      "parents": [
        "9060199701c97b290aa4a4184d147e0311ab8897",
        "0e48d25606c82def035ad10a5b3923767a765cdd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 28 00:38:24 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 28 00:38:25 2015 +0000"
      },
      "message": "Merge \"Change AudioTrack resampling buffers from 3 to 2\""
    },
    {
      "commit": "212765f2d5ee6e533f3d032d6609125faa95bf48",
      "tree": "8e6701ad7c2b2af5f9200ab79960de1c724f7635",
      "parents": [
        "7c4820d23b68f748b8dfff3d4bb5b13e9d4811a8",
        "9816016afb2a13c6a866cd047d57020566a8b9a9"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 25 23:10:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 25 23:10:07 2015 +0000"
      },
      "message": "Merge \"mediaplayer: support dynamic playback rate\""
    },
    {
      "commit": "7c4820d23b68f748b8dfff3d4bb5b13e9d4811a8",
      "tree": "fd40072d962315e5231ee6ab4cdcc4b8a8810620",
      "parents": [
        "9ee53a49860e91c2b012883eef09d669a7829e06"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Feb 23 18:04:16 2015 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 25 11:27:21 2015 -0800"
      },
      "message": "MPEG4Writer: add software version to mp4 meta\n\nand account for meta data and geo data when estimating moov size\n\nbug: 19460202\n\nChange-Id: I094d15f47dda5e41217181cdb3ac519c00330de5\n"
    },
    {
      "commit": "9816016afb2a13c6a866cd047d57020566a8b9a9",
      "tree": "176a616a7d5da21447e880158cef57516efee9c3",
      "parents": [
        "658fc18d8e632441cd5d83a4f74b53620cbac1fe"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 04 17:01:11 2015 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 24 16:34:11 2015 -0800"
      },
      "message": "mediaplayer: support dynamic playback rate\n\nBug: 19196501\n\nChange-Id: I856b1507d5fa2cedfb645706d2435683a7d3e050\n"
    },
    {
      "commit": "e76dba7af9589d9ed7b116eec3a74168a8352925",
      "tree": "72e7b80fdae4639095997418c83d7f53701b203f",
      "parents": [
        "07aed75a681793474487e7e5e100d21c2f31de9c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 18 16:06:29 2015 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Feb 23 13:59:09 2015 -0800"
      },
      "message": "MPEG4Writer: add capture fps in meta data\n\nbug: 19460202\n\nChange-Id: I3a6ea3a5149d124ca9a2487a300dcc2db4405d0f\n"
    },
    {
      "commit": "1f9b6745d7c88dac2bfd19d583c3d98b361f67b3",
      "tree": "fa16251e7e839cc14b09074a4874dfab2f1c00cb",
      "parents": [
        "2d9ded1d03653c747ba173f622e19ed6d56f26f4",
        "56fbb4d7bcb34af71a08cd126891afafdec217f1"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:31:34 2015 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:31:34 2015 -0800"
      },
      "message": "Merge commit \u002756fbb4d7bcb34af71a08cd126891afafdec217f1\u0027 into HEAD\n"
    },
    {
      "commit": "1fb8290c1f99e1db96b681e6eaae0193ea81674e",
      "tree": "8325cc8242245d4c5c29e8ac13d84fea29b20694",
      "parents": [
        "8d48bed0f29cf008ddc9e56bb0661f34b8e7c724",
        "a7c1df10d39a8056ca755ccd77b06816c6de3225"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 18 23:05:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 18 23:05:27 2015 +0000"
      },
      "message": "am a7c1df10: am a963dacc: am 64753517: Merge \"Add dumpsys info\"\n\n* commit \u0027a7c1df10d39a8056ca755ccd77b06816c6de3225\u0027:\n  Add dumpsys info\n"
    },
    {
      "commit": "a7c1df10d39a8056ca755ccd77b06816c6de3225",
      "tree": "d4aac4ec69928dc5667675b204b5337ff28591b6",
      "parents": [
        "56fbb4d7bcb34af71a08cd126891afafdec217f1",
        "a963dacc1b44ec80742c86ce75611eb9cfa936ea"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 18 22:57:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 18 22:57:42 2015 +0000"
      },
      "message": "am a963dacc: am 64753517: Merge \"Add dumpsys info\"\n\n* commit \u0027a963dacc1b44ec80742c86ce75611eb9cfa936ea\u0027:\n  Add dumpsys info\n"
    },
    {
      "commit": "f09611f2f33752afc28141e1bbaa897651c05d6f",
      "tree": "0c22a41f082abda66b93bb73840a072c8837d277",
      "parents": [
        "ec0472ba9c1cfaee293636536f3951c0e6e671b4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 13 14:12:42 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 18 09:14:06 2015 -0800"
      },
      "message": "Add dumpsys info\n\nPrint a list of looper-handler pairs and the number of messages\nthey\u0027ve processed, and optionally break those stats out by\nmessage type.\n\nChange-Id: I68ce4a7003152d5c9b5cb3f42e6f3949b471aa6e\n"
    },
    {
      "commit": "37b2b389139ed638831e49708c947863eef631ef",
      "tree": "0c0ea0f002452b5108dee8e3b24a9948415f3788",
      "parents": [
        "e2cce8139fb5a205170d4e878cc9fea5493755d1"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Jan 26 15:47:10 2015 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Feb 12 22:39:44 2015 +0000"
      },
      "message": "stagefright: add support for limiting framerate in GraphicBufferSource\n\nBug: 19014096\nChange-Id: I6de781e4d140a247dfd8fd8f12c3ddd7baa39ad4\n"
    },
    {
      "commit": "49c9a53d098091791b0e6e2d97ce6bf0d562d17e",
      "tree": "54d465b8b2e933cda923baa0d7e8e1e857b67878",
      "parents": [
        "c9f122d8f32ba6928ac9087448025fa3bed1553d",
        "157defdde7013062bbd04f7e873b6856adce14ca"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 10 15:57:08 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 10 15:57:08 2015 -0800"
      },
      "message": "resolved conflicts for merge of 157defdd to master\n\nChange-Id: I14fd8063fa052f16868b8053a211190092131317\n"
    },
    {
      "commit": "157defdde7013062bbd04f7e873b6856adce14ca",
      "tree": "bf6503e41529df950c27f694e256519add85752b",
      "parents": [
        "6d5a1afac2a7bca6b171261ca9b237c3a516e567",
        "4fc5d758d6722bedf341e5d93a0ba5698c658c29"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 10 04:33:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 10 04:33:08 2015 +0000"
      },
      "message": "am 4fc5d758: am 0c11f31b: Merge \"nuplayer: acquire wakelock during offload pause timeout\" into lmp-mr1-dev\n\n* commit \u00274fc5d758d6722bedf341e5d93a0ba5698c658c29\u0027:\n  nuplayer: acquire wakelock during offload pause timeout\n"
    },
    {
      "commit": "35d5af131c9d4962e935082f204ccd6a2130861c",
      "tree": "3a0456f7e9ddba7cddb0769f2a15d1589f820647",
      "parents": [
        "17e95f40a534101e2df48f077a8029430adef6c3"
      ],
      "author": {
        "name": "Weiyin Jiang",
        "email": "wjiang@codeaurora.org",
        "time": "Wed Jan 28 16:14:02 2015 +0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 06 16:32:24 2015 -0800"
      },
      "message": "nuplayer: acquire wakelock during offload pause timeout\n\nHold a wakelock while paused in audio offload mode, until audio\nteardown event is received, or pause is canceled.\n\nSince ARM cores are sleeping, the delayed AMessage will not be\nreceived, and the audio output driver will not be closed.\nThis blocks XO shutdown.\n\nBug: 19297092\nChange-Id: I3d11fef633e3f2783f4aa31e71285e2fa09d234c\n"
    },
    {
      "commit": "0e48d25606c82def035ad10a5b3923767a765cdd",
      "tree": "2811d0042ca0c670bb6fb9cffa83b82de33f8ff8",
      "parents": [
        "c42ab4fcd42875ef74f8e9b8d8150f7bcfd0cd3b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 26 11:43:15 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 06 11:51:26 2015 -0800"
      },
      "message": "Change AudioTrack resampling buffers from 3 to 2\n\nMove computation of minimum AudioTrack buffer size to server\nfor normal streaming PCM tracks.\n\nUse server-side computation to exactly determine requirements\nfor the resampler to avoid triple buffering.\n\nThis reduces latency for normal audio tracks that require resampling,\nand makes things consistent with the minimum buffer size.\n\nChange-Id: I2f2ca0e599ee20e16559bc5c5dab61ed100da16c\n"
    },
    {
      "commit": "5549bb5b651db8465ac846b3490eee9378253a76",
      "tree": "2757856f19bcb7ad453411ed3c8ab4ac3ce8cf2e",
      "parents": [
        "9fdb3bd42af0876a9b76bae42d7aba2287b53af4",
        "e576086224f6e630159eaeec59ab5146c8533dc7"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 06 13:31:54 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 06 13:31:54 2015 +0000"
      },
      "message": "am e5760862: am bcd22f0f: am 0662f5b0: Merge \"stagefright: add fallback for native flex-YUV support\" into lmp-mr1-dev\n\n* commit \u0027e576086224f6e630159eaeec59ab5146c8533dc7\u0027:\n  stagefright: add fallback for native flex-YUV support\n"
    },
    {
      "commit": "e576086224f6e630159eaeec59ab5146c8533dc7",
      "tree": "5a9605c000abb905142dfad5e6597915ab51f784",
      "parents": [
        "7dbbc7ec95c3040668388162a0ffbc45b68af6f1",
        "bcd22f0f3a4cd5f78e03af23aafadb2d1aec6794"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 06 00:06:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 06 00:06:50 2015 +0000"
      },
      "message": "am bcd22f0f: am 0662f5b0: Merge \"stagefright: add fallback for native flex-YUV support\" into lmp-mr1-dev\n\n* commit \u0027bcd22f0f3a4cd5f78e03af23aafadb2d1aec6794\u0027:\n  stagefright: add fallback for native flex-YUV support\n"
    },
    {
      "commit": "e743a47f445f02a0612018fa5640301304844fbf",
      "tree": "b8db2098c4e585e2e4d918db4c01a19fb5cf6be4",
      "parents": [
        "b96efd3cd7ff49e85049a1515b8bb3b7514dce0b"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Wed Jan 28 11:07:31 2015 -0800"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Feb 05 09:54:20 2015 -0800"
      },
      "message": "Add additional info to AudioPort for enum/selection API.\n\nAdd \"device name\" member to AudioPort.\nMoved unique device ID from DevicePort to AudioPort.\nStraighten out confusion between \"name\" and \"address\"\nCreated string constants for Intent \"extra\" data keys.\nCombine card/address data into \"address\" at sender.Add additional info to AudioPort for enum/selection API.\n\nChange-Id: I1be308e12b09cd0ead9a3e9fbc9c385462299fb5\n"
    },
    {
      "commit": "d6ad19fef4d5230f1003a3adc756d30b9338cdcf",
      "tree": "2122477af1853a9927782719318a28bb0a63573e",
      "parents": [
        "0a08a1e0dd576f0682cf7d665fe940bc26af52d7",
        "3b5d119522bdf9c23be622be395d7a95d465616e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 04 21:17:58 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 21:17:58 2015 +0000"
      },
      "message": "am 3b5d1195: am 7b66f713: am 57f75272: Merge \"stagefright: add support for native flex-YUV formats\" into lmp-mr1-dev\n\n* commit \u00273b5d119522bdf9c23be622be395d7a95d465616e\u0027:\n  stagefright: add support for native flex-YUV formats\n"
    },
    {
      "commit": "3b5d119522bdf9c23be622be395d7a95d465616e",
      "tree": "9f7e695fabcdf8f849b2be640903ae635c16a18e",
      "parents": [
        "e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7",
        "7b66f713fc53ee81453763788c02f3c741d19520"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 04 21:11:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 21:11:33 2015 +0000"
      },
      "message": "am 7b66f713: am 57f75272: Merge \"stagefright: add support for native flex-YUV formats\" into lmp-mr1-dev\n\n* commit \u00277b66f713fc53ee81453763788c02f3c741d19520\u0027:\n  stagefright: add support for native flex-YUV formats\n"
    },
    {
      "commit": "3a01a71dcbb467d06cc5da4a72a82bb588648cfc",
      "tree": "f35a84d74ff7cbcf6199d46c444acae9775880f8",
      "parents": [
        "57f75272fcd16b205ed60cdd0b33ffc19991fd10"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jan 30 19:30:05 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 04 12:58:17 2015 -0800"
      },
      "message": "stagefright: add fallback for native flex-YUV support\n\nUse software renderer if codec cannot support flex-YUV on a surface\n\nBug: 17906609\nChange-Id: I3d0e3ff5fee7d7b3e2416892968fa18f6139598a\n"
    },
    {
      "commit": "0a08a1e0dd576f0682cf7d665fe940bc26af52d7",
      "tree": "746bd7b6a582058ec43637bb8f1934e27e4990f9",
      "parents": [
        "4db561713aae35445c2551a1c1049e7a858af197",
        "e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 04 20:21:01 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 20:21:01 2015 +0000"
      },
      "message": "am e91c3dd0: am 6a025acb: am ec0472ba: Merge \"Move AString\\\u0027s StringPrintf out of the way.\"\n\n* commit \u0027e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7\u0027:\n  Move AString\u0027s StringPrintf out of the way.\n"
    },
    {
      "commit": "e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7",
      "tree": "9e7913af62ee68d339a399723f83c4ef05b79d32",
      "parents": [
        "7bc903581f879c86f3881a2f7563bd28c1ac29b7",
        "6a025acb630a3ac4a84715d188aeb48f1946bc3f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 04 20:14:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 20:14:50 2015 +0000"
      },
      "message": "am 6a025acb: am ec0472ba: Merge \"Move AString\\\u0027s StringPrintf out of the way.\"\n\n* commit \u00276a025acb630a3ac4a84715d188aeb48f1946bc3f\u0027:\n  Move AString\u0027s StringPrintf out of the way.\n"
    },
    {
      "commit": "a1e8944a21e5833b7aadc451776f11797f5f9273",
      "tree": "b7f4c150346d21f4862f231160c7df6602509a12",
      "parents": [
        "16e8d463bc5c8805ae6815c67875b16d177a9d8a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 04 11:54:28 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 04 11:54:28 2015 -0800"
      },
      "message": "Move AString\u0027s StringPrintf out of the way.\n\nWe should come back and replace AString with std::string and switch to the\n\"real\" StringPrintf family, but this fixes the ODR violation that was\npreventing us from booting.\n\nBug: 19265750\nChange-Id: I798eb9ca5dd634e44625af5e583439ef9f0cdc35\n"
    },
    {
      "commit": "0d09182a1dde960f7acda1c28469e5deead1b996",
      "tree": "ccbf3a9429264d06cb957f2664ae47fef80e3646",
      "parents": [
        "efbb61950db36a5eb789be83f077246172507c67"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jan 30 14:07:25 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 04 00:02:58 2015 -0800"
      },
      "message": "stagefright: add support for native flex-YUV formats\n\nBug: 17906609\nChange-Id: I14116796eaa94aa8ae62dcc29f67cb7d2c060d34\n"
    },
    {
      "commit": "82a4ca039f600569726df0326269b4ac1a78fc6c",
      "tree": "e25655727edd3260fca511a3dd6b056408405a29",
      "parents": [
        "d7dbf4179aa87a018d4a8a4cd0958a5ed5d7fe5f",
        "a601b86287ab5437a7e9aaf6f09bc171803cdc3d"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Mon Feb 02 15:37:11 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 02 15:37:11 2015 +0000"
      },
      "message": "am a601b862: am c9e11696: am 36dca156: Merge \"Acodec: Send framerate information to OMX decoder if available\" into lmp-mr1-dev\n\n* commit \u0027a601b86287ab5437a7e9aaf6f09bc171803cdc3d\u0027:\n  Acodec: Send framerate information to OMX decoder if available\n"
    },
    {
      "commit": "a601b86287ab5437a7e9aaf6f09bc171803cdc3d",
      "tree": "5e262eb49429ca1d98f11ee83e68a3a3846ada7a",
      "parents": [
        "82bbd248d0578e5da04aa95d9906006275c330b5",
        "c9e11696c4f80e9803f7e65e29af962f199a574d"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Mon Feb 02 15:30:01 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 02 15:30:01 2015 +0000"
      },
      "message": "am c9e11696: am 36dca156: Merge \"Acodec: Send framerate information to OMX decoder if available\" into lmp-mr1-dev\n\n* commit \u0027c9e11696c4f80e9803f7e65e29af962f199a574d\u0027:\n  Acodec: Send framerate information to OMX decoder if available\n"
    },
    {
      "commit": "78b01639c08fe5e7e9c1be5e9dc5de560f1383f9",
      "tree": "0187106f6f7e64716a6cc66a57450559fc61d400",
      "parents": [
        "64c496c8d51c71605cd34a510da2ecd8180656ec"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Thu Jan 29 19:24:08 2015 -0800"
      },
      "committer": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Thu Jan 29 19:24:08 2015 -0800"
      },
      "message": "Acodec: Send framerate information to OMX decoder if available\n\nBug: 19110889\nChange-Id: Ia8dbe1b77aaac421ec9415884e1248b9b68168dc\n"
    },
    {
      "commit": "980b106908cb8e105bb8849749722c5088e2f6eb",
      "tree": "0e5e837bd3f127e7af4caffc0e2ec83444466a83",
      "parents": [
        "5c2be9eddba74a503c55808816aa37cc8ce18c50",
        "9391844deb3f6a442745cea62f78aca2cea19e50"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 27 15:38:17 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 27 15:38:17 2015 -0800"
      },
      "message": "resolved conflicts for merge of 9391844d to master\n\nChange-Id: I348a71d1b3e3238bc3871a69454edc8247d03111\n"
    },
    {
      "commit": "9391844deb3f6a442745cea62f78aca2cea19e50",
      "tree": "c8868256f6cbd8e683b45c7fa4e3d56aa26d2574",
      "parents": [
        "b7909adcef247c627fbe8026624b9ecbeba47655",
        "b955b7224382b488a4d8d5663c92118feb8deb1e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 27 10:04:01 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 27 10:04:01 2015 -0800"
      },
      "message": "resolved conflicts for merge of b955b722 to lmp-mr1-dev-plus-aosp\n\nChange-Id: I385371869169eee4fe6330ffe0abc5eda4cb4f72\n"
    },
    {
      "commit": "b7848f1c442bc8c71020957948d1b003a62a25b7",
      "tree": "b0a1dfd418429171c0af5379a1820569775a840b",
      "parents": [
        "1ed13b3b443735e7f7b5002954f31741b0b1c572"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 04 08:57:56 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 26 07:57:39 2015 -0800"
      },
      "message": "Remove MediaPlayerService::decode()\n\nand make SoundPool use MediaCodec for decoding files to PCM.\n\nBug: 18239054\nChange-Id: Ia144fc1bbb0d2787638ee972e2224339b4965310\n"
    },
    {
      "commit": "dda683a2ccb84ccc840b76e2ced10052f65ce43e",
      "tree": "dcea45fba84635e924e42c60c710ae2b8789c9d2",
      "parents": [
        "d488982887e24f4a8e61f68d945a2f113f43579e",
        "abdb990953ffe94a9dc544aea0bed17ef7d5f484"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 15 22:56:03 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 15 22:56:03 2015 +0000"
      },
      "message": "Merge \"Allow AUDIO_FORMAT_PCM_8_BIT AudioTrack buffers\""
    },
    {
      "commit": "abdb990953ffe94a9dc544aea0bed17ef7d5f484",
      "tree": "a5cba46c6820b02771d0759bdb1ef6b6d6292356",
      "parents": [
        "2d85f097d653b21d1ff2c34f0b732c674d20ccc2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 12 15:08:22 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 14 13:11:38 2015 -0800"
      },
      "message": "Allow AUDIO_FORMAT_PCM_8_BIT AudioTrack buffers\n\nPreviously conversion to AUDIO_FORMAT_PCM_16_BIT was required.\nClient shared memory for static tracks and AudioFlinger track creation\nand buffer delivery now use native 8 bit PCM data.\n\nChange-Id: I485c07a4971fde9a25442bd43fed95019d39abcc\n"
    }
  ],
  "next": "17c933cc07be9656aee8afc82dc866a67b3fd78e"
}
