)]}'
{
  "log": [
    {
      "commit": "093f0b7ab981049e7a6e6bbcf1e0712e1995ba68",
      "tree": "de2aca34ac8b08e1c70c1eaba592a56c2f1b3f65",
      "parents": [
        "4c2dd1c211b3671114aad0478fc6c6f7a8f7ee9f"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Apr 27 17:32:00 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed May 24 14:50:40 2017 +0900"
      },
      "message": "provide libstagefright_foundation_vendor to vendors\n\nlibstagefright_foundation_vendor is a vendor-only variant of the\nlibstagefright_foundation. Vendor libs and other VNDK libs should link\nagainst this _vendor.so library. This vendor-only variant does not have\ndependency to libpowermanager which is not available to vendors.\n\nHeaders are moved from the global include dir to module-local include\ndir. This is because global include dir (e.g. frameworks/av/include) is\nnot provided when building with BOARD_VNDK_VERSION\u003dcurrent. Instead the\nheaders are exported via the module\u0027s export_include_dirs directive.\n\nShort summary on the directory movement:\n\n\"some\" libstagefright headers are moved from libstagefright/include to\nlibstagefright/include/media/stagefright. This is because the headers\nare included as \u003cmedia/stagefright/HEADER_NAME,h\u003e.\n\nlibstagefrigut_foundation headers are moved from\nlibstagefright/include/foundation to\nlibstagefright/foundation/include/media/stagefright/foundation. Again\nthis is because the headers are included as\n\u003cmedia/stagefright/foundation/HEADER_NAME.h\u003e.\n\nFurthermore, in order to prevent sudden breakage, symlinks to the\nmodule-local header directories are added to the global include\ndirectory.\n\nframeworks/av/include/media/stagefright -\u003e\n\u003clibstagefright\u003e/include/media/stagefright\n\nframeworks/av/include/media/stagefright/foundation -\u003e\n\u003clibstagefright_foundation\u003e/include/media/stagefright/foundation\n\nBug: 37462569\nTest: sailfish builds and boots\nTest: BOARD_VNDK_VERSION\u003dcurrent m libstagefright_foundation_vendor is\nsuccessful\n\nChange-Id: Iadfa594e885e0bd39837ccb282993d3ba5b62852\n"
    },
    {
      "commit": "2f35206b77dd7d8a8c761e0a81ea327c10787036",
      "tree": "314fad5639b5c762be3ec16f1b685056678edf44",
      "parents": [
        "dc4272365d1c875471097db907f659731c36b53c",
        "d906ad023d3608925c4afda5c3b70a24667db758"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 11 05:54:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 05:54:44 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Fixes for updated Cts test\" into oc-dev am: 2d12b8e367\nam: d906ad023d\n\nChange-Id: I27856718a4914e396a7c387da7b4f4e4b7c245e6\n"
    },
    {
      "commit": "d906ad023d3608925c4afda5c3b70a24667db758",
      "tree": "4fceb037dc74eb16098d5229944ed941253a0fa1",
      "parents": [
        "03e1f70c17238799081a9021589adf57c0f04713",
        "2d12b8e3677c2c6b620358fa7e4699dda8c0f0bc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 11 05:33:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 05:33:51 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Fixes for updated Cts test\" into oc-dev\nam: 2d12b8e367\n\nChange-Id: Ic4e567226fa649c425199e9068a3dac29809c980\n"
    },
    {
      "commit": "f370264dfa5237524a3535f5242a0c68cbbb13eb",
      "tree": "b0cab4fa2ae4243ce2a870c3d91e8124dc2d3510",
      "parents": [
        "549bd02a8421b0b53a1b5e8961a41cf551fce72d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 05 17:33:32 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 10 14:17:40 2017 -0700"
      },
      "message": "VolumeShaper: Fixes for updated Cts test\n\n1) Limit number of VolumeShapers that can be created.\n   a) 16 system VolumeShapers\n   b) 16 application/client VolumeShapers\n2) Return proper volume before VolumeShaper is started.\n3) Consistent xOffset definition used internally:\n   a) this is now always the position on the volumeshaper curve\n      which can go backwards if in REVERSE.\n   b) normalized time is always forward going and is scaled\n      to 0.f and 1.f depending on progress relative to\n      the curve\u0027s duration.\n4) Fix replace method.\n5) Add comments.\n\nTest: Use updated CTS VolumeShaperTest\nBug: 37536598\nChange-Id: I837ab2a481adc0abbd3f1338bfe2cb79831b11fa\n"
    },
    {
      "commit": "549bd02a8421b0b53a1b5e8961a41cf551fce72d",
      "tree": "2808091525a4d6ea242fe5dd38f48d3d5f733de8",
      "parents": [
        "abbb67724e5600c17450ed148fb2c214c5aac9ee"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 10:32:56 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 08 12:49:12 2017 -0700"
      },
      "message": "Fix -Wextra warnings in frameworks/av/include\n\nhardware/qcom/display includes frameworks/av/include headers\nwhile compiling with -Wextra.  Fix warnings that were hidden\nby -isystem.\n\nBug: 31751828\nTest: lunch bullhead-userdebug \u0026\u0026 m -j checkbuild\nChange-Id: Ib1ee7165882ff3cc1d85c123815604079483f725\n"
    },
    {
      "commit": "11280a15cb66d03f5ce020036e17d2defee311e2",
      "tree": "54fa53d9b8c8764e5520ee8c9066422ceddfecf6",
      "parents": [
        "13e4027421830f9f40ae2994480efa862b6940e8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 10:32:56 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 01:09:41 2017 +0000"
      },
      "message": "Fix -Wextra warnings in frameworks/av/include\n\nhardware/qcom/display includes frameworks/av/include headers\nwhile compiling with -Wextra.  Fix warnings that were hidden\nby -isystem.\n\nBug: 31751828\nTest: lunch bullhead-userdebug \u0026\u0026 m -j checkbuild\nChange-Id: Ib1ee7165882ff3cc1d85c123815604079483f725\n(cherry picked from commit 27d3c6a32919b5773c0cb8eed6ebe8563954aeff)\n"
    },
    {
      "commit": "4e399991097e4d7180ab1e276e15f546705aa6f3",
      "tree": "a0adfa530b793dce1d8f80f154f2243c7c4caac1",
      "parents": [
        "1759bb5511fe1b6648e3da1b1e7ee98ca7aa2b1b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 16:15:51 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 14:51:13 2017 -0700"
      },
      "message": "Fix trivial warnings hidden by -isystem\n\nFix the trivial warnings that are hidden by the use of -isystem to\ninclude frameworks/av and caught by -Werror.\n\nTest: m -j checkbuild\nBug: 31751828\nChange-Id: I155f9f772ce0a84b364313814cb7cf528b9de4eb\nMerged-In: I155f9f772ce0a84b364313814cb7cf528b9de4eb\n(cherry picked from commit b8c35f94470d1518e2def0582aaec4e038c92af0)\n"
    },
    {
      "commit": "1759bb5511fe1b6648e3da1b1e7ee98ca7aa2b1b",
      "tree": "e77a76120041ad62d86b6ad5e96070123d1278d1",
      "parents": [
        "5d4a63d87137d9cbf532d4756283703ed95707c9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 12:46:17 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 14:49:53 2017 -0700"
      },
      "message": "Fix non-trivial warnings hidden by -isystem\n\nThese warnings were hidden by -isystem.\n\nBug: 31751828\nTest: m -j checkbuild\nChange-Id: Ibb1aa07a6827fcbd29fc15291fcd90280c0f608d\nMerged-In: Ibb1aa07a6827fcbd29fc15291fcd90280c0f608d\n(cherry picked from commit 6f51c153ea5e4187a313e47ac8bad9a1a999d4e1)\n"
    },
    {
      "commit": "27d3c6a32919b5773c0cb8eed6ebe8563954aeff",
      "tree": "ab29dae2086dd351b720b89f1da153d6ad799d7a",
      "parents": [
        "4577c2b3f0e06a6b9a11ff7eceecb4760b37dae7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 10:32:56 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 12:32:34 2017 -0700"
      },
      "message": "Fix -Wextra warnings in frameworks/av/include\n\nhardware/qcom/display includes frameworks/av/include headers\nwhile compiling with -Wextra.  Fix warnings that were hidden\nby -isystem.\n\nBug: 31751828\nTest: lunch bullhead-userdebug \u0026\u0026 m -j checkbuild\nChange-Id: Ib1ee7165882ff3cc1d85c123815604079483f725\n"
    },
    {
      "commit": "b8c35f94470d1518e2def0582aaec4e038c92af0",
      "tree": "0ef68bf31016198ef4a9f26d33025fa332c2abd4",
      "parents": [
        "6f51c153ea5e4187a313e47ac8bad9a1a999d4e1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 16:15:51 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 16:41:36 2017 -0700"
      },
      "message": "Fix trivial warnings hidden by -isystem\n\nFix the trivial warnings that are hidden by the use of -isystem to\ninclude frameworks/av and caught by -Werror.\n\nTest: m -j checkbuild\nBug: 31751828\nChange-Id: I155f9f772ce0a84b364313814cb7cf528b9de4eb\n"
    },
    {
      "commit": "6f51c153ea5e4187a313e47ac8bad9a1a999d4e1",
      "tree": "ca8da064baf8dd1602966a377d6c5ae804e663db",
      "parents": [
        "f461f38e08ca8afb89e1dc33beae43905f47f9f8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 12:46:17 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 16:41:36 2017 -0700"
      },
      "message": "Fix non-trivial warnings hidden by -isystem\n\nThese warnings were hidden by -isystem.\n\nBug: 31751828\nTest: m -j checkbuild\nChange-Id: Ibb1aa07a6827fcbd29fc15291fcd90280c0f608d\n"
    },
    {
      "commit": "01e0ee177ff9f9e66b606c440fffeeb1509634d9",
      "tree": "5308e363f659cdd783ffb85533389b69bf59f6c4",
      "parents": [
        "c856d7294dfbedb4ec22e4e1f69663bb69aa442a",
        "7dc9e283f1db2353bdbf1df84546f88a6bce08a9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 27 16:30:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 27 16:30:38 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Improve restore\" into oc-dev am: abbb67724e\nam: 7dc9e283f1\n\nChange-Id: If6df971ee7b860544e56ea90445fdfe650856b2f\n"
    },
    {
      "commit": "39399b6b08b4e9fd7eae50e58e93b07216ad697f",
      "tree": "04c78ddb6186a54c9e0118a0b8f5270cdfc9d720",
      "parents": [
        "94cfe137a105ec7db047e963e18483425e0d2272"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 21 15:07:45 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 26 10:45:25 2017 -0700"
      },
      "message": "VolumeShaper: Improve restore\n\nConsider whether VolumeShaper has been started or not when\nrestoring (position). If the VolumeShaper hasn\u0027t been started\nwe restore in that state.  If it has been started already,\nwe advance to the end assuming the duration has been played out.\n\nTest: CTS and headset / kill audioserver\nBug: 37536598\nChange-Id: I4b55dca6f6a859563fd20bad4c8f67d2c92321c0\n"
    },
    {
      "commit": "8be3dcd82c23e519667cd6b362d4864a1c44cb8e",
      "tree": "fbb25be8e442e3e35c4dae8e4e5f0968ae8f419d",
      "parents": [
        "93d7b51f52a9a5b44d4873f69feefc1709d872c8",
        "cc37107c575f86d8f03f4bac9115ea6b0b6ff80b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 25 17:13:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 25 17:13:00 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Clean up constructors\" into oc-dev am: 94cfe137a1\nam: cc37107c57\n\nChange-Id: If1bef0500c65aeea71433c46a15404e616685f70\n"
    },
    {
      "commit": "94cfe137a105ec7db047e963e18483425e0d2272",
      "tree": "cea5d65195c3b408943149c5a593d97a691cff08",
      "parents": [
        "9706527f86fc9895ffd0bf288bab6a2b5749a822",
        "7d712bb0916182cb73f05ec9144b39314ddd5eab"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 25 17:03:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 25 17:03:15 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Clean up constructors\" into oc-dev"
    },
    {
      "commit": "93d7b51f52a9a5b44d4873f69feefc1709d872c8",
      "tree": "ea87e65e62200823b44853f6b63174e00a6fe9b8",
      "parents": [
        "7b4f926ce4b0b298b5157186347a90dcbc543a70",
        "db59802a59365408b19d95375b8b39fd0a05e002"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 25 16:30:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 25 16:30:51 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: improve logging and dumpsys\" into oc-dev am: 9706527f86\nam: db59802a59\n\nChange-Id: I119a0c5cf44a9efaa0190c33a302730a4c756970\n"
    },
    {
      "commit": "9706527f86fc9895ffd0bf288bab6a2b5749a822",
      "tree": "62bb529f4105eac6055ded032b44a90f355eebb3",
      "parents": [
        "79a89ef4eb06a2d29fc3d083112de398111a9ddb",
        "da540db0fc21bc9319d9602aefe1a109d00a7e6c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 25 16:23:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 25 16:23:16 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: improve logging and dumpsys\" into oc-dev"
    },
    {
      "commit": "7d712bb0916182cb73f05ec9144b39314ddd5eab",
      "tree": "44476f17a84bfc14124163cc0311c5f761113c7e",
      "parents": [
        "da540db0fc21bc9319d9602aefe1a109d00a7e6c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 20 14:23:41 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 24 15:23:03 2017 -0700"
      },
      "message": "VolumeShaper: Clean up constructors\n\nExplicit only for single argument constructors\n\nTest: instrumented ducking, CTS\nBug: 37536598\nChange-Id: I78776f500513a40c8daf7af78cbaec4b153e9ea2\n"
    },
    {
      "commit": "da540db0fc21bc9319d9602aefe1a109d00a7e6c",
      "tree": "4d2bf652c1c8e523ae1bf28bf5e67e20289be6c8",
      "parents": [
        "5551797eb2d813ef01e23eb93fd680bc1e0dd886"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 20 14:06:17 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 24 15:22:44 2017 -0700"
      },
      "message": "VolumeShaper: improve logging and dumpsys\n\nTest: CTS and dumpsys\nBug: 37536598\nChange-Id: I9a838a8605defde3aaf42a872e48f01425df0f0e\n"
    },
    {
      "commit": "f72cefddf378909f360998852e41f49042711299",
      "tree": "88eec98dcb8b77b8fe27c52acd4ff0b7f7c969c8",
      "parents": [
        "cbe1bfea6415902af50a138df1a227f6b49afafc"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Apr 05 11:07:08 2017 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Apr 21 17:09:05 2017 -0700"
      },
      "message": "media: Support getStopTimeOffsetUs in GraphicBufferSource.\n\nSo MediaCodecSource could use the stopTimeOffset to adjust the stop timeout\ndynamically.\n\nTest: Camera recording with video stream delay.\nBug: 35925528\nChange-Id: Ic186971992bdc03155e9993cb44027002f71a457\n"
    },
    {
      "commit": "22dc508717c7767927064ec7c152def99e54adcb",
      "tree": "7590c5e895632e3a7e8bf20f7a09299f6a1b8dca",
      "parents": [
        "24059088a46160f731903cc66404184a531d0478"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 20 05:12:55 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 20 18:35:08 2017 -0700"
      },
      "message": "Make IGraphicBufferSource::setTimeLapseConfig take fps\n\nTest: Manual use of Camera, Movies, Photos and YouTube apps.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\n\nBug: 37302530\nChange-Id: Id0d4f7fed57349a2f5484f6b6264981471e8f022\n"
    },
    {
      "commit": "005f9e289f2db7fb2ce9a8a807d5a716917a722d",
      "tree": "2bd74a50bd7b6e7ca063504654ef2716267cb9db",
      "parents": [
        "af4dd44c88067ae4720901730435698e670ff7a5",
        "8253f44c3d0d8a7003dd2e6f728f9e3d63927727"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 18 13:06:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 18 13:07:01 2017 +0000"
      },
      "message": "Merge \"Fix libmedia includes.\" into oc-dev"
    },
    {
      "commit": "af4dd44c88067ae4720901730435698e670ff7a5",
      "tree": "0087bcd63ca37242daafc1b17ab8a7d37739e1f5",
      "parents": [
        "11c0013ecdc3621f4651475381a8ef1b282f6af8",
        "a3b4ef8b5f99e3161684bb56b1e77f94903e194a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 18 13:06:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 18 13:07:01 2017 +0000"
      },
      "message": "Merge \"Add libeffects_headers.\" into oc-dev"
    },
    {
      "commit": "a3b4ef8b5f99e3161684bb56b1e77f94903e194a",
      "tree": "a00d29e667810c29d610eef214bd36a943324e6a",
      "parents": [
        "89d950d331ef55d5cc68461d58101bee2515c895"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 15:42:49 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 21:28:32 2017 -0700"
      },
      "message": "Add libeffects_headers.\n\nAlso had to fix the location and symlink of them.\n\nTest: works with BOARD_VNDK_VERSION :\u003d current\nBug: 33241851\nChange-Id: Idcfe1eaaf7be10a183b69bafa07f035ab9ca1e4e\n"
    },
    {
      "commit": "8253f44c3d0d8a7003dd2e6f728f9e3d63927727",
      "tree": "f3891c8d9aa0da7fdc41a667006a9818a0decf77",
      "parents": [
        "2efd6be69a00b55bd2c20f27a99039b5ac2c5ff3"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 15:55:59 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 18 02:31:12 2017 +0000"
      },
      "message": "Fix libmedia includes.\n\nTest: works with BOARD_VNDK_VERSION :\u003d current\nBug: 33241851\nChange-Id: Idb6319563dfe83807d32ee54eb2fe66346c9f54a\n"
    },
    {
      "commit": "25a9e5561a7f14e79b04f713a515a9464b9ea077",
      "tree": "ea551e17c5a57e4615e474feb60ebc8366f2e133",
      "parents": [
        "2efd6be69a00b55bd2c20f27a99039b5ac2c5ff3"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 14:30:39 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 18 02:31:04 2017 +0000"
      },
      "message": "Add libaudioclient_headers\n\nTest: works with BOARD_VNDK_VERSION :\u003d current\nBug: 33241851\nChange-Id: I31cf7e7cd89fe6e71d4e52f7682990146a12b2fb\n"
    },
    {
      "commit": "9e7dd63dfff0cc967f025ea9e27a299aaa99fd69",
      "tree": "4393a809535f09ae5b09493776f280740f85ba0e",
      "parents": [
        "7faba5ea99bfa9f76be3f38fd26193fdd56e9485",
        "a78c1cc9773532b1f9d066ed8fa0d9414c1bb8bb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 13 06:23:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 13 06:23:52 2017 +0000"
      },
      "message": "Merge changes from topic \u0027api-review\u0027 into oc-dev\n\n* changes:\n  MediaCas: combine openSession methods\n  MediaCas: changes to address API review comments\n"
    },
    {
      "commit": "0de04e850beced076e4b1fcf0e513255f62a7d85",
      "tree": "0d373eb677443a20d7bdccf70d2f3b41cad0ced8",
      "parents": [
        "f4b7240b9d7095545d1ee1a772edacdeec1f6610",
        "6ed07dc02d4240f94e7fb0786fb263bdc7a610ba"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 18:55:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 18:55:07 2017 +0000"
      },
      "message": "Merge \"Remove setQuirks() from IOMXNode and IOmxNode.\" into oc-dev"
    },
    {
      "commit": "a78c1cc9773532b1f9d066ed8fa0d9414c1bb8bb",
      "tree": "1a786e3a193f4fd9e34a06e5d771dacb4e4633af",
      "parents": [
        "bc7aae4ff7e72e5bf0fa888f946835840a4357bb"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Mar 31 17:36:26 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 11 12:22:23 2017 -0700"
      },
      "message": "MediaCas: combine openSession methods\n\nCombine the two openSession methods into one that doesn\u0027t take any\narguments. This gives the client more flexibility on creating\nsessions efficiently. They can better decide whether to share one\nsession for multiple streams, or create one session per stream.\n\nbug: 22804304\n\nChange-Id: I9634f4dd4fc437229068103b54555cc28a818937\n"
    },
    {
      "commit": "ef0b6b64144b6e062bbb445a6df73c365b66646d",
      "tree": "7a531f1f9ec8cf35626be78de87b063b9db35584",
      "parents": [
        "0b26f855c9256415806d8d463d9c02e3d23a6f2a",
        "b01fb48fcc755d6bfad9bc94d8c227349155e1b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 07 03:15:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 07 03:15:50 2017 +0000"
      },
      "message": "Merge \"MediaCas: fixes for playback tests\" into oc-dev"
    },
    {
      "commit": "6ed07dc02d4240f94e7fb0786fb263bdc7a610ba",
      "tree": "8bb3d3acf1e48dcb2d9c9cee6bdb090073f8b4ec",
      "parents": [
        "549f208855372bd0913ffbcbb67ea6abc98193e2"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 05 06:26:56 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 06 19:29:09 2017 -0700"
      },
      "message": "Remove setQuirks() from IOMXNode and IOmxNode.\n\nTest: Media post-submit tests on Pixel phone.\nTest: Manual use of Camera, Photos, Play Movies and YouTube apps.\nBug: 36952714\nChange-Id: I230df51c2d658e29cffec369ba622e336c3402d2\n"
    },
    {
      "commit": "b01fb48fcc755d6bfad9bc94d8c227349155e1b5",
      "tree": "f4bb52aabaa89f35f196f06263fc2f779fe23133",
      "parents": [
        "6480d09eec2b8188b623030c971032334739b4e4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 23 18:42:51 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 06 18:29:35 2017 +0000"
      },
      "message": "MediaCas: fixes for playback tests\n\n- Set crypto mode to kMode_AES_CTR, since kMode_AES_CBC is not defined\n  on Java API, and is rejected when the sample is queued to MediaCodec.\n\n- Wrap the plugin object in a RefBase, and hold a strong ref to it\n  when executing any API calls in CasImpl. This is needed because\n  CasImpl could be released by Java API, while MediaCodec native is\n  still trying to access it.\n\n- Fix build warnings.\n\nTests: cts-tradefed run cts-dev --module CtsMediaTestCases --test android.media.cts.ClearKeySystemTest\n\nIt should not fail.\n\nbug: 22804304\nChange-Id: Id4ef037d57dd741d2bb22b1de3d04c8d078b69fb\n"
    },
    {
      "commit": "0f0c9b5007ff694d05a91c28359db0553e4dd061",
      "tree": "74669ec0fa61229d23b863b685bbf162e82ff32e",
      "parents": [
        "98e11c12e6f5bd64e5d6930a2bbd3522a309d6b1"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 05 14:00:23 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 05 14:41:03 2017 -0700"
      },
      "message": "Move MediaMetrics into its own library\n\nChanges for the new HAL structure have brought about a build time\ncircular dependency between libmedia and libmediadrm. This set of\nchanges the media metrics code into its own library and arranges\nfor the relevant consumers of the media metrics code to link\nto this new library (where they had previously picked it up by\nincluding libmedia).\n\nBug: 36990807\nTest: build, boot.\nChange-Id: I81768eecca88d5e59e6e6e547f29308a94e30c7b\n"
    },
    {
      "commit": "e9fec5451704893412c8e707940483a6bdb5f238",
      "tree": "0cf8ca3f939aa1f42bb85c131b7c2963b335f6a2",
      "parents": [
        "6480d09eec2b8188b623030c971032334739b4e4"
      ],
      "author": {
        "name": "John W. Bruce",
        "email": "juce@google.com",
        "time": "Mon Mar 13 16:29:28 2017 -0700"
      },
      "committer": {
        "name": "John Bruce",
        "email": "juce@google.com",
        "time": "Wed Mar 29 18:10:44 2017 +0000"
      },
      "message": "Add Flag for Enabling 64-bit Media DRM Server\n\nWe are ready for devices to begin migrating to a 64-bit Media DRM\nServer. However, not all devices are ready to make this jump yet. A\ndevice needs to have all of its DRM Plugins ready to run as 64-bit\nbefore it can do this. This includes having 64-bit hardware\nintegrations.\n\nSo that devices can turn on 64-bit support as they get ready, I am\nadding flags that can be set in a device\u0027s device.mk file. There are two\nparts:\n\n* ENABLE_MEDIADRM_64 enables building the mediadrmserver as 64-bit.\n\n* Setting drm.64bit.enabled\u003dtrue in PRODUCT_PROPERTY_OVERRIDES switches\n  mediadrmserver to searching for DRM Plugins in the 64-bit directory.\n\nTest: Validated that turning on these flags enables a 64-bit\n      mediadrmserver that loads 64-bit DRM Plugins from the lib64\n      directory (after setting DISABLE_TREBLE_DRM to true to load this\n      code as opposed to the Legacy DRM Plugin HAL)\nBug: 36076017\nChange-Id: I141cfd57ff75b40c8b0cb40a5bf1439a1ab5b766\n"
    },
    {
      "commit": "04563aafa0debc95d50951ca944abf37ef2777ce",
      "tree": "27f23c70a302d8d8740b62c569a7d5ee48418aad",
      "parents": [
        "0e4b8e9cb1b422195c49be49b48d039aa0814acf"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Mar 09 07:02:01 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Mar 14 17:13:37 2017 -0700"
      },
      "message": "Move hybrid interface from libbinder to libhidl/transport.\n\nAlso, merge android.hardware.media.omx@1.0-impl into libstagefright_omx.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nTest: Manual use of Camera, Photos, Play Movies and YouTube apps.\nTest: Manual use of screen mirroring.\n\nBug: 33854657\nChange-Id: Ie927bcafd86dc7e9509bb8b76bb3b51f9a423cc7\n"
    },
    {
      "commit": "0e4b8e9cb1b422195c49be49b48d039aa0814acf",
      "tree": "6892ad7ab0b0c8decd1d5e72e74a7bef1e7fb5b5",
      "parents": [
        "c7700a8abb2102c41bc4778a54143818c45e220f",
        "694ebf6734cc7af6b8cf9c032fa3e5a00a54dc84"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 11 10:43:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 11 10:43:54 2017 +0000"
      },
      "message": "Merge changes from topic \u0027fix omxnode fd leak\u0027\n\n* changes:\n  Fix Omx emptyBuffer fd leak in GraphicBufferSource\n  Revert \"Revert \"Refactor GraphicBufferSource wrappers for OMX HAL\"\"\n"
    },
    {
      "commit": "d095e65c8c125c555046c60539a0f7abf0ccf271",
      "tree": "ea1e88f82d5921fe1515f434d7dfb91d641a175f",
      "parents": [
        "a6331ba30928fac713f9d6ce94e1d5f0d008b501"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Mar 11 01:20:43 2017 +0000"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Mar 11 01:20:43 2017 +0000"
      },
      "message": "Revert \"Revert \"Refactor GraphicBufferSource wrappers for OMX HAL\"\"\n\nThis reverts commit a6331ba30928fac713f9d6ce94e1d5f0d008b501.\n\nBug: 36110748\nChange-Id: I56260ae0cc13c17b0edb31c39d22f3fbd6708d34\n"
    },
    {
      "commit": "3ecd658d0e403726cc8e03a4b4a4fdc81a0ec5d3",
      "tree": "74a81b5825ce41194ed9141dafb6515fe249a837",
      "parents": [
        "e298642503ab2e01add43351a7385c9288afa52a",
        "a6331ba30928fac713f9d6ce94e1d5f0d008b501"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 10 23:32:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 10 23:32:20 2017 +0000"
      },
      "message": "Merge \"Revert \"Refactor GraphicBufferSource wrappers for OMX HAL\"\""
    },
    {
      "commit": "a6331ba30928fac713f9d6ce94e1d5f0d008b501",
      "tree": "259600cbdcbed440acd90f678896ad62314fabb3",
      "parents": [
        "3d32c95e94f2672d23b58196beafddacba07c5e8"
      ],
      "author": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Fri Mar 10 20:54:33 2017 +0000"
      },
      "committer": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Fri Mar 10 21:49:55 2017 +0000"
      },
      "message": "Revert \"Refactor GraphicBufferSource wrappers for OMX HAL\"\n\nThis reverts commit 3d32c95e94f2672d23b58196beafddacba07c5e8.\n\nBug: 36110748\n\nChange-Id: I6d0cd5924b3e1e00cdcf844c638bb0acf4fae2ac\n"
    },
    {
      "commit": "89e5a2b102b484fe19dbda2a0b118edfefc70241",
      "tree": "7d569d72d3a2e16c77a10e08de04746fab6ad52e",
      "parents": [
        "ca47e6d574cd3d02821b87657a80d84b328d4f26",
        "dcdfaecc1fa630a799e1fdb508a9b92da55abc36"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 09 22:55:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 09 22:55:06 2017 +0000"
      },
      "message": "Merge \"NBLog periodic merging thread\""
    },
    {
      "commit": "dcdfaecc1fa630a799e1fdb508a9b92da55abc36",
      "tree": "407138ab3b7cef085ca4f283ea24378910ce775e",
      "parents": [
        "cca34c05ca2d5e7ac6c2fbee3ac2db88f059143d"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Tue Feb 14 10:18:39 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 09 12:30:24 2017 -0800"
      },
      "message": "NBLog periodic merging thread\n\nBug: 35468674\nTest: no change in functionality, everything works as before\nChange-Id: Id2cea243bc15767ca6803c9505bf23a18411500e\n"
    },
    {
      "commit": "22fd9de35b387f1ed808f4fe6e0b87eac3e82690",
      "tree": "693af83a6fce5b6bcab600a3b9c3c279c9a7d16f",
      "parents": [
        "f687b91129586fd1212bcb041d3f9aeb84635eb5",
        "18b570146c971fe729c391bfbb869391084e623d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 08 16:42:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 08 16:42:34 2017 +0000"
      },
      "message": "Merge \"audioflinger: add standby() method to MmapStreamInterface\""
    },
    {
      "commit": "18b570146c971fe729c391bfbb869391084e623d",
      "tree": "44427ed969851fc0e8638b508e265d6d039556b9",
      "parents": [
        "421c434e615a417d9f5443af9e52a30e3b29c256"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 13 16:23:52 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 08 00:33:34 2017 +0000"
      },
      "message": "audioflinger: add standby() method to MmapStreamInterface\n\nBug: 33398120\nTest: open/start/stop/close MMAP no IRQ stream for capture and playback\n\nChange-Id: I48ec202a71565f759c441c2a835d8c8190e76334\n"
    },
    {
      "commit": "3d32c95e94f2672d23b58196beafddacba07c5e8",
      "tree": "ea1e88f82d5921fe1515f434d7dfb91d641a175f",
      "parents": [
        "622761ea1155d31aa9e2bdb13fe096800a11f091"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Feb 23 12:09:30 2017 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Mar 03 21:55:14 2017 +0000"
      },
      "message": "Refactor GraphicBufferSource wrappers for OMX HAL\n\nBug: 35449087\nTest: Manual\nChange-Id: I0cf70526d820999902707af466ebb4e8a2c932ab\n"
    },
    {
      "commit": "ac7d4125516299b8a3e6f2b25822a692bdd96311",
      "tree": "ec382c07861eb03439ee4e1e97918b767a2e56f3",
      "parents": [
        "881fc5c65fc7d8c56af0dea181d751fcec3a2b1c"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 01 05:48:42 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 01 22:34:46 2017 -0800"
      },
      "message": "Use tokens for IOmxNode.\n\nTest: Mirroring, Camera, Photos, YouTube and Play Movies apps.\nBug: 35442034\nChange-Id: I0e43ec57d0f37c71d41652fd9883b72650433e20\n"
    },
    {
      "commit": "4ef88d7106c01f81109ee163cb6789073d80c6ae",
      "tree": "b851ebaf0b55c4d8174dd4a744352a3d4513beee",
      "parents": [
        "10cbff139360f3f642e0e3b3ccf2d463dbed22cf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 21 19:47:53 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 24 21:05:58 2017 -0800"
      },
      "message": "VolumeShaper: Add AudioTrack restore\n\nMediaPlayer VolumeShaper can now be set before start().\n\nTest: CTS and Ducking\nBug: 31015569\nChange-Id: Idf63c167e164161b200e2467fbeb9409b3097dbe\n"
    },
    {
      "commit": "10cbff139360f3f642e0e3b3ccf2d463dbed22cf",
      "tree": "85bef4f57dd8ff375059a1682c64941da884d0d5",
      "parents": [
        "1e50d1daa696e159d1ed0606de373c1cccef2c84"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 21 17:30:14 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 24 18:56:55 2017 -0800"
      },
      "message": "VolumeShaper: Enable for offload and direct tracks\n\nTest: Play Music in offload mode\nBug: 31015569\nChange-Id: I00bb59e3e6809d4682f42057b1cc083f4fa9b9d1\n"
    },
    {
      "commit": "e2b43843fd12783188edd2c54188ea8d26864788",
      "tree": "baab518964134359128ed35e5ebfc36cf977cde4",
      "parents": [
        "b4d5ec0d8f3755ccb8d5ce51798c3004330e1120"
      ],
      "author": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Thu Feb 02 13:35:37 2017 -0800"
      },
      "committer": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Feb 24 11:47:45 2017 -0800"
      },
      "message": "Moved headers from include/ to appropriate libs\n\ninclude/camera -\u003e camera/include/camera\ninclude/media/audiohal -\u003e media/libaudiohal/include\ninclude/media/AudioResampler*.h -\u003e media/libaudioprocessing/include\ninclude/media/Audio*.h,IAudio*.h,IEffect*.h,ToneGenerator.h -\u003e media/libaudioclient/include\ninclude/media/EffectsFactoryApi.h -\u003e media/libeffects/include\ninclude/media/stagefright -\u003e media/libstagefright/include\ninclude/media/nbaio -\u003e media/libnbaio/include\ninclude/media/\u003crest of files\u003e -\u003e media/libmedia/include\ninclude/cpustats -\u003e media/libcpustats/include/cpustats\n\nAdded symlinks from old location to new ones\n\nBug: 33241851\n\nTest: VNDK linked modules will need to add explicit lib dep.\nAll other modules should compile the same\n\nChange-Id: I0ecf754a2132640ae781a3cc31428fb8c0bd1669\n"
    },
    {
      "commit": "9dbe9a57bf0ae2494ec312d6c1b06feec20e9ec9",
      "tree": "cd5c27963da0e52e42efe6bb0a5e8d97b6af6f41",
      "parents": [
        "a146a0c499e53a4f064777ab2b45407c14429fa0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jan 03 11:35:15 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Feb 18 00:57:33 2017 +0000"
      },
      "message": "MediaCas: add MediaCasService\n\nThis CL adds API only without implementation.\n\nbug: 22804304\nChange-Id: Ibb5a29cc616ec0af81957b2bfe1419c482591753\n"
    },
    {
      "commit": "cd01db5572f07e30c8b0b08e8b50b89c69ae14c1",
      "tree": "97b959d2f94653960859cdd5222e58446b7f9a7c",
      "parents": [
        "ea42da480ddd116cb70f2c8a7642df7c12b996af",
        "3cb5316c442d182ada75a1394e1505a017400526"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 17 23:30:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 23:30:16 2017 +0000"
      },
      "message": "Merge \"Support multiple codecs per crypto instance\""
    },
    {
      "commit": "ea42da480ddd116cb70f2c8a7642df7c12b996af",
      "tree": "a1acf6c39eb4ff9c9cea984bca17ade294937405",
      "parents": [
        "c0a3f679109769d8fb43b66fccbe47f8c505d12e",
        "ac4e4189db77dc0af7671b162d11be5ccec69339"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Feb 17 22:39:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 22:39:36 2017 +0000"
      },
      "message": "Merge \"Media metrics for android.media.MediaRecorder\""
    },
    {
      "commit": "c0a3f679109769d8fb43b66fccbe47f8c505d12e",
      "tree": "295739e8105bab75348d97544fca85d6e1d95008",
      "parents": [
        "0e701fd27a2daad2eadf83f904c68a418f93cf92",
        "13a926879249276771b0097538459c7550e2f5ce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 22:26:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 22:26:19 2017 +0000"
      },
      "message": "Merge \"Use hidl.allocator for IAllocator.\""
    },
    {
      "commit": "0e701fd27a2daad2eadf83f904c68a418f93cf92",
      "tree": "1366c91c9df6dddc28c098e8d57e8009f673cd4c",
      "parents": [
        "c01ea695f5e55137834b5217c30ff71dccfcc989",
        "bc1713d3b85d7ce656e032da6e4b6b342f14db03"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 22:21:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 22:21:03 2017 +0000"
      },
      "message": "Merge \"fallout of splitting rect.h out of libandroid.\""
    },
    {
      "commit": "c01ea695f5e55137834b5217c30ff71dccfcc989",
      "tree": "998b024e0cbec3a4f3262956584d342379cfe944",
      "parents": [
        "ccaeb5f08d037cc0ec7a9ab69bf03364b3fad452",
        "cd5dd016657b351d9c74dcdff87547a781108ccb"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 17 22:08:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 22:08:37 2017 +0000"
      },
      "message": "Merge \"Implement entry iterators\""
    },
    {
      "commit": "3cb5316c442d182ada75a1394e1505a017400526",
      "tree": "cba6c593af42f45211dd149d66975c06b2185fa0",
      "parents": [
        "09b92c347ddcaf751571363e54a769eb4b95edd3"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 16 12:06:32 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 17 13:04:02 2017 -0800"
      },
      "message": "Support multiple codecs per crypto instance\n\nThe initial drm hidl hal implementation assumed one\ncodec per crypto instance, but in fact there can be\nmultiple codecs per crypto instance. This change\nextends the drm hal to allow multiple memory heaps\nper crypto plugin. It fixes the issue of mapping\nmemory frequently during playback.\n\nbug:35275191\n\nTest: manual verification with Play Movies on angler\nin passthrough mode and on marlin in binderized mode.\n\nChange-Id: Icada005f515483d7bc214b08caf6eea46ca354a7\n"
    },
    {
      "commit": "bc1713d3b85d7ce656e032da6e4b6b342f14db03",
      "tree": "df2747b33b188cf3b5af2505d1076984120ddc8d",
      "parents": [
        "87251eee475a53599b980334df777326fa8e1527"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 13 18:37:50 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 12:25:14 2017 -0800"
      },
      "message": "fallout of splitting rect.h out of libandroid.\n\nA lot of media makefiles didn’t specify libui or\nlibgui but included headers from these libraries\ndirectly. \n\nIt works because these headers are on the global\ninclude path. With this change, though, rect.h\nis not anymore (albeit exported from libui).\n\nTest: built and booted device\nBug: 35164655\nChange-Id: I72e8f0b7bd25c6a67eedc17afe52c4c484a147fe"
    },
    {
      "commit": "13a926879249276771b0097538459c7550e2f5ce",
      "tree": "dcf98d4122999450a70164d3ae6d3d2522c114d8",
      "parents": [
        "09b92c347ddcaf751571363e54a769eb4b95edd3"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Feb 17 12:22:38 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Feb 17 12:22:38 2017 -0800"
      },
      "message": "Use hidl.allocator for IAllocator.\n\nandroid.hidl.memory is being split into android.hidl.memory and\nandroid.hidl.allocator since the former is a passthrough hal and the\nlatter is a binderized service.\n\nBug: 35327976\nTest: hidl_test, lshal, youtube/camera works\nChange-Id: I7a2e72dcd3721d2689eb7ef95f5b140ecc1c446f\n"
    },
    {
      "commit": "87251eee475a53599b980334df777326fa8e1527",
      "tree": "046358b376d606a499d855d306c53a6cce53314f",
      "parents": [
        "d5973043bed640cf634a26d65dedcde5d5ab3037",
        "40a4498b967d000c93e8561db5fdd0488cc1d824"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 17 19:46:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 19:46:31 2017 +0000"
      },
      "message": "Merge \"Implement log merging.\""
    },
    {
      "commit": "8dc323ef737babc1b1c0b0347b4b895969aee77b",
      "tree": "4afdfab9a14f359bf13e87d9f120fb0363032049",
      "parents": [
        "ca8126c04c91b6b5030be2e2c8cff786c160faac",
        "c20cb50c1c14cd765874511872f087c875f43ed9"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 17 19:41:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 19:41:24 2017 +0000"
      },
      "message": "Merge \"Added process name to PID log\""
    },
    {
      "commit": "cd5dd016657b351d9c74dcdff87547a781108ccb",
      "tree": "7406a11b1a06b2abf94c72e216cb3810a4a15fc1",
      "parents": [
        "40a4498b967d000c93e8561db5fdd0488cc1d824"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Mon Feb 13 12:09:28 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 17 11:27:56 2017 -0800"
      },
      "message": "Implement entry iterators\n\nSome code refactoring\n\nBug: 35329553\nTest: manual\nChange-Id: I06e4ac1207b5c707d663ab2f141bb08d80272642\n"
    },
    {
      "commit": "181fd9b5b64bab24bb49a34208f60a16e98488c5",
      "tree": "01f5f3e2cd59acbe4a3c7d92f09ff1f5418af206",
      "parents": [
        "42a5de6da0084fd430c70d58671559f71c738cf0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 16 15:53:03 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Feb 17 03:06:13 2017 +0000"
      },
      "message": "stagefright: verbose logging for media connect/disconnect\n\nbug: 35364355\n\nChange-Id: I7b5f0aecf98733255cc27b091fea78298fa7e602\n"
    },
    {
      "commit": "40a4498b967d000c93e8561db5fdd0488cc1d824",
      "tree": "a95deb459b6b0ea0de8e711a0cb545c49eb33769",
      "parents": [
        "4da7820be451847bad698ac0f687b964d9b5d34f"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 03 13:39:57 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 16 17:04:01 2017 -0800"
      },
      "message": "Implement log merging.\n\nStill missing:\n * Put in separate periodical thread\n\nBug: 35329293\nTest: manual\nChange-Id: Ie8802fb7972e20d8dec493376ea253bb782f3a46\n"
    },
    {
      "commit": "42a5de6da0084fd430c70d58671559f71c738cf0",
      "tree": "f000de2274c93d2bc42ee4ef703940a1216568f6",
      "parents": [
        "9c47c97ecac581d66b6febafd156618247e86742",
        "764d945bfdb9dec60f2b482fbf6c5e83824ed950"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Feb 17 00:26:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 00:26:05 2017 +0000"
      },
      "message": "Merge \"media: Support accurate pause/resume/stop in GraphicBufferSource.\""
    },
    {
      "commit": "764d945bfdb9dec60f2b482fbf6c5e83824ed950",
      "tree": "2967f3bc3b05f0fffd413b23f20049412d8910e7",
      "parents": [
        "4441393a9d9830de8b059b279127c6b558f194ba"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Dec 13 13:07:45 2016 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Feb 16 14:33:01 2017 -0800"
      },
      "message": "media: Support accurate pause/resume/stop in GraphicBufferSource.\n\nProcess all buffers that have been queued to the encoder on\nStagefrightRecorder::pause()/stop(). Furthermore, add timestamp support for\npause/stop. Buffers willi keep getting encoded until 1) a buffer with a higher\ntimestamp is queued, or 2) the bufferqueue is abandoned by the producer.\n\nTest: Recording with hacking GoogleCamera timestamp. And Mediarecorder CTS test.\nBug:32765698\nChange-Id: I9ec33d635aef269836d7a5d9f4b906cb41b46a0d\n"
    },
    {
      "commit": "c20cb50c1c14cd765874511872f087c875f43ed9",
      "tree": "4da5367ebd84ebeac6dd927d535a5b1dd84c79e4",
      "parents": [
        "2f77a2229be73b222098c45aed73728842667e12"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Wed Feb 01 12:35:24 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 16 14:22:16 2017 -0800"
      },
      "message": "Added process name to PID log\n\nBug: 35357686\nTest: included in CL\nChange-Id: Ie4d3cb66a2c766ce87ebabcc9c0d3aa988702e09\n"
    },
    {
      "commit": "9c47c97ecac581d66b6febafd156618247e86742",
      "tree": "c49b5394e42b293c0333754bf01c71d387227833",
      "parents": [
        "6ab6061131a10b7f38074c156fd529fa3719a32b"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Feb 08 04:09:38 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Feb 16 11:16:06 2017 -0800"
      },
      "message": "Enable full migration of OMX to Treble.\n\n1. Toggling between Treble and non-Treble OMX will now be controlled by\ntwo properties: \"persist.hal.binderization\" and\n\"persist.media.treble_omx\". (Before this CL, this was controlled by\n\"debug.treble_omx\".)\n- If persist.media.treble_omx is not set, it will assume a default value\nof -1.\n- If persist.media.treble_omx is -1, persist.hal.binderization will be\nused to determine whether OMX will be created as a Treble or non-Treble\nservice.\n- If persist.media.treble_omx is 1, OMX will be created as a Treble\nservice.\n- If persist.media.treble_omx has any other value, OMX will be created\nas a non-Treble service.\n- persist.media.treble_omx can be changed without rebooting, but it will\nonly take effect after media.codec and mediaserver processes are killed.\n\n2. Remove all dependencies on non-Treble service. This was not done for\nMediaCodec, MediaPlayerService::Client, MediaRecorderClient, stagefright\ncommand, and omx_tests command. OMXClient and media.codec process will\nnow pick the right version of OMX based on properties mentioned above.\nBefore this CL, media.codec would always present the non-Treble version\nof OMX regardless of the flag.\n\n3. Provide workarounds for some HIDL issues.\n- A sequence of nested binder and hwbinder calls require many threads to\nhandle. (b/35283480) The workaround is to increase the number of threads\nin the thread pool of media.codec process.\n- android.hidl.base@1.0::IBase::unlinkToDeath takes a strong pointer\ninstead of a weak pointer. (b/35233970) This causes an infinite\nrecursion in the destructor of ServiceDeathNotifier in\nMediaPlayerService::Client and MediaRecorderClient. The workaround moves\ncalls to unlinkToDeath() outside of the destructor.\n\nTest: Recorded and played videos with Camera app. Ran stagefright and\nomx_tests commands.\nBug: 31399200\n\nChange-Id: Id1940ed982838e10bf10fe8ed5b7bb912a5a2d3a\n"
    },
    {
      "commit": "cefac14261a32fb856b0d1ab31541787112e306e",
      "tree": "d6fb3a4890929e05a5ffccc2d09c0b9da3d6bddc",
      "parents": [
        "2f77a2229be73b222098c45aed73728842667e12"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Mon Feb 06 21:02:02 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Feb 15 18:15:37 2017 -0800"
      },
      "message": "Modular DRM for MediaPlayer\n\nBug:  34559906\nTest: Manual through the test app\n\nChange-Id: I286f9ff199c34563b7b8643de725f8d1534ea06c\n"
    },
    {
      "commit": "ac4e4189db77dc0af7671b162d11be5ccec69339",
      "tree": "7ab5eca97ac9179fc6218fb5e19cd396c4a43e6d",
      "parents": [
        "36b31c87807a4f8cd22e73da9bf2df7babdb906e"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sun Feb 12 19:26:52 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Feb 15 10:21:12 2017 -0800"
      },
      "message": "Media metrics for android.media.MediaRecorder\n\nunderlying collection of MediaRecorder metrics for getMetrics() API\nand for media metrics cloud analysis.\n\nBug:  35150984\nTest: hacked CTS, observation of \u0027dumpsys media.metrics\u0027\nChange-Id: Ife2ab06158b0015549ed17d52d7f4c35781f5e0f\n"
    },
    {
      "commit": "30d48d9542fb3f85889108c1ee2daff98a4860e7",
      "tree": "b85955dd0493f049b91a5b4ab32527f39a4ba6e2",
      "parents": [
        "b129be34d1b08440d2867702b22e81c037be899a",
        "9fc8b5cd4a64ef07e84c69112461324d5c13a0b0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 14 01:38:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 01:38:57 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Initial implementation\""
    },
    {
      "commit": "9fc8b5cd4a64ef07e84c69112461324d5c13a0b0",
      "tree": "2d058e73f09f1822108daad51948a34c420634e3",
      "parents": [
        "ed1abbfc73d4ade0ef08239fc56ac66d70a00a92"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 24 13:36:48 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 13 14:31:46 2017 -0800"
      },
      "message": "VolumeShaper: Initial implementation\n\nThe VolumeShaper is used to apply a volume\nenvelope to an AudioTrack or a MediaPlayer.\n\nTest: CTS\nBug: 30920125\nBug: 31015569\nChange-Id: I42e2f13bd6879299dc780e60d143c2d465483a44\n"
    },
    {
      "commit": "7863c791dba8c4e5e9591b6837d410e580be0a25",
      "tree": "5199273fa3bac5303b0aa8dcdfd984f49f75e30f",
      "parents": [
        "94a20830fc0768efc138ab7f746f80e8b3d60c15",
        "6acd1d432f526ae9a055ddaece28bf93b474a776"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 10 20:24:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 20:24:22 2017 +0000"
      },
      "message": "Merge changes from topic \u0027mmap_no_irq\u0027\n\n* changes:\n  Add support for mmap stream\n  audioflinger: define MMAP HAL Stream control interface\n"
    },
    {
      "commit": "551061ab211e1da0f060d7c895617814618da5c2",
      "tree": "f8010b47611e50cf67eada7498a66cdee1259579",
      "parents": [
        "e2ce9366d1b138326035c643b7fec68cd2dc83c5"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Feb 06 15:59:29 2017 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Feb 09 10:29:05 2017 -0800"
      },
      "message": "audiopolicy: Two clients can not offload concurrently\n\nIf two application are playing a compatible offload stream at the same\ntime.\nEg: two games playing MP3. At least one not taking the audio\nfocus.\n\nThe audio policy was offloading both stream resulting in audio glitches\nand one stream being dropped.\n\nConcurrent offload streams is intended to be a transitioning state when\nan application wants back to back playbacks.\n\nIt should not be allowed for two different applications to stream at the\nsame time.\n\nTest: Play mp3 while mp3 is already offloaded.\nBug: 34012147\n\nChange-Id: I98a8913d6faf5092a1e43a0bdd0f1ce1482221a9\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "ba13b7bc3d46d958bc4a395f2c162cb112ec1f3a",
      "tree": "25b98d0f3db1f6b59045880396b2ce8b77faae35",
      "parents": [
        "d2b0b504f1762cf31f61fda093b180544acd3b53"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Feb 07 10:03:18 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Feb 07 10:03:18 2017 -0800"
      },
      "message": "connect APIs to mediaextractor getMetrics()\n\nplumbing so that user level android.media.MediaExtractor.getMetrics()\nwill get down to where we keep the metrics and then haul them back\nto the application.  Includes the right hooks so that per-container-type\nmetrics will also be managed.\n\nBug: 35094936\nTest: monitor dumpsys output, augmented CTS examination\n"
    },
    {
      "commit": "8eacd8090e16c022dcbb11850cff83f984fe2357",
      "tree": "8efbb8305163d4956d8e096e769801a11e6ba2b8",
      "parents": [
        "c17c28aac0fa31be3fc4068da5e2f95731e7c361",
        "fe1e1449cadff4f946c33403aecc73b4b4a11e56"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 03 17:35:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 17:35:29 2017 +0000"
      },
      "message": "Merge \"Implemented typed, thread-specific logging system. Currently supported types are:  * Strings  * Integers  * Floats  * Timestamps  * Process IDs\""
    },
    {
      "commit": "fe1e1449cadff4f946c33403aecc73b4b4a11e56",
      "tree": "500bb66d15abbbd9b48dce430480cc35d4e6245b",
      "parents": [
        "5a3b54df3014ece49eb1f339e5598c01c6126251"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Mon Jan 30 12:02:03 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 02 16:45:04 2017 -0800"
      },
      "message": "Implemented typed, thread-specific logging system. Currently supported types are:\n * Strings\n * Integers\n * Floats\n * Timestamps\n * Process IDs\n\nAdded printf-like formatted logging using mentioned types.\n\nTest: included in this CL\nBug: 29421410\nChange-Id: Ie07b78d8d39c32fcc8a122ffa9b1b7082800b990\n"
    },
    {
      "commit": "8dc4ee85f02e7a40b93280fb1394c729c315e462",
      "tree": "c4554807181e83995658e41b9c34d6d9c1dfce63",
      "parents": [
        "a2db0cb965d26352e01dd930687706aec1a43b7c",
        "49dcfd2089f667f18859654d7c256974aae4e857"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Feb 02 18:07:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 18:07:18 2017 +0000"
      },
      "message": "Merge \"media: Add 3gp output format to MediaMuxer.\""
    },
    {
      "commit": "8a21c0191f974a0b9cbd5818052e2655e0aaa306",
      "tree": "a44985c7545c869f72553865d0bbc04c0250aeb7",
      "parents": [
        "12eb31583f40220b73a5e33b427e1d8f58243939"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Dec 27 04:30:54 2016 +0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Jan 31 16:42:09 2017 -0800"
      },
      "message": "Modify ACodec to allow using Treble.\n\nACodec will connect to the Treble version of Omx if the property\n\"debug.treble_omx\" is set to true (\"1\", \"y\", \"yes\", \"true\" or \"on\").\n\nAlso, fix some bugs found so far.\n\nTest: Compiles\nBug: 31399200\nChange-Id: I52b27b5f99bc1d6797d3b83b8be794ed2de9956a\n"
    },
    {
      "commit": "c5516dcd272bda8ef4fab9999b7035f13eb2cbd8",
      "tree": "2778e00db5f650c7a5695636e4058d7e278ce0ac",
      "parents": [
        "a1ee4c28facd2e4ae0eb288178c8988bf1806148",
        "94e36c5607ec15e4c9a1dff56ca23d4001b932b3"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Feb 01 00:39:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 00:40:00 2017 +0000"
      },
      "message": "Merge \"Add an option to connect OMXClient to a Treble service.\""
    },
    {
      "commit": "68b3d9f49e68a11af5225175dc9e60ce88819e84",
      "tree": "750d8fe493c2ec45542968192ecfe52d83133a02",
      "parents": [
        "9b088162cb9cdeb542f106a45d06a1f802e91e6e"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jan 06 19:07:54 2017 -0800"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Mon Jan 30 15:26:51 2017 -0800"
      },
      "message": "Pass application packagename to drm plugin.\n\nPass application package name to createPlugin and createDrmPlugin.\nThe application packagename will be used as part of a unique\nidentifier for drm plugin.\n\nTest: Play Movies.\n\nTest: ANDROID_BUILD_TOP\u003d ./android-gts/tools/gts-tradefed run gts -m\nGtsMediaTestCases --test\ncom.google.android.media.gts.WidevineH264PlaybackTests#testL1With480P60\n\nVerify the application\u0027s packagename is reachable in the drm plugin\u0027s\ndebug log.\n\nbug: 27101531\n\nChange-Id: I84fb09b591a7af63f6e20004e910112a4ce6ebac\n"
    },
    {
      "commit": "49dcfd2089f667f18859654d7c256974aae4e857",
      "tree": "38f0c37fe6d13c3c149df19f0645e0db2bb502d7",
      "parents": [
        "e4806bbccc2150607d84d2df5cb91aa24c4fe10a"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Jan 30 13:17:00 2017 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Jan 30 14:33:09 2017 -0800"
      },
      "message": "media: Add 3gp output format to MediaMuxer.\n\nTest: CTS test.\nBug: 34281643\nChange-Id: I9f716aba6f2bcbbcdcd65959307a5013a5751f51\n"
    },
    {
      "commit": "94e36c5607ec15e4c9a1dff56ca23d4001b932b3",
      "tree": "85ec4396864895013e80626ac0e3de4583696796",
      "parents": [
        "24a8da67457267e4bac9ac2ffa07e1762510ca34"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Dec 27 04:59:25 2016 +0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Jan 27 17:32:56 2017 -0800"
      },
      "message": "Add an option to connect OMXClient to a Treble service.\n\nTest: Compiles\nBug: 31399200\nChange-Id: I063a8eead79da2704ba25a864f3d2c2627341c51\n"
    },
    {
      "commit": "1784ec91786ed3a9e1fffcaa20fec8c33830b1ad",
      "tree": "64112aa6e6f4f8d6947c0edeeaa4140123a44f76",
      "parents": [
        "3a0a8b4cc0632a09fa9c669edf9c6a27be5d37d9",
        "071437a2005e39969983ec619a4c7bc54c2dc5a9"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Fri Jan 27 18:07:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 18:07:59 2017 +0000"
      },
      "message": "Merge \"Modular DRM for MediaPlayer\""
    },
    {
      "commit": "3a0a8b4cc0632a09fa9c669edf9c6a27be5d37d9",
      "tree": "236ab0766f2787b1935a9c4dd517df65f21b2238",
      "parents": [
        "45cc284af254a71ae9294585448419f91ae27ee4",
        "db1221479a7ffe7094c51c463bbd36522ed106ab"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 27 02:33:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 02:33:46 2017 +0000"
      },
      "message": "Merge \"Media Metrics for NuPlayer, Codec, Extractor\""
    },
    {
      "commit": "45cc284af254a71ae9294585448419f91ae27ee4",
      "tree": "c68a2845c1155d92657b8ef825fbde2e15ff0e56",
      "parents": [
        "2b118b8f939c0cf1b287b1641d17b057a8e25ce7",
        "e08ab77d276e83388da1f811c556d105a38a81d3"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 27 02:33:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 02:33:46 2017 +0000"
      },
      "message": "Merge \"Provide access for metrics-\u003eJava Bundle conversion\""
    },
    {
      "commit": "2b118b8f939c0cf1b287b1641d17b057a8e25ce7",
      "tree": "5ec25bd81b9d5e692fcab16b4f143fb3f6206ede",
      "parents": [
        "fb388a72e613d669e4de8b0e07d64a6bf640b63a",
        "eeac97b18ca5c939bf2ac59334d36d54f705af3d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Jan 27 01:16:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 01:16:33 2017 +0000"
      },
      "message": "Merge changes from topic \u0027OMX Treble 2\u0027\n\n* changes:\n  Split Treble conversion module into two sides: impl and utils.\n  Use HIDL\u0027s memory in CodecBuffer and add wrapper classes for IOmxBufferProducer and IOmxProducerListener.\n"
    },
    {
      "commit": "e08ab77d276e83388da1f811c556d105a38a81d3",
      "tree": "ce38745514e66c5d093f8a872d0b7fb9111eb050",
      "parents": [
        "fb388a72e613d669e4de8b0e07d64a6bf640b63a"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 25 17:47:51 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 27 00:40:03 2017 +0000"
      },
      "message": "Provide access for metrics-\u003eJava Bundle conversion\n\nprovide \u0027friend\u0027 access for the class that converts Media Metrics\nproperties into a Java Bundle to be handed to users through local APIs.\nActual code to do conversion is in frameworks/base/\n\nBug: 34716157\nTest: compilation passes\n"
    },
    {
      "commit": "db1221479a7ffe7094c51c463bbd36522ed106ab",
      "tree": "9d551bf00c96d22d529561669e411e3a4416c2be",
      "parents": [
        "fb388a72e613d669e4de8b0e07d64a6bf640b63a"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 25 17:51:55 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 27 00:12:08 2017 +0000"
      },
      "message": "Media Metrics for NuPlayer, Codec, Extractor\n\nCollect metrics for nuplayer/mediaplayer, codec, extractor.\npublishes them to media.metrics service\nprovides hooks that local APIs use to connect to retrieve metrics\nfrom the above when running on their behalf.\n\nSeparate set of changes does the final hop to the local APIs.\n\nBug: 34715803\nTest: build \u0026 run, observed code/extractor/player metrics in logs\nChange-Id: Ic5a0a7b3b93a5a41af93d81050ba038f0f7a4329\n"
    },
    {
      "commit": "eeac97b18ca5c939bf2ac59334d36d54f705af3d",
      "tree": "fa4ba549c27134217df62344ed01793f54364d2f",
      "parents": [
        "f62ea8018813951e8f6a182880cadb3217e4ce37"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jan 18 05:03:07 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Jan 26 00:53:44 2017 -0800"
      },
      "message": "Split Treble conversion module into two sides: impl and utils.\n\nimpl is on the HAL side. utils is on the framework side.\n\nTest: Compiles\nBug: 31399200\nChange-Id: Ib88a80f406fa2b897aa7c65f5faba6cdd9d6a700\n"
    },
    {
      "commit": "f62ea8018813951e8f6a182880cadb3217e4ce37",
      "tree": "2484670a6fcf5e32d2c700d920f9f17796cae0fe",
      "parents": [
        "1d399328e24b3ea0512e10f0925d8d09b43225ef"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Dec 20 04:24:47 2016 +0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Jan 26 00:52:10 2017 -0800"
      },
      "message": "Use HIDL\u0027s memory in CodecBuffer and add wrapper classes for\nIOmxBufferProducer and IOmxProducerListener.\n\nTest: Compiles\nBug: 31399200\nChange-Id: Ia09973ee7b25120bc35cff02b1409f33b28a4b4e\n"
    },
    {
      "commit": "29bcb38457deb3c69e0b5d2e8658446e969bd380",
      "tree": "261579eed10dce5b39c0b1e857191205decca154",
      "parents": [
        "6b2704c86f5f34217d820427da979c6bd6624bb8",
        "a53d6553fce1818bdf87833f93633c93ad1b5915"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jan 26 02:43:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 02:43:41 2017 +0000"
      },
      "message": "Merge \"Implement client code to use Drm and Crypto HALs\""
    },
    {
      "commit": "a53d6553fce1818bdf87833f93633c93ad1b5915",
      "tree": "8fbbb7b32d753c75a7350d748d6fa08d47402289",
      "parents": [
        "2a0c6d54dc34fdd8cca4e8ed7f39ad512133a878"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jan 20 00:31:46 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Jan 25 15:41:12 2017 -0800"
      },
      "message": "Implement client code to use Drm and Crypto HALs\n\nThis change adds DrmHal \u0026 CryptoHal classes that connect to the Treble\nHAL interfaces for drm.  These classes mirror the existing Drm and\nCrypto classes that connect to the DrmPlugin and CryptoPlugin\ninterfaces. Having both allows mediadrmserver to run in either mode\nwhile the HAL is stabilized.\n\nThe shared memory interfaces between mediaserver\u0027s ACodecBufferChannel\nand ICrypto had to be reworked to use the Treble HALs. Specifically,\nthe shared memory path for returning decrypted buffers in the\nnon-secure case had to become separate instead of piggy-backing on the\nsource shared memory buffer. A separate shared memory destination\nbuffer is now allocated on the buffer channel. An abstraction for a\ndecrypt destination buffer was also introduced to clarify ICrypto\u0027s\ndecrypt method.\n\nTests: Playback using Play Movies and ExoPlayer works on angler\nwith and without the treble hal enabled.\n\nbug: 32815560\nChange-Id: I5a3dc84f99902eb8cf8eabab9ad074d307744950\n"
    },
    {
      "commit": "071437a2005e39969983ec619a4c7bc54c2dc5a9",
      "tree": "0b1b44c249e3513e1bb96395484b707c194904d0",
      "parents": [
        "217fc01b390d88993c1c94669b251f952fe2c44e"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Mon Jan 23 09:19:40 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Jan 25 15:02:11 2017 -0800"
      },
      "message": "Modular DRM for MediaPlayer\n\nBug:  34559906\nTest: Manual through the test app\nChange-Id: I752c3e2bbc2fac9c75f7ddc986014c4b8ce75d84\n"
    },
    {
      "commit": "c0461f5b18eb6d5516804810f315e6c23879a09d",
      "tree": "409c82898f26abeb75bc1b9430c08578c051ad9a",
      "parents": [
        "b4728afbf8095d5349de9fcd49f3f34b900682ad",
        "66916c26a7055c9e10471720502a29f759609819"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Jan 25 17:03:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 17:03:13 2017 +0000"
      },
      "message": "Merge \"audio hal: Fix multichannel playback\""
    },
    {
      "commit": "66916c26a7055c9e10471720502a29f759609819",
      "tree": "931ce309f34c35775a11240b4f8186db1983f90b",
      "parents": [
        "ceec4a06595253a6dcc167064f318e470e1c3b58"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Jan 24 17:46:33 2017 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Jan 24 17:46:33 2017 -0800"
      },
      "message": "audio hal: Fix multichannel playback\n\nCorrectly operate on input and output buffers in DownmixerBufferProvider\n\nNote that playback is a bit choppy, need to investigate further.\n\nChange-Id: I350175dcc9cc7142a1935585a8bd5e9abb1b8eb6\nTest: play back a 5.1 file\n"
    },
    {
      "commit": "d38e174ddbde8e7419ba01deaded4ff0ead1caaa",
      "tree": "cd62ea763bf947133d4fb6a66b693672294a2694",
      "parents": [
        "efbd36c8f57f41b0ef061cde5a88a3d384538fc9"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 23 15:17:06 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 24 09:46:01 2017 -0800"
      },
      "message": "Change from mediaanalytics to mediametrics\n\nreflect the change from \"media.analytics\" to \"media.metrics\" in\nwhat service names we use; bring the metrics service main code into the\nservice directory (vs an additional shared library).\nRemoved references to tentative binder functions that the service\nwon\u0027t be offering, at least not in the near future.\n\nBug: 34615027\nTest: build, boot, new services run, clients talking to said services.\nChange-Id: If17772a8f03c05b142e8d5779830d198710210c1\n"
    },
    {
      "commit": "d112296453154c6974433d860f270e9d8bc7d0d0",
      "tree": "da4b1c15d138189c47e7a53d529405571ecd0ecd",
      "parents": [
        "9e26267afc9bd9b80c44b50b4a40c050f79d15cd",
        "ed32086f6a93a9a22f3877c54030af5c2567939a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 19 22:08:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 22:08:37 2017 +0000"
      },
      "message": "Merge \"mediaplayer: add getBufferingSettings.\""
    },
    {
      "commit": "ed32086f6a93a9a22f3877c54030af5c2567939a",
      "tree": "ce0af9c6ba0e532db654f80f4cffbcccf610ecca",
      "parents": [
        "13ff5b0ce7ae1d31eaa30f21c9d83290ebff0756"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 18 14:03:40 2017 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 19 11:33:30 2017 -0800"
      },
      "message": "mediaplayer: add getBufferingSettings.\n\nTest: compiles\nBug: 32524218\nChange-Id: Ifd6243d524d1554dfbbfc1381414100cfafdc02d\n"
    },
    {
      "commit": "e482d3a819edb60038ba5c4ca7f33935b27dd35f",
      "tree": "a2fb03633089ff6c68104dd389a39eb996af8738",
      "parents": [
        "dffb51f4e35fe93215b025bdf4216f3b411c734b",
        "fe44e4f74fe2582cbf012687059278dbcbdaa6f7"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Jan 19 18:17:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 18:17:40 2017 +0000"
      },
      "message": "Merge \"media: Support recording exceeds filesize limit by splitting files.\""
    },
    {
      "commit": "cac8d4ea54ece7aeb4b2ffa7aafd06fbec731a62",
      "tree": "ed02d8653145fded2d53bcf4c6d7033cca7eb1cf",
      "parents": [
        "d0ffd62e89bf97fa20a63f282d034b6745328210",
        "44344b05261cb9ad46a43e635f637b89aecc7afe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 03:17:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 03:17:59 2017 +0000"
      },
      "message": "Merge \"audio policy: allows dumping Audio Policy Mix\""
    },
    {
      "commit": "1acece4c23ba36e71bc42d8b44b8b62bd4423620",
      "tree": "36498ad93f4bcbbc852a9eee54774555509ef89a",
      "parents": [
        "3670ef95286d8eb028d30a95448b8f93f8f74007",
        "d621ac82e648c8ef395068edb1af2747f49b700a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 17 23:16:30 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 23:16:30 2017 +0000"
      },
      "message": "Merge \"Monitor crashes of audio hal service via linkToDeath\""
    }
  ],
  "next": "d621ac82e648c8ef395068edb1af2747f49b700a"
}
