)]}'
{
  "log": [
    {
      "commit": "4d6916a561adb9215c2deabc3600ad4df01c5a07",
      "tree": "ea15d7983603b5dc1d5d441d14c5866e64cace17",
      "parents": [
        "33d6adcebbac541a803a08013db15a84e4b82bcf"
      ],
      "author": {
        "name": "ybai",
        "email": "ybai@dolby.com",
        "time": "Thu Feb 28 14:34:37 2019 +0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Mar 06 15:08:39 2019 -0800"
      },
      "message": "Fix AC-4 parser bugs according to specification\n\npre_virtualized and add_emdf_substreams should locate\nin the same level with single_substream_group checking.\n\nBug: 127685179\nTest: see repro steps\nChange-Id: Ic715b316f2b0d0fc86dfd9db03ba7bf01a1f0a2e\n"
    },
    {
      "commit": "33d6adcebbac541a803a08013db15a84e4b82bcf",
      "tree": "6d8a4a0c1e23538a70532aa6874c026a2dbe88f7",
      "parents": [
        "797a0e9ea4e3d16e459b559a8b94d62bc5b04638",
        "55baca288135ca376df973219f71525a3b72fc4c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 08 03:22:36 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 08 03:22:36 2019 +0000"
      },
      "message": "Merge \"AImageReader: avoid edit during traversing\""
    },
    {
      "commit": "797a0e9ea4e3d16e459b559a8b94d62bc5b04638",
      "tree": "091d11806c2c295c1629afbd11617ec4392f1a6e",
      "parents": [
        "4400c9791fefc04d0c991d5f9461a67db151045d",
        "919f85f20efe47e23a37b053a05ff071a770d1d0"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 08 01:31:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 08 01:31:25 2019 +0000"
      },
      "message": "Merge changes from topic \"mp2_ndk\"\n\n* changes:\n  MediaPlayer2: replace IPCThreadState with libbinder_ndk.\n  Completely remove Metadata from MediaPlayer2.\n"
    },
    {
      "commit": "4400c9791fefc04d0c991d5f9461a67db151045d",
      "tree": "abf8d102726f2d338c6383bab856df77050a5fb0",
      "parents": [
        "c26cc64671b201face4f31e8b78198cfc0f1510b",
        "cb711fcd0e6f50e8be070ab7f948e617280472c8"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jan 07 15:12:01 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 07 15:12:01 2019 -0800"
      },
      "message": "audioserver: Use \u0027_exit\u0027 instead of \u0027exit\u0027 in HalDeathHandler am: 06c5d53533\nam: cb711fcd0e\n\nChange-Id: I1f5bba713da77e307f0502ce048565457d51c4d6\n"
    },
    {
      "commit": "cb711fcd0e6f50e8be070ab7f948e617280472c8",
      "tree": "e915c431d8cda1c2c7ac13a46cd12e6b4708b8cc",
      "parents": [
        "1f2177184f3a8191083598bc9194116defe07d30",
        "06c5d535332898944d627b6e114d1f39ae3e6c86"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jan 07 15:06:47 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 07 15:06:47 2019 -0800"
      },
      "message": "audioserver: Use \u0027_exit\u0027 instead of \u0027exit\u0027 in HalDeathHandler\nam: 06c5d53533\n\nChange-Id: Ifa0f25481395646d81dc61b572262c527c86d0b5\n"
    },
    {
      "commit": "919f85f20efe47e23a37b053a05ff071a770d1d0",
      "tree": "a6d13bfe4931b27376f7ecef278dffe30652fe5d",
      "parents": [
        "2c66f89ff17cc327ace5a6104676a6197a15585e"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 07 14:58:00 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 07 15:06:26 2019 -0800"
      },
      "message": "MediaPlayer2: replace IPCThreadState with libbinder_ndk.\n\ncheckCallingPermission() testing in dumpPlayers is dropped\nsince MediaPlayer2 is not running on system service so the\nchecking in MediaPlayer2 is not meaningful.\n\nTest: make libmedia2_jni\nBug: 112766913\nChange-Id: I8af753f0d83689f92348ecf986c30c75d7ae12ff\n"
    },
    {
      "commit": "2c66f89ff17cc327ace5a6104676a6197a15585e",
      "tree": "048f570dd414fa247e42e316f0b95e61073f1449",
      "parents": [
        "c186a6f9409d7f51c2b82d055b792657d60bb07f"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 07 14:39:17 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 07 15:06:23 2019 -0800"
      },
      "message": "Completely remove Metadata from MediaPlayer2.\n\ndeprecated Metadata class has dependency on libbinder, so this change\nremoves Metadata usage from MediaPlayer2 completely.\n\nTest: make libmedia2_jni\nBug: 112766913\nChange-Id: I32b0ae618c524a32afee07a21e950dbfad3e5750\n"
    },
    {
      "commit": "55baca288135ca376df973219f71525a3b72fc4c",
      "tree": "2090c4fd22f90c34f8e29c5ca1fb576f6e30cbef",
      "parents": [
        "51460e50ad3849345a614ff060b3db938975b9b5"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 07 13:54:13 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 07 13:54:13 2019 -0800"
      },
      "message": "AImageReader: avoid edit during traversing\n\nTest: HWAsan build + CTS NativeImageReaderTest\nBug: 119839845\nChange-Id: Ic22dba944e233fc55b5fe35004148867348f951a\n"
    },
    {
      "commit": "c26cc64671b201face4f31e8b78198cfc0f1510b",
      "tree": "abf8d102726f2d338c6383bab856df77050a5fb0",
      "parents": [
        "c186a6f9409d7f51c2b82d055b792657d60bb07f",
        "896b4d6dd04b8624fdb46963f37e494461a4ec45"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 07 19:38:27 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 07 19:38:27 2019 +0000"
      },
      "message": "Merge \"NuPlayer2Renderer: support 8/16 bit and float PCM types\""
    },
    {
      "commit": "c186a6f9409d7f51c2b82d055b792657d60bb07f",
      "tree": "9d3295609bf51380a81f8a8ba6b83c560ef70d8b",
      "parents": [
        "b6a2daca03f37b95d999aae53dce9a68a0cdb936",
        "76c72c34d4bb80573cf42fa3ed43227e57dd2030"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 07 18:24:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 07 18:24:24 2019 +0000"
      },
      "message": "Merge \"SoftOpus: fix out of bounds access\""
    },
    {
      "commit": "b6a2daca03f37b95d999aae53dce9a68a0cdb936",
      "tree": "31f6b4bb2bbb6cfd89284e61f1d509ca80d9104f",
      "parents": [
        "03de12c486f8db9db83f4ec2555b1d28ec01acf6",
        "b6826d9e88b521c5c970cf748db83b43c70d56d1"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Jan 07 18:18:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 07 18:18:16 2019 +0000"
      },
      "message": "Merge \"Use ICU in libandroidicu\""
    },
    {
      "commit": "06c5d535332898944d627b6e114d1f39ae3e6c86",
      "tree": "b1241262673a55d15a9b3a0f9bb4dd008e88985e",
      "parents": [
        "77f8cbf779fdfb4b0189617983e52bf87a77baf9"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 14 10:48:17 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jan 07 17:14:15 2019 +0000"
      },
      "message": "audioserver: Use \u0027_exit\u0027 instead of \u0027exit\u0027 in HalDeathHandler\n\nUsing \u0027exit\u0027 from an RPC threadpool thread is not safe, as \u0027exit\u0027\nruns atexit handlers that destroy global objects. This can interfere\nwith code still running on other threads.\n\n\u0027_exit\u0027 does not run atexit handlers, just terminates the process.\n\nBug: 116665972\nTest: kill android.hardware.audio@2.0-service, check logcat\nChange-Id: I5391a659e359e0ca5bba580f1c51dea5df3ea562\n(cherry picked from commit 5beb4810060cda2afea1c89f98caf5c337763c0a)\n"
    },
    {
      "commit": "03de12c486f8db9db83f4ec2555b1d28ec01acf6",
      "tree": "a5843879b0d85fe6e24fd951b6d252c0fcee5115",
      "parents": [
        "26ac00d36f525a0299b3cb998590bea7f62f7cdf"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Jan 07 12:07:20 2019 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Jan 07 12:07:20 2019 +0900"
      },
      "message": "Resolve hidden API usage of Handler constructor\n\nPrevious code uses hidden constructor of Handler to set its messages\nto be asynchronous. This replaces it with Message#setAsynchronous(),\nwhich is public.\n\nBug: 122047488\nTest: build\nChange-Id: Icaeffcbcba5bc82a9162cdd17df7190d72a43bdd\n"
    },
    {
      "commit": "26ac00d36f525a0299b3cb998590bea7f62f7cdf",
      "tree": "9317eeadd33dc4b3a3097210684572f879354bc8",
      "parents": [
        "52e19d498d28d176c754740b55c025deca70d990",
        "707c1468b52b683753cf5d29811d67eb42a6a8ee"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 05 02:55:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 05 02:55:05 2019 +0000"
      },
      "message": "Merge \"Plumbing to recognize AV1 content\""
    },
    {
      "commit": "52e19d498d28d176c754740b55c025deca70d990",
      "tree": "4022e604169245f585428cabbe3d4318dd9677c4",
      "parents": [
        "53b94f90f542a245e10af849bbc05980cfd70175",
        "20729a775fb11b0d20abfe13b156b1e11ff2bb46"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 05 02:02:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 05 02:02:39 2019 +0000"
      },
      "message": "Merge \"Use setAddress to set microphone address when it is empty.\""
    },
    {
      "commit": "20729a775fb11b0d20abfe13b156b1e11ff2bb46",
      "tree": "8ce7765746c27d244dfa4f3470ff01ddc2d46ee1",
      "parents": [
        "77a428b58b1ab5d5f7212d8b1d4dbac20a985018"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Jan 04 16:01:55 2019 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Jan 04 16:01:55 2019 -0800"
      },
      "message": "Use setAddress to set microphone address when it is empty.\n\nIt is impossible to set address for input device via address(). Use\nsetAddress instead.\n\nBug: 122330994\nTest: run cts\nChange-Id: Ia588ad0b5c0d71dc532422bc2434105716b924c9\n"
    },
    {
      "commit": "53b94f90f542a245e10af849bbc05980cfd70175",
      "tree": "6ea42e8ecb18b573f3cfbacc32a0241b28e1982e",
      "parents": [
        "df182ecb151032564aa9e86c0220743f5fc2197b",
        "b0d1c1b901819a038ed2cc75310e319065955a5e"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 04 23:35:19 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 23:35:19 2019 +0000"
      },
      "message": "Merge \"SoftXaac: types and allocations\""
    },
    {
      "commit": "896b4d6dd04b8624fdb46963f37e494461a4ec45",
      "tree": "2c221b1e3e7af57db8ca0b7b9f882df3b8659b0d",
      "parents": [
        "8bd05d3cb43121321053e10f1836b5da6f61271f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jan 04 15:26:48 2019 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jan 04 15:26:48 2019 -0800"
      },
      "message": "NuPlayer2Renderer: support 8/16 bit and float PCM types\n\nTest: cts\nBug: 120749869\nChange-Id: I95f9865e7cea00e57f3faebeefd5cd095736201d\n"
    },
    {
      "commit": "df182ecb151032564aa9e86c0220743f5fc2197b",
      "tree": "c6581128424cf26bb7e583f5fde26070854d401d",
      "parents": [
        "100288c4732c7bc4225b6b66e8c9bd9383af71fb",
        "36824249a0ef8ef6f7ef6f6db77e8409c2fa964e"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 04 23:19:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 23:19:48 2019 +0000"
      },
      "message": "Merge \"Verify non-null format when starting AudioPlayer\""
    },
    {
      "commit": "100288c4732c7bc4225b6b66e8c9bd9383af71fb",
      "tree": "e766d395983e457863780e57cb85e9e314d9aa34",
      "parents": [
        "566534bb7a0d62766f8c04b1dfd716ddc67d6520",
        "1225b9329367ab30587983c78f343734c33af4d4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 04 23:00:02 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 23:00:02 2019 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: handle fractional audio data before EOS\""
    },
    {
      "commit": "566534bb7a0d62766f8c04b1dfd716ddc67d6520",
      "tree": "75e95db9ec4056533f790fc11eea7fcb181f1a90",
      "parents": [
        "51460e50ad3849345a614ff060b3db938975b9b5",
        "f03d9359e9d37ed3cc58afe763848e65ffb560e1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 04 23:00:00 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 23:00:00 2019 +0000"
      },
      "message": "Merge \"cas: check descrambler status in ATSParser\""
    },
    {
      "commit": "51460e50ad3849345a614ff060b3db938975b9b5",
      "tree": "da5717491c933fa8abe861ce7a0c870466287292",
      "parents": [
        "6b344f773cb7e1033476225f15092dc6a1bf7687",
        "d3067439fa2c33d917f58fce7e036ea289ae9378"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Fri Jan 04 22:27:45 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 22:27:45 2019 +0000"
      },
      "message": "Merge changes from topic \"c2-mts-multiple-input\"\n\n* changes:\n  codec2: MTS add support for multiple-input in VideoDectest\n  codec2: MTS add support for multiple-input in AudioDectest\n"
    },
    {
      "commit": "76c72c34d4bb80573cf42fa3ed43227e57dd2030",
      "tree": "2bba98ae2da141c3e41d68f3edd687f4916485e3",
      "parents": [
        "f421908d8072a18efb2461d20f2997cb4f4f0d7c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 04 14:01:57 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 04 14:19:33 2019 -0800"
      },
      "message": "SoftOpus: fix out of bounds access\n\nBug: 117661116\nTest: CTS, manual\nChange-Id: I40991947c3bd37aba6bfa623416fb8fdbdfe7842\n"
    },
    {
      "commit": "1225b9329367ab30587983c78f343734c33af4d4",
      "tree": "5577c8387b58e6524d34f50c131f6fcc321012b7",
      "parents": [
        "8bd05d3cb43121321053e10f1836b5da6f61271f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jan 04 12:44:38 2019 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jan 04 12:52:29 2019 -0800"
      },
      "message": "NuPlayerRenderer: handle fractional audio data before EOS\n\nWhen audio reaches EOS and MediaClock has not started, use video\ntimestamp to start MediaClock.\nTest: MediaPlayer sends MEDIA_PLAYBACK_COMPLETE\nBug: 122052445\n\nChange-Id: Ia37643b8d5260cda0e7cde22dea883804511cff6\n"
    },
    {
      "commit": "6b344f773cb7e1033476225f15092dc6a1bf7687",
      "tree": "7e435197b491a26ae917b1a74ee977413a0c2363",
      "parents": [
        "58b9bd5b6f271d7382c56288e98f031e48ba65dc",
        "84889cbfd31daadca6fd0ef8048bf99104373e30"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 04 20:25:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 20:25:46 2019 +0000"
      },
      "message": "Merge \"aacenc: fix timestamp calculation\""
    },
    {
      "commit": "f03d9359e9d37ed3cc58afe763848e65ffb560e1",
      "tree": "cecf5bb39c0e51a1f30ee7cff4f93fb7af2089db",
      "parents": [
        "e22ed7bc6b62eb90b18212cd74f332ace49ff407"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jan 04 11:24:47 2019 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jan 04 11:25:51 2019 -0800"
      },
      "message": "cas: check descrambler status in ATSParser\n\nbug: 120303321\nChange-Id: Iffd24d75173ba2a4453945860f0b419035440581\n"
    },
    {
      "commit": "d3067439fa2c33d917f58fce7e036ea289ae9378",
      "tree": "f639c765cfa2af9fdc4ad0295cff67a0130a3891",
      "parents": [
        "a5ecb6497152b311fa9de454af9923ceee3708b2"
      ],
      "author": {
        "name": "Rakesh Kumar",
        "email": "rakesh.kumar@ittiam.com",
        "time": "Mon Dec 17 17:05:36 2018 +0530"
      },
      "committer": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Fri Jan 04 11:12:58 2019 -0800"
      },
      "message": "codec2: MTS add support for multiple-input in VideoDectest\n\nTest: MtsHidlC2V1_0TargetVideoDecTest -I software -C c2.android.avc.decoder -P /sdcard/res/\nBug: 80272610\n\nChange-Id: I5061a6994701246f279641af8d2c4ad14c3c69b3\n"
    },
    {
      "commit": "a5ecb6497152b311fa9de454af9923ceee3708b2",
      "tree": "4f0e3f18e31023f089c82467427572b65e5537bb",
      "parents": [
        "424993f0655c18f91562efc9d127f0ac970da6fa"
      ],
      "author": {
        "name": "Rakesh Kumar",
        "email": "rakesh.kumar@ittiam.com",
        "time": "Tue Dec 18 18:24:57 2018 +0530"
      },
      "committer": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Fri Jan 04 10:56:28 2019 -0800"
      },
      "message": "codec2: MTS add support for multiple-input in AudioDectest\n\nTest: MtsHidlC2V1_0TargetAudioDecTest -I software -P /sdcard/res/ -C c2.android.mp3.decoder\nBug: 80272610\nChange-Id: Ibe031ffa3815d18a071bc8f2f23c2ba6dce403aa\n"
    },
    {
      "commit": "58b9bd5b6f271d7382c56288e98f031e48ba65dc",
      "tree": "618a6c6a3247dadbf7243a87ceda93a4b45eac2d",
      "parents": [
        "decf9a511ea1be599b62aae8e7a39cf2497437aa",
        "a1ac9f8b52693ec9f468712232fd08b2c3aad9c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 04 18:12:51 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 18:12:51 2019 +0000"
      },
      "message": "Merge \"add color converter for NV12 to RGB\""
    },
    {
      "commit": "decf9a511ea1be599b62aae8e7a39cf2497437aa",
      "tree": "cbf167391d4b98474a58eecbb1ccaed72188a4d6",
      "parents": [
        "f421908d8072a18efb2461d20f2997cb4f4f0d7c",
        "1da72ee18a983bb98c95affee107957f9c0459ca"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 04 17:59:43 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 17:59:43 2019 +0000"
      },
      "message": "Merge \"ACodec: log when pcm encoding converter is created\""
    },
    {
      "commit": "f421908d8072a18efb2461d20f2997cb4f4f0d7c",
      "tree": "53069665615a7eae74f410545f62e5500f588fd2",
      "parents": [
        "91cca480d3634112b7a2d5833dda223e8b47621b",
        "0fbfa6f0a89b56e4c7bb8b9343b4be5512ed805c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 04 15:55:50 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 15:55:50 2019 +0000"
      },
      "message": "Merge \"Fix various DRM related tests\""
    },
    {
      "commit": "91cca480d3634112b7a2d5833dda223e8b47621b",
      "tree": "928a92028e41e94821bbb86e23ed42380b88f218",
      "parents": [
        "991da95b2319a037bacaac6686c91f9d43b47e34",
        "0cb5a09f475cd8759da879216272c581b75e2073"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 04 05:10:32 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 05:10:32 2019 +0000"
      },
      "message": "Merge \"codec2: make allocation blocking for software codecs\""
    },
    {
      "commit": "991da95b2319a037bacaac6686c91f9d43b47e34",
      "tree": "9a863c7c5fdc79d68b164a960d8bb0056471b8d1",
      "parents": [
        "a7723305f9a09fc68a500374c51319403bfce246",
        "a57cff4e6c41c2eaf7c63cc6c5fc8f06c11f8306"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 04 02:22:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 02:22:46 2019 +0000"
      },
      "message": "Merge \"MediaRecorder.h:correct MEDIA_RECORDER_ERROR enum\""
    },
    {
      "commit": "84889cbfd31daadca6fd0ef8048bf99104373e30",
      "tree": "f542c8f4605ae5e63eaa7ce214b67f9fffbcdfda",
      "parents": [
        "ebaf2f5885ee21375545f6b4b98d9e99d226ec39"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 03 17:07:54 2019 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 03 17:08:44 2019 -0800"
      },
      "message": "aacenc: fix timestamp calculation\n\nTest: log audio timestamps\nChange-Id: Ic09173b871a25366930e38b36e7c398c0dba24cc\n"
    },
    {
      "commit": "0cb5a09f475cd8759da879216272c581b75e2073",
      "tree": "cac26e386b350a91127905669690102b0eddbfe6",
      "parents": [
        "ebaf2f5885ee21375545f6b4b98d9e99d226ec39"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 03 16:38:22 2019 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 03 16:38:22 2019 -0800"
      },
      "message": "codec2: make allocation blocking for software codecs\n\nBug: 120490517\nTest: bug repro steps\nChange-Id: Ifb151ad4ba77b013d9e6689177b7b501ecdd54c5\n"
    },
    {
      "commit": "1da72ee18a983bb98c95affee107957f9c0459ca",
      "tree": "59c6f0ab4e847be40ccafbb2b02b61576d04ded0",
      "parents": [
        "ebaf2f5885ee21375545f6b4b98d9e99d226ec39"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 03 15:27:52 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 03 15:27:52 2019 -0800"
      },
      "message": "ACodec: log when pcm encoding converter is created\n\nTest: MediaCodecTest#testPCMEncoding\nBug: 122275566\nChange-Id: I53160551e680d4e8fd4c2e93babccb79d95c9fe4\n"
    },
    {
      "commit": "a7723305f9a09fc68a500374c51319403bfce246",
      "tree": "d79e426898645c89dceb77bc3def5432e5b756b3",
      "parents": [
        "55c4a8a29a03c6cb82365627c3f7bd28f0ee33b1",
        "1f2177184f3a8191083598bc9194116defe07d30"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 15:10:32 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:10:32 2019 -0800"
      },
      "message": "[automerger skipped] RESTRICT AUTOMERGE: aaudio: improve test_atomic_fifo am: 31a8d44075 -s ours am skip reason: subject contains skip directive am: 77f8cbf779\nam: 1f2177184f -s ours\nam skip reason: subject contains skip directive\n\nChange-Id: I6580a6251497f0ae7406c7ba6723ea8ec0dfd211\n"
    },
    {
      "commit": "55c4a8a29a03c6cb82365627c3f7bd28f0ee33b1",
      "tree": "d79e426898645c89dceb77bc3def5432e5b756b3",
      "parents": [
        "904b5bfe36f710735cab75a421452d97a2bc0b12",
        "00a64e82e92ead72d39e2bbecb068b3f0484487d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 15:10:17 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:10:17 2019 -0800"
      },
      "message": "[automerger skipped] RESTRICT AUTOMERGE: aaudio: Fix converting negative FIFO counters to index am: d1fc53ca84 -s ours am skip reason: subject contains skip directive am: 8080a75d1d\nam: 00a64e82e9 -s ours\nam skip reason: subject contains skip directive\n\nChange-Id: I5135c557ad27575c7efafc86e8e0edda7e84755d\n"
    },
    {
      "commit": "904b5bfe36f710735cab75a421452d97a2bc0b12",
      "tree": "d79e426898645c89dceb77bc3def5432e5b756b3",
      "parents": [
        "27447acd889bd3226cd4c28e2e33f974ed82deb1",
        "c26edc100612cc5d65234a6d10c18318b84eeddb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 15:10:02 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:10:02 2019 -0800"
      },
      "message": "[automerger skipped] RESTRICT AUTOMERGE: aaudio: fix FIFO wrapround frame counts am: 685607be81 -s ours am skip reason: subject contains skip directive am: 23cb3afb48\nam: c26edc1006 -s ours\nam skip reason: subject contains skip directive\n\nChange-Id: I82c2513a88f0f5aee030ab079753cd1579a8a766\n"
    },
    {
      "commit": "27447acd889bd3226cd4c28e2e33f974ed82deb1",
      "tree": "d79e426898645c89dceb77bc3def5432e5b756b3",
      "parents": [
        "f4ce91ff98773dd8e2c5fe1645a6738459c5e66b",
        "62d3e69287f43b43e45d83f47012186ef7442a29"
      ],
      "author": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Jan 03 15:09:42 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:09:42 2019 -0800"
      },
      "message": "[automerger skipped] Merge \"RESTRICT AUTOMERGE: aaudio: improve test_atomic_fifo\" into pi-dev am: 63fa96e59d\nam: 62d3e69287 -s ours\nam skip reason: subject contains skip directive\n\nChange-Id: Ia0fff32b6d722c22b514f32350f49f0a63c7ffbd\n"
    },
    {
      "commit": "f4ce91ff98773dd8e2c5fe1645a6738459c5e66b",
      "tree": "d79e426898645c89dceb77bc3def5432e5b756b3",
      "parents": [
        "ebaf2f5885ee21375545f6b4b98d9e99d226ec39",
        "408a3da9a4dfdff97005ac9047eee5095c2122fc"
      ],
      "author": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Jan 03 15:09:22 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:09:22 2019 -0800"
      },
      "message": "[automerger skipped] Merge \"RESTRICT AUTOMERGE: aaudio: Fix converting negative FIFO counters to index\" into pi-dev am: 88a6893083\nam: 408a3da9a4 -s ours\nam skip reason: subject contains skip directive\n\nChange-Id: I18ad4cec0430aa8b3ef54acf569f99e4bcbc30ac\n"
    },
    {
      "commit": "1f2177184f3a8191083598bc9194116defe07d30",
      "tree": "5472e1a81892f18689a70890a892751012f1061b",
      "parents": [
        "00a64e82e92ead72d39e2bbecb068b3f0484487d",
        "77f8cbf779fdfb4b0189617983e52bf87a77baf9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 15:05:32 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:05:32 2019 -0800"
      },
      "message": "[automerger skipped] RESTRICT AUTOMERGE: aaudio: improve test_atomic_fifo am: 31a8d44075 -s ours am skip reason: subject contains skip directive\nam: 77f8cbf779\n\nChange-Id: Ifbed3e081e7bbf7bda967106d3d3a21f83efc6c9\n"
    },
    {
      "commit": "00a64e82e92ead72d39e2bbecb068b3f0484487d",
      "tree": "5472e1a81892f18689a70890a892751012f1061b",
      "parents": [
        "c26edc100612cc5d65234a6d10c18318b84eeddb",
        "8080a75d1de71554048689ddb0d24a3d62ddd73b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 15:04:55 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:04:55 2019 -0800"
      },
      "message": "[automerger skipped] RESTRICT AUTOMERGE: aaudio: Fix converting negative FIFO counters to index am: d1fc53ca84 -s ours am skip reason: subject contains skip directive\nam: 8080a75d1d\n\nChange-Id: Ib0708e1d8afac7f588cf6ec8efb62ee66df28d3b\n"
    },
    {
      "commit": "c26edc100612cc5d65234a6d10c18318b84eeddb",
      "tree": "5472e1a81892f18689a70890a892751012f1061b",
      "parents": [
        "62d3e69287f43b43e45d83f47012186ef7442a29",
        "23cb3afb48136e833c721024c955a1d3570af158"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 15:04:19 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:04:19 2019 -0800"
      },
      "message": "[automerger skipped] RESTRICT AUTOMERGE: aaudio: fix FIFO wrapround frame counts am: 685607be81 -s ours am skip reason: subject contains skip directive\nam: 23cb3afb48\n\nChange-Id: I265f2fd6a30997a3f9f7fdb96ed41d04ab0a629d\n"
    },
    {
      "commit": "62d3e69287f43b43e45d83f47012186ef7442a29",
      "tree": "5472e1a81892f18689a70890a892751012f1061b",
      "parents": [
        "408a3da9a4dfdff97005ac9047eee5095c2122fc",
        "63fa96e59d959192fbd5b688dbac7a71bbbb4616"
      ],
      "author": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Jan 03 15:03:44 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:03:44 2019 -0800"
      },
      "message": "Merge \"RESTRICT AUTOMERGE: aaudio: improve test_atomic_fifo\" into pi-dev\nam: 63fa96e59d\n\nChange-Id: Ie661320602be516dffb32dcf21b19229bb61dd1f\n"
    },
    {
      "commit": "408a3da9a4dfdff97005ac9047eee5095c2122fc",
      "tree": "8c95f3c4716b863c9fa7faff0a2d82cdd2045174",
      "parents": [
        "98d75e7d7fccdb8e14596ec58a60fe6184f28145",
        "88a6893083e80feabc37281dc661c8ad41e0d2fb"
      ],
      "author": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Jan 03 15:02:56 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:02:56 2019 -0800"
      },
      "message": "Merge \"RESTRICT AUTOMERGE: aaudio: Fix converting negative FIFO counters to index\" into pi-dev\nam: 88a6893083\n\nChange-Id: Ic29823c6acf3c6857c632c815e1b4f50b77762f9\n"
    },
    {
      "commit": "77f8cbf779fdfb4b0189617983e52bf87a77baf9",
      "tree": "c3620c7bec498e77a513836abc715df43458613e",
      "parents": [
        "8080a75d1de71554048689ddb0d24a3d62ddd73b",
        "31a8d44075f37f75d5912d79a43d777587b2d695"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 15:00:03 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 15:00:03 2019 -0800"
      },
      "message": "[automerger skipped] RESTRICT AUTOMERGE: aaudio: improve test_atomic_fifo\nam: 31a8d44075 -s ours\nam skip reason: subject contains skip directive\n\nChange-Id: I9d76f28e8613e6747733ac8722c8ed3170b6eb25\n"
    },
    {
      "commit": "8080a75d1de71554048689ddb0d24a3d62ddd73b",
      "tree": "c3620c7bec498e77a513836abc715df43458613e",
      "parents": [
        "23cb3afb48136e833c721024c955a1d3570af158",
        "d1fc53ca84b3d8d074fb27e192dea8204c1fb221"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 14:59:43 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 14:59:43 2019 -0800"
      },
      "message": "[automerger skipped] RESTRICT AUTOMERGE: aaudio: Fix converting negative FIFO counters to index\nam: d1fc53ca84 -s ours\nam skip reason: subject contains skip directive\n\nChange-Id: Ic460f91b80a5a5c77309e006a07e5546a3841705\n"
    },
    {
      "commit": "23cb3afb48136e833c721024c955a1d3570af158",
      "tree": "c3620c7bec498e77a513836abc715df43458613e",
      "parents": [
        "63fa96e59d959192fbd5b688dbac7a71bbbb4616",
        "685607be811e6d5fffc407d71a2703de9c351969"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 03 14:59:16 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 03 14:59:16 2019 -0800"
      },
      "message": "[automerger skipped] RESTRICT AUTOMERGE: aaudio: fix FIFO wrapround frame counts\nam: 685607be81 -s ours\nam skip reason: subject contains skip directive\n\nChange-Id: I752d73ca01f173c26def655f4661d1af8e1e9d68\n"
    },
    {
      "commit": "63fa96e59d959192fbd5b688dbac7a71bbbb4616",
      "tree": "c3620c7bec498e77a513836abc715df43458613e",
      "parents": [
        "88a6893083e80feabc37281dc661c8ad41e0d2fb",
        "fcdc02782c939aac336da48f8859ba1dccae3806"
      ],
      "author": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Jan 03 22:45:50 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 03 22:45:50 2019 +0000"
      },
      "message": "Merge \"RESTRICT AUTOMERGE: aaudio: improve test_atomic_fifo\" into pi-dev"
    },
    {
      "commit": "88a6893083e80feabc37281dc661c8ad41e0d2fb",
      "tree": "1d299c35036ee46e6535f3e2ceb35abff2888026",
      "parents": [
        "4339a80b5a1722bfc7d4103388d082957b7de38e",
        "f4f81427681d2a736fc9b783dd967bc0661cca73"
      ],
      "author": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Jan 03 22:45:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 03 22:45:46 2019 +0000"
      },
      "message": "Merge \"RESTRICT AUTOMERGE: aaudio: Fix converting negative FIFO counters to index\" into pi-dev"
    },
    {
      "commit": "0fbfa6f0a89b56e4c7bb8b9343b4be5512ed805c",
      "tree": "66404519b798f1fa036c290e4e5260defeb5a970",
      "parents": [
        "8bd05d3cb43121321053e10f1836b5da6f61271f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 03 14:30:06 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 03 14:30:06 2019 -0800"
      },
      "message": "Fix various DRM related tests\n\nBug: 122279759\nTest: GTS\nChange-Id: Ibcb9d9edb0f59fff03182d44cea640d8177e34be\n"
    },
    {
      "commit": "31a8d44075f37f75d5912d79a43d777587b2d695",
      "tree": "273c79fba567eb970ccc5a8c29cbf08dcc347148",
      "parents": [
        "d1fc53ca84b3d8d074fb27e192dea8204c1fb221"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 03 10:10:21 2018 -0800"
      },
      "committer": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Jan 03 20:09:16 2019 +0000"
      },
      "message": "RESTRICT AUTOMERGE: aaudio: improve test_atomic_fifo\n\nCheck for the effects of setting a bogus counter.\nCheck for writes to memory surrounding the FIFO.\nCheck for negative array indices.\n\nBug: 120789744\nTest: this is a test\nChange-Id: Ia30cdef7f9d60f0a98b9af964cb3b3159df37dc9\n"
    },
    {
      "commit": "d1fc53ca84b3d8d074fb27e192dea8204c1fb221",
      "tree": "1ee079b54dcbe3eee6cf868880e115fdc211be4a",
      "parents": [
        "685607be811e6d5fffc407d71a2703de9c351969"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 03 14:16:46 2018 -0800"
      },
      "committer": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Jan 03 20:08:51 2019 +0000"
      },
      "message": "RESTRICT AUTOMERGE: aaudio: Fix converting negative FIFO counters to index\n\nThe index into the FIFO is calculated by using:\n\n    counter % capacity\n\nBut the counter is signed and when it is negative the\nmodulo can have a negative result. That can cause\na negative array index and an access out of bounds.\n\nThis is not normally a problem because the counter\nis 64 bits and it will not overflow until the audio\nhas run for a few million years. But a hacker might\nbe able to modify this internal counter and force\nan error.\n\nThe solution involves casting to a uint64_t before doing\nthe modulo.\n\nNote that there may still be a discontinuity when the\ncounter wraps from -1 to 0. But that will not result\nin an out-of-bounds access. It may cause a noise but\nan app could simply create a noise directly. So that is\nnot considered an exploit.\n\nBug: 120789744\nTest: test_atomic_fifo.cpp\nChange-Id: I6fe57bcb44528d29b5edb817c592e5e9a8aaf8eb\n"
    },
    {
      "commit": "fcdc02782c939aac336da48f8859ba1dccae3806",
      "tree": "57462d493e0241141f2f051afbf4890bd3f3b4d1",
      "parents": [
        "f4f81427681d2a736fc9b783dd967bc0661cca73"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 03 10:10:21 2018 -0800"
      },
      "committer": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Jan 03 20:08:16 2019 +0000"
      },
      "message": "RESTRICT AUTOMERGE: aaudio: improve test_atomic_fifo\n\nCheck for the effects of setting a bogus counter.\nCheck for writes to memory surrounding the FIFO.\nCheck for negative array indices.\n\nBug: 120789744\nTest: this is a test\nChange-Id: Ia30cdef7f9d60f0a98b9af964cb3b3159df37dc9\n"
    },
    {
      "commit": "ebaf2f5885ee21375545f6b4b98d9e99d226ec39",
      "tree": "d79e426898645c89dceb77bc3def5432e5b756b3",
      "parents": [
        "8bd05d3cb43121321053e10f1836b5da6f61271f",
        "de68228564d2686c702e93c0f13f7ff75b50e939"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 03 19:51:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 03 19:51:16 2019 +0000"
      },
      "message": "Merge \"MediaController: Use Context#getPackageName() for RemoteUserInfo\""
    },
    {
      "commit": "a1ac9f8b52693ec9f468712232fd08b2c3aad9c5",
      "tree": "d3acd1b11505042293d4bc07f1dcf68804bedc48",
      "parents": [
        "e22ed7bc6b62eb90b18212cd74f332ace49ff407"
      ],
      "author": {
        "name": "melvin xu",
        "email": "melvin.xu@spreadtrum.com",
        "time": "Tue Dec 18 13:15:08 2018 +0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jan 03 18:55:10 2019 +0000"
      },
      "message": "add color converter for NV12 to RGB\n\n(cherry-picked from https://android-review.googlesource.com/c/platform/frameworks/av/+/773126/ with fixes on non-zero crops)\n\nCTS-on-gsi test, CtsMediaTestCases -- android.media.cts.MediaMetadataRetrieverTest#testGetFrameAtIndex failed\nCtsMediaTestCases -- android.media.cts.MediaMetadataRetrieverTest#testGetFramesAtIndex failed\nCtsMediaTestCases -- android.media.cts.HeifWriterTest#testInputBitmap_Grid_Handler fail\nCtsMediaTestCases -- android.media.cts.HeifWriterTest#testInputBitmap_Grid_NoHandler fail\nCtsMediaTestCases -- android.media.cts.HeifWriterTest#testInputBitmap_NoGrid_Handler fail\nCtsMediaTestCases -- android.media.cts.HeifWriterTest#testInputBitmap_NoGrid_NoHandler fail\n\n[Android Version]:\nVTS Version 9.0_r2\n\n[CTS pachage version]\nSuite / Plan\tVTS / cts-on-gsi\nSuite / Build\t9.0_R2\n\n[device](Any device config may relate this failure)\nunisoc\u0027s device\nsize:1080*1920\n\n[bugzilla bugid] 117044023\n\n[CTS Test Pre–Condition]\n1.Language set to EN;\n2.Keyguard set to none;\n3.Enable GPS, Wifi network, USB debugging, Stay awake, Allow mock locations.\n4.CTS version is VTS / cts-on-gsi 9.0_r2\n\n[CTS Test Step]:\n1 ./vts-tradefed\n2 run cts-on-gsi\n\n[Expected Result  ]:\nThis case will pass.\n\n[Testing Result]:\ncase failed:\nCtsMediaTestCases\nandroid.media.cts.MediaMetadataRetrieverTest#testGetFrameAtIndex failed\nandroid.media.cts.MediaMetadataRetrieverTest#testGetFramesAtIndex failed\nandroid.media.cts.HeifWriterTest#testInputBitmap_Grid_Handler fail\nandroid.media.cts.HeifWriterTest#testInputBitmap_Grid_NoHandler fail\nandroid.media.cts.HeifWriterTest#testInputBitmap_NoGrid_Handler fail\nandroid.media.cts.HeifWriterTest#testInputBitmap_NoGrid_NoHandler fail\n\n[Analysize]:\nlog:\n07-30 12:21:07.795   364   489 E FrameDecoder: Unable to convert from format 0x00000015 to 0x7f00a000\n07-30 12:21:07.795   364   489 E FrameDecoder: failed to get video frame (err -1010)\nFrom the log, we find the testcase is related with colorformat.\n\nBug #117044023\n\n[root cause]:\n1. we can get below information from source code:\nOMX_COLOR_FormatYUV420SemiPlanar \u003d 0x00000015 ;\nOMX_COLOR_Format32BitRGBA8888 \u003d 0x7f00a000;\n“ MediaMetadataRetrieverTest#testGetFrameAtIndex” cts  case requires the color format of the frame data to be OMX_COLOR_Format32BitRGBA8888 color format.\nFrameworks\\av\\media\\libstagefright\\colorconversion\\ColorConverter.cpp ：\nbool ColorConverter::isValid() const {\n……\n case OMX_COLOR_FormatYUV420Planar:\n            return mDstFormat \u003d\u003d OMX_COLOR_Format16bitRGB565\n                    || mDstFormat \u003d\u003d OMX_COLOR_Format32BitRGBA8888\n                    || mDstFormat \u003d\u003d OMX_COLOR_Format32bitBGRA8888;\ncase OMX_COLOR_FormatYUV420SemiPlanar:\n        case OMX_TI_COLOR_FormatYUV420PackedSemiPlanar:\n            return mDstFormat \u003d\u003d OMX_COLOR_Format16bitRGB565;\n……}\nColorConverter does not support color format conversion from OMX_COLOR_FormatYUV420SemiPlanar to OMX_COLOR_Format32BitRGBA8888.\n\n 2. The input data of this case should be OMX_COLOR_Format32BitRGBA8888 color format, and the ColorConverter in frameworks only support color format conversion from OMX_COLOR_FormatYUV420Planar to OMX_COLOR_Format32BitRGBA8888, does not support  from OMX_COLOR_FormatYUV420SemiPlanar to OMX_COLOR_Format32BitRGBA8888.\n    But the video hardware decoder of Unisoc device can output YUV data with OMX_COLOR_FormatYUV420SemiPlanar color format, it can not output OMX_COLOR_FormatYUV420Planar color format. So this case failed.\n\n[changes]:\nAdd a color conversion code to ColorConverter(Frameworks\\av\\media\\libstagefright\\colorconversion\\ColorConverter.cpp, the patch is listed below). Enable ColorConverter to support color conversion from OMX_COLOR_FormatYUV420SemiPlanar to OMX_COLOR_Format32BitRGBA8888.\nBecause the hardware decoder of Spreadtrum phone does not support OMX_COLOR_FormatYUV420Planar. we need the ColorConverter in frameworks support color format conversion from OMX_COLOR_FormatYUV420SemiPlanar to OMX_COLOR_Format32BitRGBA8888.\n    We will request to waive for this. Could you help us or give us a waiver? Thanks a lot.\n\n[side effects]:No\n[self test]: pass\n[download normally]:Yes\n[power on/off normally]:Yes\n[do common repository/branch inspection]:Yes\n[is there dependence]:No\n[confirm dependent commit]:No\n[board]: unisoc device\n[change_type ] fix\n[tag_product ] common\n[test Case]:as testing steps\n[reviewers]: wenan.hu\n\n[Patch Link]:\nhttps://android-review.googlesource.com/c/platform/frameworks/av/+/773126\n\nChange-Id: I882f3729a9620b4c5c456a3099b5e8809b4b5545\nSigned-off-by: melvin xu \u003cmelvin.xu@spreadtrum.com\u003e\n\nDO NOT MERGE: add color converter for NV12 to RGB\n\n(cherry-picked from aosp/773126, with more fixes on\noffset for non-zero crop)\n\nCTS-on-gsi test, CtsMediaTestCases -- android.media.cts.MediaMetadataRetrieverTest#testGetFrameAtIndex failed\nCtsMediaTestCases -- android.media.cts.MediaMetadataRetrieverTest#testGetFramesAtIndex failed\nCtsMediaTestCases -- android.media.cts.HeifWriterTest#testInputBitmap_Grid_Handler fail\nCtsMediaTestCases -- android.media.cts.HeifWriterTest#testInputBitmap_Grid_NoHandler fail\nCtsMediaTestCases -- android.media.cts.HeifWriterTest#testInputBitmap_NoGrid_Handler fail\nCtsMediaTestCases -- android.media.cts.HeifWriterTest#testInputBitmap_NoGrid_NoHandler fail\n\n[Android Version]:\nVTS Version 9.0_r2\n\n[CTS pachage version]\nSuite / Plan\tVTS / cts-on-gsi\nSuite / Build\t9.0_R2\n\n[device](Any device config may relate this failure)\nunisoc\u0027s device\nsize:1080*1920\n\n[bugzilla bugid] 117044023\n\n[CTS Test Pre–Condition]\n1.Language set to EN;\n2.Keyguard set to none;\n3.Enable GPS, Wifi network, USB debugging, Stay awake, Allow mock locations.\n4.CTS version is VTS / cts-on-gsi 9.0_r2\n\n[CTS Test Step]:\n1 ./vts-tradefed\n2 run cts-on-gsi\n\n[Expected Result  ]:\nThis case will pass.\n\n[Testing Result]:\ncase failed:\nCtsMediaTestCases\nandroid.media.cts.MediaMetadataRetrieverTest#testGetFrameAtIndex failed\nandroid.media.cts.MediaMetadataRetrieverTest#testGetFramesAtIndex failed\nandroid.media.cts.HeifWriterTest#testInputBitmap_Grid_Handler fail\nandroid.media.cts.HeifWriterTest#testInputBitmap_Grid_NoHandler fail\nandroid.media.cts.HeifWriterTest#testInputBitmap_NoGrid_Handler fail\nandroid.media.cts.HeifWriterTest#testInputBitmap_NoGrid_NoHandler fail\n\n[Analysize]:\nlog:\n07-30 12:21:07.795   364   489 E FrameDecoder: Unable to convert from format 0x00000015 to 0x7f00a000\n07-30 12:21:07.795   364   489 E FrameDecoder: failed to get video frame (err -1010)\nFrom the log, we find the testcase is related with colorformat.\n\nBug #117044023\n\n[root cause]:\n1. we can get below information from source code:\nOMX_COLOR_FormatYUV420SemiPlanar \u003d 0x00000015 ;\nOMX_COLOR_Format32BitRGBA8888 \u003d 0x7f00a000;\n“ MediaMetadataRetrieverTest#testGetFrameAtIndex” cts  case requires the color format of the frame data to be OMX_COLOR_Format32BitRGBA8888 color format.\nFrameworks\\av\\media\\libstagefright\\colorconversion\\ColorConverter.cpp ：\nbool ColorConverter::isValid() const {\n……\n case OMX_COLOR_FormatYUV420Planar:\n            return mDstFormat \u003d\u003d OMX_COLOR_Format16bitRGB565\n                    || mDstFormat \u003d\u003d OMX_COLOR_Format32BitRGBA8888\n                    || mDstFormat \u003d\u003d OMX_COLOR_Format32bitBGRA8888;\ncase OMX_COLOR_FormatYUV420SemiPlanar:\n        case OMX_TI_COLOR_FormatYUV420PackedSemiPlanar:\n            return mDstFormat \u003d\u003d OMX_COLOR_Format16bitRGB565;\n……}\nColorConverter does not support color format conversion from OMX_COLOR_FormatYUV420SemiPlanar to OMX_COLOR_Format32BitRGBA8888.\n\n 2. The input data of this case should be OMX_COLOR_Format32BitRGBA8888 color format, and the ColorConverter in frameworks only support color format conversion from OMX_COLOR_FormatYUV420Planar to OMX_COLOR_Format32BitRGBA8888, does not support  from OMX_COLOR_FormatYUV420SemiPlanar to OMX_COLOR_Format32BitRGBA8888.\n    But the video hardware decoder of Unisoc device can output YUV data with OMX_COLOR_FormatYUV420SemiPlanar color format, it can not output OMX_COLOR_FormatYUV420Planar color format. So this case failed.\n\n[changes]:\nAdd a color conversion code to ColorConverter(Frameworks\\av\\media\\libstagefright\\colorconversion\\ColorConverter.cpp, the patch is listed below). Enable ColorConverter to support color conversion from OMX_COLOR_FormatYUV420SemiPlanar to OMX_COLOR_Format32BitRGBA8888.\nBecause the hardware decoder of Spreadtrum phone does not support OMX_COLOR_FormatYUV420Planar. we need the ColorConverter in frameworks support color format conversion from OMX_COLOR_FormatYUV420SemiPlanar to OMX_COLOR_Format32BitRGBA8888.\n    We will request to waive for this. Could you help us or give us a waiver? Thanks a lot.\n\n[side effects]:No\n[self test]: pass\n[download normally]:Yes\n[power on/off normally]:Yes\n[do common repository/branch inspection]:Yes\n[is there dependence]:No\n[confirm dependent commit]:No\n[board]: unisoc device\n[change_type ] fix\n[tag_product ] common\n[test Case]:as testing steps\n[reviewers]: wenan.hu\n\n[Patch Link]:\nhttps://android-review.googlesource.com/c/platform/frameworks/av/+/773126\n\nChange-Id: I882f3729a9620b4c5c456a3099b5e8809b4b5545\nSigned-off-by: melvin xu \u003cmelvin.xu@spreadtrum.com\u003e\n"
    },
    {
      "commit": "a57cff4e6c41c2eaf7c63cc6c5fc8f06c11f8306",
      "tree": "2e85d0b84fdffe228488fedca5e0563b8296ac90",
      "parents": [
        "f25675d38948d6e6eefc45f893f659467eab6471"
      ],
      "author": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Thu Jan 03 10:06:15 2019 -0800"
      },
      "committer": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Thu Jan 03 10:06:15 2019 -0800"
      },
      "message": "MediaRecorder.h:correct MEDIA_RECORDER_ERROR enum\n\nMEDIA_RECORDER_ERROR state had an enum value 0 which would not work with some of the existing\ncode using bitwise operators (mask). Hence, set a new value for this state.\n\nBug: 120389907\n\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg\n      CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\n\nChange-Id: I06f35b7438ff12050dd34bc64fbdca3a5c07b47a\n"
    },
    {
      "commit": "8bd05d3cb43121321053e10f1836b5da6f61271f",
      "tree": "4ec50e1755d8ee0585e04b781ec1f80d2bdc2a25",
      "parents": [
        "e22ed7bc6b62eb90b18212cd74f332ace49ff407",
        "bda70da1f0fb32d37abd704ff8618e55661be0a9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 03 16:16:50 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 03 16:16:50 2019 +0000"
      },
      "message": "Merge \"Dynamic audio policies: multi-zone through uid/device affinity\""
    },
    {
      "commit": "e22ed7bc6b62eb90b18212cd74f332ace49ff407",
      "tree": "4fa7897760342d95e4ed68a097a50f1d8f6bce76",
      "parents": [
        "5240850ee820089cd4ae4274f15a0b6dd8fc2150",
        "adadf1c18f5cf507ae13f0464fceeb717c8c7f94"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 03 00:27:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 03 00:27:24 2019 +0000"
      },
      "message": "Merge \"Enable fstat to seccomp filter for x86_64\""
    },
    {
      "commit": "5240850ee820089cd4ae4274f15a0b6dd8fc2150",
      "tree": "02ac4ddc074642abb7e8f7c17c7c83d9ea01973f",
      "parents": [
        "abf2929e8d084d2ca99d4d8712abbf31c2cb5178",
        "a84a5a306f3addd205a8f3277c83bd22325f878a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 02 22:15:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 02 22:15:16 2019 +0000"
      },
      "message": "Merge \"rate_control.cpp:removed redundant NULL checks\""
    },
    {
      "commit": "adadf1c18f5cf507ae13f0464fceeb717c8c7f94",
      "tree": "85c6ac86a7612ae6632c631802be3cef32c49276",
      "parents": [
        "fd7fa089178267bf6cabd691b674f87364f589bd"
      ],
      "author": {
        "name": "ji, zhenlong z",
        "email": "zhenlong.z.ji@intel.com",
        "time": "Tue Nov 06 16:04:51 2018 +0800"
      },
      "committer": {
        "name": "Karthik Ramakrishnan",
        "email": "karthikmr@google.com",
        "time": "Wed Jan 02 21:57:15 2019 +0000"
      },
      "message": "Enable fstat to seccomp filter for x86_64\n\nbug: 120238328\nTest: run CTS case - android.security.cts.ProcessMustUseSeccompTest\n\nChange-Id: I08ac4d75d77061a48641973cff61d51fee3c5c28\n"
    },
    {
      "commit": "bda70da1f0fb32d37abd704ff8618e55661be0a9",
      "tree": "a850374439d404da29938e2b038457926197d826",
      "parents": [
        "abf2929e8d084d2ca99d4d8712abbf31c2cb5178"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 19 07:30:15 2018 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 02 12:27:35 2019 -0800"
      },
      "message": "Dynamic audio policies: multi-zone through uid/device affinity\n\nSetting audio device affinity for a given uid augments all\n audio mix criteria that do not route to the given devices\n to exclude the uid.\nAudioPolicyManager: after changing the device affinity,\n check the outputs addressing the devices to re-evaluate\n audio routing\n\nBug: 111647296\nTest: requires device with routing policy started by CarService\nChange-Id: I72de54ae067151fe6ac2ec43b78fe544a9fd9888\n"
    },
    {
      "commit": "abf2929e8d084d2ca99d4d8712abbf31c2cb5178",
      "tree": "8786c645daba0107ccacc29abafbd437b415e934",
      "parents": [
        "f25675d38948d6e6eefc45f893f659467eab6471",
        "338857364319bacb70bcaa524c0837e693eb2814"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 02 17:53:00 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 02 17:53:00 2019 +0000"
      },
      "message": "Merge \"Camera: Add vndk test for logical camera\""
    },
    {
      "commit": "b6826d9e88b521c5c970cf748db83b43c70d56d1",
      "tree": "f6ad0f52bc55d3c13f71f4a572a16fd80d8e26e6",
      "parents": [
        "d1265e14e77943e84a52fd7c04922280dd598899"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Nov 20 19:11:07 2018 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Wed Jan 02 17:30:17 2019 +0000"
      },
      "message": "Use ICU in libandroidicu\n\nlibicuuc and libicui18n are moved into APEX, but\nthey have no stable ABI due to the version suffix.\n\nUse libandroidicu which provides stable symbol.\nSee http://go/apex-stable-icu4c-interface for the design.\nSee http://aosp/801855 for libandroidicu implementation.\n\nBug: 117094880\nTest: m checkbuild\nChange-Id: Ida6aac85dfb79bf8e7a3a2540e567ee211279e09\n"
    },
    {
      "commit": "de68228564d2686c702e93c0f13f7ff75b50e939",
      "tree": "cfa696032c3c7094668a6f806dd2e6ecd1244507",
      "parents": [
        "f25675d38948d6e6eefc45f893f659467eab6471"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Dec 28 21:22:10 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 02 17:24:41 2019 +0900"
      },
      "message": "MediaController: Use Context#getPackageName() for RemoteUserInfo\n\nBug: 111817607, Bug: 111817367\nTest: Manual test, incluing the scenario at b/110525559\nChange-Id: I1e5f7ba4d04d7b1f414cbdcd723e208f0fea29c3\n"
    },
    {
      "commit": "338857364319bacb70bcaa524c0837e693eb2814",
      "tree": "f6e6bffdda5018b33c55658b83787181ceeb9ab1",
      "parents": [
        "73142871e81c42374cb85390efc1fb7adca230f3"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 20 10:34:37 2018 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Dec 31 23:27:39 2018 -0800"
      },
      "message": "Camera: Add vndk test for logical camera\n\nTest: Newly added test pass\nBug: 120566141\nChange-Id: Ib726561bef172ecd3c24844c98938f15e03cc838\n"
    },
    {
      "commit": "f25675d38948d6e6eefc45f893f659467eab6471",
      "tree": "9b1de94d04ca924215092267989f3d4084043d90",
      "parents": [
        "771ffb62909912f4e8e074cd7e8610953fed9ee0",
        "71886f20d865ce16a732fa769c54789e970ec3ce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 28 06:24:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 28 06:24:19 2018 +0000"
      },
      "message": "Merge \"Re-apply Context#getOpPackageName\""
    },
    {
      "commit": "a84a5a306f3addd205a8f3277c83bd22325f878a",
      "tree": "746fe65e1dd04ff6e78058a5e27354d9cf4a1064",
      "parents": [
        "771ffb62909912f4e8e074cd7e8610953fed9ee0"
      ],
      "author": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Thu Dec 27 15:08:25 2018 -0800"
      },
      "committer": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Thu Dec 27 20:25:36 2018 -0800"
      },
      "message": "rate_control.cpp:removed redundant NULL checks\n\nFirst argument (VideoEncData *) of the functions RC_UpdateBuffer, targetBitCalculation and\ncalculateQuantizer_Multipass in rate_control.cpp file of libstagefright_m4vh263enc SoftMPEG4Encoder\nwas checked against NULL after it was already refered successfully.\nHence, those redundant checks are removed now.  Above mentioned functions\u0027 VideoEncData pointer\nargument can\u0027t be null as those functions are called only after successful initialisation in\nPVInitVideoEncoder by SoftMPEG4Encoder::initEncoder.\nrate_control.cpp is compiled as a part of static library : libstagefright_m4vh263enc.\nThis library can only be used using SoftMPEG4Encoder wrapper which makes sure VideoEncData * was\nallocated required memory.\n\nBug: 112154365\n\nTest: Encoded a YUV file using test case libstagefright_m4vh263enc_test and generated a bit stream\n      output file without any error.\n\nChange-Id: Id7f08cc57350bc70729a82afebbc79ba83dac72d\n"
    },
    {
      "commit": "685607be811e6d5fffc407d71a2703de9c351969",
      "tree": "b5b0155ddf7560afee470d01209e7bddfde9474c",
      "parents": [
        "fea6cc13b019970b33bdc931a9b854590fe46ef5"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 20 17:24:38 2018 -0700"
      },
      "committer": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Dec 27 23:01:28 2018 +0000"
      },
      "message": "RESTRICT AUTOMERGE: aaudio: fix FIFO wrapround frame counts\n\nThe number of frames in the second part was incorrect\nwhen it wrapped past the end of the FIFO.\n\nBug: 78139448\nBug: 120789744\nTest: adb shell aaudio_loopback -c2 -C2 -tm -m2 -Pl -pn\nChange-Id: Ib6a22f30f0ee5321444c6d6137d9488943c34f3d\n"
    },
    {
      "commit": "f4f81427681d2a736fc9b783dd967bc0661cca73",
      "tree": "65d75a1c4ebcd6d7d9198111b7cb356e1529b3a6",
      "parents": [
        "b7afce9ef7d9c4cd5181501447663921617f560e"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 03 14:16:46 2018 -0800"
      },
      "committer": {
        "name": "Bryan Ferris",
        "email": "bferris@google.com",
        "time": "Thu Dec 27 22:39:02 2018 +0000"
      },
      "message": "RESTRICT AUTOMERGE: aaudio: Fix converting negative FIFO counters to index\n\nThe index into the FIFO is calculated by using:\n\n    counter % capacity\n\nBut the counter is signed and when it is negative the\nmodulo can have a negative result. That can cause\na negative array index and an access out of bounds.\n\nThis is not normally a problem because the counter\nis 64 bits and it will not overflow until the audio\nhas run for a few million years. But a hacker might\nbe able to modify this internal counter and force\nan error.\n\nThe solution involves casting to a uint64_t before doing\nthe modulo.\n\nNote that there may still be a discontinuity when the\ncounter wraps from -1 to 0. But that will not result\nin an out-of-bounds access. It may cause a noise but\nan app could simply create a noise directly. So that is\nnot considered an exploit.\n\nBug: 120789744\nTest: test_atomic_fifo.cpp\nChange-Id: I6fe57bcb44528d29b5edb817c592e5e9a8aaf8eb\n"
    },
    {
      "commit": "771ffb62909912f4e8e074cd7e8610953fed9ee0",
      "tree": "c540fd8acf5b61ea7a4f557d7d439a95cc374951",
      "parents": [
        "dac98a45d8407604205c2c52568cf6c9fb91fdde",
        "ed1172f61f054fc2d42bf5e2d0b8833b6f553ace"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 27 17:28:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 27 17:28:52 2018 +0000"
      },
      "message": "Merge changes If9777099,I1057b3a2\n\n* changes:\n  EffectDownmix: Fix float mode and enable\n  AudioMixer: Accept a float downmixer\n"
    },
    {
      "commit": "dac98a45d8407604205c2c52568cf6c9fb91fdde",
      "tree": "5dc67ac67803604543daa083e02a36e82aee4c3a",
      "parents": [
        "d1265e14e77943e84a52fd7c04922280dd598899",
        "98d75e7d7fccdb8e14596ec58a60fe6184f28145"
      ],
      "author": {
        "name": "Merck Hung",
        "email": "merckhung@google.com",
        "time": "Wed Dec 26 15:06:44 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 26 15:06:44 2018 -0800"
      },
      "message": "[automerger skipped] Merge \"DO NOT MERGE: add color converter for NV12 to RGB\" am: c041f3043a  -s ours am: 74611159fa  -s ours\nam: 98d75e7d7f  -s ours\n\nChange-Id: I4c455d79f353d269a67fc7201b13c7a512732d99\n"
    },
    {
      "commit": "98d75e7d7fccdb8e14596ec58a60fe6184f28145",
      "tree": "80831697e54aea728d12e0409933e0c0e205cea7",
      "parents": [
        "0404459b7b28ed81521c1392ac2bdac47488b34b",
        "74611159fa299425191404e885a989ece15a1b50"
      ],
      "author": {
        "name": "Merck Hung",
        "email": "merckhung@google.com",
        "time": "Wed Dec 26 15:01:28 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 26 15:01:28 2018 -0800"
      },
      "message": "[automerger skipped] Merge \"DO NOT MERGE: add color converter for NV12 to RGB\" am: c041f3043a  -s ours\nam: 74611159fa  -s ours\n\nChange-Id: I823d0a895c01c97de58f3365bd81f114f429ac60\n"
    },
    {
      "commit": "74611159fa299425191404e885a989ece15a1b50",
      "tree": "6911212ed5b7232ff2654802e1ff8f8965018ccc",
      "parents": [
        "2afce78eb288043d261f230a8ec7011b75daf07c",
        "c041f3043a72f17908d740175d0a00a8098df5b7"
      ],
      "author": {
        "name": "Merck Hung",
        "email": "merckhung@google.com",
        "time": "Wed Dec 26 14:57:23 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 26 14:57:23 2018 -0800"
      },
      "message": "[automerger skipped] Merge \"DO NOT MERGE: add color converter for NV12 to RGB\"\nam: c041f3043a  -s ours\n\nChange-Id: I4ce317e5344f3f13a94e367cc38d9fee80709513\n"
    },
    {
      "commit": "c041f3043a72f17908d740175d0a00a8098df5b7",
      "tree": "4a627e44c77ef650b82312a1eeed7a38ccd5d1a9",
      "parents": [
        "69addc70699041e50afaf5bc8914bb7de54b1598",
        "565a545d08a88c1bb0ed87255f3a682001079efd"
      ],
      "author": {
        "name": "Merck Hung",
        "email": "merckhung@google.com",
        "time": "Wed Dec 26 22:44:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 26 22:44:11 2018 +0000"
      },
      "message": "Merge \"DO NOT MERGE: add color converter for NV12 to RGB\""
    },
    {
      "commit": "71886f20d865ce16a732fa769c54789e970ec3ce",
      "tree": "633a3430194606c8e300ef0a5044312b4b88ff7d",
      "parents": [
        "d1265e14e77943e84a52fd7c04922280dd598899"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Wed Dec 26 14:05:28 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Wed Dec 26 14:05:28 2018 +0900"
      },
      "message": "Re-apply Context#getOpPackageName\n\n- Context#getOpPackageName is now public.\n- Revive the code which uses Context#getOpPackageName\n\nBug: 119748678\nTest: build\nChange-Id: I8efc2891873061ba8caed3213f1be5ad2eebf64e\n"
    },
    {
      "commit": "d1265e14e77943e84a52fd7c04922280dd598899",
      "tree": "5dc67ac67803604543daa083e02a36e82aee4c3a",
      "parents": [
        "355ac5a51da9a0ce6e3f7f89100f9eec34747675",
        "0404459b7b28ed81521c1392ac2bdac47488b34b"
      ],
      "author": {
        "name": "Guang Qiao",
        "email": "guang.qiao@mediatek.com",
        "time": "Sun Dec 23 19:37:06 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Dec 23 19:37:06 2018 -0800"
      },
      "message": "Merge \"Copy native_handle in MetaData mode\" am: 69addc7069 am: 2afce78eb2\nam: 0404459b7b\n\nChange-Id: I575267b0526373c94d47bf0e98b88aeb6817c00b\n"
    },
    {
      "commit": "0404459b7b28ed81521c1392ac2bdac47488b34b",
      "tree": "80831697e54aea728d12e0409933e0c0e205cea7",
      "parents": [
        "9f204e0c409139c2900783aa17ee9d12bf502de8",
        "2afce78eb288043d261f230a8ec7011b75daf07c"
      ],
      "author": {
        "name": "Guang Qiao",
        "email": "guang.qiao@mediatek.com",
        "time": "Sun Dec 23 19:32:57 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Dec 23 19:32:57 2018 -0800"
      },
      "message": "Merge \"Copy native_handle in MetaData mode\" am: 69addc7069\nam: 2afce78eb2\n\nChange-Id: I6448d98495856146c1851078d8bc88a8897bc962\n"
    },
    {
      "commit": "2afce78eb288043d261f230a8ec7011b75daf07c",
      "tree": "6911212ed5b7232ff2654802e1ff8f8965018ccc",
      "parents": [
        "d455c5fc94fb30badbf778a95574d98474cf2218",
        "69addc70699041e50afaf5bc8914bb7de54b1598"
      ],
      "author": {
        "name": "Guang Qiao",
        "email": "guang.qiao@mediatek.com",
        "time": "Sun Dec 23 19:28:49 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Dec 23 19:28:49 2018 -0800"
      },
      "message": "Merge \"Copy native_handle in MetaData mode\"\nam: 69addc7069\n\nChange-Id: I385eae455c3dbc19a0879a786d95dfdb9b6fe14f\n"
    },
    {
      "commit": "69addc70699041e50afaf5bc8914bb7de54b1598",
      "tree": "f05114022fc8a3b688584016d2e520213460afdd",
      "parents": [
        "73173d7ba37cf88351586a028b31a9cdec749374",
        "181d30174f2a03f47e47f4c37a0ee6dacf1c32c4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 24 03:17:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 24 03:17:38 2018 +0000"
      },
      "message": "Merge \"Copy native_handle in MetaData mode\""
    },
    {
      "commit": "355ac5a51da9a0ce6e3f7f89100f9eec34747675",
      "tree": "a95e361f48468b2a200ffe8b0b38fd4e9bd562a5",
      "parents": [
        "0428560419f7dcaa48c01245c4d9adcbc06f2b00",
        "f60cbe5665dea5b0b244f57815ab49db5a652eea"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sun Dec 23 20:37:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Dec 23 20:37:50 2018 +0000"
      },
      "message": "Merge \"nuplayer2: pass crypto info from extractor to decoder\""
    },
    {
      "commit": "0428560419f7dcaa48c01245c4d9adcbc06f2b00",
      "tree": "44f16c7cfbb5f25208721f3728a07a6f72b6612c",
      "parents": [
        "f440ca9c917c10051eca51bc5c25f5348622ff24",
        "4a84cbb33dd74bc033518d007e2d9315e600bdac"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sun Dec 23 20:37:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Dec 23 20:37:30 2018 +0000"
      },
      "message": "Merge \"NdkWrapper: add missing DRM AMediaFormat keys\""
    },
    {
      "commit": "f440ca9c917c10051eca51bc5c25f5348622ff24",
      "tree": "53cc8bc9e269e70495f30fa755e2544b106691f0",
      "parents": [
        "b49627770b2f803b2ebc093ebdd927ee86ea7a46",
        "da95e2f0af2b85e4f284f8cd9fa1cb34bb6dc24e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Dec 22 22:35:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 22 22:35:16 2018 +0000"
      },
      "message": "Merge \"Upstream changes from hardware/google/av\""
    },
    {
      "commit": "b49627770b2f803b2ebc093ebdd927ee86ea7a46",
      "tree": "53cc8bc9e269e70495f30fa755e2544b106691f0",
      "parents": [
        "77ebff9435429e05f720422e511d7e3303897502"
      ],
      "author": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Thu Nov 08 15:59:56 2018 -0800"
      },
      "committer": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Fri Dec 21 17:41:21 2018 -0800"
      },
      "message": "MPEG4Extractor+MPEG4Writer:Bframes+EditlistSupport\n\nEnabled BFrames encoding in ACodec. Added edit list box support\nfor B frames recording use case in Mpeg4Writer. Added edit list\nsupport in MPEG4Extractor for video tracks with B frames and postive\nCTTS entries. Also, fixed issues in the existing edit list support\nfor audio tracks.\n\nBug: 113022200\nBug: 113114128\n\nTest: Recorded video in crosshatch and that played in synch on\n      VLC Player-Linux, QT Player-MAC and test device/crosshatch.\nTest: run cts-dev --module CtsMediaTestCases --compatibility:module-arg\n      CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\n      A few test cases in MediaRecorderTest is failing, but those are\n      failing without any of the code changes in this change list.\n      A few of the test cases in MediaMetadataRetrieverTest are failing.\n      Those cases didn\u0027t account for edit list entry in video file and\n      hence those cases have to be modified.\nTest: Simulated frame drops while B Frames recording, by skipping a few frames\n      while muxing a video file with Bframes using MediaMuxer and manually\n      checked values in CTTS table and also the elst entry in edts box.\nTest: Checked playback of files in bug 113114128.\nTest: Recorded video on crosshatch. Checked playback on Nexus 4 and\n      Nexus 6.\n\nChange-Id: I0cf7b26c0d6180b6bb7ad9924505823a629e55a0\n"
    },
    {
      "commit": "ed1172f61f054fc2d42bf5e2d0b8833b6f553ace",
      "tree": "1116aea5d3454b6f91792e16a41e2386d736eae4",
      "parents": [
        "669425507df4a9ee4d062d994cf9549ed5f7723f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 21 16:20:03 2018 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 21 16:20:03 2018 -0800"
      },
      "message": "EffectDownmix: Fix float mode and enable\n\nTest: Play Music with multichannel source using float and int16 downmixer\nBug: 121222814\nChange-Id: If97770991edc3bec02edc82101aaa8ad86ac4bcf\n"
    },
    {
      "commit": "669425507df4a9ee4d062d994cf9549ed5f7723f",
      "tree": "14fa42b2652d5b976c74a14007376267ff9333d6",
      "parents": [
        "ddafe428bbd00f8212380800c2bde0466e2cab17"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 21 16:07:12 2018 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 21 16:14:31 2018 -0800"
      },
      "message": "AudioMixer: Accept a float downmixer\n\nTest: Play Music with multichannel source using float and int16 downmixer\nBug: 121222814\nChange-Id: I1057b3a2f342e42ab56652f724111fa7cd68d1cf\n"
    },
    {
      "commit": "77ebff9435429e05f720422e511d7e3303897502",
      "tree": "e825351cf0424ef8bc8c47104f71d43342f4eb62",
      "parents": [
        "73142871e81c42374cb85390efc1fb7adca230f3",
        "2ba48f84870b0d266d6dd244d9e0642617719176"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 21 22:52:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 22:52:09 2018 +0000"
      },
      "message": "Merge \"Remove some more unused libraries from media libraries\""
    },
    {
      "commit": "f60cbe5665dea5b0b244f57815ab49db5a652eea",
      "tree": "c3cccffd83d22a9fbacaad30e6da4f38e0d3de82",
      "parents": [
        "73142871e81c42374cb85390efc1fb7adca230f3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Dec 21 13:32:36 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Dec 21 13:32:36 2018 -0800"
      },
      "message": "nuplayer2: pass crypto info from extractor to decoder\n\nBug: 121387877\nTest: MediaPlayer2DrmTest\nChange-Id: Iabe59aaffe2b0fae2f5a8420566b41ff324d0758\n"
    },
    {
      "commit": "4a84cbb33dd74bc033518d007e2d9315e600bdac",
      "tree": "f598676a197f597595f6f7396713ed05edc7c027",
      "parents": [
        "73142871e81c42374cb85390efc1fb7adca230f3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Dec 18 16:34:47 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Dec 21 13:26:44 2018 -0800"
      },
      "message": "NdkWrapper: add missing DRM AMediaFormat keys\n\nBug: 121387877\nTest: MediaPlayer2DrmTest\nChange-Id: I7e07bb80746990a4f2e35ff595cab8ed75eda062\n"
    },
    {
      "commit": "2ba48f84870b0d266d6dd244d9e0642617719176",
      "tree": "28b80c52e5bd2f36830a8902281a243758152f8c",
      "parents": [
        "d4b7efe5b000f1d0c1534690a85242b4de6b54f0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 21 10:36:15 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 21 10:37:18 2018 -0800"
      },
      "message": "Remove some more unused libraries from media libraries\n\nTest: build\n\nChange-Id: I1d7af4398f383305a8dd3a61a19a587e7d8ad01c\n"
    },
    {
      "commit": "73142871e81c42374cb85390efc1fb7adca230f3",
      "tree": "481d6c20b8dce227a0862d196023df67116b45e2",
      "parents": [
        "ff7397bb08bf9953615d7b3416f4839bc0b1d2ff",
        "0ff9ae3ecbb421551d5de9701a349d8a3741f965"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 21 18:23:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 18:23:35 2018 +0000"
      },
      "message": "Merge \"Camera: Enable logical multi-camera API in NDK\""
    },
    {
      "commit": "ff7397bb08bf9953615d7b3416f4839bc0b1d2ff",
      "tree": "a53bb2736464538dee178cd6f32e1845ac183b69",
      "parents": [
        "d4b7efe5b000f1d0c1534690a85242b4de6b54f0",
        "d9499eb6d127dc53c8aa3deda05a70b03fc464f3"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 21 16:53:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 16:53:18 2018 +0000"
      },
      "message": "Merge \"Audio HAL: Update for the new definition of SinkMetadata\""
    },
    {
      "commit": "d4b7efe5b000f1d0c1534690a85242b4de6b54f0",
      "tree": "9cc39673c051e69593865cb661312597c61eeefb",
      "parents": [
        "d34de4d88273ea4252cc35e3b122512733b259eb",
        "37d73d1502db31e3542f1ce4de5c7cbed8d1e174"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 21 16:34:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 16:34:15 2018 +0000"
      },
      "message": "Merge \"Remove unused libraries from various media libraries\""
    },
    {
      "commit": "181d30174f2a03f47e47f4c37a0ee6dacf1c32c4",
      "tree": "5930270006afa16c37ab678bdf49507bbad62ac6",
      "parents": [
        "1ce37f1de3f7185ccffd4d9145b036941a582fe4"
      ],
      "author": {
        "name": "Guang Qiao",
        "email": "guang.qiao@mediatek.com",
        "time": "Fri Dec 21 16:08:40 2018 +0800"
      },
      "committer": {
        "name": "Isaac Lee",
        "email": "isaac.lee@mediatek.com",
        "time": "Fri Dec 21 16:46:44 2018 +0800"
      },
      "message": "Copy native_handle in MetaData mode\n\nIn MetaData mode, video buffer stores a pointer to struct native_handle.\nThe video buffer needs a deep copy to avoid dangling pointer.\n\nTest: run cts testcase testRecorderTimeLapsedVideo 10 times, and it\npassed 10 times\n\nBug: 116833091\nChange-Id: Ia84b9e858860a04d3fbcd58d4609351bb4270832\n"
    },
    {
      "commit": "d34de4d88273ea4252cc35e3b122512733b259eb",
      "tree": "2c8bc7c8f6a8a2676e62ceb24643163d9cc58837",
      "parents": [
        "b32f80f113449d05e1e717c693e271815423e0d5",
        "9f204e0c409139c2900783aa17ee9d12bf502de8"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Dec 20 18:45:49 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 20 18:45:49 2018 -0800"
      },
      "message": "[automerger skipped] Relax error handling in MediaCodecsXmlParser am: 4339a80b5a\nam: 9f204e0c40  -s ours\n\nChange-Id: I988240a3b8a79e05b9dda132da708a752b3790e4\n"
    },
    {
      "commit": "9f204e0c409139c2900783aa17ee9d12bf502de8",
      "tree": "b4a57f206459b76be6d1e99873a98b6076c22473",
      "parents": [
        "8b5388b27ec464111f2968e15c366218d839c69e",
        "4339a80b5a1722bfc7d4103388d082957b7de38e"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Dec 20 18:28:11 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 20 18:28:11 2018 -0800"
      },
      "message": "Relax error handling in MediaCodecsXmlParser\nam: 4339a80b5a\n\nChange-Id: I1d2dde651319fcaf122a30e91d7511e0060ca6f1\n"
    },
    {
      "commit": "b32f80f113449d05e1e717c693e271815423e0d5",
      "tree": "2c8bc7c8f6a8a2676e62ceb24643163d9cc58837",
      "parents": [
        "ddafe428bbd00f8212380800c2bde0466e2cab17",
        "44f43604955f35a47184d64865bd089c9e673e60"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 21 02:25:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 02:25:45 2018 +0000"
      },
      "message": "Merge \"MediaRecorder: add getPortId() method\""
    },
    {
      "commit": "ddafe428bbd00f8212380800c2bde0466e2cab17",
      "tree": "44eb3290c4841001cdf4151a11cdda790f1d3404",
      "parents": [
        "79a4c0aa401cf2c95403b1ec2e8caa7abe04d4ab",
        "b144b4b601b0fe08f8d40d7a7e68e446e8adcea6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 21 01:40:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 01:40:54 2018 +0000"
      },
      "message": "Merge changes Ie85b6511,I4df65431\n\n* changes:\n  lvmtest: Add mono mode for audio effect testing.\n  libeffects: Updated test script for higher frequencies and effects\n"
    },
    {
      "commit": "79a4c0aa401cf2c95403b1ec2e8caa7abe04d4ab",
      "tree": "8f974754db88aed47b4cd856dee4d7660968bb68",
      "parents": [
        "31cb08bc991cef0d0d45d0b09bb29a2901f6c077",
        "8b5388b27ec464111f2968e15c366218d839c69e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Dec 20 15:33:33 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 20 15:33:33 2018 -0800"
      },
      "message": "[automerger skipped] Merge \"SoftVorbis: handle flush as well as flush with CSD\" am: 73173d7ba3 am: d455c5fc94\nam: 8b5388b27e  -s ours\n\nChange-Id: I5a781ed9ebfa3171644ae7abf6d0d76ca6a7545e\n"
    }
  ],
  "next": "8b5388b27ec464111f2968e15c366218d839c69e"
}
