)]}'
{
  "log": [
    {
      "commit": "77d4f613bbed8b646c8ddade6a0737fcbd391b07",
      "tree": "cfb68c9ff057cb8349f51ebcd5b0822fd7425a7d",
      "parents": [
        "ce65a05eddc8a39d9805d1e1eee0292725df1f1c",
        "2d6bb3f9e3e7cc1c7debbbe3d74bf9c70b6f39d4"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 17 23:59:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 17 23:59:59 2014 +0000"
      },
      "message": "Merge \"CameraService: fix race condition and wrong last frame number.\""
    },
    {
      "commit": "2d6bb3f9e3e7cc1c7debbbe3d74bf9c70b6f39d4",
      "tree": "7e795593f43e694a9dee3e07f0a1a92a49cb9d7d",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Fri Apr 11 10:00:31 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 17 15:33:57 2014 -0700"
      },
      "message": "CameraService: fix race condition and wrong last frame number.\n\nChange-Id: Ie2be9a77a0b074497615de38cbb8e8f13b4858ec\n"
    },
    {
      "commit": "1b24cf32e02a1372e57b3a2a432bc0adfe496e6d",
      "tree": "220f4583ae1081df62fa5c861eed3e9e90a24515",
      "parents": [
        "4845b69f70ff457be8d8908f6eb61e2af67e00d3",
        "e80631aa1992ca50af679cd6a018c0ffda7f9b17"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "message": "am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027e80631aa1992ca50af679cd6a018c0ffda7f9b17\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\n"
    },
    {
      "commit": "e80631aa1992ca50af679cd6a018c0ffda7f9b17",
      "tree": "6b3fcc9fbb5b02976e4bb2163e994952303bead5",
      "parents": [
        "d4a3cae8cc4cf924925ae57723e61c89f6c4fd51",
        "839d11d1f7be9dff2f06c7d30a9eb39cb6782078"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 22:35:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 22:35:00 2014 +0000"
      },
      "message": "am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027839d11d1f7be9dff2f06c7d30a9eb39cb6782078\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\n"
    },
    {
      "commit": "db43b34c3428e480f8c4c66e7e88f4001f37f91e",
      "tree": "be194bf06c84b61f277a1c29c7499aa7862494a4",
      "parents": [
        "1df2557ac95a6d8a087fb15f6f842dc049f2759b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 04 14:47:28 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 13:18:22 2014 -0700"
      },
      "message": "media: 64 bit compile issues\n\n- change internal sized types to use stdint.h\n- printf \u0026 scanf formats\n- size_t or unsigned int for iterators\n\nChange-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446\n"
    },
    {
      "commit": "dd01ce9c28e37d4556606f481faeec032a1fe04e",
      "tree": "9d15e20598193a7c4ab3d90beb5f8405c8d27a6f",
      "parents": [
        "52a23bd3f8ace9f3a6295fc2d2b97e64665d77d8",
        "52a861d2825544fe2eb90f8e5f6351d02ff95536"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 11 17:26:28 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 11 17:26:28 2014 +0000"
      },
      "message": "am 52a861d2: Merge \"warnings be gone.\"\n\n* commit \u002752a861d2825544fe2eb90f8e5f6351d02ff95536\u0027:\n  warnings be gone.\n"
    },
    {
      "commit": "d411b4ca2945cd8974a3a78199fce94646950128",
      "tree": "e1c9e21525348fe826b91ecee7075ccb743f843d",
      "parents": [
        "51b3ea2b8f7298bffbd246c65a606cd053357b66"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 11 07:54:53 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 11 17:12:03 2014 +0000"
      },
      "message": "warnings be gone.\n\n(cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36)\n\nModified by Mark Salyzyn \u003csalyzyn@google.com\u003e to keep merge conflicts\nor errors downstream to a minimum.\n\nChange-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613"
    },
    {
      "commit": "cb0652e5a850b2fcd919e977247e87239efaf70e",
      "tree": "bdba4ac95dedd4ad9be77b9f5a86e147c11224f3",
      "parents": [
        "d27368f7d28813f7dad37fc31940c822df80e68e"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Wed Mar 12 18:29:36 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 10 11:54:08 2014 -0700"
      },
      "message": "CameraService: trigger appropriate callbacks for burst capture.\n\n* Instead of tracking CameraMetadata only, now we track both\nCameraMetadata and CaptureResultExtras, which is not part of\nthe HAL metadata. This will enable the correct callback of\nonCaptureStarted and onResultReceived given burst requests.\n\n* Get last frame number in reply when submitting requests,\ncanceling requests, and flushing device. For repeating requests,\nthis frame number is the last frame number of the previous\nrequest. For non-repeating requests, this frame number is the\nexpected last frame number of the current request. The goal\nis provide frame number to Java side in order to trigger\nonCaptureSequenceCompleted correctly.\n\n* Fix notifyError so that onDeviceError can be called correctly.\n\nBug: 10749500\nChange-Id: I2f3dda6c530090055d4a2ff9f0f087bbbe8d9257\n"
    },
    {
      "commit": "a1df816c0677185534babba6ffc29970b048e52e",
      "tree": "a2bf0a6954b805b7eef330387940067fb132da4f",
      "parents": [
        "bcf08569453dcb42730cda3230d5d375a697005b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 03 19:13:01 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 04 19:05:32 2014 -0700"
      },
      "message": "stagefright: log uri protocols, and opt-in to log full uri\n\nAdded property media.stagefright.log-uri.  Set it to true or 1 to\nlog uris by AwesomePlayer.\n\nAdded utility function to get uri debug string based on incognito\nand log opt-in status.\n\nChange-Id: I5ccc23079ddfb120dd9703a3ed651a162ed5acec\nRelated-Bug: 6994761\n"
    },
    {
      "commit": "bcf08569453dcb42730cda3230d5d375a697005b",
      "tree": "ff00c7b04e75cf242d1a48096e1cf9a960f698e9",
      "parents": [
        "cffcba5681be302b1c1b40747a1305f2c2a667c3"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 04 18:09:35 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 04 19:05:32 2014 -0700"
      },
      "message": "stagefright: add AString constructor from String8\n\nChange-Id: I85b37b6dee4ea9d5f7f1c1a40ff405a01a0c67f1\n"
    },
    {
      "commit": "cffcba5681be302b1c1b40747a1305f2c2a667c3",
      "tree": "07d2bf1b8ccdd3d32f1ec9785a42e26593c7ddf5",
      "parents": [
        "619fd4d6d4d815065becbdf360422ee40dfa7690",
        "5205977929c8a63d3bba026c6bd7b4cc1e236627"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Apr 04 17:36:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 04 17:36:04 2014 +0000"
      },
      "message": "Merge \"Remove deprecated BufferQueue constructor\""
    },
    {
      "commit": "4cc0bedb859f9773f54f844cca4ce806c86bb6f8",
      "tree": "918f5f7b9a78a8f2fee4c6184c0fdec4ac40ccb5",
      "parents": [
        "99021c47f45ee8bf3317cff7d08226e76c8d8227",
        "54b0bc74e051bd7df10cd657b481d88db6cdaa27"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Apr 02 21:36:57 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 02 21:36:58 2014 +0000"
      },
      "message": "Merge \"ACodec: do not signal kWhatShutdownCompleted on codec error\""
    },
    {
      "commit": "99021c47f45ee8bf3317cff7d08226e76c8d8227",
      "tree": "5f8c264aefbb41cab611f5db8272c36827b9fa39",
      "parents": [
        "118e7ff24af2e470ffed2bf7b37c9afa69afee92",
        "f356a123bf966150965a1af1cb9bd6ff2ca020de"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 01 22:23:23 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 01 22:23:23 2014 +0000"
      },
      "message": "am f356a123: am 68d9d71a: Support CAST V2 Authentication in MediaDrm\n\n* commit \u0027f356a123bf966150965a1af1cb9bd6ff2ca020de\u0027:\n  Support CAST V2 Authentication in MediaDrm\n"
    },
    {
      "commit": "f356a123bf966150965a1af1cb9bd6ff2ca020de",
      "tree": "22c31d7cd8430663ee6a78b5daafffc718f11454",
      "parents": [
        "4f1ef2cd65d734edae17f8586cf717598b40f2c3",
        "68d9d71a792deed75d32fe13febc07c9c12c8449"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 01 22:00:45 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 01 22:00:45 2014 +0000"
      },
      "message": "am 68d9d71a: Support CAST V2 Authentication in MediaDrm\n\n* commit \u002768d9d71a792deed75d32fe13febc07c9c12c8449\u0027:\n  Support CAST V2 Authentication in MediaDrm\n"
    },
    {
      "commit": "54b0bc74e051bd7df10cd657b481d88db6cdaa27",
      "tree": "d0f66d92baae1b16a34e01eab18d640f3e2f8434",
      "parents": [
        "118e7ff24af2e470ffed2bf7b37c9afa69afee92"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Mar 31 12:30:01 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Apr 01 13:29:44 2014 -0700"
      },
      "message": "ACodec: do not signal kWhatShutdownCompleted on codec error\n\nDo not signal kWhatShutdownCompleted when moving to Uninitialized\nstate due to receiving a codec error.\n\nDo not abort if error happens just before handling a stop request.\n\nBug: 13675112\nChange-Id: I4b14b2e64cff0f71215d2bbc24cd850617dfb67b\n"
    },
    {
      "commit": "68d9d71a792deed75d32fe13febc07c9c12c8449",
      "tree": "15ba0a2a541bd0b69fa286d04c9cc40d30b49871",
      "parents": [
        "1000d426bedb1ec38bdfff98fc8f004b64af13cb"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Mar 04 13:21:31 2014 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sat Mar 29 08:43:09 2014 -0700"
      },
      "message": "Support CAST V2 Authentication in MediaDrm\n\nJava API version\n\nUpdate frameworks to enable support for CAST\nV2 Authentication in the DRM Plugin.\n\nChange-Id: I9066ada0edf8e0d777c503897d8c7fc7f76f2861\nrelated-to-bug: 12702350\n"
    },
    {
      "commit": "4f1ef2cd65d734edae17f8586cf717598b40f2c3",
      "tree": "ef7587a0fa6221794a277b87812ea23d54c85406",
      "parents": [
        "ff382d0c40493303ceb81a6c22d1a48c0fecfe9c",
        "1000d426bedb1ec38bdfff98fc8f004b64af13cb"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 28 01:50:50 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 28 01:50:50 2014 +0000"
      },
      "message": "am 1000d426: am f780d28d: Merge \"DO NOT MERGE: Revert \"mediaplayer: keep more buffers with the BufferQueue\"\" into klp-dev\n\n* commit \u00271000d426bedb1ec38bdfff98fc8f004b64af13cb\u0027:\n  DO NOT MERGE: Revert \"mediaplayer: keep more buffers with the BufferQueue\"\n"
    },
    {
      "commit": "1000d426bedb1ec38bdfff98fc8f004b64af13cb",
      "tree": "97d6e219016a2ab6613ee979f3b0648274f0f2a6",
      "parents": [
        "8bf96c011ff4128f9bf06b892a38d869192d6a25",
        "f780d28de2e3cf7f6b26b9626321dba75719736e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 28 01:45:11 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 28 01:45:11 2014 +0000"
      },
      "message": "am f780d28d: Merge \"DO NOT MERGE: Revert \"mediaplayer: keep more buffers with the BufferQueue\"\" into klp-dev\n\n* commit \u0027f780d28de2e3cf7f6b26b9626321dba75719736e\u0027:\n  DO NOT MERGE: Revert \"mediaplayer: keep more buffers with the BufferQueue\"\n"
    },
    {
      "commit": "f780d28de2e3cf7f6b26b9626321dba75719736e",
      "tree": "e5a07b57875ac19f3e86c64e650cd0e41739c231",
      "parents": [
        "3d4e4fcbcfc5c16dd794591727f5c713831ab6dc",
        "114c1b6553e3d2dc5f2780a76d92bb382234220c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 28 00:11:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 28 00:11:24 2014 +0000"
      },
      "message": "Merge \"DO NOT MERGE: Revert \"mediaplayer: keep more buffers with the BufferQueue\"\" into klp-dev"
    },
    {
      "commit": "114c1b6553e3d2dc5f2780a76d92bb382234220c",
      "tree": "4402098cdfb6cbaa5e633434c1b0f91b3064a2f4",
      "parents": [
        "f5ee327780ea2b538b8affafa8063f0ce0390fe0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 27 16:44:23 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 27 17:08:00 2014 -0700"
      },
      "message": "DO NOT MERGE: Revert \"mediaplayer: keep more buffers with the BufferQueue\"\n\nThis reverts commit b635b0e66b257ab442e230bca96afd5105cf6829.\n\nBug: 13655631\n"
    },
    {
      "commit": "c9b8d90dabdf1234be0117c592f635a92c4eb0d9",
      "tree": "8bbeb033b0eb0bcbbfb12faaa6f2133d3cd093ea",
      "parents": [
        "5c4fa907328c8ee586367272c7525cb87742f14d",
        "142f519aa1acd5804d111e60d100f170fed28405"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 23:23:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 23:23:09 2014 +0000"
      },
      "message": "Merge \"Use symbol AUDIO_IO_HANDLE_NONE from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "142f519aa1acd5804d111e60d100f170fed28405",
      "tree": "aaffc4a234a4b0a5e719374056edf12eb2333b29",
      "parents": [
        "ecdca392ed40e89a6ef14b86446e952c35497ac4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 17:44:59 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 14:56:54 2014 -0700"
      },
      "message": "Use symbol AUDIO_IO_HANDLE_NONE from \u003csystem/audio.h\u003e\n\nChange-Id: Id6b1aa17558eb73e17f22b8eab6cd02e00a96dff\n"
    },
    {
      "commit": "2301acc6a9c7a3af4ad01f3d1d0f76f13eca7350",
      "tree": "6dde0cdf76066b31d3e0c0c96ea8e36990266fce",
      "parents": [
        "ecdca392ed40e89a6ef14b86446e952c35497ac4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 10:21:00 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 14:49:23 2014 -0700"
      },
      "message": "Update comments\n\nChange-Id: I5776313b9b49072cd666d28880f0d07cc73f827b\n"
    },
    {
      "commit": "ecdca392ed40e89a6ef14b86446e952c35497ac4",
      "tree": "bf796efe37aca6ded41ca0ad4291ca344af337ac",
      "parents": [
        "51beebba9d4989d05831a13bbe5cdf53ecac1bf5",
        "66e4635cb09fadcaccf912f37c387396c428378a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 21:29:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 21:29:28 2014 +0000"
      },
      "message": "Merge \"Use symbolic constants from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "b8f8d231685afdec472136b45c527a71bfb8bcc4",
      "tree": "8f5afcbeec0aa0e9c441c5fc1c42a8a8b35d77f3",
      "parents": [
        "9b6fcc2f8294d21b859b4cbcff84107a499e221f",
        "0ed19594452c901c3c8665d06610fffe46895d06"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 21:13:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 21:13:18 2014 +0000"
      },
      "message": "Merge \"Remove stream type from AudioSystem::getRenderPosition()\""
    },
    {
      "commit": "9b6fcc2f8294d21b859b4cbcff84107a499e221f",
      "tree": "ef469d5dd64ebd0b6673163992650fba382c3be5",
      "parents": [
        "73ec11738cd4399c55d4905665a14a7c4cd42cbf",
        "684d47301aeddd137fb1ba2e42f9fb8b9e8a6a16"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 21:08:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 21:08:12 2014 +0000"
      },
      "message": "Merge \"Use symbol AUDIO_SESSION_OUTPUT_MIX from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "73ec11738cd4399c55d4905665a14a7c4cd42cbf",
      "tree": "1105d7402857079f44e234ba1ab6ecfa8290a094",
      "parents": [
        "8c7b9fb41585fccb06573252823b929c82a40999",
        "9ea65d0f4a564478343b1a722fae4ce5883670c3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 20:56:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 20:56:04 2014 +0000"
      },
      "message": "Merge \"Fix uses of KeyedVector\""
    },
    {
      "commit": "8c7b9fb41585fccb06573252823b929c82a40999",
      "tree": "b15b9c23c2440bf1df24350f1034064016110897",
      "parents": [
        "f7f21b93bfce562784ee8f632fb01a2f8e4ffa6b",
        "241618f1b286f9e7e02fe61e96d9194e2e1e8a7a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 20:44:48 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 20:44:49 2014 +0000"
      },
      "message": "Merge \"Remove streamType parameter from AudioSystem::getLatency()\""
    },
    {
      "commit": "0ed19594452c901c3c8665d06610fffe46895d06",
      "tree": "54d8cd6a63a3f85d6199d4a9d6b7981fab14b973",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 07:50:05 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 19:22:40 2014 +0000"
      },
      "message": "Remove stream type from AudioSystem::getRenderPosition()\n\nThe I/O handle is never equal to AUDIO_IO_HANDLE_NONE,\nso the stream type is not needed.\n\nChange-Id: I1ab134a2fa379d6dd0b6167345a856a192d478f9\n"
    },
    {
      "commit": "11af89b744733e8c75d48a8d1a566c701c821865",
      "tree": "04ebc940162a5de97e411e78fad918779d76c8d5",
      "parents": [
        "3b084cfe6b77bc065302e8dc6391058cb07e83d2",
        "1cebdb77323e4554a316b9c34bf36957b7dad5ae"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:36:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 18:36:18 2014 +0000"
      },
      "message": "Merge \"Revert \"camera: Fix setParameters for Preview FPS single/range values\"\""
    },
    {
      "commit": "1cebdb77323e4554a316b9c34bf36957b7dad5ae",
      "tree": "fb2657136544bb4cb32fa0d8adf0782b421884d9",
      "parents": [
        "551cec544652783e3342c18386f64cee22412b60"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:10:09 2014 +0000"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:33:45 2014 +0000"
      },
      "message": "Revert \"camera: Fix setParameters for Preview FPS single/range values\"\n\nCauses a regression on some devices, so reverting until we\u0027re in a position to fix those devices.\n\nThis reverts commit 9078a1b3b9f9c0c48046ade0e8e18b0d79a659db.\n\nBug: 13563098\nChange-Id: I7aedd01fde8b8fdee77e972ec395f0ecadbf8ccb"
    },
    {
      "commit": "684d47301aeddd137fb1ba2e42f9fb8b9e8a6a16",
      "tree": "04262744950d16d8ed607f73c0c67cd087fde93a",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 17:41:42 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 07:32:08 2014 -0700"
      },
      "message": "Use symbol AUDIO_SESSION_OUTPUT_MIX from \u003csystem/audio.h\u003e\n\nChange-Id: I4e48bb7edcc9f9407ee63bb33d029aca02211d74\n"
    },
    {
      "commit": "241618f1b286f9e7e02fe61e96d9194e2e1e8a7a",
      "tree": "fcec6a520e30f66bbb1b5e072f8aadb247724a67",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 17:48:57 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 18:09:12 2014 -0700"
      },
      "message": "Remove streamType parameter from AudioSystem::getLatency()\n\nChange-Id: Ie7346e93436ddc215cad7d16be555dcb6c277d54\n"
    },
    {
      "commit": "66e4635cb09fadcaccf912f37c387396c428378a",
      "tree": "7982a54dbc04375babd42e59c03ef930454a9687",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 16 17:44:23 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 16:22:54 2014 -0700"
      },
      "message": "Use symbolic constants from \u003csystem/audio.h\u003e\n\nAUDIO_INTERLEAVE_*\nAUDIO_STREAM_MIN\nAUDIO_SESSION_ALLOCATE\n\nChange-Id: I31dd6f327204685e50716079ce21c4ba206dff11\n"
    },
    {
      "commit": "9ea65d0f4a564478343b1a722fae4ce5883670c3",
      "tree": "7e23f994d376d45183eac141e914ddbfd126cdf5",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 10:21:24 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 16:13:00 2014 -0700"
      },
      "message": "Fix uses of KeyedVector\n\nConstructor for AudioFlinger::mAudioHwDevs was missing, and so\nAudioFlinger::findSuitableHwDev_l() could return an undefined pointer\nif a non-0 module wasn\u0027t found.\n\nA KeyedVector of Plain Old Data (POD) element type must specify the\ndefault value in the constructor, or else the default will be undefined.\n\nMinor:\n - Parameter had wrong type in constructor for AudioSystem::gOutputs.\n - Remove obsolete AudioSystem::gStreamOutputMap.\n\nChange-Id: I9841493e018440e559d8b8b0e4e748ba2b2d365b\n"
    },
    {
      "commit": "85d109a4b0eddd76a8c5cee170bc2bcc99d00118",
      "tree": "063a73398f17da98b0a9ecc5923ab05bbc3fc5d9",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 10:25:08 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 15:38:25 2014 -0700"
      },
      "message": "Document AudioSystem::newAudioSessionId() failures\n\nChange-Id: Iaa168722f362c36bdfa87fe20dc0a59b43cf1ca3\n"
    },
    {
      "commit": "c3dcf1007aa964f825b2ea2ef86acb7f332e748f",
      "tree": "c3e72b5ad4c3a145413a2a6e964719dbf908059e",
      "parents": [
        "a1aaaf86cd04eabaf961a30d7b0a9fa857089862",
        "65550a0e17852fe657795508e3bf05bdbfb2520b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 25 20:15:40 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 20:15:40 2014 +0000"
      },
      "message": "am 65550a0e: am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\n* commit \u002765550a0e17852fe657795508e3bf05bdbfb2520b\u0027:\n  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n"
    },
    {
      "commit": "65550a0e17852fe657795508e3bf05bdbfb2520b",
      "tree": "c7c08feacf4c4eee1ac0a387cbe02c0d77b07bfc",
      "parents": [
        "3089021031d6ad0f2b330567f108aec03fa13994",
        "0370be96e33ea0c8fb4069e704deccce43b7403c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 25 20:11:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 20:11:09 2014 +0000"
      },
      "message": "am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\n* commit \u00270370be96e33ea0c8fb4069e704deccce43b7403c\u0027:\n  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n"
    },
    {
      "commit": "0370be96e33ea0c8fb4069e704deccce43b7403c",
      "tree": "9d244524a113db326aa9e86caab40c49a08248f3",
      "parents": [
        "333ceb4f66ccf790081026f645474e07d832fbdb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 11:20:25 2014 -0700"
      },
      "message": "DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\nAs a workaround, duplicate CameraParameters into CameraParameters2 to\nprevent ABI break for some camera HALs that directly link into\nCameraParameters.\n\nCameraParameters2 implements the real fixes needed in the framework,\nwhile CameraParameters is left in to satisfy older camera HALs.\n\nBug: 12609188\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da\n"
    },
    {
      "commit": "9078a1b3b9f9c0c48046ade0e8e18b0d79a659db",
      "tree": "b621ec3b2db6b4dcb12df7d201eb474a09183386",
      "parents": [
        "b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 20 00:21:25 2014 +0000"
      },
      "message": "camera: Fix setParameters for Preview FPS single/range values\n\nBug: 12609188\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4db\n"
    },
    {
      "commit": "d4a31b8bcd7df99dfce2f25a32badf4611a6ba1a",
      "tree": "a910c51ee1fdd3b8bc14f822da70b3136f8b50a8",
      "parents": [
        "259ace8f6057dbb0fdec4c8223aefc0282274be3",
        "de9453fb5cbc9cd69fd1ea45d577851e3aa3b8c9"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Mar 19 21:57:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 19 21:57:42 2014 +0000"
      },
      "message": "Merge \"Add MediaPlayer::getAudioStreamType.\""
    },
    {
      "commit": "de9453fb5cbc9cd69fd1ea45d577851e3aa3b8c9",
      "tree": "bb52d2f3c0f9f77a904ad4aaba8867cad727e28b",
      "parents": [
        "8c75ab3416313843314446c5bbeafa62b83f0d63"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Mar 19 13:05:45 2014 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Mar 19 15:40:40 2014 -0400"
      },
      "message": "Add MediaPlayer::getAudioStreamType.\n\nChange-Id: I9cd8a718d2873543609aa651fd85749478f4f89f\n"
    },
    {
      "commit": "d74110cdef2becd4f7fd2334c34c3ca73f56b355",
      "tree": "e2c336f499b4d56fecb122dc0f203217ab5e9103",
      "parents": [
        "8c75ab3416313843314446c5bbeafa62b83f0d63"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 18 19:46:52 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 19 10:20:22 2014 -0700"
      },
      "message": "stagefright: add include support for MediaCodecList xml parser\n\nOne can include full-formed XML files using \u003cInclude href\u003d\"..\" /\u003e.\nFor security/simplicity, file names must be in the form of\n\"media_codecs_.*\\.xml\"\n\nChange-Id: Id039a4fd0ade390224485fcf5ecc1d107b2bdb9a\n"
    },
    {
      "commit": "129c76538570cd42fce2154bfb0aec934cf84ff3",
      "tree": "e83ec23188412392940089494187011f15aee1b8",
      "parents": [
        "49b2e310f62c590a1af9f921cd8a134cdf589263",
        "9cde517297827156de1c3b2ff54e272a5d4ae7c3"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 19 03:15:12 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 19 03:15:12 2014 +0000"
      },
      "message": "am 9cde5172: am b635b0e6: mediaplayer: keep more buffers with the BufferQueue\n\n* commit \u00279cde517297827156de1c3b2ff54e272a5d4ae7c3\u0027:\n  mediaplayer: keep more buffers with the BufferQueue\n"
    },
    {
      "commit": "9cde517297827156de1c3b2ff54e272a5d4ae7c3",
      "tree": "a3a8a64a98b4bc7a01ed5a156e974dbda4c65bf2",
      "parents": [
        "a1f0c62c189f2d162cca4af736c3d440f1eff53c",
        "b635b0e66b257ab442e230bca96afd5105cf6829"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 19 03:10:58 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 19 03:10:58 2014 +0000"
      },
      "message": "am b635b0e6: mediaplayer: keep more buffers with the BufferQueue\n\n* commit \u0027b635b0e66b257ab442e230bca96afd5105cf6829\u0027:\n  mediaplayer: keep more buffers with the BufferQueue\n"
    },
    {
      "commit": "b635b0e66b257ab442e230bca96afd5105cf6829",
      "tree": "ce27a9ac30a219e6895cffddd6c4f9ab873ca19a",
      "parents": [
        "43ca783effd99bba0e6e2dd6fe177a8888578ef8"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 13 15:29:49 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 19 02:15:24 2014 +0000"
      },
      "message": "mediaplayer: keep more buffers with the BufferQueue\n\nChange OMX buffer allocation policy to allocate\nnBufferCountMin + what is required for the BQ.\n\nFor the BQ, try to allocate 2 additional buffers than\nthe minimum undequeued count.\n\nAlso account for the fact that BQ may return one less\nthan the actual minimum undequeued count.\n\nIn most cases the resulting number of buffers ends up\nbeing the same as with the previous policy, but we\nkeep more buffers with the BQ.\n\nChange-Id: I826db8bf7dd333b620299dba60bf1b81b228275d\nBug: 13170236"
    },
    {
      "commit": "e1445da74730473a66a3ae8414e940aebfe6585d",
      "tree": "4156e14e4528fffe1ec29f48bffd78c2fcd0d786",
      "parents": [
        "1c2b6e5e9671a5ea9eb26d24b772bb26bfa6d107"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 14:00:29 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 14:00:29 2014 -0700"
      },
      "message": "camera2: Don\u0027t log vendor tag errors when camera HAL too old\n\nChange-Id: Iac3d23284230c95c85ee404abbf9b22df1ae721c\n"
    },
    {
      "commit": "c5a17425986b4ce3384e6956762c86018b49c4a0",
      "tree": "313484677c719c944bc7923b0c3766cba3bef5c6",
      "parents": [
        "c3df838434b37d8400eea2438083cc01a4c1cc71"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 14:59:59 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:49:36 2014 -0700"
      },
      "message": "Remove name output parameter from createTrack\n\nIt was only used for one log.\nA better solution will be a per-track unique ID.\n\nChange-Id: Ia440e02ae4a5a4019a9a2d08970e1ee93ac4c3a3\n"
    },
    {
      "commit": "b1120b65c328cf6e35c0494d7d61addcbdc16821",
      "tree": "5e7fc0d7b847de1d85f4255a2d6cfab180cce816",
      "parents": [
        "1d59fea10d94e425cd48667d3030418e3907c56c",
        "1cd139824b2e6832f239cd27d8962d3239053c02"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 14 00:02:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 14 00:02:07 2014 +0000"
      },
      "message": "Merge changes I1455bfc6,I90c7e34b,I06e001df\n\n* changes:\n  NuPlayer: use MediaCodec instead of ACodec\n  MediaCodec: add getInputFormat() method\n  Revert \"NuPlayer: Use a software renderer when using software codecs\"\n"
    },
    {
      "commit": "29c291f2337561b1f8c2f79bc34339b0b9c28b9c",
      "tree": "a3632cabb7b28a33985370411ec0ae9dcc0a7379",
      "parents": [
        "28836548337865536788799430e9fae77e996422",
        "a671f943b72155460f0c94cdd92d829cb059b571"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 13 23:43:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 13 23:43:25 2014 +0000"
      },
      "message": "am a671f943: am c69bc40a: Merge \"Cap pts gap between adjacent frames to specified value\" into klp-dev\n\n* commit \u0027a671f943b72155460f0c94cdd92d829cb059b571\u0027:\n  Cap pts gap between adjacent frames to specified value\n"
    },
    {
      "commit": "1d59fea10d94e425cd48667d3030418e3907c56c",
      "tree": "04e17c2e613ee146d7e0c5dc5d0078936a419ec7",
      "parents": [
        "97ae4073c5c589f7df36cc840ec77d02eececbc8",
        "d1176ef16677b6c94fb893edb6a864cdccc0b190"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Mar 13 20:18:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 13 20:18:28 2014 +0000"
      },
      "message": "Merge \"camera3: Pass vendor tags through binder.\""
    },
    {
      "commit": "a671f943b72155460f0c94cdd92d829cb059b571",
      "tree": "04d465f9e42df72de4d54fe1e55da60efc026adb",
      "parents": [
        "1e001f92e748de00a3e20effa464d59d75a746b3",
        "c69bc40a347c411751cb082b3eb4a82d976a68ec"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 13 19:33:54 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 13 19:33:54 2014 +0000"
      },
      "message": "am c69bc40a: Merge \"Cap pts gap between adjacent frames to specified value\" into klp-dev\n\n* commit \u0027c69bc40a347c411751cb082b3eb4a82d976a68ec\u0027:\n  Cap pts gap between adjacent frames to specified value\n"
    },
    {
      "commit": "d1176ef16677b6c94fb893edb6a864cdccc0b190",
      "tree": "8cc18e17c4e32633d20e8c2b7fc9e397cc1791ac",
      "parents": [
        "3a005b3b19b750afe24577ae322aff4602ca2740"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Feb 21 10:51:38 2014 -0800"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Mar 13 12:09:22 2014 -0700"
      },
      "message": "camera3: Pass vendor tags through binder.\n\nBug: 12134423\n\n- Adds a class for parceling vendor tag definitions.\n- Passes vendor tag definitions to clients of the camera service.\n- Switches over to new vendor tag mechanism when reading from HAL.\n\nChange-Id: Icef3fe9e67160767bdb8244ac49c85b68b497123\n"
    },
    {
      "commit": "5205977929c8a63d3bba026c6bd7b4cc1e236627",
      "tree": "0a1801cffe10b082961f01c9844a325205d0cd04",
      "parents": [
        "fca092d953e04c7169242200f0ddb914a9f54ea4"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Wed Mar 12 15:07:30 2014 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Wed Mar 12 16:58:54 2014 -0700"
      },
      "message": "Remove deprecated BufferQueue constructor\n\nBug: 13415624\nChange-Id: I1a824d09ce582ee54753683d30cdc23813c13b6b\n"
    },
    {
      "commit": "e257e5ebefdd50f808ee3b4d1596db261c9b62dd",
      "tree": "be6e8e59e410550afb7046e5a5b5c10abe6047ea",
      "parents": [
        "3a0fb34ed9fcb665e71cc055abde520af393c493"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 13 15:29:49 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 11 14:20:00 2014 -0700"
      },
      "message": "mediaplayer: keep more buffers with the BufferQueue\n\nChange OMX buffer allocation policy to allocate\nnBufferCountMin + what is required for the BQ.\n\nFor the BQ, try to allocate 2 additional buffers than\nthe minimum undequeued count.\n\nAlso account for the fact that BQ may return one less\nthan the actual minimum undequeued count.\n\nIn most cases the resulting number of buffers ends up\nbeing the same as with the previous policy, but we\nkeep more buffers with the BQ.\n\nChange-Id: I826db8bf7dd333b620299dba60bf1b81b228275d\nBug: 12080418\n"
    },
    {
      "commit": "8bd4d16aa5636e98522c07ae31236420788aa749",
      "tree": "62a6de2d5849abe614ad64ca600ee00b5df6b57c",
      "parents": [
        "bc69c8ba9a8fc881603669205a56d0ca1b572a95"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jan 10 17:36:57 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 11 20:58:57 2014 +0000"
      },
      "message": "Cap pts gap between adjacent frames to specified value\n\n- In the scenario of cast mirroring, encoding could be suspended\n  for prolonged periods. Limiting the pts gap to workaround the\n  problem where encoder\u0027s rate control logic produces huge frames\n  after a long period of suspension.\n\n- Repeat last frame a couple more times to get better quality\n  on static scenes.\n\n- Fix the timestamp on repeat frames (it was not set)\n\nBug: 11971963\nChange-Id: I1d68ab3d269874bf3921aa429a985c5f63e428c7\n(cherry picked from commit 94ee4b708acfa941581160b267afb79192b1d816)\n"
    },
    {
      "commit": "3a0fb34ed9fcb665e71cc055abde520af393c493",
      "tree": "d91b713fe733dd2130e231369352621c74b99d70",
      "parents": [
        "4e053b1aa96fe0a0b02eaa595175100a4d8d7101",
        "8dcc81a2fdb35905347cf7ef46d198afa7ae79cd"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Tue Mar 11 19:03:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 11 19:03:43 2014 +0000"
      },
      "message": "Merge \"Add empty onSidebandChanged callbacks to BufferQueue::ConsumerListeners\""
    },
    {
      "commit": "c644345b0b8f5292a049c4cee2bb7a2a6159b884",
      "tree": "423a2a937e693746189cf51852d0e727c418471b",
      "parents": [
        "1ac1638077277de52d1dd4c54db71e67753f1960",
        "720ad9ddb2ac6b55b0dfbfcd2d8360151d8ac427"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Mar 11 17:12:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 11 17:12:37 2014 +0000"
      },
      "message": "Merge \"AudioTrack non-blocking write\""
    },
    {
      "commit": "a5ae9aa74b1217eb838c2ba092ba2429dcaf10e8",
      "tree": "3dd58033277760eb2bfbefe31c0cd7d64c2a602a",
      "parents": [
        "3a90f2849d49bf65f2d6257fd6da30ae46d745fa",
        "343947abc8b7c126f966fd32a0b18bff6c2cecd1"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 10 19:01:48 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 10 19:01:49 2014 +0000"
      },
      "message": "Merge \"Stagefright: added WebM muxer.\""
    },
    {
      "commit": "e0381245dff04aa823a59aa8b85869eddab0f39f",
      "tree": "956a2615b37d049528ad0b2ae503b14fc852962c",
      "parents": [
        "259f1624cf7b93ba831af10a616267487601c27f"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Feb 24 16:37:24 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Mar 10 11:40:03 2014 -0700"
      },
      "message": "MediaCodec: add getInputFormat() method\n\nAdditional input-port format item:\n\nint32: \"adaptive-playback\"\n  video decoders only\n  whether codec is configured for adaptive playback.  In this case, if\n  codec has max-width/height limits, those limits are also exposed\n  (int32: \"max-width\", \"max-height\")\n\nAlso, getInput/OutputFormat() is now callable in CONFIGURED and\nSTARTING states, although output format may be missing CSD fields\nuntil INFO_OUTPUT_FORMAT_CHANGED message.\n\nIncludes missing OMX support for MP3 software decoder.\n\nBug: 11785204\nChange-Id: I90c7e34ba81c7b81c43641599f3f496e838958c6\n"
    },
    {
      "commit": "3a20f9af8587d2e5bbf4654a3a958f43c4133445",
      "tree": "80cd4642fe95200e8dc68d7cba241e594ced4816",
      "parents": [
        "77a85ebe1fc28f3af07ebefeea53fad778f442c0",
        "38efe8eb08e08610d535a164768851ac7c13d654"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Mar 08 02:03:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Mar 08 02:03:09 2014 +0000"
      },
      "message": "am 38efe8eb: am 6db20dcb: Merge \"AudioTrack: When paused, return cached playback position\" into klp-dev\n\n* commit \u002738efe8eb08e08610d535a164768851ac7c13d654\u0027:\n  AudioTrack: When paused, return cached playback position\n"
    },
    {
      "commit": "38efe8eb08e08610d535a164768851ac7c13d654",
      "tree": "7853a753cbfac471087604d702ad6b2c546a2269",
      "parents": [
        "4ee774f322ad3292fcfbb3c120cf250643419425",
        "6db20dcb54dad932a3ea2e3a5dca41fce5802eb4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Mar 08 02:00:05 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Mar 08 02:00:05 2014 +0000"
      },
      "message": "am 6db20dcb: Merge \"AudioTrack: When paused, return cached playback position\" into klp-dev\n\n* commit \u00276db20dcb54dad932a3ea2e3a5dca41fce5802eb4\u0027:\n  AudioTrack: When paused, return cached playback position\n"
    },
    {
      "commit": "6db20dcb54dad932a3ea2e3a5dca41fce5802eb4",
      "tree": "295ef5012f98e4b9251f28774cfb3f83710ea197",
      "parents": [
        "2f55c2c03b17795e94b325d402ac5b409e3ba0e8",
        "2048c2292c0466b184fb8f67c91f4d0ab9f5c3f3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Mar 08 00:29:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 08 00:29:56 2014 +0000"
      },
      "message": "Merge \"AudioTrack: When paused, return cached playback position\" into klp-dev"
    },
    {
      "commit": "8dcc81a2fdb35905347cf7ef46d198afa7ae79cd",
      "tree": "3a6a83b0dc60fdaa9901eefb3262558b92d1b1ac",
      "parents": [
        "64aa53e4d2acb0251d17a628d7872af58a2b9fbd"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Mar 03 15:35:36 2014 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Mar 07 14:03:53 2014 -0800"
      },
      "message": "Add empty onSidebandChanged callbacks to BufferQueue::ConsumerListeners\n\nChange-Id: I94384aefd47b3a581cbdc3905ba9fdbc88d3d06c\n"
    },
    {
      "commit": "55e599daff7712142095f546b7e5bf2dcda807a8",
      "tree": "255a9372144a9ad83b4560f12f02f29903aa3252",
      "parents": [
        "f69f9869514730aebe5724c461768507084dfff7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 10:54:55 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 07 08:39:09 2014 -0800"
      },
      "message": "Miscellaneous cleanup for NBAIO\n\nFinish removing Format_frameBitShift\nFix type of mFrameSize\nAdd FIXME\n\nChange-Id: I02039b97cb93af1a180e88f6575210bd752faf20\n"
    },
    {
      "commit": "f69f9869514730aebe5724c461768507084dfff7",
      "tree": "0f14d23d8b7a26669317bb29055301a473821f2e",
      "parents": [
        "8eec77066635c30b8ddce79cf9433357cf3afa1a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 07 08:37:57 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 07 08:39:09 2014 -0800"
      },
      "message": "NBAIO::Format_from_SR_C requires audio_format_t parameter\n\nChange-Id: I4b65f6ed2f6ca3608b3a5f88f52a93af0b9b1f4a\n"
    },
    {
      "commit": "7e65e101bd48461e274fd2e927b80fbbd8b71744",
      "tree": "9695a4b9ff2f68c02e920904f8fde3a72a49c7e4",
      "parents": [
        "d1d45fe7779e10e381420c63de79001c8593423b",
        "72d09f6280cd701e48922a86df0d2e5f4e61cd8e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 07 02:41:38 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 07 02:41:38 2014 +0000"
      },
      "message": "am 72d09f62: am 2613347d: Merge \"Added support to query ACodec whether adaptive playback is enabled.\" into klp-dev\n\n* commit \u002772d09f6280cd701e48922a86df0d2e5f4e61cd8e\u0027:\n  Added support to query ACodec whether adaptive playback is enabled.\n"
    },
    {
      "commit": "72d09f6280cd701e48922a86df0d2e5f4e61cd8e",
      "tree": "7b38385ed652c44f759557fd057e04b8ed579de1",
      "parents": [
        "d7c4da3c1c33b5219d7d87ba698cd7d9c8750c41",
        "2613347d74c3f35bc6fda5df1c29c1119c22d432"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 07 02:38:23 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 07 02:38:23 2014 +0000"
      },
      "message": "am 2613347d: Merge \"Added support to query ACodec whether adaptive playback is enabled.\" into klp-dev\n\n* commit \u00272613347d74c3f35bc6fda5df1c29c1119c22d432\u0027:\n  Added support to query ACodec whether adaptive playback is enabled.\n"
    },
    {
      "commit": "2613347d74c3f35bc6fda5df1c29c1119c22d432",
      "tree": "7f97cbfd6f1f9d3183a8b8e0ffbdadae662a6372",
      "parents": [
        "909498b72d740e3151561fd4435ad0a329ec9c6e",
        "933a4d3339ebbcd34a7f97b9e7350ec74b5ec29c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 07 02:33:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 07 02:33:08 2014 +0000"
      },
      "message": "Merge \"Added support to query ACodec whether adaptive playback is enabled.\" into klp-dev"
    },
    {
      "commit": "2048c2292c0466b184fb8f67c91f4d0ab9f5c3f3",
      "tree": "126fcbfff298dd8e0f8ddb834c93c8850b8654ac",
      "parents": [
        "a11111f9135c98cf4247bbd1a61d7df3053e549e"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Jan 08 13:59:53 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 06 18:00:39 2014 -0800"
      },
      "message": "AudioTrack: When paused, return cached playback position\n\nAn offload output can be re-used between two audio tracks having\nthe same configuration. A timestamp query for a paused track\nwhile the other is running would return an incorrect time.\nTo fix this, cache the playback position on a pause() and return\nthis time when requested until the track is resumed.\n\nBug: 12826612.\nChange-Id: Ia42b8b8fd2ba8993dfcc9abca72da48d71d78d74\n"
    },
    {
      "commit": "1bdf803fde294017d8b504891618f688a21a2e75",
      "tree": "f0f12e450aa1256985b7c6c15782032acaf514cc",
      "parents": [
        "570dd184541ad166ee97e7a849c27c4141ee2af7",
        "c326e1c3d122917462f1cda4f03d9c639ad92902"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 07 00:54:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 07 00:54:14 2014 +0000"
      },
      "message": "Merge \"Remove Format_frameBitShift()\""
    },
    {
      "commit": "933a4d3339ebbcd34a7f97b9e7350ec74b5ec29c",
      "tree": "bd6e305a5ba2d5cb84e6d90779a36b9f0dc457f9",
      "parents": [
        "f7e34cfcb9d649989c8e391f23dde782d4931849"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jan 23 15:26:43 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 06 16:26:30 2014 -0800"
      },
      "message": "Added support to query ACodec whether adaptive playback is enabled.\n\nBug: 11854054\nChange-Id: I6b0308aa8550c643706959277e46dad586c37297\n"
    },
    {
      "commit": "cf755e362048453a1f65103387ddbe36fc2c5280",
      "tree": "3872f8a4c7bf2ccfe0b05d9b13dbeb629d782117",
      "parents": [
        "810219ba83571d66149068bb8d35651988ba9b2f",
        "2b7b910f4b417ab3930379298f538d0dfc857e88"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 23:51:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 06 23:51:21 2014 +0000"
      },
      "message": "Merge \"Split mPacked into 4 separate fields\""
    },
    {
      "commit": "343947abc8b7c126f966fd32a0b18bff6c2cecd1",
      "tree": "211261c7f1985676176ce01891ba0529300aef55",
      "parents": [
        "7a0662afeba50b78f43ce24539230cace30c3cfd"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Feb 07 16:59:35 2014 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 06 14:27:56 2014 -0800"
      },
      "message": "Stagefright: added WebM muxer.\n\nChange-Id: I50bbf9c6f089b205d5ecef1371bfdd2028b3b358\n"
    },
    {
      "commit": "810219ba83571d66149068bb8d35651988ba9b2f",
      "tree": "521e540d4b55297e55f52b4c4254b6783d3f8e97",
      "parents": [
        "e53c9b8d8130518f37a47635c4cd0ae529ecd7e1",
        "f95a3c4122d67273d930c7d83c3df99f136603ed"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 22:18:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 06 22:18:27 2014 +0000"
      },
      "message": "Merge \"Add format parameter to Format_from_SR_C\""
    },
    {
      "commit": "e53c9b8d8130518f37a47635c4cd0ae529ecd7e1",
      "tree": "857d81b5ac9991c63705cff41d71a77eb1cdab6f",
      "parents": [
        "c514c9cba45ea5ed0a45900ea6a17389901e5181",
        "4d693d6b8cc1283f92f5301daf19a07abc772a2b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 20:28:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 06 20:28:04 2014 +0000"
      },
      "message": "Merge \"Use mFrameSize instead of mBitShift\""
    },
    {
      "commit": "c514c9cba45ea5ed0a45900ea6a17389901e5181",
      "tree": "70218d0900d143047710bab893c1db8e575ef64c",
      "parents": [
        "a921c313c321117df16968751bcc94f0dd52a9f3",
        "7064fd2dcdfeafea53cd5a992bb78c413542f29f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 06 20:12:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 06 20:12:23 2014 +0000"
      },
      "message": "Merge \"AudioTrack: When paused, return cached playback position\""
    },
    {
      "commit": "7064fd2dcdfeafea53cd5a992bb78c413542f29f",
      "tree": "eb8961194a192128c7db06f5c0de50f9a72b93cd",
      "parents": [
        "48588bdd9ec1102a5e96b9033d1ed8b8d6a3b3ba"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Jan 08 13:59:53 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 06 11:38:38 2014 -0800"
      },
      "message": "AudioTrack: When paused, return cached playback position\n\nAn offload output can be re-used between two audio tracks having\nthe same configuration. A timestamp query for a paused track\nwhile the other is running would return an incorrect time.\nTo fix this, cache the playback position on a pause() and return\nthis time when requested until the track is resumed.\n\nBug: 12826612.\nChange-Id: I324112ea9827e52fff53ef44cd8513c8d85a0bc4\n"
    },
    {
      "commit": "f590f948e6c0fe3c54008dd7802fd513f127792d",
      "tree": "1bd64930d69158418ac7c54c9d9a9b3a16dab973",
      "parents": [
        "3c836e7882e88de42e0e600627de433b61e78621"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 06 11:51:42 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 06 11:16:08 2014 -0800"
      },
      "message": "stagefright: do not offload LD-AAC decoding\n\nFor now, do not offload LD and ELD AAC decoding because there\nis no way to know if it is supported by the audio DSP implementation.\nThe longer term fix will be to have mapMimeToAudioFormat() use the\naudio object type in track metadata to refine the AAC format and the\naudio HAL list supported AAC profiles.\n\nBug: 11697128.\n\nChange-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147\n"
    },
    {
      "commit": "c326e1c3d122917462f1cda4f03d9c639ad92902",
      "tree": "28c1092bd5c9ca835477f45e0d159fc3c828cfff",
      "parents": [
        "983f0578ccd2928af40c9689f6fe90110d02b92e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:01:38 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 09:04:38 2014 -0800"
      },
      "message": "Remove Format_frameBitShift()\n\nChange-Id: Iae2e80a7330c5dd0f70a263051aa44c23cfe3541\n"
    },
    {
      "commit": "2b7b910f4b417ab3930379298f538d0dfc857e88",
      "tree": "75cb553bb49adfbd8e99f7d265ffe070a27b0e97",
      "parents": [
        "f95a3c4122d67273d930c7d83c3df99f136603ed"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:02:51 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:52:06 2014 -0800"
      },
      "message": "Split mPacked into 4 separate fields\n\nChange-Id: I940324dce9b51fd8d7e2e362e12ad74b70e658dd\n"
    },
    {
      "commit": "f95a3c4122d67273d930c7d83c3df99f136603ed",
      "tree": "3aa730e7dd0db5481ed18f4e59745a9dcb53413c",
      "parents": [
        "4d693d6b8cc1283f92f5301daf19a07abc772a2b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 07:59:49 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:40:49 2014 -0800"
      },
      "message": "Add format parameter to Format_from_SR_C\n\nChange-Id: I891138b7754342fe2a4f02de30ee616dbd078474\n"
    },
    {
      "commit": "4d693d6b8cc1283f92f5301daf19a07abc772a2b",
      "tree": "d377025ddacd76f5e923390236a70424897fdf6e",
      "parents": [
        "ac3e9db88ddb1f24bc6c8fb744a37dfdeec332bb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 07:53:11 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:40:43 2014 -0800"
      },
      "message": "Use mFrameSize instead of mBitShift\n\nChange-Id: Idac335ae70cc9300bb3325839fe8ef1e9e097245\n"
    },
    {
      "commit": "ac3e9db88ddb1f24bc6c8fb744a37dfdeec332bb",
      "tree": "7e569cdaab0966b7e3c1c02118361f223fdaaf98",
      "parents": [
        "7a0662afeba50b78f43ce24539230cace30c3cfd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:00:31 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:40:37 2014 -0800"
      },
      "message": "Add mFrameSize but do not remove mFrameBitShift yet\n\nChange-Id: Icb1edefeb6a0e659503f6b7a92c9d15784df9865\n"
    },
    {
      "commit": "d0115d8c4db2f337030dea706bc0a434c4a03ed6",
      "tree": "239450c60bc4cb8519edeb8985dbc601fe51c652",
      "parents": [
        "7e92abeafb184e8a34213d7149592e95a72601b0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 26 17:16:50 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 12:17:54 2014 -0800"
      },
      "message": "update offloaded audio track sampling rate\n\nAudioPlayer must read the sampling rate from offloaded audio sinks\nwhenever a new time position is computed as the decoder can update\nthe sampling rate on the fly.\n\nBug: 12823955.\n\nChange-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88\n"
    },
    {
      "commit": "97504893a3ee96f612e0e1b47d331583a88e289b",
      "tree": "521cd011b61b31841956c143fbaec0ef94856662",
      "parents": [
        "4287b41411b40415b4186babf5763c3cfa0391ef",
        "6b2604259c12ee28b49f26ab2adac96eefe30934"
      ],
      "author": {
        "name": "jpadmana",
        "email": "jayashree.r.padmanaban@intel.com",
        "time": "Wed Mar 05 19:26:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 19:26:49 2014 +0000"
      },
      "message": "am 6b260425: am 85b3013e: fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds\n\n* commit \u00276b2604259c12ee28b49f26ab2adac96eefe30934\u0027:\n  fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds\n"
    },
    {
      "commit": "6b2604259c12ee28b49f26ab2adac96eefe30934",
      "tree": "1515124f74fdbc0d3544034568a784155690e185",
      "parents": [
        "fc04776adc5572fcc323b1dca66dee27a537c619",
        "85b3013e06e8fe7802fe6259ecac80261e834332"
      ],
      "author": {
        "name": "jpadmana",
        "email": "jayashree.r.padmanaban@intel.com",
        "time": "Wed Mar 05 01:24:11 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 01:24:11 2014 +0000"
      },
      "message": "am 85b3013e: fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds\n\n* commit \u002785b3013e06e8fe7802fe6259ecac80261e834332\u0027:\n  fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds\n"
    },
    {
      "commit": "85b3013e06e8fe7802fe6259ecac80261e834332",
      "tree": "477c3b2bddfc872ba4f012796f0e3a8d5448f059",
      "parents": [
        "50c3157c5a3e0617be77716beff1ae8801d8a72f"
      ],
      "author": {
        "name": "jpadmana",
        "email": "jayashree.r.padmanaban@intel.com",
        "time": "Thu Nov 14 17:20:52 2013 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 04 16:10:47 2014 -0800"
      },
      "message": "fix deadlock issues that arise when there are simultaneous\neffect control interface calls to proxy and to\nnon sub-effect wrappers(eg., bundlewrapper) from audioflinger\nAlso, return NO_ERROR when CMD_OFFLOAD succeeds\n\nWhenever there are parallel calls to proxy and non sub-effects wrappers,\nsome of the calls are not completed. This is due to deadlock arsing out\nof Proxy waiting for the subeffect call to return and subeffect waiting\nfor proxy to release lock.\nThe call flow is changed to a cleaner and simple one - Proxy gets the\naeli(effect library info) of subeffects during the EffectGetSubEffects()\ncall. Therby, proxy will manage the sub effects by itself rather than\ngoing through effects factory.\n\nChange-Id: If4b259da5776f151c1e81a78a0239d342046d923\nSigned-off-by: jpadmana \u003cjayashree.r.padmanaban@intel.com\u003e\nBug: 12424044\n"
    },
    {
      "commit": "b4350af65dd66ed57f1ff79b1b426507f0e73b7b",
      "tree": "47c385021c247ebc3faaf99ffdb2174dba5d8597",
      "parents": [
        "feac1a43c8b674c4b526214fa8061452fd6e4846",
        "bf927f8ec7979f2b64331c2b2f12a6a5dba05bca"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 04 00:05:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 04 00:05:15 2014 +0000"
      },
      "message": "Merge \"Opus Matroska support in OpenMax\""
    },
    {
      "commit": "bf927f8ec7979f2b64331c2b2f12a6a5dba05bca",
      "tree": "74cd06e798e79839ab872ede1f57ab35a3b6afdf",
      "parents": [
        "3a005b3b19b750afe24577ae322aff4602ca2740"
      ],
      "author": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Wed Jan 29 09:00:46 2014 -0800"
      },
      "committer": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshv@google.com",
        "time": "Mon Mar 03 13:30:38 2014 -0800"
      },
      "message": "Opus Matroska support in OpenMax\n\nAdding Openmax component for libopus software decoder. This can\ndecode opus audio files embedded in matroska containers.\n\nChange-Id: I7e0691cfc6d719c4e927b9efbd05a3143be49abc\nNote: This CL is part of adding Opus support to Android.\n"
    },
    {
      "commit": "720ad9ddb2ac6b55b0dfbfcd2d8360151d8ac427",
      "tree": "58049745c0426d9b615a3891419963f2589edd7b",
      "parents": [
        "56df9ff31d583ad3eae4f279a3df550273c58e1e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 04 11:00:59 2014 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Mar 03 10:44:27 2014 -0800"
      },
      "message": "AudioTrack non-blocking write\n\nBug 7531968\n\nChange-Id: I6d0e79fa8cab5b6eb36bcc34977f4cf0d7eec8ea\n"
    },
    {
      "commit": "d2304db2fcb5112292105a0949a55986a4c9875f",
      "tree": "fe2723acf4c0eebcc39443769ab8b48840ddb48e",
      "parents": [
        "33ca5cf8826f5fcd9c011e8d336138b62d982f2a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 03 07:40:31 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 28 12:06:05 2014 -0800"
      },
      "message": "Rename setStreamOutput to invalidateStream\n\nAnd simplify by removing the unused I/O handle parameter \u0027output\u0027.\n\nChange-Id: Ie9c4df17a7378066312d4ed8790fda7a9125c95e\n"
    },
    {
      "commit": "bce50bfc3846ab008bafa75c5d3f29fd7b5395f7",
      "tree": "ebefb9f660bf71aec96bd297e155d12c9d3588e8",
      "parents": [
        "838b3d8bafa4a781e277870dee4e0390165cff52"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 27 15:29:51 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 28 07:56:38 2014 -0800"
      },
      "message": "Fix type of AudioTrack/AudioRecord parameter frameCount\n\nIt\u0027s size_t consistently\n\nChange-Id: I29638ef59ac773218025f2403a3508a307b487e0\n"
    },
    {
      "commit": "838b3d8bafa4a781e277870dee4e0390165cff52",
      "tree": "b70ff81e8ef1c9fcdc21aad7fd07dfe793ad6872",
      "parents": [
        "484b4cd809aa46a54791d5c82a78d0f8aac895cf"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 27 15:30:41 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 28 07:56:34 2014 -0800"
      },
      "message": "Fix type of AudioTrack/AudioRecord parameter notificationFrames\n\nIt\u0027s uint32_t consistently\n\nChange-Id: If8298c7e9aeea2b951fe47b675adbdf48d104846\n"
    },
    {
      "commit": "9f474b7824abb0d5408d02e365cf37a986663979",
      "tree": "153354d59d0ef95f88832ba25e30a133964334b6",
      "parents": [
        "172abfe2cc30104282f8e65b82e9c9758adc83da",
        "b42f318d9733f88c7eb9bedfd33b086b8ea5dff5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 25 19:20:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 25 19:20:11 2014 +0000"
      },
      "message": "Merge \"Simplify and cleanup error handling in AudioRecord::getMinFrameCount\""
    },
    {
      "commit": "b42f318d9733f88c7eb9bedfd33b086b8ea5dff5",
      "tree": "5a38a8e40dd8c3ad572a418b2eb7fa08866e0a36",
      "parents": [
        "dc6ac201032d0f6ad0c8149ae2f009ec38693025"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 24 13:42:58 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 25 07:46:35 2014 -0800"
      },
      "message": "Simplify and cleanup error handling in AudioRecord::getMinFrameCount\n\nChange-Id: I8721ecedfb429c4e233453d1e768ddf69ecabbe4\n"
    },
    {
      "commit": "587e84cd328d8f236b2d9f26c5426b3ba8ed0d02",
      "tree": "7bf892fdd013c65ef1bca055221176795bba6c72",
      "parents": [
        "dc6ac201032d0f6ad0c8149ae2f009ec38693025",
        "c9c7e25a4b1c34439fb365f6cfbef063884566cc"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 24 17:14:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 24 17:14:25 2014 +0000"
      },
      "message": "Merge \"Add method to get redirected Uri\""
    },
    {
      "commit": "dc6ac201032d0f6ad0c8149ae2f009ec38693025",
      "tree": "66b04298c58f76a0c9723dcd6c6dbb2ebfa6ee63",
      "parents": [
        "323da1015a758243c2c43017b026a01c6cf0c6f2",
        "2c9c8cba8562cc3a27532e4cd348912cc78d8d98"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Feb 22 04:42:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 22 04:42:25 2014 +0000"
      },
      "message": "Merge \"support for time lapse/slow motion when using SURFACE source\""
    },
    {
      "commit": "c9c7e25a4b1c34439fb365f6cfbef063884566cc",
      "tree": "43162dd8e8867d610a3791c6ca2b2efcf4875f69",
      "parents": [
        "3a005b3b19b750afe24577ae322aff4602ca2740"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 21 12:01:23 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 21 12:32:11 2014 -0800"
      },
      "message": "Add method to get redirected Uri\n\nChange-Id: Id8aac1077c3de1bb1f58bfcfcca93d685abe9b79\n"
    },
    {
      "commit": "bf65553e56e7c5e1c198f48a0a17964fcfccf5da",
      "tree": "c68cc29003486c805b6cd382f2d394b81ca903fb",
      "parents": [
        "3f80319d5bddfaf11a1513777561096fc1447172",
        "26cee964ab4e0a2bd6ae9ad199ba78ea9634421c"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Feb 19 21:52:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 19 21:52:59 2014 +0000"
      },
      "message": "Merge \"Handle recording failure more gracefully.\""
    }
  ],
  "next": "4e01ef6b2f6d288b9aa83b5817adad02cecc429f"
}
