)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "e446c8e0ab808f567cf6ba1f35fa98b3cf7cb629",
      "tree": "537d5fc386c01f944bc9b40e9229e52b771e996e",
      "parents": [
        "8e90fecfe6c7d1005e51e0a0d68b09548856224d"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Mar 30 15:23:20 2016 -0700"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Mar 30 22:25:39 2016 +0000"
      },
      "message": "minijail: allow a syscalls to permit logging\n\nAllowed geteuid32, getgid32, getegid32 and getgroups32.\n\nBug: 27925431\nChange-Id: I8f4cd86f6a4cee12d3654b4a4ad6e5bcb12049eb\n"
    },
    {
      "commit": "a785ddfe41628cc7ea05aed174c59d816e7b395e",
      "tree": "e8d14ff0e59ab9274ff3e440df49ab76bffe70d5",
      "parents": [
        "138cfd7d521bb0561333b3f1dd5076cbbbb15d04"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Mar 30 13:26:35 2016 +0900"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Mar 30 22:01:01 2016 +0000"
      },
      "message": "minijail: allow a few syscalls to permit logging\n\nAllowed geteuid32, getgid32, getegid32 and getgroups32.\n\nBug: 27925431\nBug: 27909016\nChange-Id: Ic75522714c8b5eb482b64079de042011ae23cfed\n"
    },
    {
      "commit": "5027871f4ff04786ad42654c480eb36f553df3a6",
      "tree": "5dbb9b24da8fb36cd84685b38f4ae7d45e1f2668",
      "parents": [
        "02e424d9c91975a25e8d8c5110bc78da62b7841e",
        "2d573837551693eac6f8164552c5dd084f8fd931"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Mar 25 20:56:04 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 25 20:56:05 2016 +0000"
      },
      "message": "Merge \"minijail: allow rt_tgsigqueueinfo syscall\" into nyc-dev"
    },
    {
      "commit": "2d573837551693eac6f8164552c5dd084f8fd931",
      "tree": "f0cd4298ac8f39b25712e80aadbe5057fcf211b7",
      "parents": [
        "f17731fb1765314fc38a58c9d19fce9a2553a01e"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Mar 25 13:34:19 2016 -0700"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Mar 25 13:46:06 2016 -0700"
      },
      "message": "minijail: allow rt_tgsigqueueinfo syscall\n\nUsed by bionic to resend every signal back to the process for\ndebuggerd to catch.\n\nBug: 27853687\nChange-Id: If7181b89fcfe0d698df0ce83f773eb974ccd567a\n"
    },
    {
      "commit": "6b9c0749a632e1404cc9b442c1704b200835957b",
      "tree": "7bb7984629572ea05e1b5b1298949e11f3f4b8e9",
      "parents": [
        "64600d0c3232b4337c8438bd89f2f8efb127e789"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 25 10:30:21 2016 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 25 12:41:41 2016 -0700"
      },
      "message": "mediacodec/mediaextractor: allow ugetrlimit\n\nParcel validation will call getrlimit() approximately\nonce per process that uses Parcels.\n\nBug 26696080\n\nChange-Id: I59c5d6d648976d9d8618f161b4164c959f191a7e\n"
    },
    {
      "commit": "04f549f5e44676e8eb08f87e3bb6100b8fe296cd",
      "tree": "fb749bfe678b047e394acd931cfcbef5b75e6761",
      "parents": [
        "890536f22d88b86ed8d65f17bc9cf3ad84da6b73"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 02 19:09:42 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 02 19:09:42 2016 -0800"
      },
      "message": "Fix crash in mediaextractor\n\nAllow sched_setscheduler\n\nBug: 27374300\n\nChange-Id: I3d88e2904981a1dc392d47728178798be91ec294\n"
    },
    {
      "commit": "a48a51c056198a778755cbed52884dc30b74ac0a",
      "tree": "221c1d30cbcd9aa8cf34880ec7e7a06c3b3730e4",
      "parents": [
        "fc958a0888d47b5d34847afab3b33d877d9ca007"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 25 10:52:54 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 29 13:29:17 2016 -0800"
      },
      "message": "media.extractor dumpsys to show recent extractors\n\nBug: 22775369\nChange-Id: Ie68484985567896a00d5c193d1853a8f2e3b3964\n"
    },
    {
      "commit": "7cbcebc1e6c6f659f2706b1957c82a9791cb0a04",
      "tree": "dbff5f990503dec2e305db3145dcd81ca5c50940",
      "parents": [
        "0b43502e026a31976fa2d316b72eea0508a9ae40"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Feb 24 13:45:58 2016 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Feb 24 13:45:58 2016 -0800"
      },
      "message": "mediaex x86: allow debuggerd to collect stacktrace\n\nCurrently blocked on x86 platforms by seccomp. Allow the necessary\nsyscalls.\n\nBug: 26580739\nChange-Id: I20686fd845956b1398d66ceb749d56a47d93cd3b\n"
    },
    {
      "commit": "1f94014ff5e057b77acc1f270e63126ee39d799c",
      "tree": "9a53581d3bde3b065111f7ad99d067bff45029fc",
      "parents": [
        "bc57b12030cbd4885d9231e721bbfed1b6522212"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Feb 18 10:40:51 2016 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Feb 18 10:40:51 2016 -0800"
      },
      "message": "seccomp-arm: allow sched_yield syscall\n\nAddresses:\nmedia.extractor: libminijail: blocked syscall: sched_yield\n\nBug: 27243022\nChange-Id: I027534fe86f18adf7cf951fa0bf8fb96713c8bfd\n"
    },
    {
      "commit": "88b27b560cc46ffa52f4211df3821d146ae34427",
      "tree": "134a96afbefaed88ab88fab7ccf6f0854d100f91",
      "parents": [
        "b586c8e6a3415a4f0426239510300bbbaefad166"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Feb 05 14:11:51 2016 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Feb 05 14:11:51 2016 -0800"
      },
      "message": "mediaex: Fix build rule under Make\n\nNinja automatically creates the output directory for a rule, but make\ndoes not. Add mkdir -p so that make builds work.\n\nChange-Id: I123226b2b1b641d268ad0a4922172d43506741cf\n"
    },
    {
      "commit": "bfdefc5be80920781f421ab82e026c7dc626b466",
      "tree": "b6c9f28e99af314f9117e385ac501097fe1fcf2a",
      "parents": [
        "16558ea318c3cf25a945fc1771572f489763527e"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Feb 03 15:05:43 2016 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Feb 03 15:45:39 2016 -0800"
      },
      "message": "mediaex: arm: add syscalls for debuggerd attach\n\nSilent crashes and empty bug reports are not useful.\n\nBug: 26580739\nChange-Id: I436d9b4af488158d75b277c228598335acd7a5b3\n"
    },
    {
      "commit": "f8e187c67b951b3382d224b395f5bfcf5e469c53",
      "tree": "2ca3aaa117c5c4dfb77b5dd3427680f6da9dc1e3",
      "parents": [
        "60ff9e5543ea1adada1d2c2a043d20aadbd30171"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jan 15 10:01:47 2016 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jan 15 10:01:47 2016 -0800"
      },
      "message": "mediaextractor: allow rt_sigprocmask syscall\n\nChange-Id: I551b34565305bb72a105789a29f9793cbd653ad1\n"
    },
    {
      "commit": "74a930b2bb7c61c25232c4f06b67abdbeaca8116",
      "tree": "76bdd4368b4f103c386b6d7be9a7e9fa73cc4d87",
      "parents": [
        "e1c8f4e3c1b181a658f0bd69ee0b5a6de8309dc6",
        "95bab28c0e6d63c262131663184ea05ef4f5251b"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Jan 14 17:11:11 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 14 17:11:11 2016 +0000"
      },
      "message": "Merge \"mediaex: add seccomp filter for x86\""
    },
    {
      "commit": "aacf27a10488604ce755a79cd7744cca32725f80",
      "tree": "763019158c40b931e7ff2088e3e3e1c0475aedb8",
      "parents": [
        "6f6376b996fa46e5a853faeaf22e45d28d305192"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Jan 13 09:50:12 2016 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Jan 13 14:14:37 2016 -0800"
      },
      "message": "mediaex: reorder and reduce seccomp filter\n\nRemove syscalls that are only used before seccomp filter is applied.\n\nReorder filter based on syscall frequency using a much longer strace\nof mediaextractor and its children.\n\nChange-Id: I7e74e9dcbd0c197b0fe4a935f915feb14036b721\n"
    },
    {
      "commit": "95bab28c0e6d63c262131663184ea05ef4f5251b",
      "tree": "2264cd3ddc7333f47dfdc49d4cfaf4ed346f3646",
      "parents": [
        "6f6376b996fa46e5a853faeaf22e45d28d305192"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jan 08 09:02:40 2016 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Jan 13 14:00:28 2016 -0800"
      },
      "message": "mediaex: add seccomp filter for x86\n\nFilter organized by frequency of syscall for optimal performance.\n\nChange-Id: Ib774cd8e2cca9f2de50caefca7d7f09eeaa371f6\n"
    },
    {
      "commit": "6f6376b996fa46e5a853faeaf22e45d28d305192",
      "tree": "c9225f6bcb3a734009fb424783d7adf4dcaa2207",
      "parents": [
        "4a9fc960b75e0718193d0df91936b6c6bd4195ae",
        "88e25bfbf22f781225ba6284889194dac498fa4d"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Jan 11 16:24:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 11 16:24:59 2016 +0000"
      },
      "message": "Merge \"Revert \"disable seccomp\"\""
    },
    {
      "commit": "88e25bfbf22f781225ba6284889194dac498fa4d",
      "tree": "78b461038b8ee9ab49825d180c9d21347831c9a0",
      "parents": [
        "1ab2f2d0a6208ec9b6bb7e8b130efa9b70737f98"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Jan 11 16:20:21 2016 +0000"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Jan 11 16:20:21 2016 +0000"
      },
      "message": "Revert \"disable seccomp\"\n\nConfirmed that libminijail checks for seccomp support in\nkernel before attempting to apply a filter.\n\nThis reverts commit 1ab2f2d0a6208ec9b6bb7e8b130efa9b70737f98.\n\nChange-Id: I33a412bf9c836ca56669bb83506a8774f6607188\n"
    },
    {
      "commit": "4a9fc960b75e0718193d0df91936b6c6bd4195ae",
      "tree": "aece4b0ce4e92543c986866168890ce48d3f41e8",
      "parents": [
        "1ab2f2d0a6208ec9b6bb7e8b130efa9b70737f98",
        "1a6f80163747fdb5a30c97996a4de7c2b71f9396"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Jan 09 05:56:53 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 09 05:56:53 2016 +0000"
      },
      "message": "Merge \"Don\u0027t continuously rebuild mediaextractor\""
    },
    {
      "commit": "1a6f80163747fdb5a30c97996a4de7c2b71f9396",
      "tree": "6043fef7287f14ebc7ee9bd2a13f713337e7cd81",
      "parents": [
        "a3e696da3872250bca66a62d93a3b6114e20c27d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Jan 08 21:32:47 2016 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Jan 08 21:32:47 2016 -0800"
      },
      "message": "Don\u0027t continuously rebuild mediaextractor\n\nUse LOCAL_REQUIRED_MODULES instead of LOCAL_ADDITIONAL_DEPENDENCIES to\nremove the dependency on a phony module. LOCAL_ADDITIONAL_DEPENDENCIES\nalso rebuilds the objects when the dependency is dirty, instead of just\nmaking sure mediaextractor-seccomp.policy is installed.\n\nChange-Id: I0d21d4e874b55eadaf5dfb395a85c987392250b3\n"
    },
    {
      "commit": "1ab2f2d0a6208ec9b6bb7e8b130efa9b70737f98",
      "tree": "577c6a43d73553ccf59462d7c048369708133dde",
      "parents": [
        "64f1901bdddf464c8f29bed34e3449762873b3e9"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jan 08 16:38:21 2016 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jan 08 16:39:27 2016 -0800"
      },
      "message": "disable seccomp\n\nTemporarily disable seccomp filtering.\n\nChange-Id: Ibf7d01f33359be7f15eddefd5cc4ca685cc8971e\n"
    },
    {
      "commit": "38b85c29b5be56e660b162da8a13129ac20f8daf",
      "tree": "f4a323bf66ef1ce1ba10f14b8265cbe063d6ef7b",
      "parents": [
        "c315acb97bbf3eff3074ac6142d138ab821b63c6"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jan 08 13:53:25 2016 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Jan 08 14:36:50 2016 -0800"
      },
      "message": "mediaextractor: allow sched_setscheduler syscall\n\nAddresses:\n01-01 00:00:16.942  1583  1621 W media.extractor: libminijail: blocked syscall: sched_setscheduler\n\nBug: 26465420\nChange-Id: Ia00d8484cd0253de203ca62437b1189847d0321d\n"
    },
    {
      "commit": "125c04575a480044e51de97889a2cb844bcab84c",
      "tree": "0855e97a0f7cac790496c1903c555d07298e1fff",
      "parents": [
        "cbc455fb4271653442a752030232f00115c0dfe1"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Dec 11 15:22:00 2015 -0800"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Dec 17 13:32:31 2015 -0800"
      },
      "message": "mediaex: apply seccomp filter\n\nWe can safely reduce the number of accessible system calls from ~250\ndown to ~30.\n\nThis commit adds a seccomp filter for arm/arm64 devices. Mediaextractor\nruns as a 32 bit process so the same filter is used for both arm and\narm64 devices. The filter is arranged by frequency of the systemcall to\nprovide the best performance.\n\nMost system calls are whitelisted without argument inspection. The\nexception is the socket syscall where the first argument is checked to\nensure only domain\u003dAF_LOCAL sockets are allowed - used for logging.\n\nVendor additions may be appended to the default filter by creating\nmediaextractor-seccomp.policy file and pointing BOARD_SECCOMP_POLICY\nto the directory where it resides. For example:\n\ncreate: device/\u003coem\u003e/\u003ctarget\u003e/seccomp/mediaextractor-seccomp.policy\n\nwith the necessary syscalls. set:\nBOARD_SECCOMP_POLICY\u003ddevice/\u003coem\u003e/\u003ctarget\u003e/seccomp\nin the device\u0027s BoardConfig.mk\n\nChange-Id: I384a43beaa18f10081c15320a795d9d9d0180de4\n"
    },
    {
      "commit": "ebab3587f58316cdb488d44b9c17c35382fc8473",
      "tree": "acb39d7caff2f04fe227c4f081fcdd87a0dcf356",
      "parents": [
        "37d887e1ea2235f40717ed13214406446217ef80"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 04 09:56:21 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 04 09:56:21 2015 -0800"
      },
      "message": "Remove unused method\n\nChange-Id: I1732bf5a011b052588b5fa4f41d4723a1af8d320\n"
    },
    {
      "commit": "b2487f03f12dcafdb801fc0007c8df8412397f44",
      "tree": "4fac81f0fed0d22a1ff36e884ce1825561b5226d",
      "parents": [
        "f8e21a06c1b559757f1c6846b1a1abd29874cbeb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 01 13:23:23 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 28 07:43:19 2015 -0700"
      },
      "message": "Extractor service\n\nRun extractors in a separate process. Currently all data is copied through a\nbinder transaction, and WVMExtractor is still run in the mediaserver process.\n\nChange-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13\n"
    }
  ]
}
