)]}'
{
  "log": [
    {
      "commit": "393f0e05e3fa7351c81a470e5bd841451bcc13ae",
      "tree": "47d865b1e143a717167b2fff0dd6da2e30b3966b",
      "parents": [
        "698d353587d6d0563a6451b2d701358e6cb4496e"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Wed Apr 10 09:09:08 2019 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 10 12:30:39 2019 -0700"
      },
      "message": "audiopolicy: fix attributes match helper function\n\nRegression caught on Attributes referred by their flags only\n(like BT SCO).\nClient may have more flags than the product strategy, checks\nto be done on all the flags of the product strategy are requested\nby the client.\n\nBug: 130284799\nTest: make\n\nChange-Id: Ie8d41a592342bc0a7a0326f9766e7e7503154e62\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "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": "ba9a05060f0c0810647f98037dc353fc75e60506",
      "tree": "a7afd7c1c9b999c7a14284a325a6a3f0eaa6743c",
      "parents": [
        "a90aa4e34f88a010ab0d57c908015699756b1bda",
        "6252c87518983a343ef76aabb875497dfc97299d"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Apr 02 21:35:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 21:35:09 2019 +0000"
      },
      "message": "Merge \"Verbosity and increase buffer limit\""
    },
    {
      "commit": "32fa5079485232f3cb22afab91a275bba28d841b",
      "tree": "c285a34b31748c960dd25afe3ac0d4f67ed6b4bd",
      "parents": [
        "bdf22197527d3f4e3d3c97314f0d0022047df5a6",
        "c683a872e615dd9dfb38e97f888882778f36402b"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon Apr 01 18:40:09 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 01 18:40:09 2019 -0700"
      },
      "message": "Merge \"Add vts test for media_codecs.xsd and media_profiles.xsd\" am: 98001b1bf3 am: b585713580\nam: c683a872e6\n\nChange-Id: I2933d331e219668b87e09fd18a7353131c3d16d7\n"
    },
    {
      "commit": "98001b1bf3b01d353e48d8edc58c34fa3826ebb9",
      "tree": "df16cfbe9e05b3f651671a615e043a3cbc4bafbe",
      "parents": [
        "813a561aed7cf59b0c2cdcf06502854d8cd81e83",
        "768394445a7f2c57a2b975593ab1a6a3fe642c02"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 01:03:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 01:03:21 2019 +0000"
      },
      "message": "Merge \"Add vts test for media_codecs.xsd and media_profiles.xsd\""
    },
    {
      "commit": "36b17553b2c3aad4d8f600edd2e82f9a583ee05a",
      "tree": "b07a90eaf6bcba6f06fd56ab3976d1c71c7fd712",
      "parents": [
        "791d3370830b8e22b8bbaf41c3de900de48d2be3"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Thu Mar 07 18:48:07 2019 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Mar 22 17:21:30 2019 -0700"
      },
      "message": "Introduce a system APC with its corresponding opt-out\n\nFor system application with the new permission CAPTURE_MEDIA_OUTPUT, or\nCAPTURE_AUDIO_OUTPUT, allow to capture the audio of playing apps that\nallow it.\n\nTest: adb shell audiorecorder --target /data/file1.raw\nTest: atest android.media.cts.AudioPlaybackCaptureTest\nBug: 111453086\nChange-Id: I5bfca51e48992234508897c595a076d066db26b2\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "791d3370830b8e22b8bbaf41c3de900de48d2be3",
      "tree": "45eb419ace0f70a42f52d4330100ae7afba7c500",
      "parents": [
        "6c972380f6fbc91e3a76d5641fdbd31c02cca46d",
        "1234008771662d2b250d6d4972adb04de963fb0d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 22 15:57:49 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 22 15:57:49 2019 +0000"
      },
      "message": "Merge \"API changes in MicrophoneDirection\""
    },
    {
      "commit": "6c972380f6fbc91e3a76d5641fdbd31c02cca46d",
      "tree": "14464781704a6808a7283363bd96fd3c9a333d1a",
      "parents": [
        "759bd0f18f2271c9c997818827d5e92bcada7453",
        "4baa240cb628f626c29de867d8e43bc8c7deda46"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri Mar 22 04:22:33 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 22 04:22:33 2019 -0700"
      },
      "message": "Merge \"Add new tags\" am: c18cebd376 am: 3225daaaa6\nam: 4baa240cb6\n\nChange-Id: I4deef37d4d692152bc8d414d0377a119eaecf78c\n"
    },
    {
      "commit": "c18cebd376aef4b6018e22face736bbbb0e54f65",
      "tree": "863c17b8639f38b47322921c14d2308a208bc2e1",
      "parents": [
        "074b3f190d9f5b2796e222161282ffd664258b54",
        "38ac65cf5870e04bef59dfa191f4e840f322b707"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 22 11:05:55 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 22 11:05:55 2019 +0000"
      },
      "message": "Merge \"Add new tags\""
    },
    {
      "commit": "768394445a7f2c57a2b975593ab1a6a3fe642c02",
      "tree": "858be2b90a3aa5e2810ac53bf1e96fbb2ec7b5e7",
      "parents": [
        "074b3f190d9f5b2796e222161282ffd664258b54"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 20 23:02:57 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri Mar 22 04:53:49 2019 +0000"
      },
      "message": "Add vts test for media_codecs.xsd and media_profiles.xsd\n\nThe VtsValidateMediaCodecs and VtsValidateMediaProfiles tests are\nadded for checking xsd schema validation.\n\nBug: 128380795\nTest: vts-tradefed run vts -m VtsValidateMediaCodecs\nTest: vts-tradefed run vts -m VtsValidateMediaProfiles\nChange-Id: I300d6c76b39f9087ec562171230310e02e135155\n"
    },
    {
      "commit": "1234008771662d2b250d6d4972adb04de963fb0d",
      "tree": "d050c75b3935ed9d20676312df0e7cd1d94cd13c",
      "parents": [
        "60c73a445b632cc2e233b1a275efeee7414a41a4"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Tue Mar 19 09:35:05 2019 -0600"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Mar 21 21:51:49 2019 -0600"
      },
      "message": "API changes in MicrophoneDirection\n\nBug: 128523813\nTest: Build, Testbed app\n\nChange-Id: I7b5ee8ba4eec1090866d8aef891a98d50cd09cc5\n"
    },
    {
      "commit": "9e0ad0278471500b833aa58ccc29b3c542551932",
      "tree": "aa1f30f9f63025a5a5c47388d2310f94617da978",
      "parents": [
        "76e348fc43d7b8bda0362ccbf14bf0eeac09a7c9"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Mar 20 14:42:16 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Mar 20 15:50:13 2019 -0700"
      },
      "message": "Add key for haptic channel count in metadata.\n\nThis key could be useful to query if a file contains haptic channels or\nnot.\n\nTest: test with files (not) containing haptic channels\nBug: 128012181\nChange-Id: I5f0a9ca9fde23ce7d6f48921acc9a1074a6a1601\n"
    },
    {
      "commit": "38ac65cf5870e04bef59dfa191f4e840f322b707",
      "tree": "29261a9a8e59d8c3d4f3ef15e18a5a957ee640a8",
      "parents": [
        "5e195df5d73cae31c40f122336e35692cc5c439e"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 20 14:10:46 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 20 14:13:24 2019 +0900"
      },
      "message": "Add new tags\n\nThe ImageDecoding tag is added to media_profiles.xsd.\nThe Include, Included and Alias tags are added to media_codecs.xsd. And\nthe sequence type is changed to choice with min\u003d0 and max\u003dunbounded to\nsupport any order and any number elements.\n\nBug:128380795\nTest: m -j\n\nChange-Id: I9817c4d4b895fcf3a70e074bf27a384fecc43aad\n"
    },
    {
      "commit": "c24f9ea08daf97724ab0b463ed0367b95d323a56",
      "tree": "bdbd130c560db3961925c2810c030bea7b2ef6f5",
      "parents": [
        "a0a01876835b0b6342c8e695662d9d92816bf95c",
        "c3e8781dd15d1946f017437e2eb52d197081e820"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 19 23:18:03 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 19 23:18:03 2019 +0000"
      },
      "message": "Merge \"audio: Add type conversion entry for APTX_TWSP\""
    },
    {
      "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": "c3e8781dd15d1946f017437e2eb52d197081e820",
      "tree": "544ea932af8992df3d26680a7058f4b17bfc19b6",
      "parents": [
        "0e8c901dad036218bc8676ad99fb1bae2dc7ebff"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@quicinc.com",
        "time": "Mon Mar 18 14:28:23 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Mar 19 10:40:45 2019 -0700"
      },
      "message": "audio: Add type conversion entry for APTX_TWSP\n\nAdd type conversion entry for APTX_TWSP audio format.\n\nBug: 111812273\nBug: 128825638\nTest: make\nChange-Id: Ib202746469dfe2f3d71334b18bb5a0a241dfd456\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": "e8aba9a329136aa86e1642cbf9e843a0dc103101",
      "tree": "f5106134c0e91842f9aad6e56c0dcdb80b8db4c4",
      "parents": [
        "b30ad9ad4a192a50045763bd326f9d2023748223",
        "eae4b67a5894dcc808b0b7e7a76f8a2ea6692a8b"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 13 11:08:37 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 13 11:08:37 2019 -0700"
      },
      "message": "Merge \"Add media_profiles\" am: 9e2430163f am: 4f8a111b93\nam: eae4b67a58\n\nChange-Id: I10a94de997392c884b5e4368b53215ca9d4ec843\n"
    },
    {
      "commit": "ceaa21bc0f0723a4112dd7fb405f41cd40827fd9",
      "tree": "80e83e09f2d006f08aacc67da278e32c7254fd7b",
      "parents": [
        "fe610f0fa30cf58c448f718c05d53208431baf08"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 13 07:53:25 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 13 07:53:25 2019 +0900"
      },
      "message": "Add media_profiles\n\nThis module is for API check of java file generated from\nmedia_profiles.xsd\n\nBug: 128380795\nTest: m -j\nChange-Id: Icb112074f7d8290b0fa037a96c7e097e5e73e3f1\n"
    },
    {
      "commit": "6252c87518983a343ef76aabb875497dfc97299d",
      "tree": "2bc62bd7108d093f8844ce8f17fbdc53a3f5cb8f",
      "parents": [
        "f8e3c419e9a33a960754980bb62a5f51efc5cdb4"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 08 11:24:47 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 08 11:24:47 2019 -0800"
      },
      "message": "Verbosity and increase buffer limit\n\nNew MediaSource inline/shared buffer threshold meant we hit max buffers\nallowed limit more often -- with verbose diagnostics.\nmax buffers now aligned with primary consumer NuMediaExtractor (4-\u003e8)\n\nBug: 115848790\nTest: poc\n"
    },
    {
      "commit": "28da31bbda1f969924c25f72e244a33debfde779",
      "tree": "3e1fb7d0a1fe0339b54fa02a1a9b0657f395e5c8",
      "parents": [
        "9c971b7f3908eb033a7a7204047b9f64c23ce644",
        "366b643d1e674684d7095cdbe36b6791e842fdbc"
      ],
      "author": {
        "name": "Paul Mclean",
        "email": "pmclean@google.com",
        "time": "Thu Mar 07 23:06:07 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 23:06:07 2019 +0000"
      },
      "message": "Merge \"Surface MicrophoneDirection API in MediaRecorder\""
    },
    {
      "commit": "b70eff200b878224e76ee36e94eb0492c59d03d7",
      "tree": "f8746596be994669f4b4ced23b701f652c844a6d",
      "parents": [
        "9821dd321dafba4a35b8f672b2e247b0bfe2e9f7",
        "4d3e69452332f74a3e6c14381869930fef2e092f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 07 19:33:18 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 19:33:18 2019 +0000"
      },
      "message": "Merge \"Multiple extractors from same client vs clients binder space\""
    },
    {
      "commit": "4d3e69452332f74a3e6c14381869930fef2e092f",
      "tree": "0eb2d2930b800569f093bd484ca76e616235693c",
      "parents": [
        "be32a246fc5623c049cf6417ced66dccc741653b"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 07 09:17:48 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 07 09:17:48 2019 -0800"
      },
      "message": "Multiple extractors from same client vs clients binder space\n\nLowered limits for when to use shared buffers vs inline data and how\nmuch total data to allow in a mediasource binder transaction.  Fix typo\nlimiting MediaSource / extractor to only 1 mediabuffer as shared memory.\n\nBug: 115848790\nTest: poc from bug\n"
    },
    {
      "commit": "ea8fa7a5eea3d55c75982787571d70a70fa5280a",
      "tree": "8e0a6e45768fee1146cfdac9a06471cb0958ef50",
      "parents": [
        "bb08e4d99b0915f4b25fefeda9c833c96ceb785a"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Feb 22 14:41:50 2019 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Mar 06 16:54:23 2019 -0800"
      },
      "message": "Refactor adjust channels buffer provider.\n\nCombine adjust channels buffer provider and adjust channels non-destructive\nbuffer provider.\nWhen contracting mono + haptic channels to mono, do not use\nadjust_channels to avoid mixing haptic channel into audio channel.\n\nBug: 125915810\nTest: play audio-haptic coupled files\nChange-Id: I39916a3e0628a44ed4a148c265564af7135a2176\n"
    },
    {
      "commit": "366b643d1e674684d7095cdbe36b6791e842fdbc",
      "tree": "1eaa875ba8bb14b2def251f7f0bdd27fce37cca5",
      "parents": [
        "e1e9cad4d0c7c9825b7f29ebc082dfcbdcace25c"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Mon Feb 25 10:35:51 2019 -0700"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Wed Mar 06 14:55:55 2019 -0700"
      },
      "message": "Surface MicrophoneDirection API in MediaRecorder\n\nBug: 126185930\nTest: MicrophoneDirectionTest testbed.\nChange-Id: I6024ede50999aa751d63f272a087f578b8aea93d\n"
    },
    {
      "commit": "06f087d7ebc4b62bec118d1ce8c9ce0e158b8b61",
      "tree": "59c0d4d7c9e40372f9ab0a237c2aaedfb68da53b",
      "parents": [
        "531adf7c2d8dd1e24fbbe9fc932187974bd7cd0b",
        "038e8f8854dd8b7c77d63e5a1cf50e838f443b02"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Feb 26 23:15:40 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 23:15:40 2019 +0000"
      },
      "message": "Merge \"Make KEY_MAX_PTS_GAP_TO_ENCODER and KEY_MAX_FPS_TO_ENCODER keys public\""
    },
    {
      "commit": "8882e3078fb6a89e17b44ccfcc7914a1f22ed0cb",
      "tree": "d99912f8087611cdec33af48b314f16c117f9e09",
      "parents": [
        "63c0f36d2ba1b752a040b47d108f4cc907da227b",
        "9b181958d638af581e98db8e208e3cebd3e99cf7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 26 21:23:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 21:23:30 2019 +0000"
      },
      "message": "Merge \"TypeConverter: proper conversion of invalid values to strings\""
    },
    {
      "commit": "9b181958d638af581e98db8e208e3cebd3e99cf7",
      "tree": "c27bfbd78d5a54188b2f6735c0c116a6d57a8859",
      "parents": [
        "a666d61efbe74594e9d441621d20bef8f9def26e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 25 14:53:36 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 25 19:38:04 2019 -0800"
      },
      "message": "TypeConverter: proper conversion of invalid values to strings\n\nOtherwise incorrect state might be hidden.\n\nAlso: Unify devicesToString() and deviceToString() to toString().\n      Miscellaneous cleanup of replicated functionality.\n\nTest: Basic audio sanity, AF and APM dumpsys check\nChange-Id: Ic81167e2d2dbfcca881f0898764cf886215c217c\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": "4507d82ee003d730f010b1b4f9b76d1cb402017e",
      "tree": "f7d2ba68369433b38e592e3ddc31c77db18cc0de",
      "parents": [
        "ab964f9f572df8b2763ae92204aadba0ecc82ab9",
        "3866c7eb51ad35dfcca170b7b2ba8404c5f0c84a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Feb 17 14:57:36 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 17 14:57:36 2019 +0000"
      },
      "message": "Merge \"Use the updated hybrid interface\""
    },
    {
      "commit": "ab964f9f572df8b2763ae92204aadba0ecc82ab9",
      "tree": "36a34f0fc3da7d285385a57ecfd25393f0f920be",
      "parents": [
        "b9b9b069322d5f4a0df778b385ecf50f0fcada94",
        "b5bfa0e2dfc53c22eb7b16d64395aca0f4065d76"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Sat Feb 16 17:38:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 16 17:38:31 2019 +0000"
      },
      "message": "Merge \"CamcorderProfiles: Add new camcorder profiles\""
    },
    {
      "commit": "4a0be4d3f8e1489657053613208c3214f8f7654b",
      "tree": "144ba4754637eb91e34b3e92f431d63fc7bf372d",
      "parents": [
        "0302b6d14cca873521fb65b184fe8964b496affc",
        "bea82ebf16d13d71228b36b8e4a14b6a461b8ec3"
      ],
      "author": {
        "name": "Kyeongkab.Nam",
        "email": "Kyeongkab.Nam@sony.com",
        "time": "Thu Feb 14 11:31:51 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 14 11:31:51 2019 -0800"
      },
      "message": "Merge \"Add the definitions as to 3ch and 4ch audio\" am: 22831131c9 am: 48c789eb50\nam: bea82ebf16\n\nChange-Id: Icbe7447c6f3cf0b6cf38667ad1e0448fd4c66ac6\n"
    },
    {
      "commit": "22831131c9d770933ac68d83588691ff3878e33e",
      "tree": "c1aa250a7dc87fd52c19cdbc124c75dd71a9be12",
      "parents": [
        "11471da1f7b2ed954ad522b8e0bfec0b3186e006",
        "a4af050bab773a75c799bb9cbd886e3b83655daf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 14 19:12:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 14 19:12:21 2019 +0000"
      },
      "message": "Merge \"Add the definitions as to 3ch and 4ch audio\""
    },
    {
      "commit": "3866c7eb51ad35dfcca170b7b2ba8404c5f0c84a",
      "tree": "c5a6987f240532223a105f9ac52f65128a44c22c",
      "parents": [
        "0e2c6b80cbf498ce376cd356ea65d65ec570f335"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Jan 31 05:21:29 2019 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Feb 12 16:18:09 2019 -0800"
      },
      "message": "Use the updated hybrid interface\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\nBug: 111902308\n\nChange-Id: I7619b6ed3279cc2e31c230b9ab8bd1bca22e16d7\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": "733062210b86c805d10eb7feae534386a4d8f04d",
      "tree": "231a75af7545b8e21d79b5b12d1b20bef6a4c220",
      "parents": [
        "54aa6de10bf6517f3c31ed91ddfa1c27465dc98e",
        "a15ee7a2746cfb334fa9454b1c7a09cbf927d1c1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 12 00:03:03 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 00:03:03 2019 +0000"
      },
      "message": "Merge \"Add audio attr flag no capture\""
    },
    {
      "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": "a15ee7a2746cfb334fa9454b1c7a09cbf927d1c1",
      "tree": "827e04d7a698efd1f3536bc2b42e8ec26b37bd91",
      "parents": [
        "1342d0740e9a7accd48a7c28725ca61ded231ee1"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Feb 05 09:11:02 2019 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Feb 09 00:47:38 2019 +0000"
      },
      "message": "Add audio attr flag no capture\n\nTest: adb shell audiorecorder --target /data/file.raw\nBug: 111453086\nChange-Id: I2ee29a0b76632110493902d6f3a7c387d6499fcd\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "038e8f8854dd8b7c77d63e5a1cf50e838f443b02",
      "tree": "e6d1d26f3d2f08770c6d0f4fc8dcff78a8f3f470",
      "parents": [
        "0684bf1ac795c8a112cdc168004cdf0bad6a6647"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 06 19:05:14 2019 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 07 10:14:35 2019 -0800"
      },
      "message": "Make KEY_MAX_PTS_GAP_TO_ENCODER and KEY_MAX_FPS_TO_ENCODER keys public\n\nThese two keys are in public API now, keep ndk in sync.\n\nAlso replaced strings with the defined keys in media code.\n\nbug: 80314065\nChange-Id: Ic0d50c10d1f9ab464068223a1a235b95f59f4c98\n"
    },
    {
      "commit": "f158ff01fc14328bae6b703daa839f3db4c33ef6",
      "tree": "d0643959bbb077ee95fc8214817e24e087d26beb",
      "parents": [
        "0435a4dcb66366da53cf4544c941a40ed2b9c2bd"
      ],
      "author": {
        "name": "Revathi Uddaraju",
        "email": "revathiu@codeaurora.org",
        "time": "Thu May 04 13:07:12 2017 +0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Feb 05 17:18:18 2019 -0800"
      },
      "message": "libmedia: synchronize access to meta.\n\nAssignment of IMediaSource::mMetaData of type sp\u003cT\u003e in\nIMediaSource::getFormat() is not thread-safe and is found\nto be causing stability issues.\n\nSynchronize access to meta smart pointer to prevent potential\nrace condition.\n\nTest: build\nBug: 123082419\nChange-Id: I8a94d82d69f35307e5fab8174d752a847f47a2f2\n"
    },
    {
      "commit": "f63dbf127223716fad9de179862eb4fde4fd64e7",
      "tree": "ec4cb97eb84bcf118485e432d33832cf2851d61f",
      "parents": [
        "157c467799a2d6300af76150ad73850ef5cb574a",
        "4a224f5902f88c8dda4c9f6930148ee367a103da"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 05 01:09:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 01:09:21 2019 +0000"
      },
      "message": "Merge \"Expose a few keys that are already used by apps\""
    },
    {
      "commit": "4a224f5902f88c8dda4c9f6930148ee367a103da",
      "tree": "dc5cd5efcf2ad4d66bd848bbc5be21cdab6b2b4e",
      "parents": [
        "0684bf1ac795c8a112cdc168004cdf0bad6a6647"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jun 05 15:40:19 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Feb 04 11:35:21 2019 -0800"
      },
      "message": "Expose a few keys that are already used by apps\n\nbug: 80314065\nChange-Id: I63773e96577a273d890438526cc575f3ed225cea\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": "b5bfa0e2dfc53c22eb7b16d64395aca0f4065d76",
      "tree": "e237c865f50c9c7d9ff7a6be67d015ed458b9fef",
      "parents": [
        "5240850ee820089cd4ae4274f15a0b6dd8fc2150"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@quicinc.com",
        "time": "Wed Jan 16 15:49:42 2019 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Jan 31 11:17:30 2019 -0800"
      },
      "message": "CamcorderProfiles: Add new camcorder profiles\n\nadd VGA. QHD, 4K-DCI profiles\n\nBug:122944520\nTest:  run cts -m CtsMediaTestCases -t android.media.cts.CamcorderProfileTest --skip-preconditions\n run cts -m CtsMediaTestCases -t android.media.cts.CameraProfileTest --skip-preconditions\n\nChange-Id: Iacd8537f62112171ee611a7534f9d432f45d5d3f\n"
    },
    {
      "commit": "edcbb2abb59a7d3c600110adc5506583d7111732",
      "tree": "2a6e93f1c958922baf72681fc3d34f6ff258a315",
      "parents": [
        "4df18892dca915d1b737043baab2dc74c9f7d96a",
        "a521f1f1ddb25f4ec7968d4a326526696dd328c6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jan 30 21:39:34 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 30 21:39:34 2019 -0800"
      },
      "message": "Merge \"Respect system locale in ID3 tag encoding detection\" am: 33bba18b2e am: deaa7218f7\nam: a521f1f1dd\n\nChange-Id: Ic5eeac4fa4f3911269729ad1cb6dd44217aba879\n"
    },
    {
      "commit": "33bba18b2edaa8e2e09cc9368eda2fe8ca9a17dc",
      "tree": "997df6096fb516f2337a609b705388ba3bb2ce55",
      "parents": [
        "4ae8b0c37c4b9852c15098cc5ba4129745d1d07b",
        "6dd481fe34dfc3a32668ce88fb963ec3f523ad92"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 31 05:14:38 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 05:14:38 2019 +0000"
      },
      "message": "Merge \"Respect system locale in ID3 tag encoding detection\""
    },
    {
      "commit": "db3fa5f9ff069697b70f2a702177f1db83a6d5b7",
      "tree": "5ac815ae62bcb6e6fea949385afe2c53508db0f7",
      "parents": [
        "8ce16d8609ee14dfbfafeecfb3cb5d1ebb94f1f2"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jan 25 22:56:56 2019 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Jan 30 07:09:41 2019 +0000"
      },
      "message": "Throw exception on mismatched system vs vendor\n\nWhen the system partition is a later version than vendor,\nnew MediaDrm APIs will not have HAL implementations. In\nthis case throw java.lang.UnsupportedOperationException.\n\nbug:110701831\nbug:123375769\n\ntest: cts media test cases, gts media tests\nChange-Id: Ib631bf4d4d245d857e61bd3fe0e5808e430a034d\n"
    },
    {
      "commit": "79e337367c2c7bda80a89fa188966e5934b854ea",
      "tree": "45d5cb02d0e18a1cf8cf16e7f71e792e44b228d9",
      "parents": [
        "70eb2960026daced74a70411404dfd98800fe719"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 25 16:35:26 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 28 09:37:02 2019 -0800"
      },
      "message": "Remove libbinder dependency from libmedia2_jni.\n\n-BufferingSettings doesn\u0027t need to be a parcelable.\n-Use libstagefright_foundation_without_imemory.\n\nTest: build and MediaPlayer2Test\nBug: 123361167\nChange-Id: I1c02bc4ed38a697950a9fd31f9fa395a219927e4\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": "d55083d1449834d523cd3d9b5976b7e5011dce03",
      "tree": "23a91feb773e9ea28963b9e3774e9bb4e519152a",
      "parents": [
        "dc3ad9abfe646cbbac5e2d14647cf52c74a72641"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 22 14:11:02 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 23 11:16:37 2019 -0800"
      },
      "message": "audio: add new audio formats\n\nAdd type converter for LHDC Bluetooth codec audio format.\n\nBug: 120395342\nTest: make\nChange-Id: I8e18db9c86ad8f71f99cf72c18372895557153bc\n"
    },
    {
      "commit": "dc3ad9abfe646cbbac5e2d14647cf52c74a72641",
      "tree": "4845a7bb23ff1254da8ca6c690ac12fb0b998ee9",
      "parents": [
        "04a71420a809f8bf21ec5152d469c06161cd0a80"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@quicinc.com",
        "time": "Tue Jan 22 11:40:32 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 23 11:16:37 2019 -0800"
      },
      "message": "audio: Add type conversion entries for audio formats\n\nAdd type conversion entries for AAC_LATM*, CELT and\nAPTX_ADAPTIVE formats.\n\nBug: 123082414\nTest: make\nChange-Id: I5ff9af7126cab00f04322e060d2e5c0fd06d6811\n"
    },
    {
      "commit": "99dbfa822e277956799e987c106d4ec1b7984f1b",
      "tree": "d5ab50d0657b41554e0594ebb9a30f058ca3d1e3",
      "parents": [
        "701768e80731da3df0edac97fb8fc442ffbbd33f"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jan 17 17:27:06 2019 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 22 23:27:10 2019 +0000"
      },
      "message": "Add securityLevel to MediaDrm isCryptoSchemeSupported API\n\nbug:110701831\ntest: cts media test cases, widevine integration tests\n\nChange-Id: Ia4308a27a11a279db1fb127c51d752ecaa86dfcb\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": "2048effc48a71e746c5f08bd3bc61a182605bc5f",
      "tree": "eefbe490fa6ab47427b9f6f74a068936221a3aad",
      "parents": [
        "6ead2c3454f38dac2724a877aa2b57d94877611a",
        "7435e7da371e60bed90909be6cc57a3f111fb6b4"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Sat Jan 19 00:39:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 19 00:39:14 2019 +0000"
      },
      "message": "Merge \"Add libprocessgroup dependency and fix sched_policy include\""
    },
    {
      "commit": "6ead2c3454f38dac2724a877aa2b57d94877611a",
      "tree": "8e23b7ef8b3c76d1d0ec66a99fe744d203b26f3f",
      "parents": [
        "594564c4d847d3fe02e6d5efba5228901addd6f9",
        "b5894373bc83714da58cdc8ee2b86900dfc87ca3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 18 20:14:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 20:14:39 2019 +0000"
      },
      "message": "Merge \"Add timestamps to mediaextractor dumpsys\""
    },
    {
      "commit": "b1129e1d863d4461ba83370ad7dbf3e8ada9c519",
      "tree": "ca9682eb9d0882cd88c2f030205a5d6e228c662f",
      "parents": [
        "88a1999cbae5c555d2e10fdc3e8ce8b91b641a67",
        "ed19c9be7f752daabcca83ba98e7028e13b93541"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 18 17:35:47 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 17:35:47 2019 +0000"
      },
      "message": "Merge \"Add audio device type AUDIO_DEVICE_IN_HDMI_ARC\""
    },
    {
      "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": "ed19c9be7f752daabcca83ba98e7028e13b93541",
      "tree": "88e07444d0a2799b6a167afdc0ddc2c9fe88cbc4",
      "parents": [
        "6b6536968fd9a91ce0c71f09a00f1c11d85cebdc"
      ],
      "author": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Thu Oct 25 13:53:22 2018 -0700"
      },
      "committer": {
        "name": "shubang",
        "email": "shubang@google.com",
        "time": "Thu Jan 17 16:53:43 2019 -0800"
      },
      "message": "Add audio device type AUDIO_DEVICE_IN_HDMI_ARC\n\nag/5360113\n\nBug:117967786\nTest: flashall on an atom\nChange-Id: Ib58d8c381c27d4ffe92504a6bb48d0ca794c1956\n"
    },
    {
      "commit": "097f1f057aa1b159c2b2b938aaf4e97be24703d5",
      "tree": "856a6f0f8eee5131ccbb038d1273b67b8a99e094",
      "parents": [
        "8109b2ee9c3755c2b0519341be715571e5f0a467",
        "8d4bdfd7e52f92d0e3eda23fec5081191bbf9a7b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jan 17 20:21:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 20:21:09 2019 +0000"
      },
      "message": "Merge \"media/stagefright: add support for codec attributes in MediaCodecInfo\""
    },
    {
      "commit": "6dd481fe34dfc3a32668ce88fb963ec3f523ad92",
      "tree": "f5709b99cabf929d00bc2b03c40ffa789b5cab30",
      "parents": [
        "a3db2b4c1ff1e4f5b0f57443a0ea2abee71a1c83"
      ],
      "author": {
        "name": "Niklas Brunlid",
        "email": "niklas.brunlid@sonymobile.com",
        "time": "Thu Sep 25 09:40:28 2014 +0200"
      },
      "committer": {
        "name": "Tomoharu Kasahara",
        "email": "tomoharu.kasahara@sony.com",
        "time": "Thu Jan 17 09:22:03 2019 +0900"
      },
      "message": "Respect system locale in ID3 tag encoding detection\n\nTweak the confidence of ID3 tag encoding detection according to\nthe current system locale.\n\nBug: 109708246\nTest: Check encoding for th-TH\n\nChange-Id: I9e18df0d2e3cd07bf28c1fb3459ecee47ec17d56\n"
    },
    {
      "commit": "ae4b6ecfbcbea56cca160715a2ef710d8d87a40f",
      "tree": "124f24314b3f95b48a47dc8cc6f4ab0a6a0cc88e",
      "parents": [
        "96024c18126150259ba123ef48d180c6e0a2cf7e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 15 18:34:38 2019 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 16 09:52:55 2019 -0800"
      },
      "message": "add new audio sources for audio capture\n\nThis commit adds the following audio capture sources:\n- AUDIO_SOURCE_VOICE_PERFORMANCE: for real time live performances like Karaoke.\n- AUDIO_SOURCE_ECHO_REFERENCE: for capturing the reference signal to suppress by an echo\ncanceller. Protected by privileged permission CAPTURE_AUDIO_OUTPUT.\n\nAlso added device AUDIO_DEVICE_IN_ECHO_REFERENCE selected when the requested\ncapture source is AUDIO_SOURCE_ECHO_REFERENCE.\n\nBug: 118203066\nTest: CTS tests for audio capture\n\nChange-Id: Ieb159ea82a7b81acf762506a44e24ec80111609f\n"
    },
    {
      "commit": "8d4bdfd7e52f92d0e3eda23fec5081191bbf9a7b",
      "tree": "0f46fb4ab0cac1b0db8ae13e0711be5c6b49b394",
      "parents": [
        "26280682dda17a67f34b0d861a090a9d49e28689"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Nov 13 14:23:49 2018 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jan 15 16:00:37 2019 -0800"
      },
      "message": "media/stagefright: add support for codec attributes in MediaCodecInfo\n\n- Move away from int flags, and signal capabilities in info AMessage/Map\ninstead.\n- Add more attributes (other than isEncoder).\n- Parse aliases, attributes and performance points from XML\n- Add plumbing for codec aliases and attributes\n- Use proper \u0027mediaType\u0027 phrase for supported types.\n\nBug: 119631295\nBug: 112370870\nBug: 112374531\n\nChange-Id: I41ea555ca26ab09be176fb96a3138043d960caa3\n"
    },
    {
      "commit": "d827ceaf59e9683cffbf30701cd8a783918e3a39",
      "tree": "9425a35eb9d0f1b9d2ef9e0827726346056c2769",
      "parents": [
        "e2c2b961c4401f5edf88105d779dc112ff99de96",
        "54c88096751d736a4b91d1f3eb0c6e0d5c3470ea"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 15 17:57:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 17:57:26 2019 +0000"
      },
      "message": "Merge \"Remove libmediaextractor\""
    },
    {
      "commit": "0ddaa5966b8980670bf08ba4a90823967fb3654e",
      "tree": "d441ce0b3a545906274bc4cb4e778cccda89cfec",
      "parents": [
        "beab72f726d2e18cf2cbd4d74819cf146a2f3fdc",
        "b8684f3a673dff814d68b2f695991e554718fd8b"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 15 01:22:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 01:22:17 2019 +0000"
      },
      "message": "Merge \"Add additional error conditions to MediaDrm\""
    },
    {
      "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": "b5894373bc83714da58cdc8ee2b86900dfc87ca3",
      "tree": "44038525040584c9a8dba0d3f7a29a124bc6e2f8",
      "parents": [
        "02430978c1a9530c83d6cc2cdbce2d69d186ee00"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 10 14:44:13 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 10 14:44:13 2019 -0800"
      },
      "message": "Add timestamps to mediaextractor dumpsys\n\nTest: manual\nChange-Id: I0245de9c56d42a754cbac5fc09f5014e21c29b2a\n"
    },
    {
      "commit": "02430978c1a9530c83d6cc2cdbce2d69d186ee00",
      "tree": "bf219ba7be8a718b0d86128f6af94b82f71c5418",
      "parents": [
        "b4803b20d1404969126e3e1d219d71830b768289",
        "57822099ae5f887353ff07cb15563a4aac54336c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 10 20:41:12 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 10 20:41:12 2019 +0000"
      },
      "message": "Merge \"Export support types from extractors\""
    },
    {
      "commit": "57822099ae5f887353ff07cb15563a4aac54336c",
      "tree": "59204dd1a84bab7c42773957b8c909ddd7dc5482",
      "parents": [
        "435ba2e250da24bed173d4ca7415f5adb5f7846b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 07 14:51:32 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 10 09:01:21 2019 -0800"
      },
      "message": "Export support types from extractors\n\nMake each extractor  plugin export a list of file types it supports,\nso we no longer need to hardcode such a list in the framework.\n\nTest: manual\nChange-Id: I1e41a5d477ea56960ad3e4bc35f5183c03c3fe3a\n"
    },
    {
      "commit": "b8684f3a673dff814d68b2f695991e554718fd8b",
      "tree": "7eb43a0d55dadf57c43c9058233e73e37dcad76e",
      "parents": [
        "a280b264cd99be8d682e3a5c14b1d25649481100"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Dec 12 08:41:31 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jan 10 01:54:32 2019 -0800"
      },
      "message": "Add additional error conditions to MediaDrm\n\nNew codes are being added to handle resource\ncontention, lost session state, frame size too\nlarge and insufficient security level for\ndecryption. Also cleans up inconsistent use of\ntamper detected error where invalid state error\nshould have been used.\n\nbug:111504510\nbug:111505796\ntest:cts and gts media test cases\n\nChange-Id: I28ca04cdc8ce64047d189fcf4d59bab24208e1a7\n"
    },
    {
      "commit": "89cefe5cd557151261ac23a4e4d1c611350966d5",
      "tree": "27ece0d8bb0e5387babcca787d820023888a876d",
      "parents": [
        "a09fa50c96278cdacf7c845821631c3dab69813a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 09 18:49:31 2019 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 09 18:49:31 2019 -0800"
      },
      "message": "NdkWrapper: return NULL when cryptoInfo is NULL\n\nTest: cts\nBug: 122073361\nChange-Id: I3192f1935760e4e1d1038d7b4cb328975a9a63e5\n"
    },
    {
      "commit": "f36cccb50b189965177ecd7bdc3b3f36ad207fa6",
      "tree": "fc90e02d7d10e42bb9665678d9ac85437ae4cd5a",
      "parents": [
        "1ce37f1de3f7185ccffd4d9145b036941a582fe4"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Nov 20 19:11:07 2018 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Jan 07 18:36:10 2019 +0000"
      },
      "message": "Use ICU in libandroidicu\n\nlibicuuc and libicui18n are moved into APEX, but\nthey have no stable ABI due to the version suffix.\n\nUse libandroidicu which provides stable symbol.\nSee http://go/apex-stable-icu4c-interface for the design.\nSee http://aosp/801855 for libandroidicu implementation.\n\nBug: 117094880\nTest: m checkbuild\nMerged-In: Ida6aac85dfb79bf8e7a3a2540e567ee211279e09\nChange-Id: Ida6aac85dfb79bf8e7a3a2540e567ee211279e09\n(cherry picked from commit b6826d9e88b521c5c970cf748db83b43c70d56d1)\n"
    },
    {
      "commit": "b6a2daca03f37b95d999aae53dce9a68a0cdb936",
      "tree": "31f6b4bb2bbb6cfd89284e61f1d509ca80d9104f",
      "parents": [
        "03de12c486f8db9db83f4ec2555b1d28ec01acf6",
        "b6826d9e88b521c5c970cf748db83b43c70d56d1"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Jan 07 18:18:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 07 18:18:16 2019 +0000"
      },
      "message": "Merge \"Use ICU in libandroidicu\""
    },
    {
      "commit": "a57cff4e6c41c2eaf7c63cc6c5fc8f06c11f8306",
      "tree": "2e85d0b84fdffe228488fedca5e0563b8296ac90",
      "parents": [
        "f25675d38948d6e6eefc45f893f659467eab6471"
      ],
      "author": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Thu Jan 03 10:06:15 2019 -0800"
      },
      "committer": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Thu Jan 03 10:06:15 2019 -0800"
      },
      "message": "MediaRecorder.h:correct MEDIA_RECORDER_ERROR enum\n\nMEDIA_RECORDER_ERROR state had an enum value 0 which would not work with some of the existing\ncode using bitwise operators (mask). Hence, set a new value for this state.\n\nBug: 120389907\n\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg\n      CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\n\nChange-Id: I06f35b7438ff12050dd34bc64fbdca3a5c07b47a\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": "4a84cbb33dd74bc033518d007e2d9315e600bdac",
      "tree": "f598676a197f597595f6f7396713ed05edc7c027",
      "parents": [
        "73142871e81c42374cb85390efc1fb7adca230f3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Dec 18 16:34:47 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Dec 21 13:26:44 2018 -0800"
      },
      "message": "NdkWrapper: add missing DRM AMediaFormat keys\n\nBug: 121387877\nTest: MediaPlayer2DrmTest\nChange-Id: I7e07bb80746990a4f2e35ff595cab8ed75eda062\n"
    },
    {
      "commit": "44f43604955f35a47184d64865bd089c9e673e60",
      "tree": "6c6d1b6b4e4346b6c7415505abfbd7ed4d973bf1",
      "parents": [
        "77a428b58b1ab5d5f7212d8b1d4dbac20a985018"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 18 12:51:19 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 20 19:17:12 2018 +0000"
      },
      "message": "MediaRecorder: add getPortId() method\n\nAdd method to retrieve unique port ID for the AudioRecord instance\nassociated with a MediaRecorder.\n\nBug: 111438757\nTest: CTS tests for MediaRecorder\nChange-Id: I77295ccd163bfa2319a492ed64186a28b691ac38\n"
    },
    {
      "commit": "be9768e8eff47385c32bcc7f9c3b82c27058b3cc",
      "tree": "2162cb598328f4d4fc057cf88483613037fb69be",
      "parents": [
        "ff0508b3d64e54829b69170adace3bbea4f6a5b6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 13:10:35 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 19 13:52:45 2018 -0800"
      },
      "message": "Fix memory leaks\n\nBug: 111407253\nTest: manual, libmemunreachable\nChange-Id: I69ad7b48498346925dd02c10b206035c0ae49305\n"
    },
    {
      "commit": "2b167173e145d8846c9a248039f0f4dc423ade73",
      "tree": "395f2c76fd05edb48c42ab76f5c2eb6994a04675",
      "parents": [
        "83d789d6234f5cd5eb90f02a47ab04d4f6ea8299"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Mon Jun 04 16:05:14 2018 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 13 17:24:46 2018 -0800"
      },
      "message": "audiopolicy: update type convertion library\n\nTest: Audio smoke tests.\nTest: CTS tests for AudioRecord, AudioTrack and AudioEffect\n\nChange-Id: I3ed8c7d7ee8a97f0bd41a5ae9f28d673994d7f07\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "3c03c8ba1504003f25ee04b49609eb10b20e1bdf",
      "tree": "78956d959c2684a79768a6dffca77bdc7d561dbc",
      "parents": [
        "8dd9d107e9056283bc38c5921cff29c481adc99f",
        "245cdd91559873aeacf21b7c780655ef43c01682"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 22:38:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 22:38:27 2018 +0000"
      },
      "message": "Merge changes Ic5f780de,I3f963307\n\n* changes:\n  Support audio-haptic coupled playback.\n  Add buffer provider that can adjust channels.\n"
    },
    {
      "commit": "801757712fc9f478a1207fe272dd343f332d4a33",
      "tree": "e653ec76b78534508e1e83430208f71d712b09b1",
      "parents": [
        "0b7c782690047627586751b7118f2fc7573d0993",
        "bd2f653de8664083aed50699a8788f5401ddd1dc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 12 14:09:51 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 12 14:09:51 2018 -0800"
      },
      "message": "Merge \"Visualizer: fix native crash when visualizer release\" am: f9b76f7b43 am: b04bff0e0d\nam: bd2f653de8\n\nChange-Id: I75622471354b9645bb494e85a22ab9f54181d697\n"
    },
    {
      "commit": "f9b76f7b43e020bb7b64963324ce1faaaa5e8d7e",
      "tree": "10d0f482344aabfb868b1f8caddd4094eb500ad4",
      "parents": [
        "6d89c10db93c94727bbdb0ea7be432adedfc4565",
        "704c577cce2dd3c04d9457dcf016014f40234abe"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 12 21:37:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 12 21:37:04 2018 +0000"
      },
      "message": "Merge \"Visualizer: fix native crash when visualizer release\""
    },
    {
      "commit": "704c577cce2dd3c04d9457dcf016014f40234abe",
      "tree": "63e3a54766c7b6a4ea5b8cb364dee63970ead781",
      "parents": [
        "3d514b76343437a6277a777e20ff13a15b0c8f1b"
      ],
      "author": {
        "name": "zengjing",
        "email": "zengjing@xiaomi.com",
        "time": "Sat Sep 29 13:25:35 2018 +0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 12 20:03:26 2018 +0000"
      },
      "message": "Visualizer: fix native crash when visualizer release\n\nWhen the Visualizer effect is released, synchronous wait for the CaptureThread can\ncause ANR in an app. This is why an asynchronous \u0027release\u0027 method is introduced which\nis used by Visualizer.release() method on the Java side. Since CaptureThread may still\nbe running while the the last reference to the Visualizer instance is released,\nCaptureThread now holds a strong reference to the Visualizer, which it releases\nupon exit from the thread loop.\n\nThe \u0027release\u0027 method does not check for \u0027enabled\u0027 status because setEnabled(false)\nmay fail due to audioserver calling AudioFlinger::EffectHandle::setControl to\nhold control.\n\nTest: CTS VisualizerTest\nChange-Id: I8d936f0f79540345d3e3675f6129bb942a08e423\nSigned-off-by: zengjing \u003czengjing@xiaomi.com\u003e\n"
    },
    {
      "commit": "dce8f8cc41cb6be63d13ad0099d61807746ff5d7",
      "tree": "f85faa34c35ce81c45bcbd5bfed3fc93073e37f8",
      "parents": [
        "6b6a0f05248fc646d42f09cb891d8b6fda19426e"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Dec 10 17:49:31 2018 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Dec 12 11:23:05 2018 -0800"
      },
      "message": "Add buffer provider that can adjust channels.\n\n1. Add adjust channels buffer provider, which will expand or contract\nsample data from one interleaved channel format to another. Expanded\nchannels are filled with zeros and put at the end of each frames.\nContracted channels are omitted from the end of each audio frame.\n\n2. Add adjust channels non destructive buffer provider, which could\nexpand or contract sample data from one interleaved channel format to\nanother while not destructing the buffer. Extra expanded channels are\ninterleaved in from the end of the input buffer. Contracted channels are\ncopied to the end of the output buffer. Contracted channels could be\nwritten to an output buffer with certain audio format.\n\nTest: Manually\nBug: 111454766\nChange-Id: I3f963307e73b3f7aa662d4127f78f0c61ac84510\n"
    },
    {
      "commit": "0cc7de2b76d68b690f61e02a13f22e0b5bd174bc",
      "tree": "8a7d755e7ddd78fa1aa8ac756a91df1c148607b3",
      "parents": [
        "59c920b7d817e4484c68ac4cdfb0c96d41380ff8",
        "df27b04b52fd6a2ba9d9a5180adc2847386632a8"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Dec 12 17:18:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 17:18:57 2018 +0000"
      },
      "message": "Merge \"Plumbing for OPUS encoding.\""
    },
    {
      "commit": "c94b0f806352d9384eeb92c2e4d7173851ccc573",
      "tree": "36bd89a1cd2fe27c243a1db1445957be3ad90cba",
      "parents": [
        "45d34272dfa8462adda0f11ccfa169c5afa49621",
        "405733256a9cf62c9e3be2d8dbd5ccb9cb7c5d97"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 04:05:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 04:05:07 2018 +0000"
      },
      "message": "Merge \"Support open output stream with haptic channel mask.\""
    },
    {
      "commit": "405733256a9cf62c9e3be2d8dbd5ccb9cb7c5d97",
      "tree": "b395e3e093aa3010b54f9227e8a7cef08ed1b2a0",
      "parents": [
        "6b6a0f05248fc646d42f09cb891d8b6fda19426e"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Nov 08 12:08:02 2018 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Dec 11 17:18:05 2018 -0800"
      },
      "message": "Support open output stream with haptic channel mask.\n\nWhen haptic playback is supported according to audio policy\nconfiguration file, try to open the output stream with haptic channel\nmask. When trying to creat a track with haptic channel mask, use haptic\noutput if it is available.\n\nBug: 111454766\nTest: Manually test\nChange-Id: Ia8c70dd7f602a134d0509630eb734b8c540dea7d\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": "df27b04b52fd6a2ba9d9a5180adc2847386632a8",
      "tree": "15607195f3f2cb9372c61bb78b4af6bed26a28d3",
      "parents": [
        "5a2048c3095478482a5ac16639514d3a0a214713"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Nov 27 18:55:09 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Dec 11 11:58:13 2018 -0800"
      },
      "message": "Plumbing for OPUS encoding.\n\nWebm, OGG container extensions to hold opus.\nhooks so we can say that we\u0027re recording in opus format.\nOMX-specific changes are omitted since our target is Codec2\n\nBug: 111850384\nTest: with separate omx routines\nChange-Id: Iecb8b53df3fbd8506d2e6f007602284eb2d0decc\n"
    },
    {
      "commit": "07567d630dbda88b9a25a439a5936e507d1caeca",
      "tree": "5a0dbb9804c62be63d69b6da9272e1cf27ce2924",
      "parents": [
        "fb88fcd6fedec63fc370e74902ccc57eef6b4e69",
        "0e043b67ee430bc807971a5ffb29c653501ce99c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 07 15:22:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 15:22:52 2018 +0000"
      },
      "message": "Merge \"C-ify MediaBuffer\""
    },
    {
      "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": "930bbf99ed405fc17c18383d425b46eadd01d805",
      "tree": "6120281ec32b64e40439d48ca801e814e68be784",
      "parents": [
        "f4a342abd2959904caa18b5a0671e8107581ff24"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 11 18:44:27 2018 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 06 10:36:01 2018 -0800"
      },
      "message": "BufferProvider: Clear out mBuffer when changing upstream BufferProvider\n\nTest: QCOM internal stress test\nBug: 111313529\nChange-Id: Ieb7a61eddeb85528fabf7ad8f74b5104d50c2339\n"
    },
    {
      "commit": "0e043b67ee430bc807971a5ffb29c653501ce99c",
      "tree": "d48612310795acb3478370ae141a63274b06f8b8",
      "parents": [
        "b6670e3dbe3ca63d6766ae45de809ea97590d817"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 14 11:26:05 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 06 10:10:06 2018 -0800"
      },
      "message": "C-ify MediaBuffer\n\nBug: 111407253\nTest: CTS, manual\nChange-Id: Id20094f23d9d0dc0ec23127bbedc62c6e29944bd\n"
    },
    {
      "commit": "18dca5ef856873fee805c31be69eaca914de33ce",
      "tree": "91d8cce9219dd522587c0b41d298ae882d0adcc0",
      "parents": [
        "da0c1f2ca3e860997844eb146524887f96583d9f",
        "c8baaba1ee057336c0f9293a1762befded9b5936"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Nov 13 07:03:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 07:03:36 2018 +0000"
      },
      "message": "Merge \"Add new offline management APIs to MediaDrm\""
    },
    {
      "commit": "f872691537da559a5d3f755604dc52e430d12617",
      "tree": "f053337222092b30abb6bf3ec00d9a8df5f10adb",
      "parents": [
        "c25db9303131d04d15f2ca28f1a8f9153becf449"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Oct 17 13:31:26 2018 -0700"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Thu Nov 08 14:18:11 2018 -0800"
      },
      "message": "Enable JAudioTrack.\n\nMediaPlayer2 AudioOutput using public APIs.\n\nBug: 112549970\nTest: android.media.cts.MediaPlayer2Test, android.media.cts.RoutingTest\nChange-Id: Id76d80c040a52fd2ab724999697e222495906aec\n"
    },
    {
      "commit": "c8baaba1ee057336c0f9293a1762befded9b5936",
      "tree": "ff28a3497e5660eb564dda6571b5bb90ac2d485c",
      "parents": [
        "71fb1a8ce526868a1b36058a1a27260946f83d59"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Oct 23 11:32:36 2018 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Nov 07 17:31:36 2018 -0800"
      },
      "message": "Add new offline management APIs to MediaDrm\n\nbug:110838441\nbug:117570956\nbug:116252891\n\ntest:cts android.media.cts.MediaDrmClearkeyTest#testOfflineKeyManagement\n\nChange-Id: I2ee86afbd1a0ae793454c2e81f3267aaf10bade7\n"
    }
  ],
  "next": "69985f830f322ef33cf0b947a2fe09ec04d34de2"
}
