)]}'
{
  "log": [
    {
      "commit": "0c6b108fb692c3201cec77bf7983a384b33813de",
      "tree": "6833e030843984d6873d2d81938951244ee2e2cb",
      "parents": [
        "25cfa13eb8ba62bc0edae47959575f3a2049a8fe",
        "61e17b63b051559629ecdd396963a8d0df42811d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 20 20:13:26 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 20 20:13:26 2021 +0000"
      },
      "message": "Merge \"Camera: Pass initial device state when adding new camera devices\" into sc-v2-dev"
    },
    {
      "commit": "25cfa13eb8ba62bc0edae47959575f3a2049a8fe",
      "tree": "de06c33ffc7250b3ceea2f380412b07e60fe9225",
      "parents": [
        "2e84e8c4743412b385588736c4883c79387f47b1",
        "5368ebf6d9b6f24a3055e429ea2d3a15af30f946"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 20 16:08:52 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 20 16:08:52 2021 +0000"
      },
      "message": "Merge \"Camera: Query the rotate\u0026crop compensation value\" into sc-v2-dev"
    },
    {
      "commit": "61e17b63b051559629ecdd396963a8d0df42811d",
      "tree": "e44d188f1c1dff4d77815e5ad3a0d04663534bae",
      "parents": [
        "5368ebf6d9b6f24a3055e429ea2d3a15af30f946"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Oct 14 17:23:57 2021 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Oct 14 17:23:57 2021 -0700"
      },
      "message": "Camera: Pass initial device state when adding new camera devices\n\nOnce added new camera devices must receive the current device state\nso they can adjust accordingly.\n\nBug: 202567080\nTest: Manual using camera application,\nCamera CTS\n\nChange-Id: I8a4ed4b134ba412b2a268cb45141d72626b89ebb\n"
    },
    {
      "commit": "5368ebf6d9b6f24a3055e429ea2d3a15af30f946",
      "tree": "53020af781d0cf1b933ab61c7e2614ee11fa00b9",
      "parents": [
        "cf173b84ee87df273914a0b4a52cb79470c2b426"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Oct 08 17:52:18 2021 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Oct 14 13:44:50 2021 -0700"
      },
      "message": "Camera: Query the rotate\u0026crop compensation value\n\nInstead of checking whether rotate\u0026crop compensation is needed,\nlet the service proxy estimate the specific value that needs\nto be applied.\n\nBug: 202567080\nTest: Manual using camera applications,\nCamera CTS\n\nChange-Id: I59f44e74a8214b04e417153f52d95fec792e35b7\n"
    },
    {
      "commit": "4a872860ea907cc90289f6634ccf602b8a080bee",
      "tree": "2b23374e6c6287648a3b02eed2c7656a180ba178",
      "parents": [
        "cf173b84ee87df273914a0b4a52cb79470c2b426"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 11 17:06:47 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 11 17:10:38 2021 +0200"
      },
      "message": "Spatializer: add output changed method on native callback\n\nAdd onOutputChanged() method to INativeSpatializerCallback\nindicating when the output stream the Spatializer is attached to\nchanges.\n\nTest: run and enable/disable spatial audio\nBug: 202723925\nChange-Id: I5f7c5e0038f1c9235ee6fcdd0b56b7f2af07e01a\n"
    },
    {
      "commit": "cf173b84ee87df273914a0b4a52cb79470c2b426",
      "tree": "a5fc475ecf5d5e3c028fb12b2a6db86558fbc18b",
      "parents": [
        "abf84e8f51342eb4d03662eeaf81642c413b3abe",
        "e23f1d906359893251376093b0eea64e6a998cc5"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Oct 07 22:53:26 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 07 22:53:26 2021 +0000"
      },
      "message": "Merge changes from topic \"foldable_orientation\" into sc-v2-dev\n\n* changes:\n  Camera: Only override rotate\u0026crop for Camera2 clients\n  Camera: Allow dynamic sensor orientation updates\n"
    },
    {
      "commit": "e23f1d906359893251376093b0eea64e6a998cc5",
      "tree": "26edec3b85faf6959f1f0b1965b09c2cae907572",
      "parents": [
        "b50402ed27f43f94bafc1e3405b4afdbb09431ec"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Sep 20 14:56:01 2021 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Oct 07 11:25:48 2021 -0700"
      },
      "message": "Camera: Only override rotate\u0026crop for Camera2 clients\n\nLegacy camera clients can and will use \u0027setDisplayOrientation\u0027\nto explicitly set a preview stream transformation depending on\nthe sensor orientation and the device rotation.\nTo maintain backward compatibility and honor the client\nconfiguration, avoid overriding rotate\u0026crop in case we have a\nlegacy client connection.\nAdditionally do not override rotate\u0026crop for stream configurations\nthat include SurfaceView(HW_COMPOSER) outputs.\n\nTest: Manual using camera application\nBug: 201005727\nChange-Id: I3e32049bdd560724840780f96372c177ed2f4d20\n"
    },
    {
      "commit": "b50402ed27f43f94bafc1e3405b4afdbb09431ec",
      "tree": "f2605c1435d8c1764cbdf8e3b5d37b4d6ace2795",
      "parents": [
        "dc0f9b7afb75ee1356989e44559ed155fe8e7beb"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Sep 24 17:41:57 2021 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Oct 07 11:25:39 2021 -0700"
      },
      "message": "Camera: Allow dynamic sensor orientation updates\n\nCamera characteristics are usually expected to remain\nstatic. However certain devices such as foldables may need\nto be able to update specific values in response to various\nevents which could include device state changes.\nEnable camera clients to query such metadata updates and receive\nupdated sensor orientation values.\n\nBug: 201005727\nTest: Manual using AOSP Camera2 application,\nCamera CTS\n\nChange-Id: I9c191879b690929984a2945f744dd8407290cf99\n"
    },
    {
      "commit": "537607f1e419558a5d9ac427a3651304c51f767d",
      "tree": "689151887b933104e9e389e17c6a9a2595996148",
      "parents": [
        "0e8cf57b1c3454a166eb7969e62dee2484d1f975",
        "d65272ea5729aa31c8f1f26f77cd32f063423584"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 30 22:30:10 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 30 22:30:10 2021 +0000"
      },
      "message": "Merge \"camera: Return error code ERROR_CAMERA_IN_USE if setTorchMode return busy\" into sc-qpr1-dev am: d65272ea57\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15952824\n\nChange-Id: I968b4210dcebfc4cfbb5bf3ff2356a52915558ba\n"
    },
    {
      "commit": "6c25091d12cdb8a0eaaf8e9f7148fba47d8e4891",
      "tree": "1e71b83868eb2acbdc4cbca82893f47d58c16129",
      "parents": [
        "7b7e1d7f83c2b5af76e5589c6f6eebc7f9e0e803"
      ],
      "author": {
        "name": "Dijack Dong",
        "email": "hailang.dong@hp.com",
        "time": "Fri Sep 17 16:21:16 2021 +0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Sep 30 20:20:18 2021 +0000"
      },
      "message": "camera: Return error code ERROR_CAMERA_IN_USE if setTorchMode return busy\n\nTest: cts-on-gsi\n    run cts-on-gsi -m CtsCameraTestCases -t android.hardware.camera2.cts.FlashlightTest\n\nBug: 201496581\n\nChange-Id: Ifa361882e041606d20b6212267cfb2188190ed95\n"
    },
    {
      "commit": "9f12f178f27dff0d52f06345d96f0197745425a4",
      "tree": "0cb620a0be33d9e9fbe0463ddb1f3e53342233b2",
      "parents": [
        "65c6a61d1c8eaf4b9cf1fd01897ff6e8fa6b9d46"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Sep 23 16:47:25 2021 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Tue Sep 28 14:38:07 2021 -0700"
      },
      "message": "Remove dependency on libandroid\n\nThe main purpose of this change is to avoid having to pull in libandroid\nfor the sake of using the sensor manager from the audioserver process\n(native). The way this is achieved is by using lower-level APIs, namely\nthose offered by libsensor.\n\nAs a result, we were able to use sensor handles in SensorPoseProvider,\nrather than ASensor* objects, which is simpler and removes the need to\nenumerate all the sensor for the sake of finding the one with the\ncorrect handle.\n\nTest: Manually enable head tracking and observe the logs to verify that\n      the expected pose updates are received.\nBug: 198795859\nChange-Id: Ic69c322d6ea9297309a4856b3047c841831e04d7\n"
    },
    {
      "commit": "65c6a61d1c8eaf4b9cf1fd01897ff6e8fa6b9d46",
      "tree": "80da1ec7ae42e25229b5f54bbeac2a68c40b6a7e",
      "parents": [
        "b72b699a95aa4874be73100a9169234e3673322c",
        "ca39706bd2e13445a4e88ea21b62c0c02bd50ead"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 28 20:32:35 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 28 20:32:35 2021 +0000"
      },
      "message": "Merge \"AudioTrack: Improve pause handling.\" into sc-qpr1-dev am: ca39706bd2\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15910884\n\nChange-Id: I079357b563882e8bdc60927cafbacec95cd8c8cc\n"
    },
    {
      "commit": "ca39706bd2e13445a4e88ea21b62c0c02bd50ead",
      "tree": "0cc6954e4cf75877b4baaeab7f3b6828e8dc6790",
      "parents": [
        "d18a2c7da4eedb30981f5fb0d2baeacbee72e453",
        "959b5b8abaacb9d00be558042450a86bb1c54da5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 28 20:10:07 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 20:10:07 2021 +0000"
      },
      "message": "Merge \"AudioTrack: Improve pause handling.\" into sc-qpr1-dev"
    },
    {
      "commit": "959b5b8abaacb9d00be558042450a86bb1c54da5",
      "tree": "9c93724ebacea0fa061b61cf1d369f7dc48686e4",
      "parents": [
        "8437fc5d1d08f8f6ba6cd02530008fb7f49c14fa"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Sep 24 10:46:20 2021 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Sep 28 11:39:44 2021 -0700"
      },
      "message": "AudioTrack: Improve pause handling.\n\nAdd pauseAndWait() method to ensure that the pause is completed\n(ramped to silence) before any other operation, especially flush().\nIncorporate into MediaPlayer pause().\n\nTest: Clarity video with scrubbing bar.\nTest: Ringtone and Alarm playback.\nBug: 196194083\nChange-Id: Id8842c6c8abfd76d11b8316a95052c2e0da7fb7c\n"
    },
    {
      "commit": "f6fc53ad9c0f9656889d567c00e25944aba7d716",
      "tree": "4f51a26d2a4979ee44abf7805e5393c42392c281",
      "parents": [
        "6996259b43c6e8371897858190d7300882ec66be",
        "52b0bd582b8c15669caa302211d73298514a4702"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 28 08:19:35 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 08:19:35 2021 +0000"
      },
      "message": "Merge \"AudioPolicyService: add check when creating the spatializer\" into sc-v2-dev"
    },
    {
      "commit": "6996259b43c6e8371897858190d7300882ec66be",
      "tree": "00e40ba092898bfad946f830598f4d51a387f69c",
      "parents": [
        "cbf8ae9640ada029b58e8007fc6de9eeb4a106ad",
        "ff5e1684385b971cfcab75d9682f48fabad2a613"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Sep 27 17:23:51 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Sep 27 17:23:51 2021 +0000"
      },
      "message": "Merge \"ExifUtils: fix sensor pixel mode check.\" into sc-qpr1-dev am: ff5e168438\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15890768\n\nChange-Id: I4395c6d55b733f504a34fb251291e769cd94030a\n"
    },
    {
      "commit": "ff5e1684385b971cfcab75d9682f48fabad2a613",
      "tree": "ac53b8996b280744f9991420fff639618a5a67f2",
      "parents": [
        "35b450868cdf111cc2e07b99b4003859d5384186",
        "bb6259a1350f3ac846479880e265f0508a53e94e"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Sep 27 17:07:06 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 17:07:06 2021 +0000"
      },
      "message": "Merge \"ExifUtils: fix sensor pixel mode check.\" into sc-qpr1-dev"
    },
    {
      "commit": "52b0bd582b8c15669caa302211d73298514a4702",
      "tree": "6178cd4b5c0a9f4eb6a4c58cfa72412fb5ecab28",
      "parents": [
        "cbf8ae9640ada029b58e8007fc6de9eeb4a106ad"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 27 15:25:40 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 27 15:33:29 2021 +0200"
      },
      "message": "AudioPolicyService: add check when creating the spatializer\n\nAdd a null pointer check on mAudioPolicyManager before calling\ncanBeVirtualized() in onFirstRef() to avoid continuous audioserver\ncrashes when a failure to init the audio HAL occurs.\n\nBug: 201230333\nTest: make and boot\nChange-Id: Idcf21e3ac2e6e3fdbdcb4f68217abdc15f9166e5\n"
    },
    {
      "commit": "cbf8ae9640ada029b58e8007fc6de9eeb4a106ad",
      "tree": "5b829d94ffb3413778941638286a6f4fe502febe",
      "parents": [
        "9092ee6696286824696839dadf2497f8739d53c9",
        "35b450868cdf111cc2e07b99b4003859d5384186"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sat Sep 25 05:53:57 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Sep 25 05:53:57 2021 +0000"
      },
      "message": "Merge \"cameraserver: Remove framework only keys before sending capture requests to hal.\" into sc-qpr1-dev am: 35b450868c\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15822892\n\nChange-Id: I6701b860905a2c2d2a82a13adfef608aacbbdfa4\n"
    },
    {
      "commit": "bb6259a1350f3ac846479880e265f0508a53e94e",
      "tree": "3f274aa71513a07eca5fbcedfa47d04c9da99814",
      "parents": [
        "1c16bc6ac95d17046a6ea78557238d4093325e04"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Sep 22 16:48:33 2021 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Sep 24 09:56:43 2021 -0700"
      },
      "message": "ExifUtils: fix sensor pixel mode check.\n\nBug: 200246836\nBug: 199898378\n\nTest: Vendor Testing\nTest: Camera CTS on cuttlefish\nTest: atest cameraservice_test\n\nChange-Id: I94caeaa1490220cf68c05c95d6035e8765652acb\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "6e6c9b08ca130a686e83ae9ff1fe426e9642086c",
      "tree": "416b35fadf0e9c7f8181e48edbfa33b1ffa4365f",
      "parents": [
        "f767f18a0ca37825040ae6d61a79c0892718cb9d",
        "656bfdc71f8d68a5f23872f6c8d8241f22f32a3e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 23 18:07:59 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 23 18:07:59 2021 +0000"
      },
      "message": "Merge \"AAudio: support spatialization attributes\" into sc-v2-dev"
    },
    {
      "commit": "656bfdc71f8d68a5f23872f6c8d8241f22f32a3e",
      "tree": "6992a0ebc1d366c7d9cca945b48810370654d593",
      "parents": [
        "76f1d33e816807fe2dee4262c57b4b7e01727508"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 20 18:42:37 2021 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 22 12:55:56 2021 -0700"
      },
      "message": "AAudio: support spatialization attributes\n\nAdd support for spatialization behavior and whether content is\nspatialized, information carried inside audio_attributes_t\n\nBug: 188502620\nTest: atest test_aaudio_attributes\nChange-Id: Iaed78583e81437f39533bedde29d408b0a285138\n"
    },
    {
      "commit": "223862299a15d2ff868043c73c63063b0ade0f58",
      "tree": "8a22929da24dcd7da4667358739023b22dcf94db",
      "parents": [
        "76f1d33e816807fe2dee4262c57b4b7e01727508"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Sep 22 12:09:31 2021 -0700"
      },
      "committer": {
        "name": "George Burgess",
        "email": "gbiv@google.com",
        "time": "Wed Sep 22 19:13:43 2021 +0000"
      },
      "message": "Spatializer: add missing `return`\n\nIt seems that we intended to return here. Otherwise, we\u0027ll deref NULL\nbelow.\n\nIf68c99f39040984ff46e27779f211fdfe3126da5 adds attributes to these\nfunctions that will have `clang` emit warnings if their results aren\u0027t\nused.\n\nCaught by the static analyzer:\n\u003e frameworks/av/services/audiopolicy/service/Spatializer.cpp:558:13:\nwarning: Dereference of null pointer (loaded from variable \u0027output\u0027)\n[clang-analyzer-core.NullDereference]\n\nBug: 188502620\nTest: TreeHugger\nChange-Id: Idced7c095b6617349737449cf5451abdb22ea6ed\n"
    },
    {
      "commit": "4c123df46ef09500df8a392e4158fbaaa95186d0",
      "tree": "9b860a1e6a04f2b4fbcd821f26f4d4a0fd1aa742",
      "parents": [
        "f7249f811f094cc3472b5739350c22fb6010cfc3",
        "7fe6c425cf311373ae8c2edd541b50f266b3f19c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 22 05:56:33 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 22 05:56:33 2021 +0000"
      },
      "message": "Merge \"Camera: Avoid recursive deadlock during device state changes\" into sc-v2-dev"
    },
    {
      "commit": "f7249f811f094cc3472b5739350c22fb6010cfc3",
      "tree": "c25e8cff84c0f87cb99943edb14225bf690f7240",
      "parents": [
        "05a9b71cf506aed8911b44aa65b1cdafac75b38e"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Sep 21 07:10:12 2021 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Sep 21 14:11:55 2021 +0000"
      },
      "message": "Spatializer: Avoid null pointer dereference\n\nBug: 188502620\nTest: TreeHugger\nChange-Id: Ib8f0a239e2271981febd9a11da20d7631a9daec3\n"
    },
    {
      "commit": "c87402b04f2d9bb7040620b4523d88950f5f2fcd",
      "tree": "e475d18ecfa3400c1ab327b4f6919bce8dbae0d5",
      "parents": [
        "16ddaf4af8bb617d395ea3d44d153f22d3257cfb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 17 16:49:42 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 20 20:45:20 2021 +0200"
      },
      "message": "Spatializer: add several methods to ISpatializer\n\nAdd sevreal methods to Ispatializer interface:\n- setParameter() and getParameter() for vendor specific configuration\nby engine implementor.\n- getOutput() method to query on which output stream\nthe spatializer is attached to.\n- isHeadTrackingSupported() to query if the engine supports head tracking.\n\nBug: 188502620\nTest: make\nChange-Id: Ifbded2cf17a45f40d5b6407b8afb4c68c0718ecf\n"
    },
    {
      "commit": "16ddaf4af8bb617d395ea3d44d153f22d3257cfb",
      "tree": "a88916a21a41bd8cb0344d43cc32b35ef8688132",
      "parents": [
        "f690c468780ceb12554d1277256a24a66d49d149"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 17 15:00:35 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 20 15:52:50 2021 +0200"
      },
      "message": "Spatializer: forward display rotation to engine\n\nForward display rotation to spatializer engine for\nuse by transaural mode.\n\nBug: 188502620\nTest: make\nChange-Id: I15f5c06d52b414600a3370906ac5d66183d4f243\n"
    },
    {
      "commit": "f690c468780ceb12554d1277256a24a66d49d149",
      "tree": "08707c75f58d01ace38cad8f80b8489498f01e6a",
      "parents": [
        "bd1eee2ae0fc2445610ba4a5a3216e1ab65cd45c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 17 14:47:03 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 17 17:48:23 2021 +0000"
      },
      "message": "AudioFlinger: limit ability to create a Spatializer effect\n\nA Spatializer effect can only be created from audio policy service\nand on a spatializer thread.\n\nBug: 188502620\nTest: make\nChange-Id: Ia64ea3b68a536a34a14be104151a582e023c9dad\n"
    },
    {
      "commit": "bd1eee2ae0fc2445610ba4a5a3216e1ab65cd45c",
      "tree": "20eb04d440dd776877ec9af3df2a8a6df5503e75",
      "parents": [
        "2abe5191464c2d9cce8c14209ecfc71aec135b9a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 17 14:37:45 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 17 14:59:50 2021 +0200"
      },
      "message": "Spatializer: remove EffectClient nested class\n\nRemove unused nested class EffectClient. It was designed\nto help expose an IEffect interface allowing avanced configuration\nby spatializer implementor but will be replaced by the addition\nof a set/get parameter methods on ISpatializer.\n\nBug: 188502620\nTest: make\nChange-Id: Ia3b4740f1b00cb444b6e4e7e039765421ef0297b\n"
    },
    {
      "commit": "7fe6c425cf311373ae8c2edd541b50f266b3f19c",
      "tree": "243e8fe676f1769a0d6a10e3b42fd04b3ef4e9f1",
      "parents": [
        "b74579084ad6fa99d37e0cbc18c4fac86e4b3230"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Sep 08 13:43:20 2021 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Sep 17 00:42:19 2021 +0000"
      },
      "message": "Camera: Avoid recursive deadlock during device state changes\n\nDevice state change notifications are currently triggered while\nholding \u0027mInterfaceMutex\u0027. In case the camera provider tries\nto add or remove a certain device/devices, then the provider\nmanager will try to recursively obtain the same \u0027mInterfaceMutex\u0027.\nAlso avoid holding the \u0027mServiceLock\u0027 when notifying the\ncamera provider manager, access to its public interface\nis already synchronized via \u0027mInterfaceMutex\u0027.\n\nBug: 199240726\nTest: Camera CTS\nChange-Id: I9c71cc93ab91adc905488f954294b641d107de72\n"
    },
    {
      "commit": "67816e34f3fc7a67ba7438e414c3d4eb9dd3f050",
      "tree": "111cef619fb877a9ce8493eba60d01b16bbeca5c",
      "parents": [
        "780be4ad4707d0b7f4c3a651e55b6d39f922416d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 16 15:18:40 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 16 20:39:52 2021 +0200"
      },
      "message": "Spatializer: Add head tracking callback\n\nSplit head tracking related events from main INativeSpatializerCallback\nto a dedicated callback ISpatializerHeadTrackingCallback that can\nbe registerred and unregistered independently.\n\nBug: 188502620\nTest: manual test with mock spatializer\nChange-Id: I09eefb0911f557a6faa6cf0b6c1afe7eaf71ca84\n"
    },
    {
      "commit": "780be4ad4707d0b7f4c3a651e55b6d39f922416d",
      "tree": "cfdc83de181563fdc9de98541cb21b58d315f146",
      "parents": [
        "8a4259fcc5af809363e74a4f67a791c0cb556574"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 16 10:44:24 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 16 18:51:16 2021 +0200"
      },
      "message": "Spatializer: head tracking optimization\n\nDo not create a head pose controller and accept head\ntracking commands if the engine does not support\nheadtracking.\n\nBug: 188502620\nTest: manual test with mock spatializer\nChange-Id: I9579729588e10d9c3b628266333674caf08022b4\n"
    },
    {
      "commit": "8a4259fcc5af809363e74a4f67a791c0cb556574",
      "tree": "339cb69da32906efa532df2e1396ff6a7209503a",
      "parents": [
        "879f0910c4afe773bce153f90793bfb91ec8224c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 14 16:04:00 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 16 15:56:40 2021 +0200"
      },
      "message": "Spatializer: process callbacks in separate thread\n\nAdd a Looper and Handler to process events from the engine\nand pose controler callback to avoid cross mutex deadlocks.\n\nBug: 188502620\nTest: manual test with mock spatializer\nChange-Id: I1342602259b147727c704ad7bbeb1b3a68c7b231\nMerged-In: I1342602259b147727c704ad7bbeb1b3a68c7b231\n"
    },
    {
      "commit": "65c9bf0a9b968ddab403e024f16fec274d8a1690",
      "tree": "27900e3977f386e2610b6e8dce611ca6f5b9dbc1",
      "parents": [
        "1c16bc6ac95d17046a6ea78557238d4093325e04"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Sep 03 16:44:16 2021 +0000"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Sep 13 18:28:21 2021 -0700"
      },
      "message": "cameraserver: Remove framework only keys before sending capture requests to hal.\n\nFramework only keys ANDROID_SCALER_CROP_REGION_SET,\nANDROID_AF_REGION_SET, ANDROID_AE_REGION_SET, ANDROID_AWB_REGION_SET\nmust be removed before sending requests to the camera HAL. This is so\nthat camera HALs built with older versions of VNDK which don\u0027t have this\nkey defined do not fail validate_camera_metadata_structure().\n\nBug: 198535636\n\nTest: Vendor Testing\nTest: Camera CTS\n\nChange-Id: I418831008c39a14b940b909da81b508c2f9b0f0d\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "8b6fe3a498fe93b58cba283b710f851f5d10070e",
      "tree": "d30713451391da63595739e169a45b99cfe40ae8",
      "parents": [
        "54f075866282357aab2afd5bb207217710fdef57"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Mon Sep 13 15:55:44 2021 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Mon Sep 13 16:46:55 2021 -0700"
      },
      "message": "Fix destruction order in SpatializerPoseController\n\nWe want to make sure the pose provider is destroyed before the\nprocessor, to make sure no pose updates are received with the\nprocessor destroyed.\n\nTest: Manual inspection of logs while running head tracking.\nBug: 188502620\nChange-Id: I7110e8db178e16f4addbfb6a0701a700da976ac7\n"
    },
    {
      "commit": "2be8b29bd9d59497756635ce96ef508c3a0fb48d",
      "tree": "92c5789f7e4951dd36354f49d87da086d2b5299e",
      "parents": [
        "e9b349585d513ec5a6f045e7e2657700680f159e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 23 09:44:33 2021 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 13 18:23:23 2021 +0200"
      },
      "message": "spatializer: integrate pose controller\n\nImplement head tracking functions in Spatializer\nclass based on the SpatializerPoseController class.\n\nAdd new APIs to ISpatializer interface to:\n- set head pose sensor\n- set screen pose sensor\n- set screen orientation\nAdd new APIs to INativeSpatializerCallback to:\n- notify new head to stage pose\n- notify new actual headtracking mode\n\nBug: 188502620\nTest: manual test with mock spatializer\nChange-Id: I4584df055cd91bc124d081861baa2fe83df69fa5\n"
    },
    {
      "commit": "e9b349585d513ec5a6f045e7e2657700680f159e",
      "tree": "36000755c79547f87940ff6a6f0623fad55c62ad",
      "parents": [
        "8b7d53bc1b8b03390fb3057a828bd1738fb01b7b"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 10 12:48:27 2021 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 10 16:01:15 2021 -0700"
      },
      "message": "Fix log tag\n\nTest: m -j\nBug: 188502620\nChange-Id: Iaf926f6ce4f5626a004facdbe74f012d4c4e71e5\n"
    },
    {
      "commit": "8b7d53bc1b8b03390fb3057a828bd1738fb01b7b",
      "tree": "8818a16d7e5908336fe1c589659db426edfb48ab",
      "parents": [
        "9dc68b997439abf24edd8a944a1663953e8a5a5b",
        "7c2acd11fb8dcd9269dd1724c97d385ed1742bde"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 10 21:53:32 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 10 21:53:32 2021 +0000"
      },
      "message": "Merge changes I1b3a4173,I1200c9fd into sc-v2-dev\n\n* changes:\n  Do not hold the lock while invoking callbacks\n  Ensure correct destruction of SensorPoseProviderImpl\n"
    },
    {
      "commit": "7c2acd11fb8dcd9269dd1724c97d385ed1742bde",
      "tree": "e34ac4ab6b039e16508812eb37f522620dac505d",
      "parents": [
        "c29bad6438fa51331a4ca6dd434b2134073d578b"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Sep 09 15:50:00 2021 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Sep 10 10:21:11 2021 -0700"
      },
      "message": "Do not hold the lock while invoking callbacks\n\nHolding the lock creates a burden on the client, so easier to handle\nhere.\n\nTest: Manual verification using logs.\nBug: 188502620\nChange-Id: I1b3a417315bd05bd421b8d643fd15f832faace02\n"
    },
    {
      "commit": "48e5af7adf5559074564bd9280877571c747b520",
      "tree": "6ab1dac45d0d8a791640e69286993b82af21645f",
      "parents": [
        "1f10f72c4143a5aedd9dcaab6db33adb331f735e",
        "4162873eb7d59d3c7a53317b27c291932728d430"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 09 20:49:44 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 09 20:49:44 2021 +0000"
      },
      "message": "Merge \"Audio policy: fix crash in absence of spatializer\" into sc-v2-dev"
    },
    {
      "commit": "4162873eb7d59d3c7a53317b27c291932728d430",
      "tree": "5b05a66f5c3dba5d2f0e3a60ddf536f587ebc48e",
      "parents": [
        "b13c68544c9958d5fd3d67e1d400ac1f495abf11"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 09 12:16:21 2021 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 09 12:16:21 2021 -0700"
      },
      "message": "Audio policy: fix crash in absence of spatializer\n\nCheck for null pointer when registering the callback for\nthe spatializer.\n\nBug: 188502620\nTest: boot w/o crashing on device w/o spatializer support\nChange-Id: I71a1e31e00cf513aafafcb341b79d70859ce7f1b\n"
    },
    {
      "commit": "1f10f72c4143a5aedd9dcaab6db33adb331f735e",
      "tree": "859ad2c9dbec6a10f14c3383517098c191bfe4c2",
      "parents": [
        "4cd7136c4d9b80f0f1478b2f81679e7cf67bcb8e",
        "7901bddf0af4915294af1006befce269dd28e920"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Thu Sep 09 17:23:11 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 09 17:23:11 2021 +0000"
      },
      "message": "Merge changes I58e1c380,I3aa1f225,Ifb73050e into sc-v2-dev\n\n* changes:\n  Fix display orientation handling\n  Better support for head and screen sensors being the same one\n  Refine the recenter operation\n"
    },
    {
      "commit": "4cd7136c4d9b80f0f1478b2f81679e7cf67bcb8e",
      "tree": "845008955bf1cdf1eec2393cb2e8c98f26d7905f",
      "parents": [
        "23be99be193120532ec8fbda85fd8508103c8b01",
        "1c16bc6ac95d17046a6ea78557238d4093325e04"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 09 15:53:48 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 09 15:53:48 2021 +0000"
      },
      "message": "Merge \"Camera: Invalidate buffer cache for partial buffer request failure\" into sc-qpr1-dev am: 1c16bc6ac9\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15779277\n\nChange-Id: Ic5bba64d6598698a2f044c03b14fe871f60c310b\n"
    },
    {
      "commit": "1c16bc6ac95d17046a6ea78557238d4093325e04",
      "tree": "56429a2d076a47d4d54ce43f7d8605b15ac69d5a",
      "parents": [
        "1fbbbfc108563463f54d3563cddd1baa6f8f4b4b",
        "cd5b1823b5eed510c069477545a8c43c7cbb0c58"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 09 15:36:48 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 09 15:36:48 2021 +0000"
      },
      "message": "Merge \"Camera: Invalidate buffer cache for partial buffer request failure\" into sc-qpr1-dev"
    },
    {
      "commit": "e431591eb802b5269f4f1f4cf03ca0486ba1d25e",
      "tree": "21ec7540b0ec1f4955bb738e765ddc813be2ed33",
      "parents": [
        "b74579084ad6fa99d37e0cbc18c4fac86e4b3230",
        "0129d2c10402d92b12acf5cfe31f4736495f2cfd"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Sep 09 00:13:54 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 09 00:13:54 2021 +0000"
      },
      "message": "Camera: Increase aspect ratio threshold for thumbnail am: 0129d2c104\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15778163\n\nChange-Id: Ide7cb66d83020a22d3bef4459fcf64c6a6948caa\n"
    },
    {
      "commit": "9bae7429becbb9f6f6fb66d7b7756a4e486cebaf",
      "tree": "7691c0b6d4dc54a49778167174fbc09fe2c7446c",
      "parents": [
        "95b00c8ce09fbeb51f1a7256cd4913546a44cc1e"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Aug 27 16:13:19 2021 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Sep 08 16:14:07 2021 -0700"
      },
      "message": "Better support for head and screen sensors being the same one\n\nThis is not a super interesting use-case, but for completeness we\nshould make sure it is handled correctly.\n\nFrom the Sensor Framework standpoint, a sensor can only be enabled\nonce at a given time. We mirror this behavior in SensorPoseProvider\nand document it well.\n\nAt the SpatializerPoseController layer we make sure that we don\u0027t\nenable a sensor more than once and that if both sensors are the same\nthat we treat an event as applying to both.\n\nTest: manual verification of this mode.\nBug: 188502620\nChange-Id: I3aa1f225d7100c5d934af9255484caec75375380\n"
    },
    {
      "commit": "95b00c8ce09fbeb51f1a7256cd4913546a44cc1e",
      "tree": "7e8aea8246f289c9e2ccf0c80af9da91233a5648",
      "parents": [
        "b13c68544c9958d5fd3d67e1d400ac1f495abf11"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Fri Aug 27 15:27:08 2021 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Sep 08 16:14:07 2021 -0700"
      },
      "message": "Refine the recenter operation\n\nThis change allows recentering to happen for an individual sensor\nrather than to all at once. This avoids unecessary recentering and\nrate limiting if the sensor being recentered is not being used in the\ncurrent mode.\n\nTest: atest --host libheadtracking-test\nBug: 188502620\nChange-Id: Ifb73050e0072e676b5936a22e0cd1be8d31e9596\n"
    },
    {
      "commit": "cd5b1823b5eed510c069477545a8c43c7cbb0c58",
      "tree": "c0da4d935be8484d5a5eaf2a2a5b3b7c133dae12",
      "parents": [
        "547282798ce5fe06b36f623219e799336a234ec9"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Sep 07 11:52:48 2021 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Sep 08 16:24:51 2021 +0000"
      },
      "message": "Camera: Invalidate buffer cache for partial buffer request failure\n\nIn case partial buffer request fails for a particular stream, the\nsuccessfully allocated buffers need to be invalidated from the\nmBufferIdMaps. Otherwise, the camera frameworks thinks the HAL already\nknows about the buffer, and sends a null buffer handle for a new buffer.\n\nTest: Vendor testing\nBug: 198122465\nBug: 196202313\nChange-Id: I73a710aebf102fcbb49e53b52c18e4835986f40f\n"
    },
    {
      "commit": "0129d2c10402d92b12acf5cfe31f4736495f2cfd",
      "tree": "c709be8dedc3a37b4f5a56a0b65cc7acf1dfd056",
      "parents": [
        "547282798ce5fe06b36f623219e799336a234ec9"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Aug 30 17:26:12 2021 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Sep 07 23:26:51 2021 +0000"
      },
      "message": "Camera: Increase aspect ratio threshold for thumbnail\n\nIf max JPEG size aspect ratio is 1.331797, and the desired thumbnail\naspect ratio is 1.33, existing threshold of 0.001 is too small to match\nthem.\n\nIncrease the threshold to 0.01.\n\nBug: 198411929\nTest: Vendor testing\nChange-Id: I6a36a4a837cdf6f1adcfb3f95b4810862cbd4d06\n"
    },
    {
      "commit": "390959835b813c11bedd9d25a34d2b0c78a6114b",
      "tree": "b6a803b65871456033147226dd6af7cea09825ca",
      "parents": [
        "5c6514ca32c11e622a11371d46a2bb97e3f1e954"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 18:29:27 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 03 17:00:02 2021 +0200"
      },
      "message": "audio policy: update spatializer policy\n\nModify the rules to open and close the spatializer output\nto address more scenarios:\n- more than one spatializer output profile available\n- some devices only reachable via a spatializer output profile\n\nThe spatializer outputs are opened and closed like other outputs\nand a logic evaluates the best output when getSpatializerOutput()\nis called\n\nBug: 188502620\nTest: make\nChange-Id: Id336e5c38a398525b3fab406cedce8a010d6c854\n"
    },
    {
      "commit": "b13c68544c9958d5fd3d67e1d400ac1f495abf11",
      "tree": "2b85399cb5d899fd9ce3901231d194abbe94bde3",
      "parents": [
        "c15cdd377848a1bd6db21f53367fcff9eede12d4",
        "d83c42d6b8f3cb8ec7fabdf33799aa9dd62b8183"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Fri Aug 27 17:34:06 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 27 17:34:06 2021 +0000"
      },
      "message": "Merge \"Add SpatializerPoseController\" into sc-v2-dev"
    },
    {
      "commit": "d83c42d6b8f3cb8ec7fabdf33799aa9dd62b8183",
      "tree": "43b76417cd57c1bad2a205768a689b421982bbd8",
      "parents": [
        "d91256993d66336bd51c0f443650433d19a880ac"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Wed Aug 25 14:19:34 2021 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Aug 26 09:23:13 2021 -0700"
      },
      "message": "Add SpatializerPoseController\n\nThis class encapsulates the logic for pose processing, intended for\ndriving a spatializer effect.\n\nBug: 188502620\nTest: Manual testing of pose processing using logging.\nChange-Id: I84d47926ff469d7c09895aba55aaf2e6c890ec00\n"
    },
    {
      "commit": "ac08f91fd1bb95287c6be735751e6b4312836e6c",
      "tree": "b8832f143c731d52cbfc2397c6d575b93c4ffddd",
      "parents": [
        "f7adf32d2c5a33d2846536ed235948646202c9b9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 25 15:01:05 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 25 15:01:05 2021 +0200"
      },
      "message": "audio: add new flags for spatialization behavior\n\nAdd audio attributes flags specifying the requested spatialization\nbehavior for an audio track.\n\nBug: 188502620\nTest: make\nChange-Id: Ic83b172f6beb643b43be6821fb615aa7528a0b97\n"
    },
    {
      "commit": "f7adf32d2c5a33d2846536ed235948646202c9b9",
      "tree": "284df54e09118e932baa8940a35a1007d8b68f8c",
      "parents": [
        "35a1fcb1c004a3d06a4b8d3b3719e08fb0eae4b3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 20 16:01:00 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 12:03:03 2021 +0200"
      },
      "message": "spatializer: fix aidl interface dependency\n\nCreate a separate library for spatializer aidl\ninterfaces to solve double inclusion of some dependencies\nin framework.jar and services.jar\n\nBug: 188502620\nTest: atest StrictJavaPackagesTest#testBootClasspathAndSystemServerClasspath_nonDuplicateClasses\n\nChange-Id: I4c8a2149c650d22e335e73e73baaa361b58cda29\nMerged-In: I4c8a2149c650d22e335e73e73baaa361b58cda29\n"
    },
    {
      "commit": "a16a9df3e30fd753641f57f51dd8a19b61dea12e",
      "tree": "6fc23bb23b3052185234aca3fb9c1876b5ab5275",
      "parents": [
        "b2a87e5dc0bbd496df3addccf4ccd913f132c920"
      ],
      "author": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Thu Aug 05 08:57:06 2021 -0700"
      },
      "committer": {
        "name": "Ytai Ben-Tsvi",
        "email": "ytai@google.com",
        "time": "Mon Aug 23 10:00:53 2021 -0700"
      },
      "message": "Some syntactic cleanup\n\nMostly, this change renames HeadTrackingMode to\nSpatializerHeadTrackingMode in order to avoid name collision with the\nHeadTrackingMode type from libheadtracking.\n\nOther nits are included.\n\nTest: m -j\nBug: 188502620\nChange-Id: I7f4188c1f401a98044f28c68d9613267d5baa808\n"
    },
    {
      "commit": "1c5e2e3dd2b18067995761eccd4c456bba0f7cef",
      "tree": "a826fc04cecdca9fcc7a4de72928e41d7d63b9b8",
      "parents": [
        "6d60701ee24367f4fa5974a7b1b94925c35c333b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 18 18:50:28 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 19 19:41:02 2021 +0000"
      },
      "message": "audio: rename virtualizer stage to spatializer (2)\n\nUpdate after renaming in system/media includes.\n\nBug: 188502620\nTest: make\nChange-Id: I12ed9fbcf2064190d3c59f8003b2d74c07c09a11\n"
    },
    {
      "commit": "6d60701ee24367f4fa5974a7b1b94925c35c333b",
      "tree": "419425a23a56ba3796acef7715fa57f6e9175216",
      "parents": [
        "3e2957421cba8b5545ed95007781095b471aa382"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 05 11:54:40 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 19 15:05:43 2021 +0000"
      },
      "message": "audio policy: add Spatializer effect control\n\nAdd APIs to discover support for audio spatialization function and control a\nspatializer output mixer and effect creation to Audio Policy Service.\n\nWhen supported, a system service can retrieve a ISpatializer\ninterface to query supported features and set a spatialization mode.\n\nWhen spatialization is enabled, the corresponding specialized output mixer is\ncreated and the effect applied.\n\nThe audio policy manager will attach clients which audio attributes and\nformat qualifying for spatialization to the specialized output mixer.\n\nBug: 188502620\nTest: make\n\nChange-Id: Ie2734fb9bb3ef9b945431c6c9bd110b1434a79cd\nMerged-In: Ie2734fb9bb3ef9b945431c6c9bd110b1434a79cd\n"
    },
    {
      "commit": "3e2957421cba8b5545ed95007781095b471aa382",
      "tree": "7250643f474defedf164988d45746fe72dac2ae8",
      "parents": [
        "2290be4a519b4a60ae722253da7a84cedb894137",
        "fa0f67403875041c739a04cb540c25f770f4ebf4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 18 16:54:35 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 18 16:54:35 2021 +0000"
      },
      "message": "Merge \"audio: rename virtualizer stage to spatializer\" into sc-v2-dev"
    },
    {
      "commit": "fa0f67403875041c739a04cb540c25f770f4ebf4",
      "tree": "99eee9fbf621c6b4b0dbfd485a055852e6d5be14",
      "parents": [
        "eac8ea648ad98617782c61ca4c6689315a1b5eb8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 17 18:39:44 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 18 13:13:43 2021 +0000"
      },
      "message": "audio: rename virtualizer stage to spatializer\n\nUse audio spatializer and spatialization instead of\nvirtualizer stage to reflect the name chosen for public APIs.\n\nBug: 188502620\nTest: make\nChange-Id: I7974c5b159722efd795e0b0b79ddbb0658c52034\n"
    },
    {
      "commit": "2290be4a519b4a60ae722253da7a84cedb894137",
      "tree": "fe8f92825eee7df0464dc7f8ce2e0de318c76a88",
      "parents": [
        "4f08b4f985263dfb2ee00ab26aa267190637acc4",
        "1c3c35c0722e61fc6f09e3350e975f55805a56d6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 18 11:23:54 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 18 11:23:54 2021 +0000"
      },
      "message": "Merge \"audio policy: fix call volume upon speaker to USB transition\" into sc-qpr1-dev am: 1c3c35c072\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15583325\n\nChange-Id: I2f9bd1b140d9c8bbd47006ff0445ee82ed776eb8\n"
    },
    {
      "commit": "e8f2c0fa66c94eca27d0e0011bf8fc8d6dba9e94",
      "tree": "72d793dbc8954ae9378b25d29d077c904f68e8f9",
      "parents": [
        "f72b417eb9ef47bbe80af2b3b492cdafa95214cd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 17 11:17:19 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 17 11:17:19 2021 +0200"
      },
      "message": "audio policy: fix call volume upon speaker to USB transition\n\nFix voice volume handling in checkAndSetVolume() to only update\nvoice volume when changing volume on the primary output.\nBy convention, call routing and volume is managed by the primary output\nand as other outputs may use a different device than the device selected\nfor calls, a wrong voice volume can be computed and overwrite a correct\nvolume set previously.\n\nBug: 195907034\nTest: repro steps in the bug\nChange-Id: Iafecb4df159db84addc3d802cdd2775cc696e07e\n"
    },
    {
      "commit": "de8caf42b35fcd4ef24eac5396ec6e813b0e1bea",
      "tree": "15151b6f9f39a5b6af7d45ad6ad7ef17d559bf25",
      "parents": [
        "d579b203e4bb6dfa4c06f226e345902dd4f4abc9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 11 17:19:25 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 13 10:42:14 2021 +0200"
      },
      "message": "AudioEffect: Add process callback\n\nAdd a callback method to IEffectClient interface to notify the\ncontrolling AudioEffect client when the effect engine has processed\nframes in the audio mixer thread.\n\nBug: 188502620\nTest: make\nChange-Id: Ibf3078b2fc779102eb8f70698e6ccc308c6f0bad\n"
    },
    {
      "commit": "0dfad22f14e9d01aef117c7a0f0cd09956aa9e9d",
      "tree": "54871110328a5da10031d3a89266fa0f041f0f53",
      "parents": [
        "dd7f1f7bd007b694759ff8decfda43337c0e6ae6",
        "a22028535b5c2bb487d23c5e9222e226f6e7d06b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 10 00:18:09 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 10 00:18:09 2021 +0000"
      },
      "message": "Merge \"Fix odd values in aaudio metrics.\" into sc-dev"
    },
    {
      "commit": "a22028535b5c2bb487d23c5e9222e226f6e7d06b",
      "tree": "f332ace8a106e43cd45b3cd025031c4b1422abd0",
      "parents": [
        "53a58911405f41884178d83ed4f23859398e8879"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Jul 28 22:15:01 2021 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Fri Aug 06 22:48:18 2021 +0000"
      },
      "message": "Fix odd values in aaudio metrics.\n\n1. Do not log the AudioStream information if it is from the service. The\nservice side may automatically create an AudioStreamInternal instance\nwhen a shared endpoint is used. This is not the interesting part for the\nmetrics.\n\n2. If the aaudio stream uses legacy path, only channel mask will be\nlogged. Calculate channel count from channel mask for logging aaudio\nmetrics.\n\nTest: atest AAudioTests MediaMetricsAtomTests\nTest: dumpsys media.metrics\nBug: 194937266\nBug: 192313064\nChange-Id: I183224a4acc59c40d511ee2eb37da05210851348\n(cherry picked from commit fbf2030e6935180d03885901992bb679cca8f922)\n"
    },
    {
      "commit": "fdd9360ca0b122fd2bd1f2d731bc3254c0c2bcfe",
      "tree": "f1cb885387156ebf93ff69b1e1771e2d9ad8a7ee",
      "parents": [
        "54417f0506d0f3f513055bafa53b9b007f1d8a0b",
        "0c1ce4efc56f3cc3012112e9eb24a141b241e98e"
      ],
      "author": {
        "name": "Ahaan Ugale",
        "email": "augale@google.com",
        "time": "Thu Aug 05 19:29:48 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 05 19:29:48 2021 +0000"
      },
      "message": "Merge \"Apply Assistant AudioPolicy to HotwordDetectionService\" into sc-dev am: 0c1ce4efc5\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15464022\n\nChange-Id: I1703013f07bbcc714fca1004cefa6b1d86d49adc\n"
    },
    {
      "commit": "0c1ce4efc56f3cc3012112e9eb24a141b241e98e",
      "tree": "2e13d88c33ed6b1a09458288349c9c9a274add97",
      "parents": [
        "cbc27ff2485f0fa13543b0cabebabcec17471441",
        "f51ce00a3e1d95bf22f85454510f6eca0c32ed68"
      ],
      "author": {
        "name": "Ahaan Ugale",
        "email": "augale@google.com",
        "time": "Thu Aug 05 19:16:01 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 05 19:16:01 2021 +0000"
      },
      "message": "Merge \"Apply Assistant AudioPolicy to HotwordDetectionService\" into sc-dev"
    },
    {
      "commit": "54417f0506d0f3f513055bafa53b9b007f1d8a0b",
      "tree": "f62a02d3820609722735c77559743df3f424c939",
      "parents": [
        "7bd23378e78a169040394df01f974c31662d261a",
        "cbc27ff2485f0fa13543b0cabebabcec17471441"
      ],
      "author": {
        "name": "Iavor-Valentin Iftime",
        "email": "valiiftime@google.com",
        "time": "Thu Aug 05 11:50:56 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 05 11:50:56 2021 +0000"
      },
      "message": "Merge \"Disconnect external cameras if sensor privacy enabled\" into sc-dev am: cbc27ff248\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15371897\n\nChange-Id: I85ec9b77504403aa21ee16fa9e107491344e069f\n"
    },
    {
      "commit": "cbc27ff2485f0fa13543b0cabebabcec17471441",
      "tree": "f4f391d3ea0d0865c7ba42b1dcf41dc25ceb450c",
      "parents": [
        "1eeb75c8523ed7e8616b8f2461f97bcad519e561",
        "c0b8d471adcd2cd39c77302f65b6f9b42116be65"
      ],
      "author": {
        "name": "Iavor-Valentin Iftime",
        "email": "valiiftime@google.com",
        "time": "Thu Aug 05 11:37:42 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 05 11:37:42 2021 +0000"
      },
      "message": "Merge \"Disconnect external cameras if sensor privacy enabled\" into sc-dev"
    },
    {
      "commit": "f51ce00a3e1d95bf22f85454510f6eca0c32ed68",
      "tree": "addeb6bb58f5d8229b8c9b5bab63877c0fbd6992",
      "parents": [
        "53a58911405f41884178d83ed4f23859398e8879"
      ],
      "author": {
        "name": "Ahaan Ugale",
        "email": "augale@google.com",
        "time": "Wed Aug 04 16:34:20 2021 -0700"
      },
      "committer": {
        "name": "Ahaan Ugale",
        "email": "augale@google.com",
        "time": "Wed Aug 04 21:29:27 2021 -0700"
      },
      "message": "Apply Assistant AudioPolicy to HotwordDetectionService\n\nThe HotwordDetectionService is part of the Assistant package but runs\nwith a separate (isolated) uid.\nThis change follows the pattern of how the Assistant and IME UIDs are\nset.\n\nFix: 194368677\nTest: manual - hotword works when another app is using the mic and in\n Auto projection mode\nTest: atest HotwordDetectionServiceBasicTest\nChange-Id: I76a7930431db226c7e502f8993dfeaa4bc133bea\n"
    },
    {
      "commit": "88b5dc3d21d22d0915b22265b06638d75fc3ffac",
      "tree": "5d0abbf8baa29de1d577d543f835118c2204cd09",
      "parents": [
        "1e3da07d668361360021e6e7d378523a521bd663",
        "53a58911405f41884178d83ed4f23859398e8879"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 02 19:46:13 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 02 19:46:13 2021 +0000"
      },
      "message": "Merge \"cameraserver: Fix SessionConfigurationUtils::getAppropriateModeTag\" into sc-dev am: 53a5891140\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15351001\n\nChange-Id: Ia138ac89a4d574203f58007b1f536cd31dfce755\n"
    },
    {
      "commit": "53a58911405f41884178d83ed4f23859398e8879",
      "tree": "82a1416356384f8e4a4c3e1b55aae47fea99f3be",
      "parents": [
        "1646c3ce9a06b9be85c77b5797e152bf6e46851c",
        "bde9290ffe0a71e7e0374a44e245d4b66a1c77d6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 02 19:36:29 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 02 19:36:29 2021 +0000"
      },
      "message": "Merge \"cameraserver: Fix SessionConfigurationUtils::getAppropriateModeTag\" into sc-dev"
    },
    {
      "commit": "bde9290ffe0a71e7e0374a44e245d4b66a1c77d6",
      "tree": "5dd90d1029d404e1dfdd6d8c7e94f17e4a04b281",
      "parents": [
        "0d0a58327a97eae463a29a29367bc3314aff1097"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jul 21 15:08:35 2021 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Aug 02 09:58:30 2021 -0700"
      },
      "message": "cameraserver: Fix SessionConfigurationUtils::getAppropriateModeTag\n\nFix tags for heic, depth and dynamic depth stall durations for maximum\nresolution sensor pixel mode.\n\nBug: 194334888\nBug: 194266961\n\nTest: Check that manually that max res tags returned are correct\n\nChange-Id: I5bf5a42788ce3dafee5aca7dd6b7c49de0c2b7ce\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "c0b8d471adcd2cd39c77302f65b6f9b42116be65",
      "tree": "9b805a2f408eb9ad45b3a1d46b434823cdc4ced8",
      "parents": [
        "050b31fb6137abef8061ef02aa6a6d1ae0a0094c"
      ],
      "author": {
        "name": "Valentin Iftime",
        "email": "valiiftime@google.com",
        "time": "Fri Jul 23 20:21:06 2021 +0200"
      },
      "committer": {
        "name": "Valentin Iftime",
        "email": "valiiftime@google.com",
        "time": "Fri Jul 30 19:23:54 2021 +0200"
      },
      "message": "Disconnect external cameras if sensor privacy enabled\n\n If the camera device does not support mute test patterns, then it\n will be disconnected when the camera sensor privacy is enabled.\n\nBug: 182204067\nTest: Connect an USB camera.\n Enable camera privacy toggle.\n Apps using the camera should get a blank preview (camera disconnected)\nChange-Id: I7298e16190d6416abbe981adcbb1f87637fcaf77\n"
    },
    {
      "commit": "1e3da07d668361360021e6e7d378523a521bd663",
      "tree": "fb26a6b61d66970ab23a40e062c00f7af8971a91",
      "parents": [
        "5cfe5b934c4a38a2b46fd07b7bf7653fe4b39778",
        "1646c3ce9a06b9be85c77b5797e152bf6e46851c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 30 00:48:19 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 30 00:48:19 2021 +0000"
      },
      "message": "Camera: Fix deadlock when querying for camera muting support am: 1646c3ce9a\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15422343\n\nChange-Id: I861ce067cf0b3bc8aff11fe5eba2a7ba88a04e6b\n"
    },
    {
      "commit": "5cfe5b934c4a38a2b46fd07b7bf7653fe4b39778",
      "tree": "e9136a6894381168fa278c82859cece9d39ab5c0",
      "parents": [
        "76f5644f93fb8b701c4c534c5db1de630d93254a",
        "2a7630de12f785bfb07905f5f1f41b36ccec83ef"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Jul 30 00:42:02 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 30 00:42:02 2021 +0000"
      },
      "message": "Merge \"camera: Add crop and metering region correction for max resolution requests.\" into sc-dev am: 2a7630de12\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15301357\n\nChange-Id: I22e1b7ea971540d4c9335777809b591977d1ece3\n"
    },
    {
      "commit": "1646c3ce9a06b9be85c77b5797e152bf6e46851c",
      "tree": "558e11368f905892fac38313836db2312dbe8350",
      "parents": [
        "2a7630de12f785bfb07905f5f1f41b36ccec83ef"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 29 13:48:40 2021 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 29 21:41:20 2021 +0000"
      },
      "message": "Camera: Fix deadlock when querying for camera muting support\n\nCamera3Device::RequestThread can call into\nCamera3Device::supportsCameraMute() while\nCamera3Device::waitUntilDrained() is waiting for requestThread to\ndrain the camera request queue, while holding the same lock that\nsupportsCameraMute needs to acquire.  This leads to a deadlock since\nRequestThread can\u0027t make forward progress while waitUntilDrained is\nwaiting for it to complete.\n\nRefactor code to pass in supportsCameraMute into RequestThread\u0027s constructor so\nit can be referenced within RequestThread without querying Camera3Device.\n\nTest: atest CtsCameraTestCases on coral\n      manual verification with TestingCamera2 on cuttlefish\nBug: 194765122\nChange-Id: Ie9713af6961d3e085d898f351b9b1f1b6d9fdfb0\n"
    },
    {
      "commit": "76f5644f93fb8b701c4c534c5db1de630d93254a",
      "tree": "633ebcb9aef200c8f1f40cd8c4ecff6522ce7fca",
      "parents": [
        "d4a320bee498624fc4cb10d7dd509bf92b8ae544",
        "fbf2030e6935180d03885901992bb679cca8f922"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Thu Jul 29 21:25:30 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 29 21:25:30 2021 +0000"
      },
      "message": "Merge \"Fix odd values in aaudio metrics.\" into sc-v2-dev"
    },
    {
      "commit": "fbf2030e6935180d03885901992bb679cca8f922",
      "tree": "620c7bfca48154020b7d578a4cbe4b1bcf4447b4",
      "parents": [
        "22cd76f5aab7046685742a5f08602d16811b8b66"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Jul 28 22:15:01 2021 +0000"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Jul 29 00:36:44 2021 +0000"
      },
      "message": "Fix odd values in aaudio metrics.\n\n1. Do not log the AudioStream information if it is from the service. The\nservice side may automatically create an AudioStreamInternal instance\nwhen a shared endpoint is used. This is not the interesting part for the\nmetrics.\n\n2. If the aaudio stream uses legacy path, only channel mask will be\nlogged. Calculate channel count from channel mask for logging aaudio\nmetrics.\n\nTest: atest AAudioTests MediaMetricsAtomTests\nTest: dumpsys media.metrics\nBug: 194937266\nChange-Id: I183224a4acc59c40d511ee2eb37da05210851348\n"
    },
    {
      "commit": "2a7630de12f785bfb07905f5f1f41b36ccec83ef",
      "tree": "3043d12083f76921fdd80ddf6c4867282ddb02a4",
      "parents": [
        "326fd062d0a487ea6d1c0f418c65979c5fcd2d8d",
        "9255ce08d5444d4460c3cf4a6a2e0a7941a5ee4e"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jul 28 22:45:06 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 22:45:06 2021 +0000"
      },
      "message": "Merge \"camera: Add crop and metering region correction for max resolution requests.\" into sc-dev"
    },
    {
      "commit": "9255ce08d5444d4460c3cf4a6a2e0a7941a5ee4e",
      "tree": "e052fce854903fb8cc4bfcb28e4e5b15279ba75d",
      "parents": [
        "0d0a58327a97eae463a29a29367bc3314aff1097"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Jul 15 11:18:17 2021 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jul 26 16:05:36 2021 -0700"
      },
      "message": "camera: Add crop and metering region correction for max resolution requests.\n\nCapture request templates, assume default sensor pixel mode requests. As\na result, the coordinate system of the scaler crop region matches the\nones used for default sensor pixel mode. We need to correct these for\nmax resolution sensor pixel mode requests, if they haven\u0027t been set by\nthe client.\n\nBug: 194143991\n\nTest: Camera CTS; manually see that emulator hal gets crop regions \u003d\u003d\n      max res active array size.\n\nChange-Id: I06769fd29a5fee9c21c75f151e516f150317148f\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "a1e8ed373a2b55754b83d4e2a480b04425468102",
      "tree": "88d956a743bc74923d7bb3086608b849d98554e9",
      "parents": [
        "bbed05511069203828758c265b80d670ece2fb35",
        "001d147389d532616fa37585cd8615fda0e39d64"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 26 17:12:46 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jul 26 17:12:46 2021 +0000"
      },
      "message": "Merge \"Camera: Fix test pattern data propagation\" into sc-dev am: 001d147389\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15379651\n\nChange-Id: If63fa3987f54c8dd74618a0f44d8a6989cfd28ea\n"
    },
    {
      "commit": "001d147389d532616fa37585cd8615fda0e39d64",
      "tree": "e9bedab84736a089a3d8b81ecf4e1bbffb29488d",
      "parents": [
        "3718813a75ade88513426cf7eff5bf010610e88c",
        "c2459849c6050d06e9cf629e13be641f7393c33e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 26 16:59:35 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 26 16:59:35 2021 +0000"
      },
      "message": "Merge \"Camera: Fix test pattern data propagation\" into sc-dev"
    },
    {
      "commit": "bbed05511069203828758c265b80d670ece2fb35",
      "tree": "ee18c0f7d20c33e343d6251da37274a083d36a10",
      "parents": [
        "67ddd5c824d395d1caad986ea77315bc82780ce6",
        "cad6c0ddc42faf8dfa6e34010d59451f4ea7a727"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 26 12:28:20 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 26 12:28:20 2021 +0000"
      },
      "message": "Merge changes from topic \"virtualizer_stage\" into sc-v2-dev\n\n* changes:\n  audio policy: add support for virtualizer stage output\n  audioflinger: add virtualizer stage mixer thread\n  audio flinger: pass mixer configuration when opening an audio output\n"
    },
    {
      "commit": "c2459849c6050d06e9cf629e13be641f7393c33e",
      "tree": "4c55dda128333f3de1e4b172d6299440acb08c67",
      "parents": [
        "74dcdac0ad6f92cd7f1a24d307261986cb6d4e03"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 22 16:36:36 2021 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Jul 25 22:37:57 2021 +0000"
      },
      "message": "Camera: Fix test pattern data propagation\n\nFor sensor muting, the original test pattern data needs to be kept\nwith the capture request, in case it is overridden by sensor muting mode.\n\nUnfortunately, the copy used the wrong source data entry\n(the test pattern mode), resulting in corrupted test pattern data.\n\nFix that, and also skip the test pattern override entirely when\nsensor mute isn\u0027t supported. And clean up some unnecessary cast for\nclarity.\n\nTest:\n  - TestingCamera2 with test patch shows correct color\n    for TEST_PATTERN_MODE_SOLID_COLOR,\n  - atest CtsCameraTestCases passes\nBug: 173154486\nChange-Id: Ib266440eb97476d52a1a48f135464da6cd827004\n"
    },
    {
      "commit": "cad6c0ddc42faf8dfa6e34010d59451f4ea7a727",
      "tree": "c9c640289b0aa9a6d3c4c0a1267a9f40420050af",
      "parents": [
        "b3f315a7d29954b1ef98045b9a15f9d5446fbd50"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 13 15:12:39 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 24 11:20:40 2021 +0200"
      },
      "message": "audio policy: add support for virtualizer stage output\n\nAdd support for specialized output stream supporting virtualizer stage\neffect with headtracking.\n\nThe HAL implementation indicates support for this feature with a\nspecific audio profile with flag AUDIO_OUTPUT_FLAG_VIRTUALIZER_STAGE\nlisted in the audio policy configuration file.\n\nNote: the flag combination DEEP_BUFFER + FAST is used until a new audio\nHAL version is introduced with this flag defined.\n\nThe audio policy manager implements methods to query if virtualization\nis supported for a particular combination of audio attrbutes, audio\nconfiguration and audio devices.\nMethods are also available for the audio policy service to open and close\na specialized virtualization output stream and create the corresponding\naudio mixer in audio flinger.\n\nBug: 188502620\nTest: atest audiopolicy_tests\n\nChange-Id: I3b1faf22290775dc7d13953a24098d22cb3790de\n"
    },
    {
      "commit": "b3f315a7d29954b1ef98045b9a15f9d5446fbd50",
      "tree": "6a1b8b94f6de62365720da148052323f4e763b28",
      "parents": [
        "f1f22e7720456d52dc3cc844a51a21216c7be4e6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 13 15:09:05 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 24 11:20:23 2021 +0200"
      },
      "message": "audioflinger: add virtualizer stage mixer thread\n\nAdd specialized type of MixerThread for when\na global virtualizer stage with headtracking is used on a\nHAL output stream.\nThis mixer thread has the following requirements:\n- Implement a multichannel mixer but a stereo output stream\n- Have an output stage effect chain with either a virtualizer stage\neffect or plain downmixer effect and possbily other post processing effects\nplaced after the virtualizer/downmixer\n- Being able to handle relatively short audio HAL buffers (5 to 10 ms)\nwhile allowing audio effects to be applied (not a FastMixer).\n\nBug: 188502620\nTest: make\n\nChange-Id: I4dd5b4cd7da7ae0d6562a9a319bdb06b2e31e4e4\n"
    },
    {
      "commit": "f1f22e7720456d52dc3cc844a51a21216c7be4e6",
      "tree": "81a6485e3775421b8dbde93180d6dde40647fbaa",
      "parents": [
        "dd2978489dda2bc8d13f67f8de3abba8b7ae84a7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 13 14:04:14 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 24 11:20:03 2021 +0200"
      },
      "message": "audio flinger: pass mixer configuration when opening an audio output\n\nAdd the possibility for audio policy manager to indicate a mixer\naudio configuration (channel mask, format, sampling rate)\ndifferent from the audio HAL stream configuration when opening an\noutput stream with IAudioflinger::openOutput().\n\nBug: 188502620\nTest: atest audiopolicy_tests\n\nChange-Id: I0b4eaa9cd3e5574b75e3b914c854f97c104ca07e\n"
    },
    {
      "commit": "f7c2bc6d551d9f2e5bdc8f2eac51c2d3f69682f7",
      "tree": "9625d9a1ed45467c37085d55b786ec50379b688b",
      "parents": [
        "b02ec56b347342cb8fb765bddc2bf712be6e2798",
        "61589a43b6bb964ea21f2e1bed81119d2b0a1daa"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 23 18:15:19 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 23 18:15:19 2021 +0000"
      },
      "message": "Merge \"AudioFlinger: Add memory leak checking for HAL\" into sc-v2-dev"
    },
    {
      "commit": "e0b5f98da9224ac0ffa41e6cee64c0989bd63c89",
      "tree": "dd1621c81b9eb6deeda7531ecc8204ce8b3efaa2",
      "parents": [
        "02001213a1fd044e5a0a67bc5683a2df85a0b76c",
        "b3e5ecec1aa52bd4656b1061e70980551ed1b3c6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 16:48:24 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 23 16:48:24 2021 +0000"
      },
      "message": "Merge \"le_audio: Correct typo for BLE headset output communication device\" into sc-dev am: b3e5ecec1a\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15371892\n\nChange-Id: I7345864aecae5d26677e7ebc4d2fa1e785f11e0d\n"
    },
    {
      "commit": "2e4e3e6ff463f426599931f992f42d9361361029",
      "tree": "0748c9a905bb390c8f6ff36c7f93a18dd59228b8",
      "parents": [
        "74dcdac0ad6f92cd7f1a24d307261986cb6d4e03"
      ],
      "author": {
        "name": "Grzegorz Kołodziejczyk",
        "email": "grzegorz.kolodziejczyk@codecoup.pl",
        "time": "Wed Jul 21 15:35:03 2021 +0200"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 23 16:07:25 2021 +0000"
      },
      "message": "le_audio: Correct typo for BLE headset output communication device\n\nPatch corrects typo for pairing output BLE headset device with input\ndevice.\n\nTag: #feature\nTest: Select BLE output headset as communication device\nSponsor: jpawlowski@\nBug: 150670922\nBug: 194470230\nChange-Id: I7b0f41cb3f90096d9e19337ed1e3952a3dcdff3f\n"
    },
    {
      "commit": "34fb115d3efd47b28881c6d3657b646d1188045d",
      "tree": "13883080501c5dc971966af64577881e415dc642",
      "parents": [
        "c3ce59fe8680853b9c3dd4a71fa86e4e23696206",
        "a909409ce83805710441c69610bb02bb3e7917cb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 22 21:44:51 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 22 21:44:51 2021 +0000"
      },
      "message": "Merge \"Support aaudio channel mask.\" into sc-v2-dev"
    },
    {
      "commit": "a909409ce83805710441c69610bb02bb3e7917cb",
      "tree": "f38b50bea613a7a6bfb1f894893162e163a136f9",
      "parents": [
        "22cd76f5aab7046685742a5f08602d16811b8b66"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Jun 28 20:36:45 2021 +0000"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Jul 22 19:32:55 2021 +0000"
      },
      "message": "Support aaudio channel mask.\n\nThis CL includes:\n1. Add channel mask enums.\n2. Add an API for setting channel mask in aaudio.\n3. Add an API to query channel mask.\n\nTest: atest AAudioTests\nBug: 192597880\nChange-Id: Id0792780cc056285b2da403770889078857222d8\n"
    },
    {
      "commit": "c3ce59fe8680853b9c3dd4a71fa86e4e23696206",
      "tree": "7b4dbc4ff677a991717180ed04a6a8e568a91475",
      "parents": [
        "99a69930c02406f5cce2f141b08dce4e3695e9f8",
        "74dcdac0ad6f92cd7f1a24d307261986cb6d4e03"
      ],
      "author": {
        "name": "Carter Hsu",
        "email": "carterhsu@google.com",
        "time": "Thu Jul 22 08:47:26 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 22 08:47:26 2021 +0000"
      },
      "message": "Merge \"Revert \"audio: prefer STRATEGY_SONIFICATION when ringotne is active\"\" into sc-dev am: 74dcdac0ad\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15336410\n\nChange-Id: I635884509623aa1a313f802927a3031fe6a70cdf\n"
    },
    {
      "commit": "99a69930c02406f5cce2f141b08dce4e3695e9f8",
      "tree": "68df9195b6c44c271dc5227d8d94be0e10ec41ed",
      "parents": [
        "4728fd204ce6248b377cc4f10355753af7faf843",
        "34891dbf948ff4f5e85d4bc359855ce8218c749a"
      ],
      "author": {
        "name": "Carter Hsu",
        "email": "carterhsu@google.com",
        "time": "Thu Jul 22 08:47:26 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 22 08:47:26 2021 +0000"
      },
      "message": "Merge \"audio: replace speaker to speaker safe if ring is active\" into sc-dev am: 34891dbf94\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15329393\n\nChange-Id: I58249f5a8a94dd00ca352ec2015a7b4dec71c40a\n"
    },
    {
      "commit": "74dcdac0ad6f92cd7f1a24d307261986cb6d4e03",
      "tree": "c9d3783d855a75acdb0a140c86b3f9c0e60d434c",
      "parents": [
        "34891dbf948ff4f5e85d4bc359855ce8218c749a",
        "cc58a6bdb440dd30850d2a01f148e0204353bf00"
      ],
      "author": {
        "name": "Carter Hsu",
        "email": "carterhsu@google.com",
        "time": "Thu Jul 22 08:29:59 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 22 08:29:59 2021 +0000"
      },
      "message": "Merge \"Revert \"audio: prefer STRATEGY_SONIFICATION when ringotne is active\"\" into sc-dev"
    },
    {
      "commit": "34891dbf948ff4f5e85d4bc359855ce8218c749a",
      "tree": "ed6890874e557884a2953711e9a8da73ed678e97",
      "parents": [
        "04a9a42976f026efdc2543a6a18d3bfdaf0c598e",
        "524ee46e1582e4dee870cba0d343512710e654da"
      ],
      "author": {
        "name": "Carter Hsu",
        "email": "carterhsu@google.com",
        "time": "Thu Jul 22 08:29:59 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 22 08:29:59 2021 +0000"
      },
      "message": "Merge \"audio: replace speaker to speaker safe if ring is active\" into sc-dev"
    },
    {
      "commit": "61589a43b6bb964ea21f2e1bed81119d2b0a1daa",
      "tree": "e2579a78d47e08abe3d7d1b5780d2aa307006b35",
      "parents": [
        "7b6cfc707c97538e10be44d67c517a19c4d0ee6f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jun 16 09:37:53 2021 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 21 17:32:30 2021 -0700"
      },
      "message": "AudioFlinger: Add memory leak checking for HAL\n\n$ adb shell setprop libc.debug.malloc.program android.hardware.audio.service\n$ adb shell setprop libc.debug.malloc.options backtrace\u003d8\n$ adb shell setenforce 0\n$ adb shell pkill audioserver\n$ adb shell dumpsys media.audio_flinger\n\nTest: Check the audio flinger dumpsys as above.\nBug: 186054996\nBug: 187462632\nChange-Id: I610e4b72af9dc1704864adc148e6d6bd23319a8b\n"
    },
    {
      "commit": "bffd540a98286d17e980d711fd11e43b9556e2a6",
      "tree": "5f7dd66134b2f79d8739c15f49fd358d47baaa4e",
      "parents": [
        "99fafb713accc8bb8b16efae124f4fa66b77a1cd",
        "1b5a6da8180a91e4fa0ef0eca7407fdfd557ea47"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jul 20 23:25:04 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 20 23:25:04 2021 +0000"
      },
      "message": "Merge \"AudioTrack: Obtain stream type from AudioFlinger\" into sc-dev am: 1b5a6da818\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15340983\n\nChange-Id: I458136f4c3144c24fd6bdb44e062239eee4f5331\n"
    },
    {
      "commit": "1b5a6da8180a91e4fa0ef0eca7407fdfd557ea47",
      "tree": "7479011c2dc0c700d952d720c70d74205d2db685",
      "parents": [
        "8d043d8c397a4549c4fe7c2d9f30c8e3ad257546",
        "a2159aa184010c93acfafefddcf894acd50b00d9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jul 20 23:13:35 2021 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 20 23:13:35 2021 +0000"
      },
      "message": "Merge \"AudioTrack: Obtain stream type from AudioFlinger\" into sc-dev"
    },
    {
      "commit": "a2159aa184010c93acfafefddcf894acd50b00d9",
      "tree": "389c7bc871939fd836fb0ef1cbe6ae58161419d3",
      "parents": [
        "b03bd4e94013cece134d74c26331a216c8cbec13"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jul 20 13:01:52 2021 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jul 20 20:35:15 2021 +0000"
      },
      "message": "AudioTrack: Obtain stream type from AudioFlinger\n\nThis is the correct stream type, not an estimation.\nAvoids a Binder call which can cause timing glitches.\n\nTest: atest AudioTrackTest\nTest: adb shell dumpsys media.metrics\nBug: 192924795\nBug: 193918473\nChange-Id: Iefd0a06b8f914ca38918619ceacb5293dd666292\n"
    }
  ],
  "next": "9b3c5bee35326a5f0225c6515644d447d0c8c4b6"
}
