)]}'
{
  "log": [
    {
      "commit": "6a3e785a3e8e6852c57b1bcc95a9de29ba42fde8",
      "tree": "e5c7cb975b61b9c900a18075f0ecc4d15e772462",
      "parents": [
        "a90adf0a05c7582227493cc90dcaa917a6f1a445",
        "97aaad8ef2770d3f58d17d7e88fc43adc266e032"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 19 20:45:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 19 20:45:55 2019 +0000"
      },
      "message": "Merge \"libeffects: Corrected the Copy_Float in LVM_Process.c to handle MC\" into qt-dev"
    },
    {
      "commit": "a90adf0a05c7582227493cc90dcaa917a6f1a445",
      "tree": "ef004bc777b3d7d6110229f4a799b50c2057d2e6",
      "parents": [
        "8263e3519b6801f019e471efe4a6045b7046e4d3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 17 13:26:15 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 19 11:16:40 2019 -0700"
      },
      "message": "Move to android_mallopt for malloc debug calls.\n\nBug: 130028357\n\nTest: Enable backtrace for mediaserver, run dumpsys media.player -m\nChange-Id: I75adddfc5048f732ee7ec27c17192efd5857af38\nMerged-In: I75adddfc5048f732ee7ec27c17192efd5857af38\n(cherry picked from commit bd0195ecacaa5381278d8f96b51af36631dc0cd9)\n"
    },
    {
      "commit": "97aaad8ef2770d3f58d17d7e88fc43adc266e032",
      "tree": "b008ceeac7c0b9ea3312e3dff3246d0f28f9236d",
      "parents": [
        "8263e3519b6801f019e471efe4a6045b7046e4d3"
      ],
      "author": {
        "name": "Saketh Sathuvalli",
        "email": "saketh.sathuvalli@ittiam.com",
        "time": "Thu Apr 18 12:30:24 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 19 10:14:04 2019 -0700"
      },
      "message": "libeffects: Corrected the Copy_Float in LVM_Process.c to handle MC\n\nCopy_Float function present after the LVDBE_Process function in\nLVM_Process.c was not taking into consideration NumChannels.\nCorrected this.\n\nTest: discovered by code inspection, CTS, Solotester\nBug: 130781096\nChange-Id: Ib0bccd36f3986463b602fa20fc09ab0741f7e39e\n"
    },
    {
      "commit": "8263e3519b6801f019e471efe4a6045b7046e4d3",
      "tree": "6abd20147337194c063ec8b4f8b6b7045c733f7f",
      "parents": [
        "68b8684c8eb2b68a03887cdba6bea75de438c179",
        "b06277eff473ca8c2d7f403fd39cd954b282484a"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 18 22:04:29 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 18 22:04:29 2019 +0000"
      },
      "message": "Merge \"RecordBufferConverter: Release converter buffer after conversion\" into qt-dev"
    },
    {
      "commit": "b06277eff473ca8c2d7f403fd39cd954b282484a",
      "tree": "8879f3f3e33f270cca741f3f0eae9a551cbe18ef",
      "parents": [
        "2cb1a8ccbd402d74a06ee34721f5dd787ecb396f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 18 12:19:30 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 18 13:23:26 2019 -0700"
      },
      "message": "RecordBufferConverter: Release converter buffer after conversion\n\nRequired to ensure the RecordThread understands the true\nnumber of frames consumed / available.  Otherwise the RecordThread\nthinks there are more frames than actually present, causing\na buffer provider underrun in the AudioResampler and the\nresampler to reset.\n\nTest: BT phone call, Tee sink\nBug: 130419319\nChange-Id: I96fac6f52233e8519c0cc098329e5b9b89c1dd89\n"
    },
    {
      "commit": "df8638b4c4cfabcdeade1a3af497cd6e0521cb89",
      "tree": "d4b192648cf45213baaa415f6842af7c58242e12",
      "parents": [
        "a74c7274069fdfa95e4f9768e14bd2ce7ed1219e",
        "b20cf7db9e669169bbae5f0da97018a866c3f634"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 18 19:15:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 18 19:15:42 2019 +0000"
      },
      "message": "Merge \"audio policy: concurrent capture effects\" into qt-dev"
    },
    {
      "commit": "d198b7b7d6daddb78153e4d6a9135854f95ae856",
      "tree": "e757141711c5014aab9904c645d1112373321e3d",
      "parents": [
        "f03a3a6fb95812f7d6cdcee7e75365a8aca6cc46",
        "0808b1745a73923f48be34aeb6acbad80adbeae4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 18 03:24:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 18 03:24:14 2019 +0000"
      },
      "message": "Merge \"Fix cpu hint for sw codecs\" into qt-dev"
    },
    {
      "commit": "b20cf7db9e669169bbae5f0da97018a866c3f634",
      "tree": "96e88e1850e1fb27fcc0bad53cc575e837d86c60",
      "parents": [
        "aceea8bddd0324df4414673bc39a3f38fe16e8a1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 05 19:37:34 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 17 19:27:20 2019 -0700"
      },
      "message": "audio policy: concurrent capture effects\n\nAdd pre processing effect management for concurrent capture scenarii.\nWhen several clients on the same input stream have enabled audio effects,\nonly the effects attached to the top priotity client are active.\nOther effects are suspended.\n\nAdd AudioFlinger API to suspend/restore audio effects build on top\nof exisiting internal effect suspend mechanism.\n\nRecordThread now supports more than one effect chain.\n\nAOSP pre processing implementation supports more than one effect session\nper input.\n\nRefactor AudioPolicyManager::closeAllInputs() to call closeInput() on\nall inputs instead of partially duplicated code.\n\nBug: 128419018\nTest: make\nChange-Id: I685286da4c2905a8894a4354679f9787b1400621\n"
    },
    {
      "commit": "aceea8bddd0324df4414673bc39a3f38fe16e8a1",
      "tree": "0544b1778318ece423d32ef1ac213a5da94e321b",
      "parents": [
        "060016102a3f8924592d9cdc812e1f6ea13ea1d4",
        "6c79632bbece71f7af0c2453bb62a5d6f0cca664"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 17 20:59:32 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 17 20:59:32 2019 +0000"
      },
      "message": "Merge \"refactor mutexes for audio effects in audio flinger and audio policy\" into qt-dev"
    },
    {
      "commit": "060016102a3f8924592d9cdc812e1f6ea13ea1d4",
      "tree": "bcf8e0bbbd84f59e3b3fa43b2b6651e912a1e5de",
      "parents": [
        "29ccc29d482b6e4a2c46c2b8e731d44938888e32",
        "4c7b61e7e26d69133800d4bc4191fa2c34c22926"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Apr 17 20:34:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 17 20:34:41 2019 +0000"
      },
      "message": "Merge \"mkv support more audio codec\" into qt-dev"
    },
    {
      "commit": "29ccc29d482b6e4a2c46c2b8e731d44938888e32",
      "tree": "84034c7928d373aec61f9076d26065197a541693",
      "parents": [
        "2cb1a8ccbd402d74a06ee34721f5dd787ecb396f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 15 08:58:08 2019 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 17 18:22:37 2019 +0000"
      },
      "message": "aaudio: reduce error logging, improve security\n\nReduce log spam and error logging as part of the Green Log effort.\nReplace logging of addresses with integer IDs.\n\nBug: 36785118\nBug: 122073229\nBug: 130569151\nTest: Open an AAudio stream at 44100 and look at logcat.\nTest:   adb shell write_sine_callback -pl -r44100\nTest:   adb logcat | grep -i aaudio | grep \" E \"\nTest: Should see no \"E\" logs from AAudio.\nTest: Should see no addresses from AAudio.\nChange-Id: I1d4e0bc349095f818fad52603d2bb8e7317d3681\nMerged-In: I1d4e0bc349095f818fad52603d2bb8e7317d3681\n(cherry picked from commit 7ba46558fbd28b555ba751837cc9094a7c785f75)\n"
    },
    {
      "commit": "6c79632bbece71f7af0c2453bb62a5d6f0cca664",
      "tree": "a70a17d1f723b7e0241bb762bf5478e3c9947348",
      "parents": [
        "2cb1a8ccbd402d74a06ee34721f5dd787ecb396f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 09 14:13:17 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 17 10:29:30 2019 -0700"
      },
      "message": "refactor mutexes for audio effects in audio flinger and audio policy\n\nRemove effect specific mutex (mEffectLock) in AudioPolicyService: Due to\nconcurrent capture (among other reasons), it is necessary that the audio\npolicy manager state preserved by mLock includes audio effects\nregistration and enabling.\n\nMoved all audio policy API calls from audio flinger out of locked regions\nfor audio flinger, thread and effects mutexes to avoid cross deadlocks\nbetween audioflinger and audio policy manager:\n- centralized audio policy API calls in EffectModule::updatePolicyState()\n- the enabled state now reflects the state requested by the controlling\nhandle, not the actual effect processing state: a suspended effect is\nnow considered enabled.\n\nA new audio policy manager API moveEffectsToIo() is added to atomically\nhandle moving effects to a new input or output without having to call\nunregister \u003e register \u003e enable sequence.\n\nAlso fix assert in setStreamVolume to match volume group refactoring\nin audio policy manager.\n\nBug: 128419018\nTest: CTS tests for audio effects.\nTest: manual tests with Duo calls, Play Music, Youtube, notifications\n with and without Bluetooth and wired headset.\n\nChange-Id: I8bd3af81026c55b6be283b3a9b41fe4998e060fd\n"
    },
    {
      "commit": "0808b1745a73923f48be34aeb6acbad80adbeae4",
      "tree": "51fd39b9a9daf5895161634d26b450b355ee5df6",
      "parents": [
        "019b2fc5aa5d62b911d029234548eb9c253b8f60"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 16 17:27:07 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 16 17:29:23 2019 -0700"
      },
      "message": "Fix cpu hint for sw codecs\n\nAdd cpu hint for c2 sw codecs as well as omx.\n\nbug: 130669553\ntest: manually test that when playing YouTube 1080pHDR\ncontent, adb logcat shows traces from SchedulingPolicyService:\nSchedulingPolicyService: Moving xxxx to group 5\n\nChange-Id: Ie7afeb207fc0a898669bc7b98b270982471e6b65\n"
    },
    {
      "commit": "4c7b61e7e26d69133800d4bc4191fa2c34c22926",
      "tree": "a096492d417c44bcdde1356d865a92513ac2c192",
      "parents": [
        "654438952d760d80986270db81d498f1b6e110b4"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Mon Mar 11 19:33:03 2019 +0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 16 21:57:05 2019 +0000"
      },
      "message": "mkv support more audio codec\n\nmkv support audio codec as bellow:\ncodecID: A_MPEG/L2 (mp2 audio)\ncodecID: A_PCM/INT/LIT and A_PCM/INT/BIG (pcm audio)\ncodecID: A_MS/ACM\nWe can check the supported type in MKVWave2MIME function,\nincluding mp2, mp3, pcm, adpcm.wma\n\nBug: 128470241\nTest: play the files with new supported codecs and check\nif they can be played normally.\n\nChange-Id: Id92303b42ef763d1ce08a3c96265eda69622c79d\n(cherry picked from commit 7f20f58a4b4b38327092954a67ce25dd056d5c82)\n"
    },
    {
      "commit": "654438952d760d80986270db81d498f1b6e110b4",
      "tree": "3b3da8dedee329a89f54804513fc39aad0d92061",
      "parents": [
        "e46a14777671ec310b35aa1b0a90510f29bf8085",
        "95e3768e1936673cacf185c721f9b2c117a94a0a"
      ],
      "author": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Tue Apr 16 19:07:03 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 19:07:03 2019 +0000"
      },
      "message": "Merge \"AudioFlinger::Thread ensure proper add / sub\" into qt-dev"
    },
    {
      "commit": "e46a14777671ec310b35aa1b0a90510f29bf8085",
      "tree": "6fc8f8aa166a4926299080d204df85cef7dce478",
      "parents": [
        "acfd148dd2df332402d6c05a02c146b4f9c47680",
        "c8ce1d8b31fc439b30b17895965b71f746b9e41a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 16 18:50:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 18:50:25 2019 +0000"
      },
      "message": "Merge \"Remove ligbui dep from libcodec2_vndk and libcodec2_hidl@1.0\" into qt-dev"
    },
    {
      "commit": "c8ce1d8b31fc439b30b17895965b71f746b9e41a",
      "tree": "567daee4f70e5cbe2053137129df7dd6387e77b9",
      "parents": [
        "019b2fc5aa5d62b911d029234548eb9c253b8f60"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 27 10:18:38 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 16 10:19:16 2019 -0700"
      },
      "message": "Remove ligbui dep from libcodec2_vndk and libcodec2_hidl@1.0\n\nbug: 128894663\ntest: builds;  atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\nChange-Id: I3bb8792bd6eec46a9131bc6bd0c773648f430538\n"
    },
    {
      "commit": "acfd148dd2df332402d6c05a02c146b4f9c47680",
      "tree": "1f12a7d6890ffecbbd10e75d27bc1e12f4fa70c3",
      "parents": [
        "a9f592f1e8e16a7b9c67d2d96b9465bd0897f9f5",
        "02adaebec0e489825cda799c2df9b5b685a99ae9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 16 16:47:23 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 16:47:23 2019 +0000"
      },
      "message": "Merge \"Make NuMediaExtractor behave more like mediaextractor\" into qt-dev"
    },
    {
      "commit": "a9f592f1e8e16a7b9c67d2d96b9465bd0897f9f5",
      "tree": "4f51f0ac351c39ea9c0bf5d922a2f244680faec4",
      "parents": [
        "67ece918103ad7b673b19c3794ab46ac218be1fc",
        "9a022b9ecff6b15d1644d4ef97aa8ddb50e16815"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Apr 15 21:55:11 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 21:55:11 2019 +0000"
      },
      "message": "Merge \"Add null checking on NuMediaExtractor::getMetrics()\" into qt-dev"
    },
    {
      "commit": "67ece918103ad7b673b19c3794ab46ac218be1fc",
      "tree": "0a2e8ef321313853eb2423d05a22c9274ec4c911",
      "parents": [
        "9341f1c61852c6508975dd5d064ea7fbd654ad38",
        "768fc2d63562253e5c4d3dcdabc6af0f24296636"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 15 21:33:12 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 21:33:12 2019 +0000"
      },
      "message": "Merge \"Make ConsumerProxy hold weak ref to GraphicBufferSource\" into qt-dev"
    },
    {
      "commit": "95e3768e1936673cacf185c721f9b2c117a94a0a",
      "tree": "993e603d53a6bf44744b94a394de2c790d81ed2f",
      "parents": [
        "8d14f5ccff2440f39630965486e9601ab6d007b6"
      ],
      "author": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Fri Apr 12 11:13:36 2019 -0700"
      },
      "committer": {
        "name": "Hongwei Wang",
        "email": "hwwang@google.com",
        "time": "Mon Apr 15 14:11:36 2019 -0700"
      },
      "message": "AudioFlinger::Thread ensure proper add / sub\n\nBug: 126772841\nBug: 130371615\nTest: 24 hours recording with 64 bit audioserver\nChange-Id: I71305448ee194d1cc325ab238f1681aee93ab18d\n"
    },
    {
      "commit": "768fc2d63562253e5c4d3dcdabc6af0f24296636",
      "tree": "5f5ae55a0b61eba60dd725988d2534a19341c4b8",
      "parents": [
        "019b2fc5aa5d62b911d029234548eb9c253b8f60"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 15 11:54:59 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 15 11:57:04 2019 -0700"
      },
      "message": "Make ConsumerProxy hold weak ref to GraphicBufferSource\n\nbug: 130387875\ntest: atest android.hardware.camera2.cts.RecordingTest#testAbandonedHighSpeedRequest\nMediaRecorderTest, EncodeDecodeTest\n\nChange-Id: I6c65bf493f96725d7a78d113fe1b70edd420eb38\n"
    },
    {
      "commit": "ab6f2f3870ebbe9b19cd766066797b0f00c2eb13",
      "tree": "df58a457d833bc54773b5b51f8d86d93697a163f",
      "parents": [
        "8e604bb84d3351083a96f13fb04a4cc2154fef60"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Fri Feb 15 14:43:51 2019 -0800"
      },
      "committer": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Fri Apr 12 17:02:01 2019 -0700"
      },
      "message": "Make BufferQueue based block pool non-blocking\n\nBug: 129899822\nBug: 122433957\nChange-Id: I720e0e3228cd14e3fe21ecc52934a6fd4b06a427\n"
    },
    {
      "commit": "6a3c35347fb666eee447af552b76388ce8bb335b",
      "tree": "da27b84c7f5d706054342f3898337f860964d3a9",
      "parents": [
        "d57b17cf5475ed6177c75acde33c9ee70630dfa5",
        "469c834047ca4718588224de2ae8cb0aa2935656"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 12 23:13:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 12 23:13:09 2019 +0000"
      },
      "message": "Merge \"CCodec: move Buffers out into a separate file\" into qt-dev"
    },
    {
      "commit": "469c834047ca4718588224de2ae8cb0aa2935656",
      "tree": "dbcfab91de4853a972e979f9685dbfd9e784188d",
      "parents": [
        "c9a59dd31c15f2d5c015a091602fc723af61c812"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Apr 11 16:46:09 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Apr 11 17:02:56 2019 -0700"
      },
      "message": "CCodec: move Buffers out into a separate file\n\nSeperate Buffers out before we add complex logic to them. Also add\nmissing documentation.\n\nBug: 130223947\nTest: builds\nChange-Id: I8f992cb36499401ee2c6d729aa52f3888a7bcea5\n"
    },
    {
      "commit": "3eaf1bcfd60a077f41747821ed192027203157c7",
      "tree": "2fa1f52c53f89cb8db950d8cb93ef312081d34de",
      "parents": [
        "e5a3ca2f835afb3a670c00eee72e3b2289d82cb5",
        "9bacfeb522a52afd559fa8ba3b8dcac4a4a2ceef"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 11 20:20:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 11 20:20:39 2019 +0000"
      },
      "message": "Merge \"libeffects: Fix for crash during playback on bluetooth headset\" into qt-dev"
    },
    {
      "commit": "9bacfeb522a52afd559fa8ba3b8dcac4a4a2ceef",
      "tree": "dd0582e5395eb548deffe305189fbb17b50566a4",
      "parents": [
        "4066749eac05f7b00bbeb2242f3136409c247338"
      ],
      "author": {
        "name": "Puneeth Prabhu",
        "email": "puneeth.prabhu@ittiam.com",
        "time": "Tue Apr 09 19:45:06 2019 +0530"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 11 10:26:41 2019 -0700"
      },
      "message": "libeffects: Fix for crash during playback on bluetooth headset\n\nCrash was because of uninitialized (invalid) number of channels.\nInitialized channels to default value and ensured\nthat during set config channel and channel mask value\nare updated per the input config.\n\nTest: BT playback with Spotify, GPM (Sailfish)\nBug: 129804987\nBug: 130013184\nChange-Id: I71069b13a90e02bfc3b5cb9bf69c4c65c10ae36f\n"
    },
    {
      "commit": "02adaebec0e489825cda799c2df9b5b685a99ae9",
      "tree": "98772d4bdd045e9e53ec9a23c753ef5f855ac020",
      "parents": [
        "c9a59dd31c15f2d5c015a091602fc723af61c812"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 05 14:51:49 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 11 17:14:38 2019 +0000"
      },
      "message": "Make NuMediaExtractor behave more like mediaextractor\n\nNuMediaExtractor does limited read-ahead, then fails the current\nread immediately if an error was encountered during the read-ahead.\nThis prevents reading the first buffer when there\u0027s an error reading\nthe second buffer, making it impossible to reproduce some behaviors\nthat *can* be reproduced with stagefright or by talking to the\nservice directly.\nThis change make it behave more like the underlying mediaextractor.\n\nIn addition, this fixes the behavior of advance(), which is supposed\nto return false if no more samples are left. Prior to this change,\nadvance would return true, but then the next read would fail.\n\nBug: 121204004\nTest: manual, CTS\n\nChange-Id: I8f906945713717ee6be9dff30165635e03389153\n(cherry picked from commit 70ad09df0f5959c1de51f34247e5ea2d63a95725)\n"
    },
    {
      "commit": "c9a59dd31c15f2d5c015a091602fc723af61c812",
      "tree": "fdfd4002690679c8f6fb49d33b691a2edb8d4de1",
      "parents": [
        "03517c5985804971ce4d961dadc92a24c5de8c85",
        "a261e381909c63ad0c681bfc7f0e509f1acc00f4"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Apr 11 15:58:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 11 15:58:13 2019 +0000"
      },
      "message": "Merge \"CCodec: protect C2OMXNode::mBufferIdsInUse\" into qt-dev"
    },
    {
      "commit": "e9a90980ea48c3bb95d6aba755b4bb2095ba3e80",
      "tree": "d7a5ed3f900a75222ff0dec565292a9eada84f46",
      "parents": [
        "fa36d4b242bd0dcd2f1ce2ea6e0f838b7191a042",
        "393f0e05e3fa7351c81a470e5bd841451bcc13ae"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 11 01:47:12 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 11 01:47:12 2019 +0000"
      },
      "message": "Merge \"audiopolicy: fix attributes match helper function\" into qt-dev"
    },
    {
      "commit": "6d99dc8f31e1fe9aae7ddea23e44b23a50b7cbbf",
      "tree": "2d49931083115a52cb457f7ebf2f9c334b8a03c7",
      "parents": [
        "4066749eac05f7b00bbeb2242f3136409c247338",
        "4383fdc52899bf614e7c555c252dd4b9a3c81d32"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 11 00:42:38 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 11 00:42:38 2019 +0000"
      },
      "message": "Merge \"mediaplayer2: fix state during transitioning\" into qt-dev"
    },
    {
      "commit": "9a022b9ecff6b15d1644d4ef97aa8ddb50e16815",
      "tree": "9482edd7a15586e230f4a721eb355e9d8fd9c3c1",
      "parents": [
        "f151b811f0b63e074e5449c3259b9993c1a2f49f"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Apr 10 15:45:19 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Apr 10 15:45:19 2019 -0700"
      },
      "message": "Add null checking on NuMediaExtractor::getMetrics()\n\nTest: MediaExtractorTest\nBug: 123895599\nChange-Id: If8f11ae182bc6a753fec1410a11a463d3ed7aed9\n"
    },
    {
      "commit": "4383fdc52899bf614e7c555c252dd4b9a3c81d32",
      "tree": "bb60b1106a99fa24ef65a7190487d81e0b86f646",
      "parents": [
        "f151b811f0b63e074e5449c3259b9993c1a2f49f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Apr 10 11:18:29 2019 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Apr 10 15:31:27 2019 -0700"
      },
      "message": "mediaplayer2: fix state during transitioning\n\nTest: cts\nBug: 130292355\nChange-Id: I18dd97aebe816280abf498a856bb387e73b0511a\n"
    },
    {
      "commit": "4066749eac05f7b00bbeb2242f3136409c247338",
      "tree": "33c0cec025f755055974bc085520c6477b51b8fe",
      "parents": [
        "04a1833ef4a728ec077ed4680a6624e55dfe754c",
        "3b8c633f3907218cda99f1f65e633b76419640bf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 10 22:28:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 10 22:28:48 2019 +0000"
      },
      "message": "Merge \"AudioTimestamp: advance first timestamp time after start if stale\" into qt-dev"
    },
    {
      "commit": "8437d138d15676256a227f39ae46eed0eb169f63",
      "tree": "b1230ac6804bd2b581f0926fe043812eb71e0dc4",
      "parents": [
        "f151b811f0b63e074e5449c3259b9993c1a2f49f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Apr 10 14:45:01 2019 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Apr 10 15:00:41 2019 -0700"
      },
      "message": "OWNERS: add andrewlewis@google.com\n\nTest: n/a\nBug: 130307840\nChange-Id: Ib62f509cf533c39a6d31782f9233a18a87c92c90\n"
    },
    {
      "commit": "a261e381909c63ad0c681bfc7f0e509f1acc00f4",
      "tree": "ffd3d0ce0d091efcf7d610c0b118a3a95662995f",
      "parents": [
        "f151b811f0b63e074e5449c3259b9993c1a2f49f"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Apr 10 11:37:50 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Apr 10 12:36:22 2019 -0700"
      },
      "message": "CCodec: protect C2OMXNode::mBufferIdsInUse\n\nBug: 129736016\nTest: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\nChange-Id: Ifad57b5b0da49d2acdcfba063671c9748d06dc12\n"
    },
    {
      "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": "f151b811f0b63e074e5449c3259b9993c1a2f49f",
      "tree": "5269b3934f4ad1009d910d60d66179d538ad967a",
      "parents": [
        "05839181a7ffe49e8039bd9e3b794d50281022f9",
        "00e1af968cd4bb83fc0d03dd696f0c0e64ea2a84"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Apr 10 16:24:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 10 16:24:42 2019 +0000"
      },
      "message": "Merge \"MediaCodec: don\u0027t crash on concurrent release/allocate\" into qt-dev"
    },
    {
      "commit": "05839181a7ffe49e8039bd9e3b794d50281022f9",
      "tree": "8ce967b22a8cd5fcfd29c37c549f4c5cc5bdea06",
      "parents": [
        "52a304959ece76f2b0066b8091272b11fc4bbbbd",
        "c976f1260aa56ffdd6778754f208bc619c9dbf94"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Apr 10 16:23:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 10 16:23:25 2019 +0000"
      },
      "message": "Merge \"Move vintf_fragments for sw C2 to mediaserver\" into qt-dev"
    },
    {
      "commit": "c976f1260aa56ffdd6778754f208bc619c9dbf94",
      "tree": "3889acfcf913357ecb137ef5e26b4d823ed8a4b1",
      "parents": [
        "81526c7e3e632e6e183b9c94ce554f701e4cfc6d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 10 02:08:28 2019 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 10 04:43:33 2019 -0700"
      },
      "message": "Move vintf_fragments for sw C2 to mediaserver\n\nThis is a workaround for b/130058564.\n\nTest: adb shell stagefright -i | grep \"c2.android\"\n\nBug: 130254909\nChange-Id: I8e8f7bbd9c1f777285cdcc58ea6610639122c928\n"
    },
    {
      "commit": "d962630103958576ff270b2994a8e181a0017b42",
      "tree": "bc6140f248e70010614f4cc68bf98bc184ebd0b1",
      "parents": [
        "81526c7e3e632e6e183b9c94ce554f701e4cfc6d",
        "98731a2c2559d9986b0892c6a8c8ffca17cd68fc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 10 02:35:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 10 02:35:52 2019 +0000"
      },
      "message": "Merge \"AudioTimestamp: Use current time when data pipeline is empty\" into qt-dev"
    },
    {
      "commit": "81526c7e3e632e6e183b9c94ce554f701e4cfc6d",
      "tree": "71b3d939f678113df9508ec84583a46d274b419d",
      "parents": [
        "d21b6de7181840e14300e94284db48172e24004b",
        "03a8b52d0a79c72b32c851713d3b69c90ccb530a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 10 01:07:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 10 01:07:46 2019 +0000"
      },
      "message": "Merge \"Support multiple\" into qt-dev"
    },
    {
      "commit": "3b8c633f3907218cda99f1f65e633b76419640bf",
      "tree": "1b886e30ef072a48d9d99cc3adac29a82d102384",
      "parents": [
        "98731a2c2559d9986b0892c6a8c8ffca17cd68fc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 03 19:29:36 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 09 15:49:14 2019 -0700"
      },
      "message": "AudioTimestamp: advance first timestamp time after start if stale\n\nTest: Photos, File playback, AudioTrackSurroundTest#testPlaySineSweepBytes\nBug: 113294730\nBug: 118506063\nBug: 119895849\nBug: 120631792\nChange-Id: I83ec1e4c0ae2318fb69744a6265663a50682c485\n"
    },
    {
      "commit": "98731a2c2559d9986b0892c6a8c8ffca17cd68fc",
      "tree": "3cd6a839c5eb38b181a19c59ae008ae0c4186bee",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 08 19:19:07 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 09 15:27:46 2019 -0700"
      },
      "message": "AudioTimestamp: Use current time when data pipeline is empty\n\nHandles change in Q, where we do not return an invalid kernel time\nin the extended timestamp when there is a reported error from the HAL.\n\nTest: Photos, File playback, AudioTrackSurroundTest#testPlaySineSweepBytes\nBug: 113294730\nBug: 118506063\nBug: 119895849\nBug: 120631792\nChange-Id: I90f2c7c314baa474c3dd3a24042f1d4b8bc0a12b\n"
    },
    {
      "commit": "e9e801bff7cdd6f6fe5a82263d4686c1cbda76f4",
      "tree": "9f36b2096ab3b42d979495f8bdb9cfed4d565bcc",
      "parents": [
        "72b8b7df5e563a46910dd324b7b0fb35112b1663",
        "ccd5914d720d3bc3c2a17e2fe6b7bd01a63992ee"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 09 20:43:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 09 20:43:28 2019 +0000"
      },
      "message": "Merge \"mediaplayer2: fix state during data source switching\" into qt-dev"
    },
    {
      "commit": "ccd5914d720d3bc3c2a17e2fe6b7bd01a63992ee",
      "tree": "102e9b81175bb40367001e28520395efd60dc09d",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Apr 08 17:55:59 2019 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Apr 08 17:55:59 2019 -0700"
      },
      "message": "mediaplayer2: fix state during data source switching\n\nTest: cts\nBug: 130126316\nChange-Id: Ic2022435954521a113082a13b05947abbe84ba2f\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": "a759a72e881357a802f703c745e88df75fe0927c",
      "tree": "1f8a620bf587a4e47cc38b61e50bd7f97ae38efb",
      "parents": [
        "de83aa7d657e4c0beaddc756d9da9f6d2ccb282d",
        "b4979c59d93a6ca2be7e65489fc39896bfdc2c96"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 08 13:04:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 13:04:10 2019 +0000"
      },
      "message": "Merge \"Revert \"Remove direct libgui reference from omx server side\"\" into qt-dev"
    },
    {
      "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": "57af40231b6b974b1a98122f4066c334c0872ca3",
      "tree": "4afda31e86df8338b02091575fb61c29c645bb5e",
      "parents": [
        "482f60ccccc12e6afe24f9ba503496ce65d1ba43"
      ],
      "author": {
        "name": "mtk08122",
        "email": "shan.an@mediatek.com",
        "time": "Wed Jan 30 17:35:11 2019 +0800"
      },
      "committer": {
        "name": "Jose Cubero",
        "email": "josecubero@google.com",
        "time": "Fri Apr 05 21:26:19 2019 +0000"
      },
      "message": "Fix abnormal consumption of mobile data\n\nProblem: When user is watching http live streaming video, user does some\noperation to let browser run in the background, but mobile data is still\nconsumed abnormally.\n\nRoot cause: When browser runs in the background, browser will call\nmediaplayer pause function, which would pause video renderer. But if network\nspeed is fast and buffered data is more than PlaylistFecher::\nkMinBufferedDurationUs, data can\u0027t be consumed and it will call\npostMonitorQueue() frequently after delayUS time\u0027s up. At this time, if http\nserver returns error when refreshPlaylist, delayUs will be 0 because\nmLastPlaylistFetchTimeUs is not updated, which will cause postMonitorQueue\nand refreshPlaylist more frequently, and consumes more mobile data.\n\nSolution: On PlaylistFetcher::onMonitorQueue(), if refreshPlaylist returns\nerror, it calls notifyError and then end this playback.\n\nBug: 123665682\nTest: play http live streaming video, pause this playback, then close Wi-Fi\nto simulate accessing http server error\n\nChange-Id: Ic30d446d1ab6e34ac3e5ef414c2e71a09c296f92\n(cherry picked from commit 4ae6a2ab791fc3d4b3f9f481ffca65c292be2fd3)\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": "6e38e1a2b74bd2ed304080b1dca1f77b1053dada",
      "tree": "3da5a8d97ee8f37f4f480ad80104b6f77d3bcd87",
      "parents": [
        "41a45543c4a1d2a1fd9136d6091dc48ac20fe679",
        "3787336d368bc5162b1038e1c5abc5e71f490b41"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 05 18:09:36 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 18:09:36 2019 +0000"
      },
      "message": "Merge \"media: omx: reorganize makefiles into a common defaults for soft OMX\" into qt-dev"
    },
    {
      "commit": "41a45543c4a1d2a1fd9136d6091dc48ac20fe679",
      "tree": "2893707f5a498788ea23cda2f604085464cc0197",
      "parents": [
        "bbe759d4a49d0ff67068facba6a93fa834274e5a",
        "06c6b9a0f9c964270d78d62a08e964d9212faa0c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 05 16:00:00 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 16:00:00 2019 +0000"
      },
      "message": "Merge \"fix AudioAttributes matching rule in AudioProductStrategy\" into qt-dev"
    },
    {
      "commit": "10ba310fea4259fcc02c18d1adae1c1936d88f61",
      "tree": "ce2bfa278735a8e0969d667999eeddab7fad21dc",
      "parents": [
        "6c585fcc1afffb14c6ac99e8d77c5a9cb75ff4c1",
        "e1226f5b2a0318fc65c56dfd700a381822cf2629"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Apr 05 15:23:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 15:23:13 2019 +0000"
      },
      "message": "Merge \"codec2 components: merge WorkQueue and PendingWork\" into qt-dev"
    },
    {
      "commit": "6764012d6c32e2d266be98dde4865816efdc4775",
      "tree": "c4abba8808981621d100b6ade141f5632d1d31f3",
      "parents": [
        "0e8d9896cd0ebc99705a0f9f14455d6ffc436434",
        "cc9515118a01c27f9942782606bb1de0c5d47550"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 05 13:25:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 13:25:55 2019 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: allow video rendering after flushing audio\" into qt-dev"
    },
    {
      "commit": "03a8b52d0a79c72b32c851713d3b69c90ccb530a",
      "tree": "b30f0b39738a9eb0de3127cb481cc36c18769fc8",
      "parents": [
        "d233276ad591814829b6ccbd2d7577558522fe3f"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Apr 03 11:29:05 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri Apr 05 14:28:20 2019 +0900"
      },
      "message": "Support multiple\n\nIf the parent element is multiple even though the element is not\nmultiple, it must be set to multiple. As a result, the element is\nchanged to multiple and the APIs are changed.\n\nBug: 128380795\nTest: m -j \u0026\u0026 make check-api\nMerged-In: Ifce1e86a91c23eee5ec945b36c7fc97a5db26c8a\nChange-Id: Ifce1e86a91c23eee5ec945b36c7fc97a5db26c8a\n(cherry picked from commit 85fc3f4718e3d0a4f524e1f4d0fb214525f0d2a4)\n"
    },
    {
      "commit": "0e8d9896cd0ebc99705a0f9f14455d6ffc436434",
      "tree": "5279e297a210471851db6307d48319bfaf19ec2c",
      "parents": [
        "d233276ad591814829b6ccbd2d7577558522fe3f",
        "86571a97654dbe09272b0504fe17c71211f4a5e7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 05 02:38:27 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 02:38:27 2019 +0000"
      },
      "message": "Merge \"AudioResampler: Add property for resampler testing.\" into qt-dev"
    },
    {
      "commit": "d233276ad591814829b6ccbd2d7577558522fe3f",
      "tree": "4020e53e67e15e937a1ef04211e0ce3f2a43bc4c",
      "parents": [
        "ad1b31682078d1bc0021cb19f7d4edb712b5b95f",
        "892c81d52d90475d04243380fc0d8290776957a1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 05 00:40:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 00:40:26 2019 +0000"
      },
      "message": "Merge \"Obtain Codec2 instances from hwservicemanager\" into qt-dev"
    },
    {
      "commit": "e1226f5b2a0318fc65c56dfd700a381822cf2629",
      "tree": "d79fa07b46257c49e920d73a3169826ccb30040a",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Apr 04 15:24:41 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Apr 04 15:24:41 2019 -0700"
      },
      "message": "codec2 components: merge WorkQueue and PendingWork\n\nBug: 126621696\nTest: /data/nativetest64/VtsHidlC2V1_0TargetAudioDecTest/VtsHidlC2V1_0TargetAudioDecTest --gtest_repeat\u003d50 -I software -C c2.android.aac.decoder -P /sdcard/res/\nChange-Id: I78b627b083821be313e67fdba6958c9af369687a\n"
    },
    {
      "commit": "892c81d52d90475d04243380fc0d8290776957a1",
      "tree": "2c7d27fc91fc5a01c31666bff04d06f4a89add12",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Mar 12 00:56:50 2019 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 04 21:28:07 2019 +0000"
      },
      "message": "Obtain Codec2 instances from hwservicemanager\n\nIn libcodec2_client, the list of services listed in the manifest is\nnow queried from hwservicemanager. The caching mechanism has to be\nmodified accordingly.\n\nThis CL also modifies the way component traits are cached---component\ntraits are assumed to be static even if some services die and restart.\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: 112362730\nBug: 121132171\nBug: 128320274\nChange-Id: I312f3281565aa6f1ee54f86963672f56777f418f\n"
    },
    {
      "commit": "00e1af968cd4bb83fc0d03dd696f0c0e64ea2a84",
      "tree": "54348ec7039b7160244fd1c62e175460d605d123",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Apr 02 15:41:49 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Apr 04 20:47:26 2019 +0000"
      },
      "message": "MediaCodec: don\u0027t crash on concurrent release/allocate\n\nBug: 128357480\nTest: atest CtsMediaTestCases:MediaCodecTest#testAsyncRelease\nChange-Id: I814f50c43225a06c87d51d6eb57ab1957dcd517a\n"
    },
    {
      "commit": "9ca01d383c067ecb15e292bd56be3cd9ed035212",
      "tree": "00572c5783e6b7ab41d460373aa60a3c1faf9e29",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Apr 01 14:45:47 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Apr 04 13:21:08 2019 -0700"
      },
      "message": "media: fix \"prepend-sps-pps-to-idr-frames\" behavior\n\n- Add constant.\n- ACodec: Check for support only for video encoders, ignore otherwise.\n- codec2: fix C2PrependHeaderModeSetting definition.\n- CCodec: fail configure if the feature is not supported.\n- CCodec: fix mapping between SDK and codec2\n\nBug: 32746212\nTest: atest CtsMediaTestCases:MediaCodecTest#testPrependHeadersToSyncFrames\nChange-Id: I8b86b4c8c139d6addbafc1a3558c640b1add42c9\n"
    },
    {
      "commit": "86571a97654dbe09272b0504fe17c71211f4a5e7",
      "tree": "8fc694c113c0455ac74a55b49c11a1d4a7fae909",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 02 15:40:54 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 04 19:20:02 2019 +0000"
      },
      "message": "AudioResampler: Add property for resampler testing.\n\nAdd ro.audio.resampler.psd.tbwcheat to allow partner experimentation\n\nTest: native resampler_tests.\nBug: 123920996\nMerged-In: I983ab3ef7303fc9d93fc680de05d0cf3cfd7ff5a\nChange-Id: I983ab3ef7303fc9d93fc680de05d0cf3cfd7ff5a\n(cherry picked from commit 076f690ab192b8f2281ffdf2af6f324553656d89)\n"
    },
    {
      "commit": "3787336d368bc5162b1038e1c5abc5e71f490b41",
      "tree": "f8f0a7cabc812392ce79e59a6260e94b488a895c",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 27 11:57:56 2019 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 04 19:08:54 2019 +0000"
      },
      "message": "media: omx: reorganize makefiles into a common defaults for soft OMX\n\nRemove the software OMX codecs from VNDK as they are deprecated.\n\nBug: 129710438\nChange-Id: Icb70aaaaa4189aded5ff6d3f247d9971d938bd14\n"
    },
    {
      "commit": "06c6b9a0f9c964270d78d62a08e964d9212faa0c",
      "tree": "b10f5e347742cddc2e4fc2c188c7099c5b72982b",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 03 16:46:37 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 04 18:06:37 2019 +0000"
      },
      "message": "fix AudioAttributes matching rule in AudioProductStrategy\n\nThe matching rule on audio attributes flags must be that ALL flags\nset in the reference attributes are present in the compared attributes\nand not just some flags.\n\nBug: 129721367\nTest: change volume in Play Music\nChange-Id: I6b5ada937aa169dbf1b0315d56172ae3b7bb4f47\n(cherry picked from commit c0c6074f55a0775ff127814c58c56a748e1a1b50)\n"
    },
    {
      "commit": "cc9515118a01c27f9942782606bb1de0c5d47550",
      "tree": "9466b7f89c3bd565c08dfef197abdd6a6adab949",
      "parents": [
        "0e5a1b3bb64d9a5d38903770e018379856401efd"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Apr 03 16:10:42 2019 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 04 10:17:39 2019 -0700"
      },
      "message": "NuPlayerRenderer: allow video rendering after flushing audio\n\nTest: test file can play\nBug: 129733716\nChange-Id: Iaaac854267901bd577496689a2d997271c942000\n"
    },
    {
      "commit": "210ff1edcb4c68447fd2a08725a60d8dc429cbe3",
      "tree": "7b1bcb4faeca3ccc9d68860a5cda503cb07f37d1",
      "parents": [
        "34e548f91d575296898b39f942f82df89efe412b",
        "6ecd1c5c838f4988f2eadb2e93a3a7b23122374f"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 03 23:25:23 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 23:25:23 2019 +0000"
      },
      "message": "Merge \"mkvCue Entry\u0027s id is wrong\""
    },
    {
      "commit": "34e548f91d575296898b39f942f82df89efe412b",
      "tree": "4f2f6e996f938319e55981cb3977e8d207d78a1f",
      "parents": [
        "67336139290c89ac891f8899f70e78f0726e75eb",
        "06b40f98f1cfd0656033a179a4d9ea53ac269a48"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 03 23:06:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 23:06:41 2019 +0000"
      },
      "message": "Merge \"AudioResampler: Improve resampling for voice quality devices\""
    },
    {
      "commit": "6ecd1c5c838f4988f2eadb2e93a3a7b23122374f",
      "tree": "29d1021369d109eac25cc54aa98bbda72b68b739",
      "parents": [
        "ba9a05060f0c0810647f98037dc353fc75e60506"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 03 12:52:01 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 03 20:31:07 2019 +0000"
      },
      "message": "mkvCue Entry\u0027s id is wrong\n\nmkvparser.cc SeekHead::ParseEntry extracts an entry by using:\n(android P) pEntry-\u003eid \u003d readUInt(pReader, pos, len) [yielding 0x0C53BB6B\n(android Q) pEntry-\u003eid \u003d readID(pReader, pos, len) [yielding 0x1C53BB6B\n\nThis updates mkv extractor to accept 0x1C53BB6B (using symbolic value from webmids.h)\n\nBug: 129839777\nTest: play mkv file\nChange-Id: Ida3f0863d59e5b67446e325d186dfe04a00420f2\n"
    },
    {
      "commit": "a3176ff7be9e1ffee8cff2701f18a9b3d16205d2",
      "tree": "e4a1ed9e415fbc9e7df0a0aa00b1d9008357bc81",
      "parents": [
        "69d6cf3e59cae2e7f2fac015b17c9f6f1d1de041",
        "68e0df70cdd57dbe32f11b5de50dd83c6492d075"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 19:36:20 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 19:36:20 2019 +0000"
      },
      "message": "Merge \"Use package name, pid, uid to check permission of capturing hotword.\""
    },
    {
      "commit": "06b40f98f1cfd0656033a179a4d9ea53ac269a48",
      "tree": "0de154d160394acbec5895109130ccacf58de0d7",
      "parents": [
        "7eb548022e45ea1f91d88f43aabf7ff0013eaa88"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Mar 26 15:51:41 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 03 12:19:35 2019 -0700"
      },
      "message": "AudioResampler: Improve resampling for voice quality devices\n\nEnabled for devices with sampling rates 16000 or less.\n\nTest: instrumented log, resampler_tests\nBug: 123920996\nChange-Id: Icb2a410b09eccb97188100fd78217123444b2eff\n"
    },
    {
      "commit": "7eb548022e45ea1f91d88f43aabf7ff0013eaa88",
      "tree": "3c5d20616f09c4801ee56b59114b5d2a01fc7933",
      "parents": [
        "1dd3c386666471372f861423f17aaf398b329830",
        "2eaa1ee2ebab87ffa0d5ba0cbb7e403d685ad7f7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 03 19:10:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 19:10:22 2019 +0000"
      },
      "message": "Merge changes I835ec033,I11aa8f88\n\n* changes:\n  AudioResampler: Add downsampling filter response test\n  AudioResampler: Minor test code fixes\n"
    },
    {
      "commit": "1dd3c386666471372f861423f17aaf398b329830",
      "tree": "1ab7c54919119c5e6f5ed86ec87d51de8db7e99a",
      "parents": [
        "f1273c07a7b718504c1d0bbff5bcea4ef0379c38",
        "6309d88219a68fa0195a5138b738241f237e2d6b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 18:35:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 18:35:34 2019 +0000"
      },
      "message": "Merge \"AAudio Fix some documentation @link issues\""
    },
    {
      "commit": "2eaa1ee2ebab87ffa0d5ba0cbb7e403d685ad7f7",
      "tree": "e3463adb7a2897a223856cfd065f9c0b3390b616",
      "parents": [
        "3f692411d2769d32b29b71995e6bc89bcc16b070"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 02 15:49:55 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 03 10:12:25 2019 -0700"
      },
      "message": "AudioResampler: Add downsampling filter response test\n\nTest: resampler_tests\nBug: 123920996\nChange-Id: I835ec033bd1fc6fd6905e32c660c779fafb853cb\n"
    },
    {
      "commit": "3f692411d2769d32b29b71995e6bc89bcc16b070",
      "tree": "be137918529b918bf2db7d47beafd80fb6c467ca",
      "parents": [
        "b02be352c78d9db1c876a114199a9d4259c194e2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 02 15:48:22 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 03 10:11:59 2019 -0700"
      },
      "message": "AudioResampler: Minor test code fixes\n\nTest: resampler_tests\nBug: 123920996\nChange-Id: I11aa8f883854ebc492e230bc48311009d5a8920f\n"
    },
    {
      "commit": "66abdd2ff0de06c87a54e059c37147f4c6f486f8",
      "tree": "97e5714e1482dc44fc3f69ecdabf792bdf695a5a",
      "parents": [
        "8ee2c52fc8e82324f94decf4f969ddaeb5fe6f31",
        "b6cc72b87f3701f1da12ec6b9d1fece592ad5734"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 17:02:27 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 17:02:27 2019 +0000"
      },
      "message": "Merge \"Add aaudio APC opt-out to libaaudio.map.txt\""
    },
    {
      "commit": "109774a142b8447ca53ece2be6e778d9ab9c5c96",
      "tree": "325492f31545359ba6d9ee06844d5c18396feecf",
      "parents": [
        "2d8ed35f43dc11e5303f167b6428ff09dde5f622",
        "f5943271b08f67939020c45340f2df06a5c39a18"
      ],
      "author": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Wed Apr 03 06:40:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 06:40:31 2019 +0000"
      },
      "message": "Merge \"MPEG4Writer: Large CodecSpecificData in MP4 ESDS box\""
    },
    {
      "commit": "7e650b3c0d29a72094116047d3b775846e503dc1",
      "tree": "a9a013e771b9aae00bd624a58a35542cf2593efe",
      "parents": [
        "04d7e6410de6316a0a9775f89e67e4784e52e719",
        "2777490ee31c8027b64ce123e1c0d53ebf561547"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Apr 02 19:41:50 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 19:41:50 2019 -0700"
      },
      "message": "Merge changes I3f69e410,Ieccf3b8e am: 5e705a5636 am: 305edd2d4c\nam: 2777490ee3\n\nChange-Id: I931b69098dc208f409ca4e922f7e265704e230ca\n"
    },
    {
      "commit": "2777490ee31c8027b64ce123e1c0d53ebf561547",
      "tree": "1b595a4781a20e60fc970dff879969446c5e4ad5",
      "parents": [
        "a0861a71316c5e4c121f62974da1ec03f42dbc89",
        "305edd2d4c3451f643ad7e23309c8b4e13a9712a"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Apr 02 19:03:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 19:03:59 2019 -0700"
      },
      "message": "Merge changes I3f69e410,Ieccf3b8e am: 5e705a5636\nam: 305edd2d4c\n\nChange-Id: Ib513393a6bac365a49ea8d8e02bef2c8bdd74cc3\n"
    },
    {
      "commit": "04d7e6410de6316a0a9775f89e67e4784e52e719",
      "tree": "bff519a697d514cb1b171f7b9bd496a449c20378",
      "parents": [
        "b02be352c78d9db1c876a114199a9d4259c194e2",
        "a0861a71316c5e4c121f62974da1ec03f42dbc89"
      ],
      "author": {
        "name": "Yanqiang Fan",
        "email": "yanqiang.fan@mediatek.com",
        "time": "Tue Apr 02 18:37:52 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 18:37:52 2019 -0700"
      },
      "message": "Merge \"Fix rounding error accumulation of audio timestamp\" am: cfa3f49644 am: 9cedc5ad17\nam: a0861a7131\n\nChange-Id: I50bac7f3be35e0e4db1e2d124763a7c6fdf0002f\n"
    },
    {
      "commit": "305edd2d4c3451f643ad7e23309c8b4e13a9712a",
      "tree": "f48a496924e1aee40d5b4afdf2035b854888bf4f",
      "parents": [
        "9cedc5ad17d188ee249e5df4c3060e66ed2010bc",
        "5e705a56361a6d5a61a2bb1c04c48668c11d4bb4"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Apr 02 18:34:41 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 18:34:41 2019 -0700"
      },
      "message": "Merge changes I3f69e410,Ieccf3b8e\nam: 5e705a5636\n\nChange-Id: If8b220b5c401f838a4084ff20fe5b1b20d43aee9\n"
    },
    {
      "commit": "6309d88219a68fa0195a5138b738241f237e2d6b",
      "tree": "f64cd1ae7122bdadd1dfbaea8d17bd6a7abe9484",
      "parents": [
        "b02be352c78d9db1c876a114199a9d4259c194e2"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Mar 20 13:26:49 2019 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Apr 03 01:26:49 2019 +0000"
      },
      "message": "AAudio Fix some documentation @link issues\n\nTest: None\nChange-Id: I70cf5752e3b7115bc2ba751bd7d4c789d4e953f7\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "a0861a71316c5e4c121f62974da1ec03f42dbc89",
      "tree": "53af34ba5eef214e7b337a170802a59553b3adee",
      "parents": [
        "c683a872e615dd9dfb38e97f888882778f36402b",
        "9cedc5ad17d188ee249e5df4c3060e66ed2010bc"
      ],
      "author": {
        "name": "Yanqiang Fan",
        "email": "yanqiang.fan@mediatek.com",
        "time": "Tue Apr 02 18:13:33 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 18:13:33 2019 -0700"
      },
      "message": "Merge \"Fix rounding error accumulation of audio timestamp\" am: cfa3f49644\nam: 9cedc5ad17\n\nChange-Id: I3f67b7469f01b802b4eaa4136dbf914ca50438e4\n"
    },
    {
      "commit": "9cedc5ad17d188ee249e5df4c3060e66ed2010bc",
      "tree": "7731eb5f4502cd62acc431c00cd1ded485ca64af",
      "parents": [
        "b585713580804cbe59100b4f034f03f3225e9ad7",
        "cfa3f496446d5703c382f714ae5608211cefcdbe"
      ],
      "author": {
        "name": "Yanqiang Fan",
        "email": "yanqiang.fan@mediatek.com",
        "time": "Tue Apr 02 18:01:29 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 18:01:29 2019 -0700"
      },
      "message": "Merge \"Fix rounding error accumulation of audio timestamp\"\nam: cfa3f49644\n\nChange-Id: I584c6b7b81f46ade75cb069ced5249b340b6f8de\n"
    },
    {
      "commit": "5e705a56361a6d5a61a2bb1c04c48668c11d4bb4",
      "tree": "d8d59892037d36b1c4df29d03c5f3f8f47059d9e",
      "parents": [
        "cfa3f496446d5703c382f714ae5608211cefcdbe",
        "6f8e3362c73a9a9e87f0964c27e3929c63520366"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Wed Apr 03 00:40:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 00:40:44 2019 +0000"
      },
      "message": "Merge changes I3f69e410,Ieccf3b8e\n\n* changes:\n  AMRWB_E_SAMPLE: Fix resource leaks in error cases\n  amrnbdec_test: Fix resource leaks in error cases\n"
    },
    {
      "commit": "68e0df70cdd57dbe32f11b5de50dd83c6492d075",
      "tree": "487ed1ea1849844493c436ccde9d432724fd652f",
      "parents": [
        "63dc6cf50582fa13702c59f43155f6c18312178b"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Mar 18 17:55:35 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Apr 02 17:31:42 2019 -0700"
      },
      "message": "Use package name, pid, uid to check permission of capturing hotword.\n\nPackage name will be cached in ModuleClient when attaching a client. It\nwill be used when querying permission of capturing hotword.\n\nTest: test with logging.\nBug: 74078996\nBug: 122721589\nChange-Id: Icd2911f5d331d243c9eb5d58003ce5525c70c81e\n"
    },
    {
      "commit": "b02be352c78d9db1c876a114199a9d4259c194e2",
      "tree": "4f108231d2e4565d3ffeb70d24d6c00a0f9dad00",
      "parents": [
        "a1acff23ff51603762cd0fa9f06fa0e74322c558",
        "3d43afe267883d2024d654af11b99264f20bf3d7"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 03 00:11:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 00:11:08 2019 +0000"
      },
      "message": "Merge \"Bound sizes for tx3g atom parsing per track\""
    },
    {
      "commit": "a1acff23ff51603762cd0fa9f06fa0e74322c558",
      "tree": "fc72d5dd3c687e7d68e1832f103c7a314ca64923",
      "parents": [
        "ecd19f37e673adcf04ea68b7001b3200c692eb14",
        "e1c7348e1c3fed25c16ae4673101f48b1ed95b7e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 00:07:15 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 00:07:15 2019 +0000"
      },
      "message": "Merge \"NuPlayerCCDecoder: fix memory OOB\""
    },
    {
      "commit": "cfa3f496446d5703c382f714ae5608211cefcdbe",
      "tree": "15150688ca6f043b79d6eb32929cd4a61023118b",
      "parents": [
        "98001b1bf3b01d353e48d8edc58c34fa3826ebb9",
        "b540e0e7d98dde4f40018dc4c5a971f8cd9627e5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 00:00:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 00:00:31 2019 +0000"
      },
      "message": "Merge \"Fix rounding error accumulation of audio timestamp\""
    },
    {
      "commit": "63dc6cf50582fa13702c59f43155f6c18312178b",
      "tree": "7333237bf7ef966510a84721d4252a016c37e07c",
      "parents": [
        "7acce1b21da72e7ffd0309814be8bef125ee23b7",
        "665f8cd61aaca2f0094c5d0a067bba3838ff1c9b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 23:36:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 23:36:44 2019 +0000"
      },
      "message": "Merge \"Sanity checking when parsing \u0027trun\u0027 box.\""
    },
    {
      "commit": "7acce1b21da72e7ffd0309814be8bef125ee23b7",
      "tree": "58f996402605ec1534d8fdf71fb823ff28639c64",
      "parents": [
        "736f5fb6c2f1c22da3418fdbe9fbe562fce01027",
        "4c682b8d29b42094cbe33bb2aba2e1a13cf4ecf3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 23:32:19 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 23:32:19 2019 +0000"
      },
      "message": "Merge \"MPEG4Extractor: Keep CTS values positive\""
    },
    {
      "commit": "736f5fb6c2f1c22da3418fdbe9fbe562fce01027",
      "tree": "2bc103d48966dc38b6779246dda33db2bf53d2a1",
      "parents": [
        "82e8615faf73b8744b84534c0b864789a717251f",
        "8c2e58218d9fc78c3beefc0f7c12afb39e7d0b61"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 02 23:31:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 23:31:42 2019 +0000"
      },
      "message": "Merge \"StreamHal: Enable audio power log for user builds\""
    },
    {
      "commit": "82e8615faf73b8744b84534c0b864789a717251f",
      "tree": "f36bd0e27aa61ad6d3ac08c7d33d1a41e11fa54d",
      "parents": [
        "42bc932ed13a2f6ea10ee643c37512136abd15d6",
        "a7138f1d2204d69c223925f39d6ab9d3c11d9632"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 23:26:50 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 23:26:50 2019 +0000"
      },
      "message": "Merge \"audio tests: test for up message queue getting full\""
    },
    {
      "commit": "42bc932ed13a2f6ea10ee643c37512136abd15d6",
      "tree": "500bd60e53bacf87d02c6564ee49ad6e42d9707a",
      "parents": [
        "02a8b88c9bc1ccef00b47cef1423d07f2a177c68",
        "3b5874665de9ca8ad3ff2197017da62648223330"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 23:15:19 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 23:15:19 2019 +0000"
      },
      "message": "Merge \"Update raw audio codec profile\""
    },
    {
      "commit": "e1c7348e1c3fed25c16ae4673101f48b1ed95b7e",
      "tree": "0398bf5a184153694c6d2b4959c7622a10497cb6",
      "parents": [
        "e9cecf0f8865fa43d8c2977c314f9c81fb20ba3b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Apr 01 16:18:53 2019 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 02 15:18:45 2019 -0700"
      },
      "message": "NuPlayerCCDecoder: fix memory OOB\n\nTest: cts\nBug: 129068792\nChange-Id: Id78ddc983f245feda3a81da3448196340b57f5c9\n"
    },
    {
      "commit": "02a8b88c9bc1ccef00b47cef1423d07f2a177c68",
      "tree": "f267640904d96ef4f42c094b7793b25c409186f0",
      "parents": [
        "ba9a05060f0c0810647f98037dc353fc75e60506",
        "950e751325d882befcd692d893b3311cb5b550d4"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Apr 02 22:09:12 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 22:09:12 2019 +0000"
      },
      "message": "Merge \"Fix NE in pause process when encoder has been released\""
    },
    {
      "commit": "6f8e3362c73a9a9e87f0964c27e3929c63520366",
      "tree": "cdcfcb43322e03566ca2ba68f80afb25a22ad561",
      "parents": [
        "c0884f535a3515c1c3e2eef9383d2dfa7983dfb9"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Mar 04 13:50:10 2019 -0800"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Apr 02 15:01:33 2019 -0700"
      },
      "message": "AMRWB_E_SAMPLE: Fix resource leaks in error cases\n\nWe also avoid a pontential call to dlclose(NULL) which was\npossible in the previous code.\n\nNote the leaks aren\u0027t really consequential since this is a\nstandalone sample.  But by putting in simple fixes for these,\nwe reduce the noise when using static analysis to find leaks\nin Android code.\n\nTest: TreeHugger\n\nChange-Id: I3f69e410ecf611dcb60e4f58aae27801b2141e4d\n"
    },
    {
      "commit": "f5943271b08f67939020c45340f2df06a5c39a18",
      "tree": "e9963ed060bb22d0e8aab63d39fba66982607ea0",
      "parents": [
        "5635b7d126c46bb33d80f1518fe75702e4c2e179"
      ],
      "author": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Thu Oct 19 09:53:51 2017 +0800"
      },
      "committer": {
        "name": "Gopalakrishnan Nallasamy",
        "email": "gokrishnan@google.com",
        "time": "Tue Apr 02 14:48:35 2019 -0700"
      },
      "message": "MPEG4Writer: Large CodecSpecificData in MP4 ESDS box\n\nSome external media files have CodecSpecificData greater than 128 bytes. Currently, that size\nisn\u0027t fitting in one byte. Hence, added support to store large CodecSpecificDataSize, as per\nISO standard, by extending to more than one byte as required.\n\nBug: 127878894\n\nTest: CtsMediaTestCases --compatibility:module-arg CtsMediaTestCases:include-annotation:\n      android.platform.test.annotations.RequiresDevice\n\nChange-Id: I2923adbecbef0aed034b3ccccf04084a7c6a34e4\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": "3d43afe267883d2024d654af11b99264f20bf3d7",
      "tree": "7e7ab936610bed2cf36829f8428624d21d6d7797",
      "parents": [
        "5635b7d126c46bb33d80f1518fe75702e4c2e179"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 08 11:14:05 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Apr 02 14:30:40 2019 -0700"
      },
      "message": "Bound sizes for tx3g atom parsing per track\n\nDetect when media contains too much tx3g data, defined as max atom size\neven if spread across multiple tx3g atoms. Also validate that any tx3g\natom has non-zero size.\n\nWhen assembling the possibly many atoms, use a more efficient append/grow in a\nlocal buffer and only attach it to the track meta data when the track is\ncomplete; saves a possible O(n*n) copy/re-copy/re-copy behavior.\n\nBug: 124330204\nTest: poc\nChange-Id: I55ab88a4b650e508c0d49f9bd07284d9ddcf6361\n"
    }
  ],
  "next": "a7138f1d2204d69c223925f39d6ab9d3c11d9632"
}
