)]}'
{
  "log": [
    {
      "commit": "200092b7f21d2b98f30b800e79d152636f9ba225",
      "tree": "35ced5107a366d0885a6a54e5473891e5ce01317",
      "parents": [
        "4953f92be5c45d7b79448e8964ecbdc39eacb782"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 15 15:13:30 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Sep 11 09:54:52 2014 -0700"
      },
      "message": "Clean up AudioTrack position and timestamp handling\n\nReplace epoch concept by observing and accumulating server delta\npositions.  The advantage of using server deltas instead of absolute\nvalues is that they (1) are not sensitive to 32-bit wraparound,\n(2) are not sensitive to server behavior for stop(), and\n(3) prepare for future 64-bit client positions without requiring 64-bit\npositions on server.\n\nAdd comments to AudioTrack::getTimestamp() and friends\nthat the timestamp output parameter is undefined on error.\n\nDon\u0027t allow getTimestamp to return a negative frame position after stop().\n\nAccumulate the client released frames, which may be useful for a future API.\n\nBug: 11815245\nChange-Id: I652940fa2db2f34a78c012a3ead0d9204fa29c6e\n"
    },
    {
      "commit": "7ea429295a2eb31f2d9256c36c1ef53a195456ac",
      "tree": "b6c7d9d6050093b199d25e579d1407dca4ccc9e5",
      "parents": [
        "83ee5564965408307e6f045ce5faed72bc3437b0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 27 09:02:47 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 10 00:06:45 2014 -0700"
      },
      "message": "stagefright: don\u0027t use AAtomizer in AMessage\n\nBug: 15094301\nChange-Id: Ib82fb6d8fb6b48402d81f411123b3d924368eb93\n"
    },
    {
      "commit": "83ee5564965408307e6f045ce5faed72bc3437b0",
      "tree": "a06226084e4bf874ec9b361ff058e6488e44b93e",
      "parents": [
        "c99d333f59b5559248a5bf3135b7ef85b5f40133",
        "9520aa609c505cf8a9ee105bd78dc186cfb7770b"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 10 05:12:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 10 05:12:18 2014 +0000"
      },
      "message": "Merge \"CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P\" into lmp-dev"
    },
    {
      "commit": "9caf1f5677edb365c20739612cba9f59291a9afb",
      "tree": "c0e84b0ac44d03f63b5b74f961df819980876e92",
      "parents": [
        "8716e3f386f37abd3d759404ca8b3deaf46afde8",
        "0671947255321526cb1ba1ec3a20af9e8579c257"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Sep 09 23:56:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 09 23:56:05 2014 +0000"
      },
      "message": "Merge \"Add error code for insufficient output protection\" into lmp-dev"
    },
    {
      "commit": "9520aa609c505cf8a9ee105bd78dc186cfb7770b",
      "tree": "d6027b7564032ed9f307fc758b4ca49bc997674e",
      "parents": [
        "8270e1d13a101fa946848871b9903b31ff11981f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Sep 09 16:18:31 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Sep 09 16:18:31 2014 -0700"
      },
      "message": "CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P\n\nBug: 17059255\nChange-Id: Ic6b272e4ceec8fc852c9eb787370f4d366dad0ac\n"
    },
    {
      "commit": "640adb3cf89cc9b826372009fad8c9b3d120482e",
      "tree": "e51644f1d307b920cf35e364c7d7562a604ef9a5",
      "parents": [
        "f2a2d0d6731174f5ce2a7b9d6dfd96dd7f1727a4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 05 11:20:11 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 05 11:58:39 2014 -0700"
      },
      "message": "Cache audio attributes when player not available\n\nCache the audio attributes stored in a Parcel in the client-side\n MediaPlayer object if they are set through setParameter()\n before the server-side MediaPlayer is available. Apply them when\n the player is prepared.\n\nBug 17280746\n\nChange-Id: I72f1a7fc4e2b076fae8cbdede77a2f74e98b2a03\n"
    },
    {
      "commit": "d71233a846aca7035a851941c1530d04c6a65086",
      "tree": "a1f528af0c52fd0d78a1843743f2930a2684f2b2",
      "parents": [
        "acdae5d7865b604acaadd3be1c45c84ca4bf3952",
        "34581f44cde67960fbac3ba1f191a2c063ea5145"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 03 19:09:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 03 19:09:43 2014 +0000"
      },
      "message": "Merge \"Use CharacterEncodingDetector in metadataretriever\" into lmp-dev"
    },
    {
      "commit": "ea8462ccd1a882f2c7c785250bcfaa2606b53cb5",
      "tree": "e5125d090918b769896b73470f53ba52b80bdf9c",
      "parents": [
        "23c8cf958b1a756d5e0c78c46eac676676be4fdd",
        "047dd13ca42ff7cea10821ef64eb09229fa3e751"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 03 15:52:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 03 15:52:23 2014 +0000"
      },
      "message": "Merge \"Fix more potential deadlocks in ALooperRoster\" into lmp-dev"
    },
    {
      "commit": "34581f44cde67960fbac3ba1f191a2c063ea5145",
      "tree": "9c89d859f2c9cd1c622355a767e3a7c57c658e8a",
      "parents": [
        "9dd4a2ddd7caf8cbe50d8a76e0ec3e0274d2bce6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 29 16:00:28 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 02 11:54:44 2014 -0700"
      },
      "message": "Use CharacterEncodingDetector in metadataretriever\n\ninstead of media scanner. This way the java MediaMetadataRetriever API\nwill give the same result as the media scanner.\nAlso apply some tweaks to the encoding detector to improve handling of\nISO-8859-1 tags.\n\nBug: 16302581, 17205395\n\nChange-Id: I1682a7a6a8bf04cffaa455044ba72dd7fd152d49\n"
    },
    {
      "commit": "97827bd7c7e64dec22c8fe0f9e734a3c432ad7ee",
      "tree": "bead699ab93f53ccd4f5575598960bc11e1491af",
      "parents": [
        "01b9256a1358110ed718c1a83c2a1808d4afbb92"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Thu Aug 28 19:08:45 2014 -0700"
      },
      "committer": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Thu Aug 28 19:08:45 2014 -0700"
      },
      "message": "Tunneled Video Playback:\nChanged AudioHwSync token to int32_t to match Audio stack api.\n\nBug: 17112525\nChange-Id: I673819495c2e7b540e8d7572cc95796bddbf63bb\n"
    },
    {
      "commit": "0671947255321526cb1ba1ec3a20af9e8579c257",
      "tree": "f40a373993228d1c018c90f581eb674aaffdaf55",
      "parents": [
        "d42173a44721af1a600b9c8599bc736394fcc724"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Aug 28 18:00:04 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Aug 28 18:21:53 2014 -0700"
      },
      "message": "Add error code for insufficient output protection\n\nbug: 16034599\nChange-Id: Ib52c8bdae83ea138cac897bce78ab651c36c1998\n"
    },
    {
      "commit": "047dd13ca42ff7cea10821ef64eb09229fa3e751",
      "tree": "5d6a6b01170dffe63e3ecd5be195a27d4dc525a0",
      "parents": [
        "75c672fc376ef9b3ceff61a96513242b0e5ebd60"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 28 10:49:08 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 28 11:25:34 2014 -0700"
      },
      "message": "Fix more potential deadlocks in ALooperRoster\n\nBug: 17059501\nChange-Id: I242f2859527bed2d6e275c27de94fb19f4dcdc28\n"
    },
    {
      "commit": "d354d8d1b09503c0166c1f3e626cda72a3eeb83c",
      "tree": "bcb5370e8abc4611587dbef4066c0345a647c068",
      "parents": [
        "111333eaab12448f45927464c8aeacbbf9a578a1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 20 13:09:58 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 21 18:38:09 2014 -0700"
      },
      "message": "move cache prefill to GenericSource\u0027s message handler\n\nThis allows prepareAsync to be terminated by reset promptly.\n\nIt also makes it easier to do buffer update as GenericSource\ncan access the cache status now.\n\nBug: 16892748\nBug: 17182378\n\nChange-Id: Ia55c04a810fd805041cb2025f6739afa5120b5ed\n"
    },
    {
      "commit": "732c6d955524ead6c31e6e1bafbd41ea4cee525d",
      "tree": "512bb207b9013da6f9c728f77a3070a7a5b99638",
      "parents": [
        "261562316c1b652ea697c99c0f24a54112bd0385"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 14 19:54:08 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 14 19:56:58 2014 -0700"
      },
      "message": "stagefright/media: add support for codec features with text value\n\nBug: 11990470\nChange-Id: I7600d999c5f4b6821d825d25fa7e8a2bb5a80c46\n"
    },
    {
      "commit": "d018b8ffd84452a7a4b992b5325713b3256e48ff",
      "tree": "a338c848af9b637f9879a7f0293d0fafbfef4489",
      "parents": [
        "2461e0cf6ae3fe5c9b52ce9e3ac764f4aff5e5eb",
        "6ff58f04f78886b07c72c0118eb71a78d08f5651"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 17:05:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 12 16:54:46 2014 +0000"
      },
      "message": "Merge \"MediaCodecList: handle errors gracefully\" into lmp-dev"
    },
    {
      "commit": "2461e0cf6ae3fe5c9b52ce9e3ac764f4aff5e5eb",
      "tree": "449c2a4029cc6e8048b9d9d373078e5830bd9404",
      "parents": [
        "e7a1737c92cf2e84754ffbc52cfec8edeffcbc75"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 08:55:25 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 16:30:40 2014 +0000"
      },
      "message": "MediaCodecList: don\u0027t return references\n\nBug: 16905025\nChange-Id: I5b42b294f0cc785b8e4dda0e82c8f8377a46f487"
    },
    {
      "commit": "6ff58f04f78886b07c72c0118eb71a78d08f5651",
      "tree": "99652bd3f5349e5cd8c55c261e7e06b65fc06ea1",
      "parents": [
        "e7a1737c92cf2e84754ffbc52cfec8edeffcbc75"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Aug 11 16:46:15 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 09:29:29 2014 -0700"
      },
      "message": "MediaCodecList: handle errors gracefully\n\nHandle missing OMX codecs, and codecs that do not load.\nFix NULL dereference when initializing codec with no type.\n\nBug: 16907578\nBug: 16905025\nChange-Id: I5d103db36ebb029d1aab03222bf6e9324beb1566\n"
    },
    {
      "commit": "306c92dabc524f408445f7da2524c7a5e77ade63",
      "tree": "3e7b9269223865424df13a4efc513ecfe57af69c",
      "parents": [
        "de975ca87c3dbdf9b7d92dae54b3446670b2a50e",
        "cd04484f4837b8ca0041d118286ab6a98e84fc75"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Aug 11 20:26:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 11 18:20:32 2014 +0000"
      },
      "message": "Merge \"Extend downsampling ratios greater than 2:1\" into lmp-dev"
    },
    {
      "commit": "cd04484f4837b8ca0041d118286ab6a98e84fc75",
      "tree": "4b9e501bb71969c0ca5049201aeae42284ac9b80",
      "parents": [
        "53a1e46e559b00653eadf6f4bb5572679b0ee734"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Aug 07 11:04:34 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Aug 11 10:17:18 2014 -0700"
      },
      "message": "Extend downsampling ratios greater than 2:1\n\nAlso improve robustness to choice of sampling rate or buffer size\nsuch that increasing either by 10x does not cause overflow.\n\nBug: 12979141\nBug: 15933066\nChange-Id: If7989bd745d1bee3bdf811b8b7c978543ccafb65\n"
    },
    {
      "commit": "e079c76c5c29d6cca85d9debc470358588721618",
      "tree": "670b27f35b504199cdcaa1473619128a314c9ad9",
      "parents": [
        "53a1e46e559b00653eadf6f4bb5572679b0ee734",
        "5a446aafff3020d607ad6fb14cc7ae76dd8f7947"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Sat Aug 09 04:56:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 09 00:45:27 2014 +0000"
      },
      "message": "Merge \"Added Tunneled video playback support to ACodec\" into lmp-dev"
    },
    {
      "commit": "5a446aafff3020d607ad6fb14cc7ae76dd8f7947",
      "tree": "4b805d80181d7b0c8c61b4907c0f5e15a3bc3230",
      "parents": [
        "48449403a1946653074591829e8c39c8000918d1"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Tue Jul 29 16:47:56 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Aug 08 18:24:15 2014 -0700"
      },
      "message": "Added Tunneled video playback support to ACodec\n\nBug:16132368\nChange-Id: I88d2d66b8548fc203f4a2c4797196af15e56ff38\n"
    },
    {
      "commit": "7c4f0d757bfeedaab4b7ef4ccf5b0a72ec8f4306",
      "tree": "2955488eabae107a5ea3eb510aa867d05c2570f7",
      "parents": [
        "a912c194ded6c9ece78c492c68c3763f284bb5d5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 09 18:53:31 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Aug 08 18:32:22 2014 -0700"
      },
      "message": "NuPlayer: getSelectedTrack\n\nChange-Id: If5251f89b881e7f268e11a06cd3685d794c958b6\n"
    },
    {
      "commit": "ddabe554e95940891c5df9a7f092798351b5f75e",
      "tree": "5e58b35801c040a48b95c071a454a1b8bb35d7ee",
      "parents": [
        "15ff76c99482eab01934cf0f55c815a85cf06f35",
        "8045853d03649f43ea2f7107e7d2dbb9b2d20855"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 08 21:05:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 08 16:09:03 2014 +0000"
      },
      "message": "Merge \"AAC decoder: add support for controlling presentation parameters\" into lmp-dev"
    },
    {
      "commit": "8045853d03649f43ea2f7107e7d2dbb9b2d20855",
      "tree": "e11dfa27febf887acc5cc31c5e975ba74f72da11",
      "parents": [
        "b97cc6a9a3c81215e365c61b071a932073b56ff2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 01 22:17:48 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 08 11:03:32 2014 -0700"
      },
      "message": "AAC decoder: add support for controlling presentation parameters\n\nControl the dowmixing of the AAC decoder\nControl the DRC processing of the AAC decoder\n\nBug 16740915\n\nChange-Id: I9b06ea8785f56213ea120ed85eeb360c88223297\n"
    },
    {
      "commit": "317bb9163befccd87348c11bdfc0044e629b362b",
      "tree": "ae1fc56615f47aa115cf8235ddfb02d444bbf3d2",
      "parents": [
        "1198a3394a21d3c31b19395b124c77f09a8f0924",
        "251d4be8aa5ab80bc915a82a2420233bdc62018e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 08 16:12:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 07 17:50:16 2014 +0000"
      },
      "message": "Merge \"Clarify and implement MediaCodec status codes\" into lmp-dev"
    },
    {
      "commit": "251d4be8aa5ab80bc915a82a2420233bdc62018e",
      "tree": "c158da7f2cd30e99ab93a8046b2cdd1d4ba50c91",
      "parents": [
        "92ce4715315bddd158c7d4028556632f0547e3b9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 30 15:46:04 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Aug 07 12:24:31 2014 -0700"
      },
      "message": "Clarify and implement MediaCodec status codes\n\nClarify MediaCodec status codes in MediaError.h\nWhen appropriate, return OMX error codes for status.\nOptionally return a status code from CreateByType() and\nCreateByComponentName().\n\nBug: 12034929\nBug: 13976475\nChange-Id: I7463dd08d101074f730481b26127a69c9186c97e\n"
    },
    {
      "commit": "229d242665c612fd97431d1e7ac004823b47f181",
      "tree": "956d290a0474e80a9d58572f8e5b92ad373558b1",
      "parents": [
        "1381d4b5c0385aec3741073e5998773b064c1fb0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 14:16:23 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 17:49:38 2014 -0700"
      },
      "message": "stagefright: support flexible YUV format\n\n- Report flexible format for standard OMX formats that are flexible.\n- Accept flexible format when specifying video port formats.\n\nBug: 10706245\nChange-Id: I9e82bc895bb0d5d606eb05fdf83bec766eaa2046\n"
    },
    {
      "commit": "1381d4b5c0385aec3741073e5998773b064c1fb0",
      "tree": "6087b737255d34703a90d1952d48bb97646e492a",
      "parents": [
        "60b1c0e79d12a1c70758bc8d060156924635f8ba"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 15:18:35 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 17:40:13 2014 -0700"
      },
      "message": "media/playerservice: add getCodecList() to MediaPlayerService\n\nBug: 11990470\nChange-Id: I8fa45946fd9b76f9b975fc59062819c57e6881ef\n"
    },
    {
      "commit": "60b1c0e79d12a1c70758bc8d060156924635f8ba",
      "tree": "300d26ea36bca500a7105b7a94497dd1c2aa9fda",
      "parents": [
        "8accee4f0e94f19866d260be6eecd6c219eb4982"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 16:55:46 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 17:40:13 2014 -0700"
      },
      "message": "stagefright: rework media codec list and infos\n\nThis is in preparation of serving the codec list and codec infos\nfrom the mediaserver\n\nBug: 11990470\nChange-Id: Ib8e2708679c9ce461a4ba179974a740cdcdf2731\n"
    },
    {
      "commit": "8accee4f0e94f19866d260be6eecd6c219eb4982",
      "tree": "99ef44526b372dc6020f995cd78f3b9e3b1ffe58",
      "parents": [
        "3659445a8b71afba9927b9d0d8ac41782278bde5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 11:32:00 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 14:23:27 2014 -0700"
      },
      "message": "stagefright: add AString parceling, and equal/compareIgnoreCase\n\nBug: 11990470\nChange-Id: If43ada5d2e768931f4409e499eaa268edade0500\n"
    },
    {
      "commit": "a9522673f3076ea937eb2912945d7ed646ca05df",
      "tree": "144c904f29fa5a155bf0b9b2a84cd2614ab356bd",
      "parents": [
        "0893eaf7d21e3a50b81324673eaa91a6b77a39c2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 11:30:16 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 19:29:40 2014 -0700"
      },
      "message": "stagefright: move ARRAY_SIZE to foundation\n\nBug: 11990470\nChange-Id: Ifae790b774a0fb210acbe33a1310d3d6ba46e7fa\n"
    },
    {
      "commit": "29e09664c2c5b49d78f2666d38a812502a36e26b",
      "tree": "183ffe1053e1865431d5e2bb5ae9a2bb3c4c4946",
      "parents": [
        "0a0e5f02037f396237461a9840b2fc7271812bdc",
        "3de157dd8f9cd45bf9b0406268f5830887105ae1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 06 22:29:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 06 17:19:40 2014 +0000"
      },
      "message": "Merge \"some fixes for crash when extractor creation fails\" into lmp-dev"
    },
    {
      "commit": "3de157dd8f9cd45bf9b0406268f5830887105ae1",
      "tree": "4c3423bb8c2005aac32ab3519ad73978d144b8ad",
      "parents": [
        "92ce4715315bddd158c7d4028556632f0547e3b9"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 05 20:54:44 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 06 15:23:54 2014 -0700"
      },
      "message": "some fixes for crash when extractor creation fails\n\n- prefetch data for sniffing\n\n- notify error instead of crashing if extractor is NULL\n\nBug: 16818302\n\nChange-Id: I56ff4996d99ac2811d19d141f7ff7acdd7c1da17\n"
    },
    {
      "commit": "93c3d41bdb15e39dac0faea9c5b60f1637cd477c",
      "tree": "a0d739ad732f10bc9d4548923c78c590841b14da",
      "parents": [
        "92ce4715315bddd158c7d4028556632f0547e3b9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 01 14:48:35 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 06 00:38:23 2014 +0000"
      },
      "message": "AudioSystem: add API to query audio HW sync source\n\nAdd a method to query from the audio HAL the HW sync\nsource used for a given audio session.\nModify audio policy to select a direct output with HW sync\nwhen requested.\n\nBug: 16132368.\n\nChange-Id: I03038f9188f2d389f8a5fd76a671854013a4513e\n"
    },
    {
      "commit": "b97cc6a9a3c81215e365c61b071a932073b56ff2",
      "tree": "4bb80b18be290f9d3758a2b13c532daa7af224c4",
      "parents": [
        "3c6fac2c807e4234953dcdc793029a82d1f3a089"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 01 15:14:14 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 05 14:33:32 2014 -0700"
      },
      "message": "AAC encoder: add support for SBR mode selection\n\nChange-Id: Ibc07bff7710398929c135f38324dd29857fa0ea6\n"
    },
    {
      "commit": "3c9879b980ad195797543ce237ecbe479267e16f",
      "tree": "e6ffdab9fe1fb81dfb1ba381bbe96f06baefb0fc",
      "parents": [
        "e46711343b43786c049a007369a72c1c78e6c5db",
        "b97cc6a9a3c81215e365c61b071a932073b56ff2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 05 22:44:15 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 05 00:29:22 2014 +0000"
      },
      "message": "Merge \"AAC encoder: add support for SBR mode selection\" into lmp-dev"
    },
    {
      "commit": "df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871",
      "tree": "e54724362f700e3e72fc72604a3b5f568d8cee7b",
      "parents": [
        "d0fded31e473e909c018f534d3019fb5168bdcd6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 27 18:39:40 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 05 12:10:27 2014 -0700"
      },
      "message": "Add sound trigger control by audio policy\n\nAudio policy:\n- Added active capture indication to sound trigger service:\nrecognition stops if concurrent capture is not supported.\n- Added generation of reserved I/O handle and session ID for\nutterance capture.\n\nSound trigger service\n- Added sound model update callback handling.\n- Added service state callback\n- Simplified callback shared memory allocation.\n\nBug: 12378680.\n\nChange-Id: Ib0292c2733e6df90fdae480633dd9953d0016ef1\n"
    },
    {
      "commit": "ca61a8f0bc22606cb11b99bdb10a146f941d556e",
      "tree": "5fa0f5a6047155c486713879e531038879d4dcf1",
      "parents": [
        "b63d63b8afa25694d1973988d7acdfebcd01a18d",
        "16e79115e497386eaf010af388627f94314a55a3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 04 21:19:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 01 01:46:21 2014 +0000"
      },
      "message": "Merge \"MediaCodecSource: stop puller from caller\u0027s thread instead of looper\" into lmp-dev"
    },
    {
      "commit": "16e79115e497386eaf010af388627f94314a55a3",
      "tree": "600138fd3483f527278304fbf866be53f40e6ea1",
      "parents": [
        "44622db93a24219123facbbe14259000f90de728"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 01 10:30:26 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 04 11:59:05 2014 -0700"
      },
      "message": "MediaCodecSource: stop puller from caller\u0027s thread instead of looper\n\nCurrently CameraSource/AudioSource\u0027s stop() and read() are both called\nfrom the puller\u0027s looper. This works if source operates normally (i.e.\nread() returns regularly before source is stopped), as the stop() will\neventually be handled by the looper. However, if for some reason the\nsource hang, it will get stuck in read(), and the stop() will never\nbe processed, which could lead to ANR (in addition to the source hang).\n\nWe need to move the source\u0027s stop out of the puller\u0027s looper. It also\ncan\u0027t be on MediaCodecSource\u0027s looper, because the source\u0027s stop\nsynchrounously waits for all outstanding buffers to return, these\nare only returned when MediaCodecSource\u0027s looper processes the buffer.\n\nThis change moves the stop to MediaCodecSource::stop, after encoder\nis shutdown.\n\nBug: 16522726\nChange-Id: Ie91f563c5d8a98ab091bf1945af4e51f662b9403\n"
    },
    {
      "commit": "68b15554f6dca3b056eac517fe5fa2fd4ee80a33",
      "tree": "d6842666f3d062427b56f27c0b9e6e09976389a5",
      "parents": [
        "fdefe34f40ea6c8964677eaa9107958b0bdf76d0"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 30 10:19:03 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Aug 01 17:16:16 2014 +0000"
      },
      "message": "Allow device to be unprovisioned\n\nbug: 12247651\nChange-Id: I564ac8de3da2430342a028f4058e2c5ac2d85d5e\n"
    },
    {
      "commit": "1d5b45f70f684996acc24fbf3e30fa5af0a0c642",
      "tree": "b2cfc70baf6037850f8dfc2b4e3f5082eae38db4",
      "parents": [
        "89869f692c35d0ca914c7de4a1f5ff63c9920634",
        "0e8cfc36044ba97545e7c9e129b0b3e98eec5089"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 31 06:14:41 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 30 23:34:26 2014 +0000"
      },
      "message": "Merge \"stagefright: MediaCodec async operations.\" into lmp-dev"
    },
    {
      "commit": "89869f692c35d0ca914c7de4a1f5ff63c9920634",
      "tree": "8a5df7d07075e88b8323c93cf6e4ab6b21f6f55c",
      "parents": [
        "b382340f33ac2dc26fe825ceb3ef98bac8af974c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sun Jul 27 21:21:32 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 30 23:09:46 2014 -0700"
      },
      "message": "stagefright: enable decoder color format selection\n\nBug: 10706245\nChange-Id: I9a77631bfae0358be229b079228c1fcae0e77faf\n"
    },
    {
      "commit": "0e8cfc36044ba97545e7c9e129b0b3e98eec5089",
      "tree": "b5e55c1096feffd181a0497a65b0e4f34a180725",
      "parents": [
        "b382340f33ac2dc26fe825ceb3ef98bac8af974c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 30 18:54:08 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 30 18:57:54 2014 -0700"
      },
      "message": "stagefright: MediaCodec async operations.\n\nIn async mode:\n - codec must be restarted after flush\n - dequeueIn/OutputBuffers fail\n - getIn/OutputBuffers fail\n\nBug: 11990118\nChange-Id: If2d6a76ab499ee9ed4a11486fb537acbc52e66f6\n"
    },
    {
      "commit": "e9e63bcf6c36351f1129b0bdc5e93f17f0f9f0b4",
      "tree": "d48520e1b56036184891f9868fb045d20298d35f",
      "parents": [
        "a6d28be0be0fa813080a021bd6a5920a8cb4fbb1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jul 30 17:25:06 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jul 30 18:07:50 2014 -0700"
      },
      "message": "handle rotation in NuPlayer\n\nBug: 16653284\nChange-Id: I54165041da5a13498d627eee1b3ec59ef3c923b0\n"
    },
    {
      "commit": "9f2dcf14cb4bb75bd810f6ed8938e4dbbb18c651",
      "tree": "2fc62a428f44ee115084635471717dbcdd37285e",
      "parents": [
        "318be3e7d245aea99efa194a16002395b609ab90",
        "d00b7d1fb949e226b189e7d0047d78531b3264da"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 30 00:59:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 29 21:36:00 2014 +0000"
      },
      "message": "Merge \"Add isSafeArraySize for new array size checks\" into lmp-dev"
    },
    {
      "commit": "d00b7d1fb949e226b189e7d0047d78531b3264da",
      "tree": "9f77f0443da0a19b855ac50f9fdc5e0eb58893bd",
      "parents": [
        "141670d465d7673dfa6ad712ad100f84882dfa95"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jul 29 12:14:00 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 30 00:57:50 2014 +0000"
      },
      "message": "Add isSafeArraySize for new array size checks\n\nBug: 15328708\nChange-Id: I9dfca30745c3e4dda91c3894363462f8631c41a1"
    },
    {
      "commit": "4dc680607181e6a76f4e91a39366c4f5dfb7b03e",
      "tree": "5212b6ff474b8ef68a68cb1cf144f54e5348de77",
      "parents": [
        "d530d415e60373caf875a37d2d747a51470ee45c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 28 17:26:49 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 28 18:10:29 2014 -0700"
      },
      "message": "audio policy: pass session ID to capture activity methods\n\nIndicate the audio session ID when calling getInput(),\nstartInput(), stopInput(), releaseInput().\n\nBug: 12378680.\nChange-Id: I763793752f93e2f4e1445a5ab217c895af011038\n"
    },
    {
      "commit": "de3f8392fbf380ba6f09d009b00d7172477389a2",
      "tree": "77687cb28cf7dfb34ebb6317e246b3cad5672b86",
      "parents": [
        "03524dcc1215b2c468f5c8c8abe6f1c26239fd71"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 27 18:38:22 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 28 21:43:16 2014 +0000"
      },
      "message": "rename AudioSystem::newAudioSessionId()\n\nRename AudioSystem::newAudioSessionId() to\nAudioSystem::newAudioUniqueId() as it can be used\nalso for I/O handles.\n\nBug: 12378680.\nChange-Id: I611ea3b5eb57a4b0774437f477ee87dc4ccc2cc2\n"
    },
    {
      "commit": "cf2c0210c8afbe7d0661ccbbae3835b5ce73c0bf",
      "tree": "26824707249d553efaabe2003381b4e9159e199d",
      "parents": [
        "97117153a0d681be70bfa9dc9876541375355c47"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 25 16:20:43 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 28 12:06:00 2014 -0700"
      },
      "message": "AudioFlinger: update openInput() and openOutput()\n\nAdd parameters to openInput() and openOutput(): device address,\ninput source.\nAllow caller to specify a given I/O handle\nGroup parameters in a struct audio_config.\n\nBug: 12378680.\nChange-Id: I7e9af74c0d996561cc13cbee7d9012d2daf33025\n"
    },
    {
      "commit": "03c556ae1eb409ad088c49037e185946c54e1d25",
      "tree": "b8e9df056b53db4742c1684f279c92e9807fe236",
      "parents": [
        "90b16fbdef406d95a6fb2f9395719dd7b7ca6adb"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 25 07:53:14 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 25 18:48:36 2014 -0700"
      },
      "message": "stagefright: add flexible YUV support\n\nBug: 10706245\nChange-Id: Icd246f22edfc67ed5240d59f5a5bde3e5f749465\n"
    },
    {
      "commit": "90b16fbdef406d95a6fb2f9395719dd7b7ca6adb",
      "tree": "2191778875d82541447201f29dbf5fd93009909e",
      "parents": [
        "d8f33e78f9a09ffda0d7c9cadc1902044849461c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 25 07:53:14 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 25 18:48:36 2014 -0700"
      },
      "message": "stagefright: add ABuffer.CreateAsCopy\n\nBug: 10706245\nChange-Id: I8c4e96a2581a039e9e8237c3e09e2c22226da055\n"
    },
    {
      "commit": "6c28f1fb6d8262a327ffa8be5bb4c84c9ef7ce62",
      "tree": "48375fe535624304c80bb1f08388df1ec2757354",
      "parents": [
        "0f036bec92eca4c972f566355196acc3f4cbf804",
        "e07909715b44cc56df723750af93f0608210f94d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sat Jul 26 00:57:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 24 15:36:21 2014 +0000"
      },
      "message": "Merge \"CamcorderProfiles: add high speed profile constants\" into lmp-dev"
    },
    {
      "commit": "e07909715b44cc56df723750af93f0608210f94d",
      "tree": "ad5d9756f6b0fb560cd0f3adc6a0763c4e450966",
      "parents": [
        "5d76e1a639c1bae9ea7d9af1124abf1c94353344"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 23 15:17:26 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 23 15:17:26 2014 -0700"
      },
      "message": "CamcorderProfiles: add high speed profile constants\n\nChange-Id: I8f783466f8c2560820db14488acc1a309d27ab0f\n"
    },
    {
      "commit": "dc042ce074ea2cb6063f3e154da26f42b7f3b233",
      "tree": "ebba29bd35b6ef2d8eed47b26dc77ba6c8bb55bf",
      "parents": [
        "4c9a0e3e30e97a31fcd7e41cb77d15427cb9c50b",
        "92b583ad786edcbe0ae0925e2b7cc043e0849b86"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 23 02:23:51 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 22 20:44:55 2014 +0000"
      },
      "message": "Merge \"MediaRecorder: constants for webm recordering\" into lmp-dev"
    },
    {
      "commit": "92b583ad786edcbe0ae0925e2b7cc043e0849b86",
      "tree": "122cd46496220bac3037be835ad32957309cef1b",
      "parents": [
        "114819633470ebd5b346c13c2a82a0025d2d39c0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 22 19:00:02 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 22 19:01:14 2014 -0700"
      },
      "message": "MediaRecorder: constants for webm recordering\n\nBug: 16329805\nChange-Id: Idcd603545352e36a88589d3e23ccf1ee37704695\n"
    },
    {
      "commit": "114819633470ebd5b346c13c2a82a0025d2d39c0",
      "tree": "1b18e4333bb8d3bde991fcea29e956be83e94b8b",
      "parents": [
        "d8cf55d878edddfc36bb821a95b88dfb2453c2c3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 09 20:09:43 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 22 14:20:38 2014 -0700"
      },
      "message": "StagefrightRecorder: webm (video only) support\n\nBug: 16329805\nChange-Id: I8a0ecd100fca397add97a1416125bcc6aeb86364\n"
    },
    {
      "commit": "f6f4c0d7c5e2d33b38f080896466e56e2d0a97d4",
      "tree": "91469dbf726e28b68a80af692bd4160381c62e64",
      "parents": [
        "b104d5a4dfbd8415f6bc227106b9f0130350d79a",
        "114819633470ebd5b346c13c2a82a0025d2d39c0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 23 01:31:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 22 16:13:36 2014 +0000"
      },
      "message": "Merge \"StagefrightRecorder: webm (video only) support\" into lmp-dev"
    },
    {
      "commit": "b104d5a4dfbd8415f6bc227106b9f0130350d79a",
      "tree": "403d27824ffd9914ce212dd6c697d27f115ec8d0",
      "parents": [
        "3a2956d148d81194e297408179e84a47a309ef48",
        "d8cf55d878edddfc36bb821a95b88dfb2453c2c3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 23 01:31:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 22 16:13:36 2014 +0000"
      },
      "message": "Merge \"MediaWriter: make get/setStartTimeOffsetMs virtual\" into lmp-dev"
    },
    {
      "commit": "2606b10d51c2dceb851a2ea63e803aba4134bf00",
      "tree": "7a2d5f875972b20188bbce44e5e4b78cc5f0c4af",
      "parents": [
        "225d5b20409fd400bfa4ed5e9bc1d5babb498471"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 22 09:12:03 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 22 16:19:56 2014 -0700"
      },
      "message": "update battery stats for video/audio\n\nBug: 12979595\n\nChange-Id: Iafd93046a4fd9f22bcd66084deace746a7ca5d3c\n"
    },
    {
      "commit": "df813a3ba59109ca519ce0cb00a1a9144074f40e",
      "tree": "e56950313351561dce84d6001ce25ad50cb49dac",
      "parents": [
        "8bce84142802ecdc1794d59488ede629801a5cba"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Jul 20 17:58:33 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Jul 20 17:58:33 2014 -0700"
      },
      "message": "audio_attributes_t for SoundPool\n\nAdd support for the audio_attributes_t structure in the\n SoundPoool constructor.\nRemove SRC quality which was never implemented.\nRemove stream types.\n\nAdd file to contain audio helper functions related to policy.\n\nChange-Id: I1720ff15e7b23ea7b713a4395fdfac26dc3fd4da\n"
    },
    {
      "commit": "d8cf55d878edddfc36bb821a95b88dfb2453c2c3",
      "tree": "323f78b416340283ab5c899dce4702957e1e424f",
      "parents": [
        "693dd7e252529be98acd2e2585b44a6a10fa4233"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jul 17 11:46:13 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jul 17 13:40:45 2014 -0700"
      },
      "message": "MediaWriter: make get/setStartTimeOffsetMs virtual\n\nBug: 16329805\nChange-Id: Ib971dd95b54829438c8af97528f9e00b87ab3f1e\n"
    },
    {
      "commit": "513d967dae82cd03e67bff17b927cf869d9bc43e",
      "tree": "39cdc73fd9423109f42bae040267afc885dd8558",
      "parents": [
        "529c61b7e4468a3e21f302f2a92a660249daa722"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jul 15 07:57:52 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 18 17:26:39 2014 -0700"
      },
      "message": "Add MediaCodecList capabilities\n\nBug: 12065651\nChange-Id: Icfb73c0009621cd747e113d8a0cd84c966bf055d\n"
    },
    {
      "commit": "c9a11abbb6b48604ea063daedd6118024cfbfa92",
      "tree": "eb36a7ac17829b550ac64f92068788f5e80435aa",
      "parents": [
        "20965b564a606f9432177668c032ce97d1913e26"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 14:23:16 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 19:11:46 2014 -0700"
      },
      "message": "stagefright: add nonblocking MediaBufferGroup.acquire_buffer method\n\nBug: 15699665\nChange-Id: I31c1ab4413c62ff3dd4e0d5b06a398064b4aaddd\n"
    },
    {
      "commit": "8eebda045d865c2e23fc439e87fe915467812967",
      "tree": "95359b8c70afd186bf1ffa7907c398811dda2987",
      "parents": [
        "91be1fbc424035e70688e60306b755893e0fb0ae"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 14:17:09 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 15:46:03 2014 -0700"
      },
      "message": "stagefright: add nonblocking read option to MediaBuffer\n\nBug: 15699665\nChange-Id: I2aaddc4c937cf5c1e36386bafd7d396d5781bf6d\n"
    },
    {
      "commit": "7410591dad836434c72ddee66680802708b70c10",
      "tree": "697a233ffced732dbe113c927d9de61f14ea3f2c",
      "parents": [
        "b3b1660ecb67f61f9da54efced8677fa3a6f4863"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 03 12:28:53 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 17 12:13:18 2014 -0700"
      },
      "message": "Move AudioRecord frame count calculations to server\n\nBuffer frame count and notification frame count\nare now calculated by server instead of by client.\nThe server has more information and can do a better job.\n\nAlso fix a few bugs:\n\n - If a fast track was re-created, even with same pipe depth, it would fail.\n   Now it can correctly re-create a fast track provided the pipe depth is same.\n\n - Notification frame count for fast tracks was calculated by client\n   as 1/2 of the total frame count, which is a large value due to the pipe.\n   Now the notification frame count is set by server to the HAL frame count.\n   This should reduce latency for fast tracks.\n\n - EVENT_OVERRUN were happening frequently when there was sample rate conversion,\n   because the client didn\u0027t know about the sample rate conversion,\n   and under-estimated the necessary buffer size.  Now since server\n   calculates the buffer sizes, EVENT_OVERRUN is unlikely.\n\n - RecordThread::createRecordTrack_l was checking for mono and stereo\n   for fast tracks.  This is not necessary, and now we can handle a\n   multi-channel fast track.\n\nBug: 7498763\nChange-Id: I0c581618e8db33084d5ff9ed50a592990c9749e8\n"
    },
    {
      "commit": "b3b1660ecb67f61f9da54efced8677fa3a6f4863",
      "tree": "ee42a2462ff40938316b521138d1edfe8a122d4b",
      "parents": [
        "ec40d284218466d8f0e832e7eb88e6ea6c479c88"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 16 08:36:31 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 17 12:13:11 2014 -0700"
      },
      "message": "Add audio_input_flags_t to IAudioPolicyService::getInput\n\nChange-Id: I9f37be05f8dc7b85a8827a94e76ca0f45453e170\n"
    },
    {
      "commit": "ec40d284218466d8f0e832e7eb88e6ea6c479c88",
      "tree": "46ae774a4f3535d07374bed459b1dcf2bb9d8803",
      "parents": [
        "6e6704c06d61bc356e30c164081e5bcffb37920c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 15 15:31:26 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 17 12:13:07 2014 -0700"
      },
      "message": "Add audio_input_flags_t to IAudioFlinger::openInput\n\nFor backward compatibility, until flags are correctly calculated,\nwe will assume that the request is for a low latency input stream.\n\nChange-Id: I76746834e870df00833dc77cbdaa2edd2ffeec95\n"
    },
    {
      "commit": "dd235727a1b4e283deeb581559f99c2c8889da07",
      "tree": "f0adac3a3a1cc1c48e40caf470452608f12cbf20",
      "parents": [
        "d81d48961da30f657fb095ed00a697bd50266269"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jun 12 14:49:23 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 16 20:32:21 2014 +0000"
      },
      "message": "GenericSource: implement getTrackCount/getTrackInfo\n\nBug: 15153976\nChange-Id: I0204c4188d485cda026497469c7cde24f7bd5c95\n"
    },
    {
      "commit": "671160ffe81592efa376dc1ff0fc3f4ddcdebc35",
      "tree": "e80ced5238b2fac6f1a02c50223f7fa7afe20f9a",
      "parents": [
        "efebe3974d4ad5870f957b77450c26a499fc467e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jul 15 07:56:04 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jul 15 16:06:40 2014 -0700"
      },
      "message": "stagefright: add MediaCodec.reset()\n\nBug: 12034929\nChange-Id: I326f1356df89474aa088c1c87f8505b33654139d\n"
    },
    {
      "commit": "e71dcef63a746970d5c11c83207201fe8de02a78",
      "tree": "4267ac2a10922609f01fe613a06fed23ba6df009",
      "parents": [
        "388742df51084f02a362818a884f3bde71b7ef8d",
        "749dafad09d85f2aaf6902a7ff16b4087e3bc4c7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Jul 12 02:47:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 11 16:34:41 2014 +0000"
      },
      "message": "Merge \"MediaCodec: change onError cb to return CodecException\""
    },
    {
      "commit": "749dafad09d85f2aaf6902a7ff16b4087e3bc4c7",
      "tree": "993ec568afe921d76350514bce0f52c643621c91",
      "parents": [
        "c5619c7a6dcc1137fde7520351ad5284e3e958ab"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 11 16:17:14 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 11 16:19:13 2014 -0700"
      },
      "message": "MediaCodec: change onError cb to return CodecException\n\nBug: 11990118\nChange-Id: I3278aecb20df88c42fa2709a66e6166eb3cbe56f\n"
    },
    {
      "commit": "c5619c7a6dcc1137fde7520351ad5284e3e958ab",
      "tree": "715a422369125ca8ee8d2a939309ee7afa13ae50",
      "parents": [
        "7bad72237b49ac47e77ffe2a89fd26f3d171324c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 08 18:50:05 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 11 11:36:39 2014 -0700"
      },
      "message": "MediaCodec async callbacks\n\nBug: 11990118\n\nChange-Id: I6fe4b407d9c85cddec8d958620d5d356735273cf\n"
    },
    {
      "commit": "7bad72237b49ac47e77ffe2a89fd26f3d171324c",
      "tree": "1d6a75fe32fa096163ad055f2f9f98a4bbc0a7cd",
      "parents": [
        "94bda64006ed4b5c2c19634a206d29ea936fa81b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jul 08 21:26:53 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 11 01:41:46 2014 -0700"
      },
      "message": "stagefright: add indexed buffer and format getters to MediaCodec\n\nThese are designed to be called from the same thread as the one\ncalling dequeue?Buffer, and use a mutex to avoid switching\ncontext.  All other calls of MediaCodec are designed to be blocking\nand synchronous.\n\nBug: 14297827\nChange-Id: If341c6e4407ca6f10f5e0d47008dddc0e20b0a50\n"
    },
    {
      "commit": "2db91ae0e6aa33b50cc924ad65d6dc01876d220f",
      "tree": "64307e39e24244cfaa09f497067e393e5c59cc89",
      "parents": [
        "2829edccd7d2bb8244246f316face82b650b8949",
        "c5619c7a6dcc1137fde7520351ad5284e3e958ab"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 11 19:17:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 10 21:09:47 2014 +0000"
      },
      "message": "Merge \"MediaCodec async callbacks\""
    },
    {
      "commit": "2829edccd7d2bb8244246f316face82b650b8949",
      "tree": "485dbd465bc203b2227c87fe582abeffd1ece08c",
      "parents": [
        "7bad72237b49ac47e77ffe2a89fd26f3d171324c"
      ],
      "author": {
        "name": "aarti jadhav-gaikwad",
        "email": "agaikwad@nvidia.com",
        "time": "Wed Jun 18 15:25:26 2014 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 11 09:53:16 2014 -0700"
      },
      "message": "stagefright: Pass audio aac sub formats in offloadinfo\n\nPass audio aac sub formats in offloadinfo according to\naac profile. Audio HAL can take decision about offload\nusing DSP capabilities\n\nChange-Id: If269a3654b5d2b09c183212b0646ef03e06f2d8f\n"
    },
    {
      "commit": "718cee5f3ba7c0a055fbeced90f26296f8acb117",
      "tree": "c051432b32783dd4072bc460abd9fdc008d947c1",
      "parents": [
        "e8eb7a885e574858ddfe3dfd836fbe9ce62f92b8",
        "862f8455eaacc1ffb5d8911f0bc7ecc3cf7ec46c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 08 20:52:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 08 17:33:57 2014 +0000"
      },
      "message": "Merge \"handle emulation_prevention_three_bytes for AVC\""
    },
    {
      "commit": "e8eb7a885e574858ddfe3dfd836fbe9ce62f92b8",
      "tree": "cc156249deb25c2a8763a00f706662c91acbca64",
      "parents": [
        "0832b2d7d190f4fbe6f134446b2610df0cccdbbb",
        "3c1da7224155516a08d94598eb64b64204bf10f8"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jul 08 19:21:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 08 17:33:57 2014 +0000"
      },
      "message": "Merge \"AString: add startsWithIgnoreCase and endsWithIgnoreCase\""
    },
    {
      "commit": "862f8455eaacc1ffb5d8911f0bc7ecc3cf7ec46c",
      "tree": "27f7ae818997dde8df89fac5b65fd21180b21911",
      "parents": [
        "e8f2c6cfe9afc5b303ab6b0fb51e18ddce512b54"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 26 19:55:23 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 08 10:18:33 2014 -0700"
      },
      "message": "handle emulation_prevention_three_bytes for AVC\n\nbug: 15917805\nChange-Id: I824fe7eea807f8faba6b149c31890b7a5df87825\n"
    },
    {
      "commit": "d8cbe4a024ef54adf043b6ea31fa22271b8b2c51",
      "tree": "4aa4389dd9656196fd5ffd730c811839cec3723a",
      "parents": [
        "92cd05b8f2e994aabcdda5d7454c96a707dc9579"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 07 15:08:24 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 07 16:40:21 2014 -0700"
      },
      "message": "stagefright: update ACodec to use CodecBase enumerations directly\n\nBug: 11784825\nChange-Id: I9f322b78b52bfcc5040fda951486df4354cdba4f\n"
    },
    {
      "commit": "92cd05b8f2e994aabcdda5d7454c96a707dc9579",
      "tree": "3b2d9feb3aed72886d58681f9ddfa11ab67d2259",
      "parents": [
        "05ca3bfb847ff3c1980f2f0922a4d494c0e7ebab"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 07 14:55:18 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 07 16:40:21 2014 -0700"
      },
      "message": "stagefright: update MediaCodec to use CodecBase instead of ACodec\n\nMediaCodec still creates an ACodec instance in init()\n\nBug: 11784825\nChange-Id: Ifba1e1582c788056c0e59afdf68cd3a504ab3679\n"
    },
    {
      "commit": "05ca3bfb847ff3c1980f2f0922a4d494c0e7ebab",
      "tree": "4f7261e870bb514c6f935aef7a60a577c07e4502",
      "parents": [
        "2e8863b31e987f9bb54e52645e03e75120863a2e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 07 10:30:54 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 07 16:40:21 2014 -0700"
      },
      "message": "stagefright: create CodecBase interface (abstract class)\n\nThis abstracts out the ACodec dependency in MediaCodec.\n\nBug: 11784825\nChange-Id: I0aa8b56c6414865fd4b0646e2c5bd1b62d030682\n"
    },
    {
      "commit": "5c68f959eaa2e02fed5643c78e281fff42bcc0a2",
      "tree": "c2009db526d2f2d81713f149edf2bc7a7adf41b6",
      "parents": [
        "11fa4012f1c68083abfc21972f3f46da397d2c5c",
        "7df8c0b799d8f52d6386e03313286dbd7d5cdc7c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 07 13:27:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 02 20:11:01 2014 +0000"
      },
      "message": "Merge \"IAudioFlinger::openRecord now suggests notificationFrames\""
    },
    {
      "commit": "7df8c0b799d8f52d6386e03313286dbd7d5cdc7c",
      "tree": "e87404b99042b2c21ffcc0c34ac397ae14b4c2d4",
      "parents": [
        "7c6f87856c0880ee39c2107a0fc3c9b41f8c195c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 03 12:23:29 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 03 16:28:41 2014 -0700"
      },
      "message": "IAudioFlinger::openRecord now suggests notificationFrames\n\nChange-Id: I08885cc381d03c522a23289e74f0e1ed46563863\n"
    },
    {
      "commit": "7c6f87856c0880ee39c2107a0fc3c9b41f8c195c",
      "tree": "d4c39874f5524d0ef7c701d34136f719adab0a5a",
      "parents": [
        "0d3679e21146bfa497c38842c80ae1f9906a042a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 03 11:18:43 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 03 16:28:40 2014 -0700"
      },
      "message": "Add new API AudioRecord::notificationFrames()\n\nChange-Id: I27fb888f01ed547242ffaa8d4626d38c7999ad53\n"
    },
    {
      "commit": "11fa4012f1c68083abfc21972f3f46da397d2c5c",
      "tree": "308c1fe020d3a03bcee920a5b981e3e0df558903",
      "parents": [
        "665470b36f202bcc8ee2f7417f68fd2608dd07c1",
        "7c6f87856c0880ee39c2107a0fc3c9b41f8c195c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 07 13:07:47 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 02 20:11:01 2014 +0000"
      },
      "message": "Merge \"Add new API AudioRecord::notificationFrames()\""
    },
    {
      "commit": "665470b36f202bcc8ee2f7417f68fd2608dd07c1",
      "tree": "b2ab9efffb5af2d730c1899c23c1706bf4793c6d",
      "parents": [
        "5ba4440c11eb975ec0e104e0af1981838f42f57c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 03 16:37:08 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 03 16:46:52 2014 -0700"
      },
      "message": "audio: deprecate audio_stream_frame_size()\n\nBug: 15000850.\nChange-Id: I955a6efa620b8f70fa5193c7853cbe88e879c9c3\n"
    },
    {
      "commit": "5ba4440c11eb975ec0e104e0af1981838f42f57c",
      "tree": "d925693d3af7691ffdbc46fde146b7e13eb24285",
      "parents": [
        "0d3679e21146bfa497c38842c80ae1f9906a042a",
        "f947dbce4390f2c3c460325d37002a34f09c0b74"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 03 23:37:21 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 02 18:17:00 2014 +0000"
      },
      "message": "Merge \"Remove obsolete IAudioFlinger::channelCount()\""
    },
    {
      "commit": "d9d7fa0873796ac661c44a7fcd6ad5ff697ff01f",
      "tree": "237375ce1605b2d7bd896b23f0a2ba2f0235ae09",
      "parents": [
        "f92f22becdf7fce1f55d5ebd80ac2caa2ad55602"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 24 08:01:46 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 01 07:57:32 2014 -0700"
      },
      "message": "Support for audio attributes on audio output of media player\n\nChange-Id: Iae4995c98e64add1ab9e6c8ae6501515032755f5\n"
    },
    {
      "commit": "4ce87ac008bcd6a1004ca416f6d7031ba813078f",
      "tree": "6a64306bad090dbdab724ed571b768fc65f5c990",
      "parents": [
        "0784ea6c0d78351737e230a650330987f64394be",
        "c8efda9e9cd61dfe8e486c93fa8940b77cc3cceb"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Sat Jun 28 00:34:55 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 27 16:52:20 2014 +0000"
      },
      "message": "Merge \"Add HEVC encoder support to ACodec\""
    },
    {
      "commit": "c8efda9e9cd61dfe8e486c93fa8940b77cc3cceb",
      "tree": "5b4adee3de4582d833975a1283ed9ee4c83c2790",
      "parents": [
        "ddde219f2f93c1d81ff1cfaf4d3d31d95156f7a3"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Mon May 19 18:01:41 2014 -0700"
      },
      "committer": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Thu Jun 26 00:37:49 2014 +0000"
      },
      "message": "Add HEVC encoder support to ACodec\n\nBug: 14571712\nChange-Id: Idaec2394d569541f3963befe722f46f6b0007937\n"
    },
    {
      "commit": "ab5cdbaf65ca509681d2726aacdf3ac8bfb6b3fa",
      "tree": "0d406acdfea2d44cd430ef16ee2a25b7722e4b1d",
      "parents": [
        "29a8b2fe294a34ac7f004203426961a599e725ea"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 09 17:22:27 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 19 10:05:57 2014 -0700"
      },
      "message": "AudioTrack: add support for compressed audio\n\nAdd support for compressed audio playback by use\nof an AudioTrack attached to a direct output thread.\n\nBug: 9428304.\n\nChange-Id: I4a61be9cf0e31003ca85935d6e0ee38ca8192e03\n"
    },
    {
      "commit": "3c1da7224155516a08d94598eb64b64204bf10f8",
      "tree": "71b0e1b62135ca82ce6c5673dad557656023fb93",
      "parents": [
        "7a4d7d6670f1766442b54045fb420dbf42b75750"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 18 12:29:28 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 18 18:17:10 2014 -0700"
      },
      "message": "AString: add startsWithIgnoreCase and endsWithIgnoreCase\n\nChange-Id: I340159aa14d4d3d28ea675c6c5b8a82f7e731069\n"
    },
    {
      "commit": "29a8b2fe294a34ac7f004203426961a599e725ea",
      "tree": "06769995a441946136147a03e26817167e92bf88",
      "parents": [
        "7a4d7d6670f1766442b54045fb420dbf42b75750",
        "5bd3f38638acab633d181359cc9ec27b80f84d43"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 19 15:33:55 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 18 18:28:24 2014 +0000"
      },
      "message": "Merge changes I0fef0584,I322b91fa\n\n* changes:\n  AudioPolicyManager: return output for audio attributes\n  AudioTrack construction with audio attributes\n"
    },
    {
      "commit": "5bd3f38638acab633d181359cc9ec27b80f84d43",
      "tree": "f4f234ec7e3c4649beabe5b03c1a1a0b2b3cd1f2",
      "parents": [
        "faabb51ceef13bf1e3f692219ac410c1cd75d0de"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 13 16:06:54 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 18 08:07:00 2014 -0700"
      },
      "message": "AudioPolicyManager: return output for audio attributes\n\nIn AudioPolicyManager, support querying an output\n or playback strategy for audio attributes,\n instead of a stream type,\nIn AudioTrack creation, use the output returned\n for the track\u0027s attributes.\n\nChange-Id: I0fef05845ba676404775e2e338c10e6a96237268\n"
    },
    {
      "commit": "faabb51ceef13bf1e3f692219ac410c1cd75d0de",
      "tree": "ad761b6b94a1fa782774b8a3227ed7b5354112fc",
      "parents": [
        "9c68ac03f16cc32625f6965e869432eae4fded2d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 11 16:55:06 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 17 16:59:52 2014 -0700"
      },
      "message": "AudioTrack construction with audio attributes\n\nStore audio attributes in AudioTrack class.\nWhen an AudioTrack is \"set\" with non null audio\n attributes, derive a stream type that reflects\n the attributes.\nWhen an AudioTrack is \"set\" without attributes,\n and only has a stream type, derive default\n audio attributes.\n\nChange-Id: I322b91fa9a7e193118960c5e78cdddd85d66f9ad\n"
    },
    {
      "commit": "3ea91c9593c2c792f96682f436b587c278fe228c",
      "tree": "b18751e595306babd0a818897c6c91f93035235b",
      "parents": [
        "bdb8ef09f119c3fa8cc751babd483e942ad17749",
        "a7fa1d9530b6870f2c7850e3025d7db963661803"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 16 18:13:39 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 14 02:21:10 2014 +0000"
      },
      "message": "Merge \"support for CEA-608 closed caption\""
    },
    {
      "commit": "a7fa1d9530b6870f2c7850e3025d7db963661803",
      "tree": "384a6c52d5b13b09860eab611c264384e5444592",
      "parents": [
        "404fced9bfa8fa423ee210a271ca051ffd1bec13"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 11 14:49:23 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 13 10:18:09 2014 -0700"
      },
      "message": "support for CEA-608 closed caption\n\nBug: 15470448\n\nChange-Id: Ic6a527f5c35a8ee0a08a5b043336e4d193216083\n"
    },
    {
      "commit": "404fced9bfa8fa423ee210a271ca051ffd1bec13",
      "tree": "fe0cf90c5346cdcd2fcc6a78a8c245018c5f6b55",
      "parents": [
        "31dcd338b3826928646d77f23f977ecdd52598a3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 11 14:45:31 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 13 10:17:23 2014 -0700"
      },
      "message": "refactor getTrackInfo()\n\n(this is in preparation for supporting other cc source)\n\n- split into two methods: getTrackCount() and getTrackInfo()\n\n- move track info parcelling to NuPlayer\n\n- parcel in the mime type of the subtitle format\n\nBug: 15470448\nChange-Id: If00724d8c3a2b2319cb9c5f29d3fe76347bfe947\n"
    },
    {
      "commit": "bdb8ef09f119c3fa8cc751babd483e942ad17749",
      "tree": "a21381af19f59d2a902e59cb71e4ebef9068a8cf",
      "parents": [
        "9c68ac03f16cc32625f6965e869432eae4fded2d",
        "404fced9bfa8fa423ee210a271ca051ffd1bec13"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 16 18:11:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 12 17:09:07 2014 +0000"
      },
      "message": "Merge \"refactor getTrackInfo()\""
    },
    {
      "commit": "9c68ac03f16cc32625f6965e869432eae4fded2d",
      "tree": "048251826118491e784077a2cdb3e9e02dc1f208",
      "parents": [
        "20d16a8af2dc95e827be693edabde4f09eb90c32",
        "b7f24b101d43139b4c747129bfbc4ecf5c468b86"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 13 21:37:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 12 03:30:50 2014 +0000"
      },
      "message": "Merge \"AudioSystem: remove unused stream type\""
    }
  ],
  "next": "0d1004ad38955dffcb911656fc191eb29af9b4d5"
}
