)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "d3eece8aa39560e8458ba8231b8684d99f11ee6b",
      "tree": "e6010dce1f091847db51b7464c566af774a98f74",
      "parents": [
        "a3c77911df570d4378ae4869d1060915001f0eba"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Feb 11 15:22:12 2018 +0000"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Feb 11 15:22:12 2018 +0000"
      },
      "message": "Revert \"Update drm hal to find drm@1.1 factories\"\n\nThis reverts commit a3c77911df570d4378ae4869d1060915001f0eba.\n\nReason for revert: build cop here. The original CL broke build git_master / walleye_asan, hence I\u0027m reverting.\n\nhttps://android-build.googleplex.com/builds/submitted/4597721/walleye_asan-userdebug/latest/view/logs/build_error.log\n\nIn file included from vendor/google/tools/security/fuzzers/libFuzzer/ICrypto_fuzzer/ICrypto_fuzzer.cpp:24:\nframeworks/av/include/media/CryptoHal.h:23:10: fatal error: \u0027android/hardware/drm/1.1/ICryptoFactory.h\u0027 file not found\n\nChange-Id: I185d5310cadb9990b864d71e42bba94f4740160c\n"
    },
    {
      "commit": "a3c77911df570d4378ae4869d1060915001f0eba",
      "tree": "8bca142feb4cb8a202611ab20a68247a6d25180d",
      "parents": [
        "1bfabb36f5d6f09d87e9d52778b5a1cca9512722"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Feb 07 12:30:20 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Feb 07 22:53:14 2018 +0000"
      },
      "message": "Update drm hal to find drm@1.1 factories\n\nbug:73072898\ntest: cts android.media.cts.MediaDrmClearkeyTest\nChange-Id: I80c7b8864dc86fda8aa6afc0ec74f6f068da6401\n"
    },
    {
      "commit": "256a84920c4ce67fd8a4096f0e245ea738290b10",
      "tree": "733ef8787fcc28c8be5a24dcbfbc60f46ef3c9cd",
      "parents": [
        "2c331aa92ae316380e7575fe3135903a3dae1a3e",
        "74b97ba8f248e6d5f9fd98f963d35944f0fe1229"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 16 18:23:39 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 16 18:23:39 2018 +0000"
      },
      "message": "Merge \"Fix use of uninitialized value in libmediadrm\" into oc-dev am: 5924e3db24 am: 444b037748\nam: 74b97ba8f2\n\nChange-Id: I2747be2fd19e31dd99c985492c955c5b2e2b0f62\n"
    },
    {
      "commit": "2442047f5c6d368f69fa81917f5aabc9b3c342a0",
      "tree": "46a63cbb73723b6f37fe6b8275c7045335ef4435",
      "parents": [
        "5231cc164fe040a3ab5fcb28baae4e0a4f9fdf4c"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jan 11 17:46:16 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jan 12 07:45:26 2018 +0000"
      },
      "message": "Fix use of uninitialized value in libmediadrm\n\nbug:70526702\ntest:gts media tests\n\nChange-Id: I29a67dad01ca8c8f649ba12cf08cc86b7eb56523\n"
    },
    {
      "commit": "6536606cfe53e6bdb6415e0f8986381074bd68cf",
      "tree": "17fa24d63f606cd3b3a114fb3e01c9c54b0fec21",
      "parents": [
        "16f2c1559c5722a6cd69fef3c17dc5756ba73fe6"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Oct 05 11:34:01 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Oct 17 19:17:46 2017 -0700"
      },
      "message": "Use libhidl function to convert to hidl IMemory.\n\nNow that this API is available.\n\nThis keeps the implementation details of hidl\u0027s\nashmem allocator in libhidl itself (it should be\nopaque).\n\nTest: try and succeed watching (part of a) DRM protected movie\nBug: 34234561\nChange-Id: Ied9beddace2ccfc859833ac55f4e3837db5f495e\n"
    },
    {
      "commit": "e309b22bff1719f1fea84b247e4b2bc4c5f09eb5",
      "tree": "588e794ad730620407251c1e96fd2a15cdd79df2",
      "parents": [
        "8d8ebcaa7d13f163abee5bbf23b4e5a21fbfb44c"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 05 08:01:28 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 11 16:28:32 2017 -0700"
      },
      "message": "Change drm/crypto service names to \"default\"\n\nbug: 36371166\n\nTest: vts drm hidl test, Play Movies\n\nChange-Id: I942f91ab0be1f237017e88910f8d3738bf54447f\n"
    },
    {
      "commit": "6dcab2bafd847be84c2c2230bbd04af9c45c491e",
      "tree": "51f39e6d2f1ac74fd546c8a2797c06745a757694",
      "parents": [
        "d07c92742fc5801cab8e99801f591365986acbe9"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 28 14:18:27 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 29 10:40:49 2017 -0700"
      },
      "message": "DRM: more fixes for heap base mapping -- DO NOT MERGE\n\nHeap base for the same heap could be mapped to different values\nafter they go across binder to CryptoHal. So we can\u0027t use heapbase\nto index the heaps.\n\nSince each ACodec instance allocates all its shared memory buffers\nfrom the same memory dealer, we let CryptoHal assign a sequence\nnumber to the ACodec when it calls setHeap. In subsequent calls\nto CryptoHal::decrypt, reference the heap by the seq num, and ignore\nthe heap base address.\n\nBug: 36479980\nBug: 36209723\nBug: 36660223\n\nTest: the above bugs don\u0027t repro\n\nChange-Id: I2f519a689a5891447385d1bf9d6e668bb3b4dbe2\n\n(cherry-picked from bf628da1e231e2e4d6bf61f9884e120bae3f9156)\n"
    },
    {
      "commit": "d07c92742fc5801cab8e99801f591365986acbe9",
      "tree": "f2bb6af46cd67d6d40098bfa86794097b43d41c6",
      "parents": [
        "5f8beee0ea76ffe5cc40a517e8db43dbd64fbeff"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Mar 28 11:02:06 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 29 10:40:13 2017 -0700"
      },
      "message": "Revert \"Revert \"Fix decoder instantiation during playback\"\" -- DO NOT MERGE\n\nThis reverts commit de7268d8e20b883ec88a7ff19ad560a665373484.\n\nBug: 36479980\nBug: 36209723\nBug: 36660223\n\nChange-Id: I8d83305a28dc35cee16f8f1068c90fdd0b9effff\n(cherry picked from commit 6aa5c0662c86c7f7b2890577a207086eeecbd177)\n"
    },
    {
      "commit": "de7268d8e20b883ec88a7ff19ad560a665373484",
      "tree": "5b1b48314857b676252e71b5c5bfd1a0eea8cadc",
      "parents": [
        "33327c7f0f04bcce3f8e8ee23953f87efc423037"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Mar 21 23:49:15 2017 +0000"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Mar 21 23:59:27 2017 +0000"
      },
      "message": "Revert \"Fix decoder instantiation during playback\"\n\nThis reverts commit 33327c7f0f04bcce3f8e8ee23953f87efc423037.\n\nBug: 36479980\nBug: 36209723\n\nChange-Id: I8ff9422086f5ba9ba5df60135d20b9d8bfc0be52\n"
    },
    {
      "commit": "33327c7f0f04bcce3f8e8ee23953f87efc423037",
      "tree": "2e3f8e0de5d2ad4a8d5e87c5ffa1d770e2041c49",
      "parents": [
        "d0cb831e7f14c43359aeb080d9564185d28c7a75"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 15 23:41:23 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Mar 17 11:33:24 2017 -0700"
      },
      "message": "Fix decoder instantiation during playback\n\nWhen a decoder is created while another decoder\nis in use and the two decoders share a common\ncrypto instance, decryption results would become\nindeterminate, which could cause the decoder to\nhang. This change adds a notification to the\ncrypto instance so it can update state when its\nownership changes.\n\nbug: 36209723\n\nTest: playbacktests-debug-androidTest.apk as\ndescribed in the bug.\n\nChange-Id: I453c260eace5543dd79a3569bf6a9592394c4113\n"
    },
    {
      "commit": "d0cb831e7f14c43359aeb080d9564185d28c7a75",
      "tree": "5b1b48314857b676252e71b5c5bfd1a0eea8cadc",
      "parents": [
        "0be134af061566c7d68c0c4f868a677daf85f550"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 15 11:17:00 2017 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 15 23:54:48 2017 -0700"
      },
      "message": "Fix CTS post submit failures\n\nMediaCodecTest.android.media.cts.MediaCodecTest.testCryptoError\nwas failing due to incorrect error code translation introduced\nby the drm hidl hal.\n\nbug: 35137940\nChange-Id: Ia5e16809872c19335b4b9c1a8ddd1e625a4781b4\n"
    },
    {
      "commit": "6a4921ae044186bf64dab3903e8fead9499fc7f6",
      "tree": "9458e6876adb556d29dedd38cd196f2a6248c303",
      "parents": [
        "89e5a2b102b484fe19dbda2a0b118edfefc70241"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Mar 09 23:26:01 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Mar 09 23:26:01 2017 -0800"
      },
      "message": "Fix mediadrmserver not finding IServiceManager instance\n\nbug: 36113291\nChange-Id: I8d459e0edd61555a874cce68e178afd8d468e2e4\n"
    },
    {
      "commit": "abeb36a8c2f044772297536e70340c3b245863e4",
      "tree": "0b272bfd99ef0264d9577dcfa413b1a01d97fe27",
      "parents": [
        "e1bd456cce56406fc0e35faffa4429fb4bf5bff6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 17 09:42:46 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Feb 28 15:27:12 2017 -0800"
      },
      "message": "Load vendor-provided drm hidl hal modules\n\nPrior to this change, the default legacy hal\nmodule was explicitly referenced. This change\nuses the service manager to iterate through\nany hal instances so vendor-provided hals\ncan be loaded.\n\nbug:34507158\nChange-Id: I23bc4fdb2dc7d5254833c9a977241f1fede726a9\n"
    },
    {
      "commit": "3cb5316c442d182ada75a1394e1505a017400526",
      "tree": "cba6c593af42f45211dd149d66975c06b2185fa0",
      "parents": [
        "09b92c347ddcaf751571363e54a769eb4b95edd3"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 16 12:06:32 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 17 13:04:02 2017 -0800"
      },
      "message": "Support multiple codecs per crypto instance\n\nThe initial drm hidl hal implementation assumed one\ncodec per crypto instance, but in fact there can be\nmultiple codecs per crypto instance. This change\nextends the drm hal to allow multiple memory heaps\nper crypto plugin. It fixes the issue of mapping\nmemory frequently during playback.\n\nbug:35275191\n\nTest: manual verification with Play Movies on angler\nin passthrough mode and on marlin in binderized mode.\n\nChange-Id: Icada005f515483d7bc214b08caf6eea46ca354a7\n"
    },
    {
      "commit": "a53d6553fce1818bdf87833f93633c93ad1b5915",
      "tree": "8fbbb7b32d753c75a7350d748d6fa08d47402289",
      "parents": [
        "2a0c6d54dc34fdd8cca4e8ed7f39ad512133a878"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jan 20 00:31:46 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Jan 25 15:41:12 2017 -0800"
      },
      "message": "Implement client code to use Drm and Crypto HALs\n\nThis change adds DrmHal \u0026 CryptoHal classes that connect to the Treble\nHAL interfaces for drm.  These classes mirror the existing Drm and\nCrypto classes that connect to the DrmPlugin and CryptoPlugin\ninterfaces. Having both allows mediadrmserver to run in either mode\nwhile the HAL is stabilized.\n\nThe shared memory interfaces between mediaserver\u0027s ACodecBufferChannel\nand ICrypto had to be reworked to use the Treble HALs. Specifically,\nthe shared memory path for returning decrypted buffers in the\nnon-secure case had to become separate instead of piggy-backing on the\nsource shared memory buffer. A separate shared memory destination\nbuffer is now allocated on the buffer channel. An abstraction for a\ndecrypt destination buffer was also introduced to clarify ICrypto\u0027s\ndecrypt method.\n\nTests: Playback using Play Movies and ExoPlayer works on angler\nwith and without the treble hal enabled.\n\nbug: 32815560\nChange-Id: I5a3dc84f99902eb8cf8eabab9ad074d307744950\n"
    }
  ]
}
