)]}'
{
  "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "8b5388b27ec464111f2968e15c366218d839c69e",
      "tree": "51a380c56cd3902f142fc263e5b96ca6e5c790d5",
      "parents": [
        "588a335fda96327ddd3e1a133bda219fde2281a2",
        "d455c5fc94fb30badbf778a95574d98474cf2218"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Dec 20 15:28:13 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 20 15:28:13 2018 -0800"
      },
      "message": "Merge \"SoftVorbis: handle flush as well as flush with CSD\" am: 73173d7ba3\nam: d455c5fc94\n\nChange-Id: Id012cdbe5c05ed0959fdec00090eb91fa8edf138\n"
    },
    {
      "commit": "d455c5fc94fb30badbf778a95574d98474cf2218",
      "tree": "198915ab9de5dcae0e11b05395aa4f1f30f25701",
      "parents": [
        "c2e95467573518f6bf04cefecb62ebd606b6e96b",
        "73173d7ba37cf88351586a028b31a9cdec749374"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Dec 20 15:19:59 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 20 15:19:59 2018 -0800"
      },
      "message": "Merge \"SoftVorbis: handle flush as well as flush with CSD\"\nam: 73173d7ba3\n\nChange-Id: Id9e2d2bf12a3d68a8561e66e9e3571b67d950e76\n"
    },
    {
      "commit": "37d73d1502db31e3542f1ce4de5c7cbed8d1e174",
      "tree": "979cc26d7ee3343a662bc742587c1617a8390e68",
      "parents": [
        "a308287ea13cbab40ad6892be20b1253b83c0e36"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 12:49:09 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 15:18:12 2018 -0800"
      },
      "message": "Remove unused libraries from various media libraries\n\nTest: build\nChange-Id: I3bfb70a6ed3fe8f0e1683d456156517f8b992a33\n"
    },
    {
      "commit": "b144b4b601b0fe08f8d40d7a7e68e446e8adcea6",
      "tree": "3279ca258df0e7ed34002d1f318ebde83dd14252",
      "parents": [
        "46f854ad5dc3472c95a397353e873d2cfff9d614"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 20 14:15:49 2018 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 20 14:27:32 2018 -0800"
      },
      "message": "lvmtest: Add mono mode for audio effect testing.\n\nThis ensures all input audio channels are identical\nby replicating the first audio channel of each\naudio frame to the other channels.\n\nTest: Use lvmtest with -M\nBug: 121331591\nChange-Id: Ie85b6511397a97c9d0f3451328d128048c803ce5\n"
    },
    {
      "commit": "46f854ad5dc3472c95a397353e873d2cfff9d614",
      "tree": "16763a51ceea5e3837d583278f08e51231334591",
      "parents": [
        "50bd488853b89affa35aeb97a581d5031579b0f7"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Mon Dec 17 15:04:13 2018 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 20 13:55:13 2018 -0800"
      },
      "message": "libeffects: Updated test script for higher frequencies and effects\n\nAdded test cases for testing audio effects for higher frequencies\nAdded test cases for different combination of effects\nRemoved generated *.raw files at the end of the test\n\nTest: local native test (lvmtest)\nBug: 120910607\nChange-Id: I4df654314fee39a41bac05a8398d01e8f11e1173\n"
    },
    {
      "commit": "1b5d1cd06f91f1f777553cd3caa9494c3d960bb7",
      "tree": "19b5ee363c59dbf26a71e8f1a7cbb6c759bbd86b",
      "parents": [
        "77a428b58b1ab5d5f7212d8b1d4dbac20a985018",
        "a308287ea13cbab40ad6892be20b1253b83c0e36"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 21:05:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 21:05:07 2018 +0000"
      },
      "message": "Merge \"Remove support for non-NDK extractor formats\""
    },
    {
      "commit": "cbe00cc61960898602ae631768fe6b082a0c3faf",
      "tree": "5cea15aebe4987b4f0a0fdc2f97ec337759bd8a1",
      "parents": [
        "b09dcb15d5bb6480d4e9f09b641df570cc2ac312"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 22 16:29:50 2018 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Dec 20 11:46:15 2018 -0800"
      },
      "message": "SoftVorbis: handle flush as well as flush with CSD\n\nPrevious fix added support for flush + CSD, but removed support for\nflush without CSD.\n\nBug: 116510364\nRelated-Bug: 113983576\nTest: play issue_clip.webm\nTest: atest com.google.android.exoplayer.gts.DashTest\\#testVp9AdaptiveWithRendererDisabling\nMerged-In: I85d8aa606b4bfde4511bafb0604d14b36b4d8827\nChange-Id: I85d8aa606b4bfde4511bafb0604d14b36b4d8827\n"
    },
    {
      "commit": "44f43604955f35a47184d64865bd089c9e673e60",
      "tree": "6c6d1b6b4e4346b6c7415505abfbd7ed4d973bf1",
      "parents": [
        "77a428b58b1ab5d5f7212d8b1d4dbac20a985018"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 18 12:51:19 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 20 19:17:12 2018 +0000"
      },
      "message": "MediaRecorder: add getPortId() method\n\nAdd method to retrieve unique port ID for the AudioRecord instance\nassociated with a MediaRecorder.\n\nBug: 111438757\nTest: CTS tests for MediaRecorder\nChange-Id: I77295ccd163bfa2319a492ed64186a28b691ac38\n"
    },
    {
      "commit": "a308287ea13cbab40ad6892be20b1253b83c0e36",
      "tree": "b1dc33b4a8f055820aa26b0d0377cbf1b142affc",
      "parents": [
        "3c3c97ae534870c90f54e8cffc6d7d82ab8ca3da"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 14:36:28 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 11:03:24 2018 -0800"
      },
      "message": "Remove support for non-NDK extractor formats\n\nRemove support for intermediate extractor format versions\nand leave only the \u0027V3\u0027 format, but remove \u0027V3\u0027 from the\nnames of the classes and structs involved, and reset the\nversion number back to 2 (version 1 is the C++ interface\nshipped in P, which is no longer supported).\n\nBug: 111407253\nTest: build\nChange-Id: I702080e6bbfbac265967a93945ee97191d463125\n"
    },
    {
      "commit": "77a428b58b1ab5d5f7212d8b1d4dbac20a985018",
      "tree": "0792e71c0e35ec1f442ae18c8f5cbbbc441b951e",
      "parents": [
        "3c3c97ae534870c90f54e8cffc6d7d82ab8ca3da",
        "a9f86651eaaf2f702b3759ec38dbb64ca8858356"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 20 17:58:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 17:58:36 2018 +0000"
      },
      "message": "Merge changes from topic \"more_in_recording_config\"\n\n* changes:\n  audo policy: more info in onRecordingConfigurationUpdate\n  audo policy: add effects to record clients\n"
    },
    {
      "commit": "3c3c97ae534870c90f54e8cffc6d7d82ab8ca3da",
      "tree": "76f0ae6ae944cc1e65fba76d3a3e199404f718ca",
      "parents": [
        "2b76d57d3219e12758b707cf963353fca8bcae79",
        "be9768e8eff47385c32bcc7f9c3b82c27058b3cc"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 16:53:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 16:53:06 2018 +0000"
      },
      "message": "Merge \"Fix memory leaks\""
    },
    {
      "commit": "2b76d57d3219e12758b707cf963353fca8bcae79",
      "tree": "ccda7f651524859deee42427061823f475cf1ab1",
      "parents": [
        "c2684ac61bdbfd9913cf1361a6436272756bc6d6",
        "c37b1908b6a054e4331465bda7d36497b8746001"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Thu Dec 20 07:42:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 07:42:21 2018 +0000"
      },
      "message": "Merge \"Video frame scheduler using public APIs\""
    },
    {
      "commit": "c37b1908b6a054e4331465bda7d36497b8746001",
      "tree": "c67dcd817f5432b5fd568f247fcf17d9feb932cc",
      "parents": [
        "48d4fff79246d1a988b5538f9f9db5fc57746f9c"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Tue Dec 18 11:36:13 2018 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Dec 19 18:48:40 2018 -0800"
      },
      "message": "Video frame scheduler using public APIs\n\nBug: 112555500\nTest: MediaPlayer2Test\nChange-Id: Ie4b21964c761b4350b50b23271b28cf9dcd933ad\n"
    },
    {
      "commit": "a9f86651eaaf2f702b3759ec38dbb64ca8858356",
      "tree": "913a55b14107e7f94335bec0ad6705f9557255a0",
      "parents": [
        "c241b0dfc49014087123dae92f7341db8d30d443"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 28 17:23:11 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 19 18:05:00 2018 -0800"
      },
      "message": "audo policy: more info in onRecordingConfigurationUpdate\n\nReport more information in onRecordingConfigurationUpdate() callback:\n- For client:\n  - Port ID\n  - Enabled effects\n  - Silenced by policy\n- For stream:\n  - Active effects\n  - Active audio source\n\nBug: 111438757\nTest: make\nChange-Id: I34c3d0ee6251576de7d793bfaa2bc2c34efa2319\n"
    },
    {
      "commit": "c2684ac61bdbfd9913cf1361a6436272756bc6d6",
      "tree": "0bd2b7c11e8672bfb8a9e30b430f77996b9ee650",
      "parents": [
        "e93b15c25b2bdb50f164fad0a8351d3f948f7819",
        "4f4689606732d276587ecf3eb686caef4630c60c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 20 02:03:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 02:03:12 2018 +0000"
      },
      "message": "Merge \"hdr10+: parameter passing for OMX\""
    },
    {
      "commit": "e93b15c25b2bdb50f164fad0a8351d3f948f7819",
      "tree": "dda4169cf2505580c70922d6a0f5b772a3769d2b",
      "parents": [
        "424993f0655c18f91562efc9d127f0ac970da6fa",
        "f4de6114c20c3b3376806b359d527330f1891826"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 20 01:33:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 01:33:12 2018 +0000"
      },
      "message": "Merge \"Do not allow set sample rate when haptic channels exists.\""
    },
    {
      "commit": "be9768e8eff47385c32bcc7f9c3b82c27058b3cc",
      "tree": "2162cb598328f4d4fc057cf88483613037fb69be",
      "parents": [
        "ff0508b3d64e54829b69170adace3bbea4f6a5b6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 13:10:35 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 13:52:45 2018 -0800"
      },
      "message": "Fix memory leaks\n\nBug: 111407253\nTest: manual, libmemunreachable\nChange-Id: I69ad7b48498346925dd02c10b206035c0ae49305\n"
    },
    {
      "commit": "f4de6114c20c3b3376806b359d527330f1891826",
      "tree": "6661fb92de4c7f145d0ae7de9d109d8a145601eb",
      "parents": [
        "341dd3bb36c4ceb77c80b8e8db9f0e1d647dc9ce"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Dec 19 12:40:08 2018 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Dec 19 12:40:08 2018 -0800"
      },
      "message": "Do not allow set sample rate when haptic channels exists.\n\nAs haptic playback via audio require sample rate is the same as the HAL\none, sample rate should not be changed after AudioTrack is created.\n\nBug: 121271890\nTest: Manually\nChange-Id: I1549017b3ca8523735190f62f8c9a4fb8b95e000\n"
    },
    {
      "commit": "424993f0655c18f91562efc9d127f0ac970da6fa",
      "tree": "d310189cf58b05c43e67a92b4f7251a3c38a8457",
      "parents": [
        "dac7329f1ef3c3e70b8b1ce673c35df1dfebe2e0",
        "35d36cba0feb9cd63f3e8e27cd6e7efdb1236909"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Dec 19 19:29:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 19 19:29:03 2018 +0000"
      },
      "message": "Merge changes I73882025,Ica0dee0e,Ic98d0555,Icab0c7fa\n\n* changes:\n  C2AllocatorGralloc: support locking RGBA_1010102 as YUVA_1010102\n  C2SoftVpxDec: Add support for Profile 2\n  C2SoftVorbisDec: Ignore error from vorbis_dsp_synthesis\n  C2SoftAVCEnc: Enable CABAC for main profile encoding\n"
    },
    {
      "commit": "be66832f179d3be62df739254024efc658283a06",
      "tree": "767ddef3a71e2f517642de7f7d61e7a48178752e",
      "parents": [
        "50bd488853b89affa35aeb97a581d5031579b0f7",
        "ff0508b3d64e54829b69170adace3bbea4f6a5b6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 04:42:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 19 04:42:51 2018 +0000"
      },
      "message": "Merge \"Convert MPEG2 extractor to V3 format\""
    },
    {
      "commit": "50bd488853b89affa35aeb97a581d5031579b0f7",
      "tree": "f5341c7103324c53a7800812087cd1ed1f07cd63",
      "parents": [
        "ddc014f7d0f00f1f7e378f392bcd00b9055f3b3d",
        "79b85a879771f30cfb2de4954badd5738d5b1dd7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 19 01:20:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 19 01:20:38 2018 +0000"
      },
      "message": "Merge \"libeffects: Correct ConcertSurround 96kHz and 192kHz filter coefs\""
    },
    {
      "commit": "79b85a879771f30cfb2de4954badd5738d5b1dd7",
      "tree": "be3643ec10d277ba853f6696d4cdaede1b6dab2b",
      "parents": [
        "caa66fd2eafb04ddd002f8f1bc4e5fabcb8c8591"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Thu Dec 06 16:09:45 2018 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 18 14:54:39 2018 -0800"
      },
      "message": "libeffects: Correct ConcertSurround 96kHz and 192kHz filter coefs\n\nCorrected the headphone side filter coefficients for 96kHz and 192kHz sampling\nrates for the Concert Surround / Stereo Widening (CS) module.\n\nTest: local native test lvmtest\nBug: 120942559\nChange-Id: I213ff07aa54f4e0e4271c7ae619ede3881cee409\n"
    },
    {
      "commit": "ddc014f7d0f00f1f7e378f392bcd00b9055f3b3d",
      "tree": "d4bd40d025a307f8cffed3417cd96cc93085f463",
      "parents": [
        "9c190055c9d2fb666b6b01dcba86db8fa4182e13",
        "384a196f7cfbe4e1a481be0b281e1b7ae1bef42a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 18 21:17:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 21:17:25 2018 +0000"
      },
      "message": "Merge \"aaudio: remove redundant message from test-return_stop.cpp\""
    },
    {
      "commit": "d9499eb6d127dc53c8aa3deda05a70b03fc464f3",
      "tree": "3fbd4fecd32316f1088dda7785f5f6ecbdbbec93",
      "parents": [
        "4f20844fd9137a1691f59b598e52cd9ada0753d2"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 17 16:23:22 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 18 13:01:50 2018 -0800"
      },
      "message": "Audio HAL: Update for the new definition of SinkMetadata\n\nIn Audio HAL V5.0 SinkMetadata receives a new member: optional\nDeviceAddress. Use per field initialization to leave\nthe safe_union in an uninitialized state.\n\nBug: 120859615\nTest: make\nChange-Id: I358b9abbcb0690aebb2c658a72adb287ceec22b5\n"
    },
    {
      "commit": "ff0508b3d64e54829b69170adace3bbea4f6a5b6",
      "tree": "07a6bedb573eccac1664985112fc22b0b7b3d6a1",
      "parents": [
        "48d4fff79246d1a988b5538f9f9db5fc57746f9c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 15:17:58 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 18 12:50:30 2018 -0800"
      },
      "message": "Convert MPEG2 extractor to V3 format\n\nand move it to the media APEX.\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Ibcbdd0e901e9d79b5a857b5d0a65bd6b1ec675a6\n"
    },
    {
      "commit": "999c052701417b4b63db6a411886eb0604bdd502",
      "tree": "756ef11e8badc7997c9aa42d978c388063425251",
      "parents": [
        "48d4fff79246d1a988b5538f9f9db5fc57746f9c",
        "be6a118e435fbddc0c14f04e5ce805f0c51756ac"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 18 18:44:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 18:44:25 2018 +0000"
      },
      "message": "Merge \"bufferpool2.0: Avoid lock during hidl oneway call\""
    },
    {
      "commit": "be6a118e435fbddc0c14f04e5ce805f0c51756ac",
      "tree": "f955392df6d7161e5510bb5cb4a72931803f6541",
      "parents": [
        "8c3773d839cb2127eafeae4619f98150d1ea2d3d"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Mon Dec 17 19:00:40 2018 -0800"
      },
      "committer": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Tue Dec 18 09:15:35 2018 -0800"
      },
      "message": "bufferpool2.0: Avoid lock during hidl oneway call\n\nHidl oneway call works as synchronous call when it is called from same\nprocess. Avoid lock while calling hidl oneway interfaces.\n\nBug: 121047202\nChange-Id: I20c29640414edd70e414af749c0b3f96efda8ca3\n"
    },
    {
      "commit": "48d4fff79246d1a988b5538f9f9db5fc57746f9c",
      "tree": "d99f749d9a2b8f30b7df8f298c4ac860430d7e04",
      "parents": [
        "c273196c8ee5c71792b97e1164016a1f3400e685",
        "00c5c05d2041978b67394a27bbd64f2ea623c1df"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 18 04:24:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 04:24:12 2018 +0000"
      },
      "message": "Merge \"Use hidl memory from allocator in CAS\""
    },
    {
      "commit": "c273196c8ee5c71792b97e1164016a1f3400e685",
      "tree": "20ec39bf0f50247833ae80336e4208feb9effe7f",
      "parents": [
        "e21f3418be2e323ad1ed64d79f862474f2c98c76",
        "17944af5b111ade413e8e71a34898ccf8a51c15a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 18 02:02:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 02:02:40 2018 +0000"
      },
      "message": "Merge \"mediaplayer2: add srcId for source dependent API\u0027s\""
    },
    {
      "commit": "35d36cba0feb9cd63f3e8e27cd6e7efdb1236909",
      "tree": "91e82d183852f766d63a39b8bc2bf8e2e1eb43ef",
      "parents": [
        "ed4e0cddefd31574b18de72a9063a86420141964"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Oct 12 15:10:56 2018 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Dec 17 17:00:49 2018 -0800"
      },
      "message": "C2AllocatorGralloc: support locking RGBA_1010102 as YUVA_1010102\n\nBug: 117672953\nTest: stagefright -s -S video_1280x720_vp9_hdr_static_3mbps.mkv\nChange-Id: I738820251ea9ddd6b9fe9d2bafcdc6d1c6fb3744\n"
    },
    {
      "commit": "ed4e0cddefd31574b18de72a9063a86420141964",
      "tree": "06e3586598038a40530095c761eae1d1ede3bcb7",
      "parents": [
        "848b3c720e5c2d490cc7607221396ea0f9618ca0"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Thu Oct 11 18:11:49 2018 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Dec 17 16:56:43 2018 -0800"
      },
      "message": "C2SoftVpxDec: Add support for Profile 2\n\nAdd support to decode Profile 2 streams (YUV420 10bit)\nTest: stagefright -s -S video_1280x720_vp9_hdr_static_3mbps.mkv\nBug: 117511385\n\nChange-Id: Ica0dee0ee8b3e216824a86df41a961a1f0f38e23\n"
    },
    {
      "commit": "848b3c720e5c2d490cc7607221396ea0f9618ca0",
      "tree": "d8998b08e0bdbf6587824394ef1e68adc745be86",
      "parents": [
        "8725ae03a5f9c097837054abc7bd1d2df2c504e7"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Tue Nov 27 14:24:33 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Dec 17 16:07:28 2018 -0800"
      },
      "message": "C2SoftVorbisDec: Ignore error from vorbis_dsp_synthesis\n\nError from vorbis_dsp_synthesis() is to be ignored.\nAfter seek in some cases, vorbis_dsp_synthesis() returns\nOV_ENOTAUDIO when input is not an audio packet.\nThis results in seek failing for vorbis files.\n\nOMX plugin for Vorbis decoder ignores the errors returned from this\nfunction. C2 plugin is updated to do the same.\n\nBug: 110759274\nTest: cts-tradefed run commandAndExit cts-dev -m CtsMediaTestCases \\\n-t android.media.cts.DecoderTest\n\nChange-Id: Ic98d0555121c7f741c468c69f1acdb75036d8c3d\n"
    },
    {
      "commit": "8725ae03a5f9c097837054abc7bd1d2df2c504e7",
      "tree": "6c1ab8039fc327b9d6e97a19b25c5fe8b728bf5e",
      "parents": [
        "e21f3418be2e323ad1ed64d79f862474f2c98c76"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Fri Aug 31 10:33:56 2018 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Dec 17 16:02:53 2018 -0800"
      },
      "message": "C2SoftAVCEnc: Enable CABAC for main profile encoding\n\nBug: 113677531\nTest: Modified screenrecord application to force main profile and verified the\ngenerated bitstream manually\n\nChange-Id: Icab0c7fa1c60bb7ae8fbdef45a170cf2d3c6d541\n"
    },
    {
      "commit": "8a05b94e8bac22bda3e89aede3d9bf1932f68b9c",
      "tree": "ba15de673ed31af21b5f64a0940d020554f8086c",
      "parents": [
        "4f20844fd9137a1691f59b598e52cd9ada0753d2",
        "0b490550b864b8b39a4a72c2544f33f2af03d91c"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Dec 17 22:24:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 17 22:24:17 2018 +0000"
      },
      "message": "Merge changes from topic \"metadata-trackfix\"\n\n* changes:\n  MPEG4Extractor: Read out the Metadata track correctly.\n  MPEG4Writer: Fix the bug in MPEG4 metadata track.\n"
    },
    {
      "commit": "00c5c05d2041978b67394a27bbd64f2ea623c1df",
      "tree": "ead563c9877e54cf69d46c84e5ef0d66a1a5a2e1",
      "parents": [
        "d00c4607a5f7d25dfe925a20a1fc5fd7cfcee67a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 17 14:15:58 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 17 14:23:18 2018 -0800"
      },
      "message": "Use hidl memory from allocator in CAS\n\nMpeg2ts extractor has a depedency on libbinder for\nIMemory, but it doesn\u0027t actually use IMemory other\nthan using it to construct the hidl memory.\n\nMake mediaextractor use hidl memory allocated by\nhidl allocator, instead of constructing hidl memory\nfrom IMemory.\n\nbug: 112766913\nbug: 111407253\ntest: CTS MediaDrmClearkeyTest#testClearKeyPlaybackMpeg2ts\n\nChange-Id: I39e131718ea41f9cb23177c28213ddf7b7741338\n"
    },
    {
      "commit": "384a196f7cfbe4e1a481be0b281e1b7ae1bef42a",
      "tree": "71dfe251fd9473097bc9f5a49124dfdbbff912da",
      "parents": [
        "c1b140c7139be5f3125e503354b871925ca6d652"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 17 14:14:27 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Dec 17 14:22:56 2018 -0800"
      },
      "message": "aaudio: remove redundant message from test-return_stop.cpp\n\nIt was unnecessary and was missing a newline.\n\nTest: this is a test\nChange-Id: I6463579c759b620ac3d34dceacee8e4e9c806808\n"
    },
    {
      "commit": "4f20844fd9137a1691f59b598e52cd9ada0753d2",
      "tree": "3300c34321de474005e3284455893ef7a08a287b",
      "parents": [
        "c1b140c7139be5f3125e503354b871925ca6d652",
        "1b74640c7bc024fe10088d67d1e9f81892fa1659"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 17 17:23:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 17 17:23:12 2018 +0000"
      },
      "message": "Merge \"Use local buffer for AdjustChannelNonDestructiveBufferProvider.\""
    },
    {
      "commit": "1e6e9b662697cfab4265cfd8878abe4ecdadfd2a",
      "tree": "ed909626e3c7abef50ecf2e3485d5dc31b598d86",
      "parents": [
        "0c5015fca72232b0087530eec1d75fa6e5aa6bfe",
        "04395fafea962f68193a3394ae7d460f6c95ade5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Dec 15 04:03:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 15 04:03:35 2018 +0000"
      },
      "message": "Merge \"Audio HAL: More generalization for types imports\""
    },
    {
      "commit": "04395fafea962f68193a3394ae7d460f6c95ade5",
      "tree": "bbd51952890f67c912659d7a340759045df41fd4",
      "parents": [
        "8c3773d839cb2127eafeae4619f98150d1ea2d3d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 14 15:07:26 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Dec 14 15:49:35 2018 -0800"
      },
      "message": "Audio HAL: More generalization for types imports\n\nUse namespace import in ConversionHelperHidl.cpp.\n\nTest: try moving types between audio/types.hal and common/types.hal.\n\nChange-Id: I7ffab98d0e3b8bbc82ab94b8d99b7d05e224e1e4\n"
    },
    {
      "commit": "0c5015fca72232b0087530eec1d75fa6e5aa6bfe",
      "tree": "6ab31aefba4a8fbed6b44f57a1013e1bc3110e57",
      "parents": [
        "8c3773d839cb2127eafeae4619f98150d1ea2d3d"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Wed Nov 28 18:37:06 2018 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 14 15:29:55 2018 -0800"
      },
      "message": "libeffects: Added support for 88.2kHz and 176.4kHz\n\nTest: local native test (lvmtest)\nBug: 120806181\nChange-Id: Idb06f6917a86634dfabcb51f3a80a5ab579fa91c\n"
    },
    {
      "commit": "1b74640c7bc024fe10088d67d1e9f81892fa1659",
      "tree": "58c479201738aeb10fb5719fe71327842e70b29a",
      "parents": [
        "341dd3bb36c4ceb77c80b8e8db9f0e1d647dc9ce"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Dec 14 14:39:35 2018 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Dec 14 15:26:45 2018 -0800"
      },
      "message": "Use local buffer for AdjustChannelNonDestructiveBufferProvider.\n\nIt will make the track data disordered when adjusting channels non\ndestructive if the track is a static track.\n\nBug: 121047798\nTest: Manually\nChange-Id: Ibd9bc012ac9d36e0f19f6f6796753f9355cd3c97\n"
    },
    {
      "commit": "8c3773d839cb2127eafeae4619f98150d1ea2d3d",
      "tree": "174e2cf11b754bebf0df4e774e32b8dcab14764b",
      "parents": [
        "5beb4810060cda2afea1c89f98caf5c337763c0a",
        "e92a5c7d3b0face0059566118e68d19c95284f39"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 21:36:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 14 21:36:31 2018 +0000"
      },
      "message": "Merge \"Convert OggExtractor to V3 format\""
    },
    {
      "commit": "5beb4810060cda2afea1c89f98caf5c337763c0a",
      "tree": "377deb29ea3236a151adf09f32806b79f642304c",
      "parents": [
        "bcfd6df4b678246993f3c6ae12c0027aba041aa2"
      ],
      "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": "Fri Dec 14 10:48:17 2018 -0800"
      },
      "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"
    }
  ],
  "next": "bcfd6df4b678246993f3c6ae12c0027aba041aa2"
}
