)]}'
{
  "log": [
    {
      "commit": "fa8be7d2371d66db6c7838060d5729f6fd9374ef",
      "tree": "aa00504b96299a891446e46c81c6b0d72c9aae02",
      "parents": [
        "58ae37b5b34d6a2bddd46494230a58f5fcc3f5e3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 23 12:15:57 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 09 07:41:58 2019 -0700"
      },
      "message": "Split datasource out of libstagefright\n\ninto libdatasource, which contains:\n  DataSourceFactory\n  (Clear)FileSource\n  (Clear)MediaHTTP\n  DataURISource\n  HTTPBase\n  NuCachedSource2\n\nThis is needed to break a circular dependency in an upcoming CL.\n\nTest: build, boot\n\nChange-Id: I34d9937235c78f18f51b18945342a0743e209577\nMerged-In: I34d9937235c78f18f51b18945342a0743e209577\n"
    },
    {
      "commit": "1526ab3ea008ffbe967d56dea2bfe6f1199b9c97",
      "tree": "fba50f593158321276d87cdf58fccd227fcd8dce",
      "parents": [
        "d023624cd9d9b16171a7673a19c14d55d1b2ede4",
        "c728a42d4f9f03f74b901fc7dd7fba1bc06579e9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 10 17:33:29 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 10 17:33:29 2019 +0000"
      },
      "message": "Merge changes Idbea7883,Ie49cec34 into qt-dev\n\n* changes:\n  extractor: load extractors on boot, not on request.\n  Revert \"Make tombstone in the child process on loading failure.\"\n"
    },
    {
      "commit": "c728a42d4f9f03f74b901fc7dd7fba1bc06579e9",
      "tree": "e41bb014ce60d61ac54c4bfad108d37836239e38",
      "parents": [
        "673236b3a962335013baddee4065be138eb610b8"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed May 08 11:17:01 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed May 08 11:17:01 2019 -0700"
      },
      "message": "extractor: load extractors on boot, not on request.\n\nTest: build + dumpsys media.extractor\nBug: 131106476\nChange-Id: Idbea788340c4849f1286727c159a8eb43d6a7bb0\n"
    },
    {
      "commit": "80e1a6dd0dde5302bd00e742d840550288427094",
      "tree": "d5c54e6364b3753e74a2d7ef9dc2b31631f864fc",
      "parents": [
        "eb1b8e4a365a8833ebdaba4975d7b3e610ed709f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 30 15:52:10 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon May 06 09:26:50 2019 -0700"
      },
      "message": "Move mediaextractor seccomp policy into apex\n\nBug: 112767732\nTest: build, run\nChange-Id: I3d63b6346c1305ba662077eb81b714cbe24ccfb9\nMerged-In: I3d63b6346c1305ba662077eb81b714cbe24ccfb9\n"
    },
    {
      "commit": "b47712a9eb1843e25f19f78d015e19b1f6698a83",
      "tree": "8a84a2fef7b8bae4aeaf17b8846b714778f15f90",
      "parents": [
        "ba9a05060f0c0810647f98037dc353fc75e60506"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Apr 01 14:43:50 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 02 14:57:25 2019 -0700"
      },
      "message": "Move codec and extractor to libc_scudo.\n\nThe mediaswcodec and mediaextractor use the scudo libraries as a\nsanitizer. This has some downsides since it bypasses all of the normal\nallocation handlers used by the rest of the system.\n\nSwitching from the plain sanitizer to a wrapper library libc_scudo.so\nallows the use of the allocation handler code from\nbionic/libc/bionic/malloc_common.cpp.\n\nThis is a temporary workaround, later versions of Android should\nsupport scudo as a first class native allocator.\n\nNOTE: The two libraries that make up the scudo override combined are\nsmaller than the libclang_rt.scudo-XXX.so library, so this is a space\nwin too.\n\nBug: 123689570\n\nTest: Builds and boots. Verified that scudo is used as the allocator.\nTest: Verified that the allocation limit is properly set for mediaextractor.\nTest: Ran a few of the CtsMediaTestCases tests.\n\nChange-Id: I3bdf76bfeea503b33da765e093e38818b620a481\n"
    },
    {
      "commit": "a2cfcba3b2db5c7ee464a318ab94422a5c24212e",
      "tree": "6b7d5e4f45884b7932f3a59ade04deb196d1c08e",
      "parents": [
        "1a05ccfebe5b7c6242d145a75b4ae6967b0828c0",
        "6d5636d7719d08fcde5e98e54bab854d235ecbfd"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Mar 29 08:00:00 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 29 08:00:00 2019 -0700"
      },
      "message": "Merge \"Remove updatable from mediaserver and mediaextractor\" am: 207ff86dce am: 6e046089ac\nam: 6d5636d771\n\nChange-Id: I1e345f9d2625c421d854cb29a38a225845cb7313\n"
    },
    {
      "commit": "207ff86dcec301503f3db080b2d1105e6760da16",
      "tree": "1c791c7735e4fb9a53bf28824cb7c3d2e45ab1aa",
      "parents": [
        "75a0fc7cd7f856ae41c38d11b591b90dc6eb156f",
        "8892ca82ad2bb759cf22fca5da46355ce7f3ef82"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 14:30:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 14:30:21 2019 +0000"
      },
      "message": "Merge \"Remove updatable from mediaserver and mediaextractor\""
    },
    {
      "commit": "969975c53fbf5a78304fa7eb4107629c0a353509",
      "tree": "a33c02ed25ab4442394b2342239341d340b363a2",
      "parents": [
        "e3a7f1b68091e9e8c6acd8ae07419075b082dd0b",
        "f6254a307e688ce9d7b5a7bdc676b8349499325d"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Mar 20 17:35:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 20 17:35:03 2019 +0000"
      },
      "message": "Merge \"Switch to use aicu/AIcu.h\""
    },
    {
      "commit": "f6254a307e688ce9d7b5a7bdc676b8349499325d",
      "tree": "53e84b79cd3b2cf6a7d7843125aceb2f01f57573",
      "parents": [
        "5ee05596015a14d01212ad73c085f0558bb3c863"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Mar 11 19:35:25 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Mar 20 17:34:40 2019 +0000"
      },
      "message": "Switch to use aicu/AIcu.h\n\nSwitch to using a dynamically-linked library function to initialize\nICU, not a statically-linked function. This means the knowledge of file\npaths stays in the runtime module.\n\nBug: 120493361\nTest: build/boot\nExempt-From-Owner-Approval: It\u0027s just a cherry-pick\nMerged-In: Ibe1d5ffd50e5cce76b1b01788954dcfb4762b1c6\nChange-Id: Ibe1d5ffd50e5cce76b1b01788954dcfb4762b1c6\n"
    },
    {
      "commit": "21209964dc6b51318c2037e9bfd57f5d78ba13f4",
      "tree": "f66fc88e65597da63ba8b3b899b55d565424c434",
      "parents": [
        "9afa4a0d5eef110c6224a628f34517721fa890f8",
        "90a970a1680cf42fcd3da54d5c07b24a16ab391a"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Mar 19 14:12:57 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 19 14:12:57 2019 -0700"
      },
      "message": "Merge \"Switch from getrlimit(RLIMIT_AS) to android_mallopt(M_SET_ALLOCATION_LIMIT_BYTES).\" am: e3a7f1b680 am: e8fde3739f\nam: 90a970a168\n\nChange-Id: I52334126a054ab5aacf97ede1c8255d22aa40622\n"
    },
    {
      "commit": "007ac1ad82b7112e2e77db4914b93cd461c93c73",
      "tree": "531128cb966a4b5888fc7ebf44ba776a4d6fc471",
      "parents": [
        "5ee05596015a14d01212ad73c085f0558bb3c863"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Nov 29 15:08:46 2018 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Mar 18 13:48:02 2019 -0700"
      },
      "message": "Switch from getrlimit(RLIMIT_AS) to android_mallopt(M_SET_ALLOCATION_LIMIT_BYTES).\n\nThe RLIMIT_AS limit was introduced as a security mitigation, but it\nisn\u0027t exactly what the media processes want to control. It is also\nproblematic under sanitizers which allocate large amounts of address\nspace as shadow memory, and is especially problematic under shadow\ncall stack, which requires 16MB of address space per thread. Instead,\nuse the newly introduced android_mallopt(M_SET_ALLOCATION_LIMIT_BYTES)\nto control the allocator\u0027s memory limit directly.\n\nAlso remove ASAN/HWASAN/CFI specific hacks; they are no longer\nnecessary because these tools consume address space using mmap and\nnot the allocator, and remove the 64-bit pointer check before calling\n__scudo_set_rss_limit, since otherwise the limit would stop being\nenforced in 32-bit mode with Scudo.\n\nBug: 118642754\nChange-Id: Ie66128626976c0b04d5dafd455c375bbfdccc083\n"
    },
    {
      "commit": "9447c68921904a3cb05faf1fed358a7d1d78313c",
      "tree": "bf26b85ae4d1e5a4660e3ad1bddcee2b678a649c",
      "parents": [
        "0428b8e5a53c3c37e0f76decc7a8f32854488062"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Mar 11 19:35:25 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Mar 15 19:27:21 2019 +0000"
      },
      "message": "Switch to use aicu/AIcu.h\n\nSwitch to using a dynamically-linked library function to initialize\nICU, not a statically-linked function. This means the knowledge of file\npaths stays in the runtime module.\n\nBug: 120493361\nTest: build/boot\nChange-Id: Ibe1d5ffd50e5cce76b1b01788954dcfb4762b1c6\n"
    },
    {
      "commit": "8892ca82ad2bb759cf22fca5da46355ce7f3ef82",
      "tree": "25be44543a04983c76d25c2d4b5023ccf2702dce",
      "parents": [
        "5ee05596015a14d01212ad73c085f0558bb3c863"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 05 21:52:08 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Mar 14 07:35:53 2019 +0900"
      },
      "message": "Remove updatable from mediaserver and mediaextractor\n\nBug: 125549215\nTest: m; device boots\nTest: play some video\nChange-Id: Ib8ec81bcb476e0d1c9736962b49e4c5ccb58af03\n"
    },
    {
      "commit": "9129dee98e302fdf274875e4673d1f6718b98160",
      "tree": "53880f48e14eb9a9a6fd1743ec8e5941d4ff5d22",
      "parents": [
        "13c8870eb5b25dbf0e5b7d99f19a6c1d3d8ddab3"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Mar 05 10:40:58 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Mar 05 10:42:51 2019 -0800"
      },
      "message": "Remove unnecessary dependencies.\n\nTest: mmm and TH\nChange-Id: Ia494778ae1a896f25ee861ec49018d133bc64c82\n"
    },
    {
      "commit": "b52f0a0a9c40b08d7a559c8547ae10eff9d7607b",
      "tree": "479d78218e43451441131eb7128f282660d419fb",
      "parents": [
        "b81347ef8c64fa0f8e830cb4100fd4c5f8a123dd"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Feb 22 01:02:40 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 25 13:03:26 2019 -0800"
      },
      "message": "Remove unused code path in MediaExtractor(Factory|Service)\n\nTest: build, boot, dumpsys media.extractor\nBug: 125134086\nChange-Id: I723570315285d7c2caadffd71cd2d15efde11819\n"
    },
    {
      "commit": "eb8c7bf64aa39ca688631802a18b45bd8a2631d4",
      "tree": "3c72e4625bade31999fdac71a32703e12c57d25a",
      "parents": [
        "850847df034369c54da382ef43693349cdfb3c97"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 01 13:06:00 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 04 16:01:36 2019 +0000"
      },
      "message": "Remove support for loading extractors from apk\n\nBug: 123250010\nTest: boot, play video\nChange-Id: I19c66d76f98a593ac9082054a2faccedcd73a55d\n"
    },
    {
      "commit": "d49da02d968f1ea8f184fb48f631c0707a2800eb",
      "tree": "7c6bb11ede5fda77bd5bccebf8384c8dad0e624a",
      "parents": [
        "47279e630f47ce1e220ceda4da90e94de273d2eb",
        "43aa42e4dd94692cb2fea5415ca7d2e417f943a1"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 23 15:10:59 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 15:10:59 2019 -0800"
      },
      "message": "Merge \"Delay mediaserver/mediaextractor during boot\" am: 855ae44d9f am: 18cb1f5b7f\nam: 43aa42e4dd\n\nChange-Id: Ie94b484f16472de217edf38177b98590e0f29487\n"
    },
    {
      "commit": "855ae44d9f4acc7ac8720464ef94d159c9063e8b",
      "tree": "e6adf99dcc5cd4e50a9f34d5e7bbcbb0f25e9ea4",
      "parents": [
        "b2e28dac2e5d4c00a797e50e9f2e486f90234acd",
        "38354d04ae7562cdbf8b30b5b1dbbf8253ccf480"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 23 22:54:28 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 22:54:28 2019 +0000"
      },
      "message": "Merge \"Delay mediaserver/mediaextractor during boot\""
    },
    {
      "commit": "38354d04ae7562cdbf8b30b5b1dbbf8253ccf480",
      "tree": "277626956a585f6c24fabbab2a002cdc3d298a3e",
      "parents": [
        "55e72131c26aa4d276bbb319c8dacebc06ce6e55"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 23 10:59:24 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 23 13:57:49 2019 +0000"
      },
      "message": "Delay mediaserver/mediaextractor during boot\n\nDelay start of mediaserver and mediaextractor during boot until after the\nRuntime APEX is mounted.\n\nThey depend on ICU / the ICU .dat file which are provided by the Runtime\nAPEX.\n\nTest: flash \u0026 boot\nBug: 123275379\nBug: 113373927\nBug: 123176717\nChange-Id: Idfe80054b6afe8f7449e698f59413ecefb280957\n"
    },
    {
      "commit": "5fd6ad72852fb723ddc4783abd6b9138357b3e12",
      "tree": "a51d4e6e9b4a8afd770eac6945f329544fd48879",
      "parents": [
        "0691d4e2454e4d5be799cda8a2865d08e86e535a",
        "0b30b6aa5194e7ccb29fb840ba30e6b4983de6aa"
      ],
      "author": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Wed Jan 16 13:23:51 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 16 13:23:51 2019 -0800"
      },
      "message": "Merge \"seccomp: allow open for x86_64 arch\" am: 0d8553c9a1 am: 6b67980e6c\nam: 0b30b6aa51\n\nChange-Id: I8b2d915db330ec934021965fc616f753681316fd\n"
    },
    {
      "commit": "0d8553c9a1368d0837e8b154e19d15728417cd22",
      "tree": "57009ed58b5ef17b460940183607149e0bd643fd",
      "parents": [
        "a3db2b4c1ff1e4f5b0f57443a0ea2abee71a1c83",
        "7c3f3cf4e74627a7754dde87013f3b67e68721bd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 16 21:04:33 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 16 21:04:33 2019 +0000"
      },
      "message": "Merge \"seccomp: allow open for x86_64 arch\""
    },
    {
      "commit": "7c3f3cf4e74627a7754dde87013f3b67e68721bd",
      "tree": "47283dba61ff04c2271ff5b8ed7d1d44024957a9",
      "parents": [
        "69addc70699041e50afaf5bc8914bb7de54b1598"
      ],
      "author": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Tue Jan 15 14:13:24 2019 -0800"
      },
      "committer": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Wed Jan 16 09:59:35 2019 -0800"
      },
      "message": "seccomp: allow open for x86_64 arch\n\nBUG: 122902673\nTest:\nlunch sdk_gphone_x86_64-userdebug\nmake -j\nemulator\n\nmediaextractor should not be killed by minijail anymore\n\nChange-Id: I0e2547376fb6e8d6a7e9316c6013cedf6a9cdeac\n"
    },
    {
      "commit": "e2c2b961c4401f5edf88105d779dc112ff99de96",
      "tree": "312aa59a4be3127f4b6100c23245b42479cbb031",
      "parents": [
        "f11ef77d2e64da9c558e2b1eaee2353d87d30297",
        "5986d79bb646ffbf38a1daaa9bb26e002d5bcc8d"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Tue Jan 15 15:49:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 15:49:42 2019 +0000"
      },
      "message": "Merge \"Enable Scudo for mediaextractor\""
    },
    {
      "commit": "57822099ae5f887353ff07cb15563a4aac54336c",
      "tree": "59204dd1a84bab7c42773957b8c909ddd7dc5482",
      "parents": [
        "435ba2e250da24bed173d4ca7415f5adb5f7846b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 07 14:51:32 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 10 09:01:21 2019 -0800"
      },
      "message": "Export support types from extractors\n\nMake each extractor  plugin export a list of file types it supports,\nso we no longer need to hardcode such a list in the framework.\n\nTest: manual\nChange-Id: I1e41a5d477ea56960ad3e4bc35f5183c03c3fe3a\n"
    },
    {
      "commit": "5986d79bb646ffbf38a1daaa9bb26e002d5bcc8d",
      "tree": "33dc1c94c7b93cf926e75ca6af3e30cc30b9fd57",
      "parents": [
        "58b9bd5b6f271d7382c56288e98f031e48ba65dc"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Mon Jan 07 11:55:03 2019 -0800"
      },
      "committer": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Mon Jan 07 11:55:03 2019 -0800"
      },
      "message": "Enable Scudo for mediaextractor\n\nScudo is a hardened usermode allocator that aims at mitigating\nheap-based vulnerabilities (heap overflow, double free, etc).\n\nSee go/scudo-allocator for more information.\n\nThis change enables the allocator for the mediaextractor service,\neffectively linking in the Scudo dynamic library to the binary.\nAllocation functions will be serviced by the allocator.\n\nThe \u0027deallocation-type-mismatch\u0027 check had to be disabled as some\nthird party libraries were triggering it.\n\nIn the event of a heap bug detected, the allocator will abort the\nprocess with a \u0027Scudo ERROR\u0027 message in the log followed by the cause\n(corrupted header, invalid state \u0026 so on) and the stack trace.\n\nTest: CtsMediaTestCases on a marlin\nBug: 63907455\nChange-Id: I9e0ea03c0d39e723a880e7fcd761fe0718bbbacd\n"
    },
    {
      "commit": "f36cccb50b189965177ecd7bdc3b3f36ad207fa6",
      "tree": "fc90e02d7d10e42bb9665678d9ac85437ae4cd5a",
      "parents": [
        "1ce37f1de3f7185ccffd4d9145b036941a582fe4"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Nov 20 19:11:07 2018 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Jan 07 18:36:10 2019 +0000"
      },
      "message": "Use ICU in libandroidicu\n\nlibicuuc and libicui18n are moved into APEX, but\nthey have no stable ABI due to the version suffix.\n\nUse libandroidicu which provides stable symbol.\nSee http://go/apex-stable-icu4c-interface for the design.\nSee http://aosp/801855 for libandroidicu implementation.\n\nBug: 117094880\nTest: m checkbuild\nMerged-In: Ida6aac85dfb79bf8e7a3a2540e567ee211279e09\nChange-Id: Ida6aac85dfb79bf8e7a3a2540e567ee211279e09\n(cherry picked from commit b6826d9e88b521c5c970cf748db83b43c70d56d1)\n"
    },
    {
      "commit": "b6a2daca03f37b95d999aae53dce9a68a0cdb936",
      "tree": "31f6b4bb2bbb6cfd89284e61f1d509ca80d9104f",
      "parents": [
        "03de12c486f8db9db83f4ec2555b1d28ec01acf6",
        "b6826d9e88b521c5c970cf748db83b43c70d56d1"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Jan 07 18:18:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 07 18:18:16 2019 +0000"
      },
      "message": "Merge \"Use ICU in libandroidicu\""
    },
    {
      "commit": "e22ed7bc6b62eb90b18212cd74f332ace49ff407",
      "tree": "4fa7897760342d95e4ed68a097a50f1d8f6bce76",
      "parents": [
        "5240850ee820089cd4ae4274f15a0b6dd8fc2150",
        "adadf1c18f5cf507ae13f0464fceeb717c8c7f94"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 03 00:27:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 03 00:27:24 2019 +0000"
      },
      "message": "Merge \"Enable fstat to seccomp filter for x86_64\""
    },
    {
      "commit": "adadf1c18f5cf507ae13f0464fceeb717c8c7f94",
      "tree": "85c6ac86a7612ae6632c631802be3cef32c49276",
      "parents": [
        "fd7fa089178267bf6cabd691b674f87364f589bd"
      ],
      "author": {
        "name": "ji, zhenlong z",
        "email": "zhenlong.z.ji@intel.com",
        "time": "Tue Nov 06 16:04:51 2018 +0800"
      },
      "committer": {
        "name": "Karthik Ramakrishnan",
        "email": "karthikmr@google.com",
        "time": "Wed Jan 02 21:57:15 2019 +0000"
      },
      "message": "Enable fstat to seccomp filter for x86_64\n\nbug: 120238328\nTest: run CTS case - android.security.cts.ProcessMustUseSeccompTest\n\nChange-Id: I08ac4d75d77061a48641973cff61d51fee3c5c28\n"
    },
    {
      "commit": "b6826d9e88b521c5c970cf748db83b43c70d56d1",
      "tree": "f6ad0f52bc55d3c13f71f4a572a16fd80d8e26e6",
      "parents": [
        "d1265e14e77943e84a52fd7c04922280dd598899"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Nov 20 19:11:07 2018 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Wed Jan 02 17:30:17 2019 +0000"
      },
      "message": "Use ICU in libandroidicu\n\nlibicuuc and libicui18n are moved into APEX, but\nthey have no stable ABI due to the version suffix.\n\nUse libandroidicu which provides stable symbol.\nSee http://go/apex-stable-icu4c-interface for the design.\nSee http://aosp/801855 for libandroidicu implementation.\n\nBug: 117094880\nTest: m checkbuild\nChange-Id: Ida6aac85dfb79bf8e7a3a2540e567ee211279e09\n"
    },
    {
      "commit": "ff0508b3d64e54829b69170adace3bbea4f6a5b6",
      "tree": "07a6bedb573eccac1664985112fc22b0b7b3d6a1",
      "parents": [
        "48d4fff79246d1a988b5538f9f9db5fc57746f9c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 15:17:58 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 18 12:50:30 2018 -0800"
      },
      "message": "Convert MPEG2 extractor to V3 format\n\nand move it to the media APEX.\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Ibcbdd0e901e9d79b5a857b5d0a65bd6b1ec675a6\n"
    },
    {
      "commit": "e92a5c7d3b0face0059566118e68d19c95284f39",
      "tree": "2001e358d8195313a65d4e7c682b6a11ae3f96ed",
      "parents": [
        "706e8765fb5809e6814f156981de45675e88fbad"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 13 09:52:38 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 13 15:46:05 2018 -0800"
      },
      "message": "Convert OggExtractor to V3 format\n\nand move it to the media APEX.\n\nBug: 111407253\nTest: manual, CTS\nChange-Id: Ia6b6edc42f8bb374d4cc07888fb0f45030ca462f\n"
    },
    {
      "commit": "c656c8df182f2b7a1ad0d692ad7730e9c3c4c293",
      "tree": "4dc69c70343e1e8d203502ccfed34c6ff5c116c2",
      "parents": [
        "20478518b4b01195f7aa473e12ee2b29509667b8"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Dec 13 09:56:33 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Dec 13 09:56:33 2018 -0800"
      },
      "message": "Move MKV/MP4 extractors to APEX\n\nTest: make systemimage on marlin\nBug: 111407253\nChange-Id: Icd90893f7498090ea9d8cbe29f3845e98d794ebc\n"
    },
    {
      "commit": "f652118da25973feedf3593f50a0854d97e951bd",
      "tree": "2d2f12f089a5911f0780edd7d196503ef004feba",
      "parents": [
        "590c815a94442634adc9616eaf38bc97137371a3"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Dec 10 19:04:01 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Dec 12 12:38:33 2018 -0800"
      },
      "message": "Move WAV/FLAC/MIDI/AAC/MP3/AMR extractors to APEX\n\nTest: build \u0026 boot \u0026 dumpsys media.extractor\nBug: 112766425\nChange-Id: I6207c370f830e85830115787a0d5b2958a53869d\n"
    },
    {
      "commit": "7fa7c86510509efe0af098893a661516794e0490",
      "tree": "431a40ff3eda2c9c968e9824fc3a5ce29841186c",
      "parents": [
        "0b6db2c97404943d7b5628eee50e58fd92e51054"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Dec 06 09:07:58 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Dec 10 13:51:55 2018 -0800"
      },
      "message": "mediaextractor: load extractor plug-ins from apex\n\nNote: media apex is not added in the default build.\nThe new code path will be no-op for now.\n\nTest: boot \u0026 adb shell dumpsys media.extractor\nBug: 112766843\nChange-Id: I1bdf2c41cc5f88c80c2fd20677dce1d58420e947\n"
    },
    {
      "commit": "022902955253c9ad750169243bbea64bf197a32b",
      "tree": "7a96efd177f9ba0963163b19cf9eadb2b7654728",
      "parents": [
        "c25db9303131d04d15f2ca28f1a8f9153becf449",
        "089a4430c85fda99ee894bbc6e4914113f68f19f"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Thu Nov 08 10:34:00 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 08 10:34:00 2018 -0800"
      },
      "message": "Merge \"Add sched_yield to the arm64 policy\" am: 0597a45729 am: 0f208d013a\nam: 089a4430c8\n\nChange-Id: Ib2343d608e20e18d144c176345858dfff10554cf\n"
    },
    {
      "commit": "d653bf02c3fb133b7b95669f79d822402708d9da",
      "tree": "56705f5bda6f3d13b7441eecff7781dca9bf21b5",
      "parents": [
        "b8fd364d0a0e23317c1fbc5055800bbeee3ba349"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Fri Nov 02 08:55:02 2018 -0700"
      },
      "committer": {
        "name": "Kostya Kortchinsky",
        "email": "kostyak@google.com",
        "time": "Mon Nov 05 15:17:19 2018 +0000"
      },
      "message": "Add sched_yield to the arm64 policy\n\nsched_yield is used by the various Sanitizers. It is present for arm, x86 and\nx86_64 but is missing for arm64.\n\nBug: 63907455\nTest: built \u0026 run with Scudo locally enabled for media.extractor\nChange-Id: I4ad9cfcd2bda2489858146dca7427e3719491e12\n"
    },
    {
      "commit": "ea788f7e048433545a737dc70946cc9150fbc6a5",
      "tree": "e23264a72da1c4b0fd652a8a5b2da7730c9314b6",
      "parents": [
        "1c152226bcfaa32d1e1e95168157fe99048d424a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 12 14:44:24 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 12 16:00:33 2018 -0700"
      },
      "message": "Add media.codec.update service\n\nThis is done similarly to how we update the extractors.\nmedia.swcodec will start a service \"media.codec.update\"\nto get notified of the update apk location, then updated\nversion of the component store will be loaded.\n\nSince the update interface is exactly the same, we reuse\nIMediaExtractorUpdateService to avoid adding new an aidl\ninterface. Besides this service will likely be removed\nafter we switch to APEX.)\n\nBug: 111407413\nBug: 117290290\nChange-Id: I739ba0071806beed99302ccd3da7a6f73a437f06\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": "9200bf9bbed390954cf824aa42ad2603dfcb6bcb",
      "tree": "24c33d065b70dfd8b327f27ab3d32c752a3efac9",
      "parents": [
        "7e19897b405318df20eccb1d697a8ecccd70fbc7"
      ],
      "author": {
        "name": "Kazuhiro Inaba",
        "email": "kinaba@google.com",
        "time": "Thu Jun 07 13:59:11 2018 +0900"
      },
      "committer": {
        "name": "Kazuhiro Inaba",
        "email": "kinaba@google.com",
        "time": "Thu Jun 07 16:47:34 2018 +0900"
      },
      "message": "Makes sure to set up the mediaextractor x86_64 seccomp policy.\n\nThree fixes\n(1) Sets LOCAL_REQUIRED_MODULES_x86_64.\n  Otherwise the policy file won\u0027t be in the system image at all.\n\n(2) Drops the executable bit (chmod a-x) of the policy file.\n\n(3) Incorporates the changes done on x86.policy between O and P.\n  The previous patch seems to be a cherry-pick from AOSP, which\n  does not take the P changes into account. (Hence mediaextractor\n  just crashes if the previous policy file is applied to P.)\n\nBug: 79158930\nBug: 69073312\nTest: ProcessMustUseSeccompTest#testMediaextractorHasSeccompFilter\nTest: CtsMediaTestCases runs without mediaextractor/minijail error\nChange-Id: Iada4c75883de03b5a44a06df33de428c2ceef3d5\n"
    },
    {
      "commit": "d5d1efcf2c39071a35ccdd7f0ad256df71abede3",
      "tree": "2cddc8357d26744a1309b1f8e879d02cf5e30fd1",
      "parents": [
        "dbd89c79fce27d93c0a15647049f13217ed50433",
        "c752095a22e70f921bf5290b345cb411bfba1917"
      ],
      "author": {
        "name": "Melvin Xu (徐敏)",
        "email": "melvin.xu@spreadtrum.com",
        "time": "Sun May 20 19:57:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun May 20 19:57:07 2018 -0700"
      },
      "message": "Merge \"CTS-on-gsi test, CtsSecurityHostTestCases--android.security.cts.ProcessMustUseSeccompTest#testMediaextractorHasSeccompFilter --android.security.cts.ProcessMustUseSeccompTest#testOmxHalHasSeccompFilter failed\" am: 078545604a\nam: c752095a22\n\nChange-Id: Ie5b6f660594cdd8967affe5e85777727ef2935e6\n"
    },
    {
      "commit": "9f60b56976e7bad73890914b486092cad6632253",
      "tree": "ec45bafa3d2c5a928546de2ac2916abe3b4f3661",
      "parents": [
        "334e5dff4751eb77ade396f4c32404ca2b2892b3"
      ],
      "author": {
        "name": "Melvin Xu (徐敏)",
        "email": "melvin.xu@spreadtrum.com",
        "time": "Wed May 02 17:45:14 2018 +0800"
      },
      "committer": {
        "name": "Melvin Xu",
        "email": "melvin.xu@spreadtrum.com",
        "time": "Thu May 10 02:52:15 2018 +0000"
      },
      "message": "CTS-on-gsi test, CtsSecurityHostTestCases--android.security.cts.ProcessMustUseSeccompTest#testMediaextractorHasSeccompFilter\n--android.security.cts.ProcessMustUseSeccompTest#testOmxHalHasSeccompFilter\nfailed\n\n[Android Version]:\nAndroid8.1.0_r2\n\n[CTS pachage version]\nSuite / Plan\tVTS / cts-on-gsi\nSuite / Build\t8.1_R3 / 4632653\n\n[device](Any device config may relate this failure)\nspreadtrum\u0027s iSharkL2\nsize:1080*1920\n\n[bugzilla bugid] 79158930\n\n[CTS Test Pre–Condition]\n1.Language set to EN;\n2.Keyguard set to none;\n3.Enable GPS, Wifi network, USB debugging, Stay awake, Allow mock locations.\n4.CTS version is VTS / cts-on-gsi 8.1_R3\n\n[CTS Test Step]:\n1 ./vts-tradefed\n2 run cts-on-gsi\n\n[Expected Result  ]:\nThis case will pass.\n\n[Testing Result]:\ncase failed:\nCtsSecurityHostTestCases\n--android.security.cts.ProcessMustUseSeccompTest#testMediaextractorHasSeccompFilter\n--android.security.cts.ProcessMustUseSeccompTest#testOmxHalHasSeccompFilter\n\n\n[13. Analysis]:\njunit.framework.AssertionFailedError: media.extractor must have a seccomp filter enabled. The \"Seccomp\" field of media.extractor\u0027s /proc/3292/status file should be set to \"2\"\nat junit.framework.Assert.fail(Assert.java:57)\nat junit.framework.Assert.assertTrue(Assert.java:22)\n\nFor iSharkL2 device, TARGET_ARCH\u003dx86_64, but in the following Android.mk, there is no x86_64 option and mediaextractor-x86_64.policy, so mediaextractor.polily will not be generated in the $(TARGET_OUT)/etc/seccomp_policy.\n\nFrameworks/av/services/mediaextractor/Android.mk:\n# service seccomp filter\nifeq ($(TARGET_ARCH), $(filter $(TARGET_ARCH), arm arm64 x86))\ninclude $(CLEAR_VARS)\nLOCAL_MODULE :\u003d mediaextractor.policy\nLOCAL_MODULE_CLASS :\u003d ETC\nLOCAL_MODULE_PATH :\u003d $(TARGET_OUT)/etc/seccomp_policy\nLOCAL_SRC_FILES :\u003d seccomp_policy/mediaextractor-$(TARGET_ARCH).policy\ninclude $(BUILD_PREBUILT)\nendif\n\n[Analysize]:\nThere is no mediaextractor-x86_64.policy file in the frameworks/av/services/mediaextractor/seccomp_policy/, so we can\u0027t write this mediaextractor-x86_64.policy\n\nAnd mediaextractor-x86_64.policy is got based on the mediaextractor-x86.policy and added the differences between mediaextractor-arm.policy and mediaextractor-arm64.policy.\n\nBut there is a problem of the arrangement order of syscalls in mediaextractor-x86_64.policy, maybe it need Google engineer to refine it.\n\n\n[Conclusion]:\n1. Add a new mediaextractor-x86_x64.policy\n2. Modify the Android.mk file below in the frameworks/av/services/mediaextractor/ seccomp_policy\n3. Because current google AOSP don’t consider x86_64 arch for mediaextractor policy, and iSharkL2 device use x86_64 arch, so we need to support it in the frameworks/av/services/mediaextractor/ seccomp_policy/. We will request to waive for this.\n\n\n[Patch Link]:\nhttps://android-review.googlesource.com/c/platform/frameworks/av/+/676982\n\nChange-Id: Icd14cc62d6a2b8989ae3e2a1650af3749198522f\n"
    },
    {
      "commit": "43e143a93a1a730354ed0913c73b50a614599981",
      "tree": "9eaa8fca368c54db2e3d72d4e21b5b5e0ab194d1",
      "parents": [
        "7443db745b663f6fe53497e2dbabd93e00db6fb3",
        "247cc0a3c81ec629a2ae51b40bdcb2afc0e94210"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Apr 12 15:17:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 12 15:17:01 2018 -0700"
      },
      "message": "Merge \"Exclude MediaComponents from the build.\" into pi-dev\nam: 247cc0a3c8\n\nChange-Id: I5dcad14f686e46b55a8becc9ea6d92ae45777fb7\n"
    },
    {
      "commit": "d78d50ba4dec2e58e6b5ae1a0ab726aa216d112c",
      "tree": "c6776c8d30ecfd5962ee02d74cd9e89826734220",
      "parents": [
        "7b0d7c66ee66a93de00c2649839ae3284888c35b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Apr 11 16:51:29 2018 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Apr 12 09:32:30 2018 -0700"
      },
      "message": "Only include crash_dump.policy on usable archs.\n\ncrash_dump.policy is not built for mips. Here, it\u0027s\nonly included when it is needed to be included.\n\nBug: 7456955\nTest: required module always exists (error goes away)\nChange-Id: Id99cdba831327348033e5e35a7018ad88831de7d\n"
    },
    {
      "commit": "262081a2dd8e3fdc1e1eddeb1a39a097235e0376",
      "tree": "3321d1ddf4da912546a3446b29b38eaa5802ea88",
      "parents": [
        "ef3dbdbf730a1921aa387eec81f0cd0d46f9260b"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Mar 09 16:08:49 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Apr 06 23:26:19 2018 -0700"
      },
      "message": "Exclude MediaComponents from the build.\n\nJava Media2 APIs are now hidden in P and extractor\nplug-ins exists in /system/lib...\n\nTest: build and boot with aosp and non-aosp build\nBug: 67908547\nChange-Id: Ic3465ada867133aa118f78d874adfd38c4c959dd\n"
    },
    {
      "commit": "ebb2179afc0d6812fd2806c77b19bf5182718510",
      "tree": "df15375852893a4fbee64ddae8a024bd2603dae3",
      "parents": [
        "bbcbbe4fa36faaca4b066287bd0998c71752d96e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 24 16:37:16 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 25 12:40:51 2018 -0800"
      },
      "message": "Use @include for crash_dump seccomp policies.\n\nInstead of manually inlining and updating seccomp policies for crash\ndumping in 5 different places, add a central one that\u0027s @included by\neach user.\n\nBug: http://b/38508369\nTest: debuggerd [-b] `pidof media.{codec,extractor}` on walleye\nChange-Id: I1691cb2ab041fc326765e7304917bd2b2460c6a9\n"
    },
    {
      "commit": "bb8ad0e6ebf1a74245929720fd6336feda926ea9",
      "tree": "73a9e0f72bf729bb087565ed0cf079c0931f43dc",
      "parents": [
        "4a0c0153cee669d32671d9ef8449a8d1a61e9ea7",
        "5a1dfb4441b0b2bbb8243bd4ca498930ad3b0ffe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 14:39:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 14:39:24 2018 +0000"
      },
      "message": "Merge \"Enable MediaUpdateService on userdebug and eng builds.\""
    },
    {
      "commit": "767456dfce275fbe2d0bea227c271fcbd4c5be19",
      "tree": "ebd969afaae14e6c8c5dc1646786138a7f384d52",
      "parents": [
        "3e4d2ed649875f4823e72075518f3c39fd27c8a2"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 19 16:26:19 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 19 16:44:32 2018 -0800"
      },
      "message": "Load system extractor plugins from /system|vendor/lib[64]/extractors.\n\nPlugins will be placed under /system|vendor/lib[64]/extractors and the\ndevice will include a stub MediaComponents apk for later update.\n\nTest: boots and play mp4 files\nBug: 67908547\nChange-Id: I5ab30093d9dd50324ba327baa8270a204e10f8a5\n"
    },
    {
      "commit": "c96ca4397cca129afd6b111f61f98dcfc2c1e3a7",
      "tree": "a8821ad0e9ecf92d2bd025877425e1231daa1bdf",
      "parents": [
        "7ffa062a68c1b8ec41e79e480a23c01ab0b5d4a2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 19 08:14:40 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 19 09:23:05 2018 -0800"
      },
      "message": "Show list of loaded extractors in dumpsys\n\nBug: 67908547\nTest: build, boot, dumpsys\nChange-Id: Ib398dd000979b6b5d85db5e446946c0c8ded1793\n"
    },
    {
      "commit": "5a1dfb4441b0b2bbb8243bd4ca498930ad3b0ffe",
      "tree": "d952ba6b52ef69203446aeda97ab0fa9b3232c13",
      "parents": [
        "87b4679598403fe752f57f1cfca4709ca82e97b8"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 17 09:25:31 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 17 14:52:09 2018 -0800"
      },
      "message": "Enable MediaUpdateService on userdebug and eng builds.\n\nTest: play a mp4 file. boots without untracked SELinux denials.\nBug: 67908547\nChange-Id: I1bb13ef0f7ed60abf05822f054ef19fbd22e5690\n"
    },
    {
      "commit": "73a2b25fd96f16fa4590fe3b8e6a4a4d334cd422",
      "tree": "72e6ac79dc690d6b6840e20c86049ce149b40eac",
      "parents": [
        "87b4679598403fe752f57f1cfca4709ca82e97b8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jan 17 12:43:45 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jan 17 13:20:48 2018 -0800"
      },
      "message": "Rename MediaUpdate to MediaComponents\n\nBug: 67908547\nTest: build, boot\nChange-Id: Idb873b1e0eddeb8d56f818ba3967d05727060cd4\n"
    },
    {
      "commit": "53a2d617f5359eaa54e8129a0f64807e16e08520",
      "tree": "be8cfe585f720481234adffd1d89e5c5c2f8f1f0",
      "parents": [
        "d73a1d99c5a2594a81bc8d560d208696b44656b3"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 16 18:12:51 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 16 18:42:39 2018 -0800"
      },
      "message": "Disable UpdateService temporarily.\n\nTest: build \u0026 boots without untracked SELinux denials\nBug: 72066295\nChange-Id: If9a7903d9c9d97298d02c815e626a2144f50a431\n"
    },
    {
      "commit": "3e6d245e154f8a382fd88529c2572d1117685511",
      "tree": "c80af5c77faac575297581c4d82448f53e16609e",
      "parents": [
        "5e1897bbd25d8353d9567b746ce50d4b80d30564"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jun 29 15:21:53 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 12 18:03:50 2018 -0800"
      },
      "message": "Load extractor libs directly from update APK\n\nTest: play MP4 file. install and uninstall media update apk.\nBug: 67908547\nChange-Id: I80c7772e25ba010be468834ce238f0fb86bc8d14\n"
    },
    {
      "commit": "5e1897bbd25d8353d9567b746ce50d4b80d30564",
      "tree": "01be716662a3c7a9a3aa83185253e931f5586686",
      "parents": [
        "9321dc866ea81a90e765c06fe20adec7e163338a"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jun 29 15:21:53 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 11 11:44:01 2018 -0800"
      },
      "message": "Keep the in-use extractor plugins when updating.\n\nTo track usage of extractors and close the so handle when they are\ndestroied, MediaExtractorPlugin/RefBase class is introduced.\n\nTest: play MP4 file. install and uninstall media update apk.\nBug: 67908547\nChange-Id: I24926f943bc7247627e62d38edafd13d9c305a51\n"
    },
    {
      "commit": "ea5523d88c6dc9662621db5fc62bf50eff0fe4ba",
      "tree": "0488edf8c95d5f52319a640ad171194460cefb99",
      "parents": [
        "1d8e6ea955b5369a183384a9dea883580c26188a",
        "d9ad45b8a538b448737d38746771b1a0fcf7b0c1"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 12 19:08:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 12 19:08:53 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/av/services/mediaextractor\" am: 5988a68bb3 am: 868705c87f\nam: d9ad45b8a5\n\nChange-Id: Ic6679ffafbad08d2b6b6bac9bd8bcdddcd1c9c7a\n"
    },
    {
      "commit": "2cf9b81a67ccd98e845182f0aa784dd92a09960a",
      "tree": "27e29b241dd23682c2ca1ee22a423532fffb70c5",
      "parents": [
        "6313143933d8c3e3e3edd67a4be07379f27ca467"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Dec 06 12:37:58 2017 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Dec 06 12:37:58 2017 -0800"
      },
      "message": "Use -Werror in frameworks/av/services/mediaextractor\n\n* Allow redefinition of CHECK_OP in ADebug.h.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ia6dd0ac147f586ebdc4bbc63ac63b8b73040a83d\n"
    },
    {
      "commit": "19c84390a7cf7c88a0594091538c214a182b6787",
      "tree": "8afb065a399aab1b77f282e030d0a7190a2cb5db",
      "parents": [
        "9a60e1ad4762bd428ddc158e5a50641649698ec4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 03 14:27:49 2017 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 03 14:27:49 2017 -0700"
      },
      "message": "Add missing syscall for 32 bit builds\n\nBug: 36130225\nTest: boot Pixel build with 32 bit mediaextractor\nChange-Id: I0a843be7b3fc7a8e03325625aa85fe7230f464ad\n"
    },
    {
      "commit": "a575bac8c6ff91e9846dd57b3456437084854053",
      "tree": "e13e45481bd8b179532872a03efa4f10879cb115",
      "parents": [
        "c62a59c4a1a94376af8a5c503983fe65e9b3aa59",
        "f23da56283f0ae817986af4e816614bbe18613e6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 26 16:26:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 26 16:26:17 2017 +0000"
      },
      "message": "Merge \"Add sched_setscheduler to the arm64 policy.\" am: 55c45b3309 am: b73c823fb4\nam: f23da56283\n\nChange-Id: I185367b935966d30431009a8b16ed94a60173851\n"
    },
    {
      "commit": "7744d21bf39c492d634d333860dc2b15681bdb66",
      "tree": "8f8b2617b39e8040dcb5a0116fd13ee8b8012e6a",
      "parents": [
        "159158c3cd9f39089c1d60650776b1d9d2180d9e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 17 17:14:36 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 17 17:14:36 2017 -0700"
      },
      "message": "Add sched_setscheduler to the arm64 policy.\n\nIt\u0027s already in arm and x86 but missing from arm64 for some reason.\n\nBug: http://b/67471710\nTest: no rolling mediaextractor crashes when booting with the pthread change\nChange-Id: Ibbf8e6f0d7315afe213d250f8874ba9b57ef8f9d\n"
    },
    {
      "commit": "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3",
      "tree": "4a3b6fb269ae76af3c0567cc1d57780c17bd2c30",
      "parents": [
        "04ce1be860b40e18ca7f5fdf64ecb82567d7fe24"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 10 00:07:09 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 13:43:59 2017 -0700"
      },
      "message": "Remove libmedia and libstagefright dependency from extractors\n\n- MediaSource, DataSource and MediaExtractor are moved to\n  libmediaextractor so that they can be used by extractor\n  implementations without depending on libmedia and libstagefright.\n- XXXFactory classes has been added in order not to expose CreateXXX\n  methods in libmediaextractor.\n- avc_utils is moved to libstagefright_foundation since most of\n  extractor implementations are relying on that.\n\nTest: build + post submit media CTS tests\nBug: 65851881\nChange-Id: I7d5cf18dd25abc10478ac3f6e7d1828ad023e3fb\n"
    },
    {
      "commit": "75226177f20a176d50e3e53bbb34067cb49112c3",
      "tree": "31d809eeb7e884765c8538bac139be1079e1f1a3",
      "parents": [
        "a098be2bfa75d04c07f5bbf7a3eb991add89f260"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 16 14:10:52 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 03 15:03:19 2017 -0700"
      },
      "message": "Make extractors separate libraries\n\ninstead of being integrated into libstagefright\n\nTest: thoroughly\nChange-Id: I11cdfde6d2daf248c8e0f99237db1c74be260eb0\n"
    },
    {
      "commit": "a8f7d467dcb455af7b72c6986c0a9d4425c6c3f9",
      "tree": "4ed960152d387dad3dffc9b783e6c7a4380b3842",
      "parents": [
        "c7f1dac2ba398bf684c7a3bed5a7ba27e9a0f068",
        "d1984830cea3bef6cbc1c41927ea1a5fd0feb8f2"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Fri Sep 29 19:57:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 29 19:57:00 2017 +0000"
      },
      "message": "Merge \"whitelist getrandom for arc4random usage\" am: 0d51135def am: b7df148460 am: eeec0d412b\nam: d1984830ce\n\nChange-Id: I5148bbe5e3931a68c9c8bb5a8ef6a2b5a213c00f\n"
    },
    {
      "commit": "0d51135defebfe9bf0d790216ee4668c96041224",
      "tree": "cf0be80e6d657bebfd07943514314ffd24c99a3b",
      "parents": [
        "6b1c64d32a871ad34dd6df6bf3357060254e11fa",
        "2dde5ecefdf2691bdced553e4dfc276da1d9c17e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 29 04:06:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 04:06:10 2017 +0000"
      },
      "message": "Merge \"whitelist getrandom for arc4random usage\""
    },
    {
      "commit": "7145cfd45b7b62fd18e116e66a39d0bd019a7372",
      "tree": "faeef7c61a62a037250e7c44734bf7fb61e01b9c",
      "parents": [
        "930d7fc3ca11c4628aea2e8ed0c953f47eb2873e",
        "ba8128f9db82da66f28c6e6740d4721d80da954e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 22 17:24:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 22 17:24:32 2017 +0000"
      },
      "message": "Merge \"Remove direct dependency on libbinder from extractor impls\""
    },
    {
      "commit": "ba8128f9db82da66f28c6e6740d4721d80da954e",
      "tree": "04c7875d85d402988b5b96e739fc6c9746e2532d",
      "parents": [
        "161101b0f95ae62918ab7d9e7f2c7fec89dc2ba6"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Aug 07 18:51:24 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Sep 21 16:10:19 2017 -0700"
      },
      "message": "Remove direct dependency on libbinder from extractor impls\n\nThis change removes dependency on IMediaExtractor/Source binder\ninterfaces from MediaExtractor implementations. Wrapper classes,\nRemoteXXX and CallbackXXX, have been added to convert the\nimplementations to binder objects or the other way around.\n\nTest: build, boot, and play mp4 video file\nBug: 65851881\nChange-Id: I351fb7bbaf8e0154295ccf258f85b8b2f2a4b8fb\n"
    },
    {
      "commit": "3f167c27890116d252cfdd718c057419b7b98a28",
      "tree": "ccd9e9ed925dbb7454f3ffe11790da281da20e6f",
      "parents": [
        "df9f68eb9b0b25e7c045c9efe07afe1c8337e7f8"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Sep 20 23:51:57 2017 -0700"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Sep 20 23:51:57 2017 -0700"
      },
      "message": "mediaex: remove invalid syscall from arm64 seccomp\n\nAddresses:\n09-20 19:41:17.327   694   694 W /system/bin/mediaextractor:\nlibminijail[694]: compile_file: nonexistent syscall \u0027_llseek\u0027\n\nBug: 66084343\nTest: boot marlin without the above warning.\nChange-Id: I7daafa448b63d9f939ad59e3c9de6c4219697c56\n"
    },
    {
      "commit": "2dde5ecefdf2691bdced553e4dfc276da1d9c17e",
      "tree": "79c2b4315792daa557a56301ea10f17373691235",
      "parents": [
        "7fa5bce9882698c578141fe48984c93f561a9caa"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Fri Sep 01 15:53:29 2017 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sat Sep 02 16:25:55 2017 -0400"
      },
      "message": "whitelist getrandom for arc4random usage\n\narc4random is called by the linker for dlopen to randomize the library\nload order, among other uses. It\u0027s becoming more widely used over time.\nIt calls getentropy at regular intervals to reseed itself, which uses\nthe getrandom system call. This wasn\u0027t noticed because it reseeds only\nvery rarely with typical usage in Android.\n\nThis was quickly noticed on CopperheadOS where the hardened allocator\nbased on OpenBSD malloc uses at least one (often more) byte of entropy\nfrom arc4random for each call to malloc, free, realloc, etc. It\u0027s still\nneeded *eventually* without the hardened allocator but it would take a\nlot of plugin loading / unloading, etc. with dlopen / dlclose to hit it\nat the moment.\n\nChange-Id: I0a448e833916373871edfc68274ac31e314d54f7\n"
    },
    {
      "commit": "1646e29f1890a24890bd09c3e1f3e816542c275b",
      "tree": "7a969dd47d3ae71bc13b5c4c721f2c3411141704",
      "parents": [
        "82651d413eb66978f2020058235811c0f5bb2094"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 29 13:18:05 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 29 13:18:05 2017 -0700"
      },
      "message": "Add new syscall used by new unwinder.\n\nThe new unwinder also uses process_vm_readv, so added to all policies.\n\nBug: 65166211\n\nTest: Did debuggerd -b of media.extractor and media.codec process.\nChange-Id: Ifad0bc505602ec4879b0a8efe27c5a12dfa28fab\n"
    },
    {
      "commit": "eb96cfcbce82e4beb8a3a307adbe032f233a5fd1",
      "tree": "bbb5d18633a86c628667a9d5301ff2a682a61733",
      "parents": [
        "7840d603cad132c9b02116fae1b1ab99c8f3b7b8",
        "556252fa992b5f405f8bb81da23061ffe5771c99"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jun 08 20:40:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 08 20:40:49 2017 +0000"
      },
      "message": "Merge \"Add OWNERS in frameworks/av\" am: 7b2b2a497c\nam: 556252fa99\n\nChange-Id: Ic699b8f7a93fe0634aaac1ce924f6c0bf6d5ace9\n"
    },
    {
      "commit": "479a20f0ee5e9033abd2860279b1261fc86ea542",
      "tree": "f1fc43a95dc88c3699da17f3f02f622bfa33d070",
      "parents": [
        "5e67f372329d7ac9e2218926e4d87cd58257ee47"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Jun 06 21:39:48 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Jun 07 16:57:30 2017 +0900"
      },
      "message": "fix: NCs in mediaextractor\n\nBug: 62255959\nTest: adb shell monkey -p com.google.android.deskclock -p\ncom.android.calculator2 -p com.google.android.contacts -p\ncom.android.launcher -p com.google.android.launcher -p com.android.mms\n-p com.google.android.apps.messaging -p com.android.phone -p\ncom.google.android.dialer -p com.android.providers.downloads.ui -p\ncom.android.settings -p com.google.android.calendar -p\ncom.google.android.GoogleCamera -p com.google.android.apps.photos -p\ncom.google.android.gms -p com.google.android.setupwizard -p\ncom.google.android.googlequicksearchbox -p\ncom.google.android.packageinstaller -p\ncom.google.android.apps.nexuslauncher -c\nandroid.intent.category.LAUNCHER --ignore-security-exceptions\n--monitor-native-crashes -s 490 -v -v -v 125000\nChange-Id: If0aab0bca3237d1140dd8153ec614479c3c0ba2e\n"
    },
    {
      "commit": "b1e2a238227076e274b39da9531d4287b6207251",
      "tree": "f1d1677a4a86ab48097e29489eccee2d35cc17fb",
      "parents": [
        "77c52d2f586012ee98fc25bee453afd0a8d008df"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Jun 05 15:45:46 2017 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Jun 06 15:08:19 2017 -0700"
      },
      "message": "Add OWNERS in frameworks/av\n\n* Owners are selected from top CL approvals or owners.\n  They will be suggested to review/approve future CLs.\n* OWNERS files are recognized by the new find-owners plugin, see .md files in\n  https://gerrit.googlesource.com/plugins/find-owners/+/master/src/main/resources/Documentation/\n\nTest: build/make/tools/checkowners.py -c -v OWNERS\nChange-Id: I7c848855a2d7a0d7f33123ea4ef5c2d03977b495\n"
    },
    {
      "commit": "0f0c0e7e9dbe18ba58f8cb41cd525863634f47e8",
      "tree": "64ad9f8bd8e622751acdaabfdc7a366d3a4b06fc",
      "parents": [
        "0375da69b221b05c3e44c49b1ad2f3b93a6bf2f9"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed May 24 13:27:00 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed May 24 13:27:00 2017 -0700"
      },
      "message": "media{codec, extractor}: update seccomp policy.\n\nUpdate the mediacodec and mediaextractor seccomp policies to allow\ngetpid and gettid, which started being used after this CL:\nhttps://android-review.googlesource.com/c/390273/\n\nBug: http://b/38508369\nTest: debuggerd -b `pidof media.codec`\nTest: debuggerd -b `pidof media.extractor`\nChange-Id: I1be61f645fa475856fa814747a5740689492aa2b\n"
    },
    {
      "commit": "e7566e73f84dde30c90c9776defb3df3d3d5b916",
      "tree": "165e936cd627bb58f19441e59bfe3aead12be3c7",
      "parents": [
        "f99ffd986c98b9e888678f63202788c59a9867e8"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 25 16:55:03 2017 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 25 16:55:03 2017 -0700"
      },
      "message": "Allow fstatfs64 syscall for mediacodec/extractor\n\nThis syscall is used by the linker to detect files located on tmpfs\n\nBug: http://b/37245203\nBug: http://b/37590327\nTest: boot an angler and check that mediacodec does not crash\nChange-Id: I7147063db7d6b8ec39a25d39b60e8e6882addf6e\n(cherry picked from commit 1516b02c1a4ab5739bffea9d75ad9b52fc1d5b91)\n"
    },
    {
      "commit": "1516b02c1a4ab5739bffea9d75ad9b52fc1d5b91",
      "tree": "38ab09c94fcf556ba6c7669111d03ed5222e5763",
      "parents": [
        "5551797eb2d813ef01e23eb93fd680bc1e0dd886"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Apr 24 11:34:58 2017 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Apr 24 12:09:45 2017 -0700"
      },
      "message": "Allow fstatfs64 syscall for mediacodec/extractor\n\nThis syscall is used by the linker to detect files located on tmpfs\n\nBug: http://b/37245203\nBug: http://b/37590327\nTest: boot an angler and check that mediacodec does not crash\nChange-Id: I7147063db7d6b8ec39a25d39b60e8e6882addf6e\n"
    },
    {
      "commit": "d49dbd6b625cddb82f3f7bbeac62d48ef338ef0f",
      "tree": "297315edf06765b4b3b114aaf07499e52a53743c",
      "parents": [
        "6480d09eec2b8188b623030c971032334739b4e4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 07 14:20:35 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 29 17:52:51 2017 +0000"
      },
      "message": "Allow MediaExtractor to create FileSource\n\nRemove binder call to MediaServer for reading files.\n\nTest: Photos, Play Music, Play Movies, Youtube\nBug: 29125703\nChange-Id: Id6abf592bf6d70b81158f6038b1982f0a537b9b9\n"
    },
    {
      "commit": "9470b9e3ebe6b5786cd37742f684c2772a1708d2",
      "tree": "79c8770902c06a51ee0429fd70420cf705f63e98",
      "parents": [
        "132f85369438c50c4122b12f40c44a02e9bb9594"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Mon Mar 20 13:04:16 2017 -0700"
      },
      "committer": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Mon Mar 20 13:04:16 2017 -0700"
      },
      "message": "seccomp-x86: allow sched_yield and gettid syscalls\n\nAddresses:\nmedia.extractor: libminijail: blocked syscall: sched_yield, gettid\n\nBug: None\nTest: make USE_CLANG_PLATFORM_BUILD:\u003dtrue SANITIZE_TARGET\u003daddress -j42\n      media extractor complains no more.\nChange-Id: I3d499b0400df10ede08801fe6b608e6003727734\n"
    },
    {
      "commit": "194af9f6b3c347392d2852fab9ee0af561fe291b",
      "tree": "6dffe82f3b9591d46b7372b549e92c8c13a6dddc",
      "parents": [
        "0012417ddc1320c6df79258266da1e869036b211"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 06 16:17:05 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 06 18:07:26 2017 -0800"
      },
      "message": "Allow mediaextractor/mediacodec to connect to tombstoned.\n\nWhitelist recvmsg so that mediaextractor and mediacodec can get an\noutput fd from tombstoned.\n\nBug: http://b/35858739\nTest: debuggerd -b `pidof media.codec`\nChange-Id: I2126da6c77bde739ae37c48b1a13dcefc6482a64\n"
    },
    {
      "commit": "2ef9f26aa5c75ff7f549404064d95db0552f7303",
      "tree": "9c976939684512833cd4c53d8ab59122e0789444",
      "parents": [
        "4ec4e6b1073b0dc1b608aeeaf4e3129ea1a725c8"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Mar 03 14:13:10 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Mar 03 14:37:22 2017 -0800"
      },
      "message": "Allow syscalls required for logging in mediacodec/mediaextractor.\n\nBug: http://b/34684590\nTest: `killall -ABRT media.codec; killall -ABRT media.extractor` on sailfish\nChange-Id: I798ed37fce27fee55a46916d7bccdf0818b3983b\n"
    },
    {
      "commit": "79234e4a1317167b23482024bf060080af04f257",
      "tree": "563e6bd34650b832f35f87326db988f88699e2af",
      "parents": [
        "3b3e0303559245560977e8eb083e8d46a9c26f04"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Feb 23 10:03:30 2017 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Feb 24 15:06:53 2017 -0800"
      },
      "message": "Combine platform and vendor seccomp policy at runtime\n\nPreviously, vendor customization to seccomp policy was combined\nwith the platform\u0027s policy at build time. In order to remove\nframeworks dependencies on the device folder, this policy\ncombination is being moved to runtime.\n\nFor mediacodec and mediaextractor, platform seccomp policy specified\nin the frameworks will be loaded from /system/etc/seccomp_policy.\nOptional vendor customizations must reside in\n/vendor/etc/seccomp_policy. If the vendor policy exists, it will be\nconcatenated to the end of the platform policy and loaded, otherwise\njust the platform policy will be loaded.\n\nBug: 34723744\nTest: Dragon, Marlin, Muskie build and boot.\nTest: Watch videos on youtube no seccomp violations observed.\nTest: For both mediacodec and mediaextractor verify\n\"cat proc/\u003cpid\u003e/status | grep Seccomp\" \u003d\u003d Seccomp: 2\nChange-Id: I08b79b207785df69add31e4662e2c33fa28b4f4d\n"
    },
    {
      "commit": "80959a7c89e310b74c7e3a68d7f80ceac7a1574d",
      "tree": "2c48626db952fde8da182b5ce352cd0371908c81",
      "parents": [
        "fbfb8e8b9a7e6a2d351b28bfd8cdd3dacd10e975"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Feb 14 15:49:33 2017 -0500"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Wed Feb 15 10:07:43 2017 -0500"
      },
      "message": "Allow media.codec and media.extractor to specify two policy files.\n\nBug: Bug: 34723744\nTest: Unit tests.\nTest: media.codec, media.extractor start, have Seccomp.\nTest: cat /proc/`pgrep .codec`/status | grep Seccomp\n      Seccomp:    2\nTest: cat /proc/`pgrep .extractor`/status | grep Seccomp\n      Seccomp:    2\nChange-Id: If5c3dcc934f5d76bd32859b2f7b7ecb772a56303\n"
    },
    {
      "commit": "fbfb8e8b9a7e6a2d351b28bfd8cdd3dacd10e975",
      "tree": "1858ce15adde3b5d5b89971bb5524375ff21bde1",
      "parents": [
        "36b31c87807a4f8cd22e73da9bf2df7babdb906e"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Feb 14 10:33:41 2017 -0500"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Feb 14 13:20:39 2017 -0500"
      },
      "message": "Unify media.codec and media.extractor Minijail usage.\n\nThat way we can modify this code in one place to take a list of seccomp\npolicy files.\n\nThis CL removes around 70 lines by unifying identical code. No change\nin behavior.\n\nBug: 34723744\nTest: media.codec, media.extractor start, have Seccomp.\nTest: cat /proc/`pgrep .codec`/status | grep Seccomp\n      Seccomp:    2\nTest: cat /proc/`pgrep .extractor`/status | grep Seccomp\n      Seccomp:    2\nChange-Id: Ia8be7b9c3d6163804d2a45954f8d03315ae32e7a\n"
    },
    {
      "commit": "060a6c53b5022c9e539a4c9b03b16da546964bec",
      "tree": "5c517aa0d24e519bb40dcd2431ffefa43959d4d7",
      "parents": [
        "d825ab9d5be990a6a7fb28033cfba84441100731",
        "49d3b5ee8e89e274a5c259dddb7cde38e98c2cde"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 23:54:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 12 23:54:38 2017 +0000"
      },
      "message": "Merge \"liblog: use log/log.h for ALOG macros\" am: 59cfe7de39 am: c6d07e8230 am: 15b18326b6\nam: 49d3b5ee8e\n\nChange-Id: I87a85c85d3f509e0496f5946d6e9e58174398ea5\n"
    },
    {
      "commit": "e74bbf18a6595a914d3c771be08a72077465c51f",
      "tree": "67ecfbc9a118ea695beaf5536bcd3ea5e9cfe376",
      "parents": [
        "ce961d374f8436a50e63a081afa6b6c3185b2f90"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 15:10:27 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 15:10:27 2017 -0800"
      },
      "message": "liblog: use log/log.h for ALOG macros\n\nTest: compile\nBug: 34250038\nChange-Id: Ie3b92790df631dbacdd51053264dddeba66913c1\n"
    },
    {
      "commit": "32a5f5d53f9fe2ba584d2ecdf3edd487fb4146a7",
      "tree": "49e0e3a1b8302a9f7282b6bcab3c32ea3808ec23",
      "parents": [
        "105928c9d30ed4c697cc4cdd9e68d8d47a695133",
        "4532a36bf509d822a77cbc1b7837f9f1158c7796"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 13:47:40 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 13:48:15 2016 -0800"
      },
      "message": "resolve merge conflicts of 4532a36 to master\n\nTest: build\nChange-Id: I9b93c4a703c0ee16116be2bea0e6df0606d29363\n"
    },
    {
      "commit": "60d02077d86d2d1092443519290101f503aa6f7a",
      "tree": "57992d2bd94784cd765729b806429928ead0d2e7",
      "parents": [
        "36a75eeb15e58726e8cbbfe9687975740133a11b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 29 08:48:48 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 08:25:58 2016 -0800"
      },
      "message": "Replace cutils/log.h with either android/log.h or log/log.h\n\nTest: compile\nBug: 31289077\nChange-Id: I795a76f978d2213737f1fa908da789c543219b75\n"
    },
    {
      "commit": "70aac1583d7b5370350b249dacdddfa69a972824",
      "tree": "e3a22b1994dbc4fa93243269d80d2081a396e8b4",
      "parents": [
        "4278ba02628d915b52d59dcf5477880cf99f39cd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 13 14:44:45 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 13 14:46:28 2016 -0800"
      },
      "message": "Add missing syscalls to mediaextractor arm64 seccomp filter\n\nTwo missing calls were preventing debuggerd from catching crashes\nin mediaextractor\n\nTest: triggered crash and verified debuggerd catches it\n\nChange-Id: I3306207bff9af1fd63ad66761bc650d6f5147d98\n"
    },
    {
      "commit": "b59c2fb19f03bba8a558be71848bafa6a0ad3cbc",
      "tree": "9f86c07f86555aa80cc79c938877ccf0e88cdc5c",
      "parents": [
        "179c103d6c0fcae0c80273b53fad8654ab3cbec5",
        "85e6bdd2b2bfd146a1d07c6edb52be5961ed18ba"
      ],
      "author": {
        "name": "Greg Hartman",
        "email": "ghartman@google.com",
        "time": "Wed Nov 16 18:28:05 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 16 18:28:05 2016 +0000"
      },
      "message": "Merge \"Adds nanosleep to x86 syscalls\""
    },
    {
      "commit": "f348da28b5bba5022fdf13fcadb7b2eb65c2a853",
      "tree": "1bf7c92ac020d9f24bf5c0982e90e0fb8afcb47e",
      "parents": [
        "59d49567c207c104c1f242f55e2ce5b9e5b2b3f6",
        "bff72ff3ae5edc740c48a59b147767c31a7ec438"
      ],
      "author": {
        "name": "Alex Naidis",
        "email": "alex.naidis@linux.com",
        "time": "Fri Nov 11 18:00:40 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 11 18:00:40 2016 +0000"
      },
      "message": "Merge \"mediacodec/mediaextractor: allow multiple Seccomp extensions\" am: da4cb8cb6c am: 07d040d389 am: c9c32a8dcc\nam: bff72ff3ae\n\nChange-Id: Iadf9ab52e1f1974f45f951ef8182609b3dd9a723\n"
    },
    {
      "commit": "d4050242bc4e4aeb3d008c4f6fe77365e0bbadbe",
      "tree": "3f91a4d81b7d6d3c3e56fa0b8ccd3f9f8667c4a0",
      "parents": [
        "568085d022c299c9899e54ed886ed8ef3b7d47e0"
      ],
      "author": {
        "name": "Alex Naidis",
        "email": "alex.naidis@linux.com",
        "time": "Sat Oct 29 16:18:15 2016 +0200"
      },
      "committer": {
        "name": "Alex Naidis",
        "email": "alex.naidis@linux.com",
        "time": "Thu Nov 10 20:12:01 2016 +0000"
      },
      "message": "mediacodec/mediaextractor: allow multiple Seccomp extensions\n\nThis is useful if we have multiple device\nlayers and want to have common extensions while\nsupporting device specific extensions at the same time.\n\nChange-Id: Iefbff9c1ec680963a7ea4c2db09d8e888dd87703\nSigned-off-by: Alex Naidis \u003calex.naidis@linux.com\u003e\n"
    },
    {
      "commit": "0578109154b7c41d2e0618145522d2660e0a7bf4",
      "tree": "c028764a26eee4c015e1f2592de20196798fb8d3",
      "parents": [
        "add8b129899fc8e16cf3a63ea080876980c2a08b",
        "7b9bd40f14393bc586ed829ef1fefe0901899a1d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Nov 02 03:25:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 02 03:25:36 2016 +0000"
      },
      "message": "Merge \"Revert \"mediacodec/mediaextractor: allow multiple Seccomp extensions\"\" am: 712690b374 am: 68f9d0dc3b am: e40f36df56\nam: 7b9bd40f14\n\nChange-Id: I5471b7363060b98c8a247459006b9cc08af4708a\n"
    },
    {
      "commit": "5a5842ab6d1bcbededcb4d62350685b52a1f7317",
      "tree": "ba10e30f0f852579ac28652b2cf23bef30ecf0b0",
      "parents": [
        "87a80ef1e391247beb08854efded9cf9a52b8a09"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Nov 02 03:10:52 2016 +0000"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Nov 02 03:10:52 2016 +0000"
      },
      "message": "Revert \"mediacodec/mediaextractor: allow multiple Seccomp extensions\"\n\nSeeing the following build errors:\n\n  $ . ./build/envsetup.sh  \u0026\u0026 lunch aosp_dragon-userdebug\n  $ m -j 50\n  ...\n  Starting build with ninja\n  ninja: Entering directory `.\u0027\n  ninja: error: \u0027device/google/dragon/seccomp/mediaextractor-seccomp.policy\u0027, needed by \u0027out/target/product/dragon/obj/ETC/mediaextractor-seccomp.policy_intermediates/mediaextractor-seccomp.policy\u0027, missing and no known rule to make it\n  make: *** [ninja_wrapper] Error 1\n  make: Leaving directory `/SDD/master\u0027\n\n\nThis reverts commit 87a80ef1e391247beb08854efded9cf9a52b8a09.\n\nChange-Id: I5d039845c69b18f3a7199458c5301314d006f43b\n"
    },
    {
      "commit": "add8b129899fc8e16cf3a63ea080876980c2a08b",
      "tree": "d5d39b51edb8de32663067e846495967a28e84ff",
      "parents": [
        "6b8937f4a81447968b22b75a6f1e450bbda1a18f",
        "dd4e264b82c80df503d4aa8024c5605fa78f32ef"
      ],
      "author": {
        "name": "Alex Naidis",
        "email": "alex.naidis@linux.com",
        "time": "Wed Nov 02 01:09:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 02 01:09:16 2016 +0000"
      },
      "message": "Merge \"mediacodec/mediaextractor: allow multiple Seccomp extensions\" am: e119cfe384 am: b5f5ca9c27 am: 7f9eed98a0\nam: dd4e264b82\n\nChange-Id: Ib9e79b5ca043c4dfeeda101caf0e8fcbc1844991\n"
    },
    {
      "commit": "85e6bdd2b2bfd146a1d07c6edb52be5961ed18ba",
      "tree": "51ebcc042edbd2417474cd48da5fb313d7227096",
      "parents": [
        "8811695bbf42501962c61e0b1f1499cfa246b6eb"
      ],
      "author": {
        "name": "Greg Hartman",
        "email": "ghartman@google.com",
        "time": "Wed Oct 12 21:16:21 2016 -0700"
      },
      "committer": {
        "name": "Greg Hartman",
        "email": "ghartman@google.com",
        "time": "Tue Nov 01 17:06:49 2016 +0000"
      },
      "message": "Adds nanosleep to x86 syscalls\n\nBUG: 32122229\nChange-Id: I99bc266f4d7ddaa89d414392698324e1e955f841\n(cherry picked from commit 4eb4ed6408e8b54223708251c1da01b68a0e6635)\n(cherry picked from commit 868d6e09a560404d33bd80a3b5e68d6deb3b41aa)\n"
    },
    {
      "commit": "87a80ef1e391247beb08854efded9cf9a52b8a09",
      "tree": "7c4ee6dd41353cb81732e34bf30337171558d016",
      "parents": [
        "f521451f6252404b8fd0880bfe4dbddb8e687ede"
      ],
      "author": {
        "name": "Alex Naidis",
        "email": "alex.naidis@linux.com",
        "time": "Sat Oct 29 16:18:15 2016 +0200"
      },
      "committer": {
        "name": "Alex Naidis",
        "email": "alex.naidis@linux.com",
        "time": "Tue Nov 01 14:50:08 2016 +0100"
      },
      "message": "mediacodec/mediaextractor: allow multiple Seccomp extensions\n\nThis is useful if we have multiple device\nlayers and want to have common extensions while\nsupporting device specific extensions at the same time.\n\nChange-Id: Iefbff9c1ec680963a7ea4c2db09d8e888dd87702\nSigned-off-by: Alex Naidis \u003calex.naidis@linux.com\u003e\n"
    },
    {
      "commit": "f53eeea422a7be68c540698d4d1940a80d7942b0",
      "tree": "afc509f53a960832944180396b475bf2dd40fbbd",
      "parents": [
        "e086bdba217bc013b7a1b5ebe181ccd5fc08ce29"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Jul 07 11:06:49 2016 -0700"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Jul 07 11:10:43 2016 -0700"
      },
      "message": "64 bit mediaextractor\n\nOn 64 bit devices run the extractor process in 64 bit mode.\n\nDefine a 64 bit seccomp filter for arm64.\n\nTests (angler): CtsMediaTestCases, youtube, play movies, play music.\n\nBug: 27785687\nChange-Id: Icb4ea2d7ce8ac55d3f3f4852b0e011d9c4402d54\n"
    },
    {
      "commit": "ddb50a0d099910cddfe2b342d3abcc21e281e3d5",
      "tree": "0bffd796b45b2dee092579065b1fd52230e44ba5",
      "parents": [
        "09b5fd9cbfa3dd968ad1a5614afd1d538043a711"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Jun 13 20:10:10 2016 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Jun 13 20:12:14 2016 -0700"
      },
      "message": "Increase the memory limit of media.extractor to 20%.\n\nBug: 29185862\nChange-Id: I130ef8504dc93738a413554ae1a340864ae395c6\n"
    },
    {
      "commit": "c57fe21ebdd6813c5a8954f3fda51b82d26acd07",
      "tree": "0de87347d7a68d15856c89a70b6599ed959703ad",
      "parents": [
        "7d58810be46a86fa5c66d6d53d2453a5accc76f8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 31 09:45:43 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 31 09:45:43 2016 -0700"
      },
      "message": "limit mediaextractor memory\n\nLimit mediaextractor using rlimit, to prevent it from bringing down the system\nvia the low memory killer.\n\nBug: 28471206\nBug: 28615448\nChange-Id: Ic84137435d1ef0a6883e9789a4b4f399e4283f05\n"
    },
    {
      "commit": "a321469104536544d1cf0c0098d14bbf14186e88",
      "tree": "83db847c1e933819826f00d9e6af227fab83a8e2",
      "parents": [
        "0277976e8118ac493440049affeb1fce1f08598e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 06 10:57:20 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 06 10:57:20 2016 -0700"
      },
      "message": "Dump local source, not remote\n\ndumpsys media.extractor was printing the remote source instead of starting at\nthe local source.\n\nBug: 22775369\nChange-Id: I5026218515bf7ceb8485005ed7d89638a9c1963b\n"
    },
    {
      "commit": "58f3e5541361cb04d64b8ad6a676ad0d77a4ee57",
      "tree": "c9141eb0d37fe71c38956b341840845e7d3a697c",
      "parents": [
        "d298fb880ba440793ce206e5f519d4f7c8c8bb54"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Apr 15 14:27:22 2016 +0200"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Tue Apr 26 08:48:12 2016 +0000"
      },
      "message": "Move system services into correct cpusets.\n\nTo foreground:\n- cameraserver\n- mediaserver\n- audioserver\n- mediacodec\n- drmserver\n- mediadrmserver\n- mediaextractor\n\nBug: 24949295\nChange-Id: I182e5cf6fa4b33d87a0a2f77b0b03fa8d76b8e27\n"
    },
    {
      "commit": "69d3d8a9540b0da787ea0beccad2517f057dd54d",
      "tree": "d8a91e3ee2298b35c3aad167a4f5073225aeba3a",
      "parents": [
        "953c59c51da938fdcaf3801de89edb736c249c6f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 07 13:20:01 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Apr 06 13:24:12 2016 -0700"
      },
      "message": "Expand mediaextractor dumpsys\n\nBug: 22775369\nChange-Id: I3366a52ba7a00d1685a2211465f2f18f143d0efc\n"
    }
  ],
  "next": "e446c8e0ab808f567cf6ba1f35fa98b3cf7cb629"
}
