)]}'
{
  "log": [
    {
      "commit": "e4a7ce250cb94a00aa2f76e5edca1c4479dc5401",
      "tree": "90743cbfc56a46b815fc5118b0695f5130e8d6a5",
      "parents": [
        "d702a568cb62e5aebe048147350bb3c76f9386ba"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 11:23:17 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 15:55:56 2015 -0800"
      },
      "message": "Add \"m\" prefix to fields\n\nChange-Id: Ifdb8fa886d1ff53cd7c8aff3c2f8286e6e18dec2\n"
    },
    {
      "commit": "d702a568cb62e5aebe048147350bb3c76f9386ba",
      "tree": "507e18b27556b74262a527a7378515fbdcf9b573",
      "parents": [
        "fbdb2aceab7317aa44bc8f301a93eb49e17b2bce"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 15:51:38 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 08:52:56 2015 -0800"
      },
      "message": "Pull out commandToString() from FastMixerDumpState.cpp\n\nto FastThreadState.cpp, FastMixerState.cpp, and FastCaptureState.cpp\n\nChange-Id: I872efb211e8a0335c42906367859d3674340e374\n"
    },
    {
      "commit": "fbdb2aceab7317aa44bc8f301a93eb49e17b2bce",
      "tree": "97defd36379d3d4770dbd02dbacf046084889761",
      "parents": [
        "63238efb0d674758902918e3cdaac322126484b7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:47:19 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 08:50:40 2015 -0800"
      },
      "message": "Pull up increaseSamplingN and kSamplingNforLowRamDevice\n\nfrom FastMixerDumpState to FastThreadDumpState, and remove unused parameter\nfrom FastMixerDumpState constructor.\n\nChange-Id: Ib8937b106622a8da28a6ef6043de4528ae82cb05\n"
    },
    {
      "commit": "63238efb0d674758902918e3cdaac322126484b7",
      "tree": "07fdf37a2bc73a886d8ea41f69e722ed914754af",
      "parents": [
        "d7e1d08c2ac21cdd2f3b7f83fec7094f6a98fc08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 15:50:29 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 08:50:40 2015 -0800"
      },
      "message": "Remove redundant semicolon from namespace closing\n\nChange-Id: I163f9d3d216c283ae1160ce4802e5247cf44fba7\n"
    },
    {
      "commit": "13e71707522a212b192063acb0b221abbe618f60",
      "tree": "e96e4f768235dc77478aef7d9a086b8f61f31d4d",
      "parents": [
        "785b34e6b2743e3303dcd56d269259da73c40dfb",
        "d797a9d5daad3051f9ac1d348abc2f434ea3ddcf"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 01:01:05 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 03 01:01:05 2015 +0000"
      },
      "message": "Merge \"Fix compile error if FAST_THREAD_STATISTICS not defined\""
    },
    {
      "commit": "785b34e6b2743e3303dcd56d269259da73c40dfb",
      "tree": "d6cc5eb0be4404b51a59f5460a76a3ecb355ba21",
      "parents": [
        "a5c5ad3615613ac0f15012e9e07a34582da7fe77",
        "214b406c813e5baca3e4b5cdc1d986de35f09bbb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 03 01:00:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 03 01:00:54 2015 +0000"
      },
      "message": "Merge \"Rename FAST_MIXER_STATISTICS to FAST_THREAD_STATISTICS\""
    },
    {
      "commit": "d797a9d5daad3051f9ac1d348abc2f434ea3ddcf",
      "tree": "ce8626ab8016e1d162c2adcb14bbf2e3d9731267",
      "parents": [
        "214b406c813e5baca3e4b5cdc1d986de35f09bbb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:19:25 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:50:26 2015 -0800"
      },
      "message": "Fix compile error if FAST_THREAD_STATISTICS not defined\n\nChange-Id: I3a4ac558e61ad956a7a6e325534e722066e49b2f\n"
    },
    {
      "commit": "214b406c813e5baca3e4b5cdc1d986de35f09bbb",
      "tree": "9e39728f873648da62d84e101b8dfcb25c58f4f7",
      "parents": [
        "bf31b3301676ad86151f632e9ca186fd02445d86"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:15:47 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 14:17:05 2015 -0800"
      },
      "message": "Rename FAST_MIXER_STATISTICS to FAST_THREAD_STATISTICS\n\nChange-Id: Idb5f5bf0c20bffff8536cf4a46f696e12e99e81b\n"
    },
    {
      "commit": "a5c5ad3615613ac0f15012e9e07a34582da7fe77",
      "tree": "36bd8363a603868b2b3b57e47727d932c299dcdf",
      "parents": [
        "bf5d0666b803921541e6a5d6abae05316e533855"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 11:19:12 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 11:23:35 2015 -0800"
      },
      "message": "Re-generate sinc tables with comment and indent by 4\n\nChange-Id: I349273969dfd7e9d7f896f8bd6d552bd6b56ba54\n"
    },
    {
      "commit": "bf31b3301676ad86151f632e9ca186fd02445d86",
      "tree": "4cdb7c795f3fb11cc9c9c730a869e25eb2c29d01",
      "parents": [
        "b2b152afbefb2a3d67c142174da9b7d6ebf8630c",
        "2f5aa01e52b8869515373b5047f00272f245883e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 18:39:19 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 02 18:39:20 2015 +0000"
      },
      "message": "Merge \"Line length 100\""
    },
    {
      "commit": "ad3738ccfadc1b57428c28e91c5428939bbf19b1",
      "tree": "7daee377cbd216cb85ec1b44ea6627fc63d44d37",
      "parents": [
        "566729efce4035ac4fa09c2c106bcf6756451387",
        "675933be11f2c24f9f66011345377d2840938646"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 02 18:37:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 02 18:37:53 2015 +0000"
      },
      "message": "Merge \"Extract resampler coefficient tables to separate files\""
    },
    {
      "commit": "2f5aa01e52b8869515373b5047f00272f245883e",
      "tree": "b44c62dca5f9a925ce3b3d860376164597c2780f",
      "parents": [
        "e1984fc72d9f814461992b9f5b1e5f9d45ce7afa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 15:04:28 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 27 18:29:48 2015 -0800"
      },
      "message": "Line length 100\n\nChange-Id: Ic0ae92c300df221387bdd9669e4b7b995d83d28a\n"
    },
    {
      "commit": "675933be11f2c24f9f66011345377d2840938646",
      "tree": "c102134a72b0c8a9948cb6a6b75b431cb444af74",
      "parents": [
        "9060199701c97b290aa4a4184d147e0311ab8897"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 14:23:04 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 27 18:29:47 2015 -0800"
      },
      "message": "Extract resampler coefficient tables to separate files\n\nChange-Id: I2e186bd3172cecc08c436e6bf7546b913249e6c8\n"
    },
    {
      "commit": "566729efce4035ac4fa09c2c106bcf6756451387",
      "tree": "65a7fe79cd56ffeeb5fa8b9bb4d864de7b2093c3",
      "parents": [
        "66bcde4a112de4057f80bdef1c8955597d5cca50",
        "d7a77156eb13973f7fce5c9db6113bef83bc205b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 28 02:12:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 28 02:12:36 2015 +0000"
      },
      "message": "Merge \"Fix comments in resampler assembly\""
    },
    {
      "commit": "66bcde4a112de4057f80bdef1c8955597d5cca50",
      "tree": "4aa8edb37e27830497768883f6daa01ec3c2f192",
      "parents": [
        "d4bd93b22ab9f7dfa32dfc6d48e008db3ea9c634",
        "650ceb93e58435c3cb1fd1860393130121023c0d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 28 01:05:51 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 28 01:05:52 2015 +0000"
      },
      "message": "Merge \"Add channel index mask to AudioMixer\""
    },
    {
      "commit": "d4bd93b22ab9f7dfa32dfc6d48e008db3ea9c634",
      "tree": "6e1effbb661cd90a1c09aed0db9cc44cedaf1544",
      "parents": [
        "9060199701c97b290aa4a4184d147e0311ab8897",
        "0e48d25606c82def035ad10a5b3923767a765cdd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 28 00:38:24 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 28 00:38:25 2015 +0000"
      },
      "message": "Merge \"Change AudioTrack resampling buffers from 3 to 2\""
    },
    {
      "commit": "9060199701c97b290aa4a4184d147e0311ab8897",
      "tree": "ca4bdc0a66470f17929b4c77e43a9d1c6273d7e5",
      "parents": [
        "7841f704fee0e5acd45fa6e47a336120c3cad42c",
        "d2123e631834a887c2d8600c3ac43dda02d47cb9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 27 22:55:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 27 22:55:15 2015 +0000"
      },
      "message": "Merge \"Warmup cycles must be in range and consecutive\""
    },
    {
      "commit": "650ceb93e58435c3cb1fd1860393130121023c0d",
      "tree": "5f33a1ae10e8145bbd914014ec8ce86711811883",
      "parents": [
        "9ee53a49860e91c2b012883eef09d669a7829e06"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 29 13:31:12 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 27 12:44:13 2015 -0800"
      },
      "message": "Add channel index mask to AudioMixer\n\nChange-Id: Ifbcb61cc24111b7efab5e8d119d44dab26ba1778\n"
    },
    {
      "commit": "7841f704fee0e5acd45fa6e47a336120c3cad42c",
      "tree": "c75096dc548d0bdb9eec94663e08dc59fe287fc5",
      "parents": [
        "364b2600670e178931f0e88dbffb4f1f3dccc4ea",
        "5bedff60b2facaa1ec5b9433647ebf1504f065ca"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Feb 26 23:39:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 26 23:39:14 2015 +0000"
      },
      "message": "Merge \"Do not pre-fill OutputTrack buffer for duplicating thread\""
    },
    {
      "commit": "364b2600670e178931f0e88dbffb4f1f3dccc4ea",
      "tree": "a9e0663ae0afba69cc1fa0cd1c55fc0be303ab8f",
      "parents": [
        "212765f2d5ee6e533f3d032d6609125faa95bf48",
        "4019a1e408c12040fc13f7bd0027def630efcc18"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Feb 26 20:05:50 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 26 20:05:52 2015 +0000"
      },
      "message": "Merge \"Remove unused stride-by-8 resampling code\""
    },
    {
      "commit": "d031aaae9e93ef2860070eee2c191b1cf428cf46",
      "tree": "0103eb3faa51eda1a446c936439aaa235c356ef2",
      "parents": [
        "07aed75a681793474487e7e5e100d21c2f31de9c",
        "b6dc0bf1ce7d54995943c3cd6885f35db77728fc"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Feb 20 17:41:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 17:41:54 2015 +0000"
      },
      "message": "Merge \"CameraService: fix invalid access of camera metadata\""
    },
    {
      "commit": "9a4fa2dfb7ce565fabfb7a7bef4f4adfea191f05",
      "tree": "b91d3bdf39760c82e54ab0be64c74d277f9a57fd",
      "parents": [
        "9d19e392f61de3e8cd365afa12d7836bd3721602",
        "a97dfeb91aae9569ff11a5a40634e2960c03915e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Feb 20 01:04:44 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 01:04:48 2015 +0000"
      },
      "message": "Merge \"Camera: Remove RAW_SENSOR in favor of RAW16\""
    },
    {
      "commit": "0fbad3c813cdd67dcab95f998f1982b2180dc322",
      "tree": "1401cfae977d096245441ce047425e80a1db1633",
      "parents": [
        "a52b8d1f4890f0a695cfbffda106579bcc3a16b5",
        "3e91b5d11866599e8f33e63fb3b6c1d81ce1a1d2"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Fri Feb 20 00:36:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 00:36:26 2015 +0000"
      },
      "message": "Merge \"Fix for getMicMute in AudioFlinger\""
    },
    {
      "commit": "a52b8d1f4890f0a695cfbffda106579bcc3a16b5",
      "tree": "c38befe0d4fcc7cfe93ca650d30b51d36b4ffd52",
      "parents": [
        "6ff474ed7eefe003216a3f98992f1ece047d64a2",
        "ad8510a339ffab330c2c46e5c247dd1cf9e15c22"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 20 00:35:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 00:35:48 2015 +0000"
      },
      "message": "Merge \"Include what you use\""
    },
    {
      "commit": "6ff474ed7eefe003216a3f98992f1ece047d64a2",
      "tree": "550f8ebb8d7dead2543ca952ff8eaf124630c675",
      "parents": [
        "5e2d279226b78aeedd3d347953cdbb8c0220dc51",
        "04333cdc8d6a3c8e4a11835371e8ad13adf3f7f0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 20 00:35:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 20 00:35:37 2015 +0000"
      },
      "message": "Merge \"Pull out FastCaptureDumpState and FastMixerDumpState\""
    },
    {
      "commit": "a97dfeb91aae9569ff11a5a40634e2960c03915e",
      "tree": "8f325ccd2d62226dd0868863a324e20f2ef7858f",
      "parents": [
        "37b2b389139ed638831e49708c947863eef631ef"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 19 16:26:13 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Feb 19 16:26:13 2015 -0800"
      },
      "message": "Camera: Remove RAW_SENSOR in favor of RAW16\n\nChange-Id: I69ca24c69f58be958efdef300b127401d2b2e880\n"
    },
    {
      "commit": "3e91b5d11866599e8f33e63fb3b6c1d81ce1a1d2",
      "tree": "44923162a2e46fcd80271fb04975526081a34aac",
      "parents": [
        "ea78b1497eef36b6a3ba783be20615989e87ed08"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Feb 19 10:54:52 2015 -0800"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Feb 19 15:49:36 2015 -0800"
      },
      "message": "Fix for getMicMute in AudioFlinger\n\nPrevious logic will only check for mic state of Primary Hardware\nDevice. Current logic checks state of all devices with valid\nmicrophone input.\nThis is needed for audio_output feature support.\n\nbug: 19439530\nChange-Id: Ibbb92412ac70cf2915bbe8660c04fbaf0ab74171\n"
    },
    {
      "commit": "a9284a8d9e6cb27e6d428be3f70a854d978dc282",
      "tree": "25f89ab3cac054b130d8c41a14b8898b7b655ba1",
      "parents": [
        "658fc18d8e632441cd5d83a4f74b53620cbac1fe",
        "3068d73c6c7e1f44523b1466b903a9c82408b258"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Feb 19 20:51:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 19 20:51:18 2015 +0000"
      },
      "message": "Merge \"camera: implement flashlight control\""
    },
    {
      "commit": "d2123e631834a887c2d8600c3ac43dda02d47cb9",
      "tree": "1b0fbc7dd7ffb18d7a7084f2cff34f82c61a25b2",
      "parents": [
        "ad8510a339ffab330c2c46e5c247dd1cf9e15c22"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 29 10:02:44 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 19 09:47:44 2015 -0800"
      },
      "message": "Warmup cycles must be in range and consecutive\n\nChange-Id: Ie8a40ec3547bdd62a1e2e05b11fb107c25841784\n"
    },
    {
      "commit": "ad8510a339ffab330c2c46e5c247dd1cf9e15c22",
      "tree": "f8643e6711ce756876c02cbb2c0ed4ed459c6187",
      "parents": [
        "04333cdc8d6a3c8e4a11835371e8ad13adf3f7f0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 16:24:07 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 19 09:47:41 2015 -0800"
      },
      "message": "Include what you use\n\nChange-Id: I1967861f383bb5ed6743fb69e3bd439907ed7033\n"
    },
    {
      "commit": "04333cdc8d6a3c8e4a11835371e8ad13adf3f7f0",
      "tree": "ff205682f760786e3d195f297d60207af0e40792",
      "parents": [
        "658fc18d8e632441cd5d83a4f74b53620cbac1fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 16:23:03 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 19 09:47:39 2015 -0800"
      },
      "message": "Pull out FastCaptureDumpState and FastMixerDumpState\n\nChange-Id: I8e44dbfe02338622eb69193b234743b50f0dd79f\n"
    },
    {
      "commit": "658fc18d8e632441cd5d83a4f74b53620cbac1fe",
      "tree": "f6e16cad4595a48edabe40d1f1bae95ff8657dec",
      "parents": [
        "c1b3bc0ced3b7526c31223911d334961ae031995",
        "045ee7ea3e42b8657869d81c917feed5fb0c2b4a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 19 17:38:04 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 19 17:38:05 2015 +0000"
      },
      "message": "Merge \"Pull out FastThreadDumpState\""
    },
    {
      "commit": "c1b3bc0ced3b7526c31223911d334961ae031995",
      "tree": "595a4add001bb265f287dae9f3bd902787f2cc94",
      "parents": [
        "1fb8290c1f99e1db96b681e6eaae0193ea81674e",
        "56ec4ffcbae8aeac6c5245fc7b825d02e2e6cefd"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 19 17:11:33 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 19 17:11:34 2015 +0000"
      },
      "message": "Merge \"Refactor AudioPolicyManager\""
    },
    {
      "commit": "56ec4ffcbae8aeac6c5245fc7b825d02e2e6cefd",
      "tree": "914941adb956f3af389b9a7b955f3534eec4fe7a",
      "parents": [
        "8f7b7fa417566e9a6a29ea9f0e220b3cd6d1a9e3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jan 23 16:45:18 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 18 17:29:20 2015 -0800"
      },
      "message": "Refactor AudioPolicyManager\n\nAudioPolicyManager implementation is now split into the\nfollowing files:\n\nfiles managerdefault/Gains.*\n  class AudioGain\n  class VolumeCurvePoint\n  class StreamDescriptor\n\nfiles managerdefault/Devices.*\n  class DeviceDescriptor\n  class DeviceVector\n\nfiles managerdefault/Ports.*\n  class AudioPort\n  class AudioPortConfig\n  class AudioPatch\n\nfiles managerdefault/IOProfile.*\n  class IOProfile\n\nfiles managerdefault/HwModule.*\n  class HwModule\n\nfiles managerdefault/AudioInputDescriptor.*\n  class AudioInputDescriptor\n\nfiles managerdefault/AudioOutputDescriptor.*\n  class AudioOutputDescriptor\n\nAll files for libaudiopolicyservice are moved under service/\n\nAll files for libaudiopolicymanager are moved under manager/\n\nChange-Id: I43758be1894e37d34db194b51a19ae24461e066e\n"
    },
    {
      "commit": "b6dc0bf1ce7d54995943c3cd6885f35db77728fc",
      "tree": "8b48b08c3e2b766b86d5ac0c3131e0c96d6a3881",
      "parents": [
        "9f1f00cee228eb1c6cf4a7e2b9dc4c92d6754a39"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 18 14:42:16 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 18 14:42:16 2015 -0800"
      },
      "message": "CameraService: fix invalid access of camera metadata\n\nstatic_camera_characteristics is not defined in API1.\n\nChange-Id: I422953081b0a5581e12fc4b16052b67ca8062186\n"
    },
    {
      "commit": "045ee7ea3e42b8657869d81c917feed5fb0c2b4a",
      "tree": "aee4e457c5ae65d9135f5008fa239e295162fb2d",
      "parents": [
        "ea78b1497eef36b6a3ba783be20615989e87ed08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 16:22:04 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 17 17:19:17 2015 -0800"
      },
      "message": "Pull out FastThreadDumpState\n\nChange-Id: Ic99890bbba4f856b65535f3df0f928de9e3e9748\n"
    },
    {
      "commit": "228711d4d25ab434c273c92fc01662c0a6b3adbf",
      "tree": "8458d0394718aa2f11363fb4a8aba6f3282e7e47",
      "parents": [
        "c9f122d8f32ba6928ac9087448025fa3bed1553d"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Feb 13 13:25:39 2015 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Feb 13 17:26:55 2015 -0800"
      },
      "message": "Look up user-specific device policy for disabling camera\n\nCamera can be disabled on a per-user basis by device admins.\nChanged the system property format to be per-user so that\nthe policy can be applied based on calling user.\n\nTODO: Ideally this policy information should be pulled from the\nDevicePolicyManager rather than relying on system properties.\nProperty changes will not be applied immediately either, if\nthere\u0027s no listener.\n\nBug: 19345698\nChange-Id: Ia00034726260bc9ff28ac592f20a27b5c9a77d58\n"
    },
    {
      "commit": "3068d73c6c7e1f44523b1466b903a9c82408b258",
      "tree": "197720671edfdcc2c75a7d05a13c60be2b17fb75",
      "parents": [
        "8f7b7fa417566e9a6a29ea9f0e220b3cd6d1a9e3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Feb 09 13:29:57 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Feb 12 15:05:30 2015 -0800"
      },
      "message": "camera: implement flashlight control\n\nImplement flashlight API for module v2.4 by calling module APIs and\nby for hal v2 and v3 by using CameraDeviceBase.\n\nBug: 2682206\nChange-Id: Ib8b77f6fd462489d672f27e14fe37801d35b7544\n"
    },
    {
      "commit": "d7a77156eb13973f7fce5c9db6113bef83bc205b",
      "tree": "a900af86d420f9514201a871e7faf481373a4186",
      "parents": [
        "4019a1e408c12040fc13f7bd0027def630efcc18"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 06 14:58:38 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 09 18:01:14 2015 -0800"
      },
      "message": "Fix comments in resampler assembly\n\nChange-Id: Iedbd14a2c6c73dd9631813bd2414bf11cee78c32\n"
    },
    {
      "commit": "4019a1e408c12040fc13f7bd0027def630efcc18",
      "tree": "2faae9fa56d6674a2fc283e97fc1661325c6deac",
      "parents": [
        "27a3e954a587c2cf070fdd2aae7d93d839888db9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 06 14:53:01 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 09 18:00:44 2015 -0800"
      },
      "message": "Remove unused stride-by-8 resampling code\n\nChange-Id: Id8b0343efd4c6fb9668524fb5fe231b05c7cf31f\n"
    },
    {
      "commit": "e8610ba233ecdb3f6d3259412b41738a3861ee7e",
      "tree": "733694eb052a9bd41b53f7dffc77738abf11d057",
      "parents": [
        "9fdb3bd42af0876a9b76bae42d7aba2287b53af4"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Fri Feb 06 13:53:36 2015 -0800"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Fri Feb 06 14:44:32 2015 -0800"
      },
      "message": "Passing device name up through getDeviceDescriptor() method (when creating)\n\nChange-Id: Ibd85e37914333478fd038c3d2f52e214016c16b1\n"
    },
    {
      "commit": "0e48d25606c82def035ad10a5b3923767a765cdd",
      "tree": "2811d0042ca0c670bb6fb9cffa83b82de33f8ff8",
      "parents": [
        "c42ab4fcd42875ef74f8e9b8d8150f7bcfd0cd3b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 26 11:43:15 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 06 11:51:26 2015 -0800"
      },
      "message": "Change AudioTrack resampling buffers from 3 to 2\n\nMove computation of minimum AudioTrack buffer size to server\nfor normal streaming PCM tracks.\n\nUse server-side computation to exactly determine requirements\nfor the resampler to avoid triple buffering.\n\nThis reduces latency for normal audio tracks that require resampling,\nand makes things consistent with the minimum buffer size.\n\nChange-Id: I2f2ca0e599ee20e16559bc5c5dab61ed100da16c\n"
    },
    {
      "commit": "e743a47f445f02a0612018fa5640301304844fbf",
      "tree": "b8db2098c4e585e2e4d918db4c01a19fb5cf6be4",
      "parents": [
        "b96efd3cd7ff49e85049a1515b8bb3b7514dce0b"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Wed Jan 28 11:07:31 2015 -0800"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Feb 05 09:54:20 2015 -0800"
      },
      "message": "Add additional info to AudioPort for enum/selection API.\n\nAdd \"device name\" member to AudioPort.\nMoved unique device ID from DevicePort to AudioPort.\nStraighten out confusion between \"name\" and \"address\"\nCreated string constants for Intent \"extra\" data keys.\nCombine card/address data into \"address\" at sender.Add additional info to AudioPort for enum/selection API.\n\nChange-Id: I1be308e12b09cd0ead9a3e9fbc9c385462299fb5\n"
    },
    {
      "commit": "4db561713aae35445c2551a1c1049e7a858af197",
      "tree": "ef996c154b9f9ff74a5eead340812dedb4100a9b",
      "parents": [
        "c9fcfb923bb891d980238d47f33fdf488f758dc2",
        "7bc903581f879c86f3881a2f7563bd28c1ac29b7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 04 18:59:14 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 18:59:14 2015 +0000"
      },
      "message": "am 7bc90358: am 5d46bd54: am 3ae5f313: audiopolicy: send device connect notification to HALs\n\n* commit \u00277bc903581f879c86f3881a2f7563bd28c1ac29b7\u0027:\n  audiopolicy: send device connect notification to HALs\n"
    },
    {
      "commit": "7bc903581f879c86f3881a2f7563bd28c1ac29b7",
      "tree": "b63e33c63c7fc7c8febf5b6912cf6dc010e66a9c",
      "parents": [
        "07840f7544de883fe5c00cbd18bc6458a20e2691",
        "5d46bd54a279f24d0476b83947ce29e786b5c72c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 04 17:25:40 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 17:25:40 2015 +0000"
      },
      "message": "am 5d46bd54: am 3ae5f313: audiopolicy: send device connect notification to HALs\n\n* commit \u00275d46bd54a279f24d0476b83947ce29e786b5c72c\u0027:\n  audiopolicy: send device connect notification to HALs\n"
    },
    {
      "commit": "3ae5f31393609b7fa92f24132c66e9a8c9244a45",
      "tree": "059dbae05f8fdaaa3cf3dd68b246deb2cebeea76",
      "parents": [
        "efbb61950db36a5eb789be83f077246172507c67"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 03 17:12:08 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 04 08:56:31 2015 -0800"
      },
      "message": "audiopolicy: send device connect notification to HALs\n\nDevice disconnect notifications are sent from audiopolicy to\nthe HALs. Send connect notifications as well.\n\nBug: 19249796.\nBug: 17785277.\n\nChange-Id: Ia823ed154d6a0c7ceb84b0a94f0c3b78392faaf6\n"
    },
    {
      "commit": "e074a93046ebe5cea0b55c3a479e082a426e1e07",
      "tree": "c1b960cf44d005a19e8609e5be3d3f47c4ad0366",
      "parents": [
        "16469200f5a94277178ea41ed59898a113320b60"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 30 10:29:02 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Feb 03 15:23:56 2015 -0800"
      },
      "message": "CameraService: intercept Camera module\n\nWrap camera module returned from HAL so get_camera_info returns\nstatic_camera_characteristics processed by framework, which\ngenerates keys added after HAL3.2 is released.\n\nChange-Id: Ief423a1571cf06c7ef80b98b403a33969baf95f6\n"
    },
    {
      "commit": "37e5e6a53390c5086eea672d50c608f3247d33aa",
      "tree": "846b1f1bad32194ada096e81ed1e904a5dcd3ab4",
      "parents": [
        "5c129eb387334ed17d05071dbe960ef2faa2df87",
        "e33dee9e041c6ad8d822f717ef141d657da96c32"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 21:35:21 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 30 21:35:21 2015 +0000"
      },
      "message": "am e33dee9e: am 14a849c2: am 1bf8a210: Merge \"audio policy: add fallback for output selection\" into lmp-mr1-dev\n\n* commit \u0027e33dee9e041c6ad8d822f717ef141d657da96c32\u0027:\n  audio policy: add fallback for output selection\n"
    },
    {
      "commit": "5c129eb387334ed17d05071dbe960ef2faa2df87",
      "tree": "1980cce07b6e49827c40dd4b1fbddb691f6ed17b",
      "parents": [
        "e0360d0e86fed644e6cbe406de66d77d7ae9e697",
        "cba7fe5f1cb13108367d6de288428801b2d89a8e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 21:28:13 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 30 21:28:13 2015 +0000"
      },
      "message": "am cba7fe5f: am 6f4428de: am d99c6855: Merge \"audio policy: match attached device to declared devices\" into lmp-mr1-dev\n\n* commit \u0027cba7fe5f1cb13108367d6de288428801b2d89a8e\u0027:\n  audio policy: match attached device to declared devices\n"
    },
    {
      "commit": "e33dee9e041c6ad8d822f717ef141d657da96c32",
      "tree": "89889c9730c4736d464c449b7cded762cd6769a1",
      "parents": [
        "cba7fe5f1cb13108367d6de288428801b2d89a8e",
        "14a849c267bdcf564c30f9f2ebf0d619b36f500a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 21:22:44 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 30 21:22:44 2015 +0000"
      },
      "message": "am 14a849c2: am 1bf8a210: Merge \"audio policy: add fallback for output selection\" into lmp-mr1-dev\n\n* commit \u002714a849c267bdcf564c30f9f2ebf0d619b36f500a\u0027:\n  audio policy: add fallback for output selection\n"
    },
    {
      "commit": "cba7fe5f1cb13108367d6de288428801b2d89a8e",
      "tree": "62c5fc6f17c5a21f9ce952f7c1a93f617c1475be",
      "parents": [
        "172f257811886a216bf528006fc8445cec9d5480",
        "6f4428de2b4ab10393bbac2441586ac514c8cf53"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 21:18:06 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 30 21:18:06 2015 +0000"
      },
      "message": "am 6f4428de: am d99c6855: Merge \"audio policy: match attached device to declared devices\" into lmp-mr1-dev\n\n* commit \u00276f4428de2b4ab10393bbac2441586ac514c8cf53\u0027:\n  audio policy: match attached device to declared devices\n"
    },
    {
      "commit": "1bf8a21018cc1d95dc3c28b5044aeda327c7b54e",
      "tree": "8a4be46e5650fa435176aaa2e5ce95b8e146de8c",
      "parents": [
        "d99c6855901e4b2625aaad3fc24cff5ecf675fa3",
        "a82797faddb37adb2d441737884576684c8515cb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 20:27:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 30 20:27:44 2015 +0000"
      },
      "message": "Merge \"audio policy: add fallback for output selection\" into lmp-mr1-dev"
    },
    {
      "commit": "a82797faddb37adb2d441737884576684c8515cb",
      "tree": "68f6794347c78e26ec90a25373f6efb7894ba4fe",
      "parents": [
        "a93fd2be99d21629bed504b9b7df035fc2f54562"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 11:49:43 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 11:49:43 2015 -0800"
      },
      "message": "audio policy: add fallback for output selection\n\nWhen getOutputForDevice() finds a matching direct output profile\nbut fails to open it, try to fallback to downmix on mixer output\nwhen format is PCM and sampling rate allows it.\n\nBug: 19197137.\nChange-Id: I197b9b202504265b6928e69740875cb7aba5c2c5\n"
    },
    {
      "commit": "d99c6855901e4b2625aaad3fc24cff5ecf675fa3",
      "tree": "9f48f6a001a4fd4b0a097d6c64ed128b91f4abfe",
      "parents": [
        "0d84ba3fd82038cb721ffae234a99e6751ed7fbe",
        "a1d525fbf2c1e0b2c61e5d29f338b0a0d8823436"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 30 16:33:20 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 30 16:33:21 2015 +0000"
      },
      "message": "Merge \"audio policy: match attached device to declared devices\" into lmp-mr1-dev"
    },
    {
      "commit": "a1d525fbf2c1e0b2c61e5d29f338b0a0d8823436",
      "tree": "58ca0bd223daf403b1e18f29dc3dc2966f2c5478",
      "parents": [
        "a93fd2be99d21629bed504b9b7df035fc2f54562"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 29 13:36:45 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 29 13:36:45 2015 -0800"
      },
      "message": "audio policy: match attached device to declared devices\n\nMake sure that when a new audio device is connected,\nand a specific profile for this device is listed in\naudio_policy.conf, this particular profile is used instead\nof a default generic profile.\n\nBug: 19188567.\nChange-Id: I5f576fcd697adc041b2cfbd2bac7a51bcc2143b9\n"
    },
    {
      "commit": "aae036391b83a4509f2f480f36a1a4974b05132d",
      "tree": "25da1a26df7ef641fd664282c72e5b85f6c162cb",
      "parents": [
        "875cfd20f41b6e405f75fe4a9f9e848d63a67e28",
        "88873ae1b01208a9e70b80860274f429d08a6c64"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 20:57:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 20:57:42 2015 +0000"
      },
      "message": "am 88873ae1: am f1121d96: am 0d84ba3f: Merge \"Fix FLAG_BEACON regression\" into lmp-mr1-dev\n\n* commit \u002788873ae1b01208a9e70b80860274f429d08a6c64\u0027:\n  Fix FLAG_BEACON regression\n"
    },
    {
      "commit": "88873ae1b01208a9e70b80860274f429d08a6c64",
      "tree": "e65a0e3199208d53cf149757174f1e523bc9e0a3",
      "parents": [
        "183a0e52ac3130501c417005f6363eeec62c0afd",
        "f1121d963b51c798ab28c85eeff1eedc9bb2c186"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 20:34:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 20:34:33 2015 +0000"
      },
      "message": "am f1121d96: am 0d84ba3f: Merge \"Fix FLAG_BEACON regression\" into lmp-mr1-dev\n\n* commit \u0027f1121d963b51c798ab28c85eeff1eedc9bb2c186\u0027:\n  Fix FLAG_BEACON regression\n"
    },
    {
      "commit": "0d84ba3fd82038cb721ffae234a99e6751ed7fbe",
      "tree": "6242a784e02b2001232ef67593cd9aabb5606c3b",
      "parents": [
        "a93fd2be99d21629bed504b9b7df035fc2f54562",
        "79ad438ed25c59a37244a48899263bbc4bc92f5d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 20:22:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 29 20:22:58 2015 +0000"
      },
      "message": "Merge \"Fix FLAG_BEACON regression\" into lmp-mr1-dev"
    },
    {
      "commit": "79ad438ed25c59a37244a48899263bbc4bc92f5d",
      "tree": "d54e5f2d9b1fef107e37bf2fe2b87aa44a16d8bb",
      "parents": [
        "64c496c8d51c71605cd34a510da2ecd8180656ec"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 10:49:39 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 29 10:49:39 2015 -0800"
      },
      "message": "Fix FLAG_BEACON regression\n\nFix regression where FLAG_BEACON is not honored anymore in terms\n of routing and muting behavior\nWhen converting from AudioAttributes to stream types, also look\n at FLAG_BEACON for mapping to STREAM_TTS\n\nBug 19185342\n\nChange-Id: I5871c1b94480ae3da544aef99ea9ab4dff97443d\n"
    },
    {
      "commit": "342d039316563eabae80e6e42cf9b28600255e00",
      "tree": "96d0a9f8eb22c12ef744221d1562ae8d76628bb0",
      "parents": [
        "f26334cf7d60060e0e33b037dd9504c81b2e10eb",
        "6dafb81dc699672f218915fa2895f8ee012203a9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 29 17:22:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 17:22:27 2015 +0000"
      },
      "message": "am 6dafb81d: am 8c403b22: am c84bc78d: Merge \"Audio policy: fix device gain initialization\" into lmp-mr1-dev\n\n* commit \u00276dafb81dc699672f218915fa2895f8ee012203a9\u0027:\n  Audio policy: fix device gain initialization\n"
    },
    {
      "commit": "6dafb81dc699672f218915fa2895f8ee012203a9",
      "tree": "ebf4401bd53fd91460b29eda1919179b75191767",
      "parents": [
        "6a0fbc68e203058e3b7d62e95d46f2415bc3ed95",
        "8c403b2265fdef64ac4ba903e6261edd22d81909"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 29 02:52:17 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 02:52:17 2015 +0000"
      },
      "message": "am 8c403b22: am c84bc78d: Merge \"Audio policy: fix device gain initialization\" into lmp-mr1-dev\n\n* commit \u00278c403b2265fdef64ac4ba903e6261edd22d81909\u0027:\n  Audio policy: fix device gain initialization\n"
    },
    {
      "commit": "1db89b9c2692fd70eb1cc98b7db2f9beed81e66e",
      "tree": "beb7c19359bcc63ef6bbf918bf3b4a6ffe2a3003",
      "parents": [
        "64c496c8d51c71605cd34a510da2ecd8180656ec"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 27 18:21:09 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 27 18:21:09 2015 -0800"
      },
      "message": "Audio policy: fix device gain initialization\n\nFix initilization of default gain configuration for\naudio devices loaded from audio_policy.conf.\n\nInitialization cannot be done in constructor as the possible\ngain configurations are not loaded yet.\n\nBug: 19120566.\nChange-Id: I78f057ecfa1a121365ac3d8f317912a6f1647627\n"
    },
    {
      "commit": "5bedff60b2facaa1ec5b9433647ebf1504f065ca",
      "tree": "d9d22703626906b38ee1f5c571f21f49ce447199",
      "parents": [
        "7790a33241f773d8a99c6f27d3bde36da08d6238"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 16 11:05:32 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 22 13:48:03 2015 -0800"
      },
      "message": "Do not pre-fill OutputTrack buffer for duplicating thread\n\nIt is not necessary to start the downstream MixerThread early,\nrather allow stop() to flush the remaining frames.\n\nChange-Id: Ibcf8e7f5eda09d0f915d50697ff0c24c32fd11c4\n"
    },
    {
      "commit": "7790a33241f773d8a99c6f27d3bde36da08d6238",
      "tree": "a85022f86af269d686fd760c1d50c69f8a32acc0",
      "parents": [
        "3f603dadd7e34891d215cec8ba35ab838e70185a",
        "656d738cab67349f4b5a45473a0c48cf89c68fd0"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 21 01:55:28 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 21 01:55:28 2015 +0000"
      },
      "message": "am 656d738c: am a789e519: am 0c4e56d0: Camera: make sure jpeg buffer size isn\\\u0027t too small\n\n* commit \u0027656d738cab67349f4b5a45473a0c48cf89c68fd0\u0027:\n  Camera: make sure jpeg buffer size isn\u0027t too small\n"
    },
    {
      "commit": "656d738cab67349f4b5a45473a0c48cf89c68fd0",
      "tree": "d5eb6ee4d17b03dc48bb4e881f8c80483e1a6ec2",
      "parents": [
        "1d6aedb3581f1ef2ce9862b1b1d03c9fd3cfff83",
        "a789e51942c7572e0c9f54326d6d9d0ff65d6941"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 20 23:57:20 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 20 23:57:20 2015 +0000"
      },
      "message": "am a789e519: am 0c4e56d0: Camera: make sure jpeg buffer size isn\\\u0027t too small\n\n* commit \u0027a789e51942c7572e0c9f54326d6d9d0ff65d6941\u0027:\n  Camera: make sure jpeg buffer size isn\u0027t too small\n"
    },
    {
      "commit": "3f603dadd7e34891d215cec8ba35ab838e70185a",
      "tree": "b3ac0d9534f7474286d55400cd54c2fb777218a3",
      "parents": [
        "35d86b96d938a5680c8b70a6f985e23b2631dd0e",
        "1d6aedb3581f1ef2ce9862b1b1d03c9fd3cfff83"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 20 23:37:18 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 20 23:37:18 2015 +0000"
      },
      "message": "am 1d6aedb3: am bf2751a5: am 7ccc6b9b: Merge \"fix audio patch leak.\" into lmp-mr1-dev\n\n* commit \u00271d6aedb3581f1ef2ce9862b1b1d03c9fd3cfff83\u0027:\n  fix audio patch leak.\n"
    },
    {
      "commit": "1d6aedb3581f1ef2ce9862b1b1d03c9fd3cfff83",
      "tree": "21cf75806101a627b4dcaa522c18525f9974d5fe",
      "parents": [
        "c10a0a35bfd3c776089403cd2d9a82662189e4a2",
        "bf2751a5ea6a306c2ba51a0658ec10aa889a81fa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 20 23:28:46 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 20 23:28:46 2015 +0000"
      },
      "message": "am bf2751a5: am 7ccc6b9b: Merge \"fix audio patch leak.\" into lmp-mr1-dev\n\n* commit \u0027bf2751a5ea6a306c2ba51a0658ec10aa889a81fa\u0027:\n  fix audio patch leak.\n"
    },
    {
      "commit": "0c4e56d0baaa19fcf17234b38d634b7281e2ae37",
      "tree": "54ee27c5dece90449af6924cc787af655346b201",
      "parents": [
        "7ccc6b9baf2f568a0a8c6e27dcd4195645a6361d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jan 09 15:21:27 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 20 13:40:53 2015 -0800"
      },
      "message": "Camera: make sure jpeg buffer size isn\u0027t too small\n\nAssuming the jpeg header can take up to 256KB, make sure we always\nallocate enough size for the image data.\n\nBug: 18962703\nChange-Id: I08eb3d198d12f71f3ab7266324e80fe7410bdc89\n"
    },
    {
      "commit": "7ccc6b9baf2f568a0a8c6e27dcd4195645a6361d",
      "tree": "b4d2dfaf0b4fb59655c34d21ca61a890f594f83d",
      "parents": [
        "4d4ea7f7ca04cfe70ecf6f35658389f52ae6d3c1",
        "aa79befb301bc3451a19021b3fc9e9e6a1f231e8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 20 21:09:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 20 21:09:54 2015 +0000"
      },
      "message": "Merge \"fix audio patch leak.\" into lmp-mr1-dev"
    },
    {
      "commit": "dce27d0ebab31e82543bb777ed3eb04955cd18ff",
      "tree": "f3dcc003f0c96b18d74c46547c10ef819e083b07",
      "parents": [
        "2d2bd6af573383bced45e2f610e11193e28fdcdb",
        "fbfc3959f4aac839445edc7075532067fef497c2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Jan 17 01:36:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 17 01:36:52 2015 +0000"
      },
      "message": "Merge \"Update duplicating thread to use float audio\""
    },
    {
      "commit": "2d2bd6af573383bced45e2f610e11193e28fdcdb",
      "tree": "9adcafb234c0c027683f08538322e0fa0fa601aa",
      "parents": [
        "50870c983127f2c9e0a3c04a46ea7c24ad2271cf",
        "c25b84abdd7ff229d0af663fbf3a37bd9512939d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 16 21:17:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 16 21:17:12 2015 +0000"
      },
      "message": "Merge \"Allow duplicating thread to use native mixing audio format\""
    },
    {
      "commit": "aa79befb301bc3451a19021b3fc9e9e6a1f231e8",
      "tree": "d55a9b5ccde8671e9126ced03a963a70891ae1e8",
      "parents": [
        "5f3194c9efeadc200c89d9e2b00a19f1afeac55d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 15 14:33:51 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 15 18:56:26 2015 -0800"
      },
      "message": "fix audio patch leak.\n\nAlways wait for status when executing a create audio patch\ncommand in audio policy service command thread.\nThe returned patch handle must be passed back to audio policy manager\nso that the patch can be modified later.\nFailing to do so causes a leak of patch descriptors in audio flinger.\n\nBug: 19032387.\nChange-Id: I5462d1437fac244d9c5e38f2c7b8e1a4c01d2b75\n"
    },
    {
      "commit": "fbfc3959f4aac839445edc7075532067fef497c2",
      "tree": "75c11d45346280301eb7206d7189881c523fddf3",
      "parents": [
        "c25b84abdd7ff229d0af663fbf3a37bd9512939d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 15 13:33:51 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 15 18:18:27 2015 -0800"
      },
      "message": "Update duplicating thread to use float audio\n\nPreviously device format was used, typically pcm 16 bit.\n\nChange-Id: I70a8b594820e948a2caa299194807ec17348b0e9\n"
    },
    {
      "commit": "c25b84abdd7ff229d0af663fbf3a37bd9512939d",
      "tree": "f6b95e15432dfac6410a1c61bd34e1f8aacdbb3e",
      "parents": [
        "abdb990953ffe94a9dc544aea0bed17ef7d5f484"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 14 19:04:10 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 15 16:57:42 2015 -0800"
      },
      "message": "Allow duplicating thread to use native mixing audio format\n\nUpdate OutputTrack to take variable formats.\nPreviously conversion to AUDIO_FORMAT_PCM_16_BIT was required.\n\nChange-Id: I4a96a60ddd8d8dfe651405a0bcd4f98c89bc1ade\n"
    },
    {
      "commit": "cd7382b7dcb2ba428a51264cf4e1d369884ff161",
      "tree": "7e75c0ab50f4b8637c6a1092bc5f1b3169b04bfc",
      "parents": [
        "277f33be406d01bd3f64b28a5871d7332c372ecf",
        "c09eb2dfef090864e3ab827c12e724424fc8ca01"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 16 00:06:10 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 16 00:06:10 2015 +0000"
      },
      "message": "am c09eb2df: am 65cb339d: am 21291a42: Merge \"fix leak in audio policy effect config parser\" into lmp-mr1-dev\n\n* commit \u0027c09eb2dfef090864e3ab827c12e724424fc8ca01\u0027:\n  fix leak in audio policy effect config parser\n"
    },
    {
      "commit": "c09eb2dfef090864e3ab827c12e724424fc8ca01",
      "tree": "5e133dbdce48e3fd13c9dba5c88b0bd27d50134b",
      "parents": [
        "1509765f2262e4582cdcfdb064417884a3efa04c",
        "65cb339de0f628c82bdd5c68d868b6f3dc83cf04"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 15 23:11:40 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 15 23:11:40 2015 +0000"
      },
      "message": "am 65cb339d: am 21291a42: Merge \"fix leak in audio policy effect config parser\" into lmp-mr1-dev\n\n* commit \u002765cb339de0f628c82bdd5c68d868b6f3dc83cf04\u0027:\n  fix leak in audio policy effect config parser\n"
    },
    {
      "commit": "21291a420e11ccdf23e955c3dc390304230ddce3",
      "tree": "5d3495362261003fb53836cf541467e65b1a0b39",
      "parents": [
        "5b578beca7c835c0c49f8f93219cf4d2f82057e3",
        "182c2f5e48f46c11dbcb5eecb46268dff4ad4797"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 15 23:00:39 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 15 23:00:46 2015 +0000"
      },
      "message": "Merge \"fix leak in audio policy effect config parser\" into lmp-mr1-dev"
    },
    {
      "commit": "dda683a2ccb84ccc840b76e2ced10052f65ce43e",
      "tree": "dcea45fba84635e924e42c60c710ae2b8789c9d2",
      "parents": [
        "d488982887e24f4a8e61f68d945a2f113f43579e",
        "abdb990953ffe94a9dc544aea0bed17ef7d5f484"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 15 22:56:03 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 15 22:56:03 2015 +0000"
      },
      "message": "Merge \"Allow AUDIO_FORMAT_PCM_8_BIT AudioTrack buffers\""
    },
    {
      "commit": "182c2f5e48f46c11dbcb5eecb46268dff4ad4797",
      "tree": "b1a7e63012b5e2ee6b6975baae5c0726e4376397",
      "parents": [
        "5f3194c9efeadc200c89d9e2b00a19f1afeac55d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 15 14:29:19 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 15 14:29:19 2015 -0800"
      },
      "message": "fix leak in audio policy effect config parser\n\nFree temporary effect descriptors created in\nloadAudioEffectConfig().\n\nBug 19021726.\n\nChange-Id: Icd44216e25df3fe683a01763d7e8a7b84f367a1a\n"
    },
    {
      "commit": "73315c1a8b39dcc7b9c8721de6653405503b3a5b",
      "tree": "eb656b230252afe87467e60c07e165584c35c949",
      "parents": [
        "4a738c9bdb98f2617dae3a082a979d94e35a44da",
        "c9123e9aec7d84b51e5e3863953bcbd05e754513"
      ],
      "author": {
        "name": "Leo Wang",
        "email": "leozwang@google.com",
        "time": "Thu Jan 15 06:25:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 15 06:25:42 2015 +0000"
      },
      "message": "am c9123e9a: am eed5e4bd: am 5b578bec: Merge \"    [FM]There is no sound output from BT earphone while BT earphone is connected\" into lmp-mr1-dev\n\n* commit \u0027c9123e9aec7d84b51e5e3863953bcbd05e754513\u0027:\n  [FM]There is no sound output from BT earphone while BT earphone is connected\n"
    },
    {
      "commit": "c9123e9aec7d84b51e5e3863953bcbd05e754513",
      "tree": "7ecc13d22ccf83e91721ac0c79306f13677c7cb9",
      "parents": [
        "eb2a7346c2270a7fb3cc3e127f7b52ba20df1fb7",
        "eed5e4bd2b25da3e1965f4ab360f3cea1ccbcc2c"
      ],
      "author": {
        "name": "Leo Wang",
        "email": "leozwang@google.com",
        "time": "Thu Jan 15 06:17:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 15 06:17:27 2015 +0000"
      },
      "message": "am eed5e4bd: am 5b578bec: Merge \"    [FM]There is no sound output from BT earphone while BT earphone is connected\" into lmp-mr1-dev\n\n* commit \u0027eed5e4bd2b25da3e1965f4ab360f3cea1ccbcc2c\u0027:\n  [FM]There is no sound output from BT earphone while BT earphone is connected\n"
    },
    {
      "commit": "abdb990953ffe94a9dc544aea0bed17ef7d5f484",
      "tree": "a5cba46c6820b02771d0759bdb1ef6b6d6292356",
      "parents": [
        "2d85f097d653b21d1ff2c34f0b732c674d20ccc2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 12 15:08:22 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 14 13:11:38 2015 -0800"
      },
      "message": "Allow AUDIO_FORMAT_PCM_8_BIT AudioTrack buffers\n\nPreviously conversion to AUDIO_FORMAT_PCM_16_BIT was required.\nClient shared memory for static tracks and AudioFlinger track creation\nand buffer delivery now use native 8 bit PCM data.\n\nChange-Id: I485c07a4971fde9a25442bd43fed95019d39abcc\n"
    },
    {
      "commit": "e6b8b27088f461957b4cbc51adbc8b01c41e9de2",
      "tree": "efe600104c76312a94c06c58a0e16f2b8e42a2d5",
      "parents": [
        "0b460ad7557f6be56aad3fa027d93b38d5995ac4"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Tue Jan 13 20:27:13 2015 +0800"
      },
      "committer": {
        "name": "leozwang",
        "email": "leozwang@google.com",
        "time": "Tue Jan 13 11:12:50 2015 -0800"
      },
      "message": "    [FM]There is no sound output from BT earphone while BT earphone is connected\n\n    Bug: 18847131\n\n    Review: https://partner-android-review.git.corp.google.com/#/c/193318\n\n    Signed-off-by: Hochi Huang \u003chochi.huang@mediatek.com\u003e\n\nChange-Id: I79703ba4ceb67ca3b95fbc71444dd3b116ba4131\n"
    },
    {
      "commit": "a18eb9ea913e2cd19df9fe0f1b2a667339006581",
      "tree": "7d0c82041083a9f39525c98ac0c7fb6ccbd55756",
      "parents": [
        "b60bf91d2b1b2e45166cbb1eff9499de8b1c1105",
        "53dbe77b9f50cdd0de88b9d25dd643e90c8ba68b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 12 16:15:00 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 12 16:15:01 2015 +0000"
      },
      "message": "Merge \"Move roundup from frameworks/av to system/media\""
    },
    {
      "commit": "36d560b1f1146da34016744bb7a72b2f4f348c9d",
      "tree": "4a6a6ff797c152731c35426af06feb8e47f0170a",
      "parents": [
        "e6910780274fb818f1432d10672af4b813c2bc59",
        "27a78b56e1cf9814971192883cb7d15c186465f7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 20:37:49 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 07 20:37:49 2015 +0000"
      },
      "message": "am 27a78b56: am 78c02ddb: am cfa5bf04: Merge \"make libserviceutility a shared lib\" into lmp-mr1-dev\n\n* commit \u002727a78b56e1cf9814971192883cb7d15c186465f7\u0027:\n  make libserviceutility a shared lib\n  audio policy: fix remote mic capture\n  audio policy: suppport for dynamic source\n  Fix overload of SoftVideoDecoderOMXComponent::updatePortDefinitions\n  Fix race condition in signaling completion for decode.\n  AnotherPacketSource: need reset some members before returning from queueDiscontinuity().\n  Fix looping sound playback\n  AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.\n"
    },
    {
      "commit": "27a78b56e1cf9814971192883cb7d15c186465f7",
      "tree": "78d22ab6884bade675def21c48c251c9a9a15bc0",
      "parents": [
        "69158e3e7b565a5ca131a2efaa9b76615ca80cbb",
        "78c02ddb6bf0d676160244a62c11dceb68301b73"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 19:30:17 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 07 19:30:17 2015 +0000"
      },
      "message": "am 78c02ddb: am cfa5bf04: Merge \"make libserviceutility a shared lib\" into lmp-mr1-dev\n\n* commit \u002778c02ddb6bf0d676160244a62c11dceb68301b73\u0027:\n  make libserviceutility a shared lib\n  audio policy: fix remote mic capture\n  audio policy: suppport for dynamic source\n  Fix overload of SoftVideoDecoderOMXComponent::updatePortDefinitions\n  Fix race condition in signaling completion for decode.\n  AnotherPacketSource: need reset some members before returning from queueDiscontinuity().\n  Fix looping sound playback\n  AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.\n"
    },
    {
      "commit": "cfa5bf04ff250a14b11a75bcfa35ee2d6dbab4e9",
      "tree": "b985df2fc3985bfe5589cb6955ed3369d7d9feef",
      "parents": [
        "610255e8f2d02cb3513695eacf1c37d66b3553d6",
        "5db7897ddd32e3ec3ab45ecdb6f21b6265e7e14a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 19:19:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 07 19:19:33 2015 +0000"
      },
      "message": "Merge \"make libserviceutility a shared lib\" into lmp-mr1-dev"
    },
    {
      "commit": "5db7897ddd32e3ec3ab45ecdb6f21b6265e7e14a",
      "tree": "e586c65974e885af85d209c811acb3d3cd592736",
      "parents": [
        "71d13d4c94cea2113d074cf0d0c6e07ad68ff3ec"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 10:42:33 2015 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 07 10:50:09 2015 -0800"
      },
      "message": "make libserviceutility a shared lib\n\nso that we have only one getpid_cached in mediaserver process\n\nbug: 18919657\n\nChange-Id: Iff3cd932c9110e874b3885f79705f49bf3e3f1fc\n"
    },
    {
      "commit": "53dbe77b9f50cdd0de88b9d25dd643e90c8ba68b",
      "tree": "c69d11cf3119aaa816cea8a59cc0b63f52a53e69",
      "parents": [
        "81879df8dc51df4d8a3880349e9e1e6b5e3cebfb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 06 10:46:38 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 07 09:12:17 2015 -0800"
      },
      "message": "Move roundup from frameworks/av to system/media\n\nChange-Id: I1083ab739e445e5bd3e3082fc1d3a20cc19601d5\n"
    },
    {
      "commit": "81879df8dc51df4d8a3880349e9e1e6b5e3cebfb",
      "tree": "920af202ad4576e997a540bfc98479aa97b2a0e2",
      "parents": [
        "197f84845ccea9319a1589b85edeb2dcf56b81b3",
        "69158e3e7b565a5ca131a2efaa9b76615ca80cbb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 07 16:02:57 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 07 16:02:57 2015 +0000"
      },
      "message": "am 69158e3e: am 6ab33981: am 610255e8: Merge \"audioflinger: pause HW A/V sync output when AudioTrack underruns\" into lmp-mr1-dev\n\n* commit \u002769158e3e7b565a5ca131a2efaa9b76615ca80cbb\u0027:\n  audioflinger: pause HW A/V sync output when AudioTrack underruns\n"
    },
    {
      "commit": "69158e3e7b565a5ca131a2efaa9b76615ca80cbb",
      "tree": "4dfbea14cb9503808fab3f532c1335d457142e40",
      "parents": [
        "644afb88421ac0e71d526f9b6726404a90c7cccd",
        "6ab33981d45cd69e683a143fec6530e66bd3e371"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 07 15:57:49 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 07 15:57:49 2015 +0000"
      },
      "message": "am 6ab33981: am 610255e8: Merge \"audioflinger: pause HW A/V sync output when AudioTrack underruns\" into lmp-mr1-dev\n\n* commit \u00276ab33981d45cd69e683a143fec6530e66bd3e371\u0027:\n  audioflinger: pause HW A/V sync output when AudioTrack underruns\n"
    },
    {
      "commit": "610255e8f2d02cb3513695eacf1c37d66b3553d6",
      "tree": "de334953c45a0c9f692a83d3ac97b33cd6ffae1d",
      "parents": [
        "8140a2b7ef0650e8cce6be16efcbfce56d0ed1e4",
        "0f7b5f2b231caf87da9b20b74d086e5a9d6f4a9d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 07 15:47:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 07 15:47:54 2015 +0000"
      },
      "message": "Merge \"audioflinger: pause HW A/V sync output when AudioTrack underruns\" into lmp-mr1-dev"
    },
    {
      "commit": "65b13a59775ac0b4b5d59d9cd78e0c9914790426",
      "tree": "180542cd152913dfbb5b34bfac319f2d6c675b2e",
      "parents": [
        "cd39b480645df7b51679f118c2edc221cc620c19",
        "bb2e3e9d05e3760cfcf3cc63c10e7e8336e63a06"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 07 00:58:05 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 07 00:58:05 2015 +0000"
      },
      "message": "am bb2e3e9d: am fb5d35c0: am 7ae3dfab: Merge \"fix record from default input source\" into lmp-mr1-dev\n\n* commit \u0027bb2e3e9d05e3760cfcf3cc63c10e7e8336e63a06\u0027:\n  fix record from default input source\n"
    },
    {
      "commit": "bb2e3e9d05e3760cfcf3cc63c10e7e8336e63a06",
      "tree": "afa82b79d308a48411dcb7ad0605139d545b5ff6",
      "parents": [
        "f89e974cac7916c11b1bd480e40c8a4770544848",
        "fb5d35c00d1c4d672d245b6820551808617eba46"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 07 00:17:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 07 00:17:12 2015 +0000"
      },
      "message": "am fb5d35c0: am 7ae3dfab: Merge \"fix record from default input source\" into lmp-mr1-dev\n\n* commit \u0027fb5d35c00d1c4d672d245b6820551808617eba46\u0027:\n  fix record from default input source\n"
    },
    {
      "commit": "7ae3dfabb40d061aa613b255cba65ee35567f323",
      "tree": "cb68266686a4fb4d6bc15eef8fa9247a6ccd5de4",
      "parents": [
        "aee1c89f3d1868e77208bc64f9f1b2fc5c4a3514",
        "c447ded04f11169e9b96b31cd196b2c4ffa9f31c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 07 00:05:26 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 07 00:05:26 2015 +0000"
      },
      "message": "Merge \"fix record from default input source\" into lmp-mr1-dev"
    },
    {
      "commit": "aee1c89f3d1868e77208bc64f9f1b2fc5c4a3514",
      "tree": "9ef5f83a7a1072e1450c0d7a1ad12a00beea254d",
      "parents": [
        "ea7fba9abadcc3aae9c9b71bf67f2dd657c5b5dd",
        "e443ffac2a09b69470c4663ee031a527c53738d9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 06 23:12:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 06 23:12:07 2015 +0000"
      },
      "message": "Merge \"DO NOT MERGE - fix memory leak in PatchPanel\" into lmp-mr1-dev"
    },
    {
      "commit": "c447ded04f11169e9b96b31cd196b2c4ffa9f31c",
      "tree": "77fedcbb54431d1d432d9bdcc58791ec5418c413",
      "parents": [
        "3190e67d5c80c1e39e3be91784110af1180cd182"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 06 08:47:05 2015 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 06 08:55:25 2015 -0800"
      },
      "message": "fix record from default input source\n\nCommit caf7f48a0e broke capture from default\ninput source on some devices: the input source is now specified as part of\nthe audio attributes and the default source was not remapped to mic source.\n\nBug: 18736417.\nChange-Id: I3f5da33cdb56f959aaef68ed1952342babc63aa0\n"
    },
    {
      "commit": "e443ffac2a09b69470c4663ee031a527c53738d9",
      "tree": "7db596e90207472c7ff018f4778d16de8c806e62",
      "parents": [
        "0d19abb440c7e62e944efbeadf02299990f9a589"
      ],
      "author": {
        "name": "soon1.choi",
        "email": "soon1.choi@lge.com",
        "time": "Mon Jan 05 14:27:42 2015 +0900"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 05 15:34:15 2015 -0800"
      },
      "message": "DO NOT MERGE - fix memory leak in PatchPanel\n\nBefore the audio patch is created, audio patch with same handle is\nremoved from vector for patches. At this time, Patch allocated in the\nheap is not freed. This causes memory leaks in the mediaserver.\n\nBug: 18904322.\n\nChange-Id: Id0d28c36a7e7fbf473753bf4ead7518f28c1b998\n"
    },
    {
      "commit": "b126b43fcbfe10643245396fcae462c541a94ccf",
      "tree": "a3ff83388912ab3de7a533e319f77a5f6a6a2d7d",
      "parents": [
        "5111fe3ea0a5ba4fd0735535ae7e08a0c563353d",
        "4250b955f40ec459b5aeff3129a570fb182e8819"
      ],
      "author": {
        "name": "keunyoung",
        "email": "keunyoung@google.com",
        "time": "Mon Jan 05 21:58:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 05 21:58:50 2015 +0000"
      },
      "message": "am 4250b955: am 01310cd7: am 3190e67d: close remote submix\\\u0027s output when device is not available.\n\n* commit \u00274250b955f40ec459b5aeff3129a570fb182e8819\u0027:\n  close remote submix\u0027s output when device is not available.\n"
    },
    {
      "commit": "4250b955f40ec459b5aeff3129a570fb182e8819",
      "tree": "9f16b8c36f2beb8c6feb1eea212c37f2b887ea09",
      "parents": [
        "645b0192ad5d9b46b06aa06ac5670a8390d35f6f",
        "01310cd7adad778f8a6d0e4bc73dae068638abf2"
      ],
      "author": {
        "name": "keunyoung",
        "email": "keunyoung@google.com",
        "time": "Mon Jan 05 21:53:06 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 05 21:53:06 2015 +0000"
      },
      "message": "am 01310cd7: am 3190e67d: close remote submix\\\u0027s output when device is not available.\n\n* commit \u002701310cd7adad778f8a6d0e4bc73dae068638abf2\u0027:\n  close remote submix\u0027s output when device is not available.\n"
    }
  ],
  "next": "3190e67d5c80c1e39e3be91784110af1180cd182"
}
