)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "3190e67d5c80c1e39e3be91784110af1180cd182",
      "tree": "df0ffbb41220270e726bc95e1148bae7a370473a",
      "parents": [
        "0d19abb440c7e62e944efbeadf02299990f9a589"
      ],
      "author": {
        "name": "keunyoung",
        "email": "keunyoung@google.com",
        "time": "Tue Dec 30 13:00:52 2014 -0800"
      },
      "committer": {
        "name": "keunyoung",
        "email": "keunyoung@google.com",
        "time": "Mon Jan 05 13:27:42 2015 -0800"
      },
      "message": "close remote submix\u0027s output when device is not available.\n\n- change output close logic to find the device from IOProfile rather than\n  AudioPatch as AudioPatch handle can be cleared before disconnect.\n- Otherwise, remote submix can be stuck as output is never closed and does not\n  work any more as subsequent open fails as output is already taken.\n\nbug: 18733215\n\nChange-Id: Iddb481c91e81070e6be18996a4c8837dabd7ebdb\n"
    },
    {
      "commit": "5111fe3ea0a5ba4fd0735535ae7e08a0c563353d",
      "tree": "114803ffbd0fdc0e959caeced2ec04d96992829d",
      "parents": [
        "7d0fe65b0aa437d62c56653856a7cc79ee373a53",
        "645b0192ad5d9b46b06aa06ac5670a8390d35f6f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 05 20:08:24 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 05 20:08:24 2015 +0000"
      },
      "message": "am 645b0192: am 76758100: am 43637c2e: Merge \"fix memory leak in PatchPanel\"\n\n* commit \u0027645b0192ad5d9b46b06aa06ac5670a8390d35f6f\u0027:\n  fix memory leak in PatchPanel\n"
    },
    {
      "commit": "645b0192ad5d9b46b06aa06ac5670a8390d35f6f",
      "tree": "29e8dae955b11910d44929c18d50ac9e1d56175a",
      "parents": [
        "51281663443ea39db9b4c6e2415343e26a6b3fb8",
        "76758100c85622c178355959e454651310ea0011"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 05 20:02:56 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 05 20:02:56 2015 +0000"
      },
      "message": "am 76758100: am 43637c2e: Merge \"fix memory leak in PatchPanel\"\n\n* commit \u002776758100c85622c178355959e454651310ea0011\u0027:\n  fix memory leak in PatchPanel\n"
    },
    {
      "commit": "76758100c85622c178355959e454651310ea0011",
      "tree": "1f417c3cee2806a8276efca34fde9b9bd1d6532e",
      "parents": [
        "69897ae4889328807760ea359ee62efffdaca933",
        "43637c2e0313ed9fea4e4aceb14c166349327aea"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 05 19:56:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 05 19:56:47 2015 +0000"
      },
      "message": "am 43637c2e: Merge \"fix memory leak in PatchPanel\"\n\n* commit \u002743637c2e0313ed9fea4e4aceb14c166349327aea\u0027:\n  fix memory leak in PatchPanel\n"
    },
    {
      "commit": "d8cd47792bac11a44096ef8233bb5268a6674bec",
      "tree": "a297a02667e5b2dbed97c6aa03afda3c33aaab1b",
      "parents": [
        "bd08223c450a7a2e8e8d79e6be148ed1ac64caa3"
      ],
      "author": {
        "name": "soon1.choi",
        "email": "soon1.choi@lge.com",
        "time": "Mon Jan 05 14:27:42 2015 +0900"
      },
      "committer": {
        "name": "Soon-won Choi",
        "email": "soon1.choi@lge.com",
        "time": "Mon Jan 05 07:57:42 2015 +0000"
      },
      "message": "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\nChange-Id: Id0d28c36a7e7fbf473753bf4ead7518f28c1b998"
    },
    {
      "commit": "b187de1ada34a9023c05d020a4592686ba761278",
      "tree": "31dea84d078f6198ce17ca856fcbb76c402f37b6",
      "parents": [
        "64cbdee08a18b25448a5fb0b058d3b83d5630d7f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 30 08:18:15 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 30 08:18:15 2014 -0800"
      },
      "message": "Line length 100\n\nChange-Id: I6c8fe626a3825fa9e139319656d682a57b887c97\n"
    },
    {
      "commit": "17f32a27930cec82d0eff4d5fe7932bd72c869bb",
      "tree": "46f51c6144976f5d884b78c36f200d0227090e54",
      "parents": [
        "486a7135593b4b40c067e9b06f393577abfef482",
        "b915a420a6a205d30c0181d3fc13078fc6d37a3c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 24 19:05:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 24 19:05:09 2014 +0000"
      },
      "message": "am b915a420: am 57221635: am 5886252a: Merge \"audio policy: fix isSourceActive() for hotword\" into lmp-mr1-dev\n\n* commit \u0027b915a420a6a205d30c0181d3fc13078fc6d37a3c\u0027:\n  audio policy: fix isSourceActive() for hotword\n"
    },
    {
      "commit": "b915a420a6a205d30c0181d3fc13078fc6d37a3c",
      "tree": "743d38720da9d490f821f2897af978768b9c7cf2",
      "parents": [
        "af318e2882e0b8b1a594f079eb3d10b2daa3ff7e",
        "572216352498c702651567b3b299a1f7ed725429"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 24 18:57:46 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 24 18:57:46 2014 +0000"
      },
      "message": "am 57221635: am 5886252a: Merge \"audio policy: fix isSourceActive() for hotword\" into lmp-mr1-dev\n\n* commit \u0027572216352498c702651567b3b299a1f7ed725429\u0027:\n  audio policy: fix isSourceActive() for hotword\n"
    },
    {
      "commit": "ddef616411f7f2788702f22d38c7ef3e7c347172",
      "tree": "46b00f44391a7f0a10bc1d4f6f1fcad130585d73",
      "parents": [
        "8e883a15d950c461f258104d7fe5c3c81c1db0de",
        "d8be13b8d964b7edb02cb2ad64dee86ff247c911"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Dec 20 00:44:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Dec 20 00:44:51 2014 +0000"
      },
      "message": "am d8be13b8: am caf17e31: am 0a0662ea: Merge \"audio policy: improve accessibility routing\" into lmp-mr1-dev\n\n* commit \u0027d8be13b8d964b7edb02cb2ad64dee86ff247c911\u0027:\n  audio policy: improve accessibility routing\n"
    },
    {
      "commit": "0f7b5f2b231caf87da9b20b74d086e5a9d6f4a9d",
      "tree": "f6f15345f054cdc13116a1443b80454e256b7c71",
      "parents": [
        "e48cf5b8f823c30af93577c1e380d752ac69b871"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 19 10:43:21 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 19 16:41:52 2014 -0800"
      },
      "message": "audioflinger: pause HW A/V sync output when AudioTrack underruns\n\nDo not standby, starve or feed 0s to the audio HAL on direct\noutput using HW A/V sync mode.\n\nBug: 17883772.\n\nChange-Id: I11e6c97ec24360d75f9b602814d40a54b60cb7a7\n"
    },
    {
      "commit": "d8be13b8d964b7edb02cb2ad64dee86ff247c911",
      "tree": "a0fd518a691d4baebbfc69c783109cca28529e46",
      "parents": [
        "bae511e3b982355fbc75ae2ba13bb88feab9fe8c",
        "caf17e316c7b7c22e877397f6bb3f882e4f68279"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Dec 20 00:38:23 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Dec 20 00:38:23 2014 +0000"
      },
      "message": "am caf17e31: am 0a0662ea: Merge \"audio policy: improve accessibility routing\" into lmp-mr1-dev\n\n* commit \u0027caf17e316c7b7c22e877397f6bb3f882e4f68279\u0027:\n  audio policy: improve accessibility routing\n"
    },
    {
      "commit": "a34c9ce292ea984e92d8f70d2c056e5372c4f452",
      "tree": "cea445f4cdb835a54814ea93da1d2452869800fd",
      "parents": [
        "2cbe89a82d4167c5d5bcf3024edc22ab6874143a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 19 11:16:32 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 19 12:01:31 2014 -0800"
      },
      "message": "audio policy: fix isSourceActive() for hotword\n\nOnly condider AUDIO_SOURCE_HOTWORD equivalent to\nAUDIO_SOURCE_VOICE_RECOGNITION if the active capture\nwas triggered by a hardware hotword recognition.\n\nAlso fix activeInputsCount().\n\nBug: 18802896.\nChange-Id: I471aafcae29a76e9c323c6c0c314ef083991476b\n"
    },
    {
      "commit": "2cbe89a82d4167c5d5bcf3024edc22ab6874143a",
      "tree": "a11134b8f4bda628079a21ed2d0e31923950cecb",
      "parents": [
        "d4b056da7cbf1adb2a5f668e4425def3754a9c09"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 19 11:49:08 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 19 12:01:31 2014 -0800"
      },
      "message": "audio policy: improve accessibility routing\n\nForce re-evaluating accessibility use case routing\nwhen a condition affecting it (ringtone, alarm, call state)\nis changing.\n\nBug: 18761698.\nChange-Id: I42ac3a9fdc80bce11cf0a7fc76f680af4271abc9\n"
    },
    {
      "commit": "23c8dc13787186dc98731055858b2fba3aedc105",
      "tree": "08ed5ebd4244095641a3d7494e9dab6b6d471eb5",
      "parents": [
        "c30943f7485fa84a32e7d070234b3def692d9d16",
        "85aca658ac7d20584b0647427256df50a5f243ef"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 17 18:08:04 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 18:08:04 2014 +0000"
      },
      "message": "am 85aca658: am d33712d7: am 145cf5d8: Merge \"audioflinger: implement pause/resume for direct outputs\" into lmp-mr1-dev\n\n* commit \u002785aca658ac7d20584b0647427256df50a5f243ef\u0027:\n  audioflinger: implement pause/resume for direct outputs\n"
    },
    {
      "commit": "85aca658ac7d20584b0647427256df50a5f243ef",
      "tree": "0a368cd14a99953de3943fa6f43334a8aea9f19f",
      "parents": [
        "22dfb93254de370d401706728aba1f032ef1b172",
        "d33712d7ec5dcf427cc0be9b7d2ca1c99823c8e6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 17 18:04:15 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 18:04:15 2014 +0000"
      },
      "message": "am d33712d7: am 145cf5d8: Merge \"audioflinger: implement pause/resume for direct outputs\" into lmp-mr1-dev\n\n* commit \u0027d33712d7ec5dcf427cc0be9b7d2ca1c99823c8e6\u0027:\n  audioflinger: implement pause/resume for direct outputs\n"
    },
    {
      "commit": "145cf5d885c238b690ab8240137934327b85c427",
      "tree": "f9e3e2f23e92f7ba7c98f0f09a9a4cfb6b40cd47",
      "parents": [
        "71b52b5bb3be81bffa320241ca486fbf964d743e",
        "d1f69b0b17acbd96987ecb2f3378abd394d05903"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 17 17:55:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 17 17:55:26 2014 +0000"
      },
      "message": "Merge \"audioflinger: implement pause/resume for direct outputs\" into lmp-mr1-dev"
    },
    {
      "commit": "c30943f7485fa84a32e7d070234b3def692d9d16",
      "tree": "70e24cb3ff9062c85115867510029c08fe672d42",
      "parents": [
        "a268a817fb9df2a266f06b58680fa4168517c8cd",
        "22dfb93254de370d401706728aba1f032ef1b172"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 17 17:49:58 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 17:49:58 2014 +0000"
      },
      "message": "am 22dfb932: am 8aadc515: am 71b52b5b: Merge \"Fix routing not happening after change in output device list\" into lmp-mr1-dev\n\n* commit \u002722dfb93254de370d401706728aba1f032ef1b172\u0027:\n  Fix routing not happening after change in output device list\n"
    },
    {
      "commit": "a268a817fb9df2a266f06b58680fa4168517c8cd",
      "tree": "0a2d597a6d69559f7e81fcb3838d94b9a44238a2",
      "parents": [
        "a73d8dba2785771302dde66c369dc6cbae3b170b",
        "93118cd96233b682be95a3eb114d88d69c8cc416"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 17 17:49:57 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 17:49:57 2014 +0000"
      },
      "message": "am 93118cd9: am 99429b40: am 277c7b8c: Merge \"Fix permission check for audio recording\" into lmp-mr1-dev\n\n* commit \u002793118cd96233b682be95a3eb114d88d69c8cc416\u0027:\n  Fix permission check for audio recording\n"
    },
    {
      "commit": "22dfb93254de370d401706728aba1f032ef1b172",
      "tree": "7adc8458ed0b666dd0e9e623067583ccb3b677a1",
      "parents": [
        "93118cd96233b682be95a3eb114d88d69c8cc416",
        "8aadc515b57c78cbb07ae7d0cb2553148ef05947"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 17 17:43:22 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 17:43:22 2014 +0000"
      },
      "message": "am 8aadc515: am 71b52b5b: Merge \"Fix routing not happening after change in output device list\" into lmp-mr1-dev\n\n* commit \u00278aadc515b57c78cbb07ae7d0cb2553148ef05947\u0027:\n  Fix routing not happening after change in output device list\n"
    },
    {
      "commit": "93118cd96233b682be95a3eb114d88d69c8cc416",
      "tree": "64f81b51b6071954122e612e860d2ed106e48a93",
      "parents": [
        "3af7b7291bcd9b1b30dd11a8bedbdc63cc74b5a9",
        "99429b40411790b85e19c57392bbd292a237c470"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 17 17:43:21 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 17:43:21 2014 +0000"
      },
      "message": "am 99429b40: am 277c7b8c: Merge \"Fix permission check for audio recording\" into lmp-mr1-dev\n\n* commit \u002799429b40411790b85e19c57392bbd292a237c470\u0027:\n  Fix permission check for audio recording\n"
    },
    {
      "commit": "71b52b5bb3be81bffa320241ca486fbf964d743e",
      "tree": "39c9146e8b3a4721bcafbc4b2f19158176ff00cc",
      "parents": [
        "277c7b8c41436125742339d8c80bccf0f2b086d9",
        "fe472e292ab50c121ff93dffa3b54c96feedcfef"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 17 17:31:33 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 17 17:31:33 2014 +0000"
      },
      "message": "Merge \"Fix routing not happening after change in output device list\" into lmp-mr1-dev"
    },
    {
      "commit": "277c7b8c41436125742339d8c80bccf0f2b086d9",
      "tree": "bbb776ccbbd2e1ea760e1bbd95c5c96f4adbcfe6",
      "parents": [
        "045e710f8ce7ce1679b9b5f0adbd3290c4cc6f54",
        "97bb33f58d742539f3382583d7978fca71ffa2d5"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 17 17:30:49 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 17 17:30:50 2014 +0000"
      },
      "message": "Merge \"Fix permission check for audio recording\" into lmp-mr1-dev"
    },
    {
      "commit": "a73d8dba2785771302dde66c369dc6cbae3b170b",
      "tree": "12bf1207cfb4161a3458f813fdfc97a61d28f972",
      "parents": [
        "64c1c172cffeed79150b63469b06b253cace3c0f",
        "3af7b7291bcd9b1b30dd11a8bedbdc63cc74b5a9"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Wed Dec 17 06:27:54 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 06:27:54 2014 +0000"
      },
      "message": "am 3af7b729: am 7ca332ab: am 045e710f: [FM] Fix notification routing when FM enable\n\n* commit \u00273af7b7291bcd9b1b30dd11a8bedbdc63cc74b5a9\u0027:\n  [FM] Fix notification routing when FM enable\n"
    },
    {
      "commit": "3af7b7291bcd9b1b30dd11a8bedbdc63cc74b5a9",
      "tree": "a022ec495575b9324f613f580ba7374e490bb2c7",
      "parents": [
        "3feb7bd0670b6e85d6eec25309d8606a99f1af31",
        "7ca332ab8d7329598386acc1f50c43fc59952210"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Wed Dec 17 06:23:31 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 06:23:31 2014 +0000"
      },
      "message": "am 7ca332ab: am 045e710f: [FM] Fix notification routing when FM enable\n\n* commit \u00277ca332ab8d7329598386acc1f50c43fc59952210\u0027:\n  [FM] Fix notification routing when FM enable\n"
    },
    {
      "commit": "045e710f8ce7ce1679b9b5f0adbd3290c4cc6f54",
      "tree": "200ec96de2053f8733f4ba26639b3457df444a70",
      "parents": [
        "184e63ffcdd5654eb8e132346d2736dc9a9c7b01"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Wed Dec 10 22:03:37 2014 +0800"
      },
      "committer": {
        "name": "Leo Wang",
        "email": "leozwang@google.com",
        "time": "Wed Dec 17 05:10:37 2014 +0000"
      },
      "message": "[FM] Fix notification routing when FM enable\n\nhttps://partner-android-review.git.corp.google.com/#/c/188454/\n\nBug: 18727227\n\nChange-Id: I74856ede5999cfc8a6932a99855d468cccd6f51c\nSigned-off-by: Hochi Huang \u003chochi.huang@mediatek.com\u003e\n"
    },
    {
      "commit": "fe472e292ab50c121ff93dffa3b54c96feedcfef",
      "tree": "010d112dc7177e68d475686476e4f92c8e8f95a8",
      "parents": [
        "97bb33f58d742539f3382583d7978fca71ffa2d5"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Dec 16 14:23:13 2014 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Dec 16 14:23:13 2014 -0800"
      },
      "message": "Fix routing not happening after change in output device list\n\nIf an output stream is active while rerouting rules are installed\n  and recording starts, the list of outputs is not updated and\n  therefore the stream is not rerouted to the new virtual device.\nThe fix consists in also taking into account all the policy-related\n  outputs when evaluating the before and after list of outputs\n  following a connection state event.\n\nBug 18736417\n\nChange-Id: I6697976b3f89e2c0995e888e9046a2273361bb97\n"
    },
    {
      "commit": "30e0fa0334bdf5b4a87aabc643a03ad2c6814942",
      "tree": "8224be29c80f05c120c90d2afbf2ec3745de7134",
      "parents": [
        "9b95da41f87e7308ef1e09fbd2bb919843b02be3",
        "70043ec5e8c79803972686577a9d36431019c15f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 21:50:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 16 21:50:30 2014 +0000"
      },
      "message": "am 70043ec5: am 679a1439: am be845fce: Merge \"audiopolicy : Fix for incorrect input device selection\" into lmp-mr1-dev\n\n* commit \u002770043ec5e8c79803972686577a9d36431019c15f\u0027:\n  audiopolicy : Fix for incorrect input device selection\n"
    },
    {
      "commit": "9b95da41f87e7308ef1e09fbd2bb919843b02be3",
      "tree": "200567f20c97d12e07c1a1bb12f20fcc21408bc5",
      "parents": [
        "1cde1b8badea3a3b5044cab56931dbe4da446396",
        "7f1295f5cf27127601ea15c31b6c144ff28d2a8b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 21:50:29 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 16 21:50:29 2014 +0000"
      },
      "message": "am 7f1295f5: am 9632d33e: am cd71a69d: audio: Force audio to Speaker if requested during VOIP call\n\n* commit \u00277f1295f5cf27127601ea15c31b6c144ff28d2a8b\u0027:\n  audio: Force audio to Speaker if requested during VOIP call\n"
    },
    {
      "commit": "70043ec5e8c79803972686577a9d36431019c15f",
      "tree": "c1b01b3ee1c652704f659ff6c0825d400a778346",
      "parents": [
        "7f1295f5cf27127601ea15c31b6c144ff28d2a8b",
        "679a14393639c70a653fe2a07f8de582d3a5de14"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 21:42:13 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 16 21:42:13 2014 +0000"
      },
      "message": "am 679a1439: am be845fce: Merge \"audiopolicy : Fix for incorrect input device selection\" into lmp-mr1-dev\n\n* commit \u0027679a14393639c70a653fe2a07f8de582d3a5de14\u0027:\n  audiopolicy : Fix for incorrect input device selection\n"
    },
    {
      "commit": "7f1295f5cf27127601ea15c31b6c144ff28d2a8b",
      "tree": "f8475fab450baae7d57a72e67a5fafa915d61a0b",
      "parents": [
        "7dc7aae103c272e04a891f85235ebed60cbf2a33",
        "9632d33e21ec2631c75cc949e0c92c351fd6a447"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 21:42:12 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 16 21:42:12 2014 +0000"
      },
      "message": "am 9632d33e: am cd71a69d: audio: Force audio to Speaker if requested during VOIP call\n\n* commit \u00279632d33e21ec2631c75cc949e0c92c351fd6a447\u0027:\n  audio: Force audio to Speaker if requested during VOIP call\n"
    },
    {
      "commit": "be845fce36a65139eb353ba7442eba951b1ebee3",
      "tree": "50416eb5c99ea123f82235f443d57464356e41ba",
      "parents": [
        "cd71a69d922eab2929faf8f5652fcd1b9a29cbe8",
        "dc136ffee31f21da3b31240f8a22d4d08a658d0d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 21:32:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 16 21:32:55 2014 +0000"
      },
      "message": "Merge \"audiopolicy : Fix for incorrect input device selection\" into lmp-mr1-dev"
    },
    {
      "commit": "dc136ffee31f21da3b31240f8a22d4d08a658d0d",
      "tree": "6e93a02e8ad6db27672a8cc3d4c9e4bd75179a61",
      "parents": [
        "8975220e28f632c5db4d89c798384d7635228bbc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 12:24:18 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 12:24:18 2014 -0800"
      },
      "message": "audiopolicy : Fix for incorrect input device selection\n\nSome VoIP applications do not use source as VOICE_COMM\nbut MIC and policy manager ignores the force usage in that\ncase and selects handset-mic as input device even when\nBT-SCO headset is connected.\nCheck the force usage for the AUDIO_SOURCE_MIC as well.\n\nBug: 18606571\n\nChange-Id: I5d5010ab396f85bf58573943c91fd815f39f57c1\n"
    },
    {
      "commit": "cd71a69d922eab2929faf8f5652fcd1b9a29cbe8",
      "tree": "bbfebd1725b93f6dfe90bf23b64ae17be6f0776f",
      "parents": [
        "8975220e28f632c5db4d89c798384d7635228bbc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 12:01:12 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 12:01:48 2014 -0800"
      },
      "message": "audio: Force audio to Speaker if requested during VOIP call\n\ngetDeviceForStrategy is returning AUDIO_DEVICE_OUT_USB even\nwhen setForceUse is called with Speaker during VOIP call.\nActual Intention is to route audio for phone strategy to USB\ndevice even after setForceUse is called with Speaker when not\nin voice call. It is supposed to exclude VOIP call too\n\nAdded additional check for MODE_IN_COMMUNICATION so that\nit returns SPEAKER when setForceUse is called with speaker\n\nBug: 18758599\n\nChange-Id: I1c51128cc1c7bfce1cf6f1fde60b428d3a9379fc\n"
    },
    {
      "commit": "8faa3262f367f8f10ff310ac3c097b860ba9cc3e",
      "tree": "64844831c1ca63bf67b8732e575a8250cff3441e",
      "parents": [
        "ac90a24da56ff575220aefd3f3be1fbe2f9111ba"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 04 18:58:14 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 16 10:57:50 2014 -0800"
      },
      "message": "DO NOT MERGE - audio policy: fix inifinite loop in clearAudioPatches()\n\nreleaseAudioPatch() does not necessarily remove the audio patch\nfrom the list.\nScan the list from the top down to avoid adjusting the index.\n\nBug: 18621514.\nChange-Id: I58787154680f7cb1818509017835b1693d62190f\n"
    },
    {
      "commit": "97bb33f58d742539f3382583d7978fca71ffa2d5",
      "tree": "be3e26027b66bfc605a45af032fb91de1bdb7c7a",
      "parents": [
        "6e430fbd927b9cc043639eb728ddc921392a60e8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Dec 12 16:23:43 2014 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Dec 15 18:13:39 2014 -0800"
      },
      "message": "Fix permission check for audio recording\n\nDefine input types covering the different usecases for audio\n  recording, and check the corresponding permissions when\n  starting to record.\nMove the permission check from audio flinger to audio policy,\n  as only the policy has the information to determine which\n  permission to enforce.\nFix missing permission when an application records audio\n  and the audio is injected by an external policy.\n\nBug 18736417\n\nChange-Id: If7ec040502242c990ac8ea464db484339bdce573\n"
    },
    {
      "commit": "667d3ea42b3557f90d7d2a7638d2575db0b13470",
      "tree": "1af067c29945d6b1e0f492c55f924bf989757137",
      "parents": [
        "abb627e4e971e134e1618d9fb602f23696717c6a",
        "045513fc55cd500225071c11b06e1f4bb133681f"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Dec 16 02:02:33 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 16 02:02:33 2014 +0000"
      },
      "message": "am 045513fc: am 0fd52ac2: am 6eac9e2f: Merge \"Camera2Client: flush requests in stopPreviewL\" into lmp-mr1-dev\n\n* commit \u0027045513fc55cd500225071c11b06e1f4bb133681f\u0027:\n  Camera2Client: flush requests in stopPreviewL\n"
    },
    {
      "commit": "045513fc55cd500225071c11b06e1f4bb133681f",
      "tree": "9f335db2eec74d16d2eeabfc7af4425f6a4939f3",
      "parents": [
        "d1f0f143fecd65c0987691fd33ee3975708479ec",
        "0fd52ac2929f6ded984cc3a063645d65b5e2006f"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Dec 16 01:53:39 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 16 01:53:39 2014 +0000"
      },
      "message": "am 0fd52ac2: am 6eac9e2f: Merge \"Camera2Client: flush requests in stopPreviewL\" into lmp-mr1-dev\n\n* commit \u00270fd52ac2929f6ded984cc3a063645d65b5e2006f\u0027:\n  Camera2Client: flush requests in stopPreviewL\n"
    },
    {
      "commit": "d1f69b0b17acbd96987ecb2f3378abd394d05903",
      "tree": "e3061c609dfaa2c217bb79a8d85e4571e8bd0d3d",
      "parents": [
        "8ddb02230d02968d471aa41b22433957c38827c0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 15 14:33:13 2014 -0800"
      },
      "committer": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Tue Dec 16 01:38:34 2014 +0000"
      },
      "message": "audioflinger: implement pause/resume for direct outputs\n\nExtend pause/resume support to direct output threads\n(was only for offload threads).\n\nIf the HAL implements pause/resume, track pause/resume is forwarded to\nthe HAL.\n\nPause, flush, resume sequence is respected by executing the HAL\ncalls in the playback thread (same as offload).\n\nMake sure the track flags on client side are consistent with the\nflags on server side.\n\nBug: 17883772.\nChange-Id: I89b360d69818f7a9204bd36e3ec63a79e106ecf1\n"
    },
    {
      "commit": "2cec0dfa9f97b87733b8b250b49729fc6bb3a60a",
      "tree": "32dc6deae539198198775b871dec33a5b7d65902",
      "parents": [
        "8ddb02230d02968d471aa41b22433957c38827c0"
      ],
      "author": {
        "name": "Ruchit Sharma",
        "email": "ruchits@nvidia.com",
        "time": "Wed Aug 20 16:02:08 2014 -0400"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Dec 15 11:54:41 2014 -0800"
      },
      "message": "Camera2Client: flush requests in stopPreviewL\n\nRequests queued in the pipeline have little meaning after the app\ncalls stopPreview(). Flushing will help improve the switch KPI.\n\nbug 17340914\n\nChange-Id: I899d69aa3b0fd41f028760290a81013297712fed\n"
    },
    {
      "commit": "b9e51a88fa1dd3eb14d428ac02a9910ec1589367",
      "tree": "1f6767b8d2b02140c119a0c8e0545b87ef554c6a",
      "parents": [
        "d3671c844e2592ce3a29d6d3c4fc344343783f46",
        "f750da42246d064c838904869d2d6ff9332c6158"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 15 18:46:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 15 18:46:32 2014 +0000"
      },
      "message": "am f750da42: am 23085662: am c73ca6ef: audio policy: fix remote mic capture\n\n* commit \u0027f750da42246d064c838904869d2d6ff9332c6158\u0027:\n  audio policy: fix remote mic capture\n"
    },
    {
      "commit": "f750da42246d064c838904869d2d6ff9332c6158",
      "tree": "7ccfe5a1299c3453b15d8a71f2a3b53d56729aff",
      "parents": [
        "e10615e7f8749de887c8d25579398ad9e4094077",
        "2308566236a3ff16197419ec226f956a295fe81a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Dec 13 00:41:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Dec 13 00:41:02 2014 +0000"
      },
      "message": "am 23085662: am c73ca6ef: audio policy: fix remote mic capture\n\n* commit \u00272308566236a3ff16197419ec226f956a295fe81a\u0027:\n  audio policy: fix remote mic capture\n"
    },
    {
      "commit": "c73ca6ef04136f28306784ad35f444538f081957",
      "tree": "ff92912a23c52d8b32186b6404af0b8342005699",
      "parents": [
        "8cffa91a76d3fa4c96268fc40fc8722a0d33dc8d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 12 14:34:22 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 12 14:54:57 2014 -0800"
      },
      "message": "audio policy: fix remote mic capture\n\ncommit 275e8e9de introduced a regression for platforms\noverriding AudioPolicyManager::getDeviceForInputSource() method.\n\nFixed by defining specific non virtual methods when overiding would\nbreak remote submix implementation.\n\nBug: 18736417.\n\nChange-Id: Id4d0a6c48da987e6fb24422f2d61c7ab0fbfc921\n"
    },
    {
      "commit": "5d61cc77c592d1cf56a71ac9891b210c860b2bae",
      "tree": "0b682ed612b9914c6d1909dd133a68ace007ef0e",
      "parents": [
        "105e6e0c38947e97f9e199d9f07f9be64ae3cfe1",
        "d7986933bcf0b327bc260312b0ff0f83431a158b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 12 13:40:23 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 12 13:40:23 2014 +0000"
      },
      "message": "am d7986933: am 0cbeaf83: am 8cffa91a: Merge \"audio policy: suppport for dynamic source\" into lmp-mr1-dev\n\n* commit \u0027d7986933bcf0b327bc260312b0ff0f83431a158b\u0027:\n  audio policy: suppport for dynamic source\n"
    },
    {
      "commit": "d7986933bcf0b327bc260312b0ff0f83431a158b",
      "tree": "4583b4274f0ca220182211b68bad86b9dfce402e",
      "parents": [
        "7b2b26750fb0a567f2d1b7a3547ae877d336e405",
        "0cbeaf83f7f50b5bc25a8dd7a08ea4e7c364c815"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 12 13:31:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 12 13:31:42 2014 +0000"
      },
      "message": "am 0cbeaf83: am 8cffa91a: Merge \"audio policy: suppport for dynamic source\" into lmp-mr1-dev\n\n* commit \u00270cbeaf83f7f50b5bc25a8dd7a08ea4e7c364c815\u0027:\n  audio policy: suppport for dynamic source\n"
    },
    {
      "commit": "105e6e0c38947e97f9e199d9f07f9be64ae3cfe1",
      "tree": "09df304495199fc253b97d1db9ba5acc809e4fb1",
      "parents": [
        "2590fc421ccf5e8199d511ff3022b428ee9122e9",
        "7b2b26750fb0a567f2d1b7a3547ae877d336e405"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Dec 12 01:08:20 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 12 01:08:20 2014 +0000"
      },
      "message": "am 7b2b2675: am 67c93ad7: am f1b12df3: Merge \"Trigger error only when a template is instantiated.\"\n\n* commit \u00277b2b26750fb0a567f2d1b7a3547ae877d336e405\u0027:\n  Trigger error only when a template is instantiated.\n"
    },
    {
      "commit": "7b2b26750fb0a567f2d1b7a3547ae877d336e405",
      "tree": "3a17783e9f464311eb3167cd33e62666ab9d4963",
      "parents": [
        "3e08ca6709b5a75dc3b779cf3eba8196b08a0245",
        "67c93ad704d4418445c6d9693420f1cbaad98b0a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Dec 12 01:01:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 12 01:01:25 2014 +0000"
      },
      "message": "am 67c93ad7: am f1b12df3: Merge \"Trigger error only when a template is instantiated.\"\n\n* commit \u002767c93ad704d4418445c6d9693420f1cbaad98b0a\u0027:\n  Trigger error only when a template is instantiated.\n"
    },
    {
      "commit": "650254065e7c6b5abab5e3d154f720753fe1e1cf",
      "tree": "0fe73082f6e245eed99adffa2ba03e160f901675",
      "parents": [
        "a04c05ab9c0cdca30952a687f9f5bd909c28b86a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 11 13:06:46 2014 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 11 15:43:04 2014 -0800"
      },
      "message": "Trigger error only when a template is instantiated.\n\nClang compiler will check defintions and trigger undefined template\nerror of \u0027android::CompileTimeAssert\u003cfalse\u003e\u0027 even when MixMul is not\ninstantiated. Avoid such parse time error but trigger link error when the\ngeneric MixMul template is used.\n\nChange-Id: I84ef60a69fbfbeefc93b5654e4bdd54f9d530867\n"
    }
  ],
  "next": "8cffa91a76d3fa4c96268fc40fc8722a0d33dc8d"
}
