)]}'
{
  "log": [
    {
      "commit": "98603d8711b10969ba770fbb19774201212207a1",
      "tree": "f4cbd7d89e49d348ec4f42e32c45509b2acbcefa",
      "parents": [
        "ddc47d47a956e7b67449f2345ccf481e025ca62d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jul 17 11:06:55 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 09:43:09 2018 -0700"
      },
      "message": "Add AMediaFormat functions to clear and copy\n\nAlso move NdkMediaFormat internals to libmedia to avoid a future circular\ndependency between libmedia and libmediandk.\n\nBug: 111407253\nTest: build, boot, play some files\n\nChange-Id: I54d91439f216c3834726e5505afef40dc0d93e67\n"
    },
    {
      "commit": "a70beb16195266900997f2f376d2f28017cd45a4",
      "tree": "ba0716f8eb0e1210e663bd48242c2b56deeee401",
      "parents": [
        "9985754cabf9d426bf95e3adfc27cea7fcc86e42"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jul 17 14:10:03 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 23 08:10:30 2018 -0700"
      },
      "message": "Move MediaExtractor back to libstagefright\n\nIt is no longer needed in libmediaextractor, and moving it back\nto libstagefright will avoid a circular dependency later.\n\nBug: 111407253\nTest: build, boot, play some files\n\nChange-Id: I1373a9eedee27998e7733ea23ae1a375e45cc9c3\n"
    },
    {
      "commit": "cec44d0c8dc9703ca87435d95bdcd6ef228784d7",
      "tree": "a8f3ae236978e7201114e765a652632a0286d30e",
      "parents": [
        "0b16447f1cbaab5838477a68b26eeefa18b4e7aa"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sun Jun 17 22:21:09 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 21 10:49:16 2018 -0700"
      },
      "message": "C-ify DataSource\n\nAdd a C API for DataSource/Base, and a helper so extractors\ncan continue using a C++ API.\n\nBug: 111407253\nTest: build, boot, play some files\n\nChange-Id: I1c8b2990e17d18eee53c9abf7ebef2ced0e8b7fd\n"
    },
    {
      "commit": "e32f08e97dba172a1ed5a12854af2f009df4795f",
      "tree": "d9b4f852ab5257f10a6bc4788417b00bad848754",
      "parents": [
        "5a7913b405ac893998591fbad1242d7d9b7b2a62",
        "6bb53c045a0bfa4e25a8add4e16f4b0a9256211b"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jul 25 19:23:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 19:23:12 2018 -0700"
      },
      "message": "Merge \"Fix a memory leak\" am: a7dbdc8553 am: d8ce8e33e9 am: 584d6870c1\nam: 6bb53c045a\n\nChange-Id: I63f065aac01e743eb3a700d7b35b94312694b1e7\n"
    },
    {
      "commit": "584d6870c18b4f05ae3ec5ea36944362658c065f",
      "tree": "88631d4791c1127ab278323f92136da274dd9afe",
      "parents": [
        "399b40b4b3a3b5b56b816408c26426e24f5bf68e",
        "d8ce8e33e90e4aef13d61141584c4fec50322eaa"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jul 25 19:15:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 19:15:37 2018 -0700"
      },
      "message": "Merge \"Fix a memory leak\" am: a7dbdc8553\nam: d8ce8e33e9\n\nChange-Id: Iec7c6507badef8b5b53b50e242eed34f5dbfbb8a\n"
    },
    {
      "commit": "d8ce8e33e90e4aef13d61141584c4fec50322eaa",
      "tree": "38aa63fdd9a4316230816d4bfcf568f053b9237b",
      "parents": [
        "671b05bf3c82131612bf761a742f38ca45b453cf",
        "a7dbdc855331b41b70ca0ff31c1707bed250b6b9"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jul 25 19:11:58 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 19:11:58 2018 -0700"
      },
      "message": "Merge \"Fix a memory leak\"\nam: a7dbdc8553\n\nChange-Id: Icfff65b3db3863569cda75bed53f01defbadb799\n"
    },
    {
      "commit": "215545be9a8133a196633af8400616ca822080fb",
      "tree": "08b5d26e040f72e037cfb569a5d972e9da826ec2",
      "parents": [
        "69b9593594de8b2836ca3e6a7881b2268e9cb56d"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jul 25 10:06:30 2018 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jul 25 10:52:46 2018 -0700"
      },
      "message": "Fix a memory leak\n\n`if (index !\u003d 1)` below, we\u0027d leak this memory.\n\nCaught by the static analyzer:\n\nframeworks/av/media/libmedia/MediaProfiles.cpp:573:21: warning:\nPotential leak of memory pointed to by \u0027profile\u0027\n[clang-analyzer-cplusplus.NewDeleteLeaks]\n\nBug: None\nTest: Ran the analyzer again.\nChange-Id: I3a8641358294a2d405cdf4d00fb1af86d893f9dc\n"
    },
    {
      "commit": "39b09b52e313e89c3493927b379d2e256bf04bd9",
      "tree": "04e64f327c09b0d3344884d59c35ff520c751e3e",
      "parents": [
        "cd56a1c2a0adcd21aad3a64c761aa3562d915be1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 29 12:24:40 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 10 09:02:26 2018 -0700"
      },
      "message": "audioserver: log system event for binder timeouts\n\nAdd event logging in case of audioserver watchdog to help\ncollect statistics.\n\nTest: make. Simulate watchdog and check events in logcat.\n\nChange-Id: I4716852c77d56703ad5f3dfc2500f598a2b80a12\n"
    },
    {
      "commit": "7c6ae98049e422454f6e9ea21d9d3fd6a7bfd217",
      "tree": "06f9d2dc1df52505e59968677bc1dc8d042a1e55",
      "parents": [
        "495d8f29c82be95d499f8897311411ccc74ec52b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jun 14 12:33:38 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jun 14 17:03:06 2018 -0700"
      },
      "message": "audioflinger: Add support for RecordTrack with no conversion\n\nWhen piping encoded audio data via software patch, it needs\nto be created without the buffer converter. In this case the audio\ndata is copied directly from ResamplerBufferProvider.\n\nAdded input flag AUDIO_INPUT_FLAG_DIRECT to indicate to PatchPanel\nthat the PatchRecord track needs to be opened in this mode.\nThis flag can be later added to minor Audio HAL update.\n\nBug: 63901775\nTest: MSD scenario; verified that phone over USB headset still works\n      on marlin / sailfish\n\nChange-Id: If2745778d356769b143fb3c29910275ddef119ac\n"
    },
    {
      "commit": "e0f2694168bc1d8689b37fee52af2ae1a403fe56",
      "tree": "f60b15398f3897f559a2361417c1a4cbc7eee86e",
      "parents": [
        "9c6d88f78066ab0aa812845124efb2f194c9cf05",
        "ab065b63be1bfa8f95a372a4a5629fa16f54c75e"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Jun 08 12:44:23 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 08 12:44:23 2018 -0700"
      },
      "message": "Merge \"Add odm/etc/media_profiles_V1_0.xml\" into pi-dev am: afb0d8c57e\nam: ab065b63be\n\nChange-Id: I0ceeaf2e7bd8b52a07bdee09c4040ec4d7a14f5b\n"
    },
    {
      "commit": "ab065b63be1bfa8f95a372a4a5629fa16f54c75e",
      "tree": "896aa72dace5420890bd074319e361013f5a7edf",
      "parents": [
        "a5b2df722f6bad2a4405b9d5faa568143f167f8c",
        "afb0d8c57e6a6efca3c413cf28a8e25ee8973a6d"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Jun 08 12:38:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 08 12:38:26 2018 -0700"
      },
      "message": "Merge \"Add odm/etc/media_profiles_V1_0.xml\" into pi-dev\nam: afb0d8c57e\n\nChange-Id: I865012b3fb17efae6ae0ee62bad40497eb959d96\n"
    },
    {
      "commit": "6b0bd48f20e610238878289cd4e21e68eeef776a",
      "tree": "b4a41c2286d87392d386172b3e5791d78035474e",
      "parents": [
        "29d1cc0fe6c2cc5f97e9d77e21f47df58544340c"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Jun 08 16:57:37 2018 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Jun 08 16:57:37 2018 +0900"
      },
      "message": "Add odm/etc/media_profiles_V1_0.xml\n\nBug: 109856157\nTest: succeeded building\nChange-Id: Id19ee5d49fdd448a895be3d5e4f6b1c2cdff6bb7\n"
    },
    {
      "commit": "ba57b7d5fd987fbe9d619eafab90bdc4deda2464",
      "tree": "622facbfbbe2c3759c7f0eb4e861f353d0739510",
      "parents": [
        "d9850c3b1b97385f6affc4d299e2b8be1a4b5084",
        "59fef32845e5fec2f5c97c9637965b8c3ca24a6f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat May 26 01:46:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 26 01:46:09 2018 +0000"
      },
      "message": "Merge \"SingleStateQueue: Add last method to Mutator\""
    },
    {
      "commit": "f7d141320f508441a5323a11c2808e4a1c06129a",
      "tree": "5b1bc31aa6a2d439313db6ff8bff495fcd040d9f",
      "parents": [
        "ade178f6158d2daffd50b632d3589e782371d1c0",
        "72675e932bce9b96731ee57a57d63de617c5a5f5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 25 17:09:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 25 17:09:42 2018 -0700"
      },
      "message": "Merge \"stagefright: pass HIDL backed persistent surface cross binder\" into pi-dev am: 55c07b0d4b\nam: 72675e932b\n\nChange-Id: If19bf075d126ed7edf734378c5b7ae4a4d5b7d1c\n"
    },
    {
      "commit": "72675e932bce9b96731ee57a57d63de617c5a5f5",
      "tree": "c5d24300f76369012496eca65456aab4d71dab88",
      "parents": [
        "7375a4732cb2c5a3d7b6fd2ceec75ed26643953d",
        "55c07b0d4be9c5e128524e75e901099bd115b6e2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 25 17:05:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 25 17:05:10 2018 -0700"
      },
      "message": "Merge \"stagefright: pass HIDL backed persistent surface cross binder\" into pi-dev\nam: 55c07b0d4b\n\nChange-Id: I274bc3fe6905f82795166b32d6fefcc30b57a674\n"
    },
    {
      "commit": "59fef32845e5fec2f5c97c9637965b8c3ca24a6f",
      "tree": "345a351bf0f54ef6737aa3e117747075e35f2bb1",
      "parents": [
        "40e34f6fe614ceea5dd11fbb7b797d1108305983"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 25 12:43:43 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 25 12:45:53 2018 -0700"
      },
      "message": "SingleStateQueue: Add last method to Mutator\n\nObtains last value written.\n\nTest: see bug for CL topic and test\nBug: 80272001\nChange-Id: Ia71752970ac2e66bb1c89cd9e06691fc88f64647\n"
    },
    {
      "commit": "79c49ae0bdaaee24d7dc26b6658acfab27274b22",
      "tree": "45481f8ff81c74795383a9296bba640ec8f21277",
      "parents": [
        "d3663c97fb8bd44877e07a753a12b838a780b69c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 24 23:40:20 2018 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 24 23:41:57 2018 -0700"
      },
      "message": "stagefright: pass HIDL backed persistent surface cross binder\n\nBug: 67591367\nChange-Id: I20b70813a96c65822c35240448fafa9e5c749ae1\n"
    },
    {
      "commit": "b1dd2d9b7b0a3da1db8d3e3c2a76509a53a316e9",
      "tree": "0bb55367e3a4df518f559dd4c630dae24ba57982",
      "parents": [
        "7be71d225fd6d44cc38eaef532c2eb502dcadb91",
        "b1243bf60d3a4ee226bc33bf449c4624133958a2"
      ],
      "author": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Thu May 24 16:38:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 24 16:38:01 2018 +0000"
      },
      "message": "Merge \"libmedia_helper export headers\""
    },
    {
      "commit": "b1243bf60d3a4ee226bc33bf449c4624133958a2",
      "tree": "addca1cbc4350e9b85663eadffa0e496f2c70783",
      "parents": [
        "b5bffacf0b3930c17c50005d0102bff0ca012309"
      ],
      "author": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Mon May 21 09:08:22 2018 -0700"
      },
      "committer": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Mon May 21 09:09:33 2018 -0700"
      },
      "message": "libmedia_helper export headers\n\nHave libmedia_helper export libmedia_headers so that future clients\nwon\u0027t need to explicitly include them.\n\nBug: 80076889\nTest: sdk_google_iot_x86 builds.\n\nChange-Id: Iac6e1237f10b461dbcd72370be843634aaff431d\n"
    },
    {
      "commit": "b1410279236c35e05edfb7aa96dec563759d073e",
      "tree": "7228325d07710a7366a5601b11e974b2f9dfdd02",
      "parents": [
        "18a64dc9e1bdb6f0bf80a76b86b3ca96ed5be333",
        "7221451768a69fa5bc8dbbff8ea76af47d3ea70a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 17 15:03:40 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 17 15:03:40 2018 -0700"
      },
      "message": "Merge \"audiopolicy: Optimize A2DP codec config change\" into pi-dev am: 0ba1ae398e\nam: 7221451768\n\nChange-Id: Iab6dde9d368f6647aeb1eab49dc7b45a6b96f756\n"
    },
    {
      "commit": "7221451768a69fa5bc8dbbff8ea76af47d3ea70a",
      "tree": "862cc3e9533ab6d1220c351fab87017e4a24dd77",
      "parents": [
        "52f0c23904b2249fb92ad015d74d9c6969930cdb",
        "0ba1ae398e65718fba66bb1bd258d4d0a9ba6c28"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 17 14:58:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 17 14:58:36 2018 -0700"
      },
      "message": "Merge \"audiopolicy: Optimize A2DP codec config change\" into pi-dev\nam: 0ba1ae398e\n\nChange-Id: I8a8da84dafe1f941b7fb0240ac353c35ea06ace3\n"
    },
    {
      "commit": "3432e0439d3b09756f125dfa734951c654d63baf",
      "tree": "a5ccde7855da94bf284d302e61adf0d155f0dcfa",
      "parents": [
        "5eb9d967e81ace00d96ab50b9264b25560e9df1d"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@codeaurora.org",
        "time": "Fri Apr 06 14:22:15 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 17 11:18:25 2018 -0700"
      },
      "message": "audiopolicy: Optimize A2DP codec config change\n\nHandle A2DP codec config change in audio HAL without\nclosing / re-opening outputs or invalidating streams\nfrom AudioPolicyManager.\n\nBug: 79476124\nTest: music playback over BT A2DP\nChange-Id: I87263da32815a4d4f6273068ef0b2a5b93c73b75\n"
    },
    {
      "commit": "dc769682023ba8a8a5da07c3e3a3adfabe4bd612",
      "tree": "6f6a0991e71927cda302c4c489f69bd239023597",
      "parents": [
        "f1040d20210338eb850b000d4344ddc9a04eb493"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri May 04 15:34:08 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed May 16 09:43:33 2018 -0700"
      },
      "message": "audio_server: Unify audio_patch creation\n\nProvide PatchBuilder helper class instead of fiddling with\nstruct audio_patch directly.\n\nRename \u0027getAudioPortConfig\u0027 methods of AudioFlinger helper\nclasses into \u0027toAudioPortConfig\u0027 to match classes\nof AudioPolicyManager.\n\nFactor out common code in AudioPolicyManager that was\nadding audio patches. For that, AudioOutputDescriptor now inherits\nfrom AudioSessionInfoProvider, and the latter has been extended\nwith \u0027setPatchHandle\u0027 method.\n\nTest: switch to/from Bluetooth on phone calls and media playback,\n      use camcorder\nChange-Id: Idd99645dc6943ed078c4d94d0197fead7831ab4d\n"
    },
    {
      "commit": "06271b6e172067bffca03ae3f94ae6a1fb4a752a",
      "tree": "ea20565aaabe6f471302597e9c2e9bf7396f0136",
      "parents": [
        "000878037733b48a4e8a63af764147403420c935",
        "9b3eee31c19c965946553d7a98637f704bd14af2"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu May 10 19:30:44 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 19:30:44 2018 -0700"
      },
      "message": "Merge \"libaudioprocessing: clamp application provided float audio\" into pi-dev am: b3dee358b1\nam: 9b3eee31c1\n\nChange-Id: Iab7a6ec9a1cdbb17848e124bc73e60c1c7700ea8\n"
    },
    {
      "commit": "9b3eee31c19c965946553d7a98637f704bd14af2",
      "tree": "c04f4ec21a32524981d15f0332ea31b4fca78b6f",
      "parents": [
        "d64be95782e1210abd63b1024080bafdb9af88ff",
        "b3dee358b18472d6623a9d6342d7f2f7e8e45bec"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu May 10 19:25:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 19:25:57 2018 -0700"
      },
      "message": "Merge \"libaudioprocessing: clamp application provided float audio\" into pi-dev\nam: b3dee358b1\n\nChange-Id: I51eb47b06977d7ebf761c0601a505a4ccc8b0a20\n"
    },
    {
      "commit": "b3dee358b18472d6623a9d6342d7f2f7e8e45bec",
      "tree": "a3d6104f1bd6212309642fc7138a3245be5c7ee8",
      "parents": [
        "0dd0949cae167f88f280510cb49151ef32fde639",
        "e053bfaaa6477016b935c98cacf0b297b5d3d6e1"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri May 11 02:15:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 02:15:46 2018 +0000"
      },
      "message": "Merge \"libaudioprocessing: clamp application provided float audio\" into pi-dev"
    },
    {
      "commit": "72ea0a8cff7820b3cb2274b38209f3dff287f8c6",
      "tree": "38ce1961b592877b530ebb264e579ba6700eb1a8",
      "parents": [
        "c0c611cd81457ac74c20a418e405f17c3ab8a100",
        "e34561be0524fc177c3c1ba973a4e739e6f01ec9"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu May 10 17:12:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 17:12:09 2018 -0700"
      },
      "message": "Fix security vulnerability in CryptoHal am: b1f8c80d3a\nam: e34561be05\n\nChange-Id: I4ae6d1080be406bf53e3617c59c75206cc5066c6\n"
    },
    {
      "commit": "e34561be0524fc177c3c1ba973a4e739e6f01ec9",
      "tree": "02d1ec2cb6121842a24f973be91dd16a8c74ab71",
      "parents": [
        "2dcfc31372324638109585877c66379ff82a41af",
        "b1f8c80d3a0c144407d1bd6b63eb6ac9e90112f2"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu May 10 16:36:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 10 16:36:26 2018 -0700"
      },
      "message": "Fix security vulnerability in CryptoHal\nam: b1f8c80d3a\n\nChange-Id: I00d72bd20647471c62f6dd10dfba84193b0021ae\n"
    },
    {
      "commit": "b1f8c80d3a0c144407d1bd6b63eb6ac9e90112f2",
      "tree": "a97d00e9565b2e7276dafa3aac15b823c952cfc2",
      "parents": [
        "1ab07d1de9875dab00960d3939d0a00bc2ec5864"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Apr 19 16:23:21 2018 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu May 10 23:23:39 2018 +0000"
      },
      "message": "Fix security vulnerability in CryptoHal\n\nCryptoHal was not checking that the memory heap set by setHeap\nwas the same one that was actually used for the decrypt call, allowing\nthe caller to spoof the decrypt call into accessing arbitrary memory.\n\nbug:76221123\ntest: mediadrmserverpoc included in the bug \u0026 GTS media tests\nChange-Id: I35214a1a6d0a4b864123e147d1a1adc2377bfbc5\n"
    },
    {
      "commit": "88a2cb3869457739ef801101af9c8b856240c966",
      "tree": "2dfae24d1d1742e496a26daac3d19f83cb5bb6cf",
      "parents": [
        "9382876687b3be53a09100c44c26c437652023a3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Sat Mar 10 21:10:38 2018 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed May 09 01:12:15 2018 +0000"
      },
      "message": "Use regex pattern in version scripts for lld.\n\n* lld complains about unfound symbols in version scripts.\n\nBug: 77820876\nTest: make checkbuild\nChange-Id: I38af432c0c78b2ab3cdcfc5eefbf941fdba8beee\n(cherry picked from commit 5c67e746885b37f6080d63410876db13a68bae75)\n"
    },
    {
      "commit": "08c80574ee6c3c5587098e13347f3aac3d475a08",
      "tree": "e4eb7e9adb4725f9a4467c34b7d76d835e5f8ae4",
      "parents": [
        "92409179eb36df366814c736caf2b7efc02df70e",
        "e264f1ddb67466016a3e8890d4d0bf3cb3ce6120"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue May 08 15:26:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 15:26:47 2018 -0700"
      },
      "message": "Merge \"Decode one row of tiles at a time for image that has tiles\" into pi-dev am: 4df59e77f8\nam: e264f1ddb6\n\nChange-Id: Ie9d8ba328e73be59bb4548ba96cbf3c0a0ab85ab\n"
    },
    {
      "commit": "e264f1ddb67466016a3e8890d4d0bf3cb3ce6120",
      "tree": "a7eb2b650d734cd47bf916f7cbc3cdd787bda0c7",
      "parents": [
        "e93c26858d9aec2d4f2649fbc4f782bf4e85b06a",
        "4df59e77f88682bbde9f627dc50b3e572815f57c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue May 08 15:22:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 15:22:43 2018 -0700"
      },
      "message": "Merge \"Decode one row of tiles at a time for image that has tiles\" into pi-dev\nam: 4df59e77f8\n\nChange-Id: If7c3f76b81dc6aeb68c9577ba16d5c83b228ca8f\n"
    },
    {
      "commit": "0c1407f79ef36422330c2003a608d37df714256b",
      "tree": "04eb9f45da49543f2ad97040a692ea245f8906bd",
      "parents": [
        "0c1f9148ed187a9c3819374050c5ea319b059439"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 02 17:09:05 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon May 07 19:38:05 2018 -0700"
      },
      "message": "Decode one row of tiles at a time for image that has tiles\n\nAdd an api to IMediaMetadataRetriever to decode image rect.\nIt will reuse the same full frame IMemory, and decode only\nthe requested rect. For now, StagefrightMetadataRetriever\nwill only allow decoding of rect that\u0027s a full row of tiles,\nand the requested must be issued sequentially (i.e. no\narbitrary rects). When the extract side is fixed to allow\nseeking by tiles, it can be extended to allow arbitrary\nrects.\n\nThis allows HeifDecoderImpl (on client side) to start\nprocessing the getScanlines in parallel with the decoding.\n\nTest: CTS MediaMetadataRetrieverTest;\nManual testing of HEIF decoding of files with or without tiles;\nManual testing of HEIF thumbnails generation in Downloads app.\n\nbug: 78475896\nChange-Id: I820b21cdf33f80593ee6092d8e1ba68b3beb65dd\n"
    },
    {
      "commit": "e053bfaaa6477016b935c98cacf0b297b5d3d6e1",
      "tree": "d2076ced75198bd8f53f291f3b59ca34ffe9e037",
      "parents": [
        "c3d554d42f637a9076473b070b30ba3e8229189c"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Nov 09 22:07:34 2017 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri May 04 17:13:51 2018 -0700"
      },
      "message": "libaudioprocessing: clamp application provided float audio\n\nFor security reason, float buffers provided by application must be\nclamped to FLOAT_NOMINAL_RANGE_HEADROOM.\nWith the new all float pipeline, float are no longer clamped by their\nconversion to fixed point.\n\nThis patch adds a float buffer provider that clamps float samples\nas they are copied to audio pipeline.\n\nTest: Play music, play video in chrome (opensles format float),\n      play float pcm audio file specially crafter with \u003e\u003e 1 samples.\nBug: 68099072\nChange-Id: I220b436d9982bc43a75715a030efd0e6a0c79fa3\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "dfcc596ab400176215717766c6a88251c8642fa3",
      "tree": "f9b079f5bc003b5788993fa6cf71cb5c875b20fc",
      "parents": [
        "1d37b198f37e90ceaa8cd9b3b048d603bd9322e9",
        "ad33f439ee2946eae0d72221d2ac08600d95410b"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Apr 27 18:02:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 27 18:02:51 2018 -0700"
      },
      "message": "Merge \"NdkMediaExtractor: remove `disconnect` from NDK headers\" into pi-dev am: 036e93aa10\nam: ad33f439ee\n\nChange-Id: If8cfb5bda48f46e0aa99651657641a9944064f0b\n"
    },
    {
      "commit": "ad33f439ee2946eae0d72221d2ac08600d95410b",
      "tree": "26156b75a094808b7c9efff37506b425ca489b4b",
      "parents": [
        "c55ede9dab97eba7ebd573f475864aa58cc4f493",
        "036e93aa100246e7089fcd7b800e400fb122275c"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Apr 27 17:50:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 27 17:50:45 2018 -0700"
      },
      "message": "Merge \"NdkMediaExtractor: remove `disconnect` from NDK headers\" into pi-dev\nam: 036e93aa10\n\nChange-Id: I6d32a7e9385379a8ea356be600972a1c70b344e6\n"
    },
    {
      "commit": "036e93aa100246e7089fcd7b800e400fb122275c",
      "tree": "077cae906ddb8f4cd8b900cd4078e58d125675f9",
      "parents": [
        "1f0cbeddf430e24d943892381600262ae3ce542e",
        "3fd320dac30e103a47bdbcf1897deac3d08f99e9"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Apr 28 00:40:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 28 00:40:28 2018 +0000"
      },
      "message": "Merge \"NdkMediaExtractor: remove `disconnect` from NDK headers\" into pi-dev"
    },
    {
      "commit": "3fd320dac30e103a47bdbcf1897deac3d08f99e9",
      "tree": "88073126277312b68ec8726b7fc61e4c7cc59397",
      "parents": [
        "64da22285776f07a775afd45f9fc36cea1aa05e3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Apr 26 16:21:29 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Apr 27 22:26:21 2018 +0000"
      },
      "message": "NdkMediaExtractor: remove `disconnect` from NDK headers\n\nBug: 63934228\nChange-Id: I74f0564bb75dffb934931d0e5f1d34b17916f2b8\n"
    },
    {
      "commit": "f4b5b3a9bfe50e7d44272a81b91b2eabf8b579da",
      "tree": "c734763835b14bcc47575dab3e0759ec0386b479",
      "parents": [
        "5c3c29e53490558a8e538044921daa263df22414",
        "173ede0bb1d2b1ab7fb47f7e6474d91cc95d76d1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 13:17:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 13:17:01 2018 -0700"
      },
      "message": "Merge \"Remove one redundant frame copy in MetadataRetriever\" into pi-dev am: b0d44131e9\nam: 173ede0bb1\n\nChange-Id: I67458f38c9e1f798d662c7faf37f54e6ae84ea2a\n"
    },
    {
      "commit": "173ede0bb1d2b1ab7fb47f7e6474d91cc95d76d1",
      "tree": "3a0abb383e160a5635c5f435057336748d07270c",
      "parents": [
        "e9108d0f23dfb59f59da8a55db8c91f2bdc3297f",
        "b0d44131e93e0190351ac50ea7a3fe76da168557"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 13:09:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 13:09:22 2018 -0700"
      },
      "message": "Merge \"Remove one redundant frame copy in MetadataRetriever\" into pi-dev\nam: b0d44131e9\n\nChange-Id: Ieea9eff4d94c5acb6d4c51b19633eafb60544bc2\n"
    },
    {
      "commit": "b0d44131e93e0190351ac50ea7a3fe76da168557",
      "tree": "c369f4f9b21c0484edad8ca591a31b5ceee0546c",
      "parents": [
        "90033d19134e13de6b7829db496925676c9d4d72",
        "3f4e6ddcf05aa1a286bc3963b5a9f53bf30b4327"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 19:50:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 19:50:42 2018 +0000"
      },
      "message": "Merge \"Remove one redundant frame copy in MetadataRetriever\" into pi-dev"
    },
    {
      "commit": "3f4e6ddcf05aa1a286bc3963b5a9f53bf30b4327",
      "tree": "afb38add9c3818f5039a7d1b21fe65bd2b3e53a3",
      "parents": [
        "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 24 16:12:57 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 26 11:58:49 2018 -0700"
      },
      "message": "Remove one redundant frame copy in MetadataRetriever\n\nWhen extracting bitmaps, MediaMetadataRetriever does a copy from\nStagefrightMetadataRetriever\u0027s VideoFrame to IMemory. We could\njust allocate IMemory directly and return that to the client.\n\nbug: 78475896\nChange-Id: Ibe07e7d2c68f031261470308476089c2fa9298ea\n"
    },
    {
      "commit": "82a8d3aa9e7f7304644ec31869f8683cfdbf7803",
      "tree": "b12562b04299b7421144b6aabecf14c0657a93ec",
      "parents": [
        "2ca26c9f1d924b52848e0e4ffe3ba31058d7e6fe",
        "38ca1a3c28ea441bc9f48595f843b46a3da9ebd7"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 25 17:35:23 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 25 17:35:23 2018 -0700"
      },
      "message": "Merge \"Allow customized registration of codec services\" into pi-dev am: d549c0835a\nam: 38ca1a3c28\n\nChange-Id: Id6a3c8e218845d49d33e9661a960458490bdc2e6\n"
    },
    {
      "commit": "38ca1a3c28ea441bc9f48595f843b46a3da9ebd7",
      "tree": "bbda65805389e68bbe1bbc0d4d42e40ea3e44884",
      "parents": [
        "36c3a8577e5d75c08a0b89a8f47a992f53790ff1",
        "d549c0835ab7fc3c06f0e43b9daa3c8994440e5d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 25 17:26:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 25 17:26:50 2018 -0700"
      },
      "message": "Merge \"Allow customized registration of codec services\" into pi-dev\nam: d549c0835a\n\nChange-Id: Ie6135acf7a458caac941863499ce9b0b22f9a7ba\n"
    },
    {
      "commit": "a66243a7d65c6152e4f0c3e0ac6ba3470c73a6a2",
      "tree": "9c2c2b90ccdeff518971f07af89c31228b8e5d5c",
      "parents": [
        "67f280ee7f7ec076cce335c7aa7d3150ae0a3e28"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 18 01:38:29 2018 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 25 04:21:59 2018 -0700"
      },
      "message": "Allow customized registration of codec services\n\nTest: adb bugreport\n\nBug: 78206546\nChange-Id: Id42d57b8b647570e68de228de856a39b2755862d\n"
    },
    {
      "commit": "b3358a7f9b36f15314d8ffcfcb5107598c8b8cc6",
      "tree": "8830c2f4cc67193df67ed5ace215189b89812d20",
      "parents": [
        "f4f01aafa5d45d2c5b1acb80bba9fcaa64e70e61",
        "1ec43c9c3e6a486cd2d1438f158eea1a27bb6007"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Apr 21 11:40:21 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Apr 21 11:40:21 2018 +0900"
      },
      "message": "resolve merge conflicts of 1ec43c9c3e6a486cd2d1438f158eea1a27bb6007 to pi-dev-plus-aosp\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ia022f34c839539aab4a18ca331f22165d1abfaff\n"
    },
    {
      "commit": "666a67b72a89820b81350e5bc503d898f20cb0c3",
      "tree": "fd6492ddc2b63e870555435ede1ba8201af053fc",
      "parents": [
        "f817804a8b1febd793cb4961559f384bc03b006a",
        "b7d75dd1106af8d0b1c1d82826b317d88598a963"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 19 11:30:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 19 11:30:09 2018 -0700"
      },
      "message": "Merge \"Request cpuset change for 1080p HDR using soft decoder\" into pi-dev am: 56aad0ab6a\nam: b7d75dd110\n\nChange-Id: I01f95431b1782cde673725d0fee39646981a89a6\n"
    },
    {
      "commit": "5cfc4d847767a3c61222a930e563b2a401e605c1",
      "tree": "ebffcbde0789f21f28b3cf9cf45e0ba9b8fe4da2",
      "parents": [
        "cdad96c69d9f7ba23bdb4127c90ebfcc5c05ab71",
        "fcd1537dcd1e974ec9b204cc4ce3ab4a8aec09b1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 00:25:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 00:25:05 2018 +0000"
      },
      "message": "Merge \"Mark libmedia_omx and libstagefright_foundation as double_loadable\""
    },
    {
      "commit": "79d2b28f3a04d7914bb932a65d87117c0c7c11cf",
      "tree": "386c0e23123c52191f3c098351898cd6a0bdb4bf",
      "parents": [
        "1cdd674121096020f7f17c216940a14aa58ff31e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 17 14:14:31 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 18 13:46:03 2018 -0700"
      },
      "message": "Request cpuset change for 1080p HDR using soft decoder\n\nKeep track of cpuset change requests in ResourceManagerService,\nand request changing of cpuset via SchedulingPolicyService.\n\nBug: 72841545\n\nTest:\n\n1)Using modified Youtube/Exoplayer (that uses softMediaCodec\nto decode VP9 profile2), manually verify the following:\n\n- media.codec is put into top-app cpuset playing VP9 1080p HDR\n- media.codec is put back into foreground after done\n- media.codec stays in foreground cpuset playing other content\n- kill the app process, verify media.codec is put back to\n  foreground until new instances request top-app\n- kill mediaserver process, verify media.codec is put back to\n  foreground until new instances request top-app\n- kill media.codec process, starting playback again, verify new\n  media.codec\u0027s cpuset can be changed correctly\n- kill system_server process (using \u0027adb shell stop \u0026\u0026\n  adb shell start\u0027), verify media.codec is put back to\n  foreground. Restart playback and verify the cpuset can be\n  changed correctly.\n\n2) CTS post submit tests\n\nChange-Id: Iba50ede1c08b695821fe4f56dbfc5694eab54e7b\n"
    },
    {
      "commit": "0478ef866b9afa136c3dc91e913dae13c609eb76",
      "tree": "55d7186d1177fafdee5f5a7de3ffbee69db77b67",
      "parents": [
        "91a45a421b3598e3519a3d459957959e94b4d3c1"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 09 12:13:06 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 18 11:46:51 2018 +0900"
      },
      "message": "Mark libmedia_omx and libstagefright_foundation as double_loadable\n\nThese two are explicitly marked as double_loadable since they are one of the\ndependencies of the LLNDK library libnativewindow (libmediandk)\nand at the same time the lib themselves are marked as VNDK. Such libs can be\ndouble loaded inside a vendor process.\n\nNote: even without this change, the library is already capable of being\ndouble loaded due to the dependency graph around it. This change is to\nmake it explicit so that double loading of a library is carefully\ntracked and signed-off by the owner of the lib.\n\nBug: 77155589\nTest: m -j\nMerged-In: I38e3ff4a76930a99a04f3dbc53a2dcfea18de8f3\nChange-Id: I38e3ff4a76930a99a04f3dbc53a2dcfea18de8f3\n(cherry picked from commit fcd1537dcd1e974ec9b204cc4ce3ab4a8aec09b1)\n"
    },
    {
      "commit": "6e318987b3aac4266556702700824ab0169d93fa",
      "tree": "a5dd5743961c69fea1bf3c4e9dd81c520e57fa17",
      "parents": [
        "ff0caaaea675a11d9795508b7b6715b6a54478a8",
        "ab45dbb1e9d0aaf354121d1cbd19f6eb92aa8625"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Apr 14 19:15:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 14 19:15:17 2018 -0700"
      },
      "message": "Merge \"Use heif embedded thumbnail if available\" into pi-dev am: 47887b0b52\nam: ab45dbb1e9\n\nChange-Id: Ie90f31b04b4d3e10140ec2dee3b306fb9c984416\n"
    },
    {
      "commit": "47887b0b5262f12f2bfbd04b4c4f8b6b62173b87",
      "tree": "bf7160135f5e156a2a483a73958b6b90db47e912",
      "parents": [
        "a155eaaea50bf7e28e589e6d51f89f511ad3e15f",
        "d5fa357ddff0589d8a331583a56e62712af471be"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 14 00:23:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 14 00:23:37 2018 +0000"
      },
      "message": "Merge \"Use heif embedded thumbnail if available\" into pi-dev"
    },
    {
      "commit": "97bf89c0e48ca30f56c91ccad96e646d853b7472",
      "tree": "6feb33648ec9b60e4b6ef3eec74ac77f5b9fdadf",
      "parents": [
        "7163499fd3a516c93daffacaad1b2ada7d7074c0"
      ],
      "author": {
        "name": "Previr Rangroo",
        "email": "prang@dolby.com",
        "time": "Tue Dec 12 10:11:33 2017 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Apr 12 09:55:37 2018 -0700"
      },
      "message": "Add AudioParameter keyAudioLanguagePreferred\n\nThis parameter will be used to set user\u0027s preferred audio language\nto the MSD HAL. The MSD HAL will use this as a preference indication\nwhen selecting an audio presentation to decode and render\nfor next generation audio codecs such as AC-4.\n\nBug: 63901775\nTest: make\nChange-Id: Ic1da11ced50857f62affd636ba197fb8e6759110\nSigned-off-by: Previr Rangroo \u003cprang@dolby.com\u003e\n"
    },
    {
      "commit": "d5fa357ddff0589d8a331583a56e62712af471be",
      "tree": "64a6fec9e99d8aee6e721d42fd5fc6b2c2b17a3f",
      "parents": [
        "2383098d54b6503875bdf0c6b649fa66f22d79ac"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 09 19:03:10 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 12 00:08:38 2018 +0000"
      },
      "message": "Use heif embedded thumbnail if available\n\nAdd plumbing to retieve the embedded thumbnail from\nMPEG4Extractor/ItemTable.\n\nbug: 74395267\nTest: CTS MediaMetadataRetriever test; manual test of thumbnail\nextraction by browsing new folders containing heif files in\nDownloads app.\nChange-Id: Ic49f6dfa47eddc229b9f4b0e1835d58df1dce9f8\n"
    },
    {
      "commit": "1911d2ec2817346809b8e08bf82ec01c9d0091f1",
      "tree": "e83837ac907aea995e489c880889e54bd0eabaf5",
      "parents": [
        "6e2c80d856f3e623f772b5466ac4c9a0d39457f5",
        "5c67e746885b37f6080d63410876db13a68bae75"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 11 17:25:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 17:25:42 2018 +0000"
      },
      "message": "Merge \"Use regex pattern in version scripts for lld.\""
    },
    {
      "commit": "fcd1537dcd1e974ec9b204cc4ce3ab4a8aec09b1",
      "tree": "bbf6e6be11cd9c6da98311a546d8f0dc24b22823",
      "parents": [
        "0daba5715131283d8066950c02ce742b2a6ec71d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 09 12:13:06 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Apr 10 13:16:46 2018 +0900"
      },
      "message": "Mark libmedia_omx and libstagefright_foundation as double_loadable\n\nThese two are explicitly marked as double_loadable since they are one of the\ndependencies of the LLNDK library libnativewindow (libmediandk)\nand at the same time the lib themselves are marked as VNDK. Such libs can be\ndouble loaded inside a vendor process.\n\nNote: even without this change, the library is already capable of being\ndouble loaded due to the dependency graph around it. This change is to\nmake it explicit so that double loading of a library is carefully\ntracked and signed-off by the owner of the lib.\n\nBug: 77155589\nTest: m -j\nChange-Id: I38e3ff4a76930a99a04f3dbc53a2dcfea18de8f3\n"
    },
    {
      "commit": "79890542c0febb8c7d80bd8c1735ed352783c714",
      "tree": "e2062199b53caf0e6244c54ea2431a9ffbdfed1b",
      "parents": [
        "40c43221f6080ad56373a95f670a0726b2c06729",
        "4c7a5b9d96c16e31a233549ff2d2ddb92d58540c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 10 00:35:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 00:35:48 2018 +0000"
      },
      "message": "Merge \"Prevent NOT_ENOUGH_DATA from entering HIDL\" into pi-dev"
    },
    {
      "commit": "5c67e746885b37f6080d63410876db13a68bae75",
      "tree": "d8b9563339035c8e108e11d4629072e21b990b26",
      "parents": [
        "2f1103142fde38b9bdc2514b168d278c0ce08398"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Sat Mar 10 21:10:38 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Apr 09 16:19:05 2018 -0700"
      },
      "message": "Use regex pattern in version scripts for lld.\n\n* lld complains about unfound symbols in version scripts.\n\nBug: 77820876\nTest: make checkbuild\nChange-Id: I38af432c0c78b2ab3cdcfc5eefbf941fdba8beee\n"
    },
    {
      "commit": "4c7a5b9d96c16e31a233549ff2d2ddb92d58540c",
      "tree": "3398bc9a5bcb530240eec03d586a5c0ef49f4da4",
      "parents": [
        "c7e85481ec848d4ae91a96fc6ddcec76a5d8de20"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Mar 30 18:53:29 2018 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Apr 07 01:08:28 2018 -0700"
      },
      "message": "Prevent NOT_ENOUGH_DATA from entering HIDL\n\nTest: Test: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nBug: 70527635\nChange-Id: I06defaded09f2bdac3a6ac48a48cf25cb211a672\n"
    },
    {
      "commit": "0cb2ef50d6b5c50859f59ef4b50923c8f15912a8",
      "tree": "b823639ef43337c18a038955f664c9f85929985a",
      "parents": [
        "74cd50bb4d98a4c5139a73fe3e5d287884ca6825",
        "d32f200182a7c3412b364afc167ced22fb538b7d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 05:13:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 05:13:34 2018 +0000"
      },
      "message": "Merge \"Report exif data offset and length in MediaMetadataRetriever\" into pi-dev"
    },
    {
      "commit": "d32f200182a7c3412b364afc167ced22fb538b7d",
      "tree": "fd6dbf8268a0b8c16a340b5163442815530ea589",
      "parents": [
        "fcf9a4c7e2d646154927a53d7a25bef5c4c380d7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 03 12:45:52 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 05 11:28:33 2018 -0700"
      },
      "message": "Report exif data offset and length in MediaMetadataRetriever\n\nThese are to be retrieved via hidden keys in MediaMetadataRetreiver,\nand used by ExifInterface for Exif extraction.\n\nbug: 76149934\n\nChange-Id: Ic6ac68cfd3c0f3e93e14db1da620dd069cb2c8c4\n"
    },
    {
      "commit": "ef3dbdbf730a1921aa387eec81f0cd0d46f9260b",
      "tree": "33bc9794e6c9cbaf9a93dbef80b828a42811e514",
      "parents": [
        "eba668adbdee1ecfcf00fa9f9fc066c022cfddba",
        "47afe0a1a6f37e7807a81acb21ef588aec0a3518"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Apr 05 16:33:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 16:33:39 2018 +0000"
      },
      "message": "Merge \"Add OnMediaTimeDiscontinuity notification\" into pi-dev"
    },
    {
      "commit": "113b9b3135fdde0167bec340c6d20a42471fb227",
      "tree": "edc5ca77c9cf03d470be5314b10e480267d13690",
      "parents": [
        "ac0beb7bc1feeedf643263bd79b7cbe95f0dcc3a"
      ],
      "author": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Tue Apr 03 16:23:22 2018 -0700"
      },
      "committer": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Tue Apr 03 16:23:22 2018 -0700"
      },
      "message": "Adds USAGE_ASSISTANT to UsageTypeConverter\n\nBug: 77547740\nTest: adb shell dumpsys media.audio_policy\nChange-Id: I05fd9e3b59f57800ae91257889ce7768a2dcb2c4\n"
    },
    {
      "commit": "47afe0a1a6f37e7807a81acb21ef588aec0a3518",
      "tree": "7c599aacfa404d393b669e8b68abfe44ea735721",
      "parents": [
        "6dc6d938c33db5ef1f5d17779040bf3c7dd25d3f"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Mar 27 15:15:30 2018 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Mar 28 17:05:20 2018 -0700"
      },
      "message": "Add OnMediaTimeDiscontinuity notification\n\nTest: MediaPlayerTest\nBug: 63934228\nChange-Id: I7efb58d00dc86b17b9d97775d1a2672e40e841d3\n"
    },
    {
      "commit": "3abf7858bf1f45c60a9913e6e03d2e2b005960ac",
      "tree": "24ddb7780e702020027901bd27a2195fd5d046c0",
      "parents": [
        "bebc764c6b3e90024a56c9af4517a1a68713f3e7",
        "32494f5438db362e96b69e5fda7b2fd34633b562"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Mar 26 17:26:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 26 17:26:59 2018 +0000"
      },
      "message": "Merge \"Fixes serialization of vendor metrics\" into pi-dev"
    },
    {
      "commit": "32494f5438db362e96b69e5fda7b2fd34633b562",
      "tree": "05117fdb47464a3de366fc60010e7255dce44b3b",
      "parents": [
        "56ecf3e3ce36d111a17d67485047836660128629"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Feb 26 22:53:27 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Thu Mar 22 15:54:58 2018 -0700"
      },
      "message": "Fixes serialization of vendor metrics\n\nUses an updated proto model that\u0027s more efficient for serialization.\n\nTest: Unit tests, google play and CTS tests.\nBug: 73724218\n\nChange-Id: I936bc18216c0c67de580424b4c62344d94be6b38\n"
    },
    {
      "commit": "3528c9330f481f236f16753cb0846c7d6ddcc7ee",
      "tree": "3fb6f04c3842c26e81a68fb847596aa237b713d9",
      "parents": [
        "12cc6e7a4162ea4137f9082a3e0fea551b21aae3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 23 17:17:22 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 22 10:02:49 2018 -0700"
      },
      "message": "audio services: monitor execution time for binder commands\n\nAdd a mechanism to monitor execution time of incoming binder\ncalls to audio flinger and audio policy and cause native audioserver\nrestart in case of timeout.\n\nBug: 69250055\nTest: manual. audio smoke tests\nChange-Id: I01b5bf2599fb2a4cd265cbbe8d4e34b2b059aaf4\n"
    },
    {
      "commit": "553a1a42fceba2f5315238355de2b20687185160",
      "tree": "f8899ad6adb39f243c0be72133906314187436ed",
      "parents": [
        "6dd87c3ad6c7b05dcf99501276678b9126347ce6",
        "67d5b91f2fa0b106c038e642225e3b538db2be2e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 01:04:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 01:04:15 2018 +0000"
      },
      "message": "Merge \"heif: renaming of grid-{width,height} to tile-{width,height}\" into pi-dev"
    },
    {
      "commit": "209a0e19e99377aa653c0c0b91167802225b878d",
      "tree": "0d958ea337b9853575f4baf7daf303b80c38f485",
      "parents": [
        "5c2b3fc0b405f7bb0b0324ec9da1a30640de6dcb"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Mar 16 14:41:29 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Fri Mar 16 14:41:43 2018 -0700"
      },
      "message": "Add 5.1.2, 5.1.4, 7.1.2, 7.1.4 output channel masks\n\nThey were supposed to be added by the change with id\nI2f488462614114e4c82149460b030585981ae15e\nbut actually were not.\n\nBug: 38184704\nBug: 63901775\nTest: make\nChange-Id: I66c465fb5a06712949d1e1759064bab1de2e219d\n"
    },
    {
      "commit": "67d5b91f2fa0b106c038e642225e3b538db2be2e",
      "tree": "3450723f9600a1ddf4af2735423a85d1a5f8d1c9",
      "parents": [
        "3f21345e16b77c49042f5c13ceb62b0c35699561"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 14 18:17:40 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 15 16:00:21 2018 -0700"
      },
      "message": "heif: renaming of grid-{width,height} to tile-{width,height}\n\nSo that it\u0027s not confused with grid dimensions.\n\nbug: 74831433\n\nChange-Id: I29188c6527c2315cbc66157a0a5b68a0d11fecc4\n"
    },
    {
      "commit": "08eb908098436ce8cc1faf0f009ced1a8fa32c9a",
      "tree": "98056726426c3948dd21cc1b7d855e30e89f903e",
      "parents": [
        "0df1e8d08aeb50771bdae54f77088f31531c4cb0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Mar 09 13:57:26 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Mar 13 11:12:33 2018 -0700"
      },
      "message": "NdkMediaExtractor: add disconnect API\n\nBug: 63934228\nChange-Id: I89c57fae387958d204df9c736e89654868ee5941\n"
    },
    {
      "commit": "055e2afc2d1a7f6a6b7e65ca63ab0e8dab124f83",
      "tree": "8ccab19524791105a5caeefa498a2b8a22998b5e",
      "parents": [
        "6fd4657ec95d780d9ca8a89e5f16c1cc157a229e"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 08 17:04:03 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 08 17:05:07 2018 -0800"
      },
      "message": "Add AUDIO_FORMAT_AAC_XHE to type converter\n\nThis format has been recently added to system/audio.\n\nBug: 38184704\nTest: make\nChange-Id: Ida042451f80cd30d0f5d622ddba634ba51a9920c\n"
    },
    {
      "commit": "be351d8a6124e90007b55ece0ac00e9f3d9d641f",
      "tree": "57cf1b1c64f5c25ef34d3f567130d8b6f52a945a",
      "parents": [
        "cda259fbfd8e64cde11251d6a8dea89c907789db"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Mar 07 11:15:15 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Mar 07 19:28:13 2018 +0000"
      },
      "message": "audio: Update TypeConverter\n\nAdded enum-to-string entries for new output devices,\naudio formats, and channel masks\n\nBug: 38184704\nBug: 63901775\nTest: make\nChange-Id: Iab6c3d9222701f1508d3f617d6ae48016c62c19e\n"
    },
    {
      "commit": "174e1094a41828111c86793232d9492ab8e29395",
      "tree": "5953220a17f0194dc236c61a720a155db6401bb4",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 23 15:14:50 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: *CNT and *MAX are no longer part of the enum\n\naudio.h used to have *_CNT and *_MAX values in its enum\nmostly for enum iteration.\n\nThis was not compatible with Treble as it denied any enum\ninheritance.\n\n*_CNT and *_MAX are now implemented with macro that can\nbe updated and are not part of the API.\n\nBug: 38184704\nTest: Compile\nChange-Id: I3921fdf3435ba114ca77a4595ba8fc97a5e0438d\nMerged-In: I3921fdf3435ba114ca77a4595ba8fc97a5e0438d\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "0cd95065c5d293f0d6e53cd75e44d20106dd2e6e",
      "tree": "a6f501e0ab021946977d8d395ed254e9f36e9283",
      "parents": [
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sun Jan 21 17:41:16 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 05 20:56:57 2018 -0800"
      },
      "message": "nuplayer2: port GenericSource2 to NDK APIs\n\nBug: 63934228\nChange-Id: I8bddacf5ce9eb8f22f3d4a945e0a7db1b52628d3\n"
    },
    {
      "commit": "d83d4f4a43616f38217591ba2d3f10d77fd4e748",
      "tree": "8c4c462635c15290a3436b01dc2614caade4ff84",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Feb 24 19:02:46 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 05 20:36:13 2018 +0000"
      },
      "message": "NdkMediaExtractor: per-sample format metadata API\n\nBug: 63934228\nTest: MediaPlayer2Test\nChange-Id: I8ac081ba91152b1bb2e7bb61bf6977f90bcb8e3c\n"
    },
    {
      "commit": "7c9123d1bc697dc0496374908281b7a76914574a",
      "tree": "5cfe914cb04a18b9bb9564595c15519e3deeab52",
      "parents": [
        "baea52472c0e8b1dd2f63b2c39539fd477552abd",
        "a1d39ba72fd92df6b447939b1bbede5c56df17e6"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:46:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 04:46:55 2018 +0000"
      },
      "message": "Merge \"Revert \"NdkMediaExtractor: per-sample format metadata API\"\""
    },
    {
      "commit": "a1d39ba72fd92df6b447939b1bbede5c56df17e6",
      "tree": "54fff7206b48bd7123929128a4fc1e2b1d0a44d4",
      "parents": [
        "062ffd042fcbd237f445d499bc8ea8c5baf61d98"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:33:02 2018 +0000"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:33:02 2018 +0000"
      },
      "message": "Revert \"NdkMediaExtractor: per-sample format metadata API\"\n\nThis reverts commit 062ffd042fcbd237f445d499bc8ea8c5baf61d98.\n\nBug: 63934228\nBug: 74089496\n\nReason for revert: original change bypassed presubmit, causing mediaextractor crash, \n\nChange-Id: Iac4c49659dfa7415908d60da98a2285c583a1196\n"
    },
    {
      "commit": "ca791b98577f2843c9fe8bc7ed28aadf02fb255c",
      "tree": "b95cfa1ec40d713a937b0105bb48e38141d5dc82",
      "parents": [
        "b66d56699b899ebc19d662abb0b1a3dbc3736e22",
        "062ffd042fcbd237f445d499bc8ea8c5baf61d98"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 01 23:51:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 23:51:40 2018 +0000"
      },
      "message": "Merge \"NdkMediaExtractor: per-sample format metadata API\""
    },
    {
      "commit": "062ffd042fcbd237f445d499bc8ea8c5baf61d98",
      "tree": "689681687a4f67f44b6532a904718eb984919c25",
      "parents": [
        "006b7eebe4c86eba7a67471d99b061b6b76177f5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Feb 24 19:02:46 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 01 14:11:11 2018 -0800"
      },
      "message": "NdkMediaExtractor: per-sample format metadata API\n\nBug: 63934228\nTest: MediaPlayer2Test\nChange-Id: I3e6dc40d39bcb6d939ef7c555c2373995a9b6ae4\n"
    },
    {
      "commit": "5830c5a1b0e10057589eff3b4d0015fe849374a2",
      "tree": "462b34e8cd776cacb9385910b09ead013a64e80c",
      "parents": [
        "006b7eebe4c86eba7a67471d99b061b6b76177f5",
        "28f27c3bee88b0f47b1086feeaa904bcdec37af6"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Feb 28 03:21:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 03:21:26 2018 +0000"
      },
      "message": "Merge \"Adds HAL metrics support for Media Drm\""
    },
    {
      "commit": "4f8f900d3cb8ee117980705ac5df250f9df63bfc",
      "tree": "9cb144737b86c91e2053293b611589ec79946af0",
      "parents": [
        "547921396126d2e5e6387a04bc971e616250574b",
        "7d2c6e8be2c9a4f3c1364d243856a345f17f851e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 22:02:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 22:02:33 2018 +0000"
      },
      "message": "Merge \"Move mediadrm-related headers\""
    },
    {
      "commit": "28f27c3bee88b0f47b1086feeaa904bcdec37af6",
      "tree": "0f2822d51fbe3186bf5b67f20efd27205b1de14b",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Feb 05 15:07:48 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Feb 26 20:23:30 2018 -0800"
      },
      "message": "Adds HAL metrics support for Media Drm\n\nAdds support to fetch metrics from vendor and convert them to a proto\nbundle returned from a call to getMetrics.\n\nBug: 64001676\n\nTest: CTS test for metrics and GPlay test\nChange-Id: I05634dd1bf092e64e2d0e77c4c0e243340af48e3\n"
    },
    {
      "commit": "4c96b75c87bc3f8dd2da7f76b08a81333b43ce22",
      "tree": "f0e8dfb12a8edcb837c59cc793467c7762b13ac3",
      "parents": [
        "54c28999afa7834a8dbc6079a2707598a37db56f",
        "3d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 26 22:12:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 22:12:54 2018 +0000"
      },
      "message": "Merge \"Remove RefBase from the extractor API\""
    },
    {
      "commit": "78165d3f45797079b06c876042b9b78039378121",
      "tree": "bef9734c3abc137dfc52d17820681065b3916b25",
      "parents": [
        "29cf87f9a706f54e014682e381a47647a9d98f02"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jan 24 14:48:03 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Feb 23 14:26:28 2018 -0800"
      },
      "message": "codec2: list c2.* components in MediaCodecList\n\n- Set proper media type for component interface and read them in\n  CCodec instead of current hack.\n- Define debug.stagefright.omx_default_rank to override default OMX.*\n  rank value (currently set to be preferred over c2.*)\n- Move MediaCodec::CreateByType logic from ACodec to MediaCodec.\n\nTest: am instrument -e size small -w \u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nTest: setprop debug.stagefright.ccodec yes\nTest: killall mediaserver\nTest: cts-tradefed run cts -m CtsMediaTestCases -t android.media.cts.MediaCodecListTest\nChange-Id: I55bd10d2d8c65867eae654e5bd64ef545689e699\n"
    },
    {
      "commit": "3d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0",
      "tree": "4e73f99782f61c1d3d76767b9e03e2aae7ea6130",
      "parents": [
        "13cb23855c3b5242818725262d8822dd4f9be24e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 16 08:24:08 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 23 10:04:34 2018 -0800"
      },
      "message": "Remove RefBase from the extractor API\n\n- Add MetaDataBase base class that MetaData derives from, but which\n  does not derive from RefBase.\n- MediaBuffer::meta_data() now returns a MetaDataBase\u0026 rather than an\n  sp\u003cMetaData\u003e\n- Rename MediaSourceBase to MediaTrack.\n- MediaSource no longer derives from MediaSourceBase (or MediaTrack)\n- MediaTrack::getFormat(), MediaExtractor::getTrackMetaData() and\n  MediaExtractor::getMetaData() all take a MetaDataBase\u0026 parameter that\n  they fill out, rather than returning a MetaData directly (the\n  corresponding methods on MediaSource and RemoteMediaExtractor continue\n  to return MetaData)\n\nBug: 67908544\nTest: CTS MediaPlayerTest, DecoderTest, EncodeDecodeTest, manually record video\n\nChange-Id: Ib531ab309061290be33d40d6100c9a8127e22083\n"
    },
    {
      "commit": "7d2c6e8be2c9a4f3c1364d243856a345f17f851e",
      "tree": "3aab41fe8acce7056a1e7b01ebc2e8882e416b9a",
      "parents": [
        "987ac7056040ed1594dc975c8a9d7cee463fa834"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 16:14:59 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 17:04:00 2018 -0800"
      },
      "message": "Move mediadrm-related headers\n\nRelocate drm and crypto headers from media\nto mediadrm to have finer grained ownership\n\nbug:73556221\nChange-Id: I7d1b5944f261f9b1fdeed7605e4c0b4b4ca43e1a\n"
    },
    {
      "commit": "81b4dff2763c795792f524e1e4cb068b64e659ad",
      "tree": "df6fdda0f8fc8f342458de2245eed1744389c30d",
      "parents": [
        "d2ce2b807b26a46570cb823544a86c0589ceddc6",
        "7dfe28f246bce404778f94e977b52699adfcb4ea"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 20:07:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 20:07:49 2018 +0000"
      },
      "message": "Merge \"Fix missing check of hidl return status\""
    },
    {
      "commit": "81be7d85ab3e1a5897be623d040a26d4d9ede207",
      "tree": "1161cef3aa4aca94ac6625369d5adde614cf2359",
      "parents": [
        "46b5c79e2f02b946a58e8c501f7930d439d42771",
        "1889c3edad32995c0cf26ae2248fe7c957b7ec84"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Feb 15 23:07:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 23:07:17 2018 +0000"
      },
      "message": "Merge \"Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.\""
    },
    {
      "commit": "7dfe28f246bce404778f94e977b52699adfcb4ea",
      "tree": "13c730c428948f355ffc46da6c8e8032ccc98311",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 15 12:17:40 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 15 12:17:40 2018 -0800"
      },
      "message": "Fix missing check of hidl return status\n\ncloseAllSessions() was calling into the hidl interface closeSession\ndirectly, and neglected to check the return status which resulted in\nan abort. Instead, call the DrmHal::closeSession() method which handles\nthe hidl return status correctly.\n\nTest: gts media tests\n\nbug:72400509\nChange-Id: I697997eb73ef6d8746fe695509671c4695124cee\n"
    },
    {
      "commit": "8ff8cab83dacf0263d7675d265c30bc1b8fd5dfd",
      "tree": "f2924f58b9d6a547caef4249feaebfe6ce877197",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 13 13:50:22 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 15 10:12:48 2018 -0800"
      },
      "message": "Remove dead code\n\nRemove code that was unreachable or never called.\n\nTest: build\n\nChange-Id: I82da1a3a046a7fe66bf012aa749d5a2de669d807\n"
    },
    {
      "commit": "fb679e38bbc91614faa917024adddeb51ff07d0a",
      "tree": "71c39782f7a5378ab9f383d31e053bff59ef41d2",
      "parents": [
        "8cc97b178bc6c744eaeef526eca7a4e3f24a1a0e"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Feb 07 10:25:48 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Feb 13 12:57:37 2018 -0800"
      },
      "message": "Add logging support for FW metrics\n\nAdds proto serialization and logging support for media drm framework metrics.\n\nBug: 64001676\n\nTest: Ran CTS tests, unit tests and Google Play.\nChange-Id: Ie350ac93caa6b35610eb63e4acc860c8e8a5cf5b\n"
    },
    {
      "commit": "8cc97b178bc6c744eaeef526eca7a4e3f24a1a0e",
      "tree": "5a094043d266c0c87b0292e659eab22ae7d034be",
      "parents": [
        "031b695b8e37ca3591ac2f5eb952f6c21439d445",
        "568b3c45d48fab64c80b2780e8547564d35722e9"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Feb 13 18:14:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 18:14:40 2018 +0000"
      },
      "message": "Merge changes from topic \"media-drm-fix-list-metrics\"\n\n* changes:\n  Fix Metrics with PersistableBundle support\n  Fix DrmHal implementation to return all metrics\n"
    },
    {
      "commit": "04ce77ffc7d7466c40c226d995c0f6d389e8bbe6",
      "tree": "710d87b8b1a85db69b7ed39deba6a1f18dbe4aa1",
      "parents": [
        "405b3c70ccf6c6671fbbe72557a8493e4e0f6097"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Feb 13 00:27:24 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Feb 13 17:50:29 2018 +0000"
      },
      "message": "Initialize mDataSource in MidiIoWrapper c-tors.\n\nTest: App in question works well.\nBug: 73105500\nChange-Id: I6ffd52bf10e23c8ee144bbc74e157a6a7b26168c\n"
    },
    {
      "commit": "1889c3edad32995c0cf26ae2248fe7c957b7ec84",
      "tree": "5a4bd7fec36d039f75d04124b46d6295ac65e200",
      "parents": [
        "405b3c70ccf6c6671fbbe72557a8493e4e0f6097"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Feb 01 13:44:57 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 12 23:59:34 2018 -0800"
      },
      "message": "Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.\n\nMediaBuffer class exposes internal classes, ABuffer and IMemory, which\nwe don\u0027t want to expose to plugins. This change introduces\nMediaBufferBase which does not expose any classes from system library.\n\nTest: build and post-submit media cts tests\nBug: 67908556\nChange-Id: Ic9ee239caf9b84b2b3740e2d533257afa25c8784\n"
    },
    {
      "commit": "6c17751f5f85303e4300b11a716d2c7e009a1452",
      "tree": "87f9f48f4f2aeaf80a8992f6f97ac47d4efdce08",
      "parents": [
        "46bf6bdab5a6f41ff42107907906647417edab7c",
        "dc31017ea51ee7ba0db2068f82305eb86e2967a2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 03:16:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 03:16:12 2018 +0000"
      },
      "message": "Merge changes I7ea9f150,Idd98a522\n\n* changes:\n  CCodec: Episode VI --- Set Persistent Surface\n  CCodec: isolate input surface buffer passing from CCodec\n"
    },
    {
      "commit": "c91ac47d242dc269f342edb470d738447fe25486",
      "tree": "defc1e18a4c1b167242ec35dd5c2e16e55b1be25",
      "parents": [
        "31832c60d57558c2d5ddb2e45e4c6111ce9e55bb",
        "d4faf9e7cec12cf85e5901e81b7e05301012351c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 02:42:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 02:42:43 2018 +0000"
      },
      "message": "Merge \"Ndk wrapper: wrap new Ndk datasource/extractor APIs\""
    },
    {
      "commit": "568b3c45d48fab64c80b2780e8547564d35722e9",
      "tree": "18cb767806a83262cb74a7d1ab25bcd0e1334ab8",
      "parents": [
        "637b7855829920114a8863b93fe52203b7471eea"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 31 12:57:16 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Feb 12 14:35:27 2018 -0800"
      },
      "message": "Fix Metrics with PersistableBundle support\n\nSome metrics required a conversion to using PersistableBundle to support\nslightly richer structure (lists, and nested PBs).\n\nBUG: 64001676\n\nTest: Ran updated CTS test and verified Google Play works.\nChange-Id: I8f8d67ba04b234f2ac5ac348a8945e20837f98d6\n"
    },
    {
      "commit": "d4faf9e7cec12cf85e5901e81b7e05301012351c",
      "tree": "4d43046bd139d994757622b751e4ded3bd6b8cfc",
      "parents": [
        "9111804e9051b2888c66e26ee1a872bb3ef7a988"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sun Jan 21 17:52:25 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Feb 12 12:03:54 2018 -0800"
      },
      "message": "Ndk wrapper: wrap new Ndk datasource/extractor APIs\n\nBug: 63934228\nChange-Id: Id6200b5b5be3c7fa22cfb0233f749fc0e8ef2bc4\n"
    },
    {
      "commit": "e307dc4e7b2c9d3c4018a755db687309cf590369",
      "tree": "05cb67d957ee0b3f7f193df6914b4d6aa487fb8b",
      "parents": [
        "41d279a7f3bc55a63b510d4dce07e18964cda152"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 19:53:54 2018 +0000"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 12:52:11 2018 -0800"
      },
      "message": "Revert \"Revert \"Update drm hal to find drm@1.1 factories\"\"\n\nThis reverts commit d3eece8aa39560e8458ba8231b8684d99f11ee6b.\n\nChange-Id: I15ca1dba1a384ccc026406f0a9a02c2598873456\n"
    }
  ],
  "next": "41d279a7f3bc55a63b510d4dce07e18964cda152"
}
