)]}'
{
  "log": [
    {
      "commit": "5a4b1aaee6109252e268b1e5d0c15b59e21ce993",
      "tree": "6562454f863a38d838d3ce30dca258b754b98456",
      "parents": [
        "43089daaf82bd2b8e5f9a29b80af5abaae4657b3",
        "02bbd20cece1785c223ac4ca2ddc635931a80673"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 10 13:30:24 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 13:30:24 2012 -0800"
      },
      "message": "Merge \"Rename type() to streamType()\""
    },
    {
      "commit": "43089daaf82bd2b8e5f9a29b80af5abaae4657b3",
      "tree": "f02db6abff1cd9d35151468dee35fc0b741e80d3",
      "parents": [
        "5ec58d925520e6913fba3fc54413881af751c610"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 09 11:53:57 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 09 15:02:08 2012 -0800"
      },
      "message": "Finish up B frame support in MPEG4Writer\n\no optimize to reduce the size of the size of the ctts box\no change the type for the time offset field in ctts table entry from int32_t to uint32_t according to the mp4 file spec\no also moved away from MediaDebug and used ADebug instead.\n\no related-to-bug: 4232183\n\nChange-Id: I19364303728da64359c63169eec7487508c1d0f8\n"
    },
    {
      "commit": "5ec58d925520e6913fba3fc54413881af751c610",
      "tree": "d833f4cf3772a3f3b8a68d2cc1060ed58840b82f",
      "parents": [
        "7ae4a2c130ec2cb5dec69d095b810698acc543b3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 09 09:55:45 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 09 14:32:08 2012 -0800"
      },
      "message": "Experiment with seeking to closest frame instead of closest syncframe\n\nAlso supports SEEK_CLOSEST mode in the Matroska/Webm extractor.\n\nChange-Id: I257771648dfe41392a4cf8932f625489dcb9f234\n"
    },
    {
      "commit": "02bbd20cece1785c223ac4ca2ddc635931a80673",
      "tree": "f43adecd4648ff511eacc7ca2921c167ed3220de",
      "parents": [
        "98ec94c5854daccc3474758524e7f4adfe535ce0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 12:35:35 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 12:52:00 2012 -0800"
      },
      "message": "Rename type() to streamType()\n\nThis avoids possible confusion with thread\u0027s type().\nAlso remove redundant cast \"(audio_stream_type_t)\".\n\nChange-Id: I320b9177b6c267a102d215f002228bcf988c437a\n"
    },
    {
      "commit": "7ae4a2c130ec2cb5dec69d095b810698acc543b3",
      "tree": "40ab500ed6b99d4662be5abee1a8fe98f2d58902",
      "parents": [
        "98ec94c5854daccc3474758524e7f4adfe535ce0",
        "000e18370baae60ffd9f25b509501dd8c26deabf"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 08 10:42:35 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 10:42:35 2012 -0800"
      },
      "message": "Merge \"Enable B frame support in MPEG4Writer\""
    },
    {
      "commit": "98ec94c5854daccc3474758524e7f4adfe535ce0",
      "tree": "bec80965e65828ee2f890d25c275fd3bf422eb45",
      "parents": [
        "72ef00de10fa95bfcb948ed88ab9b7a177ed0b48"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 25 14:28:29 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 10:24:54 2012 -0800"
      },
      "message": "Combine duplicate code \u0026 document wp\u003c\u003e in mClients\n\nChange-Id: Iea8cfe8e57563337fb2484a1246ef79d6ad3db18\n"
    },
    {
      "commit": "72ef00de10fa95bfcb948ed88ab9b7a177ed0b48",
      "tree": "beeaffd33a57a6cc5fa48f2fa905fc680c4746d1",
      "parents": [
        "dbfafaffe2e97eaf8d74ec6b6c468418a1ad2443"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 11:09:42 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 10:06:32 2012 -0800"
      },
      "message": "Use audio_io_handle_t consistently instead of int\n\nOther:\n - add a comment to nextUniqueId\n - made ThreadBase::mId const, since it is only assigned in constructor.\n\nChange-Id: I4e8b7bec4e45badcde6274d574b8a9aabd046837\n"
    },
    {
      "commit": "dbfafaffe2e97eaf8d74ec6b6c468418a1ad2443",
      "tree": "594fe80487e000923e244f40ecd3adbd138608fb",
      "parents": [
        "5e92a7861196ddae14638d4b7a63fc4892b7ef59"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 25 15:27:15 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 09:49:14 2012 -0800"
      },
      "message": "Simplify destructors\n\nRemove explicit clear() when the order doesn\u0027t matter.\n\nChange-Id: I5931bc7ef5f681c7ce329aa9ec0a6e46d34a56c5\n"
    },
    {
      "commit": "5e92a7861196ddae14638d4b7a63fc4892b7ef59",
      "tree": "6772b944a26acb22381a2eb38871b46cff9d856a",
      "parents": [
        "0a20fa9c41c96e31fa20e071074a4b6e7f6c41c3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 30 07:40:52 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 09:21:39 2012 -0800"
      },
      "message": "Effect UUID inputs passed by pointer are const\n\nChange-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8\n"
    },
    {
      "commit": "0a20fa9c41c96e31fa20e071074a4b6e7f6c41c3",
      "tree": "128bf63eaea4d94fbf42d6954cd92046f90bf98e",
      "parents": [
        "b61ec89bb0c701b3bd06eb658f854230681f8b39",
        "bb001926447d0b7dc71ca8bb3c9856f3136d8f4c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 08:40:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 08:40:28 2012 -0800"
      },
      "message": "Merge \"Use pid_t not int\""
    },
    {
      "commit": "b61ec89bb0c701b3bd06eb658f854230681f8b39",
      "tree": "d1281080768cd8ab98f97cc331e2e7bb27019059",
      "parents": [
        "63d2daed17ab749baa80bc808fb5083b688b771b",
        "1a0ae5be3d1273cba12584b33830d859510fbf82"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 08:40:15 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 08:40:15 2012 -0800"
      },
      "message": "Merge \"Don\u0027t double destruct audio_track_cblk_t\""
    },
    {
      "commit": "63d2daed17ab749baa80bc808fb5083b688b771b",
      "tree": "735cfc77d2082c044816fe367f33401fd5b472c7",
      "parents": [
        "4f9b0c54011eb8fd2ccfb393c2dcd51cd07800e0",
        "c59c004a3a6042c0990d71179f88eee2ce781e3c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 08:39:39 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 08:39:39 2012 -0800"
      },
      "message": "Merge \"AudioFlinger methods const and inline\""
    },
    {
      "commit": "4f9b0c54011eb8fd2ccfb393c2dcd51cd07800e0",
      "tree": "318b28bb04ce0b4ce39f75f6a8dbac27cee1455c",
      "parents": [
        "86feafe15b3f9609e1e9f64184688c2b6f2e4834",
        "0e265cf36d201a7ccc0238b5c60b50f43d1dc450"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 08:34:33 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 08:34:33 2012 -0800"
      },
      "message": "Merge \"Remove dead mutex in AudioTrack/AudioRecord thread\""
    },
    {
      "commit": "86feafe15b3f9609e1e9f64184688c2b6f2e4834",
      "tree": "281f6c3826240aeabc62820918b9e206a6cfb76e",
      "parents": [
        "e616d4e6de6d53ddebbc3d7fb381af94589c2232",
        "c19e22450e6e3d07594c935c7a9522e85e909e82"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 08:33:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 08:33:41 2012 -0800"
      },
      "message": "Merge \"Use virtual destructors\""
    },
    {
      "commit": "e616d4e6de6d53ddebbc3d7fb381af94589c2232",
      "tree": "ec4258e62eeb8cc12077af1a8dae45b6b4f0d6cb",
      "parents": [
        "f22147e5d2982e0c461f7ce8058c2d596d518bd4",
        "090f01963e215f895020a31e22368cd44e086ce3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 07:45:15 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 07:45:15 2012 -0800"
      },
      "message": "Merge \"Improve performance for sp\u003c\u003e on stack\""
    },
    {
      "commit": "f22147e5d2982e0c461f7ce8058c2d596d518bd4",
      "tree": "a0358efa5118e6a644c735b44c2378161ae0a8c6",
      "parents": [
        "1579d7948117e3e6541b0cfda02cc5234a3280ea",
        "a5224f319e2ba4b51ddb4287705ccf8d4b8ecc51"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 07:42:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 07:42:40 2012 -0800"
      },
      "message": "Merge \"AudioTrack declare more methods const\""
    },
    {
      "commit": "1579d7948117e3e6541b0cfda02cc5234a3280ea",
      "tree": "b86c07193eb8e2d6d313e1136fccffa043d4c7af",
      "parents": [
        "b5a66e15f371143f48665bbd462d75309582845d",
        "7378ca506e4e20c2b2d4e94a131cf1b95831adb5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 07:41:44 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 07:41:44 2012 -0800"
      },
      "message": "Merge \"Use 0 not NULL for sp\u003c\u003e and wp\u003c\u003e\""
    },
    {
      "commit": "b5a66e15f371143f48665bbd462d75309582845d",
      "tree": "45d58fa394a3d11bb4fb68ab6356191d863fc559",
      "parents": [
        "e98bbd36d67243fe987b09904956550a68af1cc7",
        "4c340c6521b634f159d2d6bc4e9359226fd8edf8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 07:40:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 07:40:23 2012 -0800"
      },
      "message": "Merge \"Use bool instead of int\""
    },
    {
      "commit": "e98bbd36d67243fe987b09904956550a68af1cc7",
      "tree": "3ad396f50bb4ad8e1bbf9fa939c4978851ec998b",
      "parents": [
        "dfa75555098a385ac8f4d29a73b32d66501f133d",
        "f587ba5b991c7cd91e4df093d0d796bd419e5d67"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 07:39:27 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 07:39:27 2012 -0800"
      },
      "message": "Merge \"Declare more IAudioFlinger methods const\""
    },
    {
      "commit": "dfa75555098a385ac8f4d29a73b32d66501f133d",
      "tree": "85e6870a94c1999e713fbbc07697806fa2851921",
      "parents": [
        "f83463148fbe344989ee1da07d15b94c38a61582",
        "d5e54f7a36daedc3b2a642d1499c262da04e6280"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 07:38:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 07:38:42 2012 -0800"
      },
      "message": "Merge \"Remove dead code\""
    },
    {
      "commit": "000e18370baae60ffd9f25b509501dd8c26deabf",
      "tree": "e447e9ceb46428f5f961534c38cef023e7206b3d",
      "parents": [
        "60c2b4ece6528d6d3f4e9e2c7e45772b65c4b87d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 06 23:46:37 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 07 18:32:29 2012 -0800"
      },
      "message": "Enable B frame support in MPEG4Writer\n\nThis patch allows us to automatically detect whether ctts box is needed in MPEG4Writer.\nMPEG4Writer uses ctts version 0 (non-negative offset value) store the composition time\noffset on a needed basis.\n\nCurrently, the size of the ctts box is not optimized. Optimization will be addressed\nin a subsequent patch.\n\no also changed the private method retrieveDecodingTime(bool) in OMXCodec\n  to getDecodingTime()\n\no related-to-bug: 4232183\n\nChange-Id: Ic6dc7b25ecd258c2506ca4b9c25156e922456e51\n"
    },
    {
      "commit": "f83463148fbe344989ee1da07d15b94c38a61582",
      "tree": "9c1f35749defb3acf0217182e4155ba351def261",
      "parents": [
        "60c2b4ece6528d6d3f4e9e2c7e45772b65c4b87d",
        "132e88ee86e4f11d1b649c336cd2d6eb5980c3fc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 07 10:43:08 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 10:43:08 2012 -0800"
      },
      "message": "Merge \"MatroskaExtractor: to support MPEG4 and MP3 codec.\""
    },
    {
      "commit": "60c2b4ece6528d6d3f4e9e2c7e45772b65c4b87d",
      "tree": "3df99c3e31172c3ffcb9361a46b68890891f5a0b",
      "parents": [
        "f9289a4ca88d8f72cb0d6b3ca16fbc44ef4a2aeb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Feb 04 06:19:50 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 06 12:17:44 2012 -0800"
      },
      "message": "Don\u0027t call virtual function in destructor of SurfaceMediaSource\n\nChange-Id: I3cbc2b1222335b61c814b5cdcfaefa495148b0ec\n"
    },
    {
      "commit": "f9289a4ca88d8f72cb0d6b3ca16fbc44ef4a2aeb",
      "tree": "72b693683dfd6405f6f8f70cdfde38b4b563c4c6",
      "parents": [
        "f3623993b78669a624d9b3a703b361ed6c035ad9",
        "b44c9d2bdc0d5b9cb03254022a58e017b516e9e6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Feb 04 05:54:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 04 05:54:54 2012 -0800"
      },
      "message": "Merge \"Don\u0027t call virtual functions in the destructor for audio and camera source classes\""
    },
    {
      "commit": "1a0ae5be3d1273cba12584b33830d859510fbf82",
      "tree": "8073be7b5e33ee230159f7c0aed22bb6de63d3f9",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 10:24:48 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 16:16:46 2012 -0800"
      },
      "message": "Don\u0027t double destruct audio_track_cblk_t\n\nFortunately audio_track_cblk_t doesn\u0027t have a destructor, but for clarity\nremove the double destruction.\n\nAlso add warning not to add any virtuals to audio_track_cblk_t.\n\nChange-Id: I70ebe1a70460c7002145b2cdf10f9f137396e6f3\n"
    },
    {
      "commit": "bb001926447d0b7dc71ca8bb3c9856f3136d8f4c",
      "tree": "fe9e3f0deff3396abf15bbff29f5b8a1d6f50175",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 11:10:26 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 16:14:15 2012 -0800"
      },
      "message": "Use pid_t not int\n\nChange-Id: Iad1c2fd4152e94080ad8c65c13ddf4519fc2ed27\n"
    },
    {
      "commit": "d5e54f7a36daedc3b2a642d1499c262da04e6280",
      "tree": "9a56f54d6431ad2f7f0d2c6817f1e9f568bca769",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 09:50:01 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 16:09:30 2012 -0800"
      },
      "message": "Remove dead code\n\nmFormat is unused in resampler\nmClientTid is unused\nlocal variable pid is unused in dump\n\nChange-Id: Ib156e38029366620bfeff2a13e73471867155a5b\n"
    },
    {
      "commit": "a5224f319e2ba4b51ddb4287705ccf8d4b8ecc51",
      "tree": "eb36f63045d044c840072ad95398d49b743cd6bd",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 04 12:41:44 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 15:48:25 2012 -0800"
      },
      "message": "AudioTrack declare more methods const\n\nChange-Id: I4999e984460893961d0d8092cff17f3cf07d7214\n"
    },
    {
      "commit": "f587ba5b991c7cd91e4df093d0d796bd419e5d67",
      "tree": "0fe274cdfa6dcae81617725b5ea376c86245b104",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 16:25:10 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 15:40:56 2012 -0800"
      },
      "message": "Declare more IAudioFlinger methods const\n\nThis is just documentation, as C++ method const-ness doesn\u0027t mean anything\nfor a binder API.  Instead, here const means \"no side effects\".\n\nChange-Id: Iaa9cd2fe477db10ae9a40cac4f79f0faa9b4e5e6\n"
    },
    {
      "commit": "f3623993b78669a624d9b3a703b361ed6c035ad9",
      "tree": "a32c965376cfb2dfbb826a357907f3780a86711f",
      "parents": [
        "aad5bdff98ac5bc9be4288b5acf445465750711e",
        "8bcc65c753085fe3328592cceda0cf0e8f8b0a45"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 03 15:37:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 15:37:40 2012 -0800"
      },
      "message": "Merge \"Don\u0027t call virtual functions in destructors for the writer classes\""
    },
    {
      "commit": "4c340c6521b634f159d2d6bc4e9359226fd8edf8",
      "tree": "7cfdf3bedccd84f751909ee5866871576250f274",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 12:33:54 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 15:36:47 2012 -0800"
      },
      "message": "Use bool instead of int\n\nThe .h is not modified to avoid increasing data size.\n\nChange-Id: Ide4a821a5b16424ffa03471dfff98dc3e9b5f751\n"
    },
    {
      "commit": "c59c004a3a6042c0990d71179f88eee2ce781e3c",
      "tree": "68e0c9bb6d5bb10a1a8263ebefbb5601946702ee",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 02 14:06:11 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 15:25:24 2012 -0800"
      },
      "message": "AudioFlinger methods const and inline\n\nThis saves 1063 bytes and probably improves performance.\n\nChange-Id: I11cf0dfd925fbaec75e3d1b806852a538eae5518\n"
    },
    {
      "commit": "c19e22450e6e3d07594c935c7a9522e85e909e82",
      "tree": "2a81eb366d10425b83b6bbf9997d9c8813515ea1",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 30 14:54:39 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 14:42:43 2012 -0800"
      },
      "message": "Use virtual destructors\n\nIt turns out to be just a comment, as all except AudioMixer are RefBase.\n\nThere are only a few performance-sensitive cases where it\u0027s worth thinking\nabout whether you need a virtual destructor, and the headache usually\noutweighs the benefit.\n\nChange-Id: I716292f9556ec17c29ce8c76ac8ae602cb496533\n"
    },
    {
      "commit": "aad5bdff98ac5bc9be4288b5acf445465750711e",
      "tree": "100f6bd4818912764f1e82820ac0a14d38a2c96f",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438",
        "c71f6e2392bf55cc85ee7c1a376441e9b9aae4c8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 03 11:29:59 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 11:29:59 2012 -0800"
      },
      "message": "Merge \"Keep AACEncoder around for a bit longer to have more time fix issues related to video editor engine\""
    },
    {
      "commit": "7378ca506e4e20c2b2d4e94a131cf1b95831adb5",
      "tree": "60a526b206858f294a66194ae3c1bcda08b2e65b",
      "parents": [
        "787bae0578fbaab6219ebf23494866b224d01438"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 20 13:44:40 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 11:20:35 2012 -0800"
      },
      "message": "Use 0 not NULL for sp\u003c\u003e and wp\u003c\u003e\n\nChange-Id: Id1f0c89acefaceed6cb9ca7c165fce895e46d85b\n"
    },
    {
      "commit": "c71f6e2392bf55cc85ee7c1a376441e9b9aae4c8",
      "tree": "276014eca0b627f7500e404940c3a08ce49e0e73",
      "parents": [
        "d45ee9d9d61af0791c7c3c51f8d4fe6794ef02a5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 03 11:03:56 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 03 11:20:03 2012 -0800"
      },
      "message": "Keep AACEncoder around for a bit longer to have more time fix issues related to video editor engine\n\no this should be reverted after the problem is fixed.\no related-to-bug: 5947347\n\nChange-Id: Iaec4b59d2c99c975e83f0588a813e9a4bfcb7ee2\n"
    },
    {
      "commit": "787bae0578fbaab6219ebf23494866b224d01438",
      "tree": "935422276579d6f7c3b4e835e1a79bc9082a2b26",
      "parents": [
        "ff3c83e04ae459c4252b86dd4440b4e37ee92c16",
        "de9719b3ec71472e6bf75117152176af51d1a515"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 08:31:01 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 08:31:01 2012 -0800"
      },
      "message": "Merge \"Use audio_in_acoustics_t consistently\""
    },
    {
      "commit": "ff3c83e04ae459c4252b86dd4440b4e37ee92c16",
      "tree": "8de4de832991dd2086313b6168f8523d002f6251",
      "parents": [
        "a0d68338a88c2ddb4502f95017b546d603ef1ec7",
        "3d2f877c1cb4e4ae4ddde7f57f4353de9341f11b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 08:00:52 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 08:00:52 2012 -0800"
      },
      "message": "Merge \"Use ToneGenerator::tone_type consistently\""
    },
    {
      "commit": "a0d68338a88c2ddb4502f95017b546d603ef1ec7",
      "tree": "f052125f4720fde00179d41d4ee04e02934052e4",
      "parents": [
        "87f155d6655b2d3b27e69281a29e85c6407e4d26"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 16:47:15 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 07:57:01 2012 -0800"
      },
      "message": "Use NULL not 0 for raw pointers\n\nUse if (p !\u003d NULL) instead of if (ptr)\n\nChange-Id: Iaec3413a59ccbf233c98fcd918cc7d70ac5da9fa\n"
    },
    {
      "commit": "87f155d6655b2d3b27e69281a29e85c6407e4d26",
      "tree": "65032f39295f3fd280d8478bdc25a14b5362847d",
      "parents": [
        "f81e97e4ec8b01965a5b36987f886cf5001f71ff",
        "d05397144be774f2f3623c754e865f51753e4e31"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 07:46:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 07:46:42 2012 -0800"
      },
      "message": "Merge \"For performance, return large objects by reference\""
    },
    {
      "commit": "f81e97e4ec8b01965a5b36987f886cf5001f71ff",
      "tree": "25df07b2a8864a1d6b33d2ff0defaecb048e7c39",
      "parents": [
        "84afa3b51ac48f84ed62489529ce78cba7fca00e",
        "77c1119ea0b5cb32287088ceeeb7e3b6bd14a85d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 07:45:13 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 07:45:13 2012 -0800"
      },
      "message": "Merge \"No need to check a wp\u003c\u003e for 0 before promote()\""
    },
    {
      "commit": "84afa3b51ac48f84ed62489529ce78cba7fca00e",
      "tree": "ee9ba57cdc17668c9362b70f6bfbfcbd40a253ad",
      "parents": [
        "5c0ad10b14ec2287f90f95912d98e66eef006e2a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 25 15:28:08 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 07:37:14 2012 -0800"
      },
      "message": "Constructor initialization and const fields\n\nIn constructors, initialize member fields in the initialization list\nrather than constructor body where possible.  This allows more fields\nto be const, provided they are never modified.\n\nAlso initialize POD fields in constructor, unless it\u0027s obvious they\ndon\u0027t need to be initialized.  In that case, put a comment instead.\n\nRemove explicit clear() in destructors on fields that are now const.\n\nGive AudioSessionRef a default constructor, so it\u0027s immutable fields can\nbe marked const.\n\nAdd comment about ~TrackBase() trick.\n\nInitialize fields in declaration order to make it easier to confirm that\nall fields are set.\n\nMove initialization of mHardwareStatus from onFirstRef() to constructor.\n\nUse NULL not 0 to initialize raw pointers in initialization list.\n\nRename field mClient to mAudioFlingerClient, and getter from client()\nto audioFlingerClient().\n\nChange-Id: Ib36cf6ed32f3cd19003f40a5d84046eb4c122052\n"
    },
    {
      "commit": "5c0ad10b14ec2287f90f95912d98e66eef006e2a",
      "tree": "b11958235c122442a9dd1af28ad054e1e5046a79",
      "parents": [
        "62da7fbd60bee2dd57f503126266e9f04311d400",
        "23bb8becff20449a9b1647d5a1a99b14c83f0cce"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 07:26:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 07:26:28 2012 -0800"
      },
      "message": "Merge \"Cleanup thread types\""
    },
    {
      "commit": "62da7fbd60bee2dd57f503126266e9f04311d400",
      "tree": "22c9118701f42b77ed573001779390437d96872c",
      "parents": [
        "d45ee9d9d61af0791c7c3c51f8d4fe6794ef02a5",
        "83d86538c4c479a9225c75ab27938e8f05abb9c8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 07:18:06 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 07:18:06 2012 -0800"
      },
      "message": "Merge \"Make AudioTrack control block volume field private\""
    },
    {
      "commit": "b44c9d2bdc0d5b9cb03254022a58e017b516e9e6",
      "tree": "06a30f5984b5fd11da06bbc6bc7d8294f21d1ac2",
      "parents": [
        "2af955b7437ac5345d75a5e528ebbb749667af7e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 02 18:04:02 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 02 18:11:53 2012 -0800"
      },
      "message": "Don\u0027t call virtual functions in the destructor for audio and camera source classes\n\nChange-Id: Ia74ffc1c0cbd7971697f5e3c476e340ec5c7727a\n"
    },
    {
      "commit": "8bcc65c753085fe3328592cceda0cf0e8f8b0a45",
      "tree": "f7f9cff24dbf50e02f135b65bc1041e534c39d9c",
      "parents": [
        "2af955b7437ac5345d75a5e528ebbb749667af7e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 02 15:07:52 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 02 15:13:56 2012 -0800"
      },
      "message": "Don\u0027t call virtual functions in destructors for the writer classes\n\nHave not found any concrete bugs related to these calls yet, but we should avoid\ncalling virtual functions in destructors, regardless.\n\nChange-Id: I2d47b79d3fb2d29f418619bee83aa147d232a5d4\n"
    },
    {
      "commit": "d45ee9d9d61af0791c7c3c51f8d4fe6794ef02a5",
      "tree": "c5193c552b2bd0188276e6a2c96a21965f86edbc",
      "parents": [
        "914b33354be650a5213dd545ace49c6e81828043",
        "435dbe6c3ecd04bcb4bd80584064e287ebccd720"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 02 13:31:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 13:31:23 2012 -0800"
      },
      "message": "Merge \"Fix const sp\u003c\u003e\u0026 in parameter list and return value\""
    },
    {
      "commit": "914b33354be650a5213dd545ace49c6e81828043",
      "tree": "1a42885010a5da3815df7aee2389ecfee9fe6753",
      "parents": [
        "1fb41b40037b4cad585cbd4e08c58b66c61afed7",
        "928170837b9dec2b90f7a01b85182a8b00b45972"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 02 13:30:49 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 13:30:51 2012 -0800"
      },
      "message": "Merge \"Removed a loop for buffer lookup\""
    },
    {
      "commit": "1fb41b40037b4cad585cbd4e08c58b66c61afed7",
      "tree": "24321a252f1347e719aa6ee17e0a3738d383794d",
      "parents": [
        "457d4c01ec0e922771ef57158431f48e4d267905",
        "e9dd0176933d6233916c84e18f3e8c0d644ca05d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 02 13:30:48 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 13:30:48 2012 -0800"
      },
      "message": "Merge \"Unconditional delete\""
    },
    {
      "commit": "457d4c01ec0e922771ef57158431f48e4d267905",
      "tree": "b0218b14a0b83343e151f2e5e3ec637210547abc",
      "parents": [
        "e336de43a7cf186fe9d5070f5badfad6e302d9e3",
        "211eeaf17e5565b68447d29799dbf158a33cf4cf"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 02 13:26:12 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 13:26:12 2012 -0800"
      },
      "message": "Merge \"More audio_stream_type_t\""
    },
    {
      "commit": "0e265cf36d201a7ccc0238b5c60b50f43d1dc450",
      "tree": "395a2c8f3685c1d1140f3ad12d2dff884d7db6ad",
      "parents": [
        "bf6954598193147cac980b8b5d7ad5215f1dec16"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 02 10:52:34 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 02 11:23:30 2012 -0800"
      },
      "message": "Remove dead mutex in AudioTrack/AudioRecord thread\n\nThe client callback threads had mutexes called AudioTrackThread::mLock\nand ClientRecordThread::mLock.  These mutexes were only used by start()\nand stop(), and were unused by the thread itself.  But start() and\nstop() already have their own protection provided by AudioTrack::mLock\nand AudioRecord::mLock.  So the thread mutexes can be removed.\n\nChange-Id: I098406d381645d77fba06a15511e179a327848ef\n"
    },
    {
      "commit": "928170837b9dec2b90f7a01b85182a8b00b45972",
      "tree": "9b12a61e0043eb9673ca3d2968135e5dcb65d103",
      "parents": [
        "bb62819aa34b0e89090ccc50e5915e25bc137583"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 01 19:28:54 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 02 10:24:25 2012 -0800"
      },
      "message": "Removed a loop for buffer lookup\n\no used the nInputPortIndex and nOutputPortIndex from header instead\n  of assuming that the # of ports \u003d\u003d 2\n\nChange-Id: I4b615912b088b4e2bac9c00e89986e811a5c58bb\n"
    },
    {
      "commit": "e336de43a7cf186fe9d5070f5badfad6e302d9e3",
      "tree": "231b23aa55532cd05bef6e0ce9648471e0285a69",
      "parents": [
        "bf6954598193147cac980b8b5d7ad5215f1dec16",
        "5387696d25bc710f8cd0e6d08079e2aa8d6c1417"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 02 09:39:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 09:39:28 2012 -0800"
      },
      "message": "Merge \"modifications for new webrtc modules\""
    },
    {
      "commit": "bf6954598193147cac980b8b5d7ad5215f1dec16",
      "tree": "ce13d6787dda7611c607ff6c8215c6a35a96c159",
      "parents": [
        "83f70f4472e9b0cacc5d372eddfcef4b02662d10",
        "4e260ab948787c2a814543077832847deae890fd"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 01 18:53:50 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 18:53:50 2012 -0800"
      },
      "message": "Merge \"Remove the restriction that the width must be a multiple of 4 or 2 for thumbnail generation\""
    },
    {
      "commit": "4e260ab948787c2a814543077832847deae890fd",
      "tree": "fe76a9e4ebc7cf4e6ae681b57594a417dbdc656f",
      "parents": [
        "2af955b7437ac5345d75a5e528ebbb749667af7e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 01 13:33:33 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 01 13:37:36 2012 -0800"
      },
      "message": "Remove the restriction that the width must be a multiple of 4 or 2 for thumbnail generation\n\no simply applying the change in commit a161af9d1e2baa3f23e32634ef7dd9b4bbce9a6c to other formats\no related-to-bug: 5947196\n\nChange-Id: I95de10263b8ad9ec941f1d6b907fca6aeff0a90f\n"
    },
    {
      "commit": "83f70f4472e9b0cacc5d372eddfcef4b02662d10",
      "tree": "a6756b7f6de5233c37b9a244a129c79fd13464a1",
      "parents": [
        "252353088a5ebf8508fbc01439ff417805ef1417"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 01 11:47:54 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 01 12:16:40 2012 -0800"
      },
      "message": "The AMR WB software encoder is now an OMX component.\n\nChange-Id: Iebfb2696783a0163369ba4e8ef72e19ee76ad893\n"
    },
    {
      "commit": "5387696d25bc710f8cd0e6d08079e2aa8d6c1417",
      "tree": "32b5c99149c72f0a7ef23dc17d0ddbb4d810eef4",
      "parents": [
        "bb62819aa34b0e89090ccc50e5915e25bc137583"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 31 12:35:20 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 01 10:59:17 2012 -0800"
      },
      "message": "modifications for new webrtc modules\n\nAdapt include files path in makefile and source to new\ndirectory structure in webrtc library.\n\nAlso changed the default AGC parameters to less extreme settings.\n\nChange-Id: Ia6a41c816dc44645f8f867937b722eede88c06ea\n"
    },
    {
      "commit": "252353088a5ebf8508fbc01439ff417805ef1417",
      "tree": "6abbd71af66f1d24791e5151aa41649f9b649b44",
      "parents": [
        "2af955b7437ac5345d75a5e528ebbb749667af7e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 31 14:34:59 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 01 10:39:26 2012 -0800"
      },
      "message": "The software AMR NB encoder is now an OMX component.\n\nChange-Id: I890eab052a7c36409b8b694c964884e28dd8d8fc\n"
    },
    {
      "commit": "2af955b7437ac5345d75a5e528ebbb749667af7e",
      "tree": "a179f97b8985e4b7e485b3aa42d725a8de5f7673",
      "parents": [
        "10a5a34b0a8ba44343d0c7e0d3f261af49b5cf4c",
        "8a0f85fec2e28a97ba8fdda89c2a9b957098c114"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 31 17:36:37 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 17:36:37 2012 -0800"
      },
      "message": "Merge \"add tests module tag to omx_tests\""
    },
    {
      "commit": "8a0f85fec2e28a97ba8fdda89c2a9b957098c114",
      "tree": "c677dab5c2a22ef25758dd412ea3e8c556663e65",
      "parents": [
        "bb62819aa34b0e89090ccc50e5915e25bc137583"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 31 12:24:17 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 31 12:27:10 2012 -0800"
      },
      "message": "add tests module tag to omx_tests\n\nChange-Id: I5dcb5187f09a7ae980ac5857b7ade81001d459f8\n"
    },
    {
      "commit": "10a5a34b0a8ba44343d0c7e0d3f261af49b5cf4c",
      "tree": "92e700a77e45cca2a63ca4b78275a2207854b914",
      "parents": [
        "d459b485c61bd3e7fd81c5cd3af8ada27fc3e8d3",
        "6655174826330afe66ef766258181ae8c11f3f6c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 31 12:06:43 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 12:06:43 2012 -0800"
      },
      "message": "Merge \"First step of refactoring \u0027timedtext\u0027 code.\""
    },
    {
      "commit": "d459b485c61bd3e7fd81c5cd3af8ada27fc3e8d3",
      "tree": "394810d0fda09babebb89e1eff80ec54509c5a14",
      "parents": [
        "bb62819aa34b0e89090ccc50e5915e25bc137583"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 31 11:16:24 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 31 11:16:24 2012 -0800"
      },
      "message": "Slighly improve the API to discover if the OMX stack is running in the local\n\nprocess.\n\nChange-Id: Idd3c2f0d4a9542af01a3fdfd3b0bfab90e083505\n"
    },
    {
      "commit": "bb62819aa34b0e89090ccc50e5915e25bc137583",
      "tree": "17261fdb4651dda30761b94ef24045a522f75ee1",
      "parents": [
        "e59542680aa0e83cacbc471fbd3945b0509a849c",
        "530f752a8191ccc6bde82fb2012aa3cd032257c0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 31 08:31:03 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 08:31:03 2012 -0800"
      },
      "message": "Merge \"Make sure our aac decoder handles this parameter.\""
    },
    {
      "commit": "6655174826330afe66ef766258181ae8c11f3f6c",
      "tree": "5a2e4d563aede4d242cbe2b48e07e00ea6221cde",
      "parents": [
        "e59542680aa0e83cacbc471fbd3945b0509a849c"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Wed Jan 11 22:03:12 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jan 31 14:44:32 2012 +0900"
      },
      "message": "First step of refactoring \u0027timedtext\u0027 code.\n\nGoal\n1. Removed dependency of TimedTextPlayer on AwsomePlayer.\n2. Generalized TimedTextParser to TimedTextSource and its subclasses.\n\nSummary\n1. Introduced TimedTextDriver, TimedTextPlayer (new implementation),\nTimedTextSource (and its subclasses).\n2. Removed TimedTextParser.\n\nRemaining TODOs\n1. Revise VideoVidew, Gallery3D app, AwesomePlayer to check if\n\u0027pause\u0027 and \u0027resume\u0027 works well.\n2. Consider revising MediaPlayer APIs such as setParameter() -\u003e\naddTextSource(). Need more thoughts.\n\nChange-Id: Ie0c4f15b9690102de755cef6940f8c31ccf78e27\n"
    },
    {
      "commit": "530f752a8191ccc6bde82fb2012aa3cd032257c0",
      "tree": "17261fdb4651dda30761b94ef24045a522f75ee1",
      "parents": [
        "e9c52da6fdb755ed832325c2fe4fe5b3bc4c9eed"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 30 16:45:28 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 30 16:45:28 2012 -0800"
      },
      "message": "Make sure our aac decoder handles this parameter.\n\nChange-Id: I212ef0c21776b99d0c6662b118ca0ec16b1d3d5e\n"
    },
    {
      "commit": "e59542680aa0e83cacbc471fbd3945b0509a849c",
      "tree": "1f700612e12023ffbd774406f064d5da9c2ca8e2",
      "parents": [
        "e9c52da6fdb755ed832325c2fe4fe5b3bc4c9eed",
        "c58295bfa07615b81b9bf5784cb8e2dac79aded7"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jan 30 13:38:52 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 30 13:38:52 2012 -0800"
      },
      "message": "am 827a597d: Reconcile with ics-mr1-release\n\n* commit \u0027827a597df70a51c6cccad52fae2be2c469f58b77\u0027:\n  Revert \"Fix 5797764: Increase lock screen\u0027s thread priority\"\n  DO NOT MERGE Revert \"AudioFlinger: mix track only when really ready (2)\"\n"
    },
    {
      "commit": "c58295bfa07615b81b9bf5784cb8e2dac79aded7",
      "tree": "cd67a6f089b6dbe9ca033dac2454ba56ad69e62f",
      "parents": [
        "11484788dd0c2ec9fce29c523a7748de34fb9b8a",
        "cdb22f7bbe6a6456e572e06c7e579578d2075ccc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jan 30 13:36:34 2012 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jan 30 13:36:34 2012 -0800"
      },
      "message": "Reconcile with ics-mr1-release\n\nChange-Id: Ic6454a4b7929bbf2f453022fd8ae596e215657c2\n"
    },
    {
      "commit": "d05397144be774f2f3623c754e865f51753e4e31",
      "tree": "da598c09f36ce72672b7acec33516dbd9103e172",
      "parents": [
        "fd267d7cf640225bb57f0ed1af44efc153275f6d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 30 12:56:03 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 30 13:01:17 2012 -0800"
      },
      "message": "For performance, return large objects by reference\n\nChange-Id: Ibf737018ef1d3c7d717584615dcb2d4ecdb50c99\n"
    },
    {
      "commit": "090f01963e215f895020a31e22368cd44e086ce3",
      "tree": "c00827de791ec3f221faab8effbe822a619a7927",
      "parents": [
        "fd267d7cf640225bb57f0ed1af44efc153275f6d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 30 13:00:02 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 30 13:00:02 2012 -0800"
      },
      "message": "Improve performance for sp\u003c\u003e on stack\n\nCombine default constructor for sp\u003c\u003e immediately followed by assignment,\nas the reference-counting is relatively slow.  Also return sp\u003c\u003e directly\nrather than via local variable, for the same reason.\n\nChange-Id: If55931f1e407994f6591ddde41b53db72fb4fc40\n"
    },
    {
      "commit": "e9c52da6fdb755ed832325c2fe4fe5b3bc4c9eed",
      "tree": "1f700612e12023ffbd774406f064d5da9c2ca8e2",
      "parents": [
        "fd267d7cf640225bb57f0ed1af44efc153275f6d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 30 11:48:02 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 30 11:48:02 2012 -0800"
      },
      "message": "Instantiate software codecs locally whenever possible.\n\nChange-Id: I58d5c30b9de9873a239e91955a8900e2c72518a7\n"
    },
    {
      "commit": "435dbe6c3ecd04bcb4bd80584064e287ebccd720",
      "tree": "aa42e717d186dc84491e03c675c8c93683407fcf",
      "parents": [
        "fd267d7cf640225bb57f0ed1af44efc153275f6d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 30 10:15:48 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 30 10:31:09 2012 -0800"
      },
      "message": "Fix const sp\u003c\u003e\u0026 in parameter list and return value\n\nEffectModule::addHandle and Client::heap() were declared incorrectly.\n\nAs a parameter, an sp\u003c\u003e should be \u0026 for efficiency, and for input\nparameters it should also be const to protect the caller\u0027s value.\n\nBut as a return value, an sp\u003c\u003e should have neither const or \u0026.  The \"e\"\nin \"return e;\" might be located on the stack, and if there is \"\u0026\" then\nthe caller would see the address of a variable which no longer exists.\nAlso, an \u0026 would make it hard to do \"return 0;\".\nA \"const\" without \u0026 is meaningless in the return type.\n(In this particular case, the \"e\" is a member field, so it was safe.)\n\nChange-Id: I3df5f294214eb15a9d4d596c6d5ef29de97b5c27\n"
    },
    {
      "commit": "e9dd0176933d6233916c84e18f3e8c0d644ca05d",
      "tree": "456651a5f40cbd404d39abb20604817324926db3",
      "parents": [
        "fd267d7cf640225bb57f0ed1af44efc153275f6d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 18:08:45 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 18:08:45 2012 -0800"
      },
      "message": "Unconditional delete\n\nDon\u0027t check that pointer is non-NULL before delete.\n\nDon\u0027t leave deleted member fields non-NULL, except in a destructor,\nsince it could be misleading in a dump or debugger. (mRsmpOutBuffer)\n\nChange-Id: Ic0492a6b752f74a67f4c96dfb89ca2de4e69eecf\n"
    },
    {
      "commit": "211eeaf17e5565b68447d29799dbf158a33cf4cf",
      "tree": "5b309757ae12403d5edd39f7e7d99cc3b405766c",
      "parents": [
        "fd267d7cf640225bb57f0ed1af44efc153275f6d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 20 09:37:45 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 16:33:43 2012 -0800"
      },
      "message": "More audio_stream_type_t\n\nChange-Id: I1260259efe0aa3fc1ef13de69758aaa592e1f815\n"
    },
    {
      "commit": "77c1119ea0b5cb32287088ceeeb7e3b6bd14a85d",
      "tree": "1468a69506c7e84e2e44924f6244bec7ef8f856d",
      "parents": [
        "fd267d7cf640225bb57f0ed1af44efc153275f6d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 25 14:27:41 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 16:30:45 2012 -0800"
      },
      "message": "No need to check a wp\u003c\u003e for 0 before promote()\n\nAlso remove unnecessary wp\u003c\u003e local variable.\n\nChange-Id: I620e67b5d559d28616f8e00609a525cfe19c5ddc\n"
    },
    {
      "commit": "3d2f877c1cb4e4ae4ddde7f57f4353de9341f11b",
      "tree": "02ba1339028105733ff3897c5c72952781dc793d",
      "parents": [
        "a3a2cd4072aaa2d93c91251a786eb7323f8d2c27"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 15:25:25 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 16:01:44 2012 -0800"
      },
      "message": "Use ToneGenerator::tone_type consistently\n\nAlso remove defaults in startToneCommand(), they\u0027re not needed and the\ndefault for tone type was nonsense.\n\nChange-Id: I70fa8cee4f3dbb8c66ceb3719c8d3d2f447f05b9\n"
    },
    {
      "commit": "de9719b3ec71472e6bf75117152176af51d1a515",
      "tree": "d745196f8aa6832a18e380d78ad1bd1eae1e9e8f",
      "parents": [
        "a3a2cd4072aaa2d93c91251a786eb7323f8d2c27"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 12:32:34 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 13:31:54 2012 -0800"
      },
      "message": "Use audio_in_acoustics_t consistently\n\nChange-Id: I0a9dd668fb2e57b1c3ece3190588194974b99062\n"
    },
    {
      "commit": "fd267d7cf640225bb57f0ed1af44efc153275f6d",
      "tree": "c97f1923f3cf143a7a8cd94184335283100c6437",
      "parents": [
        "a3a2cd4072aaa2d93c91251a786eb7323f8d2c27",
        "eba51fb3a361f67a6a64d5a16eba6084fe27d60e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 09:06:00 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 09:06:00 2012 -0800"
      },
      "message": "Merge \"Use audio_source_t consistently\""
    },
    {
      "commit": "a3a2cd4072aaa2d93c91251a786eb7323f8d2c27",
      "tree": "188f6115eb45ac32f182d53540c76dae63cf4917",
      "parents": [
        "6f5980b75df837231365d238c1b0d6f386363fbb",
        "aed850d0d3b3c8cf3feaf1438076f33db2a60946"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 07:22:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 07:22:30 2012 -0800"
      },
      "message": "Merge \"AudioStreamIn and AudioStreamOut\""
    },
    {
      "commit": "6f5980b75df837231365d238c1b0d6f386363fbb",
      "tree": "a0e71b7150016bfd7763572c272b11b33aa13985",
      "parents": [
        "28f52c84c22e129063a576e1269a39ae0cc0bfb3",
        "90716c5728b37637b2d0a730a721bfc9fad299e0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 07:19:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 07:19:53 2012 -0800"
      },
      "message": "Merge \"Declare methods in binder opcode order\""
    },
    {
      "commit": "28f52c84c22e129063a576e1269a39ae0cc0bfb3",
      "tree": "c64b35e8b205295cc6f2503bbb8520868e01fc8a",
      "parents": [
        "114c458f2b80a252ec627add1d5fda2093c79068",
        "28243dd563fee1c82f0fff6cc27b5cbf21fa2585"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 07:19:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 07:19:10 2012 -0800"
      },
      "message": "Merge \"Use enum effect_state consistently\""
    },
    {
      "commit": "114c458f2b80a252ec627add1d5fda2093c79068",
      "tree": "3f676423666da814f847dc7944d223cb5a5bbe9c",
      "parents": [
        "37770e47b63038178e1d8bdb9f14785a86e9e858",
        "b853e986caf43408ad95b9014f194aadff385e3c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 07:18:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 07:18:23 2012 -0800"
      },
      "message": "Merge \"Use enum track_state consistently\""
    },
    {
      "commit": "37770e47b63038178e1d8bdb9f14785a86e9e858",
      "tree": "6d1c4de0c6cec3db318e5bf9585ab4c51aa181e9",
      "parents": [
        "710272b2da6b32c050770378db74f8197e8b8dc6",
        "29c23c3aee5ae799b3480dc6876a46c46b019710"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 07:16:46 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 07:16:46 2012 -0800"
      },
      "message": "Merge \"Use enum mixer_state consistently\""
    },
    {
      "commit": "eba51fb3a361f67a6a64d5a16eba6084fe27d60e",
      "tree": "2d3dc41818d33d596e66486dcf509086b9dde1e0",
      "parents": [
        "80a0d2de0a7db5cdcaf40fe33b14523b65d19423"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 23 13:58:49 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 16:50:19 2012 -0800"
      },
      "message": "Use audio_source_t consistently\n\nWas a mix of audio_source_t, uint8_t, and int.\n\nRelated fixes:\n - fix comments in MediaRecorder.java\n - AudioPolicyService server side was not checking source parameter at\n   all, so if the client wrapper was bypassed, invalid values could be\n   passed into audio HAL\n - JNI android_media_AudioRecord_setup was checking source for positive\n   values, but not negative values. This test is redundant, since already\n   checked at Java and now checked by AudioPolicyService also, but might\n   as well make it correct.\n\nChange-Id: Ie5e25d646dcd59a86d7985aa46cfcb4a1ba64a4a\n"
    },
    {
      "commit": "710272b2da6b32c050770378db74f8197e8b8dc6",
      "tree": "90d8cd2881a75e25423eb015223273f31e2d1512",
      "parents": [
        "2857b47a2731579772c76d46285660972c0ba23d",
        "2b1892db4a2ab47bfc09e59a4c11751aea99e4ea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 26 16:00:38 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 16:00:38 2012 -0800"
      },
      "message": "Merge \"The software AAC encoder is now an OMX component.\""
    },
    {
      "commit": "aed850d0d3b3c8cf3feaf1438076f33db2a60946",
      "tree": "78a7f2a4ce61fc7514fd3c18ac7805c488945407",
      "parents": [
        "2857b47a2731579772c76d46285660972c0ba23d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 09:46:34 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 15:58:07 2012 -0800"
      },
      "message": "AudioStreamIn and AudioStreamOut\n\nThese are immutable, so make the fields const.\ngetOutput() and getInput() methods are now const.\n\nChange-Id: I128246ebd56ea50b3e542be43f2aa1bcb55f1373\n"
    },
    {
      "commit": "2b1892db4a2ab47bfc09e59a4c11751aea99e4ea",
      "tree": "7880f7f60262ced7a16fa7439ac0827b78c07d8d",
      "parents": [
        "244ffc8b98c8b59cf64ef3d368c3373014a2f230"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 26 14:39:50 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 26 15:45:38 2012 -0800"
      },
      "message": "The software AAC encoder is now an OMX component.\n\nYay.\n\nChange-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de\n"
    },
    {
      "commit": "23bb8becff20449a9b1647d5a1a99b14c83f0cce",
      "tree": "461647a589f80192679b52f210524c74cce4fb57",
      "parents": [
        "2857b47a2731579772c76d46285660972c0ba23d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 10:38:26 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 15:45:12 2012 -0800"
      },
      "message": "Cleanup thread types\n\nUse type_t instead of int for thread types.\nInitialize ThreadBase::mType in constructor and make it const.\n\nChange-Id: I43d141388b9639e4783c30b97dbda5688bf7555f\n"
    },
    {
      "commit": "90716c5728b37637b2d0a730a721bfc9fad299e0",
      "tree": "5c92855ca40d1de7f6dc5ad14ad16d54b87137c8",
      "parents": [
        "80a0d2de0a7db5cdcaf40fe33b14523b65d19423"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 13:40:12 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 14:34:30 2012 -0800"
      },
      "message": "Declare methods in binder opcode order\n\nThis makes it easier to compare interface and implementation.\n\nChange-Id: Ie060e43dec348902abcf40f5a610cec639d6d0d3\n"
    },
    {
      "commit": "29c23c3aee5ae799b3480dc6876a46c46b019710",
      "tree": "5303f312a95c76fb3df14f22e91a28e6a32f54f8",
      "parents": [
        "2857b47a2731579772c76d46285660972c0ba23d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 13:37:52 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 14:23:47 2012 -0800"
      },
      "message": "Use enum mixer_state consistently\n\nChange-Id: I5b71ed20f939dfc4b98143334b7aa064d282f584\n"
    },
    {
      "commit": "28243dd563fee1c82f0fff6cc27b5cbf21fa2585",
      "tree": "222f107b8674ef82b42328fce2b464134e22e155",
      "parents": [
        "2857b47a2731579772c76d46285660972c0ba23d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 13:43:46 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 14:20:34 2012 -0800"
      },
      "message": "Use enum effect_state consistently\n\nAlso fix indentation\n\nChange-Id: I393ef9e37ffceed5ad4a78df439726ae1fe139df\n"
    },
    {
      "commit": "b853e986caf43408ad95b9014f194aadff385e3c",
      "tree": "88794d079d055901613a34304c2eb4bececd2033",
      "parents": [
        "2857b47a2731579772c76d46285660972c0ba23d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 13:39:18 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 14:13:43 2012 -0800"
      },
      "message": "Use enum track_state consistently\n\nChange-Id: Ie5ebb7befa092e1de1e4df9c6e2d51e6bcfd176a\n"
    },
    {
      "commit": "2857b47a2731579772c76d46285660972c0ba23d",
      "tree": "ae1d5eced0947671a1ce2d0e55c70f225a10ec0b",
      "parents": [
        "244ffc8b98c8b59cf64ef3d368c3373014a2f230"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Jan 25 13:42:42 2012 -0800"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Thu Jan 26 10:34:52 2012 -0800"
      },
      "message": "Preserve NEON callee-save registers d8-d15.\n\nBUG:5918479\nChange-Id: I574bd5845d9e7e007c637aabbf170d03217d10ad\n"
    },
    {
      "commit": "244ffc8b98c8b59cf64ef3d368c3373014a2f230",
      "tree": "3e6d7b37be4c6d88bae65f86bbc0452fc2b567e3",
      "parents": [
        "2d96e2965b3118c4e3cb21a76c9f07e0c8ccfc6e",
        "11484788dd0c2ec9fce29c523a7748de34fb9b8a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jan 25 10:33:42 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 25 10:33:42 2012 -0800"
      },
      "message": "am 95306d85: am 64085d03: am 12045502: Merge \"stagefright aacenc: Fix type definitions for 64 bit platforms\"\n\n* commit \u002795306d85005f165e10a25ad45cadadec6e1f6a31\u0027:\n  stagefright aacenc: Fix type definitions for 64 bit platforms\n"
    },
    {
      "commit": "11484788dd0c2ec9fce29c523a7748de34fb9b8a",
      "tree": "cd67a6f089b6dbe9ca033dac2454ba56ad69e62f",
      "parents": [
        "bfd99cb8261a8a1ae65dc2e956b5fce8484713bb",
        "395584e473cc096c84d6657d07380d65dd711e14"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jan 25 10:30:31 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 25 10:30:31 2012 -0800"
      },
      "message": "am 64085d03: am 12045502: Merge \"stagefright aacenc: Fix type definitions for 64 bit platforms\"\n\n* commit \u002764085d03efcd2abf3b8cd64f4e6344a1ece014c3\u0027:\n  stagefright aacenc: Fix type definitions for 64 bit platforms\n"
    },
    {
      "commit": "395584e473cc096c84d6657d07380d65dd711e14",
      "tree": "8f9fbe49ae5228b83f80239e8dcb8d773b78175b",
      "parents": [
        "fa521a76c4fc14b01b46930cd0d04856d57fdcc1",
        "013b73bfc4d5fb21082ccccf45fa08c18f86aa08"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jan 25 10:27:41 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 25 10:27:41 2012 -0800"
      },
      "message": "am 12045502: Merge \"stagefright aacenc: Fix type definitions for 64 bit platforms\"\n\n* commit \u002712045502c49bfee40d7d3cb806d9b70d3b5d3ed3\u0027:\n  stagefright aacenc: Fix type definitions for 64 bit platforms\n"
    },
    {
      "commit": "013b73bfc4d5fb21082ccccf45fa08c18f86aa08",
      "tree": "d1f5ef6a098384c3ce2ed502c9b0e8db8572bf1d",
      "parents": [
        "ceec4ae3ba8c3c3d5e243647ad7ee2fc39c71c9c",
        "2db3b238966f5f326010321b698fa938d65b8e8a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jan 25 09:17:45 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 25 09:17:46 2012 -0800"
      },
      "message": "Merge \"stagefright aacenc: Fix type definitions for 64 bit platforms\""
    },
    {
      "commit": "2d96e2965b3118c4e3cb21a76c9f07e0c8ccfc6e",
      "tree": "bb1ab3664118d4b6187b3fb5796accdb18fba8d0",
      "parents": [
        "4787cfeb9cfe6027c7634b09ede309f37a8b0a75",
        "bfd99cb8261a8a1ae65dc2e956b5fce8484713bb"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jan 25 08:57:36 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 25 08:57:36 2012 -0800"
      },
      "message": "am e2594b85: am 4cd2b343: am 98539a4e: Merge \"stagefright amrwbenc: Make the mem_malloc function 64-bit safe\"\n\n* commit \u0027e2594b85093441e03150c7cfc540abc626884eaf\u0027:\n  stagefright amrwbenc: Make the mem_malloc function 64-bit safe\n"
    },
    {
      "commit": "4787cfeb9cfe6027c7634b09ede309f37a8b0a75",
      "tree": "8262bacb56748bc27830a0700378d8d7120f6ecc",
      "parents": [
        "9365ea9bf2e439b3e71abbabe22ce7382ebc4b3a",
        "f27286d86de720e2b0af9f4facf671f3a5de1d85"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jan 25 08:57:32 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 25 08:57:32 2012 -0800"
      },
      "message": "am a3946104: am fc2ea24b: am d80cbb8c: Merge \"stagefright aacenc: Add missing newlines at the end of files\"\n\n* commit \u0027a39461047eae6022e2c0ef873ffa2c7241b393a9\u0027:\n  stagefright aacenc: Add missing newlines at the end of files\n"
    },
    {
      "commit": "9365ea9bf2e439b3e71abbabe22ce7382ebc4b3a",
      "tree": "db8f305183b20de93208b81c209ae0440e692579",
      "parents": [
        "5da85aa064f65d1fc90628bd6658ecd307e44725",
        "84e19873fde204d73628ba1b5ca9e3f5778574fa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 25 08:57:23 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 25 08:57:23 2012 -0800"
      },
      "message": "am 535b0264: am 7eeaf3f0: Merge \"AudioFlinger: refine mixer sleep time logic\" into ics-mr1\n\n* commit \u0027535b0264a4cfa790e549bd9cd09980788f1375f4\u0027:\n  AudioFlinger: refine mixer sleep time logic\n"
    },
    {
      "commit": "5da85aa064f65d1fc90628bd6658ecd307e44725",
      "tree": "a4dec391951c077b0c84b2b6d03557af49046e3b",
      "parents": [
        "f06a99bbc159a691ad618865c4faecbf185371cd",
        "7c5aea0a8d9b422999483f96a2566f77ff11abf2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 25 08:57:20 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 25 08:57:20 2012 -0800"
      },
      "message": "am dd347d51: (-s ours) am 41773d46: Merge \"DO NOT MERGE Revert \"Revert \"AudioFlinger: mix track only when really ready (2)\"\"\" into ics-mr1\n\n* commit \u0027dd347d515d4a4e42b2aba89a8e471392026b7824\u0027:\n  DO NOT MERGE Revert \"Revert \"AudioFlinger: mix track only when really ready (2)\"\"\n"
    }
  ],
  "next": "bfd99cb8261a8a1ae65dc2e956b5fce8484713bb"
}
