)]}'
{
  "log": [
    {
      "commit": "0fe4c4795015357290b098715f6d3cd17cf554df",
      "tree": "cb9fb49616e0ff7890359f7eefb6563d25426934",
      "parents": [
        "8d14f5ccff2440f39630965486e9601ab6d007b6"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 08 21:51:46 2019 +0000"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 08 14:56:30 2019 -0700"
      },
      "message": "Revert \"Revert \"Remove direct libgui reference from omx server side\"\"\n\nThis reverts commit b4979c59d93a6ca2be7e65489fc39896bfdc2c96.\n\nReason for revert: reland with fixes:\n1) make OMXHarness use OMXClient, not directly IOMX wrappers.\n2) fix ref of consumer listener interface in GraphicBufferSource.\n\nbug: 129272021\nTest: camera recording, aosp_x86 build\n\nChange-Id: Idaaaf412c65cbe89c95a2cb54f3833ff1fc4c304\n"
    },
    {
      "commit": "b4979c59d93a6ca2be7e65489fc39896bfdc2c96",
      "tree": "3da5a8d97ee8f37f4f480ad80104b6f77d3bcd87",
      "parents": [
        "482f60ccccc12e6afe24f9ba503496ce65d1ba43"
      ],
      "author": {
        "name": "Sung-fang Tsai",
        "email": "sungfang@google.com",
        "time": "Sun Apr 07 00:29:22 2019 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Apr 08 10:32:03 2019 +0000"
      },
      "message": "Revert \"Remove direct libgui reference from omx server side\"\n\nThis reverts commit 482f60ccccc12e6afe24f9ba503496ce65d1ba43.\n\nReason for revert: b/130058749 camera recording hang\n\nBug: 130058749\nChange-Id: I358bc9c62c48328c01c8611c7e6f77d16affff54\n"
    },
    {
      "commit": "482f60ccccc12e6afe24f9ba503496ce65d1ba43",
      "tree": "90e04135449e80434f0b399d0e33d91bfce1de20",
      "parents": [
        "6e38e1a2b74bd2ed304080b1dca1f77b1053dada"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 21 16:41:28 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 05 18:12:10 2019 +0000"
      },
      "message": "Remove direct libgui reference from omx server side\n\n- Make mediacodec service/libstagefright_omx not dependent\non libgui. Server should only reference bqhelper (which\ncurrently still have a dependency on libgui, but could be\nremoved later as it\u0027s only used internally).\n\n- Make libmedia_omx not dependent on libgui by moving the\nIOMX wrapper code into a separately that\u0027s only used by\nthe platform.\n\n- Move ConsumerListener references in GraphicBufferSource\nto implementation only, so that other libs including\nGraphicBufferSource doesn\u0027t need to link libgui.\n\n- Remove bqhelper references from some client side libs.\n\n- Remove IOMX ipc related code, as IOMX interface is no\nlonger used for ipc. It\u0027s only used as an interface on\nclient side.\n\nbug: 129272021\ntest: builds;\natest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\n\nChange-Id: I49d80bf72eba325ee80b223d4a5ba7b0c1ab4d35\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": "48616156f80645f6a751f52c0f12d2e4a914c2b4",
      "tree": "350fa534853421b6b92206859b746f05fbc88692",
      "parents": [
        "60c73a445b632cc2e233b1a275efeee7414a41a4"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Feb 21 06:28:10 2019 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Mar 19 06:52:35 2019 -0700"
      },
      "message": "Export libgui headers from media modules\n\nlibstagefright, libmedia_ndk and libmedia_omx\n\nAlso, fix the reference to HGraphicBufferProducer in\nAImageReaderWindowHandleTest.\n\nTest: Builds\n\nBug: 112508112\nChange-Id: I2ce0e4fd395a0c733aaf98b7397d7183c7475672\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": "03852c673804159db10b015adedb2844f7478804",
      "tree": "e92e6bc6f876fdaaa07c2975d0e34a7ffe38d5f5",
      "parents": [
        "ea69bfb0f5b3fc247882355b919a3076e4992694"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 25 13:48:14 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 25 14:25:51 2019 -0800"
      },
      "message": "Remove static linking of libstagefright and libmedia_helper from libmedia2_jni\n\nTest: build and boot\nBug: 126159708\nChange-Id: Iac1b4c123a985f6f7f6f88efe320f49981c793f4\n"
    },
    {
      "commit": "605a7af4213ed0b4eed0e2b2b69be738f965535d",
      "tree": "34f019068aea3a13db68fb5e57118a66afadb24f",
      "parents": [
        "ecfbd58de82bfa2af715464045a7e5468b785f83"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Fri Jan 18 18:06:49 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Feb 12 09:54:48 2019 +0900"
      },
      "message": "Mark libs as double_loadable\n\nlibs (libmedia_helper, libstagefright_omx_utils, libstagefright_xmlparser)\nare VNDK and also used by LLNDK(libmediandk) which means these libs can be double-loaded.\n(deps:\n - libmediandk -\u003e libmedia -\u003e libaudioclient -\u003e libmedia_helper\n - libmediandk -\u003e libmedia_jni -\u003e libstagefright -\u003e libstagefright_omx_utils\n - libmediandk -\u003e libmedia_jni -\u003e libstagefright -\u003e libstagefright_xmlparser\n)\n\nBug: 121280180\nTest: m -j\nChange-Id: Ibbf5dede1f503e86484f805b252d4ced779445cb\nMerged-In: Ibbf5dede1f503e86484f805b252d4ced779445cb\n"
    },
    {
      "commit": "2334e00184aea8b124789a04b92dc2180dbc7df7",
      "tree": "091b154e7edaa152d2c6c61e27fae8524e3edfc9",
      "parents": [
        "5a9b492828f9bc0d04e1292add45a271e0189c4e"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Fri Jan 18 18:06:49 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Feb 11 14:12:29 2019 +0900"
      },
      "message": "Mark libs as double_loadable\n\nlibs (libmedia_helper, libstagefright_omx_utils, libstagefright_xmlparser)\nare VNDK and also used by LLNDK(libmediandk) which means these libs can be double-loaded.\n(deps:\n - libmediandk -\u003e libmedia -\u003e libaudioclient -\u003e libmedia_helper\n - libmediandk -\u003e libmedia_jni -\u003e libstagefright -\u003e libstagefright_omx_utils\n - libmediandk -\u003e libmedia_jni -\u003e libstagefright -\u003e libstagefright_xmlparser\n)\n\nBug: 121280180\nTest: m -j\nChange-Id: Ibbf5dede1f503e86484f805b252d4ced779445cb\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": "69b73291138bf97fcdf09a4320e77f28568cf874",
      "tree": "5f6f2e069accd87b1d0ec04af4a67cd73d9f936b",
      "parents": [
        "0dd741827750e4163fb618e817b51088badb65ad"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 05:34:47 2019 +0000"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 05:44:51 2019 +0000"
      },
      "message": "DO NOT MERGE: Revert \"Revert \"Add libprocessgroup dependency and fix sched_policy include\"\"\n\nThis reverts commit 7194e6da8a37a0e222b2f81e2d55a8013e657a13.\n\nReason for revert: AOSP is fixed with new vendor image\n\nChange-Id: I15797a30abcc304379db05bec1b25a0bd95b2ff4\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "7194e6da8a37a0e222b2f81e2d55a8013e657a13",
      "tree": "c0a7b13fc0c2db08e5884f2cf598708aebecde70",
      "parents": [
        "855ae44d9f4acc7ac8720464ef94d159c9063e8b"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jan 23 20:58:02 2019 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jan 23 20:58:22 2019 -0800"
      },
      "message": "DO NOT MERGE: Revert \"Add libprocessgroup dependency and fix sched_policy include\"\n\nThis reverts commit 26992263865c4b30d733b1cdc0efce0d3db7d5c9.\n\nReason for revert: Broke AOSP\n\nChange-Id: Icdd182baad6a81b8fdbfd862b7eb3aada282f42f\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "26992263865c4b30d733b1cdc0efce0d3db7d5c9",
      "tree": "dcdf65d9af6cd566721cd37282b4c759e818ee42",
      "parents": [
        "4162cd732558f2e4fb1c9bf70da3e87ba23523fc"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Dec 19 17:09:28 2018 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Sun Jan 20 22:05:52 2019 +0000"
      },
      "message": "Add libprocessgroup dependency and fix sched_policy include\n\nlibaudioclient and libmedia are using get_sched_policy and\nset_sched_policy which are now implemented inside libprocessgroup.\nAdd required dependencies and include required headers.\n\nExempt-From-Owner-Approval: janitorial\n\nBug: 111307099\nTest: builds, boots\n\nMerged-In: I83dd6878839122e3ea71b7be6f6f312376897d56\nChange-Id: I83dd6878839122e3ea71b7be6f6f312376897d56\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "7435e7da371e60bed90909be6cc57a3f111fb6b4",
      "tree": "70b40fae27adde22ca7b1b9f57120fd7957cfc22",
      "parents": [
        "aa1523c14af06a2f213e570d12ce01b71422b26a"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Dec 19 17:09:28 2018 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 18 02:37:14 2019 +0000"
      },
      "message": "Add libprocessgroup dependency and fix sched_policy include\n\nlibaudioclient and libmedia are using get_sched_policy and\nset_sched_policy which are now implemented inside libprocessgroup.\nAdd required dependencies and include required headers.\n\nExempt-From-Owner-Approval: janitorial\n\nBug: 111307099\nTest: builds, boots\n\nChange-Id: I83dd6878839122e3ea71b7be6f6f312376897d56\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "54c88096751d736a4b91d1f3eb0c6e0d5c3470ea",
      "tree": "4be4375a8807d2f540eace2bc32cedce62462b85",
      "parents": [
        "cccfb3fe54e4d45a6f02e197765eebfbd5926c34"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 11 14:06:15 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 16:59:13 2019 +0000"
      },
      "message": "Remove libmediaextractor\n\nMove DataSourceBase and MediaSource to libstagefright, and\nMediaBuffer, MediaBufferGroup and MetaData to libstagefright_foundation.\n\nTest: build\n\nChange-Id: I4f0ae01d40a32f4b773a2f74d5f2ae136e375322\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": "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": "5dcd67b8459dfa3530c2b545193f02ebb54dece5",
      "tree": "26f7b90273586f8b9d16469217b5078352bece99",
      "parents": [
        "c6b48fe6272db5d3ca910598565c2b48b547ce7f"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Dec 11 10:50:13 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Dec 11 13:24:16 2018 -0800"
      },
      "message": "Keeping AMediaExtractor_disconnect() where it is used.\n\nThis private API will be replaced with public API soon.\n\nTest: make checkbuild\nMerged-In: I083b85c31e42f7ddd4b2da365557e3d9251f8777\nChange-Id: I6a9868fd1cf73f578a15e86b43f5ef049babd9ad\n"
    },
    {
      "commit": "df7d3e08762a077ec6d5c909129472100c9a6649",
      "tree": "c5b6e36454a1d838d7ac56fb52c1a7cc5754cff8",
      "parents": [
        "0209452544dfd347de2ddb4e8cfaf89f51bc039c",
        "6671ea8a46da5cbeaba2da4c623353441758cf50"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 17:16:25 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 06 17:16:25 2018 -0800"
      },
      "message": "Merge \"Remove CFI diagnostics.\" am: 64ac8c6301 am: b89b976d77\nam: 6671ea8a46\n\nChange-Id: I4de33cfd8451cceab9ca234d884522e6e9489b08\n"
    },
    {
      "commit": "db19f572b941e62ffd688f2198da122977c55a28",
      "tree": "3713ab1298069be97a599b88c5cae6ef0900bee8",
      "parents": [
        "8c545704ea199e13c23f47cd8f4067bcdc25071f"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 10:33:28 2018 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 10:53:33 2018 -0800"
      },
      "message": "Remove CFI diagnostics.\n\nRemove diagnostics mode from CFI across the board. This should reduce\nperformance overhead and also allows the minimal runtime to work when\nother ubsan sanitizers are enabled. CFI stack dumps should include a\ncfi related function, so it should be apparent when a crash is CFI-related.\n\nBug: 117417735\nTest: make -j\nChange-Id: Id2cb6cb64425c4c89c031d93156fb1a20be5fa7b\n"
    },
    {
      "commit": "4d432f1d0b33b54e49fc21fd583f57e1e86966f1",
      "tree": "f07a3a595d607b972043218c33337c5a81414b3f",
      "parents": [
        "69c9844bed34c367224d5f6219e8410664b2119b"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Nov 01 12:29:06 2018 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Nov 02 20:04:14 2018 +0000"
      },
      "message": "AMediaDataSourceWrapper: keep DataSource sp alive\n\nBug: 118506674\nTest: android.media.cts.MediaPlayer2Test#testConsecutiveSeeks\nChange-Id: Iafa26d6a0fa6ad4aa7dee696fff1673075e51624\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": "5dcf85aa7666bf7efb5472e49c14c97c7b1bcefc",
      "tree": "d79d9f3603a571b14fdd5e7de9811ee14826331f",
      "parents": [
        "1e91e0ea18e4c267b54ae2e14c8c9f0a013188a7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 11 09:49:02 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 11 10:57:13 2018 -0700"
      },
      "message": "Use media_status_t instead of status_t in extractor interface\n\nBug: 111407253\nTest: CTS\n\nChange-Id: Iabf0e033f553a398b70bdf616261fbdabc6f71f8\n"
    },
    {
      "commit": "56f1938e514594c41f04ee3a7d9b84deef265eb7",
      "tree": "d27e46b08f0d1653282b66f9d56442738866016c",
      "parents": [
        "f441367a5fde9d08788797c4daccd717ce1a7609"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 12 15:30:59 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 02 14:14:31 2018 -0700"
      },
      "message": "Support extractors that use AMediaFormat for metadata\n\nSupport secondary plugin API that uses AMediaFormat so plugins can be gradually\nchanged over to it.\n\nBug: 111407253\nTest: CTS, manual\n\nChange-Id: I25de3cb9463ca3b91370cecd16c80915d6407daf\n"
    },
    {
      "commit": "2a3363ad85d82a8dfa89573d0d84898cb8bb8727",
      "tree": "3e9be93220d9925d70e82a416211bdece2d9b341",
      "parents": [
        "f7f463120abca9a0050f3e82b0ebd222410e141b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 13 13:15:30 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 28 16:07:44 2018 -0700"
      },
      "message": "C-ify MediaTrack\n\nAdd C-API replacement for MediaTrack in extractor plugins.\nMove MediaTrack from libmediaextractor.so to libmedia.so\n\nBug: 111407253\nTest: CTS, manual\n\nChange-Id: I3407e903fe41a2d7b7233538808281fce318c27a\n"
    },
    {
      "commit": "a77c9edb91589d8673d3af6e2243b6f087430a11",
      "tree": "a7fdc9df8701f5b9c664e8e78693df636e4fd027",
      "parents": [
        "94afc302956ed4a150db2488c031f37d0b8acf14",
        "92d2576a31abdb7e84b16370a5579e2d1f728145"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Sep 21 15:29:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 21 15:29:37 2018 -0700"
      },
      "message": "Merge \"Suppress implicit-fallthrough warnings in mediarecorder.\" am: fd53bf2f59 am: 5c1de015ad\nam: 92d2576a31\n\nChange-Id: I5bd4471c15c08216583d12e9e5bb281053794580\n"
    },
    {
      "commit": "38bdd657aee952ee5f9699fd8ddf4b5e156a3904",
      "tree": "c9bcf7f7ee92fe5e81a9475ae8364728b105a592",
      "parents": [
        "48f698163f6853837a98b7b1afe9238ba4de74cb"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 13 14:26:05 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Sep 21 17:50:41 2018 +0000"
      },
      "message": "Suppress implicit-fallthrough warnings in mediarecorder.\n\nAdd FALLTHROUGH_INTENDED for clang compiler.\n\nBug: 112564944\nTest: build with global -Wimplicit-fallthrough.\nChange-Id: I42918227a55029f46362d448c496012de9ad3670\n"
    },
    {
      "commit": "98603d8711b10969ba770fbb19774201212207a1",
      "tree": "f4cbd7d89e49d348ec4f42e32c45509b2acbcefa",
      "parents": [
        "ddc47d47a956e7b67449f2345ccf481e025ca62d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jul 17 11:06:55 2018 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 09:43:09 2018 -0700"
      },
      "message": "Add AMediaFormat functions to clear and copy\n\nAlso move NdkMediaFormat internals to libmedia to avoid a future circular\ndependency between libmedia and libmediandk.\n\nBug: 111407253\nTest: build, boot, play some files\n\nChange-Id: I54d91439f216c3834726e5505afef40dc0d93e67\n"
    },
    {
      "commit": "39b09b52e313e89c3493927b379d2e256bf04bd9",
      "tree": "04e64f327c09b0d3344884d59c35ff520c751e3e",
      "parents": [
        "cd56a1c2a0adcd21aad3a64c761aa3562d915be1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 29 12:24:40 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 10 09:02:26 2018 -0700"
      },
      "message": "audioserver: log system event for binder timeouts\n\nAdd event logging in case of audioserver watchdog to help\ncollect statistics.\n\nTest: make. Simulate watchdog and check events in logcat.\n\nChange-Id: I4716852c77d56703ad5f3dfc2500f598a2b80a12\n"
    },
    {
      "commit": "f7d141320f508441a5323a11c2808e4a1c06129a",
      "tree": "5b1bc31aa6a2d439313db6ff8bff495fcd040d9f",
      "parents": [
        "ade178f6158d2daffd50b632d3589e782371d1c0",
        "72675e932bce9b96731ee57a57d63de617c5a5f5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 25 17:09:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 25 17:09:42 2018 -0700"
      },
      "message": "Merge \"stagefright: pass HIDL backed persistent surface cross binder\" into pi-dev am: 55c07b0d4b\nam: 72675e932b\n\nChange-Id: If19bf075d126ed7edf734378c5b7ae4a4d5b7d1c\n"
    },
    {
      "commit": "72675e932bce9b96731ee57a57d63de617c5a5f5",
      "tree": "c5d24300f76369012496eca65456aab4d71dab88",
      "parents": [
        "7375a4732cb2c5a3d7b6fd2ceec75ed26643953d",
        "55c07b0d4be9c5e128524e75e901099bd115b6e2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 25 17:05:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 25 17:05:10 2018 -0700"
      },
      "message": "Merge \"stagefright: pass HIDL backed persistent surface cross binder\" into pi-dev\nam: 55c07b0d4b\n\nChange-Id: I274bc3fe6905f82795166b32d6fefcc30b57a674\n"
    },
    {
      "commit": "79c49ae0bdaaee24d7dc26b6658acfab27274b22",
      "tree": "45481f8ff81c74795383a9296bba640ec8f21277",
      "parents": [
        "d3663c97fb8bd44877e07a753a12b838a780b69c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 24 23:40:20 2018 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 24 23:41:57 2018 -0700"
      },
      "message": "stagefright: pass HIDL backed persistent surface cross binder\n\nBug: 67591367\nChange-Id: I20b70813a96c65822c35240448fafa9e5c749ae1\n"
    },
    {
      "commit": "b1243bf60d3a4ee226bc33bf449c4624133958a2",
      "tree": "addca1cbc4350e9b85663eadffa0e496f2c70783",
      "parents": [
        "b5bffacf0b3930c17c50005d0102bff0ca012309"
      ],
      "author": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Mon May 21 09:08:22 2018 -0700"
      },
      "committer": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Mon May 21 09:09:33 2018 -0700"
      },
      "message": "libmedia_helper export headers\n\nHave libmedia_helper export libmedia_headers so that future clients\nwon\u0027t need to explicitly include them.\n\nBug: 80076889\nTest: sdk_google_iot_x86 builds.\n\nChange-Id: Iac6e1237f10b461dbcd72370be843634aaff431d\n"
    },
    {
      "commit": "b3358a7f9b36f15314d8ffcfcb5107598c8b8cc6",
      "tree": "8830c2f4cc67193df67ed5ace215189b89812d20",
      "parents": [
        "f4f01aafa5d45d2c5b1acb80bba9fcaa64e70e61",
        "1ec43c9c3e6a486cd2d1438f158eea1a27bb6007"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Apr 21 11:40:21 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Apr 21 11:40:21 2018 +0900"
      },
      "message": "resolve merge conflicts of 1ec43c9c3e6a486cd2d1438f158eea1a27bb6007 to pi-dev-plus-aosp\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ia022f34c839539aab4a18ca331f22165d1abfaff\n"
    },
    {
      "commit": "5cfc4d847767a3c61222a930e563b2a401e605c1",
      "tree": "ebffcbde0789f21f28b3cf9cf45e0ba9b8fe4da2",
      "parents": [
        "cdad96c69d9f7ba23bdb4127c90ebfcc5c05ab71",
        "fcd1537dcd1e974ec9b204cc4ce3ab4a8aec09b1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 00:25:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 00:25:05 2018 +0000"
      },
      "message": "Merge \"Mark libmedia_omx and libstagefright_foundation as double_loadable\""
    },
    {
      "commit": "0478ef866b9afa136c3dc91e913dae13c609eb76",
      "tree": "55d7186d1177fafdee5f5a7de3ffbee69db77b67",
      "parents": [
        "91a45a421b3598e3519a3d459957959e94b4d3c1"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 09 12:13:06 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 18 11:46:51 2018 +0900"
      },
      "message": "Mark libmedia_omx and libstagefright_foundation as double_loadable\n\nThese two are explicitly marked as double_loadable since they are one of the\ndependencies of the LLNDK library libnativewindow (libmediandk)\nand at the same time the lib themselves are marked as VNDK. Such libs can be\ndouble loaded inside a vendor process.\n\nNote: even without this change, the library is already capable of being\ndouble loaded due to the dependency graph around it. This change is to\nmake it explicit so that double loading of a library is carefully\ntracked and signed-off by the owner of the lib.\n\nBug: 77155589\nTest: m -j\nMerged-In: I38e3ff4a76930a99a04f3dbc53a2dcfea18de8f3\nChange-Id: I38e3ff4a76930a99a04f3dbc53a2dcfea18de8f3\n(cherry picked from commit fcd1537dcd1e974ec9b204cc4ce3ab4a8aec09b1)\n"
    },
    {
      "commit": "fcd1537dcd1e974ec9b204cc4ce3ab4a8aec09b1",
      "tree": "bbf6e6be11cd9c6da98311a546d8f0dc24b22823",
      "parents": [
        "0daba5715131283d8066950c02ce742b2a6ec71d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 09 12:13:06 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Apr 10 13:16:46 2018 +0900"
      },
      "message": "Mark libmedia_omx and libstagefright_foundation as double_loadable\n\nThese two are explicitly marked as double_loadable since they are one of the\ndependencies of the LLNDK library libnativewindow (libmediandk)\nand at the same time the lib themselves are marked as VNDK. Such libs can be\ndouble loaded inside a vendor process.\n\nNote: even without this change, the library is already capable of being\ndouble loaded due to the dependency graph around it. This change is to\nmake it explicit so that double loading of a library is carefully\ntracked and signed-off by the owner of the lib.\n\nBug: 77155589\nTest: m -j\nChange-Id: I38e3ff4a76930a99a04f3dbc53a2dcfea18de8f3\n"
    },
    {
      "commit": "4c7a5b9d96c16e31a233549ff2d2ddb92d58540c",
      "tree": "3398bc9a5bcb530240eec03d586a5c0ef49f4da4",
      "parents": [
        "c7e85481ec848d4ae91a96fc6ddcec76a5d8de20"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Mar 30 18:53:29 2018 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Apr 07 01:08:28 2018 -0700"
      },
      "message": "Prevent NOT_ENOUGH_DATA from entering HIDL\n\nTest: Test: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nBug: 70527635\nChange-Id: I06defaded09f2bdac3a6ac48a48cf25cb211a672\n"
    },
    {
      "commit": "3528c9330f481f236f16753cb0846c7d6ddcc7ee",
      "tree": "3fb6f04c3842c26e81a68fb847596aa237b713d9",
      "parents": [
        "12cc6e7a4162ea4137f9082a3e0fea551b21aae3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 23 17:17:22 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 22 10:02:49 2018 -0700"
      },
      "message": "audio services: monitor execution time for binder commands\n\nAdd a mechanism to monitor execution time of incoming binder\ncalls to audio flinger and audio policy and cause native audioserver\nrestart in case of timeout.\n\nBug: 69250055\nTest: manual. audio smoke tests\nChange-Id: I01b5bf2599fb2a4cd265cbbe8d4e34b2b059aaf4\n"
    },
    {
      "commit": "51b6956bc8e09eb2237a10a401baebb35096e6ab",
      "tree": "dfec915d73c7795b3b115037555c2160ebe69c72",
      "parents": [
        "65fdcf74e09717b6e67fa90ff78af45f2c9414cc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Feb 05 16:17:13 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Feb 05 16:22:13 2018 -0800"
      },
      "message": "MediaPlayer2: move MediaPlayer2 native code to libmediaplayer2\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: Ibec6d15524510a4d8618d1f684456c6c24b79828\n"
    },
    {
      "commit": "c2636035f0a7990cf9da95d2531f9f1c03b8c172",
      "tree": "079818a0f400ab799c797860707c945e3ecc3199",
      "parents": [
        "4b8dbfc9e85ca7c2cc4acdcddca997f197fee718"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 01 09:15:25 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 01 10:30:36 2018 -0800"
      },
      "message": "MediaPlayer2: add native DataSourceDesc.\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: Idd5bda81c2cc26c7aac8e64a21ccc2f6b3ac8a39\n"
    },
    {
      "commit": "678c54ce82b41e3232c9e0c96cd84323fff653b2",
      "tree": "e4be5626a611958253584d3eb084f3de6312ced2",
      "parents": [
        "d21fb560b26be64a588ff96979022ae4d52f5d3a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 29 18:30:07 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 29 18:30:07 2018 -0800"
      },
      "message": "MediaPlayer2: remove factory\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: Idc6fb33b4bb69bb65dca34d2b8fc9e3595a05774\n"
    },
    {
      "commit": "34abab103a6eb3fc7417c9e9169ee172b2303952",
      "tree": "df4065ab25ab83d7380715b42ad7c79d0d436873",
      "parents": [
        "fe4e4db4615585fd70a55d52f21c55dd517d2bfa",
        "07be14fb96fc5c106ea2b874faf2b768f468eb8e"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:26:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 06:26:16 2018 +0000"
      },
      "message": "Merge \"Revert \"Audio V4: Split system and vendor Audio.h\"\""
    },
    {
      "commit": "07be14fb96fc5c106ea2b874faf2b768f468eb8e",
      "tree": "01cd8f75542d7581505bef8a5b9e2f09790ac0e1",
      "parents": [
        "f8ad7f85e9891b2614338330c75ae9e946fccc5a"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "message": "Revert \"Audio V4: Split system and vendor Audio.h\"\n\nThis reverts commit f8ad7f85e9891b2614338330c75ae9e946fccc5a.\n\nReason for revert: Breaks the build of multiple devices\n\nChange-Id: I24f17a0fa0c7ba171c4a3639f890e7f4e42f6b1e\n"
    },
    {
      "commit": "6a784e71ca122347789faa73367877d41831592f",
      "tree": "de25d71706442e18346a5785f4174aba5604454d",
      "parents": [
        "f7a14c051ee9bd5f288963f3c190642e4915250b",
        "f8ad7f85e9891b2614338330c75ae9e946fccc5a"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 04:04:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 04:04:48 2018 +0000"
      },
      "message": "Merge changes from topic \"audio-hal-v4-tmp\"\n\n* changes:\n  Audio V4: Split system and vendor Audio.h\n  Audio V4: Use the framework audio.h instead of the HAL\u0027s\n"
    },
    {
      "commit": "4049f13fb3d1c588d3e4dc518ede15d45dca4c9e",
      "tree": "3f0566fb3f3f9cb441e3b466f95341c600c9c1ef",
      "parents": [
        "205266aacc675dfb7a7f9f985c4ca973163cb59e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 22 10:37:31 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 22 18:48:46 2018 -0800"
      },
      "message": "MediaPlayer2: build static libs for some components\n\nTest: compiles\nBug: 63934228\nChange-Id: I1791b40a67c87ea3146825767699e5022444e433\n"
    },
    {
      "commit": "f8ad7f85e9891b2614338330c75ae9e946fccc5a",
      "tree": "957d47ddc7419c688dda1d4c1ac3068eda6d894f",
      "parents": [
        "6d7582e9ad858301b3eeff7b187af6c34808cb7e"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 17 15:57:39 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Jan 20 21:39:40 2018 -0800"
      },
      "message": "Audio V4: Split system and vendor Audio.h\n\naudio.h and its dependencies (audio-effect.h, sound_trigger.h...)\nused to be shared between system and vendor code.\n\nThis led to multiple problems:\n\n1) Such sharing contradicts the Treble policy of\nstrict independence of framework and vendor code.\n\n2) When audio.h was changed, every vendor needed to update\nits code in the next release. This meant that audio*.h\nheaders were mostly changed in backward compatible manner.\nNevertheless, for P the HIDL interface and thus the audio.h\ninterface are changed in backward incompatible way.\n(Some enum are becoming 64 bit long).\n\n3) As the headers were common, some API used only by the framework\nneeded to be visible to the vendors (mostly enum values).\n\n4) Treble policy is to support at least one previous HAL version\n\nAs a result the audio*.h headers are now duplicated,\none set for the framework, and one for the vendor.\n\nEach set will evolve independently. After this split,\nthe framework-only APIs will be removed from the vendor headers\nand vice versa.\n\nThe split is implements as such:\n\n + for system code\n\n    - NOT moving the libaudio_system_headers\n      Eg: system/audio.h and system/audio_effects/effect_equalizer.h\n          are still in system/media/audio\n\n    - the legacy audio HAL API that were in libhardware headers\n          are now in libaudiohal_legacy_headers\n      Eg: hardware/audio.h and hardware/audio_effect.h\n          are now in frameworks/av/media/libaudiohal/legacy/\n\n + for vendor code\n\n    - moving libaudio_system_headers and the legacy audio HAL API\n          that were in libhardware_headers in\n          android.hardware.audio.common.legacy@2.0\n      Note that those headers are now versioned, so migrating to a @4.0\n          HIDL HAL will mean changing the legacy dependency too.\n      Eg: system/audio.h, system/audio-effect.h, hardware/audio.h\n          are now in hardware/interfaces/audio/common/2.0/legacy\n\n    - the legacy audio effect HAL API that was in libaudioeffects\n          is now moved in android.hardware.audio.effect.legacy@2.0\n      Eg: audio_effects/effect*.h are now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\n    - the legacy sound trigger HAL API that were in libhardware_headers\n          is now moved in android.hardware.soundtrigger.legacy@2.0\n      Eg: hardware/sound_trigger.h is now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\nlibaudioutil being used by both system and vendor, had\nto be renamed for system to libaudioutil_system.\n\nVendor libs that now depend on the audio.h of a specific\nversion and are not extensively referenced in non google code,\nappend @2.0 to their name.\n\nNote that headers that are not expected to change in the 4.0 HAL are\nleft in all-versions folder to avoid duplication.\nThis is an implementation detail as the versioned libraries export\nthe all-versions headers.\n\nNote that strict vendor-system separation is enforced by the\nbuild-system. The system headers are not available for vendor\nlibs and vice-versa.\n\nNote that this patch is split between numerous git repository (\u003e10),\nall the commits having the same Change-id for searchability.\n\nNote that audio_policy.h is no longer exposed to vendors\nas the legacy audio policy HAL API was never officially supported.\nAs a result the audiopolicy stub implementation has been removed.\n\nTest: compile taimen-userdebug walleye-userdebug\n              sailfish-userdebug marlin-userdebug\n              gce_x86_phone-userdebug gce_x86_phone\n              full-eng aosp_arm aosp_x86-eng\nTest: check that the emulator booted and played audio\nTest: full QA on sailfish-userdebug and taimen-userdebug\nBug: 38184704\nChange-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "7ffa062a68c1b8ec41e79e480a23c01ab0b5d4a2",
      "tree": "8e3883ed00c46feae81fe33f553bdf2329014103",
      "parents": [
        "e18835269d8e875297603d889b3f928a13f93d6c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 15 16:07:12 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 18 12:43:27 2018 -0800"
      },
      "message": "Remove unnecessary exports from various libraries\n\nThis reduces library size by about 10-15%\n\nTest: build, run CTS\nChange-Id: I9ecb3f08a8bd6128e601656125e3523c0c52ddb6\n"
    },
    {
      "commit": "26477a994d438eb13569094a485093f25571374e",
      "tree": "7449073eecab24464d3a9947b7ae15dc5e29c019",
      "parents": [
        "f755f27697051d28556e7f23a38c8e4ec257d3d8",
        "fd328170d288e337cb779b2ef14f9e4c5e860c6a"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 17 07:31:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 17 07:31:19 2018 +0000"
      },
      "message": "Merge changes I30cb80e7,I790acca4,I51e05100\n\n* changes:\n  JAudioTrack: Add 6 more methods\n  JAudioTrack: Add 14 methods\n  Create constructor of JAudioTrack class\n"
    },
    {
      "commit": "660a74ebf0a8b5b6c79f9a016b202ccfaf815d3b",
      "tree": "f3f829a87ab0b3b8ad3a4d00cbeb826a5bd326b6",
      "parents": [
        "fddc1453b67977dac1c56f98399b6b988c232366"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Dec 13 11:29:45 2017 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 17 14:37:19 2018 +0900"
      },
      "message": "Create constructor of JAudioTrack class\n\nBug: 70363744\nTest: Built successfully (mmm libmedia -j48)\nChange-Id: I51e0510039fca2e84d1ced103fea62156cd1e5c2\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": "28288fb0b1da843cdd37edab0cdecff32abacdce",
      "tree": "918728942ac72639cdb27f1ad927ba8243e228bf",
      "parents": [
        "8074715204c83d00a340429cb4a41e52425c0a51"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Dec 15 13:45:29 2017 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Dec 20 14:54:42 2017 -0800"
      },
      "message": "MediaPlayer2: use ANativeWindow to replace Surface and IGraphicBufferProducer\n\nTest: MediaPlayer2 plays video files\nBug: 63934228\nChange-Id: Id655aa19125cfc5554dbf36c223d0a27318ebb24\n"
    },
    {
      "commit": "021c8bc0db0a8934881f99ce4926eb9e0f169f6a",
      "tree": "96beb207bbd52294243a35b2e8933f71f0e7f740",
      "parents": [
        "2ef26a0d04b9cc6cebbda733056e4ac09f738c61"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 13 14:38:49 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 13 14:40:19 2017 -0800"
      },
      "message": "Remove unnecessary links\n\nTest: build\nChange-Id: I5b7c37648df8043795bad9b0544ecf77a5148b69\n"
    },
    {
      "commit": "53692fa54d0bf1d69184035a4c05ea0601a09c14",
      "tree": "19eb348e35448717f1d2d1e45befd2146d7f79db",
      "parents": [
        "fde0931ffe3ceeb06bb61f90a4289691da9380a8"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Dec 11 10:33:46 2017 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Dec 11 13:58:47 2017 -0800"
      },
      "message": "NuPlayer2: fork the native code for MediaPlayer2\n\nForked from fec2f93fae282ad10bbb5e3fcce9f60eff2cfb48\nNuPlayer2Decoder uses NdkMediaCodec, NdkMediaCrypto.\nNuPlayer2Drm uses NdkMediaDrm.\nNo more IMediaHTTPService and IMediaHTTPConnection in NuPlayer2.\nTest: compiles\nBug: 69805888\n\nChange-Id: Ica3c168d40dcf114fb44e8688a9ede671e8d77ef\n"
    },
    {
      "commit": "e7b894297aebc24939ddfa632ea3dd2d405d9f93",
      "tree": "9ecbc48782ee462413281ecdf7f5b6b276e96eee",
      "parents": [
        "068fe16a1b8f511046ba787f33605c0ac64f1ab5"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Nov 16 19:33:39 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Nov 16 23:32:11 2017 -0800"
      },
      "message": "Remove dependency on non-Treble OMX\n\nThis essentially reverts commit ba40190c5e8d9bfe5b814984c6861809fea064bd,\nwhich was made originally for b/69110957.\n\nThe change in addition to reverting is the reordering of calls in\nmain_codecservice.cpp. This CL makes the call to SetUpMinijail() come\nbefore the call to ProcessState::self()-\u003estartThreadPool().\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: make vts -j123 \u0026\u0026 vts-tradefed run commandAndExit vts \\\n--skip-all-system-status-check \\\n--skip-preconditions -m VtsHalMediaOmxV1_0Host \\\n-l INFO\n\nBug: 67990472\nChange-Id: Ic62acf3ae1aa3f9249e5c3ce542fb4f95689704e\n"
    },
    {
      "commit": "ba40190c5e8d9bfe5b814984c6861809fea064bd",
      "tree": "f935c1e123522e1624163278a8b8564c71c9a394",
      "parents": [
        "77a5b891eb2c64246c82d695aac40c5312f0ff3e"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Nov 16 15:38:46 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Nov 16 23:57:36 2017 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Remove unused modules made for non-Treble OMX\"\"\"\n\nThis reverts commit 620e4667dc41e17e365615fda4507fa9f7267ca0, which was\nmade originally for b/67990472.\n\nBug: 69110957\n"
    },
    {
      "commit": "25a0160e3dfa126266cbe5d8e05c003798276a70",
      "tree": "7ac92c9e53ad197b928304ab34c9371a77468ce4",
      "parents": [
        "94d28be1805800764701225fcae696aa11dab93e",
        "620e4667dc41e17e365615fda4507fa9f7267ca0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 09 01:16:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 09 01:16:14 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Remove unused modules made for non-Treble OMX\"\"\""
    },
    {
      "commit": "8568cb93fc862312923b514b7f4052b9e67bd8ad",
      "tree": "b177247be333681954856c885b396bdfde3fb694",
      "parents": [
        "248c9ee9de29ec6177c39921492661edaee06382"
      ],
      "author": {
        "name": "Jae Shin",
        "email": "jaeshin@google.com",
        "time": "Mon Oct 30 11:13:36 2017 +0900"
      },
      "committer": {
        "name": "Jae Shin",
        "email": "jaeshin@google.com",
        "time": "Tue Nov 07 02:54:04 2017 +0000"
      },
      "message": "Remove libmedia_omx_defaults from libmedia\n\nlibmedia_omx_defaults includes source files and this default was\nused in both libmedia.so and libmedia_omx.so. This is an issue because\nlibmedia_omx and libmedia are both loaded in the framework process\nthrough dependency chains such as libstagefright -\u003e\nlibstagefright_omx_utils -\u003e libmedia_omx.\n\nTo fix the issue, libmedia_omx_defaults is removed from libmedia and\nlibmedia now depends on libmedia_omx. Other modules/libs that originally\ndepended on libmedia and need access to libmedia_omx_defaults\u0027 source\nfiles, now depend on libmedia_omx as well.\n\nBug: 67871061\nTest: mma -j and boot test\nChange-Id: I93a10df1fed3c7cea93b580d00f33ba749d80e95\n"
    },
    {
      "commit": "620e4667dc41e17e365615fda4507fa9f7267ca0",
      "tree": "bbeb8927781dba36cea9dd200e9be4f4279ef55e",
      "parents": [
        "ef9fc7792d4995da68cb71a3e9f2304e565a016d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Oct 27 00:12:47 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Oct 31 17:15:15 2017 -0700"
      },
      "message": "Revert \"Revert \"Remove unused modules made for non-Treble OMX\"\"\n\nThis reverts commit 85e88d9b45d4a9b0b012f81ac068d216f588caac.\n\nAlso, this fixes the crash that would happen on devices that do not have\nfull Treble enabled.\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: make vts -j123 \u0026\u0026 vts-tradefed run commandAndExit vts \\\n--skip-all-system-status-check \\\n--skip-preconditions -m VtsHalMediaOmxV1_0Host \\\n-l INFO\n\nBug: 68340092\nBug: 67990472\nChange-Id: I6d96cecb8eaa8691c4c0f15fe0c8e60d0c74b440\n"
    },
    {
      "commit": "85e88d9b45d4a9b0b012f81ac068d216f588caac",
      "tree": "1eb2868ab206357f4707667eb5def5106bbc04d4",
      "parents": [
        "442459bca04f95ef2acd34e3de01f55bd5ede132"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 26 16:16:55 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 26 16:17:25 2017 -0700"
      },
      "message": "Revert \"Remove unused modules made for non-Treble OMX\"\n\nThis reverts commit 37c79ffe2fa52a1eaa4db74b5e15c6d41646efbf\n\nBug: 68340092\nTest: revert\nChange-Id: If7736b745f981105bed4ffda2e63691d8862d259\n"
    },
    {
      "commit": "c62a59c4a1a94376af8a5c503983fe65e9b3aa59",
      "tree": "640e8aa96ba6ecbfd58d296d54d1d4fedf52c90b",
      "parents": [
        "7b8989bfbbc0886861c6f4988fbad668084c4021",
        "37c79ffe2fa52a1eaa4db74b5e15c6d41646efbf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 26 02:58:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 26 02:58:57 2017 +0000"
      },
      "message": "Merge \"Remove unused modules made for non-Treble OMX\""
    },
    {
      "commit": "37c79ffe2fa52a1eaa4db74b5e15c6d41646efbf",
      "tree": "47f71622b0928c1c9b2ded9e739b4fb06913662c",
      "parents": [
        "7f5b7818ff6e6bd973c510a1f41dd8c308f51db1"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Oct 21 05:31:38 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Oct 24 16:13:38 2017 -0700"
      },
      "message": "Remove unused modules made for non-Treble OMX\n\nAll devices should use Treble with OMX hals now.\n\nThis CL removes\n1. Non-Treble implementations of OMX and OMXStore\n2. MediaCodecService\n3. All dependencies on sysprop system.persist.treble_omx\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: make vts -j123 \u0026\u0026 vts-tradefed run commandAndExit vts \\\n--skip-all-system-status-check \\\n--skip-preconditions -m VtsHalMediaOmxV1_0Host \\\n-l INFO\n\nBug: 67990472\nChange-Id: I245ecf89d30d532f232e05e362e1cea76f5c37de\n"
    },
    {
      "commit": "efe396f44fd7d347d4c3266760bfee60e7572da8",
      "tree": "de11c148ca7a8f245e11e864580c7fc99d6df333",
      "parents": [
        "08a5a3a473354c965c32190f8b68549d19e08912"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 17:23:30 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Oct 19 14:00:54 2017 -0700"
      },
      "message": "Include external modules statically in extractor implementations\n\n- Statically include libvorbisidec in OggExtractor\n- Statically include libstagefright_flacdec in MatroskaExtractor\n- Statically include libsonivox in MidiExtractor\n- Include MidiIoWrapper as a static lib in MidiExtractor\n\nTest: build\nBug: 65851881\nBug: 67908539\nChange-Id: I1406f86e7a64fe96a1fdbcaeaa47912dfe34f33a\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": "e7a8a637a019d67983bdc858ba5e879431619d5a",
      "tree": "003bb115ddea9d683add0462cb5e74934531ad28",
      "parents": [
        "607612858f3afad1ade51a098aafa2a41523b5f7"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 09 14:52:58 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 11 08:58:10 2017 -0700"
      },
      "message": "Move MediaDefs from libmedia to libstagefright_foundation\n\nThis is needed to remove the libmedia dependency from extractors.\nOther remaining dependencies like IMediaSource::ReadOptions will be\naddressed with a separate change.\n\nTest: build\nBug: 65851881\nChange-Id: I4460e960360db4847a0784732accd0cfe28a9ec0\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": "3bf0ed6fbcd491f004183420ae6899073e708023",
      "tree": "f3ac22a0fc637f9f39823ea47bcb6bb1e8ef951f",
      "parents": [
        "90dce865f180e792f472a09b4c9a1f0e66d3a7bf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 20 15:42:12 2017 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 20 15:42:12 2017 -0700"
      },
      "message": "Remove unused libraries\n\nTest: build\nChange-Id: Id76aff6c4b11a95726d8f5a5a1f91898dfe34ddb\n"
    },
    {
      "commit": "d0a98fa05f0f6719b93d000c4638230af06e0b99",
      "tree": "438b19e4d9bddffee72c9bab98772d99bd6b7cb1",
      "parents": [
        "5bb3cfe6f3591736a82ac8ede71ced1472e19700"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 14 17:43:10 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Sep 18 18:34:59 2017 +0000"
      },
      "message": "stagefright: remove Miracast sender code\n\nThis has been deprecated for some time. Remove this from codebase\nto avoid introducing new HAL for HDCP. Log warning and return NULL\nwhen remote display is requested. \n\nbug: 62213914\nChange-Id: I3560b60fe83a01c51df0f2e715a8f2c760e57bf8\n"
    },
    {
      "commit": "d3643f0f75085115d365023237ed5fd8da24a8ef",
      "tree": "632bf24d8e7dc06158433ed1b231a32d66898a63",
      "parents": [
        "f89fe5734cbd83bd605c302541935e66cd4e746a",
        "ae0654c80a2d1b11321dec1a4ee93c0458373714"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Aug 10 02:49:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 10 02:49:39 2017 +0000"
      },
      "message": "Merge \"Make software codecs as VNDK\" into oc-mr1-dev am: 6b8bbef164\nam: ae0654c80a\n\nChange-Id: I3d428622caa9f4b7ca9a2f57c4a7c9b23cd2c495\n"
    },
    {
      "commit": "6b8bbef1642ded053c7a75a1d5d612df64a3d476",
      "tree": "64f4bd8b7e7465663ab0374e081d86e4424dd686",
      "parents": [
        "ad708fb449369c567e1bf3a7e1f2a5e56b72762f",
        "308cae0f3609bd7e2609423d5ed4c7e41863a7cf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 10 01:15:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 10 01:15:24 2017 +0000"
      },
      "message": "Merge \"Make software codecs as VNDK\" into oc-mr1-dev"
    },
    {
      "commit": "e32eb6dc4c087daa9b2467f97cccc0a53283ebcb",
      "tree": "94b787277ec84cffcb392c241155d6a8751763cf",
      "parents": [
        "2f1bc21fba397242af2510f6d31b4af73c44d1ef",
        "ff6900d8f991aac0b67b625f8a1d4d0461b4c50e"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Aug 10 00:34:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 10 00:34:08 2017 +0000"
      },
      "message": "Merge \"Generate IAudioRecord with AIDL.\""
    },
    {
      "commit": "ff6900d8f991aac0b67b625f8a1d4d0461b4c50e",
      "tree": "1c81319f27784e4d611f7895d519b7754f869c26",
      "parents": [
        "ce10f65fb5b48d81798caa2c2914b016082b5089"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Tue Aug 01 15:47:38 2017 -0700"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Aug 09 09:15:59 2017 -0700"
      },
      "message": "Generate IAudioRecord with AIDL.\n\nUse AIDL to generate the IAudioRecord interface rather than using\na manually implemented interface.\n\nBug: 64223827\nTest: Ran the AudioNativeTest and CtsMediaTestCases CTS tests.\n\nChange-Id: Iade23c73253a97c358050bbd697ebe592b89a4c0\n"
    },
    {
      "commit": "308cae0f3609bd7e2609423d5ed4c7e41863a7cf",
      "tree": "053cc47572e56bc7f929eff8bbb945cf6ddfc0aa",
      "parents": [
        "5b2a1573873782ace86914720fd7e46f677e71cc"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Aug 07 13:17:05 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Aug 07 13:37:39 2017 +0900"
      },
      "message": "Make software codecs as VNDK\n\nSoftware codecs and their dependencies are marked as VNDK (or just\nvendor_available:true for static/header libs).\n\nBug: 37343418\nTest: build the software codecs with BOARD_VNDK_VERSION\u003dcurrent\nChange-Id: I7f9e4326e1428886ce32f625ffcee98ea2c82a9a\n"
    },
    {
      "commit": "439bfbb7d07dda9a990f604d31d047663b9ef120",
      "tree": "daaa1f8821a6a751e1fa44452089832954c9f50f",
      "parents": [
        "5b2a1573873782ace86914720fd7e46f677e71cc"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Jul 24 15:19:44 2017 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Aug 07 04:29:51 2017 +0000"
      },
      "message": "Mark the module as VNDK or VNDK-SP in Android.bp\n\nAs a VNDK/VNDK-SP module, Android.bp must have \u0027vndk\u0027 tag as well\nas \u0027vendor_available: true\u0027.\n\nFor a VNDK module, the \u0027vndk\u0027 tag has \u0027enabled: true\u0027.\nIt will be installed system/lib(64)/vndk as a vendor variant.\n\nFor a VNDK-SP module, the \u0027vndk\u0027 tag has\n\u0027support_system_process: true\u0027 as well as \u0027enabled: true\u0027.\nIt will be installed system/lib(64)/vndk-sp as a vendor variant.\n\nBug: 63866913\nTest: build and boot with BOARD_VNDK_VERSION\u003dcurrent\nChange-Id: Iee7f2e14fea4635a64c4e5c5bb50f5d7e2691682\n"
    },
    {
      "commit": "255735a38b9d5c3755c7b819bdc8fdaf4357d860",
      "tree": "f1c83bce136d5f122f57dc3281ab9d5fa0597f05",
      "parents": [
        "5c2bdf6a7042d68f9ae2d2f58cf3bae1c44fcab9"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jul 19 11:24:56 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Jul 24 20:29:36 2017 -0700"
      },
      "message": "Organize header dependencies\n\nHeader files that are exported are moved to a specific place for\nexporting.\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\nBug: 63821829\n\nChange-Id: Ia578e3c0dd1ff157335b3a49af896acb922586e8\n"
    },
    {
      "commit": "b277d9e3cbda9b05396479082e08f3cb28f4e70d",
      "tree": "bfb7f4590a90c268f377039b17aa175d62e7cf85",
      "parents": [
        "15fa2506444a82d4a683015af096594fb5efbb9a"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 21 17:25:46 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Jul 24 17:45:24 2017 +0900"
      },
      "message": "Build libmedia_omx with BOARD_VNDK_VERSION\n\nAdd dependency to libstagefright_headers.\n\nBug: 37342627\nTest: BOARD_VNDK_VERSION\u003dcurrent m -j libmedia_omx\nChange-Id: Ia97a981d4cd04acbdc3df6dac63db3f18af21a03\n"
    },
    {
      "commit": "2be091cebb9462b63d7160d0fa2cfa8703973a69",
      "tree": "2b1c84f801a6b9e61be1c10d8fb7f7c58164fd23",
      "parents": [
        "2ef71c5be307e98c6a0164e8b58cb716f9b31622"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Jul 10 17:31:11 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jul 19 15:04:48 2017 -0700"
      },
      "message": "Move xmlparser to under libstagefright\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev --module \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nBug: 37657124\nChange-Id: Ib78f983635586558b99850b2fd54143b0a418d1d\n"
    },
    {
      "commit": "2ef71c5be307e98c6a0164e8b58cb716f9b31622",
      "tree": "ecf1f7f98be5dd3031768ba776ebc1f31a4e14d0",
      "parents": [
        "0c0ca185203f8c960a424965f14a2bcf588c6350"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Jul 10 19:19:07 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jul 19 15:00:18 2017 -0700"
      },
      "message": "Add non-treble IOMXStore interface\n\nTest: Compiles\nBug: 37657124\nChange-Id: If1c800ff0560357c6d0d380a83e7e77f621f93da\n"
    },
    {
      "commit": "d2075e8b86dbf6d7c6af7de6f2f698b1acf4c6df",
      "tree": "eada73a1b4d244c1aaec535b2dbea1547d70ce46",
      "parents": [
        "eb29e9ce27cd34975d675a6ed43786e1cab1e5f7"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Jul 11 04:50:40 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jul 12 02:50:51 2017 -0700"
      },
      "message": "Move headers in media/omx/1.0 to the right place\n\nTest: Compiles\nBug: 37657124\nChange-Id: I695def527a3149a36e5f010250bbb52e2d0ff99f\n"
    },
    {
      "commit": "5550640fcb161f8329646ae959034251023884cc",
      "tree": "acb4bf17cc07cf8193c5b6cdb05a0d0420072ef6",
      "parents": [
        "cb316c7ecc5520aa861f26e6f52114e5e5e9a902"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jun 07 18:18:09 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 26 16:09:46 2017 +0000"
      },
      "message": "Fix OMX dependencies.\n\nNote, filed b/62923763 to cleanup xmlparser includes.\n\nBug: 37343418\nTest: builds with BOARD_VNDK_VERSION\u003dcurrent\nTest: (sanity) YouTube on a device\nTest: (sanity) Camera on a device\nTest: (sanity) watch (part of a) movie on a device\nTest: (sanity) YouTube on marlin\nTest: (sanity) Camera on marlin\nTest: (sanity) watch (part of a) movie on marlin\nTest: (sanity) YouTube on angler\nTest: (sanity) Camera on angler\nTest: (sanity) watch (part of a) movie on angler\n\n\nChange-Id: I461f999122da56cabb9d4d15b182899ced3b0120\n"
    },
    {
      "commit": "525eac3e3b3b695b7f90798241e9283377b38557",
      "tree": "286ce16de20eefe1322ce714e5703a81e1b27d83",
      "parents": [
        "de9075f88d70ddc192fa8ef9ad9c7c30d58dc253"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Jun 12 14:07:04 2017 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Jun 12 14:09:28 2017 -0700"
      },
      "message": "Fix libmedia_helper dependencies.\n\nTest: mma -j BOARD_VNDK_VERSION\u003dcurrent\nTest: m -j BOARD_VNDK_VERSION\u003dcurrent\nTest: m -j\n\nBug: 37342627\nChange-Id: Ic1f05716df3802f7ef93c1e452565b901d0d1df9\n"
    },
    {
      "commit": "defb1b0b7e082621a10763d1bd7a4a01e280fdf0",
      "tree": "4460bf2e95b801963d7222def3130a677b668333",
      "parents": [
        "f7e2da4ca19db264d47c96ae07152aef6bce5c30"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 27 22:40:10 2017 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 09 15:41:27 2017 -0700"
      },
      "message": "fix circular dependency libnativewindow \u003c-\u003e libui\n\nBug: 37647680, 37648355\nTest: compile, manual\nChange-Id: I9cb8a1320d7c73299fb2b081a054eafb8ef086c8\n"
    },
    {
      "commit": "6f82b4d3e970469de830d9fffcfcbea800e4637e",
      "tree": "3bead112cc2f499eb354e8e82167278cbe9a6c96",
      "parents": [
        "e9aa3a29f3338bf5a029ce5ff3280738b00be0f8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 20 17:30:33 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 08 14:17:38 2017 -0700"
      },
      "message": "Convert libstagefright to Android.bp\n\nSee build/soong/README.md for more information\n\nTest: builds\nChange-Id: I74cfc651d07cbbaddeae7c4da9da6f2527aee691\n"
    },
    {
      "commit": "eeb436397a78aa80e41a4929a5f379319eefe0c3",
      "tree": "25f6dbf36c9e2468fb086767f7b8c2656e4d88da",
      "parents": [
        "58901127cfd84cbcc11fadd1ca2d3b4b9b9cbcdd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 20 12:48:51 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 03 13:35:49 2017 -0700"
      },
      "message": "Convert libmedia to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m -j checkbuild\nChange-Id: I7326405e50dd847ba9528aee5e5cd79f204c44af\n"
    },
    {
      "commit": "fbd30d01ce73e50eb334a0ab2ff73a0830d79790",
      "tree": "81fe8b249f8433507196650bcb9435fa05b492fe",
      "parents": [
        "6cb102d4a1cbaaacecde61d4e2a261c910c55e1c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 17:44:48 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 17:48:38 2017 -0700"
      },
      "message": "libmedia_helper: vendor_available\n\nBy setting vendor_available, the following may become true:\n\n* a prebuilt library from this release may be used at runtime by\n  in a later releasse (by vendor code compiled against this release).\n  so this library shouldn\u0027t depend on runtime state that may change\n  in the future.\n* this library may be loaded twice into a single process (potentially\n  an old version and a newer version). The symbols will be isolated\n  using linker namespaces, but this may break assumptions about 1\n  library in 1 process (your singletons will run twice).\n\nBackground:\n\nThis means that these modules may be built and installed twice --\nonce for the system partition and once for the vendor partition. The\nsystem version will build just like today, and will be used by the\nframework components on /system. The vendor version will build\nagainst a reduced set of exports and libraries -- similar to, but\nseparate from, the NDK. This means that all your dependencies must\nalso mark vendor_available.\n\nAt runtime, /system binaries will load libraries from /system/lib*,\nwhile /vendor binaries will load libraries from /vendor/lib*. There\nare some exceptions in both directions -- bionic(libc,etc) and liblog\nare always loaded from /system. And SP-HALs (OpenGL, etc) may load\n/vendor code into /system processes, but the dependencies of those\nlibraries will load from /vendor until it reaches a library that\u0027s\nalways on /system. In the SP-HAL case, if both framework and vendor\nlibraries depend on a library of the same name, both versions will be\nloaded, but they will be isolated from each other.\n\nIt\u0027s possible to compile differently -- reducing your source files,\nexporting different include directories, etc. For details see:\n\nhttps://android-review.googlesource.com/368372\n\nNone of this is enabled unless the device opts into the system/vendor\nsplit with BOARD_VNDK_VERSION :\u003d current.\n\nBug: 36426473\nBug: 36079834\nTest: m -j libmedia_helper\nTest: attempt to compile with BOARD_VNDK_VERSION :\u003d current\nChange-Id: I21fc594e8e1bf62d73c7b993b6a734c2fa24175f\n"
    },
    {
      "commit": "bf0cfe7f240553582186586f3a50b5c44db442f2",
      "tree": "1f1481481fa61eb190db656afe2ed9ba5ffdcefc",
      "parents": [
        "997b94353ae6a3201416dfb40a9f03573144f849"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 14 04:12:13 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 14 04:12:13 2017 -0700"
      },
      "message": "Add libmedia_headers library.\n\nBug: 33241851\nTest: build with BOARD_VNDK_VERSION :\u003d current\nChange-Id: I6239b58890cabae69f27daf14aa2fb19d8bffe5d\n"
    },
    {
      "commit": "08dab5ae92ddd1f3b337b6e35f918fea8c284a56",
      "tree": "4ebbef53fa801437efecb2de9135543c5f1326c6",
      "parents": [
        "8526d86ab12284135ed4ca27aeb816371c10c0e6"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Dec 07 15:08:17 2016 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu Dec 08 18:13:28 2016 +0900"
      },
      "message": "Use libmedia_helper as shared lib.\n\nThe dependencies to static libraries in frameworks should be removed\nas many as possible to reduce a size of the system partition.\nAnd that will improve coverage of the VNDK libraries because this\neffort might find new necessary shared libs which were linked\nstatically before.\n\nSize diffs of affected binaries on angler-userdebug build are as\nfollows.\n\nlibmedia                    : 598056 -\u003e 547928 (-50128)\nlibstagefright              : 1496420 -\u003e 1492124 (-4296)\nlibaudiopolicyservice       : 75372 -\u003e 66940 (-8432)\nlibaudiopolicymanagerdefault: 613168 -\u003e 583516 (-29652)\nlibaudioflinger             : 397840 -\u003e 364380 (-33460)\nlibaudiohal                 : 114752 -\u003e 68684 (-46068)\nlibaudiopolicyenginedefault : 122096 -\u003e 71968 (-50128)\nlibmedia_helper             : 0 -\u003e 66288 (+66288)\n\ntotal                       : (-155876)\n\nTest: building succeeded, and the image was tested on angler.\nBug: 33056637\nChange-Id: I00a71e518337a1efcf7f55256145776311596991\n"
    },
    {
      "commit": "913d06c099bd689375483a839e11057ccf284d1c",
      "tree": "25d7f40231f47897013b0984348f40bf05b72ea7",
      "parents": [
        "267e07cd8432679bcdd72b0bdf38846446c1c4ed"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Nov 01 12:49:22 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Nov 07 09:29:37 2016 -0800"
      },
      "message": "Move TypeConverter into a shared library\n\nThis will be needed for the default implementation of the audio HAL\nin TREBLE for parsing supported formats etc. provided by HAL in\na form of string literals.\n\nAs a bonus, remove some hand-written type conversions in AudioFlinger\nused in dumps.\n\nExample changes in the dump output:\n\n   HAL format: 0x1 (pcm16) \u003d\u003d\u003e HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)\n   Processing format: 0x5 (pcmfloat) \u003d\u003d\u003e Processing format: 0x5 (AUDIO_FORMAT_PCM_FLOAT)\n   Output device: 0x2 (SPEAKER) \u003d\u003d\u003e Output device: 0x2 (AUDIO_DEVICE_OUT_SPEAKER)\n   Input device: 0 (NONE) \u003d\u003d\u003e Input device: 0 (AUDIO_DEVICE_NONE)\n   AudioStreamOut: 0x... flags 0x6 (PRIMARY|FAST) \u003d\u003d\u003e\n       AudioStreamOut: 0x... flags 0x6 (AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST)\n\nTest: make \u0026 run\nChange-Id: I9cde640e6827b7aa6d62e9caade9e738227e299f\n"
    },
    {
      "commit": "442a2ee35a2c3922237540aed8c16481e03dfb0d",
      "tree": "d0f167e5bc7adc3e72da4b0baab99e06b47d60cd",
      "parents": [
        "1567662f5a709398004cf509fb3f382f0c76f5b1"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Aug 26 17:52:29 2016 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Aug 26 17:52:29 2016 -0700"
      },
      "message": "Convert to Android.bp\n\nSee build/soong/README.md for more information.\n\nChange-Id: Ib5abad8bcb63bd3f3aa19a08817276fe21902515\n"
    }
  ]
}
