)]}'
{
  "log": [
    {
      "commit": "660626784594f19956785e0fac0f3e4d6cc130d5",
      "tree": "33aa2b0dbe1ff515d14392b673e575361496720f",
      "parents": [
        "196abe7f223f59abcbd9190cd46eea0e5745b75c"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Dec 03 19:30:25 2020 +0000"
      },
      "committer": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Thu Dec 03 13:35:44 2020 -0800"
      },
      "message": "Revert \"Log MediaExtractor entry point to MediaMetrics\"\n\nThis reverts commit 17c72bb0966dd410c32ab0fd186408cb7f966515.\n\nReason for revert: b/174768641\n\nChange-Id: Ic62927415db5fe0b428faf607c9e1d66bfaf8366\n"
    },
    {
      "commit": "17c72bb0966dd410c32ab0fd186408cb7f966515",
      "tree": "389195017ed80f0ae7ce23ec3147a50fb4fece7c",
      "parents": [
        "5e883d137fc9a23dd8336d32a6bf18eb3f2c43a2"
      ],
      "author": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Wed Nov 11 23:49:28 2020 +0000"
      },
      "committer": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Wed Dec 02 22:48:10 2020 +0000"
      },
      "message": "Log MediaExtractor entry point to MediaMetrics\n\nBug: 170386720\nTest: atest libctsmediav2extractor_jni\nTest: atest CtsMediaTestCases\nChange-Id: Ic08c681bd4b1c44764c464c2ce7e2ba4bf00400d\n"
    },
    {
      "commit": "feb4060473911ccf201a9a9c58fb1a007777fe17",
      "tree": "ab879d84b83420e035b68b3c3049fdec5cb3ccbf",
      "parents": [
        "358a08446b6657151ad064edf44635e7d021c0af"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 24 17:30:32 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Oct 10 02:08:23 2020 +0000"
      },
      "message": "Expose video codec type in MediaMetadataRetriever\n\nbug: 163086057\ntest: android.media.cts.MediaMetadataRetriever\n\nChange-Id: Iac752e63ae582db1771c7a85b318675d44b8ab0b\n"
    },
    {
      "commit": "a9d45c7156d6d8e686070285ea1269d70140cbc9",
      "tree": "56f68464daf41768c3add7ab9b9f1cbde20cd414",
      "parents": [
        "ffebb80bd127ecebfc4af02fe481d048d0c9a29c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 09 12:41:17 2020 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 17 15:56:34 2020 +0000"
      },
      "message": "Add resource observer service\n\nAdd resource observer service so that clients can\nregister listeners to receive resource status change.\n\nThis is needed by transcoding service to properly\nhandle media resource lost. Resource lost itself is\ndetected by exceptions on MediaCodec, however in\norder to resume the service, a notification from\nResourceManager is needed.\n\nNote that the observer service is built as a separate\nservice so that client can access it without requesting\nfull resourcemanager service. It also allows us to\nlist the observer service interface as a stable interface\nwithout having to lock down resourcemanager interface.\n\nbug: 168307955\nbug: 154733526\n\ntest:\n- unit testing in this CL;\n- manually tested using the service from media.transcoding\n  and got codec updates and \"adb shell dumpsys\"\n\nChange-Id: I8028c605600a40c1aa2c89850ef877a5bf1d0c09\n"
    },
    {
      "commit": "b8a9dbbf791adf7f1a0ab87d7a35770074e88cc8",
      "tree": "a2f91436efd8587def9e765d333387fed6a03b7f",
      "parents": [
        "763136770b0bb6828cf7628a9b3bbf09b0741ae2"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 27 04:12:26 2020 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 27 04:12:26 2020 +0000"
      },
      "message": "Revert \"Snap for 6793014 from 424180bdc4aa18249e678daebfd0fcf936...\"\n\nRevert \"Snap for 6793014 from fd1ad6750ef332d3f50f218f4d5d148e6e...\"\n\nRevert \"Snap for 6793014 from 7594ec6384c4da320726def34f477736f9...\"\n\nRevert \"Snap for 6793014 from bbbccc3c2b7fc7c5780f6c415c4223e1d0...\"\n\nRevert \"Snap for 6793014 from 44725f06b7f7d6407b5ee82d989bdd6c7a...\"\n\nRevert \"Snap for 6793014 from f22ad3164937a8f2e309965c102b6366d5...\"\n\nRevert \"Snap for 6793014 from 11467102abddb6026aaa164c1361439c2d...\"\n\nRevert \"Snap for 6793014 from 265280bf5cb4bc14e132c3a35ae5f7ae65...\"\n\nRevert \"Snap for 6793014 from f2989f9c65556d5155dbd57f82f0c93a16...\"\n\nRevert \"Snap for 6793014 from 8b8bf0a07b0521bbe8483fbbab1222ffd6...\"\n\nRevert \"Snap for 6793014 from 3777d883a3857b1a1589181c436d9018d7...\"\n\nRevert \"Snap for 6793014 from 3157b4ee4325286f0c2ab0f26528460c8b...\"\n\nRevert \"Snap for 6793014 from a43295d1825da62af038d345a7a861ed7a...\"\n\nRevert \"Snap for 6793014 from 2076be4d27078d6ebc0a6b5e5ceb386109...\"\n\nRevert \"Snap for 6793014 from d0e31526c62b2aeb35c293ac96feb180fc...\"\n\nRevert \"Snap for 6793014 from 7a3a8c6351d5167a6ae0b33bc376efabd2...\"\n\nRevert \"Snap for 6793014 from 41471cb21bb16b5c3bcc92f84293b79684...\"\n\nRevert \"Snap for 6793014 from 42e5cca3cfb829690c9d8c6aca57a8e7d5...\"\n\nRevert \"Snap for 6793014 from 4f81304963d19f4511b1e8e7d0aad87a67...\"\n\nRevert \"Snap for 6793014 from 07602cdacf5bcc835db41f7eaa24af9964...\"\n\nRevert \"Snap for 6793014 from 14cb57e107a3abce8b14937b1f92c28d18...\"\n\nRevert \"Snap for 6793014 from ab1e4a81d09a540a5f927059e5bc03a606...\"\n\nRevert \"Snap for 6793014 from 8c65adad0bcdfb3acc561063b4048dca24...\"\n\nRevert \"Snap for 6793014 from b3061942700265e2bf04af9997775dcbbb...\"\n\nRevert \"Snap for 6793014 from 551c5953fc62e339e4ee884ec2cd0ac3be...\"\n\nRevert \"Snap for 6793014 from 4919273b2ac5c6347a18e17c5ec70d8da6...\"\n\nRevert \"Snap for 6793014 from 988d4244914e0c749655e8cb6db18ba44f...\"\n\nRevert submission 12465146-release-request-6b259cbc-1f45-4b05-bc7e-c9b893b79d68-for-git_main-busytown-release-6793014\n\nReason for revert: b/166531456\nReverted Changes:\nI5ff7a6c0d:Snap for 6793014 from f2989f9c65556d5155dbd57f82f0...\nI77bdff943:Snap for 6793014 from a43295d1825da62af038d345a7a8...\nI2ac5c520a:Snap for 6793014 from c3f124cca05579acf0a6cb589ebd...\nI023b9702f:Snap for 6793014 from 98756d6d3e2bb0ba28eb125caa7a...\nIbc7893d72:Snap for 6793014 from fd1ad6750ef332d3f50f218f4d5d...\nIc27847bee:Snap for 6793014 from 8c65adad0bcdfb3acc561063b404...\nIf20bc9352:Snap for 6793014 from 7a3a8c6351d5167a6ae0b33bc376...\nI6542d17e8:Snap for 6793014 from 3777d883a3857b1a1589181c436d...\nI66e6bb8a9:Snap for 6793014 from 8b8bf0a07b0521bbe8483fbbab12...\nI3cd190b6b:Snap for 6793014 from 424180bdc4aa18249e678daebfd0...\nIf92db7402:Snap for 6793014 from ab1e4a81d09a540a5f927059e5bc...\nIaced03c87:Snap for 6793014 from d0e31526c62b2aeb35c293ac96fe...\nI5d28c6b4b:Snap for 6793014 from 4f81304963d19f4511b1e8e7d0aa...\nI30d07bea3:Snap for 6793014 from 7594ec6384c4da320726def34f47...\nI473205f48:Snap for 6793014 from 551c5953fc62e339e4ee884ec2cd...\nI0656b41af:Snap for 6793014 from 44725f06b7f7d6407b5ee82d989b...\nI0f9796067:Snap for 6793014 from 4919273b2ac5c6347a18e17c5ec7...\nI9a38cda8f:Snap for 6793014 from 2076be4d27078d6ebc0a6b5e5ceb...\nI876a82f51:Snap for 6793014 from 11467102abddb6026aaa164c1361...\nI749d7d023:Snap for 6793014 from 41471cb21bb16b5c3bcc92f84293...\nI038daea41:Snap for 6793014 from 07602cdacf5bcc835db41f7eaa24...\nI47aa3131c:Snap for 6793014 from 14cb57e107a3abce8b14937b1f92...\nI32dba8a95:Snap for 6793014 from 3157b4ee4325286f0c2ab0f26528...\nI2ebc9f9db:Snap for 6793014 from 988d4244914e0c749655e8cb6db1...\nIae7c3370f:Snap for 6793014 from 9ffb8852294e06e2d387dc1fb868...\nI6467a7f1b:Snap for 6793014 from 42e5cca3cfb829690c9d8c6aca57...\nI8c6375203:Snap for 6793014 from b3061942700265e2bf04af999777...\nI843b2e1f3:Snap for 6793014 from 265280bf5cb4bc14e132c3a35ae5...\nIe254f7079:Snap for 6793014 from f22ad3164937a8f2e309965c102b...\nI01e0974ed:Snap for 6793014 from bbbccc3c2b7fc7c5780f6c415c42...\n\nChange-Id: I00c786b898b73e58db8bcb1dd0cf3fdaa1ae3038\n"
    },
    {
      "commit": "23b2393a25e08c7a72e5db25aa458109e62e98df",
      "tree": "d2b2a9de01ea03614700848b949171744e1aa124",
      "parents": [
        "0aedeb3a6cecb54f8ade6d01bd59d0b3f1944fcb"
      ],
      "author": {
        "name": "Kim Sungyeon",
        "email": "sy85.kim@samsung.com",
        "time": "Thu Jul 18 17:48:32 2019 +0900"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Aug 18 02:00:09 2020 -0700"
      },
      "message": "VT: Report all data about packet receiving up to application\n\n - A design change of RTP/RTCP recovery logic.\n - It\u0027s better to move logics about decision(ex. Call downgrading, TMMBR)\n   to application side. So all ingredients for the decision must be sent to upper layer.\n - RTP stastics will be reported to upper layer for every seconds.\n\nBug: 165061754\nChange-Id: I567a55926c27aafb2510313d9cd41acbc8110194\nSigned-off-by: Kim Sungyeon \u003csy85.kim@samsung.com\u003e\n"
    },
    {
      "commit": "6766d2576e319e1a4a3c77e237f2ed5d763c0624",
      "tree": "f464caeea1f3d5f31e935f9a9055a80b2d1db8d2",
      "parents": [
        "bed36e32f9bf290971c4d81a415b71a536f271c8",
        "4b55cb90320210581a23fa4b5d649f70dc0374c2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 05 00:58:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 05 00:58:09 2020 +0000"
      },
      "message": "Merge \"Fix race condition in IMediaSource\" into rvc-dev am: 789d4e903e am: 0db1308372 am: e625fb6735 am: 4b55cb9032\n\nChange-Id: I397de23100290c309f7038b13b3ec09f674986d4\n"
    },
    {
      "commit": "e625fb6735eb9d95385d429f95f0f557363e081b",
      "tree": "6304dafd47186c87da4df3232da87cce381fc12c",
      "parents": [
        "cecfa6cadc3a0bdd2c3fe67a94884b19c93c3bfa",
        "0db13083724d734a11a99c207972385a0701633b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 05 00:28:13 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 05 00:28:13 2020 +0000"
      },
      "message": "Merge \"Fix race condition in IMediaSource\" into rvc-dev am: 789d4e903e am: 0db1308372\n\nChange-Id: I9ad99611ed62aef118e2892cc8ba15b77c344728\n"
    },
    {
      "commit": "e89a795ba814c3de15c1694c26be43e87a8395b1",
      "tree": "6261076d38fcf40378b193f0905f27bd0da414f6",
      "parents": [
        "55bfd11fd19949f9a657eda09053901a2515060a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon May 04 13:19:20 2020 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon May 04 13:19:20 2020 -0700"
      },
      "message": "Fix race condition in IMediaSource\n\nBug: 148223229\nTest: PoC\nChange-Id: Iafe6ee6b4819765adb0bf46ece7605a23923e241\n"
    },
    {
      "commit": "7630aa995d0873750dddaa18dd7abd71d77ec535",
      "tree": "55be667516b7daa5464847fbb9c323358420a7a5",
      "parents": [
        "7259511be29e0b52480a259e64ecbd02246cee6e",
        "1982933a51657282434879faea07ceba929defa5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 10 23:06:31 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 23:06:31 2020 +0000"
      },
      "message": "Merge changes from topic \"SLSI_VT\"\n\n* changes:\n  media: miscellaneous fixes to VT contribution\n  VT: DSCP implementation.\n  VT: SFR: Added missing rtp-param-opponent-id in stagefright.\n  VT: SFP: bind socket to specific network\n  VT: SFR: bind socket to specific network.\n  VT: Remove assertion in send() function.\n  VT: ARTPConnection: added an event to notify first-rtcp packet.\n  VT: Print assembler queue status for the first frame\n  VT: Enlarge jitter buffer range from 200ms to 300ms\n  VT: Postpone bitrate down for considering camera switch\n  VT: Rotation parameter should be applied only for video call.\n  VT: Add OMX_Video_ControlRateConstant feature\n  VT: OMX_ErrorStreamCorrupt should be skipped only for RTP scenario.\n  VT: Retain RTP sequence number between SFR stop and start\n  VT: Skip unknown payload type packet\n  VT: Update payload value at runtime for SFR\n  VT: Add FIR, PLI reaction\n  VT: Add auto downgrade function\n  VT: Add TMMBR feature for RTP Rx side\n  VT: Add TMMBN feature on RTP Tx side\n  VT: SFP: H264: CVO implementation for Rx side\n  VT: SFR: H264: CVO implementation for Tx side.\n  VT: Change socket option to REUSEADDR\n  VT: Add TMMBR function on Rx\n  VT: Recorder gets payload type value from param\n  VT: Player/Recoder gets its SSRC ID from param\n  VT: Add RTCP feedback message(TSFB \u0026 PSFB) parser to RTP source\n  VT: StagefrightRecorder: Added a function for TMMBR\n  VT: AHEVCAssembler: Supports H265(HEVC) for Rx.\n  VT: ARTPWriter: Supports H265(HEVC) for Tx.\n  VT: ARTPWriter: Supports ipv6\n  VT: ARTPSource: Jitter buffer implementation.\n  VT: ARTPConnection: Supports ipv6\n  VT: SFP: Implements interface for RTP parameters.\n  VT: RTPSource: Added a component as an one of NuPlayer::Source\n  VT: ARTPConnection: bind RTP/RTCP sockets to specific IP.\n  VT: ASessionDescription: Added SDPStringFactory.\n  VT: SFR: added parameters to handle RTP IP Addresses through setParameters().\n  VT: ARTPWriter: Enhanced ARTPWriter as a RTP output\n"
    },
    {
      "commit": "09e88d2b535bc0b38c340148d597cd1eab0646b4",
      "tree": "df54dd82b440130436fd7b9a78fe565d027cd095",
      "parents": [
        "19a5849e24f49fc5604327d38ee4c221fa1d65a6",
        "230cfea4e459392f21b719ebfca2b4c37f6c2190"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 10 01:28:01 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 10 01:28:01 2020 +0000"
      },
      "message": "Merge \"AudioClient: Fix clang-tidy warnings\" into rvc-dev am: c5f2a7adfc am: 230cfea4e4\n\nChange-Id: I004ab1e48a969c94d755406a8fa3e15ad9b0092f\n"
    },
    {
      "commit": "06a730b1fe80592767b45643cd86bf6006091965",
      "tree": "6043dcb5cf4d85adcca26b1ec162faee2b4f6afc",
      "parents": [
        "b744fafc831e1a13cc5e054aa4812281c3c5c7fc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 13:28:31 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 13:28:31 2020 -0700"
      },
      "message": "AudioClient: Fix clang-tidy warnings\n\nTest: atest AudioTrackTest\nTest: atest AudioRecordTest\nBug: 153658358\nChange-Id: Id24db96188a777336f41d74d4fbdfd90147ee8bc\n"
    },
    {
      "commit": "ae26b0232f9186589ea08f3ce769afff5869577b",
      "tree": "1e4cc909bdad6c5c950c0c1f7c7e53bcd3c29583",
      "parents": [
        "480c4f4ca3a493d50e1dc9e37606b6ee0d4d2271",
        "79876130477a262dc6e869036fa7fd2e9bb991e3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 06 23:36:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 06 23:36:06 2020 +0000"
      },
      "message": "Merge \"MediaUtils: Move MemoryLeakTrackUtil.h to the proper library.\" into rvc-dev am: 65328604de am: 7987613047\n\nChange-Id: I58f63dfcc2be632c34410b50df65eaa7255f71f5\n"
    },
    {
      "commit": "e9eb03e9db8f66c711e2824e0f96d1fdc8f727b5",
      "tree": "77671b8d041a66b35884657fc4e05c5e5214787a",
      "parents": [
        "95ec1b8ea487abbf4ef50d53c227338f559e9599"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 04 14:08:23 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 06 09:48:59 2020 -0700"
      },
      "message": "MediaUtils: Move MemoryLeakTrackUtil.h to the proper library.\n\nTest: dumpsys sanity check of mediaserver, audioflinger, drmmanager\nBug: 149850236\nChange-Id: I7a3694444de0f940beacb699bc6f07ebb6a7cc7d\n"
    },
    {
      "commit": "1982933a51657282434879faea07ceba929defa5",
      "tree": "69012e70e440591a0033c1551a282c354f053d0b",
      "parents": [
        "2c7a0cc74ec5dd94f31f585c728f2cef5cd5f099"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 17 08:13:10 2020 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Apr 01 08:19:05 2020 -0700"
      },
      "message": "media: miscellaneous fixes to VT contribution\n\n- fix MediaSource.h path\n- fix setDataSource binder code\n- use MediaCodecConstants instead of OMX/ACodec constants\n- fix spacing\n- fix typos\n- remove unused code\n- commented some tricky code segments\n- AAVC/HEVCAssembler: re-read next buffer if buffer was deleted\n- RTPSource: pull out constants kMinVideoBitrate and kBufferingPollIntervalUs\n- RTPSource: check state early in prepareAsync\n- RTPSource: fix potential null dereference in setSource\n- ARTPAssembler: make showing queue runtime configurable via debug.stagefright.rtp bool property\n- ARTPWriter: fix security issues: protect against reading OOB in\n  sendSPSPPSIfIFrame and StripStartcode\n- ARTPWriter: free buffers early in destructor\n- ARTPWriter: create PPS buffer only if there is PPS\n- ARTPConnection: fix security issues: protect against reading OOB in\n  parseRTPExt, parseTSFB, and parsePSFB. Also remove remote null-dereference.\n- AHEVCAssembler: fix security issues: protect against reading OOB in\n  addFragmentedNALUnit\n\nBug: 121230209\nTest: build\nChange-Id: Iada8b878e396452c1d281c60f3754e13e34bcddb\n"
    },
    {
      "commit": "32b601a41987ee8daa3127dcd79ad74fce1848dc",
      "tree": "9b45f6ca25d741191c98c66f88f34315f1972250",
      "parents": [
        "35a352696b548b0bdbf1216666dc2ec2d9e0091e",
        "41a81c46946cd3bc2015de21781a060fd15de63d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 30 22:50:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 30 22:50:29 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Move LimitProcessMemory to libmediautils\" into rvc-dev am: 3c0f2d0400 am: 41a81c4694\n\nChange-Id: Ic92a3535ea28eb4ae26b9e9c93fb63268baf6248\n"
    },
    {
      "commit": "d7e0dd45243735bed789589ca767485ce3fc4e7b",
      "tree": "4ad113977dd16b064452aafdc74db03b99214e7c",
      "parents": [
        "36696ba9a249d629c4827fda442352b396a11056"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 27 16:42:34 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 30 10:03:22 2020 -0700"
      },
      "message": "MediaMetrics: Move LimitProcessMemory to libmediautils\n\nEliminates the need for libmedia in media.metrics, cutting\nRSS nearly in half.\n\nTest: adb shell showmap \u0027$(pgrep -f media.metrics)\u0027\nTest: adb shell showmap \u0027$(pgrep -f media.extractor)\u0027\nBug: 152256321\nChange-Id: Id8aae66de84e712915888422b7372fd2b880570d\n"
    },
    {
      "commit": "f4a3eb5bcc2d8cb84f2eedb08d43a15c68c1bed6",
      "tree": "ca18c0f15aaa4f4a06f26a562e519addb57448c3",
      "parents": [
        "fd6f6143bf49d9155ae4bd234d57ccf5b535d060",
        "e3b011a146266b5f1f908950df394349a7a9a5ee"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 23 17:36:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 23 17:36:35 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: limit maximum memory used\" into rvc-dev am: 3006a83565 am: e3b011a146\n\nChange-Id: I8c230374b3af0c0f689b042ac3aaa48c534eafa4\n"
    },
    {
      "commit": "3006a83565b6863f247bf634faa929b84608026e",
      "tree": "d5199b47770c80334a28b94ab827d24e63dc4a9d",
      "parents": [
        "1261c29e1efbe523285dc65138d4c29bf5ae6b39",
        "6c22190e49f47b3debc122e15ca042befdd39cee"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Mar 23 17:03:59 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 17:03:59 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: limit maximum memory used\" into rvc-dev"
    },
    {
      "commit": "3d564ffd21230840801fd63fbc6a57a5fc723a4b",
      "tree": "dd5ea447d9b5bce5444405c24403c477a8513148",
      "parents": [
        "9a788e15ec89d022d0c17f2513116304b189c0eb"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sat Feb 22 00:46:06 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Mar 23 16:11:42 2020 +0000"
      },
      "message": "use vector\u003cuint8_t\u003e for byte[] in AIDL\n\nIn native world, byte stream is typically represented in uint8_t[]\nor vector\u003cuint8_t\u003e. C++ backend already generates that way. This\nchange involves NDK backend.\n\nNow NDK backend also uses vector\u003cuint8_t\u003e just like C++ backend.\n\nBug: 144957764\nTest: atest CtsNdkBinderTestCases\nMerged-In: Iffe188aa42f4f827ad4d021f06d85992db204c0d\nChange-Id: Iffe188aa42f4f827ad4d021f06d85992db204c0d\n(cherry picked from commit cfca116b0d2629a95172b5f822b27a549a478da5)\n\nExempt-From-Owner-Approval: cp from master to avoid merge-conflict\n"
    },
    {
      "commit": "6c22190e49f47b3debc122e15ca042befdd39cee",
      "tree": "e1f359598e1b2f0fd2810780e649def0ef00c349",
      "parents": [
        "8d386f779d76eb2a87ec570bf6ee3c0ce674085f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 20 16:35:24 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 20 17:30:41 2020 -0700"
      },
      "message": "MediaMetrics: limit maximum memory used\n\nUse media utility function limitProcessMemory().\n\nTest: restrict mediametrics memory by property, ensure restart\nBug: 152084875\nChange-Id: I20b51cecd67e9ac5e03ab34c1c68b1cfd0b8a964\n"
    },
    {
      "commit": "2e6b5532effb140c4a6b18154ee0f53c8b400b40",
      "tree": "ffe5ef1b0d09889fafacdfaf1857388c84db315c",
      "parents": [
        "08608d0fbd99b49fff43f026e1c7f5e4531b93a1",
        "32a4b317efd8beaa42cceec2c5ffb59c1320113e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 18 23:26:12 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 18 23:26:12 2020 +0000"
      },
      "message": "Merge \"Allow XML file paths to be customized with sysprop\" am: 931d1554c3 am: 32a4b317ef\n\nChange-Id: Ib545a7a742b371612a48345b652d12fb8e3af039\n"
    },
    {
      "commit": "eaac82f33f2a064c6ae1a5f1791bb13669820687",
      "tree": "8497decf3df9784b8c66e19d00c7e7a034471ac5",
      "parents": [
        "8d386f779d76eb2a87ec570bf6ee3c0ce674085f"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Mar 07 04:09:55 2020 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 18 22:55:45 2020 +0000"
      },
      "message": "Allow XML file paths to be customized with sysprop\n\nThree properties are declared as vendor-init-settable:\nro.media.xml_variant.codecs\nro.media.xml_variant.codecs_performance\nro.media.xml_variant.profiles\n\nmedia_codecs.xml can now be named\nmedia_codecs${ro.media.xml_variant.codecs}.xml\n\nmedia_codecs_performance.xml can now be named\nmedia_codecs_performance${ro.media.xml_variant.codecs_performance}.xml\n\nmedia_profiles_V1_0 can now be named\nmedia_profiles${ro.media.xml_variant.profiles}.xml\n\nTest: Rename \"media_codecs.xml\" to \"media_codecs_test.xml\",\nset ro.media.xml_variant.codecs to \"_test\", then\ncall \"stagefright -i\".\n\nTest: Rename \"media_codecs_performance.xml\" to\n\"media_codecs_performance_test.xml\",\nset ro.media.xml_variant.codecs_performance to \"_test\", then\nrun android.media.cts.VideoDecoderPerfTest.\n\nTest: Rename \"media_profiles_V1_0.xml\" to \"media_profiles_test.xml\",\nset ro.media.xml_variant.profiles to \"_test\", then\nrun vts_mediaProfiles_validate_test.\n\nBug: 142102953\nChange-Id: I38fa2924e02363639d1cdc3dd85128e0652343ee\nMerged-In: I38fa2924e02363639d1cdc3dd85128e0652343ee\n"
    },
    {
      "commit": "7f5e10eaef21d64b7bb94bab514892bad01328ed",
      "tree": "ff767346b0f088d9d0cc93530144c6bfe9747a5e",
      "parents": [
        "cc0dec6cc29a21e353d06d9b07dab3ad0527cc8d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Mar 07 04:09:55 2020 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 18 14:30:53 2020 -0700"
      },
      "message": "Allow XML file paths to be customized with sysprop\n\nThree properties are declared as vendor-init-settable:\nro.media.xml_variant.codecs\nro.media.xml_variant.codecs_performance\nro.media.xml_variant.profiles\n\nmedia_codecs.xml can now be named\nmedia_codecs${ro.media.xml_variant.codecs}.xml\n\nmedia_codecs_performance.xml can now be named\nmedia_codecs_performance${ro.media.xml_variant.codecs_performance}.xml\n\nmedia_profiles_V1_0 can now be named\nmedia_profiles${ro.media.xml_variant.profiles}.xml\n\nTest: Rename \"media_codecs.xml\" to \"media_codecs_test.xml\",\nset ro.media.xml_variant.codecs to \"_test\", then\ncall \"stagefright -i\".\n\nTest: Rename \"media_codecs_performance.xml\" to\n\"media_codecs_performance_test.xml\",\nset ro.media.xml_variant.codecs_performance to \"_test\", then\nrun android.media.cts.VideoDecoderPerfTest.\n\nTest: Rename \"media_profiles_V1_0.xml\" to \"media_profiles_test.xml\",\nset ro.media.xml_variant.profiles to \"_test\", then\nrun vts_mediaProfiles_validate_test.\n\nBug: 142102953\nChange-Id: I38fa2924e02363639d1cdc3dd85128e0652343ee\n"
    },
    {
      "commit": "6b46b989cfc0249c3b18602113f1523408a813d8",
      "tree": "89520d1dce3a4aa20c5593371f0e8f9d31c36f1a",
      "parents": [
        "b0225aabec7a56d462cce29c80aa60d88c898a55"
      ],
      "author": {
        "name": "Kim Sungyeon",
        "email": "sy85.kim@samsung.com",
        "time": "Sun Mar 17 22:01:31 2019 +0900"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 17 16:40:44 2020 -0700"
      },
      "message": "VT: Add TMMBN feature on RTP Tx side\n\nStagefrightRecorder adjusts encoding rate and sends TMMBN as requested bitrate.\n\n1. Add TMMBN packetizing function on ARTPWriter.\n2. StagefrightRecorder holds opponent\u0027s SSRC ID that is used for TMMBN.\n3. MediaRecorder can set parameter on RECORDING state if format is for RTP.\n\nBug: 121230209\nChange-Id: I768649c02e50fd5fab2ecb53c3743915662c100a\nSigned-off-by: Kim Sungyeon \u003csy85.kim@samsung.com\u003e\n"
    },
    {
      "commit": "d3c6b32ae00e7f225abfe8266390ab4bdf8248ed",
      "tree": "6041d08a13bb0bcd412fc331ce23dbdb8f51351b",
      "parents": [
        "48ae60d7812e4a3fdb5992a1265b1d69067eef5c"
      ],
      "author": {
        "name": "Kim Sungyeon",
        "email": "sy85.kim@samsung.com",
        "time": "Fri Mar 02 14:41:19 2018 +0900"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 17 16:40:43 2020 -0700"
      },
      "message": "VT: Add RTCP feedback message(TSFB \u0026 PSFB) parser to RTP source\n\nParser for RTCP feedback messages (Refer RFC 4585 Ch.6)\n\n1. Parser for TranSport layer FeedBack messages. (Refer RFC 5104 Ch.4)\n   Bitrate value in TMMBR \u0026 TMMBN  must be passed on to Recorder(Tx) part for congestion control.\n\n2. Parser for Payload-Specific FeedBack messages (Refer RFC 4585 Ch.6)\n   Supports PLI(Packet Loss Indication) notification.\n\nThe value \u0026 notification are passed through ARTPConnection -\u003e RTPSource -\u003e NuPlayer -\u003e JAVA layer\n\nBug: 121230209\nChange-Id: I85bfa0c359a60b42bcdf062f8a158db2ce69aa5a\nSigned-off-by: Kim Sungyeon \u003csy85.kim@samsung.com\u003e\n"
    },
    {
      "commit": "28225abc2693b746889cdd39ea570a93a7ce19a5",
      "tree": "054f265f284c69fce972ba7a083f3883ed035300",
      "parents": [
        "d157b79f28aebb40be4c217c56e12de003efbbe8"
      ],
      "author": {
        "name": "Byeongjo Park",
        "email": "bjo.park@samsung.com",
        "time": "Thu Jan 24 20:31:19 2019 +0900"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 17 16:40:43 2020 -0700"
      },
      "message": "VT: SFP: Implements interface for RTP parameters.\n\nRTP parameters will be given to NuPlayer like below.\nThis is same like how setParameters() working in case of\nStagefrightRecorder\n\n video-param-decoder-profile\u003d1;\\\n video-param-decoder-level\u003d512;\\\n rtp-param-local-ip\u003d127.0.0.1;\\\n rtp-param-local-port\u003d1234;\\\n rtp-param-remote-ip\u003d127.0.0.2;\\\n rtp-param-remote-port\u003d4321\n\nNuPlayer will create RTPSource.class instance as a part\nof a source component of media engine if it gets RTPParams\nfrom application layer.\n\nBug: 121230209\nChange-Id: If04ebb09d4f28d8eeb6a1a920a833129828a6ac4\nSigned-off-by: Byeongjo Park \u003cbjo.park@samsung.com\u003e\n"
    },
    {
      "commit": "3784ab5009e070491c12bbddbf4948eddeac3de6",
      "tree": "04fe406dfa253947440716bbbe234a84bf9b22d5",
      "parents": [
        "ae3b9539cead752af48515f2e43c9985c3fc04e6"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Feb 18 17:18:24 2020 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Feb 18 20:03:09 2020 -0800"
      },
      "message": "Accommodate the move of AudioPlaybackRate to system/audio.h\n\nAudioPlaybackRate is now defined in system/audio.h\nas \u0027struct audio_playback_rate_t\u0027 (in global namespace).\nSimilar for the related enums.\n\nTo accommodate the existing code, introduce AudioPlaybackRate\nas a typedef in the \u0027android\u0027 namespace.\n\nUpdate code that was forward declaring AudioPlaybackRate\nas it\u0027s not a struct anymore.\n\nBug: 133526565\nTest: m\nChange-Id: Iba20f1de1e8779cd78ac4573f2082416f2b428e2\n"
    },
    {
      "commit": "40d077fc65b6e5115b31c51b7a63e8d6bab9db78",
      "tree": "f8a918c26d392bef87ac8b241d16b0f51aabbab5",
      "parents": [
        "3a229574b50a3535626d8278b2411849fd39963e",
        "869f4d73b6c5886655223bf6fbb03c6af8b372df"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 03 05:57:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 03 05:57:22 2020 +0000"
      },
      "message": "Merge \"Move DataSourceUnwrapper to MidiIoWrapper class\" am: e512cd3def am: 06e1900225 am: 869f4d73b6\n\nChange-Id: Ifa10feda503d801556d6c0ac9f097415827708ab\n"
    },
    {
      "commit": "c39661e2507d61e18978ed48c0ad051ad1339a4e",
      "tree": "73e4dcf4bf2fe5270af436b661c6793f512eced7",
      "parents": [
        "733c728752ae6958c88b2da4a4c662d266294b70"
      ],
      "author": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Fri Jan 31 11:08:47 2020 -0800"
      },
      "committer": {
        "name": "Harish Mahendrakar",
        "email": "harish.mahendrakar@ittiam.com",
        "time": "Fri Jan 31 20:46:41 2020 +0000"
      },
      "message": "Move DataSourceUnwrapper to MidiIoWrapper class\n\nDataSourceUnwrapper is now part of MidiIoWrapper class\nThis is prevent use of this class outside MidiIoWrapper methods\n\nBug: 145332185\nTest: adb shell /data/local/tmp/ExtractorUnitTest -P /data/local/tmp/extractorRes/\nTest: atest android.media.cts.MediaExtractorTest\nTest: atest android.mediav2.cts.ExtractorTest\n\nChange-Id: Ia898539fb95a1eb62b81f522599976fc477bfbee\n"
    },
    {
      "commit": "2496ffbc450029ee9ec26980a101e71352b4f635",
      "tree": "b653a141b92b77c882376f9565909b556cc19f02",
      "parents": [
        "a170e61fb4e99fc56ab328b25180d321d278867e",
        "e4f4b79b8b1304ff3e7650346dd9a6b28346fa1a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 30 16:33:28 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 30 16:33:28 2020 +0000"
      },
      "message": "Merge \"Implement name() and flags() in IMediaExtractor\""
    },
    {
      "commit": "fb7a76711abb9021d4fec90dac12d3b9eeb49c90",
      "tree": "38cde30a813fc36e07d27e49438bc010908f0ad5",
      "parents": [
        "255f610f5ab71b5e36d93744dfe058daf6c96041"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Dec 27 17:13:33 2019 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Jan 21 20:39:48 2020 -0800"
      },
      "message": "stagefright: MediaCodec buffer API revision\n\nBug: 136283874\nTest: atest CtsMediaTestCases:MediaCodecBlockModelTest\nTest: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small\nChange-Id: Idc02c7758da8b266099a4134b438e4478c38f912\n"
    },
    {
      "commit": "e4f4b79b8b1304ff3e7650346dd9a6b28346fa1a",
      "tree": "c8bd617164779dd25bf2a825a486132d7825a94d",
      "parents": [
        "255f610f5ab71b5e36d93744dfe058daf6c96041"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 17 13:15:18 2020 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 17 13:17:46 2020 -0800"
      },
      "message": "Implement name() and flags() in IMediaExtractor\n\nThese were always present in the interface, but not actually implemented.\nNow name and flags are passed through the Binder interface to the client.\nThe name() method was changed to String8 from \"const char *\" to avoid\nambiguity regarding who owns the string.\n\nBug: 143263164\nTest: manual\nChange-Id: I503d964b70f0affdedba23aa7da530164c14caf1\n"
    },
    {
      "commit": "79673cfb78356afb4bb531d5f6fe115ab41930cc",
      "tree": "82f9a497a3221f4043e4af36f19abd4ee00fbb96",
      "parents": [
        "c1a82b91f050f4b496b2d373046cb4c9fc32c8eb"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Sep 20 21:45:01 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 20 15:58:46 2019 +0000"
      },
      "message": "Implement DrmSessionManager w mediaresourcemanager\n\nBug: 134787536\nTest: DrmSessionManagerTest\nTest: DrmSessionManager_test\nTest: ResourceManagerService_test\nChange-Id: Iab9f4f681c83f46b043cefc8633bb3e513a8e75a\nMerged-In: Iab9f4f681c83f46b043cefc8633bb3e513a8e75a\n"
    },
    {
      "commit": "7291da64f5c19d4f9144014601bca58f7562ddef",
      "tree": "1ba21f95d03a85b24a699d39736d5c4bf481c2f7",
      "parents": [
        "94e872e6894dce7d89954d0515c140ec626d20ba"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 17 13:01:55 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 17 15:32:57 2019 -0800"
      },
      "message": "Remove header symlinks\n\nTest: build\nChange-Id: Ie90eb4fc0233ae6ee152a7bccb182a223b2ceff0\n"
    },
    {
      "commit": "f27e987d277c186010e8bdd1d5e781158b31f9af",
      "tree": "87703f33fe40f06c2faa78daa4105bb6cb8db79d",
      "parents": [
        "b7b870db0c6cc0c6375b154400a813b84f5056b4"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sat Dec 07 06:28:46 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Dec 17 11:20:57 2019 -0800"
      },
      "message": "Naming consistency: MediaAnalytics to MediaMetrics\n\nBug: 145780674\nTest: build, boot, dumpsys media.metrics\nTest: atest mediametrics_tests CtsNativeMediaMetricsTestCases\nChange-Id: Icbfa98da9e61702aee9a1d807b5e126b4b9c6458\n"
    },
    {
      "commit": "630f74baaf5280a78350fa1ecb7283768a5c4bf9",
      "tree": "e20620e03a8ef5db88b55dfe70edfaa926ef6c43",
      "parents": [
        "643a5692fb1d1b7b0e2c90faa217816f7b524c51",
        "d17c85023ac2058233121b8a94603687c855c997"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 06 19:21:53 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 06 19:21:53 2019 +0000"
      },
      "message": "Merge \"Add explicit private audio recording request\""
    },
    {
      "commit": "d17c85023ac2058233121b8a94603687c855c997",
      "tree": "39fc63d6f1037eafb71dc8046aefedfadfee9b53",
      "parents": [
        "d203cb92c9c9628b3bead45ec08f826544c1d649"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 24 15:58:35 2019 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Dec 04 17:58:34 2019 -0800"
      },
      "message": "Add explicit private audio recording request\n\nAdd the possibility for apps to indicate that their\ncapture use case is private and that a privileged Assistant\nshould not be able to capture concurrently.\nThis allows to override the default behavior tied to the audio\nsource (e.g VOICE_COMMUNICATION is private by default but\nUNPROCESSED is not).\n\n- Add AAudio API to set and get privacy sensitive mode on input stream\n- Add MediaRecorder API to set and get privacy sensitive mode\n- Modify AudioSource constructor to accept audio attributes instead of an\naudio source to specify the use case.\n- Modify audio policy concurrent capture logic to use audio attributes\nflag instead of audio source to decide of a capture client has\nrequested privacy mode or not.\n\nBug: 137850106\nTest: CTS AudioRecordTest and MediaRecorderTest, manual audio smoke tests\n\nChange-Id: I250ea5da4c1da809ceac0da22ae9bee15b937001\n"
    },
    {
      "commit": "8d7522888db87e9533b286431f59c7e0b804a514",
      "tree": "ee1a14f6ddd4dea80dac7945c356599cfb5c9628",
      "parents": [
        "020b0dc578cbc5779293e27311c23099996690e0"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Oct 18 15:49:48 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Dec 03 17:41:16 2019 -0800"
      },
      "message": "Move libmediahelper into a new folder.\n\nThis change mainly aims at refactoring libmediahelper. Libmediahelper\ndoesn\u0027t need to be stored in media folder. In that case, move\nlibmediahelper related file to a new folder. In the meantime, move\nAudioParameter.h from libaudioclient to libmediahelper. There is no\nneed to keep AudioParameter.h in libaudioclient while AudioParameter.cpp\nis in libmediahelper.\n\nTest: make\nBug: 135621476\nChange-Id: Icce6615b7e3a68be8b7492f2a91922ab04464ca2\nMerged-In: Icce6615b7e3a68be8b7492f2a91922ab04464ca2\n"
    },
    {
      "commit": "d054bb721892704815137cfd3d49d9f224dec76a",
      "tree": "0674eee7d8aa55b8e8ccf672bb73fdfd0ab7dbde",
      "parents": [
        "15ccc647468f14ffedf5a6e5eda7290f0131f358",
        "e45ac608ee16361fa4246e38330262fbcc9e0078"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 02 20:50:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 02 20:50:55 2019 +0000"
      },
      "message": "Merge changes from topic \"ndk-binder\"\n\n* changes:\n  DrmSessionManager_test: remove ndk wrappers for IResourceManagerService\n  convert ResourceManager usage in MediaCodec to ndk aidl\n"
    },
    {
      "commit": "817fc5bbbec408d13bbfb23be1f22ea0e1d5d041",
      "tree": "6fcd085282bc0f21597817a16cc3f5b5d472d2a1",
      "parents": [
        "3717431b08a34499eacbc2663c6da19449db5941",
        "dab79b3d09783e5053dc91b860eac06bd415cbfd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Dec 02 17:47:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 02 17:47:24 2019 +0000"
      },
      "message": "Merge \"AIDLize MediaExtractorService\""
    },
    {
      "commit": "fdd512ab3eaeee9bfb12a5e9c6f4dfe18ff2f2cf",
      "tree": "dfcee29b05a8c5b6c8bbc6d204b8b11c5704daec",
      "parents": [
        "88468e169aa02aec147006aa8de1e5468e253f4e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Nov 22 11:03:14 2019 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 27 17:04:06 2019 -0800"
      },
      "message": "convert ResourceManager usage in MediaCodec to ndk aidl\n\nbug: 142396029\ntest: ResourceManagerService_test, DrmSessionManager_test,\nCTS ResourceManagerTest, manual test battery stats and cpuset\n\nChange-Id: I77f5de54a83b17d906798659e1b3281c90cde92c\n"
    },
    {
      "commit": "3c4f15aee159bc97a1a551f4a7608eff76f2f703",
      "tree": "6201871204d5bf094979b67a80cf0d114bce51db",
      "parents": [
        "9350e40427202b21750a9ad9d631e2afb1638ad6",
        "16bcc29edb3dac99f85abfe47ea5e731fd977769"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Nov 26 13:05:58 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 26 13:05:58 2019 -0800"
      },
      "message": "Merge changes from topics \"AddLibaudiofoundation\", \"stdContainers\"\nam: 16bcc29edb\n\nChange-Id: Idc024b9da351b6931482f51da09c0299aa214f22\n"
    },
    {
      "commit": "4562b3b99b5462bd475325bd19a6047c30ce282a",
      "tree": "2e6200fbf5d873e90bdf6f6ccf45ef0c7a871aa3",
      "parents": [
        "41502b244f6107ed57330eb447d8e29960b9cf4f"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Jul 29 10:13:34 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Nov 26 11:41:08 2019 -0800"
      },
      "message": "Use standard containers for audio stuff in audio framework\n\n1. Add SampleRateSet, FormatSet, ChannelMaskSet, FormatVector\nusing std::vector and std::set in libaudiofoundation.\n2. Use SampleRateSet, FormatSet, ChannelMaskSet, FormatVector in\naudio framework.\n\nBug: 135621476\nTest: make, CTS for AudioRecord, AudioTrack, AudioManagerTest\nTest: play and record audio\nChange-Id: Ic04e637bcc6ba9df84c5e7561ec3c03f18a7d242\nMerged-In: Ic04e637bcc6ba9df84c5e7561ec3c03f18a7d242\n"
    },
    {
      "commit": "dab79b3d09783e5053dc91b860eac06bd415cbfd",
      "tree": "229183838216adea270164035e0544354f4bfb5b",
      "parents": [
        "68db3a07ae337de45b82c6e45d41c2c325f8e2dd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 18 08:25:47 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 21 14:15:00 2019 -0800"
      },
      "message": "AIDLize MediaExtractorService\n\nUse .aidl instead of handwritten binder code for MediaExtractorService.\n\nTest: build, CTS\n\nChange-Id: Ibc93eca9128552c23359218ac3bf12319391e1b1\n"
    },
    {
      "commit": "22a082cd73cc2708e232d9eaa8d59c6c8869f3b6",
      "tree": "d2b1431f03226b35473b65c895df20346342dedd",
      "parents": [
        "8aab9af295c7e4d9a503a3f11831e5b7e4d66a8a",
        "82ea6be9a7750feb6898b7146f286825e59c3e98"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Nov 20 20:16:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 20 20:16:42 2019 +0000"
      },
      "message": "Merge \"mediadrm: use stable C interface to record metrics\""
    },
    {
      "commit": "82fe8f2d3e800ef366a3c6c426c42c3345ebe226",
      "tree": "070537dc15b444eea7727e01a85ddb7c2413f012",
      "parents": [
        "aa10126610892c4bb21bee30c20f240ead80c00e",
        "bc0d257bbe16df642b8c75510e2d59665c46dfe4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 19 15:24:21 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 19 15:24:21 2019 -0800"
      },
      "message": "Merge \"Remove DrmInitialization from IDataSource\"\nam: bc0d257bbe\n\nChange-Id: I1423a52edff5d3abb2bdf82010263e4d0c71860d\n"
    },
    {
      "commit": "19b0be6e8b5ffe28215dc00e2c551be46483d0aa",
      "tree": "2bf28aa0a6f9667c0c92de2c3355302e163b0e24",
      "parents": [
        "0501baaa032a55226be40aeeb945dcebba635164"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 07:51:15 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 19 12:20:24 2019 -0800"
      },
      "message": "Remove DrmInitialization from IDataSource\n\nDrmInitialization only needs to be called on PlayerServiceFileSource\nand PlayerServiceMediaHTTP, so just have those initialize the forward\nlock engine automatically, which removes the need to have this in the\nIDataSource interface.\n\nTest: atest cts/tests/tests/drm/src/android/drm/cts/DRMTest.java\n\nChange-Id: I344f46b65b5c473930b16b9b4041e4897384dc18\nMerged-In: I344f46b65b5c473930b16b9b4041e4897384dc18\n"
    },
    {
      "commit": "f9656ff1f117830f2f3d3e24be354fa3a4db3ada",
      "tree": "b8958bc6b2700ebc86cb2afdd992a177c2c1ae23",
      "parents": [
        "7e5e530d39e3de6f904c8587b1c60bed631178c1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 07:51:15 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 11:18:27 2019 -0800"
      },
      "message": "Remove DrmInitialization from IDataSource\n\nDrmInitialization only needs to be called on PlayerServiceFileSource\nand PlayerServiceMediaHTTP, so just have those initialize the forward\nlock engine automatically, which removes the need to have this in the\nIDataSource interface.\n\nTest: atest cts/tests/tests/drm/src/android/drm/cts/DRMTest.java\n\nChange-Id: I344f46b65b5c473930b16b9b4041e4897384dc18\n"
    },
    {
      "commit": "82ea6be9a7750feb6898b7146f286825e59c3e98",
      "tree": "58363ced735ec917ade18a190a7eaa540643c135",
      "parents": [
        "b752850e1c8665aede7b56788568a9c82bfc047f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Nov 07 17:47:23 2019 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Nov 13 03:48:05 2019 +0000"
      },
      "message": "mediadrm: use stable C interface to record metrics\n\nBug: 134787536\nTest: dumpsys media.metrics\nChange-Id: I0156052334d0b52691cde82b71c5dc0f40d13fb5\n"
    },
    {
      "commit": "6fcb941084faecce31909f1c50ee1ba442244f8b",
      "tree": "d8904b383fd5d7e01c3c966c1c57c44266dbad18",
      "parents": [
        "22cd27bcc50b17ebb5104400cece4c34f1729930",
        "c499a089250910118da5a292794d0dc1c9053171"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Oct 30 14:30:59 2019 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Oct 30 14:30:59 2019 -0700"
      },
      "message": "DO NOT MERGE - qt-qpr1-dev-plus-aosp-without-vendor@5915889 into stage-aosp-master\n\nBug: 142003500\nChange-Id: I0de886061b2d75f9c37e8edbd4e7e08225d0186b\n"
    },
    {
      "commit": "93db39b482ef18d6f384bb42cb8d09d89eb1e3a8",
      "tree": "24c2a9ecfac087c3c1f4c99d09ef977060433b8f",
      "parents": [
        "f65c700c2947c2e89b2b8ced10972fab29ae175d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 23 09:19:18 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 25 20:35:49 2019 +0000"
      },
      "message": "Move Visualizer to libaudioeffect_jni, its only user\n\nThis removes libaudioeffect_jni\u0027s dependency on libmedia and removes\nlibmedia\u0027s dependency on libaudioutils.\n\nTest: build\nChange-Id: Iabd4835f2d09e403ebed8b8ba2e42ac1fa86b044\nMerged-In: Iabd4835f2d09e403ebed8b8ba2e42ac1fa86b044\n"
    },
    {
      "commit": "ea08908d57c9af2be63c9ba2895eb049cc931218",
      "tree": "099a701fa42e4c24e53b1b0e939e1d85f781405b",
      "parents": [
        "bdb7b5d47aa2f3b26b892e2f2c5a4bae0bae0a39",
        "9917d4ab1b26c8770f3d0474849b43a26c0a1535"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 25 19:28:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 25 19:28:52 2019 +0000"
      },
      "message": "Merge \"Revert \"Revert \"media: remove IGraphicBufferSource.aidl\"\"\""
    },
    {
      "commit": "e98ca70430381ebd29e131a06c6ea972f33f07d2",
      "tree": "eb5d055be97dc521a4afaa792e7e96fa7824215d",
      "parents": [
        "1efbc0dc63cfe9e6713375ff3f0bec429c09060c",
        "fa287425b098298bd8c467a499f64f485c3fddc2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 25 04:40:47 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 25 04:40:47 2019 +0000"
      },
      "message": "Merge \"Move Visualizer to libaudioeffect_jni, its only user\""
    },
    {
      "commit": "9917d4ab1b26c8770f3d0474849b43a26c0a1535",
      "tree": "bc86756a2379a2ac027196513e7e51426b7a146e",
      "parents": [
        "08c3c988eee1391458ccf1adbb5d0f60c7718f8e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Oct 24 12:56:38 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Oct 24 12:56:38 2019 -0700"
      },
      "message": "Revert \"Revert \"media: remove IGraphicBufferSource.aidl\"\"\n\nBug: 136290435\nBug: 143248118\nTest: atest CtsMediaTestCases:MediaRecorderTest\nTest: atest CtsCameraTestCases:RecordingTest\nTest: m checkbuild\nThis reverts commit 47eaa194717c944098c499061b662c36191bc656.\n\nChange-Id: I0bf3822336e51764d41a6f27c677d19e478af760\n"
    },
    {
      "commit": "fa287425b098298bd8c467a499f64f485c3fddc2",
      "tree": "08cc96c92632a6da19214463257301cc08b2aa3f",
      "parents": [
        "160cb9bef515f0554569b3f7901332b93c5b97f5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 23 09:19:18 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 24 10:14:11 2019 -0700"
      },
      "message": "Move Visualizer to libaudioeffect_jni, its only user\n\nThis removes libaudioeffect_jni\u0027s dependency on libmedia and removes\nlibmedia\u0027s dependency on libaudioutils.\n\nTest: build\nChange-Id: Iabd4835f2d09e403ebed8b8ba2e42ac1fa86b044\n"
    },
    {
      "commit": "08c3c988eee1391458ccf1adbb5d0f60c7718f8e",
      "tree": "9e11a77c1b0d6c3ef971bfff961c1779ca20bfad",
      "parents": [
        "5e1eb2bea945c3cf9ea5a966ee3c15b2016b6ee6",
        "47eaa194717c944098c499061b662c36191bc656"
      ],
      "author": {
        "name": "Bill Napier",
        "email": "napier@google.com",
        "time": "Thu Oct 24 06:14:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 24 06:14:48 2019 +0000"
      },
      "message": "Merge \"Revert \"media: remove IGraphicBufferSource.aidl\"\""
    },
    {
      "commit": "47eaa194717c944098c499061b662c36191bc656",
      "tree": "47ac7c20106ddc9471a2d21adc48874a5d8b001c",
      "parents": [
        "2f6a4b8345d66c54cffa67295f682a5b8ad57848"
      ],
      "author": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Thu Oct 24 01:14:51 2019 +0000"
      },
      "committer": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Thu Oct 24 01:14:51 2019 +0000"
      },
      "message": "Revert \"media: remove IGraphicBufferSource.aidl\"\n\nThis reverts commit 2f6a4b8345d66c54cffa67295f682a5b8ad57848.\n\nReason for revert: broken build b/143248118\n\nChange-Id: I1d81103a6992f98264d9afeaa055cab500f0c0b3\n"
    },
    {
      "commit": "3d088e7a7e1948cbcf7a21a1612362b2177808cf",
      "tree": "6897175c5df79e82e9aeb95c7e12e71d5cda3764",
      "parents": [
        "a73f0a53033e03cc66d132aa521cc15524a976ea",
        "2f6a4b8345d66c54cffa67295f682a5b8ad57848"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Oct 23 23:51:43 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 23:51:43 2019 +0000"
      },
      "message": "Merge \"media: remove IGraphicBufferSource.aidl\""
    },
    {
      "commit": "c6fe9c424669d640d8bbe0fc7e130a34bab0b4bd",
      "tree": "d821b66cd687346e0d15f6707f8f546c64ccca68",
      "parents": [
        "a987db923b070148ebd42cb4a502f05702630d33",
        "bbb382312e7c8b78dc007ab6ed3020b69346dae4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 23 23:14:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 23:14:39 2019 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Move libmediahelper into a new folder.\"\"\""
    },
    {
      "commit": "bbb382312e7c8b78dc007ab6ed3020b69346dae4",
      "tree": "e6ab4705e0b5e4afe880a178f3b44259e5ab9442",
      "parents": [
        "a0877dc731067dd95635b2be3e893f1fe60bf3a1"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Oct 23 21:02:41 2019 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Oct 23 21:02:41 2019 +0000"
      },
      "message": "Revert \"Revert \"Move libmediahelper into a new folder.\"\"\n\nThis reverts commit a0877dc731067dd95635b2be3e893f1fe60bf3a1.\n\nReason for revert: Should work with go/pag/1465463 merging to master.\n\nChange-Id: I17217744eacabf15621d4a5aac9dd1678e37e4ba\n"
    },
    {
      "commit": "2f6a4b8345d66c54cffa67295f682a5b8ad57848",
      "tree": "59da023b9d360b8853ee3d0e30e807982aad5f3c",
      "parents": [
        "5871ab512193274898baca9a4efa734392019ebf"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Oct 22 09:43:39 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Oct 23 12:41:39 2019 -0700"
      },
      "message": "media: remove IGraphicBufferSource.aidl\n\nBug: 136290435\nTest: atest CtsMediaTestCases:MediaRecorderTest \\\n      atest CtsCameraTestCases:RecordingTest\n\nChange-Id: Id159fa99e69760006e80ef6c506b9c890c39997c\n"
    },
    {
      "commit": "81916e150800304153d82b98344dad09d680997a",
      "tree": "7213b3a5b37b46e634850c02a47a6bffef789b2b",
      "parents": [
        "160cb9bef515f0554569b3f7901332b93c5b97f5",
        "63e2c52d1430eb180d3f9c99e7ac8459d3580e90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 23 19:32:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 19:32:05 2019 +0000"
      },
      "message": "Merge \"Move LinearMap from libmedia to audio_utils.\""
    },
    {
      "commit": "9d156bc0946afb725393e263aebf5bf1d1646d9d",
      "tree": "1978749f34abcdf880e0b381b62c90f52da8b1ca",
      "parents": [
        "0562c91f1546865a115e9cfb029b1bf39bdb3879",
        "a0877dc731067dd95635b2be3e893f1fe60bf3a1"
      ],
      "author": {
        "name": "Mohammad Samiul Islam",
        "email": "samiul@google.com",
        "time": "Wed Oct 23 16:24:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 16:24:21 2019 +0000"
      },
      "message": "Merge \"Revert \"Move libmediahelper into a new folder.\"\""
    },
    {
      "commit": "a0877dc731067dd95635b2be3e893f1fe60bf3a1",
      "tree": "eceafbd995bb43bfcd277bcd421df42e099cbc6e",
      "parents": [
        "c8888660b53647ef1a9608493ab1a5dc93ba9b0d"
      ],
      "author": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Oct 23 16:05:56 2019 +0000"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Oct 23 16:05:56 2019 +0000"
      },
      "message": "Revert \"Move libmediahelper into a new folder.\"\n\nThis reverts commit c8888660b53647ef1a9608493ab1a5dc93ba9b0d.\n\nReason for revert: Broke elfin build\n\nChange-Id: Idfd67b064b28abf32da332149bdce212249345d8\n"
    },
    {
      "commit": "31ee1db17f3f12160ff258b9a44b92272ac7adaa",
      "tree": "3111400d9d8598c1954d97551d6fc6502df093af",
      "parents": [
        "35f148bc5a1cb1efffd9aee0223a06720a303329"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 22 13:42:38 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 23 07:58:24 2019 -0700"
      },
      "message": "Move MediaDeviceInfo to libamidi, its only user\n\nTest: build\nChange-Id: Iaa3d0bff7e03cb122f525f9cf986f6e17e7978ea\nMerged-In: Iaa3d0bff7e03cb122f525f9cf986f6e17e7978ea\n"
    },
    {
      "commit": "0562c91f1546865a115e9cfb029b1bf39bdb3879",
      "tree": "6a539308b8058e20657e13516cb6d3e5223e0561",
      "parents": [
        "199445d17d37f1e820efb7ae309bee1545288a3c",
        "e9f6c3d54ca462eec3c20df38685b6b9bb920ca1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 23 14:48:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 14:48:14 2019 +0000"
      },
      "message": "Merge \"Move MediaDeviceInfo to libamidi, its only user\""
    },
    {
      "commit": "c8888660b53647ef1a9608493ab1a5dc93ba9b0d",
      "tree": "e6ab4705e0b5e4afe880a178f3b44259e5ab9442",
      "parents": [
        "f6581aaac9469864be4bd915bca0c1ae9f37d55d"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Oct 18 15:49:48 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Oct 22 17:20:54 2019 -0700"
      },
      "message": "Move libmediahelper into a new folder.\n\nThis change mainly aims at refactoring libmediahelper. Libmediahelper\ndoesn\u0027t need to be stored in media folder. In that case, move\nlibmediahelper related file to a new folder. In the meantime, move\nAudioParameter.h from libaudioclient to libmediahelper. There is no\nneed to keep AudioParameter.h in libaudioclient while AudioParameter.cpp\nis in libmediahelper.\n\nTest: make\nBug: 135621476\nChange-Id: Icce6615b7e3a68be8b7492f2a91922ab04464ca2\n"
    },
    {
      "commit": "63e2c52d1430eb180d3f9c99e7ac8459d3580e90",
      "tree": "bf6684e2cb0741509cf1e2a06569bcb65c8f48df",
      "parents": [
        "f6581aaac9469864be4bd915bca0c1ae9f37d55d"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Oct 22 16:48:20 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Oct 22 17:10:30 2019 -0700"
      },
      "message": "Move LinearMap from libmedia to audio_utils.\n\nLinearMap It is only used in AudioFlinger to associate track frames\nto sink frames. It is not related to media stuff. In that case, move\nit to audio_utils.\n\nTest: make\nChange-Id: I947e1cb61bd6e66d5fd53b4f7d0a8e1c5876cbf4\n"
    },
    {
      "commit": "e9f6c3d54ca462eec3c20df38685b6b9bb920ca1",
      "tree": "0d79af25c6e3ff2f861805b8d8c872edfe5f4ea1",
      "parents": [
        "e2d53408222d3b06462073b9447529c781be6419"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 22 13:42:38 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 22 13:42:38 2019 -0700"
      },
      "message": "Move MediaDeviceInfo to libamidi, its only user\n\nTest: build\nChange-Id: Iaa3d0bff7e03cb122f525f9cf986f6e17e7978ea\n"
    },
    {
      "commit": "181e6950a1ce5b9705c47c4b4e288d978cb7283a",
      "tree": "b92dc19041aec4465161b112f45185cd4598c09a",
      "parents": [
        "318b26e722112462f93df797bf47ca3dabc80048"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 09 13:23:39 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Oct 18 14:55:23 2019 -0700"
      },
      "message": "Convert IResourceManagerService to stable AIDL\n\nConvert with minimal change to the interface itself.\n\nAdd additional test to cover DrmSessionManager\u0027s usage\nof possible negative value field (which is signed now).\n\nbug: 142396029\ntest: ResourceManagerService_test, DrmSessionManager_test,\nCTS ResourceManagerServiceTest;\nManually check battery stats reporting.\n\nChange-Id: I5c537a54efc2663281c96ddbdbd4ee56f23c1adf\n"
    },
    {
      "commit": "1e7d2e99ede705191560d35a376d529822344b29",
      "tree": "3a2d995b2fd85d75445d9182630e413d6b5b78c8",
      "parents": [
        "e2a67de73c5fce9c809b4012ec81cd274ebbd91e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 17 08:54:12 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 17 21:33:22 2019 +0000"
      },
      "message": "Move JetPlayer to JNI\n\nJetPlayer.cpp was only used by the JetPlayer JNI code, so move\nit to the same library.\n\nTest: atest JetPlayerTest\nChange-Id: I14b8241c5eb6c789ebc5d6725db716b9b0f8f31f\nMerged-In: I14b8241c5eb6c789ebc5d6725db716b9b0f8f31f\n"
    },
    {
      "commit": "71124db6de8b9839f71fe60830524c52b7c4b645",
      "tree": "bee3c1bb702f3d4bfe53a34cda7d6058ca99a7b2",
      "parents": [
        "05350c4d1acfa9fb348e3a99f083553a642975b5",
        "a33446ada9ae8d05e64580e900421f03a58b96f8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 17 21:32:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 17 21:32:28 2019 +0000"
      },
      "message": "Merge \"Move JetPlayer to JNI\""
    },
    {
      "commit": "a33446ada9ae8d05e64580e900421f03a58b96f8",
      "tree": "2d54b5a4122945e2a7ea6987e841e3343edef50b",
      "parents": [
        "2c0e663dae993c142aad388a6f7a71ebf78c7616"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 17 08:54:12 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 17 10:32:11 2019 -0700"
      },
      "message": "Move JetPlayer to JNI\n\nJetPlayer.cpp was only used by the JetPlayer JNI code, so move\nit to the same library.\n\nTest: atest JetPlayerTest\nChange-Id: I14b8241c5eb6c789ebc5d6725db716b9b0f8f31f\n"
    },
    {
      "commit": "c3af31b8f1a7bac5d3e3c953702c8faec3cd55e3",
      "tree": "30533ca112d60914f2c23acda83394275b97ea25",
      "parents": [
        "32706253ce90531c94b5f2af7caacb443eb09d8c"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Sep 20 21:45:01 2019 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Oct 04 22:05:40 2019 -0700"
      },
      "message": "Implement DrmSessionManager w mediaresourcemanager\n\nBug: 134787536\nTest: DrmSessionManagerTest\nTest: DrmSessionManager_test\nTest: ResourceManagerService_test\nChange-Id: Iab9f4f681c83f46b043cefc8633bb3e513a8e75a\n"
    },
    {
      "commit": "71031a89896be183f74a9747c91f7a764c3dfb65",
      "tree": "8fa33aeeda6d151228fb575e79e7778608aa61b9",
      "parents": [
        "52a42dde3627544fabc6691afcc67df73ed6b5e7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 10:54:35 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 12:57:25 2019 -0700"
      },
      "message": "Remove more remnants of MediaPlayer2\n\nBug: 141546997\nTest: build\n\nChange-Id: Iaa4d9e4205f78d4b4d465b4f128a28a419ff603b\nMerged-In: Iaa4d9e4205f78d4b4d465b4f128a28a419ff603b\n"
    },
    {
      "commit": "273fd3699237ab002d2e0f9f03dbc2ae8c3a3ae8",
      "tree": "cfeffeb747b3e99dfba76fd76051a522a555b50c",
      "parents": [
        "fb1fb155f9ec3a05ffa9e49f9415b565dcf8c163"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 10:54:35 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 04 11:45:43 2019 -0700"
      },
      "message": "Remove more remnants of MediaPlayer2\n\nBug: 141546997\nTest: build\n\nChange-Id: Iaa4d9e4205f78d4b4d465b4f128a28a419ff603b\n"
    },
    {
      "commit": "99a2c4a2c49f5d32d9ba79585890b5fa7ed52f2a",
      "tree": "c4b3ad327d441c728334593b733c29c39e826d6e",
      "parents": [
        "8eb9e24ea239a05c767ac15f5d25d5b6c56aa8be",
        "b4e0c3b19f11e972c9b789550c4e321cf26fa1c8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 02 14:59:40 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 02 14:59:40 2019 -0700"
      },
      "message": "Remove libmediadrm symlinks\nam: b4e0c3b19f\n\nChange-Id: Ib2ecb92e4a07385f201b884f15b8143c9c4c2c02\n"
    },
    {
      "commit": "b4e0c3b19f11e972c9b789550c4e321cf26fa1c8",
      "tree": "0b8ca8cb36cba24e658232e5fa0b286d75318995",
      "parents": [
        "bcc132d8e562375f7830839caf84307f523f623d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 10:21:55 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 02 19:54:39 2019 +0000"
      },
      "message": "Remove libmediadrm symlinks\n\nTest: build\nChange-Id: I53d703b6d34226926437b0207a2b3d51dff6881a\nMerged-In: I53d703b6d34226926437b0207a2b3d51dff6881a\n"
    },
    {
      "commit": "55b259cf5ec16df77b52206e8209f5df2fc214c5",
      "tree": "29989150d2cfb026f11ec5d43edb8116442e7311",
      "parents": [
        "87025d5658d1a3d78c1a634035f7126f0ba8a4f1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 10:21:55 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 01 13:43:37 2019 -0700"
      },
      "message": "Remove libmediadrm symlinks\n\nTest: build\nChange-Id: I53d703b6d34226926437b0207a2b3d51dff6881a\nMerged-In: I53d703b6d34226926437b0207a2b3d51dff6881a\n"
    },
    {
      "commit": "13aa1a4b6630a05fc3e48824b911009ecbb33284",
      "tree": "506fa3026d84685c2621157b9b668155c31ae0ec",
      "parents": [
        "e3cdab3c40cb71284a0e186d7d5a82257e7d34a1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 10:21:55 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 30 14:04:37 2019 -0700"
      },
      "message": "Remove libmediadrm symlinks\n\nTest: build\nChange-Id: I53d703b6d34226926437b0207a2b3d51dff6881a\n"
    },
    {
      "commit": "21bbf7d12f74ada28f5b73f3a5bded613df8c609",
      "tree": "49d9e063daf683dc44aadd75efb2a3f9aa637af4",
      "parents": [
        "1167ff999c6a7451e7a328242b3148947cc918ee",
        "0360e714b86ceb1764f888389780d8bee7eec700"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 15:20:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 27 15:20:59 2019 -0700"
      },
      "message": "Merge \"Remove symlinks from include dir\" am: 5158f491c6 am: 5582a7360a\nam: 0360e714b8\n\nChange-Id: I74d8495c913ad46396294390b49e9828653fab99\n"
    },
    {
      "commit": "3230ed8235a39adef82d7c3873e6a87007799ff8",
      "tree": "158042769963aa698a8fbd240d2abfc352220c3d",
      "parents": [
        "6dc75fb0cde69661a1d2d915c1520b251ebdfbbb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 26 11:20:54 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 12:12:46 2019 -0700"
      },
      "message": "Remove symlinks from include dir\n\nTest: build\n\nChange-Id: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\nMerged-In: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\n"
    },
    {
      "commit": "cf90b4931734e42c6092318991f213b76d7e849e",
      "tree": "3c0c685cb75bbdc37172d24113f6c0dbcbf3dfb4",
      "parents": [
        "d2dc18b063c548d9646dd1127fea97ccebdba079"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 26 11:20:54 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 09:02:30 2019 -0700"
      },
      "message": "Remove symlinks from include dir\n\nTest: build\n\nChange-Id: Ibe4eee4fe49b7884e6d720e626d88125bbee0eb2\n"
    },
    {
      "commit": "920c850f898ae38d488eee7484c46d13f0faa7bd",
      "tree": "54e1456ebe83d83c8d4cfb504bc1b1ef187da9dd",
      "parents": [
        "4811014a958f7cf233b8284fb4a422990c7a3549",
        "50f1e17dbe57177a90cdbf6be76b50f7c109012d"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 20 17:53:06 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 20 17:53:06 2019 -0700"
      },
      "message": "Add support for combining and remove individual resource am: fb092d3b72\nam: 50f1e17dbe\n\nChange-Id: Id428c9f8c4bc8afc91e0ef69832ac6927358837a\n"
    },
    {
      "commit": "50f1e17dbe57177a90cdbf6be76b50f7c109012d",
      "tree": "322a61be7e0ef2cd0b75a02ece0ce6565ac7363b",
      "parents": [
        "93f1e3b3ed255d8ccf0e6815653ca8ec46fa58f9",
        "fb092d3b720923efaf0f9d4f4c16c57da6d657ac"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 20 17:43:06 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 20 17:43:06 2019 -0700"
      },
      "message": "Add support for combining and remove individual resource\nam: fb092d3b72\n\nChange-Id: I8f64a4f1e9f4aa5279d8a7a4cd45a69bd7f16e22\n"
    },
    {
      "commit": "93f1e3b3ed255d8ccf0e6815653ca8ec46fa58f9",
      "tree": "88f7e80d26a7f67ae58d3331c51138c96e169d09",
      "parents": [
        "25259b25f3a6b90ac5c6cf84432575a826bda809",
        "57eeeb00319e8f3c01d547bd0f4b5fc55338326b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 20 16:26:09 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 20 16:26:09 2019 -0700"
      },
      "message": "Merge \"Report video battery on/off from mediaserver\" into qt-qpr1-dev\nam: 57eeeb0031\n\nChange-Id: I72316cc05a0302095ad623f96a6a6d8aad9e968e\n"
    },
    {
      "commit": "fb092d3b720923efaf0f9d4f4c16c57da6d657ac",
      "tree": "c19f0a91dfe61a1e12a64cd9a2531f8af9872315",
      "parents": [
        "57eeeb00319e8f3c01d547bd0f4b5fc55338326b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 12 09:45:44 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 20 22:55:11 2019 +0000"
      },
      "message": "Add support for combining and remove individual resource\n\n- Fix ResourceManagerSerivce handling of adding same-type\nresource in multiple calls, combine entries with the same\n\u003ctype, subtype\u003e. This is not required in existing usage,\nbug could be required if we allow same type to be added\nincrementally (eg. memory usage).\n\n- Add api for removing some resources. Currently we can\nadd resources in multiple calls, but removeResource always\nremove all resources of that client. We need this to toggle\nbattery stat On/Off based on actual usage of the codec.\n\n- Add unit tests for the above.\n\nbug: 138381810\ntest: ResourceManagerService_test; CTS ResourceManangerTest.\n\nChange-Id: Icdba6c6b4c517755291668c52764169aac3071ea\n"
    },
    {
      "commit": "ee33d64bf82f3781ab826863f69d089d0a7400da",
      "tree": "0627c7b51438b3cbd882400331928646ad11dc5b",
      "parents": [
        "5f55524296edd32a00e848febff99b2849cef015"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 08 14:26:43 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 14 17:13:24 2019 -0700"
      },
      "message": "Report video battery on/off from mediaserver\n\n    We can\u0027t track video stats accurately if it\u0027s reported from\n    app side MediaCodec. If the app dies, video stats get stuck\n    in On state forever. This can be easily triggered by forcefully\n    kill and app that uses MediaCodec from app side (instead of\n    through mediaserver\u0027s Recorder or Player service), eg.\n    launch GoogleCamera app and switch to Video tab, and kill it\n    from adb shell.\n\n    In order to track MediaCodec usage from apps we need to move\n    the battery stats reporting from MediaCodec into ResourceManager.\n\nbug: 138381810\ntest:\n1. test if app uses MediaCodec directly and it dies off, the video\n   off is received: launch GoogleCamera app, swipe to Video tab,\n   \"dumpsys batterystats --history\" and see +video; now adb shell\n   kill GoogleCamera, dumpsys should show -video.\n2. test app that uses MediaCodec through mediaserver: use Chrome\n   (which uses MediaPlayer) to play some website with video, kills\n   Chrome from adb shell, and check -video is received.\n   In anycase it shouldn\u0027t stuck in On state.\n3. ResourceManagerService_test\n\nChange-Id: I164b31681c4e72e8cce02342641dbec14b8df374\n(cherry picked from commit 47db2ff19c3ceb2d3b39ff9315a463984e55dec1)\n"
    },
    {
      "commit": "c6c78b6cb224a7985c61d47c6b3c2e39180831c3",
      "tree": "1db168b81debf2730a748470d146500df4e93590",
      "parents": [
        "4e00f928aee8a10d2c62920d21ade19aec14d343",
        "7075dc6a21f7439d6d3189b32a88f1adf7f87ed6"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Aug 14 10:42:40 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 14 10:42:40 2019 -0700"
      },
      "message": "Merge \"Move ExtendedAudioBufferProvider and SingleStateQueue\" am: 2a70a39f4c am: 72d2412c27 am: 1cae73f318 am: 5fdaa0f7d2\nam: 7075dc6a21\n\nChange-Id: I2b775d9274b8d0e0e5419c5e945a67a089bb8149\n"
    },
    {
      "commit": "72d2412c271237aa6dfa2a75c41c8c0f69999b34",
      "tree": "5a4e3e6534daafd5c8bdf61be5cacfb21d73c084",
      "parents": [
        "5369de1fd662aa373cbbf4cf5368c66da74d51db",
        "2a70a39f4c88c531be1a7087e6b241532ee0024d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Aug 14 10:14:49 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 14 10:14:49 2019 -0700"
      },
      "message": "Merge \"Move ExtendedAudioBufferProvider and SingleStateQueue\"\nam: 2a70a39f4c\n\nChange-Id: I993318e2a9a5bba3aa65ee8319d80bebb537df50\n"
    },
    {
      "commit": "72e9b14d858b5850109b13d5e273c2d675040383",
      "tree": "64246320ef987627a9b0f7dd164e9cc649549ab2",
      "parents": [
        "50166f1b76c1243c8e70d16a4b04cd8465a03168",
        "47db2ff19c3ceb2d3b39ff9315a463984e55dec1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 12 20:45:00 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 12 20:45:00 2019 +0000"
      },
      "message": "Merge \"Report video battery on/off from mediaserver\""
    },
    {
      "commit": "9f3c02d15167b98b9208687e7e30e07149efbf2d",
      "tree": "60cb2b95b2a1eb630697b5014a05713e4c899366",
      "parents": [
        "646a332acfc525e94e6c1898544201052efa4fc8"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 12 11:36:05 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Aug 12 11:47:19 2019 -0700"
      },
      "message": "Move ExtendedAudioBufferProvider and SingleStateQueue\n\nMove ExtendedAudioBufferProvider.h to libaudioclient. This is\na more appropriate location because EABP extends AudioBufferProvider.\n\nMove SingleStateQueue.h to libnbaio_mono. This is a more appropriate\nlocation because SSQ is a non-blocking queue.\n\nThis allows to remove the dependency of libnbaio on libmedia\nwhich is a good thing because libnbaio provides more low-level\nabstractions than libmedia.\n\nAlso, replace a dependency of libnbaio on libbinder with\na dependency on libaudiohal header library.\n\nTest: make\nChange-Id: Ie48b523790cd8230695ec2e4710e50981b616289\n"
    },
    {
      "commit": "47db2ff19c3ceb2d3b39ff9315a463984e55dec1",
      "tree": "8bd25eea554151e9c89bc8c7a3d742637d89f7a6",
      "parents": [
        "28355761d73f1495bba8994dc3c0dc631ae245a8"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 08 14:26:43 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 12 11:13:21 2019 -0700"
      },
      "message": "Report video battery on/off from mediaserver\n\n    We can\u0027t track video stats accurately if it\u0027s reported from\n    app side MediaCodec. If the app dies, video stats get stuck\n    in On state forever. This can be easily triggered by forcefully\n    kill and app that uses MediaCodec from app side (instead of\n    through mediaserver\u0027s Recorder or Player service), eg.\n    launch GoogleCamera app and switch to Video tab, and kill it\n    from adb shell.\n\n    In order to track MediaCodec usage from apps we need to move\n    the battery stats reporting from MediaCodec into ResourceManager.\n\nbug: 138381810\ntest:\n1. test if app uses MediaCodec directly and it dies off, the video\n   off is received: launch GoogleCamera app, swipe to Video tab,\n   \"dumpsys batterystats --history\" and see +video; now adb shell\n   kill GoogleCamera, dumpsys should show -video.\n2. test app that uses MediaCodec through mediaserver: use Chrome\n   (which uses MediaPlayer) to play some website with video, kills\n   Chrome from adb shell, and check -video is received.\n   In anycase it shouldn\u0027t stuck in On state.\n3. ResourceManagerService_test\n\nChange-Id: I164b31681c4e72e8cce02342641dbec14b8df374\n"
    },
    {
      "commit": "50166f1b76c1243c8e70d16a4b04cd8465a03168",
      "tree": "01194f0af6069b7abd745f83e8a3f3891c501410",
      "parents": [
        "818244df7fe0f526a1029da1e2c21f212e58149d",
        "b5d463372d508cad4ab3ce3a219a4e666793c45b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Aug 10 03:49:49 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 10 03:49:49 2019 +0000"
      },
      "message": "Merge \"Revert \"Report video battery on/off from mediaserver\"\""
    },
    {
      "commit": "b5d463372d508cad4ab3ce3a219a4e666793c45b",
      "tree": "6918e584833186110516c89fb5953c348ce09e56",
      "parents": [
        "72f212b79bbd1a9e6b341fe7ddf787690408e5a3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Aug 10 03:47:55 2019 +0000"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Aug 10 03:47:55 2019 +0000"
      },
      "message": "Revert \"Report video battery on/off from mediaserver\"\n\nThis reverts commit 72f212b79bbd1a9e6b341fe7ddf787690408e5a3.\n\nReason for revert: broke a test build\n\nChange-Id: I3c5e993ebc81c4ee73f0d4c2a9b47954ca85cab0\n"
    },
    {
      "commit": "818244df7fe0f526a1029da1e2c21f212e58149d",
      "tree": "5d219179e30e9a1514722936ded2a563b83499f3",
      "parents": [
        "f1100e3e64cc9aa1934fd8e4625a9a0e85365ba9",
        "72f212b79bbd1a9e6b341fe7ddf787690408e5a3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Aug 10 00:06:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 10 00:06:28 2019 +0000"
      },
      "message": "Merge \"Report video battery on/off from mediaserver\""
    },
    {
      "commit": "72f212b79bbd1a9e6b341fe7ddf787690408e5a3",
      "tree": "d60e69e1f59d1e62360dde53bf42bd06df0fc9b8",
      "parents": [
        "28355761d73f1495bba8994dc3c0dc631ae245a8"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 08 14:26:43 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Aug 08 15:55:10 2019 -0700"
      },
      "message": "Report video battery on/off from mediaserver\n\n    We can\u0027t track video stats accurately if it\u0027s reported from\n    app side MediaCodec. If the app dies, video stats get stuck\n    in On state forever. This can be easily triggered by forcefully\n    kill and app that uses MediaCodec from app side (instead of\n    through mediaserver\u0027s Recorder or Player service), eg.\n    launch GoogleCamera app and switch to Video tab, and kill it\n    from adb shell.\n\n    In order to track MediaCodec usage from apps we need to move\n    the battery stats reporting from MediaCodec into ResourceManager.\n\nbug: 138381810\ntest:\n1. test if app uses MediaCodec directly and it dies off, the video\n   off is received: launch GoogleCamera app, swipe to Video tab,\n   \"dumpsys batterystats --history\" and see +video; now adb shell\n   kill GoogleCamera, dumpsys should show -video.\n2. test app that uses MediaCodec through mediaserver: use Chrome\n   (which uses MediaPlayer) to play some website with video, kills\n   Chrome from adb shell, and check -video is received.\n   In anycase it shouldn\u0027t stuck in On state.\n\nChange-Id: I0ee02b498bee38979353256711aa50c862494b97\n"
    },
    {
      "commit": "06e4bab5451f1594d6843fc3af698bf8b4c1047e",
      "tree": "2eeec151cc1285a8707bfcaf73582fee9ffc69dd",
      "parents": [
        "433e8a2730ce7280beb2ce49f42f41f9401ad6e4"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Jul 29 10:13:34 2019 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Wed Aug 07 14:36:18 2019 -0700"
      },
      "message": "Use standard containers for audio stuff in audio framework\n\n1. Add SampleRateSet, FormatSet, ChannelMaskSet, FormatVector\nusing std::vector and std::set in libaudiofoundation.\n2. Use SampleRateSet, FormatSet, ChannelMaskSet, FormatVector in\naudio framework.\n\nBug: 135621476\nTest: make, CTS for AudioRecord, AudioTrack, AudioManagerTest\nTest: play and record audio\nChange-Id: Ic04e637bcc6ba9df84c5e7561ec3c03f18a7d242\n"
    },
    {
      "commit": "32925cc4374ba577f7b5d38867b11db1a582b967",
      "tree": "52c652b0c4b22b18dfdff953157ee5ef4cd5545a",
      "parents": [
        "2687b89978140e096f958fb37df53d65eecb9aaf"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 29 15:00:21 2019 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 29 20:47:46 2019 -0700"
      },
      "message": "Move AudioMixer.h and BufferProviders.h into correct location\n\nThe implementation files are in libaudioprocessing,\nthus the header files also belong there.\n\nTest: make\nChange-Id: I78ba4ed480413c0a1b871e80971ef5ce1d0c6755\n"
    }
  ],
  "next": "76a49d617cd817d5be4618757e8d8400aeaad8c9"
}
