)]}'
{
  "log": [
    {
      "commit": "584c14c370f141685b7e8963a13ed91584383ca1",
      "tree": "3fec4de36f0907212c5d7f2375f537bcfb3f9c35",
      "parents": [
        "e48b90d634f9e6190a788e6225927d418b11d162",
        "ab76066c11e988ca3d3a5d6d74dd510ae080322e"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Tue Oct 07 01:56:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 07 01:56:59 2014 +0000"
      },
      "message": "Merge \"stagefright: do not allocate output buffers for tunneled playback\" into lmp-dev"
    },
    {
      "commit": "f2a64852a4a48c5a3d8a08ffcda20d6884586672",
      "tree": "6f9909217ea845e3d57580240ad00116d7408069",
      "parents": [
        "b220fe0e40bc3752b62a9576fc824634a16fc3ab"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 03 16:12:37 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 03 23:25:54 2014 +0000"
      },
      "message": "MediaRecorder: only dequeue available buffers from MediaCodec\n\nBug: 17514968\nChange-Id: If232f92d163deb2440b927315c69e0c4d51ca290\n"
    },
    {
      "commit": "a147b4f91143d9f2fb608e22f9fca14bbd029573",
      "tree": "e8a2933109c5955906b7e5f1e61ca1a0093c5633",
      "parents": [
        "c416becd966945fca5fa7fb45ac51f84d1d8cd20"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 01 21:36:51 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Oct 02 09:13:13 2014 -0700"
      },
      "message": "mediarecorder: set level if setting default profile\n\nBug: 17676461\nChange-Id: If01ccd09935945d330de0842be95c3544951b6b9\n"
    },
    {
      "commit": "c416becd966945fca5fa7fb45ac51f84d1d8cd20",
      "tree": "a6c4443573c5dd88f2ecbcf3c84f90d58b689dba",
      "parents": [
        "f916667a017a5a6763afc4808344778570312d5a"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 01 21:30:20 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 01 21:39:03 2014 -0700"
      },
      "message": "stagefright: move math templates into AUtils.h\n\nadd unit test for math templates\n\nBug: 17676461\nChange-Id: Ie964c5fcfcca1ec53b4538f8e577392e8fbb4319\n"
    },
    {
      "commit": "d0b9efe7d8300e48f7a99c1dd746d60060206b3c",
      "tree": "ff063a11d672bb71bbced27740eeac82216ed054",
      "parents": [
        "3af67d03bbc30c368821caf8b74ae7fb91ee7db7",
        "2965f4eb7dceaf1173f0e2d93c11c28293aeead7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 01 21:37:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 01 21:37:11 2014 +0000"
      },
      "message": "Merge \"add AAC audio decoder params for PCM limiter enable\" into lmp-dev"
    },
    {
      "commit": "360d6d0924f99b82ebacb5cfb6f7bca95e11b4ee",
      "tree": "1373f20ae467045842a9d206729ace2700f52bd0",
      "parents": [
        "992626cfe4852f1a2b46ea226b19c2eaa5dcfb89"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Sep 29 14:42:35 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Oct 01 10:58:30 2014 -0700"
      },
      "message": "GenericSource: support disconnect before NuCachedSource2 is created\n\nBug: 17672488\nChange-Id: I96776c9679fdcfbe9a442c86447c59802b1465ac\n"
    },
    {
      "commit": "2965f4eb7dceaf1173f0e2d93c11c28293aeead7",
      "tree": "7e69324afe5b3b2713b1f5c10bc3d71468197131",
      "parents": [
        "80ec934ae7d4e3a78af87554fdb77a58f6386ba0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 30 22:02:34 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 01 10:43:12 2014 -0700"
      },
      "message": "add AAC audio decoder params for PCM limiter enable\n\nBug: 17470065\nChange-Id: Ib67aa1c50e3b6c24c4b12b0f31a996cc6874abd1\n"
    },
    {
      "commit": "ab76066c11e988ca3d3a5d6d74dd510ae080322e",
      "tree": "deb4cccdb021f1e7aa0dd147f187a96b51b43d4c",
      "parents": [
        "9f8551ffa967bd8a4d0a52487a183dcf8b22d91f"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Mon Sep 22 19:34:31 2014 -0700"
      },
      "committer": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Sun Sep 28 15:33:34 2014 -0700"
      },
      "message": "stagefright: do not allocate output buffers for tunneled playback\n\nDo not allocate native window buffers for tunneled video playback codecs.\n\nBug: 17112525\nChange-Id: I262d8030a9df6188938fde5d62ebce8faf7dba1f\n"
    },
    {
      "commit": "bb6c9a05840d924b502ce0f1868fca4881ada1ed",
      "tree": "aec6d28b7ab31fec27416c6e853c94c2eedfcd9b",
      "parents": [
        "a935c76f96b066941b34f81c42b3fe9d00db98c5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 25 14:11:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 25 16:44:07 2014 -0700"
      },
      "message": "audio: fix stream type for accessibility usage\n\nMake sure that accessibility prompts are heard when\na ringtone is active by forcing stream type\nto AUDIO_STREAM_RING when phone state is AUDIO_MODE_RINGTONE.\n\nBug: 17558149.\nChange-Id: Ia3bead8052fca5cbf282c267f7b9b06014fef628\n"
    },
    {
      "commit": "d7f77cd78f5180ba7a04b270d632cc4f9f11718a",
      "tree": "b7110dfa83901fc8da23bda42b35c3205a75114c",
      "parents": [
        "0079b331227fc1555d7c5305f33917a570d44890",
        "dc9f58dc23a86d0635fd8601d1cbc8d47bab0303"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Sep 22 19:01:38 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 22 19:01:38 2014 +0000"
      },
      "message": "Merge \"MediaCodec: Fix deallocated pointer reference when calling reset()\" into lmp-dev"
    },
    {
      "commit": "dc9f58dc23a86d0635fd8601d1cbc8d47bab0303",
      "tree": "2ee7470116618537ff6a11e06c6d87421ed24509",
      "parents": [
        "2973994af39d55b58728df3dca067594e826ea2a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Sep 18 14:45:57 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Sep 22 10:23:31 2014 -0700"
      },
      "message": "MediaCodec: Fix deallocated pointer reference when calling reset()\n\nThe name pointer argument in MediaCodec::init() was being\nimplicitly deallocated.\n\nBug: 17499622\nChange-Id: If9409f95674e52d1478f969f77693c4d27ff1ff2\n"
    },
    {
      "commit": "0079b331227fc1555d7c5305f33917a570d44890",
      "tree": "9426b791e1d7e14ee3cba19ab38f09d7da7ade83",
      "parents": [
        "39e07162be0680fd30bec7be50628883aa912ffd",
        "96e92b58b7e9647b4c7c2f54b62a1b357ab06b66"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Sep 22 16:03:02 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 22 16:03:03 2014 +0000"
      },
      "message": "Merge \"MediaBuffer: ABuffer will release MediaBuffer when it\u0027s destructed.\" into lmp-dev"
    },
    {
      "commit": "96e92b58b7e9647b4c7c2f54b62a1b357ab06b66",
      "tree": "35b83c45383cf9753b2f48eea71e66d5331165dc",
      "parents": [
        "086c1e3f41a92aa0025a1da1db5dabbfdffaf129"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Sep 18 17:36:20 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Sep 19 19:20:58 2014 -0700"
      },
      "message": "MediaBuffer: ABuffer will release MediaBuffer when it\u0027s destructed.\n\nBug: 17454455\nChange-Id: Ia423bcc2e1fa39137f114eac44912ed15357bb99\n"
    },
    {
      "commit": "6aadfce1d8c972faad7f4437dcd88d8cd3557611",
      "tree": "59e128037e1ba35eab1be1595d72621ce322476e",
      "parents": [
        "2973994af39d55b58728df3dca067594e826ea2a",
        "a0fd9ca66a68baefd9d76800fd66823fd654ef45"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 18 22:14:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 18 22:14:00 2014 +0000"
      },
      "message": "Merge \"AudioEffect acquires session\" into lmp-dev"
    },
    {
      "commit": "a0fd9ca66a68baefd9d76800fd66823fd654ef45",
      "tree": "c3102c24d002966b7c0038e885296d77136a47c3",
      "parents": [
        "2720c8c45a0040d7007239c100591b9f092b780f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 18 14:07:18 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 18 14:07:18 2014 -0700"
      },
      "message": "AudioEffect acquires session\n\nCurrently, users of audio sessions, AudioTrack and AudioRecord,\n are acquiring and releasing audio sessions according to their\n life-cycle. AudioEffect instances were not counting as users\n of an audio session. This caused an effect used on a session\n to be purged by AudioFlinger::purgeStaleEffects_l() whenever\n the last user of that session went away.\nThis CL makes AudioEffect acquire and release a session when\n created and destroyed.\n\nBug 15432115\n\nChange-Id: I922532150009988d43872f9b5928044a830ae0b3\n"
    },
    {
      "commit": "832666776a681ec3a30ee8fc7d5da9039646147d",
      "tree": "5db9531f473caf0e8f8cce740a997f1ad282edb2",
      "parents": [
        "a87be62b083fb969aeece99d6c29735ef9a5a373",
        "06ad1528e6dd4c866c085d3cad9235d2752eb3ed"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 17 23:15:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 17 23:16:00 2014 +0000"
      },
      "message": "Merge \"NuPlayer: use getTimestamp instead of getPosition\" into lmp-dev"
    },
    {
      "commit": "7f1bc8af1c46695191bf7e2aba6467f3616629c0",
      "tree": "905b0091037bea59f81df3cc6e49c2cfd1d7d24d",
      "parents": [
        "90869c2bef1bc47394a9f603ccebb62b2592fd2b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Sep 12 14:43:11 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 17 23:07:05 2014 +0000"
      },
      "message": "Fix AudioTrack offloaded timestamp handling.\n\ngetTimestamp for offloaded tracks now returns WOULD_BLOCK for\nsituations where the timestamp is unavailable due to the\nprevious track still flushing or the timestamp is stale.\nIt is fixed for normal playback conditions.\n\nBug: 14659809\nBug: 17428188\nChange-Id: Ic9ec07ccabc604236979769db5c4ea2dec252660"
    },
    {
      "commit": "06ad1528e6dd4c866c085d3cad9235d2752eb3ed",
      "tree": "4b8411a9c418927b3916d5b5381cc8738a3ccb31",
      "parents": [
        "919b93473ebbba036f3934e92039f038c7f91a54"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 28 07:27:44 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 17 23:01:24 2014 +0000"
      },
      "message": "NuPlayer: use getTimestamp instead of getPosition\n\nBug: 14659809\nBug: 16985287\nChange-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045"
    },
    {
      "commit": "200092b7f21d2b98f30b800e79d152636f9ba225",
      "tree": "35ced5107a366d0885a6a54e5473891e5ce01317",
      "parents": [
        "4953f92be5c45d7b79448e8964ecbdc39eacb782"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 15 15:13:30 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Sep 11 09:54:52 2014 -0700"
      },
      "message": "Clean up AudioTrack position and timestamp handling\n\nReplace epoch concept by observing and accumulating server delta\npositions.  The advantage of using server deltas instead of absolute\nvalues is that they (1) are not sensitive to 32-bit wraparound,\n(2) are not sensitive to server behavior for stop(), and\n(3) prepare for future 64-bit client positions without requiring 64-bit\npositions on server.\n\nAdd comments to AudioTrack::getTimestamp() and friends\nthat the timestamp output parameter is undefined on error.\n\nDon\u0027t allow getTimestamp to return a negative frame position after stop().\n\nAccumulate the client released frames, which may be useful for a future API.\n\nBug: 11815245\nChange-Id: I652940fa2db2f34a78c012a3ead0d9204fa29c6e\n"
    },
    {
      "commit": "7ea429295a2eb31f2d9256c36c1ef53a195456ac",
      "tree": "b6c7d9d6050093b199d25e579d1407dca4ccc9e5",
      "parents": [
        "83ee5564965408307e6f045ce5faed72bc3437b0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 27 09:02:47 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 10 00:06:45 2014 -0700"
      },
      "message": "stagefright: don\u0027t use AAtomizer in AMessage\n\nBug: 15094301\nChange-Id: Ib82fb6d8fb6b48402d81f411123b3d924368eb93\n"
    },
    {
      "commit": "83ee5564965408307e6f045ce5faed72bc3437b0",
      "tree": "a06226084e4bf874ec9b361ff058e6488e44b93e",
      "parents": [
        "c99d333f59b5559248a5bf3135b7ef85b5f40133",
        "9520aa609c505cf8a9ee105bd78dc186cfb7770b"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 10 05:12:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 10 05:12:18 2014 +0000"
      },
      "message": "Merge \"CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P\" into lmp-dev"
    },
    {
      "commit": "9caf1f5677edb365c20739612cba9f59291a9afb",
      "tree": "c0e84b0ac44d03f63b5b74f961df819980876e92",
      "parents": [
        "8716e3f386f37abd3d759404ca8b3deaf46afde8",
        "0671947255321526cb1ba1ec3a20af9e8579c257"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Sep 09 23:56:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 09 23:56:05 2014 +0000"
      },
      "message": "Merge \"Add error code for insufficient output protection\" into lmp-dev"
    },
    {
      "commit": "9520aa609c505cf8a9ee105bd78dc186cfb7770b",
      "tree": "d6027b7564032ed9f307fc758b4ca49bc997674e",
      "parents": [
        "8270e1d13a101fa946848871b9903b31ff11981f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Sep 09 16:18:31 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Sep 09 16:18:31 2014 -0700"
      },
      "message": "CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P\n\nBug: 17059255\nChange-Id: Ic6b272e4ceec8fc852c9eb787370f4d366dad0ac\n"
    },
    {
      "commit": "640adb3cf89cc9b826372009fad8c9b3d120482e",
      "tree": "e51644f1d307b920cf35e364c7d7562a604ef9a5",
      "parents": [
        "f2a2d0d6731174f5ce2a7b9d6dfd96dd7f1727a4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 05 11:20:11 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 05 11:58:39 2014 -0700"
      },
      "message": "Cache audio attributes when player not available\n\nCache the audio attributes stored in a Parcel in the client-side\n MediaPlayer object if they are set through setParameter()\n before the server-side MediaPlayer is available. Apply them when\n the player is prepared.\n\nBug 17280746\n\nChange-Id: I72f1a7fc4e2b076fae8cbdede77a2f74e98b2a03\n"
    },
    {
      "commit": "d71233a846aca7035a851941c1530d04c6a65086",
      "tree": "a1f528af0c52fd0d78a1843743f2930a2684f2b2",
      "parents": [
        "acdae5d7865b604acaadd3be1c45c84ca4bf3952",
        "34581f44cde67960fbac3ba1f191a2c063ea5145"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 03 19:09:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 03 19:09:43 2014 +0000"
      },
      "message": "Merge \"Use CharacterEncodingDetector in metadataretriever\" into lmp-dev"
    },
    {
      "commit": "ea8462ccd1a882f2c7c785250bcfaa2606b53cb5",
      "tree": "e5125d090918b769896b73470f53ba52b80bdf9c",
      "parents": [
        "23c8cf958b1a756d5e0c78c46eac676676be4fdd",
        "047dd13ca42ff7cea10821ef64eb09229fa3e751"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 03 15:52:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 03 15:52:23 2014 +0000"
      },
      "message": "Merge \"Fix more potential deadlocks in ALooperRoster\" into lmp-dev"
    },
    {
      "commit": "34581f44cde67960fbac3ba1f191a2c063ea5145",
      "tree": "9c89d859f2c9cd1c622355a767e3a7c57c658e8a",
      "parents": [
        "9dd4a2ddd7caf8cbe50d8a76e0ec3e0274d2bce6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 29 16:00:28 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 02 11:54:44 2014 -0700"
      },
      "message": "Use CharacterEncodingDetector in metadataretriever\n\ninstead of media scanner. This way the java MediaMetadataRetriever API\nwill give the same result as the media scanner.\nAlso apply some tweaks to the encoding detector to improve handling of\nISO-8859-1 tags.\n\nBug: 16302581, 17205395\n\nChange-Id: I1682a7a6a8bf04cffaa455044ba72dd7fd152d49\n"
    },
    {
      "commit": "97827bd7c7e64dec22c8fe0f9e734a3c432ad7ee",
      "tree": "bead699ab93f53ccd4f5575598960bc11e1491af",
      "parents": [
        "01b9256a1358110ed718c1a83c2a1808d4afbb92"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Thu Aug 28 19:08:45 2014 -0700"
      },
      "committer": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Thu Aug 28 19:08:45 2014 -0700"
      },
      "message": "Tunneled Video Playback:\nChanged AudioHwSync token to int32_t to match Audio stack api.\n\nBug: 17112525\nChange-Id: I673819495c2e7b540e8d7572cc95796bddbf63bb\n"
    },
    {
      "commit": "0671947255321526cb1ba1ec3a20af9e8579c257",
      "tree": "f40a373993228d1c018c90f581eb674aaffdaf55",
      "parents": [
        "d42173a44721af1a600b9c8599bc736394fcc724"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Aug 28 18:00:04 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Aug 28 18:21:53 2014 -0700"
      },
      "message": "Add error code for insufficient output protection\n\nbug: 16034599\nChange-Id: Ib52c8bdae83ea138cac897bce78ab651c36c1998\n"
    },
    {
      "commit": "047dd13ca42ff7cea10821ef64eb09229fa3e751",
      "tree": "5d6a6b01170dffe63e3ecd5be195a27d4dc525a0",
      "parents": [
        "75c672fc376ef9b3ceff61a96513242b0e5ebd60"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 28 10:49:08 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 28 11:25:34 2014 -0700"
      },
      "message": "Fix more potential deadlocks in ALooperRoster\n\nBug: 17059501\nChange-Id: I242f2859527bed2d6e275c27de94fb19f4dcdc28\n"
    },
    {
      "commit": "1754351d9199721e7e7943461689e399ef015260",
      "tree": "5e0fa67a3a220dad0bdb11c2a883db25d4af3269",
      "parents": [
        "60ffbe05857b7583f4c70c31914947476a908b5b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 06 14:32:02 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 27 11:08:10 2014 -0700"
      },
      "message": "CameraService: Correct API2 error handling\n\n- Add more error codes to the binder camera2 callbacks\n- Translate HAL errors to callback errors\n- When flushing, report failures for queued requests\n- Treat stream config failure as nonfatal\n- Send request errors when buffers aren\u0027t available for captures\n\nBug: 15524101\nBug: 14448494\nBug: 11272459\nBug: 17160301\nChange-Id: I81aa54e805a9cce1cb8a6a9374549daa7666deb2\n"
    },
    {
      "commit": "d354d8d1b09503c0166c1f3e626cda72a3eeb83c",
      "tree": "bcb5370e8abc4611587dbef4066c0345a647c068",
      "parents": [
        "111333eaab12448f45927464c8aeacbbf9a578a1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 20 13:09:58 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 21 18:38:09 2014 -0700"
      },
      "message": "move cache prefill to GenericSource\u0027s message handler\n\nThis allows prepareAsync to be terminated by reset promptly.\n\nIt also makes it easier to do buffer update as GenericSource\ncan access the cache status now.\n\nBug: 16892748\nBug: 17182378\n\nChange-Id: Ia55c04a810fd805041cb2025f6739afa5120b5ed\n"
    },
    {
      "commit": "0b88a62d4d5ac1e515721e587cdf9bcec191812b",
      "tree": "fed446ae00af008008f80041651adb1e0af319ae",
      "parents": [
        "475da7ef08c05a482ced8d318832cf5aa1141aff"
      ],
      "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": "Mon Aug 18 16:52:27 2014 -0700"
      },
      "message": "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\nBug: 16654949\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da\n"
    },
    {
      "commit": "732c6d955524ead6c31e6e1bafbd41ea4cee525d",
      "tree": "512bb207b9013da6f9c728f77a3070a7a5b99638",
      "parents": [
        "261562316c1b652ea697c99c0f24a54112bd0385"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 14 19:54:08 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 14 19:56:58 2014 -0700"
      },
      "message": "stagefright/media: add support for codec features with text value\n\nBug: 11990470\nChange-Id: I7600d999c5f4b6821d825d25fa7e8a2bb5a80c46\n"
    },
    {
      "commit": "d018b8ffd84452a7a4b992b5325713b3256e48ff",
      "tree": "a338c848af9b637f9879a7f0293d0fafbfef4489",
      "parents": [
        "2461e0cf6ae3fe5c9b52ce9e3ac764f4aff5e5eb",
        "6ff58f04f78886b07c72c0118eb71a78d08f5651"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 17:05:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 12 16:54:46 2014 +0000"
      },
      "message": "Merge \"MediaCodecList: handle errors gracefully\" into lmp-dev"
    },
    {
      "commit": "2461e0cf6ae3fe5c9b52ce9e3ac764f4aff5e5eb",
      "tree": "449c2a4029cc6e8048b9d9d373078e5830bd9404",
      "parents": [
        "e7a1737c92cf2e84754ffbc52cfec8edeffcbc75"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 08:55:25 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 16:30:40 2014 +0000"
      },
      "message": "MediaCodecList: don\u0027t return references\n\nBug: 16905025\nChange-Id: I5b42b294f0cc785b8e4dda0e82c8f8377a46f487"
    },
    {
      "commit": "6ff58f04f78886b07c72c0118eb71a78d08f5651",
      "tree": "99652bd3f5349e5cd8c55c261e7e06b65fc06ea1",
      "parents": [
        "e7a1737c92cf2e84754ffbc52cfec8edeffcbc75"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Aug 11 16:46:15 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 12 09:29:29 2014 -0700"
      },
      "message": "MediaCodecList: handle errors gracefully\n\nHandle missing OMX codecs, and codecs that do not load.\nFix NULL dereference when initializing codec with no type.\n\nBug: 16907578\nBug: 16905025\nChange-Id: I5d103db36ebb029d1aab03222bf6e9324beb1566\n"
    },
    {
      "commit": "306c92dabc524f408445f7da2524c7a5e77ade63",
      "tree": "3e7b9269223865424df13a4efc513ecfe57af69c",
      "parents": [
        "de975ca87c3dbdf9b7d92dae54b3446670b2a50e",
        "cd04484f4837b8ca0041d118286ab6a98e84fc75"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Aug 11 20:26:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 11 18:20:32 2014 +0000"
      },
      "message": "Merge \"Extend downsampling ratios greater than 2:1\" into lmp-dev"
    },
    {
      "commit": "cd04484f4837b8ca0041d118286ab6a98e84fc75",
      "tree": "4b9e501bb71969c0ca5049201aeae42284ac9b80",
      "parents": [
        "53a1e46e559b00653eadf6f4bb5572679b0ee734"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Aug 07 11:04:34 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Aug 11 10:17:18 2014 -0700"
      },
      "message": "Extend downsampling ratios greater than 2:1\n\nAlso improve robustness to choice of sampling rate or buffer size\nsuch that increasing either by 10x does not cause overflow.\n\nBug: 12979141\nBug: 15933066\nChange-Id: If7989bd745d1bee3bdf811b8b7c978543ccafb65\n"
    },
    {
      "commit": "e079c76c5c29d6cca85d9debc470358588721618",
      "tree": "670b27f35b504199cdcaa1473619128a314c9ad9",
      "parents": [
        "53a1e46e559b00653eadf6f4bb5572679b0ee734",
        "5a446aafff3020d607ad6fb14cc7ae76dd8f7947"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Sat Aug 09 04:56:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 09 00:45:27 2014 +0000"
      },
      "message": "Merge \"Added Tunneled video playback support to ACodec\" into lmp-dev"
    },
    {
      "commit": "5a446aafff3020d607ad6fb14cc7ae76dd8f7947",
      "tree": "4b805d80181d7b0c8c61b4907c0f5e15a3bc3230",
      "parents": [
        "48449403a1946653074591829e8c39c8000918d1"
      ],
      "author": {
        "name": "Rachad",
        "email": "rachad@google.com",
        "time": "Tue Jul 29 16:47:56 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Aug 08 18:24:15 2014 -0700"
      },
      "message": "Added Tunneled video playback support to ACodec\n\nBug:16132368\nChange-Id: I88d2d66b8548fc203f4a2c4797196af15e56ff38\n"
    },
    {
      "commit": "7c4f0d757bfeedaab4b7ef4ccf5b0a72ec8f4306",
      "tree": "2955488eabae107a5ea3eb510aa867d05c2570f7",
      "parents": [
        "a912c194ded6c9ece78c492c68c3763f284bb5d5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 09 18:53:31 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Aug 08 18:32:22 2014 -0700"
      },
      "message": "NuPlayer: getSelectedTrack\n\nChange-Id: If5251f89b881e7f268e11a06cd3685d794c958b6\n"
    },
    {
      "commit": "ddabe554e95940891c5df9a7f092798351b5f75e",
      "tree": "5e58b35801c040a48b95c071a454a1b8bb35d7ee",
      "parents": [
        "15ff76c99482eab01934cf0f55c815a85cf06f35",
        "8045853d03649f43ea2f7107e7d2dbb9b2d20855"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 08 21:05:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 08 16:09:03 2014 +0000"
      },
      "message": "Merge \"AAC decoder: add support for controlling presentation parameters\" into lmp-dev"
    },
    {
      "commit": "8045853d03649f43ea2f7107e7d2dbb9b2d20855",
      "tree": "e11dfa27febf887acc5cc31c5e975ba74f72da11",
      "parents": [
        "b97cc6a9a3c81215e365c61b071a932073b56ff2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 01 22:17:48 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 08 11:03:32 2014 -0700"
      },
      "message": "AAC decoder: add support for controlling presentation parameters\n\nControl the dowmixing of the AAC decoder\nControl the DRC processing of the AAC decoder\n\nBug 16740915\n\nChange-Id: I9b06ea8785f56213ea120ed85eeb360c88223297\n"
    },
    {
      "commit": "317bb9163befccd87348c11bdfc0044e629b362b",
      "tree": "ae1fc56615f47aa115cf8235ddfb02d444bbf3d2",
      "parents": [
        "1198a3394a21d3c31b19395b124c77f09a8f0924",
        "251d4be8aa5ab80bc915a82a2420233bdc62018e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Aug 08 16:12:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 07 17:50:16 2014 +0000"
      },
      "message": "Merge \"Clarify and implement MediaCodec status codes\" into lmp-dev"
    },
    {
      "commit": "251d4be8aa5ab80bc915a82a2420233bdc62018e",
      "tree": "c158da7f2cd30e99ab93a8046b2cdd1d4ba50c91",
      "parents": [
        "92ce4715315bddd158c7d4028556632f0547e3b9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 30 15:46:04 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Aug 07 12:24:31 2014 -0700"
      },
      "message": "Clarify and implement MediaCodec status codes\n\nClarify MediaCodec status codes in MediaError.h\nWhen appropriate, return OMX error codes for status.\nOptionally return a status code from CreateByType() and\nCreateByComponentName().\n\nBug: 12034929\nBug: 13976475\nChange-Id: I7463dd08d101074f730481b26127a69c9186c97e\n"
    },
    {
      "commit": "229d242665c612fd97431d1e7ac004823b47f181",
      "tree": "956d290a0474e80a9d58572f8e5b92ad373558b1",
      "parents": [
        "1381d4b5c0385aec3741073e5998773b064c1fb0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 14:16:23 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 17:49:38 2014 -0700"
      },
      "message": "stagefright: support flexible YUV format\n\n- Report flexible format for standard OMX formats that are flexible.\n- Accept flexible format when specifying video port formats.\n\nBug: 10706245\nChange-Id: I9e82bc895bb0d5d606eb05fdf83bec766eaa2046\n"
    },
    {
      "commit": "1381d4b5c0385aec3741073e5998773b064c1fb0",
      "tree": "6087b737255d34703a90d1952d48bb97646e492a",
      "parents": [
        "60b1c0e79d12a1c70758bc8d060156924635f8ba"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 15:18:35 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 17:40:13 2014 -0700"
      },
      "message": "media/playerservice: add getCodecList() to MediaPlayerService\n\nBug: 11990470\nChange-Id: I8fa45946fd9b76f9b975fc59062819c57e6881ef\n"
    },
    {
      "commit": "60b1c0e79d12a1c70758bc8d060156924635f8ba",
      "tree": "300d26ea36bca500a7105b7a94497dd1c2aa9fda",
      "parents": [
        "8accee4f0e94f19866d260be6eecd6c219eb4982"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 16:55:46 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 17:40:13 2014 -0700"
      },
      "message": "stagefright: rework media codec list and infos\n\nThis is in preparation of serving the codec list and codec infos\nfrom the mediaserver\n\nBug: 11990470\nChange-Id: Ib8e2708679c9ce461a4ba179974a740cdcdf2731\n"
    },
    {
      "commit": "8accee4f0e94f19866d260be6eecd6c219eb4982",
      "tree": "99ef44526b372dc6020f995cd78f3b9e3b1ffe58",
      "parents": [
        "3659445a8b71afba9927b9d0d8ac41782278bde5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 11:32:00 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Aug 07 14:23:27 2014 -0700"
      },
      "message": "stagefright: add AString parceling, and equal/compareIgnoreCase\n\nBug: 11990470\nChange-Id: If43ada5d2e768931f4409e499eaa268edade0500\n"
    },
    {
      "commit": "a9522673f3076ea937eb2912945d7ed646ca05df",
      "tree": "144c904f29fa5a155bf0b9b2a84cd2614ab356bd",
      "parents": [
        "0893eaf7d21e3a50b81324673eaa91a6b77a39c2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 11:30:16 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Aug 06 19:29:40 2014 -0700"
      },
      "message": "stagefright: move ARRAY_SIZE to foundation\n\nBug: 11990470\nChange-Id: Ifae790b774a0fb210acbe33a1310d3d6ba46e7fa\n"
    },
    {
      "commit": "29e09664c2c5b49d78f2666d38a812502a36e26b",
      "tree": "183ffe1053e1865431d5e2bb5ae9a2bb3c4c4946",
      "parents": [
        "0a0e5f02037f396237461a9840b2fc7271812bdc",
        "3de157dd8f9cd45bf9b0406268f5830887105ae1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 06 22:29:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 06 17:19:40 2014 +0000"
      },
      "message": "Merge \"some fixes for crash when extractor creation fails\" into lmp-dev"
    },
    {
      "commit": "3de157dd8f9cd45bf9b0406268f5830887105ae1",
      "tree": "4c3423bb8c2005aac32ab3519ad73978d144b8ad",
      "parents": [
        "92ce4715315bddd158c7d4028556632f0547e3b9"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 05 20:54:44 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 06 15:23:54 2014 -0700"
      },
      "message": "some fixes for crash when extractor creation fails\n\n- prefetch data for sniffing\n\n- notify error instead of crashing if extractor is NULL\n\nBug: 16818302\n\nChange-Id: I56ff4996d99ac2811d19d141f7ff7acdd7c1da17\n"
    },
    {
      "commit": "93c3d41bdb15e39dac0faea9c5b60f1637cd477c",
      "tree": "a0d739ad732f10bc9d4548923c78c590841b14da",
      "parents": [
        "92ce4715315bddd158c7d4028556632f0547e3b9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 01 14:48:35 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 06 00:38:23 2014 +0000"
      },
      "message": "AudioSystem: add API to query audio HW sync source\n\nAdd a method to query from the audio HAL the HW sync\nsource used for a given audio session.\nModify audio policy to select a direct output with HW sync\nwhen requested.\n\nBug: 16132368.\n\nChange-Id: I03038f9188f2d389f8a5fd76a671854013a4513e\n"
    },
    {
      "commit": "b97cc6a9a3c81215e365c61b071a932073b56ff2",
      "tree": "4bb80b18be290f9d3758a2b13c532daa7af224c4",
      "parents": [
        "3c6fac2c807e4234953dcdc793029a82d1f3a089"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Aug 01 15:14:14 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 05 14:33:32 2014 -0700"
      },
      "message": "AAC encoder: add support for SBR mode selection\n\nChange-Id: Ibc07bff7710398929c135f38324dd29857fa0ea6\n"
    },
    {
      "commit": "3c9879b980ad195797543ce237ecbe479267e16f",
      "tree": "e6ffdab9fe1fb81dfb1ba381bbe96f06baefb0fc",
      "parents": [
        "e46711343b43786c049a007369a72c1c78e6c5db",
        "b97cc6a9a3c81215e365c61b071a932073b56ff2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 05 22:44:15 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 05 00:29:22 2014 +0000"
      },
      "message": "Merge \"AAC encoder: add support for SBR mode selection\" into lmp-dev"
    },
    {
      "commit": "df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871",
      "tree": "e54724362f700e3e72fc72604a3b5f568d8cee7b",
      "parents": [
        "d0fded31e473e909c018f534d3019fb5168bdcd6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 27 18:39:40 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 05 12:10:27 2014 -0700"
      },
      "message": "Add sound trigger control by audio policy\n\nAudio policy:\n- Added active capture indication to sound trigger service:\nrecognition stops if concurrent capture is not supported.\n- Added generation of reserved I/O handle and session ID for\nutterance capture.\n\nSound trigger service\n- Added sound model update callback handling.\n- Added service state callback\n- Simplified callback shared memory allocation.\n\nBug: 12378680.\n\nChange-Id: Ib0292c2733e6df90fdae480633dd9953d0016ef1\n"
    },
    {
      "commit": "ca61a8f0bc22606cb11b99bdb10a146f941d556e",
      "tree": "5fa0f5a6047155c486713879e531038879d4dcf1",
      "parents": [
        "b63d63b8afa25694d1973988d7acdfebcd01a18d",
        "16e79115e497386eaf010af388627f94314a55a3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 04 21:19:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 01 01:46:21 2014 +0000"
      },
      "message": "Merge \"MediaCodecSource: stop puller from caller\u0027s thread instead of looper\" into lmp-dev"
    },
    {
      "commit": "16e79115e497386eaf010af388627f94314a55a3",
      "tree": "600138fd3483f527278304fbf866be53f40e6ea1",
      "parents": [
        "44622db93a24219123facbbe14259000f90de728"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 01 10:30:26 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 04 11:59:05 2014 -0700"
      },
      "message": "MediaCodecSource: stop puller from caller\u0027s thread instead of looper\n\nCurrently CameraSource/AudioSource\u0027s stop() and read() are both called\nfrom the puller\u0027s looper. This works if source operates normally (i.e.\nread() returns regularly before source is stopped), as the stop() will\neventually be handled by the looper. However, if for some reason the\nsource hang, it will get stuck in read(), and the stop() will never\nbe processed, which could lead to ANR (in addition to the source hang).\n\nWe need to move the source\u0027s stop out of the puller\u0027s looper. It also\ncan\u0027t be on MediaCodecSource\u0027s looper, because the source\u0027s stop\nsynchrounously waits for all outstanding buffers to return, these\nare only returned when MediaCodecSource\u0027s looper processes the buffer.\n\nThis change moves the stop to MediaCodecSource::stop, after encoder\nis shutdown.\n\nBug: 16522726\nChange-Id: Ie91f563c5d8a98ab091bf1945af4e51f662b9403\n"
    },
    {
      "commit": "68b15554f6dca3b056eac517fe5fa2fd4ee80a33",
      "tree": "d6842666f3d062427b56f27c0b9e6e09976389a5",
      "parents": [
        "fdefe34f40ea6c8964677eaa9107958b0bdf76d0"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 30 10:19:03 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Aug 01 17:16:16 2014 +0000"
      },
      "message": "Allow device to be unprovisioned\n\nbug: 12247651\nChange-Id: I564ac8de3da2430342a028f4058e2c5ac2d85d5e\n"
    },
    {
      "commit": "1d5b45f70f684996acc24fbf3e30fa5af0a0c642",
      "tree": "b2cfc70baf6037850f8dfc2b4e3f5082eae38db4",
      "parents": [
        "89869f692c35d0ca914c7de4a1f5ff63c9920634",
        "0e8cfc36044ba97545e7c9e129b0b3e98eec5089"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 31 06:14:41 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 30 23:34:26 2014 +0000"
      },
      "message": "Merge \"stagefright: MediaCodec async operations.\" into lmp-dev"
    },
    {
      "commit": "89869f692c35d0ca914c7de4a1f5ff63c9920634",
      "tree": "8a5df7d07075e88b8323c93cf6e4ab6b21f6f55c",
      "parents": [
        "b382340f33ac2dc26fe825ceb3ef98bac8af974c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sun Jul 27 21:21:32 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 30 23:09:46 2014 -0700"
      },
      "message": "stagefright: enable decoder color format selection\n\nBug: 10706245\nChange-Id: I9a77631bfae0358be229b079228c1fcae0e77faf\n"
    },
    {
      "commit": "0e8cfc36044ba97545e7c9e129b0b3e98eec5089",
      "tree": "b5e55c1096feffd181a0497a65b0e4f34a180725",
      "parents": [
        "b382340f33ac2dc26fe825ceb3ef98bac8af974c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 30 18:54:08 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 30 18:57:54 2014 -0700"
      },
      "message": "stagefright: MediaCodec async operations.\n\nIn async mode:\n - codec must be restarted after flush\n - dequeueIn/OutputBuffers fail\n - getIn/OutputBuffers fail\n\nBug: 11990118\nChange-Id: If2d6a76ab499ee9ed4a11486fb537acbc52e66f6\n"
    },
    {
      "commit": "e9e63bcf6c36351f1129b0bdc5e93f17f0f9f0b4",
      "tree": "d48520e1b56036184891f9868fb045d20298d35f",
      "parents": [
        "a6d28be0be0fa813080a021bd6a5920a8cb4fbb1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jul 30 17:25:06 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jul 30 18:07:50 2014 -0700"
      },
      "message": "handle rotation in NuPlayer\n\nBug: 16653284\nChange-Id: I54165041da5a13498d627eee1b3ec59ef3c923b0\n"
    },
    {
      "commit": "9f2dcf14cb4bb75bd810f6ed8938e4dbbb18c651",
      "tree": "2fc62a428f44ee115084635471717dbcdd37285e",
      "parents": [
        "318be3e7d245aea99efa194a16002395b609ab90",
        "d00b7d1fb949e226b189e7d0047d78531b3264da"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 30 00:59:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 29 21:36:00 2014 +0000"
      },
      "message": "Merge \"Add isSafeArraySize for new array size checks\" into lmp-dev"
    },
    {
      "commit": "d00b7d1fb949e226b189e7d0047d78531b3264da",
      "tree": "9f77f0443da0a19b855ac50f9fdc5e0eb58893bd",
      "parents": [
        "141670d465d7673dfa6ad712ad100f84882dfa95"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jul 29 12:14:00 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 30 00:57:50 2014 +0000"
      },
      "message": "Add isSafeArraySize for new array size checks\n\nBug: 15328708\nChange-Id: I9dfca30745c3e4dda91c3894363462f8631c41a1"
    },
    {
      "commit": "4dc680607181e6a76f4e91a39366c4f5dfb7b03e",
      "tree": "5212b6ff474b8ef68a68cb1cf144f54e5348de77",
      "parents": [
        "d530d415e60373caf875a37d2d747a51470ee45c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 28 17:26:49 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 28 18:10:29 2014 -0700"
      },
      "message": "audio policy: pass session ID to capture activity methods\n\nIndicate the audio session ID when calling getInput(),\nstartInput(), stopInput(), releaseInput().\n\nBug: 12378680.\nChange-Id: I763793752f93e2f4e1445a5ab217c895af011038\n"
    },
    {
      "commit": "de3f8392fbf380ba6f09d009b00d7172477389a2",
      "tree": "77687cb28cf7dfb34ebb6317e246b3cad5672b86",
      "parents": [
        "03524dcc1215b2c468f5c8c8abe6f1c26239fd71"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 27 18:38:22 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 28 21:43:16 2014 +0000"
      },
      "message": "rename AudioSystem::newAudioSessionId()\n\nRename AudioSystem::newAudioSessionId() to\nAudioSystem::newAudioUniqueId() as it can be used\nalso for I/O handles.\n\nBug: 12378680.\nChange-Id: I611ea3b5eb57a4b0774437f477ee87dc4ccc2cc2\n"
    },
    {
      "commit": "cf2c0210c8afbe7d0661ccbbae3835b5ce73c0bf",
      "tree": "26824707249d553efaabe2003381b4e9159e199d",
      "parents": [
        "97117153a0d681be70bfa9dc9876541375355c47"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 25 16:20:43 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 28 12:06:00 2014 -0700"
      },
      "message": "AudioFlinger: update openInput() and openOutput()\n\nAdd parameters to openInput() and openOutput(): device address,\ninput source.\nAllow caller to specify a given I/O handle\nGroup parameters in a struct audio_config.\n\nBug: 12378680.\nChange-Id: I7e9af74c0d996561cc13cbee7d9012d2daf33025\n"
    },
    {
      "commit": "03c556ae1eb409ad088c49037e185946c54e1d25",
      "tree": "b8e9df056b53db4742c1684f279c92e9807fe236",
      "parents": [
        "90b16fbdef406d95a6fb2f9395719dd7b7ca6adb"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 25 07:53:14 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 25 18:48:36 2014 -0700"
      },
      "message": "stagefright: add flexible YUV support\n\nBug: 10706245\nChange-Id: Icd246f22edfc67ed5240d59f5a5bde3e5f749465\n"
    },
    {
      "commit": "90b16fbdef406d95a6fb2f9395719dd7b7ca6adb",
      "tree": "2191778875d82541447201f29dbf5fd93009909e",
      "parents": [
        "d8f33e78f9a09ffda0d7c9cadc1902044849461c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 25 07:53:14 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 25 18:48:36 2014 -0700"
      },
      "message": "stagefright: add ABuffer.CreateAsCopy\n\nBug: 10706245\nChange-Id: I8c4e96a2581a039e9e8237c3e09e2c22226da055\n"
    },
    {
      "commit": "6c28f1fb6d8262a327ffa8be5bb4c84c9ef7ce62",
      "tree": "48375fe535624304c80bb1f08388df1ec2757354",
      "parents": [
        "0f036bec92eca4c972f566355196acc3f4cbf804",
        "e07909715b44cc56df723750af93f0608210f94d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sat Jul 26 00:57:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 24 15:36:21 2014 +0000"
      },
      "message": "Merge \"CamcorderProfiles: add high speed profile constants\" into lmp-dev"
    },
    {
      "commit": "83b8808faad1e91690c64d7007348be8d9ebde73",
      "tree": "b541b1172f804e04bd19b29f7878a1becf6205d7",
      "parents": [
        "c15c265676da2226a18a5373812608b19d4719d7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 20 18:31:16 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 24 02:56:47 2014 +0000"
      },
      "message": "audio flinger: add patch connection between hw modules\n\nAdd support for audio device connections between different audio\nhw modules.\nThe patch is performed by creating a bridge between the playback\nthread connected to the sink device and the record thread connected\nto the source device using a pair of specialized PlaybackTrack and\nRecordTrack.\n- Added PatchTrack and PatchRecord classes.\n- Added TrackBase type to indicate more clearly the track behavior.\n- A TrackBase can allocate the buffer or reuse an existing one.\n- Factored some code in openOutput() and openInput() for internal use\nby PatchPanel.\n\nBug: 14815883.\n\nChange-Id: Ib9515fcda864610458a4bc81fa8f59096ff4d7db\n"
    },
    {
      "commit": "e07909715b44cc56df723750af93f0608210f94d",
      "tree": "ad5d9756f6b0fb560cd0f3adc6a0763c4e450966",
      "parents": [
        "5d76e1a639c1bae9ea7d9af1124abf1c94353344"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 23 15:17:26 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 23 15:17:26 2014 -0700"
      },
      "message": "CamcorderProfiles: add high speed profile constants\n\nChange-Id: I8f783466f8c2560820db14488acc1a309d27ab0f\n"
    },
    {
      "commit": "dc042ce074ea2cb6063f3e154da26f42b7f3b233",
      "tree": "ebba29bd35b6ef2d8eed47b26dc77ba6c8bb55bf",
      "parents": [
        "4c9a0e3e30e97a31fcd7e41cb77d15427cb9c50b",
        "92b583ad786edcbe0ae0925e2b7cc043e0849b86"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 23 02:23:51 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 22 20:44:55 2014 +0000"
      },
      "message": "Merge \"MediaRecorder: constants for webm recordering\" into lmp-dev"
    },
    {
      "commit": "92b583ad786edcbe0ae0925e2b7cc043e0849b86",
      "tree": "122cd46496220bac3037be835ad32957309cef1b",
      "parents": [
        "114819633470ebd5b346c13c2a82a0025d2d39c0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 22 19:00:02 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 22 19:01:14 2014 -0700"
      },
      "message": "MediaRecorder: constants for webm recordering\n\nBug: 16329805\nChange-Id: Idcd603545352e36a88589d3e23ccf1ee37704695\n"
    },
    {
      "commit": "114819633470ebd5b346c13c2a82a0025d2d39c0",
      "tree": "1b18e4333bb8d3bde991fcea29e956be83e94b8b",
      "parents": [
        "d8cf55d878edddfc36bb821a95b88dfb2453c2c3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 09 20:09:43 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 22 14:20:38 2014 -0700"
      },
      "message": "StagefrightRecorder: webm (video only) support\n\nBug: 16329805\nChange-Id: I8a0ecd100fca397add97a1416125bcc6aeb86364\n"
    },
    {
      "commit": "f6f4c0d7c5e2d33b38f080896466e56e2d0a97d4",
      "tree": "91469dbf726e28b68a80af692bd4160381c62e64",
      "parents": [
        "b104d5a4dfbd8415f6bc227106b9f0130350d79a",
        "114819633470ebd5b346c13c2a82a0025d2d39c0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 23 01:31:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 22 16:13:36 2014 +0000"
      },
      "message": "Merge \"StagefrightRecorder: webm (video only) support\" into lmp-dev"
    },
    {
      "commit": "b104d5a4dfbd8415f6bc227106b9f0130350d79a",
      "tree": "403d27824ffd9914ce212dd6c697d27f115ec8d0",
      "parents": [
        "3a2956d148d81194e297408179e84a47a309ef48",
        "d8cf55d878edddfc36bb821a95b88dfb2453c2c3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 23 01:31:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 22 16:13:36 2014 +0000"
      },
      "message": "Merge \"MediaWriter: make get/setStartTimeOffsetMs virtual\" into lmp-dev"
    },
    {
      "commit": "2606b10d51c2dceb851a2ea63e803aba4134bf00",
      "tree": "7a2d5f875972b20188bbce44e5e4b78cc5f0c4af",
      "parents": [
        "225d5b20409fd400bfa4ed5e9bc1d5babb498471"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 22 09:12:03 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 22 16:19:56 2014 -0700"
      },
      "message": "update battery stats for video/audio\n\nBug: 12979595\n\nChange-Id: Iafd93046a4fd9f22bcd66084deace746a7ca5d3c\n"
    },
    {
      "commit": "df813a3ba59109ca519ce0cb00a1a9144074f40e",
      "tree": "e56950313351561dce84d6001ce25ad50cb49dac",
      "parents": [
        "8bce84142802ecdc1794d59488ede629801a5cba"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Jul 20 17:58:33 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Jul 20 17:58:33 2014 -0700"
      },
      "message": "audio_attributes_t for SoundPool\n\nAdd support for the audio_attributes_t structure in the\n SoundPoool constructor.\nRemove SRC quality which was never implemented.\nRemove stream types.\n\nAdd file to contain audio helper functions related to policy.\n\nChange-Id: I1720ff15e7b23ea7b713a4395fdfac26dc3fd4da\n"
    },
    {
      "commit": "d8cf55d878edddfc36bb821a95b88dfb2453c2c3",
      "tree": "323f78b416340283ab5c899dce4702957e1e424f",
      "parents": [
        "693dd7e252529be98acd2e2585b44a6a10fa4233"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jul 17 11:46:13 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jul 17 13:40:45 2014 -0700"
      },
      "message": "MediaWriter: make get/setStartTimeOffsetMs virtual\n\nBug: 16329805\nChange-Id: Ib971dd95b54829438c8af97528f9e00b87ab3f1e\n"
    },
    {
      "commit": "693dd7e252529be98acd2e2585b44a6a10fa4233",
      "tree": "5f189fe88493edf8f018be49fbb48ef383af3a2a",
      "parents": [
        "ca4805b607a6abce38abf05c09d3fb8bab521ee8",
        "204e3295e2814052aef7e45ee9edd60128efbbd0"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jul 17 20:36:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 17 18:05:14 2014 +0000"
      },
      "message": "Merge \"Camera HAL3: migrate from partial quirks to partial result\" into lmp-dev"
    },
    {
      "commit": "513d967dae82cd03e67bff17b927cf869d9bc43e",
      "tree": "39cdc73fd9423109f42bae040267afc885dd8558",
      "parents": [
        "529c61b7e4468a3e21f302f2a92a660249daa722"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jul 15 07:57:52 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 18 17:26:39 2014 -0700"
      },
      "message": "Add MediaCodecList capabilities\n\nBug: 12065651\nChange-Id: Icfb73c0009621cd747e113d8a0cd84c966bf055d\n"
    },
    {
      "commit": "c9a11abbb6b48604ea063daedd6118024cfbfa92",
      "tree": "eb36a7ac17829b550ac64f92068788f5e80435aa",
      "parents": [
        "20965b564a606f9432177668c032ce97d1913e26"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 14:23:16 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 19:11:46 2014 -0700"
      },
      "message": "stagefright: add nonblocking MediaBufferGroup.acquire_buffer method\n\nBug: 15699665\nChange-Id: I31c1ab4413c62ff3dd4e0d5b06a398064b4aaddd\n"
    },
    {
      "commit": "8eebda045d865c2e23fc439e87fe915467812967",
      "tree": "95359b8c70afd186bf1ffa7907c398811dda2987",
      "parents": [
        "91be1fbc424035e70688e60306b755893e0fb0ae"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 14:17:09 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 15:46:03 2014 -0700"
      },
      "message": "stagefright: add nonblocking read option to MediaBuffer\n\nBug: 15699665\nChange-Id: I2aaddc4c937cf5c1e36386bafd7d396d5781bf6d\n"
    },
    {
      "commit": "91be1fbc424035e70688e60306b755893e0fb0ae",
      "tree": "eef36fd4610590775c813de29a63d68885c11d59",
      "parents": [
        "e94754c9601d132354e5db2079762c7d1a0bddda",
        "7410591dad836434c72ddee66680802708b70c10"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 17 21:56:55 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 17 21:04:20 2014 +0000"
      },
      "message": "Merge \"Move AudioRecord frame count calculations to server\" into lmp-dev"
    },
    {
      "commit": "e94754c9601d132354e5db2079762c7d1a0bddda",
      "tree": "deb178075a48d8f87b06e57c099e41ee90db99d8",
      "parents": [
        "2e8186a258c934798129847f66171df36e95d23e",
        "b3b1660ecb67f61f9da54efced8677fa3a6f4863"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 17 21:39:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 17 21:04:20 2014 +0000"
      },
      "message": "Merge \"Add audio_input_flags_t to IAudioPolicyService::getInput\" into lmp-dev"
    },
    {
      "commit": "d1a4f35ec10f36c33cf7391e800910da8fdebb6e",
      "tree": "64f754cc4b7a78ac9af645c0d5b45b421230b4c1",
      "parents": [
        "e1a8112edec713ff1d84f67145f22cca3a401951",
        "ec40d284218466d8f0e832e7eb88e6ea6c479c88"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 17 21:12:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 17 21:09:48 2014 +0000"
      },
      "message": "Merge \"Add audio_input_flags_t to IAudioFlinger::openInput\" into lmp-dev"
    },
    {
      "commit": "7410591dad836434c72ddee66680802708b70c10",
      "tree": "697a233ffced732dbe113c927d9de61f14ea3f2c",
      "parents": [
        "b3b1660ecb67f61f9da54efced8677fa3a6f4863"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 03 12:28:53 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 17 12:13:18 2014 -0700"
      },
      "message": "Move AudioRecord frame count calculations to server\n\nBuffer frame count and notification frame count\nare now calculated by server instead of by client.\nThe server has more information and can do a better job.\n\nAlso fix a few bugs:\n\n - If a fast track was re-created, even with same pipe depth, it would fail.\n   Now it can correctly re-create a fast track provided the pipe depth is same.\n\n - Notification frame count for fast tracks was calculated by client\n   as 1/2 of the total frame count, which is a large value due to the pipe.\n   Now the notification frame count is set by server to the HAL frame count.\n   This should reduce latency for fast tracks.\n\n - EVENT_OVERRUN were happening frequently when there was sample rate conversion,\n   because the client didn\u0027t know about the sample rate conversion,\n   and under-estimated the necessary buffer size.  Now since server\n   calculates the buffer sizes, EVENT_OVERRUN is unlikely.\n\n - RecordThread::createRecordTrack_l was checking for mono and stereo\n   for fast tracks.  This is not necessary, and now we can handle a\n   multi-channel fast track.\n\nBug: 7498763\nChange-Id: I0c581618e8db33084d5ff9ed50a592990c9749e8\n"
    },
    {
      "commit": "b3b1660ecb67f61f9da54efced8677fa3a6f4863",
      "tree": "ee42a2462ff40938316b521138d1edfe8a122d4b",
      "parents": [
        "ec40d284218466d8f0e832e7eb88e6ea6c479c88"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 16 08:36:31 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 17 12:13:11 2014 -0700"
      },
      "message": "Add audio_input_flags_t to IAudioPolicyService::getInput\n\nChange-Id: I9f37be05f8dc7b85a8827a94e76ca0f45453e170\n"
    },
    {
      "commit": "ec40d284218466d8f0e832e7eb88e6ea6c479c88",
      "tree": "46ae774a4f3535d07374bed459b1dcf2bb9d8803",
      "parents": [
        "6e6704c06d61bc356e30c164081e5bcffb37920c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 15 15:31:26 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 17 12:13:07 2014 -0700"
      },
      "message": "Add audio_input_flags_t to IAudioFlinger::openInput\n\nFor backward compatibility, until flags are correctly calculated,\nwe will assume that the request is for a low latency input stream.\n\nChange-Id: I76746834e870df00833dc77cbdaa2edd2ffeec95\n"
    },
    {
      "commit": "204e3295e2814052aef7e45ee9edd60128efbbd0",
      "tree": "1110e6c06e489c9c2003398e1768b9194effee78",
      "parents": [
        "671160ffe81592efa376dc1ff0fc3f4ddcdebc35"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 14 17:09:23 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 16 15:27:17 2014 -0700"
      },
      "message": "Camera HAL3: migrate from partial quirks to partial result\n\n- Enable the normal partial result path for HAL3.2, the quirk is only used\nfor the HAL version lower than HAL3.2. The partial quirks is no longer supported\nfor HAL3.2 or higher versions.\n- Add CameraDeviceBase getDeviceVersion API.\n- Fix some build warnings\n\nChange-Id: I7a1b03d4d5fd5258d2addfba4368bee2ba691337\n"
    },
    {
      "commit": "dd235727a1b4e283deeb581559f99c2c8889da07",
      "tree": "f0adac3a3a1cc1c48e40caf470452608f12cbf20",
      "parents": [
        "d81d48961da30f657fb095ed00a697bd50266269"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jun 12 14:49:23 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 16 20:32:21 2014 +0000"
      },
      "message": "GenericSource: implement getTrackCount/getTrackInfo\n\nBug: 15153976\nChange-Id: I0204c4188d485cda026497469c7cde24f7bd5c95\n"
    },
    {
      "commit": "671160ffe81592efa376dc1ff0fc3f4ddcdebc35",
      "tree": "e80ced5238b2fac6f1a02c50223f7fa7afe20f9a",
      "parents": [
        "efebe3974d4ad5870f957b77450c26a499fc467e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jul 15 07:56:04 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jul 15 16:06:40 2014 -0700"
      },
      "message": "stagefright: add MediaCodec.reset()\n\nBug: 12034929\nChange-Id: I326f1356df89474aa088c1c87f8505b33654139d\n"
    },
    {
      "commit": "5698d4461a260dbf208484383f692b03c6473e74",
      "tree": "d29204e288b8c4c1b9b7627f9e7b33a8ea6cf01e",
      "parents": [
        "e580006cd0067109189975c56395d29309d49883"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Jun 18 10:39:40 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jul 14 22:13:45 2014 +0000"
      },
      "message": "camera2: Set orientation flags for hardware composer.\n\nBug: 15116722\nChange-Id: I3fcc9aea38afcbd665f86c511a9929fe9a6a3a8f\n"
    },
    {
      "commit": "e71dcef63a746970d5c11c83207201fe8de02a78",
      "tree": "4267ac2a10922609f01fe613a06fed23ba6df009",
      "parents": [
        "388742df51084f02a362818a884f3bde71b7ef8d",
        "749dafad09d85f2aaf6902a7ff16b4087e3bc4c7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Jul 12 02:47:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 11 16:34:41 2014 +0000"
      },
      "message": "Merge \"MediaCodec: change onError cb to return CodecException\""
    },
    {
      "commit": "749dafad09d85f2aaf6902a7ff16b4087e3bc4c7",
      "tree": "993ec568afe921d76350514bce0f52c643621c91",
      "parents": [
        "c5619c7a6dcc1137fde7520351ad5284e3e958ab"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 11 16:17:14 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 11 16:19:13 2014 -0700"
      },
      "message": "MediaCodec: change onError cb to return CodecException\n\nBug: 11990118\nChange-Id: I3278aecb20df88c42fa2709a66e6166eb3cbe56f\n"
    },
    {
      "commit": "c5619c7a6dcc1137fde7520351ad5284e3e958ab",
      "tree": "715a422369125ca8ee8d2a939309ee7afa13ae50",
      "parents": [
        "7bad72237b49ac47e77ffe2a89fd26f3d171324c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 08 18:50:05 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 11 11:36:39 2014 -0700"
      },
      "message": "MediaCodec async callbacks\n\nBug: 11990118\n\nChange-Id: I6fe4b407d9c85cddec8d958620d5d356735273cf\n"
    },
    {
      "commit": "7bad72237b49ac47e77ffe2a89fd26f3d171324c",
      "tree": "1d6a75fe32fa096163ad055f2f9f98a4bbc0a7cd",
      "parents": [
        "94bda64006ed4b5c2c19634a206d29ea936fa81b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jul 08 21:26:53 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 11 01:41:46 2014 -0700"
      },
      "message": "stagefright: add indexed buffer and format getters to MediaCodec\n\nThese are designed to be called from the same thread as the one\ncalling dequeue?Buffer, and use a mutex to avoid switching\ncontext.  All other calls of MediaCodec are designed to be blocking\nand synchronous.\n\nBug: 14297827\nChange-Id: If341c6e4407ca6f10f5e0d47008dddc0e20b0a50\n"
    }
  ],
  "next": "2db91ae0e6aa33b50cc924ad65d6dc01876d220f"
}
