)]}'
{
  "log": [
    {
      "commit": "da52d86663542d1860adb0bba7f49902f0e67ac9",
      "tree": "87ea0697485f44d50b5e96eea7fd0df407ba55ff",
      "parents": [
        "d7c87362d62d723590d108465486b896ff5c093b",
        "d8ca9849f28261e894f3c98ddac30aee78bcf08f"
      ],
      "author": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Mon Mar 15 07:07:29 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 15 07:07:29 2021 +0000"
      },
      "message": "Merge \"Use `ro.boot.qemu` to check if the device is an emulator\" am: 351f7e2afb am: 80d8cf709f am: d8ca9849f2\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1626885\n\nMUST ONLY BE SUBMITTED BY AUTOMERGER\n\nChange-Id: I528d7ff844ad0ac1dab13cf649f3fdc9da529e50\n"
    },
    {
      "commit": "bda4575c36ad11b0870ccdb50dcb3a04573d6782",
      "tree": "9e5e3ed6228395c814e390c464e09b3d5922cf29",
      "parents": [
        "6d988df316533c7e189b266ad01e66356b6992d1"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Jul 17 16:41:18 2020 -0700"
      },
      "committer": {
        "name": "Nate Myren",
        "email": "ntmyren@google.com",
        "time": "Thu Mar 11 08:35:04 2021 -0800"
      },
      "message": "Add attributionTag to audio-recordings\n\n... by replacing packageName/uid/pid by the Identity class.\n\nThis allows us to track which parts of the app trigger audio-recordings.\n90% of the code is just sending around the additional parameters.\n\nThis adds it for the Java and native API.\n\nTest: atest CtsAppOpsTestCases\n            CtsNativeMediaAAudioTestCases\nFixes: 160150145\nChange-Id: Ibd7b884f7fcd4668a4e27f997e59cfc3217a9e89\n"
    },
    {
      "commit": "a3f344615cfd118bcc0520c3d019313c9ca5b0e9",
      "tree": "553f8f2f21390a77ec8ebeb8414230d8e2aa677a",
      "parents": [
        "261d874a21be54e5d7367d49f2ca7b9feabc2c5f"
      ],
      "author": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Wed Mar 10 16:17:24 2021 -0800"
      },
      "committer": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Wed Mar 10 16:17:24 2021 -0800"
      },
      "message": "Use `ro.boot.qemu` to check if the device is an emulator\n\n`ro.kernel.qemu` is deprecated.\n\nBug: 182291166\nTest: presubmit\nSigned-off-by: Roman Kiryanov \u003crkir@google.com\u003e\nChange-Id: I75583d20ad0a30ce33227b56f6ce5cd3e6d98ac0\n"
    },
    {
      "commit": "3320935aa69e6d21270320ad7da5804ad85258df",
      "tree": "6317b929db6af6f10f1943aa183fe6b972677663",
      "parents": [
        "870c9d6f981a379b3b495c031191e231a8804804"
      ],
      "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": "Wed Feb 17 08:32:58 2021 -0800"
      },
      "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\nMerged-in: If04ebb09d4f28d8eeb6a1a920a833129828a6ac4\nChange-Id: If04ebb09d4f28d8eeb6a1a920a833129828a6ac4\nSigned-off-by: Byeongjo Park \u003cbjo.park@samsung.com\u003e\n"
    },
    {
      "commit": "b3ce44820908fd4d095e3eb9657c60f508bad4b3",
      "tree": "5a9fb2ae1dbee23a13cf5a77526b1416bc354c15",
      "parents": [
        "c5634ebd5d96a7aec03d726d0a805be9ab07ae02"
      ],
      "author": {
        "name": "Jaideep Sharma",
        "email": "quic_jaidshar@quicinc.com",
        "time": "Mon Nov 16 11:52:35 2020 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 04 20:25:54 2021 +0100"
      },
      "message": "libmedia: modify conditions to reuse track.\n\nIf recycled and new tracks are not on the same output, don\u0027t reuse the recycled one\n\nBug: 111196161\nTest: manual audio smoke tests.\n\nChange-Id: I36e012904bb45b71cf91509d108a89bb2822a020\n"
    },
    {
      "commit": "375283dd6031a71e44fc17efad05b741302c78e5",
      "tree": "da9cbab41fb7a3610201cfe17d09d7a5e9d3a37e",
      "parents": [
        "b77e219423638bd958a5673dba017ea72aaa2e39"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Aug 21 18:14:43 2020 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Tue Sep 15 18:02:58 2020 +0000"
      },
      "message": "Add package name when creating AudioTrack.\n\nThe package name can be used when starting an external vibration, which\nis used by vibrator service to check if the application has the\npermission to start vibration.\n\nBug: 165910728\nBug: 162343845\nTest: atest AudioTrackTest MediaPlayerTest\nTest: start audio-coupled-haptic playback\nChange-Id: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\nMerged-In: I6d12c4e141c037ee94ee79cbb9bf537421ec9507\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": "03675d39999b4e712cbd0e87de1794e9782f1e7d",
      "tree": "53b21a6b3f37d15391d9f5b80c694f91b84ab6b2",
      "parents": [
        "b3dde8e92a8685b3a2e299cd241fb372c52dd19b",
        "4a7b8e414c7e613fb5e1d5946d3bb7da696ae5b4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 23:15:38 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 27 23:15:38 2020 +0000"
      },
      "message": "Merge \"MediaMetrics: Track AudioTrack and AudioRecord callers\" into rvc-dev am: 2578a95a57 am: 164ceef8b6 am: 2e28a7bafb am: 4a7b8e414c\n\nChange-Id: Idbd49b54a4e4877e03eb5432fab1d098394b79e9\n"
    },
    {
      "commit": "a6b270399fdacb09826e751657b7bb321652e3ac",
      "tree": "10091ff0524d2d29dcda00e63630d0f51b300655",
      "parents": [
        "669acb12c3092e581a1ecc347e6d573e96c8ca0e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 10:34:24 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 11:41:38 2020 -0700"
      },
      "message": "MediaMetrics: Track AudioTrack and AudioRecord callers\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nBug: 153658358\nChange-Id: If2b0a792cf4cc6c5b125513861b3dfb257bb3cbe\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": "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": "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": "bf4f332a55ccb01d821e05dd0a3c7431a46e964b",
      "tree": "ff0f220dd8f096a0c77df0b5b81d80c260c41260",
      "parents": [
        "d4fe6b1339be666fd1df2a6a7ed3ce8528ea8064"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 22 19:11:06 2020 +0000"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jan 22 19:16:00 2020 +0000"
      },
      "message": "Revert \"Prime cache for tone mappers in mediaserver\"\n\nThis reverts commit d4fe6b1339be666fd1df2a6a7ed3ce8528ea8064.\n\nReason for revert:\nThis CL was meant to pre-init the RenderEngine to save time\non the actual thumbnail extraction. But it is using more\nmemory after boot.\n\nSince HDR clips are less common at present, we\u0027ll delay the\ninit to first use for now.\n\nbug: b/147047966\ntest: atest android.media.cts.MediaMetadataRetrieverTest\n\nChange-Id: I5b8799bbe2f4ae496e15b5ba699203223fe3013b\n"
    },
    {
      "commit": "d4fe6b1339be666fd1df2a6a7ed3ce8528ea8064",
      "tree": "7639460f339e0bd7defb74bb9cd55371e313ffb9",
      "parents": [
        "9ef4f8d690bc42a0f17d6036d70f6769578a76b5"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 02 14:29:18 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 30 15:49:28 2019 +0000"
      },
      "message": "Prime cache for tone mappers in mediaserver\n\nInstantiate media side renderengine when mediaserver\nstarts, and prime shader cache for the tone mapper\nshaders only.\n\nbug: 140894732\nbug: 135717526\n\ntest: manually check that shader should be compiled\nalready when test run for first time\n\nChange-Id: Ib02569bec948838ace0f3162206dbbcadad5b641\n"
    },
    {
      "commit": "8c0039cad0dc13284fdf7887708c56b26bd96ee6",
      "tree": "572b876a886927a0b946b1045123edc05df9dba5",
      "parents": [
        "0213086e4a3b8b385a1d1ce66e08c7b48c98312d",
        "d579f3efb69bd96bf58c81514ca2428cb4b73231"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Oct 10 20:31:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 10 20:31:34 2019 +0000"
      },
      "message": "Merge \"Fix dumpsys media.player\""
    },
    {
      "commit": "d579f3efb69bd96bf58c81514ca2428cb4b73231",
      "tree": "602ab71931f895e18006cf29543e67c180676132",
      "parents": [
        "5871ab512193274898baca9a4efa734392019ebf"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Oct 07 14:14:09 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Oct 10 11:00:47 2019 -0700"
      },
      "message": "Fix dumpsys media.player\n\n- check dump permission\n- fix truncation happening when details field is too long\n\nBug: 140444741\nTest: dumpsys media.player\nTest: atest CtsSecurityTestCases:android.security.cts.ServicePermissionsTest#testDumpProtected\nChange-Id: Id04afba8195347c6a174e13743cedb422c8624a1\n"
    },
    {
      "commit": "42057ce1890b2be250b95f56734a47b93c8ad537",
      "tree": "7bfbe8147243430c306546b6a7e5caaa1e94d9cc",
      "parents": [
        "df0b56ba22cc201e535a2efc2245214355b6adf2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 23 12:15:57 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 08 09:30:45 2019 -0700"
      },
      "message": "Split datasource out of libstagefright\n\ninto libdatasource, which contains:\n  DataSourceFactory\n  (Clear)FileSource\n  (Clear)MediaHTTP\n  DataURISource\n  HTTPBase\n  NuCachedSource2\n\nThis is needed to break a circular dependency in an upcoming CL.\n\nTest: build, boot\n\nChange-Id: I34d9937235c78f18f51b18945342a0743e209577\n"
    },
    {
      "commit": "6f67577935bf3516302ebcc19e7dfae009457860",
      "tree": "d0e8f3068c2ea42555c07a522b5909bbe50dc088",
      "parents": [
        "4811014a958f7cf233b8284fb4a422990c7a3549"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Aug 20 17:06:53 2019 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Aug 21 17:01:04 2019 -0700"
      },
      "message": "media: add list of codecs in dumpsys media.player\n\nTest: adb shell dumpsys media.player\nChange-Id: I4e074c472496ebaa0ec2b966088949ce2eea4671\n"
    },
    {
      "commit": "270dd6a1a6fc700dde00f982dcd87bf98e4b73a4",
      "tree": "e8b02ec7624fa1d1a55c0f49fcca1996545fcddf",
      "parents": [
        "8263e3519b6801f019e471efe4a6045b7046e4d3"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Apr 06 04:41:15 2019 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 18 23:55:37 2019 -0700"
      },
      "message": "Make mediaserver listen to Codec2 services\u0027 deaths\n\nTest: Kill media.extractor or mediaswcodec and observe logcat\n\nBug: 130071409\n\nChange-Id: Ie785642da99dfe4ff13e78d878817dae3de9f34a\n"
    },
    {
      "commit": "e4da6c62ba4a9ee1b414b91afcba0c84de0cf329",
      "tree": "ec417eeeef2e81674e8ffac892ea05d07c87ee07",
      "parents": [
        "ea58eede918025b277dadd69192590c4ad0a6b74"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 01 15:01:41 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 01 15:16:30 2019 -0700"
      },
      "message": "Notify software service\n\nBug: 129426284\nTest: manual\nChange-Id: Ie938f73d79574bcfff5818766ded58b280136110\n"
    },
    {
      "commit": "a0c98417c829c0b85ab207c8117a147f6b8c3040",
      "tree": "50cb7fd86e18de4bb75baaacbeaaca8498c1ee6f",
      "parents": [
        "71028253b21dfee4e3908916c4182cd0ea140f11"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 29 12:10:19 2019 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Mar 30 01:46:35 2019 -0700"
      },
      "message": "Notify swcodec crashes too\n\nBug: 129426284\nTest: manual/CTS\nChange-Id: I086a2b8253757f941e4dd2e160490cbb59edb627\n"
    },
    {
      "commit": "58d4be5a5a5d24f18b7a207148c7caa317fef366",
      "tree": "37e0a5e790187815757bd906c7767cfcea0e1f74",
      "parents": [
        "6054a7765cfd65c34d49a5a435bee1d0cdfb2d32"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Nov 06 15:30:12 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 05 00:18:00 2019 +0000"
      },
      "message": "audio: get rid of hardcoded translation stream \u003c--\u003e attributes\n\nIMPORTANT NOTE:\n    CL depends on another CL in frameworks/base\n    https://partner-android-review.googlesource.com/c/platform/frameworks/base/+/1206275\n\nAudioProductStrategies offers the possibility to dynamically\ntranslate attributes to stream types (and vice versa) within\naudio policy engine.\nLegacy engine has hard coded rules to maintain the translation\nservice.\n\nThis patch removes the hardcoded translation within the helper\nand replaces them by AudioProductStrategy APIs.\n\nTest: AudioPolicyTests: AudioProductStrategiesAllStreamsTest\nIt loops on all stream types supported by strategy and ensures\ndevice selection matches. Hard coded stuff would prevent right device\nselection.\nTest: CTS: AudioTrackTest AudioRecordTest\nTest: audio smoke test on sailfish, walleye blueline\n\n\nChange-Id: I76589df5555136ed49dbacc7aac9b0b5e828bef2\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "259fb46dca67d43ce621fed18faf10c830eadcd0",
      "tree": "a6a48825daa4e129782f6a77cc240eb92c099d40",
      "parents": [
        "6327ed96140c54add317f6354d3e6a7f961a0404"
      ],
      "author": {
        "name": "Ben Romberger",
        "email": "bromberg@codeaurora.org",
        "time": "Tue Aug 07 17:58:53 2018 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 29 16:06:04 2019 -0800"
      },
      "message": "libmediaplayerservice: Check for a possible divide by 0\n\nCheck if variables used in AudioOutput::open()\nare 0 before using them as a divisor.\nBug: 123375287\nChange-Id: I1c65a80a12eda84d11e7526fe0c730cb10565c36\nCRs-Fixed: 2286455\n(cherry picked from commit 9e67171a2f4e2b7dc38017789700f629a3885734)\n"
    },
    {
      "commit": "7a498a96c082fd6baee468261128e9f0080ef2df",
      "tree": "1cf4a24c90a8a16eca9e2fc973e86ea589aac297",
      "parents": [
        "97df29e2b9c6df88fae9c14daa8e21c9ce5d45bf",
        "dd9010c7151e8224e46e5700f71c210a0df39f93"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Feb 09 10:07:52 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 09 10:07:52 2018 +0000"
      },
      "message": "Merge \"Refactor MediaPlayerBase\u0027s notify\" into oc-dev am: 01970bf6fb am: 5c7f325b00 am: d7baca3dbb\nam: dd9010c715\n\nChange-Id: I811b366fda6b63301a543d11f63c555ce489a5cd\n"
    },
    {
      "commit": "d7baca3dbb2a7beb040c89482f103d12e9b6a38e",
      "tree": "e882b54d9af3581e3b8328a20b65323b163b75eb",
      "parents": [
        "ef977699de69f6d8f016cc98cf2fcadbb9632a18",
        "5c7f325b007088741da1b7d505615d0254786ce6"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Feb 09 09:56:00 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 09 09:56:00 2018 +0000"
      },
      "message": "Merge \"Refactor MediaPlayerBase\u0027s notify\" into oc-dev am: 01970bf6fb\nam: 5c7f325b00\n\nChange-Id: Iacf293765dea6571e2ae1882babdf53c2a746214\n"
    },
    {
      "commit": "5c7f325b007088741da1b7d505615d0254786ce6",
      "tree": "6d0c9a84751be23df2a026f159fce57753ab17ac",
      "parents": [
        "8347d50e63d8f92bbad06a844b744c4a376e16f7",
        "01970bf6fb6ddb58e10fc9bea659f90aee74148a"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Feb 09 09:50:29 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 09 09:50:29 2018 +0000"
      },
      "message": "Merge \"Refactor MediaPlayerBase\u0027s notify\" into oc-dev\nam: 01970bf6fb\n\nChange-Id: I2bf9b28a046a1415c5e087129c73006206c0e54f\n"
    },
    {
      "commit": "082e4f75a383f957a6ed9186ca0692b694e1ce45",
      "tree": "a336d965809441cc46c928b186dcb29464f64be8",
      "parents": [
        "028cf0973f928503e89124c3f6493a5226826ed9"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sun Dec 17 02:31:18 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sun Dec 17 02:51:06 2017 -0800"
      },
      "message": "Refactor MediaPlayerBase\u0027s notify\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: 70546581\nChange-Id: Ia3a8eb99c2faf6935c63800ba08f65970cede48e\n"
    },
    {
      "commit": "ede9ead9e79adece54bc1ccee4405f722927d931",
      "tree": "df15748f0e995f4b26d8ffa4dbdbd077b3587315",
      "parents": [
        "ada6dd9ae523818374ec4138f5e4454a8eb7deac",
        "45ff66df1b3c9909faab0fb9d364f6a1257fe6fd"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Dec 14 23:54:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 14 23:54:00 2017 +0000"
      },
      "message": "Prevent MediaPlayerService::Client\u0027s use-after-free am: 028cf0973f\nam: 45ff66df1b\n\nChange-Id: I59170b5482e31d81739dc4db9bf5622a08a0e9d9\n"
    },
    {
      "commit": "45ff66df1b3c9909faab0fb9d364f6a1257fe6fd",
      "tree": "23a805a202da2dd39084d7b4a7fed7cbfd3ce4fc",
      "parents": [
        "e4f5e4f946695e132fd1735ef05faaa6085a63ff",
        "028cf0973f928503e89124c3f6493a5226826ed9"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Dec 14 23:49:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 14 23:49:17 2017 +0000"
      },
      "message": "Prevent MediaPlayerService::Client\u0027s use-after-free\nam: 028cf0973f\n\nChange-Id: Ifb469a4173a8f650715ceb5fed174c0c4ce6c4ba\n"
    },
    {
      "commit": "028cf0973f928503e89124c3f6493a5226826ed9",
      "tree": "d726b12d56f9b32a7fc29667c0be3c3e558cae7c",
      "parents": [
        "97eb375c515ab9cf7ad8e23b678b32f279059139"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Dec 12 01:56:40 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Dec 14 16:29:26 2017 +0000"
      },
      "message": "Prevent MediaPlayerService::Client\u0027s use-after-free\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: 70546581\nMerged-In: Ia142a7735c6685eb67b2c00917c0ed5ea7e0da9e\nChange-Id: Ia142a7735c6685eb67b2c00917c0ed5ea7e0da9e\n(cherry picked from commit d27ad6bae3215db0ed174f5f036339c9515fbba7)\n"
    },
    {
      "commit": "d27ad6bae3215db0ed174f5f036339c9515fbba7",
      "tree": "1322a7c128be6fee21ecf194723cd115f04c4923",
      "parents": [
        "5096385d0e5c102a7297d53aeb693402f304f5af"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Dec 12 01:56:40 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Dec 13 04:39:05 2017 -0800"
      },
      "message": "Prevent MediaPlayerService::Client\u0027s use-after-free\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: 70546581\nChange-Id: Ia142a7735c6685eb67b2c00917c0ed5ea7e0da9e\n"
    },
    {
      "commit": "161b64fc1c9ee03d32b3bd634be950fac5ad6ed8",
      "tree": "d04f2f4d842a5309716bf8993c1d897feb6d4395",
      "parents": [
        "45145a39251970da167ff6cd31817673820fc134"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Nov 17 09:31:48 2017 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Nov 17 09:31:48 2017 -0800"
      },
      "message": "Cache routed device in case returning null when switching device.\n\nBug: 69366408\nTest: runtest --path cts/tests/tests/media/src/android/media/cts/RoutingTest.java\nChange-Id: I270fe60abdf22eada927bf0c5fc594de294c8428\n"
    },
    {
      "commit": "9bb3803a80a680ea7a3bc11e07b8a89ccddee003",
      "tree": "1ad46a98f44bd2c487678c05825c374cca92b338",
      "parents": [
        "63ca96305e389e4504ab8d89111dc8719d00161f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Mar 23 18:00:38 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sun Nov 12 14:32:02 2017 -0800"
      },
      "message": "BufferingSettings: simplify buffering control.\n\nNow only 2 marks, initialMarkMs and resumPlaybackMarkMs, remain.\nTest: pass cts tests\nBug: 36280094\nChange-Id: I03c8e2a0db9f7e845f57e76f51874cd8715a48d4\n"
    },
    {
      "commit": "25a0160e3dfa126266cbe5d8e05c003798276a70",
      "tree": "7ac92c9e53ad197b928304ab34c9371a77468ce4",
      "parents": [
        "94d28be1805800764701225fcae696aa11dab93e",
        "620e4667dc41e17e365615fda4507fa9f7267ca0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 09 01:16:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 09 01:16:14 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Remove unused modules made for non-Treble OMX\"\"\""
    },
    {
      "commit": "156c6873a5e69af71f3c28b236c5831b9cb2ac95",
      "tree": "3e36c1490f5f2d22e6e79fac3d4f59a9559403ee",
      "parents": [
        "ef9fc7792d4995da68cb71a3e9f2304e565a016d"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Oct 06 09:47:15 2017 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Thu Nov 02 11:14:55 2017 -0700"
      },
      "message": "Add AudioRouting interface for MediaPlayer\n\nBug: 64038649\nTest: Run cts in RoutingTest\n      Switch output device when playing music/video with MediaPlayer\n\nChange-Id: I5b5c288e6557199b0a6986785f9335a18a80ab89\n"
    },
    {
      "commit": "620e4667dc41e17e365615fda4507fa9f7267ca0",
      "tree": "bbeb8927781dba36cea9dd200e9be4f4279ef55e",
      "parents": [
        "ef9fc7792d4995da68cb71a3e9f2304e565a016d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Oct 27 00:12:47 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Oct 31 17:15:15 2017 -0700"
      },
      "message": "Revert \"Revert \"Remove unused modules made for non-Treble OMX\"\"\n\nThis reverts commit 85e88d9b45d4a9b0b012f81ac068d216f588caac.\n\nAlso, this fixes the crash that would happen on devices that do not have\nfull Treble enabled.\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: make vts -j123 \u0026\u0026 vts-tradefed run commandAndExit vts \\\n--skip-all-system-status-check \\\n--skip-preconditions -m VtsHalMediaOmxV1_0Host \\\n-l INFO\n\nBug: 68340092\nBug: 67990472\nChange-Id: I6d96cecb8eaa8691c4c0f15fe0c8e60d0c74b440\n"
    },
    {
      "commit": "67d876b17e6589a47c5f8906201ec2494119104f",
      "tree": "e01df7ead6aaf7f67e768fb60ad6afcece3bb18b",
      "parents": [
        "19d6df66e43d4caa4a5f7091cf51c09a424d0589",
        "db42765c36920975fbe0c02252397d1a5813197b"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Oct 31 02:30:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 31 02:30:12 2017 +0000"
      },
      "message": "Merge \"Protect against possible race conditions\" into oc-dev am: 21076bf34e am: dc31a5d47c am: 516a132ea8\nam: db42765c36\n\nChange-Id: Ibda6f5f36af85be82f6f09e3d9f55ae50bed9abe\n"
    },
    {
      "commit": "516a132ea87ec6a1251bfd825834bee141a1735f",
      "tree": "696352c397dc57370634d333276122294f2cac60",
      "parents": [
        "408fae922f035e8985219292ff9a87af85bddb59",
        "dc31a5d47cf4e2de82c622101e149db5e7f594a4"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Oct 31 02:21:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 31 02:21:59 2017 +0000"
      },
      "message": "Merge \"Protect against possible race conditions\" into oc-dev am: 21076bf34e\nam: dc31a5d47c\n\nChange-Id: Icbd64228602c4a32dfe3e1cecc0a2b57e67190f1\n"
    },
    {
      "commit": "dc31a5d47cf4e2de82c622101e149db5e7f594a4",
      "tree": "db745cfcd97144703a26d3b791603b41db9a58fb",
      "parents": [
        "8577216c08c0eb51338b64b4d5210ca7d6869a2c",
        "21076bf34eb928eff1ce1f2526a0a291c7ba96ba"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Oct 31 02:16:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 31 02:16:28 2017 +0000"
      },
      "message": "Merge \"Protect against possible race conditions\" into oc-dev\nam: 21076bf34e\n\nChange-Id: I0a0fd4feded52ca8a31caa100dcbd6740b186fdc\n"
    },
    {
      "commit": "85e88d9b45d4a9b0b012f81ac068d216f588caac",
      "tree": "1eb2868ab206357f4707667eb5def5106bbc04d4",
      "parents": [
        "442459bca04f95ef2acd34e3de01f55bd5ede132"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 26 16:16:55 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 26 16:17:25 2017 -0700"
      },
      "message": "Revert \"Remove unused modules made for non-Treble OMX\"\n\nThis reverts commit 37c79ffe2fa52a1eaa4db74b5e15c6d41646efbf\n\nBug: 68340092\nTest: revert\nChange-Id: If7736b745f981105bed4ffda2e63691d8862d259\n"
    },
    {
      "commit": "37c79ffe2fa52a1eaa4db74b5e15c6d41646efbf",
      "tree": "47f71622b0928c1c9b2ded9e739b4fb06913662c",
      "parents": [
        "7f5b7818ff6e6bd973c510a1f41dd8c308f51db1"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sat Oct 21 05:31:38 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Oct 24 16:13:38 2017 -0700"
      },
      "message": "Remove unused modules made for non-Treble OMX\n\nAll devices should use Treble with OMX hals now.\n\nThis CL removes\n1. Non-Treble implementations of OMX and OMXStore\n2. MediaCodecService\n3. All dependencies on sysprop system.persist.treble_omx\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: make vts -j123 \u0026\u0026 vts-tradefed run commandAndExit vts \\\n--skip-all-system-status-check \\\n--skip-preconditions -m VtsHalMediaOmxV1_0Host \\\n-l INFO\n\nBug: 67990472\nChange-Id: I245ecf89d30d532f232e05e362e1cea76f5c37de\n"
    },
    {
      "commit": "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3",
      "tree": "4a3b6fb269ae76af3c0567cc1d57780c17bd2c30",
      "parents": [
        "04ce1be860b40e18ca7f5fdf64ecb82567d7fe24"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 10 00:07:09 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 13:43:59 2017 -0700"
      },
      "message": "Remove libmedia and libstagefright dependency from extractors\n\n- MediaSource, DataSource and MediaExtractor are moved to\n  libmediaextractor so that they can be used by extractor\n  implementations without depending on libmedia and libstagefright.\n- XXXFactory classes has been added in order not to expose CreateXXX\n  methods in libmediaextractor.\n- avc_utils is moved to libstagefright_foundation since most of\n  extractor implementations are relying on that.\n\nTest: build + post submit media CTS tests\nBug: 65851881\nChange-Id: I7d5cf18dd25abc10478ac3f6e7d1828ad023e3fb\n"
    },
    {
      "commit": "f9c81464b9494082fa7cdff9f70c5402e8ac78c0",
      "tree": "12d5376268e2c464064b063537b428196fee4595",
      "parents": [
        "402b8a0ef5c4fa0f7a70020bf0d93ec4714edbf3"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Sep 28 05:31:11 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Oct 12 18:33:56 2017 -0700"
      },
      "message": "Protect against possible race conditions\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: Run the poc in b/38234812\n\nBug: 38234812\nChange-Id: I28322e5a812c02c8e449ab8773715f60b9f5d976\n"
    },
    {
      "commit": "b7798a01d4b68bf2406907bb58f29b48dece8214",
      "tree": "b0b34ca04c0d22b24ac4dddf7a8f31aae333a800",
      "parents": [
        "284aa3014feb77fc89143caa00fc8f31c1300f0f"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Oct 09 23:21:44 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Oct 12 17:14:51 2017 -0700"
      },
      "message": "Remove OMX dependency from MediaPlayerService\n\nAlso, convert Android.mk files to Android.bp.\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts \\\n-m CtsMediaTestCases \\\n-t android.media.cts.MediaPlayerTest\n\nBug: 67652488\nChange-Id: I7172d1a2513826a5dafbe51245af11d863f50585\n"
    },
    {
      "commit": "d14133d15a41a6fe2d27cf6e408b464f28de9b62",
      "tree": "46c400270697e6667f3ea429a8d74fa92a26f226",
      "parents": [
        "7eaae5b788b37f5e19ca9b03d79ef32bd8b0df8a",
        "d0a98fa05f0f6719b93d000c4638230af06e0b99"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 18 18:35:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 18 18:35:56 2017 +0000"
      },
      "message": "Merge \"stagefright: remove Miracast sender code\""
    },
    {
      "commit": "d0a98fa05f0f6719b93d000c4638230af06e0b99",
      "tree": "438b19e4d9bddffee72c9bab98772d99bd6b7cb1",
      "parents": [
        "5bb3cfe6f3591736a82ac8ede71ced1472e19700"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 14 17:43:10 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Sep 18 18:34:59 2017 +0000"
      },
      "message": "stagefright: remove Miracast sender code\n\nThis has been deprecated for some time. Remove this from codebase\nto avoid introducing new HAL for HDCP. Log warning and return NULL\nwhen remote display is requested. \n\nbug: 62213914\nChange-Id: I3560b60fe83a01c51df0f2e715a8f2c760e57bf8\n"
    },
    {
      "commit": "52c2851b30588df1aba00766c37ffde86a3345bc",
      "tree": "9ff98868cdbc27ab5cfd19f7cf8cae155b7cd6c4",
      "parents": [
        "014df71ed78023d99ca72578f7866cabbc1e6601"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Sep 13 18:17:51 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Sep 13 18:20:53 2017 -0700"
      },
      "message": "MediaPlayer: add notifyAt at native side\n\nTest: media time is correct when playback rate is not 1.0\nBug: 65204641\nChange-Id: Ie9f67e3cb37267cfd364c9a9b9f674232b68ef27\n"
    },
    {
      "commit": "8cf3a0788df2ee184b498086b1b8da322eeadcca",
      "tree": "1bd36129bbd4afa491689deca23977dbf30930f6",
      "parents": [
        "a5ec8b0ec9c94fd9474fae1d1d1dc798ae6c4d2d"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Aug 09 09:01:33 2017 -0700"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Fri Sep 01 10:14:30 2017 -0700"
      },
      "message": "Generate the IPlayer interface with AIDL.\n\nThis removes the manually rolled IPlayer implementation and instead uses\nan aidl generated implementation. The IPlayer aidl file is moved from\nframeworks/base/.\n\nTest: run cts --module CtsMediaTestCases\nBug: 64223827\nChange-Id: Ia609f7ba1cc6f71ce919d6174dd8b5e0e1b05575\n"
    },
    {
      "commit": "1ec73bea63577c13de6c9373d555c5e4523f3026",
      "tree": "88e27c9f19f77e6c7ee0290bfb26cae7829c5586",
      "parents": [
        "25bae7bb6f4737bc78891eaaade5bdd01178dbd9",
        "255735a38b9d5c3755c7b819bdc8fdaf4357d860"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 27 04:13:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 27 04:13:32 2017 +0000"
      },
      "message": "Merge \"Organize header dependencies\" into oc-mr1-dev"
    },
    {
      "commit": "255735a38b9d5c3755c7b819bdc8fdaf4357d860",
      "tree": "f1c83bce136d5f122f57dc3281ab9d5fa0597f05",
      "parents": [
        "5c2bdf6a7042d68f9ae2d2f58cf3bae1c44fcab9"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jul 19 11:24:56 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Jul 24 20:29:36 2017 -0700"
      },
      "message": "Organize header dependencies\n\nHeader files that are exported are moved to a specific place for\nexporting.\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\nBug: 63821829\n\nChange-Id: Ia578e3c0dd1ff157335b3a49af896acb922586e8\n"
    },
    {
      "commit": "c01eddb86e01eedc8baca1ad1768c942387b33a8",
      "tree": "1688a3e7653090b02c76a0d61d5424629be5253d",
      "parents": [
        "ef00a24944032e3fcdaef43f81fea87e6297eacf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jul 21 16:42:41 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jul 24 21:43:28 2017 +0000"
      },
      "message": "MediaPlayer: Permit VolumeShaper operations on gapless playback\n\nThis allows unducking to occur when VolumeShaper operations\nare applied to the original player.\n\nTest: Automated duck tests\nBug: 63111689\nChange-Id: If2e93b1ccb11216032f24e71ab200668e1e4850d\n"
    },
    {
      "commit": "6b79fa9965c73b2ff3e62cb832305ea93d8b3de4",
      "tree": "d63ce212f95793d0ab034cf8ce266d411c80325f",
      "parents": [
        "dd36008b782ec1da0ded327dc51292d102c690d4",
        "b65bc512d15bc7234354ddc19815ebf24bea3a97"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:49:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:49:21 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c am: 93ae13644b am: 50280c1b44 am: 1a1bb632e7 am: d8192c9149 am: 6f7295a384 am: 830ecba34d am: ee04f896ca\nam: b65bc512d1\n\nChange-Id: Id341ee30610d4c1e887a71b0deb1ddef3f325f48\n"
    },
    {
      "commit": "6f7295a38455324f5da41d4e52d0ed0e2fc4b45f",
      "tree": "54f01c7f8f6d850b52276dff61468687b5795618",
      "parents": [
        "bd6594eaf2f01655b91c1a0e57ff82d39b9f0477",
        "d8192c9149430fcc7d618de6a239940bce62d4fa"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:39:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:39:21 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c am: 93ae13644b am: 50280c1b44 am: 1a1bb632e7\nam: d8192c9149\n\nChange-Id: I25ed67aa5671f7484dc99d3d79e0ed33125117f6\n"
    },
    {
      "commit": "d8192c9149430fcc7d618de6a239940bce62d4fa",
      "tree": "143836ec2b559ed6e70bef438c3ef2c73e864a35",
      "parents": [
        "e68844ffb058d7ead7392fea55db59a2a85aa6bf",
        "1a1bb632e754c9d2f07d1d98a51a072055a0b677"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:36:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:36:19 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c am: 93ae13644b am: 50280c1b44\nam: 1a1bb632e7\n\nChange-Id: I7cd886d0bbe96dcf8aafe082649d2a9a7c1c303e\n"
    },
    {
      "commit": "50280c1b44da60acf6f9cc3df8dc8e90db374d7c",
      "tree": "7bec8d1ad2b64f1c9663e1dd9afbbc68c0b70ab6",
      "parents": [
        "1feb9dca54f002ead236c432858e509383345a1d",
        "93ae13644bb8e2e1a7fbcb3c4dc1dd2c4eae57c5"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:30:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:30:50 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c\nam: 93ae13644b\n\nChange-Id: I16649e1417e36610e0731da5c47c90a9de169d13\n"
    },
    {
      "commit": "93ae13644bb8e2e1a7fbcb3c4dc1dd2c4eae57c5",
      "tree": "d1c80928b337a079566d21156524e4fa008d26e0",
      "parents": [
        "671c88a8077ca45d52122c14c324a78ff53f18aa",
        "5cc9f8780cc0e938f17254b9d7662d05edef2547"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:28:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:28:47 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584\nam: 5cc9f8780c\n\nChange-Id: Icb93a3b48a1674066fbf0b07bf11cda56ab22436\n"
    },
    {
      "commit": "5cc9f8780cc0e938f17254b9d7662d05edef2547",
      "tree": "cc6627048c2620dc2261e5cb602aaf04f543b6a9",
      "parents": [
        "3627617c2b7e268e961e1da433e2f452650964f6",
        "e0f496358416abebeb7ba971a354ec69cb1848d4"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:25:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:25:49 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8\nam: e0f4963584\n\nChange-Id: I318dd6a90b2af9c4e879e4ab47cfad110002532d\n"
    },
    {
      "commit": "0844e1a3e8d000f34ee5a9aa55c826f771fb971e",
      "tree": "30678681c0a807255262d122324bb444536f5411",
      "parents": [
        "b063a7ea183aec7c79d6b74eff72d7548df431ac",
        "263d5a2a7065ed5a674d2af408f75383d4a01898"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:20:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:20:19 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f\nam: 263d5a2a70\n\nChange-Id: I24e4ade61cbc0a03d20aa4b79b21fe18baa10e43\n"
    },
    {
      "commit": "263d5a2a7065ed5a674d2af408f75383d4a01898",
      "tree": "f7bcf5319d9b55e4faebe4ac7305bba5fef21d0e",
      "parents": [
        "8700c26a9184224d326a7c3dc018a9f412f6165d",
        "03fa67202fac9df24f9dbefa24c9f81f9f9e415d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:12:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:12:37 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6\nam: 03fa67202f\n\nChange-Id: I9336683351fa531560fadbe554eb218fc663585f\n"
    },
    {
      "commit": "502c2f405355c3253990ac4edae345ac1907f916",
      "tree": "71cb549d0c161a299ad8b3ab4832501963bfbd5b",
      "parents": [
        "da84963c1f4482be7570b68293906e6cc61200bd"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jul 13 17:47:56 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jul 17 23:26:10 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client\n\nTest: poc doesn\u0027t crash\nBug: 38234812\nChange-Id: I6f9be046ff66d2d5bed27bd712287e4ead550830\n"
    },
    {
      "commit": "a387a6cc1e97f26eb6847ed5cf3d2a6b4cf25cb0",
      "tree": "a2c6037d1b5fbdb925afa114d8dcd1f1b4d21aab",
      "parents": [
        "77994d70fe8d4805126361bbd0afbcac1cd1d2f0",
        "e5b9b6924007d6658bb1c24e958d16ec82e2a9c3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 11 20:54:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 20:54:17 2017 +0000"
      },
      "message": "Merge \"stagefright: put battery update under a separate lock\" into oc-dev"
    },
    {
      "commit": "e5b9b6924007d6658bb1c24e958d16ec82e2a9c3",
      "tree": "ad2ef695292ac0178821f89926fbc347f5be056c",
      "parents": [
        "bbdae2f58c3bd18d72be876c023b4bfb00e2f920"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu May 11 11:44:56 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu May 11 11:49:22 2017 -0700"
      },
      "message": "stagefright: put battery update under a separate lock\n\nBattery update doesn\u0027t need to lock the main lock for\nmediaplayerservice. Battery update sometimes is called\nfrom lower level componenet (eg. StagefrightRecorder),\nlocking the main lock here has potential to deadlock.\n\nPuting the battery update in a separate class so that\nit\u0027s clear this is not to be mixed with the rest of\nthe mediaplayerservice states.\n\nbug: 38230347\nChange-Id: Idf5f26f2b07ad6303775763ce283dad0679843d5\n"
    },
    {
      "commit": "f370264dfa5237524a3535f5242a0c68cbbb13eb",
      "tree": "b0cab4fa2ae4243ce2a870c3d91e8124dc2d3510",
      "parents": [
        "549bd02a8421b0b53a1b5e8961a41cf551fce72d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 05 17:33:32 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 10 14:17:40 2017 -0700"
      },
      "message": "VolumeShaper: Fixes for updated Cts test\n\n1) Limit number of VolumeShapers that can be created.\n   a) 16 system VolumeShapers\n   b) 16 application/client VolumeShapers\n2) Return proper volume before VolumeShaper is started.\n3) Consistent xOffset definition used internally:\n   a) this is now always the position on the volumeshaper curve\n      which can go backwards if in REVERSE.\n   b) normalized time is always forward going and is scaled\n      to 0.f and 1.f depending on progress relative to\n      the curve\u0027s duration.\n4) Fix replace method.\n5) Add comments.\n\nTest: Use updated CTS VolumeShaperTest\nBug: 37536598\nChange-Id: I837ab2a481adc0abbd3f1338bfe2cb79831b11fa\n"
    },
    {
      "commit": "39399b6b08b4e9fd7eae50e58e93b07216ad697f",
      "tree": "04c78ddb6186a54c9e0118a0b8f5270cdfc9d720",
      "parents": [
        "94cfe137a105ec7db047e963e18483425e0d2272"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 21 15:07:45 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 26 10:45:25 2017 -0700"
      },
      "message": "VolumeShaper: Improve restore\n\nConsider whether VolumeShaper has been started or not when\nrestoring (position). If the VolumeShaper hasn\u0027t been started\nwe restore in that state.  If it has been started already,\nwe advance to the end assuming the duration has been played out.\n\nTest: CTS and headset / kill audioserver\nBug: 37536598\nChange-Id: I4b55dca6f6a859563fd20bad4c8f67d2c92321c0\n"
    },
    {
      "commit": "d4e9ca49a3863beeb0027f51e2331e4c5ec2402b",
      "tree": "06901a3ffc0c76fea0ad2d4a43a91ffc6ca5441e",
      "parents": [
        "f3134a01aa2574f8ab62f58f1a76b77029201196"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 29 17:24:56 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 29 17:39:26 2017 -0700"
      },
      "message": "Remove dependency on persist.hal.binderization.\n\nTest: Manual use of Camera, Movies, Photos and YouTube apps.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\n\nBug: 34274385\nChange-Id: I5251fea337f33460d1f0db174cedc465822f2a47\n"
    },
    {
      "commit": "4ef88d7106c01f81109ee163cb6789073d80c6ae",
      "tree": "b851ebaf0b55c4d8174dd4a744352a3d4513beee",
      "parents": [
        "10cbff139360f3f642e0e3b3ccf2d463dbed22cf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 21 19:47:53 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 24 21:05:58 2017 -0800"
      },
      "message": "VolumeShaper: Add AudioTrack restore\n\nMediaPlayer VolumeShaper can now be set before start().\n\nTest: CTS and Ducking\nBug: 31015569\nChange-Id: Idf63c167e164161b200e2467fbeb9409b3097dbe\n"
    },
    {
      "commit": "7e0c3c3e93cdf0d1fe59b82e8bc9c7c2fa678faf",
      "tree": "f84175c38a7eecfd339e89b2a8b908ece9a6e2ed",
      "parents": [
        "373580e1d51d3e89c16612998a10105fea09c3c5"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:15:02 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:15:02 2017 -0800"
      },
      "message": "Revert \"OMX: don\u0027t respect binderization toggle.\"\n\nThis reverts commit 373580e1d51d3e89c16612998a10105fea09c3c5.\n"
    },
    {
      "commit": "373580e1d51d3e89c16612998a10105fea09c3c5",
      "tree": "b827b264c0c291c8f1e51a5f34185bab836b2c30",
      "parents": [
        "92a4bab4807d6a6736587e99094a10c420aa0a7d"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:11:46 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:11:46 2017 -0800"
      },
      "message": "OMX: don\u0027t respect binderization toggle.\n\nTest: pass\nChange-Id: I495c71b0a39ae8423e109219f8f5e96812fe2aa1\n"
    },
    {
      "commit": "181fd9b5b64bab24bb49a34208f60a16e98488c5",
      "tree": "01f5f3e2cd59acbe4a3c7d92f09ff1f5418af206",
      "parents": [
        "42a5de6da0084fd430c70d58671559f71c738cf0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 16 15:53:03 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Feb 17 03:06:13 2017 +0000"
      },
      "message": "stagefright: verbose logging for media connect/disconnect\n\nbug: 35364355\n\nChange-Id: I7b5f0aecf98733255cc27b091fea78298fa7e602\n"
    },
    {
      "commit": "9c47c97ecac581d66b6febafd156618247e86742",
      "tree": "c49b5394e42b293c0333754bf01c71d387227833",
      "parents": [
        "6ab6061131a10b7f38074c156fd529fa3719a32b"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Feb 08 04:09:38 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Feb 16 11:16:06 2017 -0800"
      },
      "message": "Enable full migration of OMX to Treble.\n\n1. Toggling between Treble and non-Treble OMX will now be controlled by\ntwo properties: \"persist.hal.binderization\" and\n\"persist.media.treble_omx\". (Before this CL, this was controlled by\n\"debug.treble_omx\".)\n- If persist.media.treble_omx is not set, it will assume a default value\nof -1.\n- If persist.media.treble_omx is -1, persist.hal.binderization will be\nused to determine whether OMX will be created as a Treble or non-Treble\nservice.\n- If persist.media.treble_omx is 1, OMX will be created as a Treble\nservice.\n- If persist.media.treble_omx has any other value, OMX will be created\nas a non-Treble service.\n- persist.media.treble_omx can be changed without rebooting, but it will\nonly take effect after media.codec and mediaserver processes are killed.\n\n2. Remove all dependencies on non-Treble service. This was not done for\nMediaCodec, MediaPlayerService::Client, MediaRecorderClient, stagefright\ncommand, and omx_tests command. OMXClient and media.codec process will\nnow pick the right version of OMX based on properties mentioned above.\nBefore this CL, media.codec would always present the non-Treble version\nof OMX regardless of the flag.\n\n3. Provide workarounds for some HIDL issues.\n- A sequence of nested binder and hwbinder calls require many threads to\nhandle. (b/35283480) The workaround is to increase the number of threads\nin the thread pool of media.codec process.\n- android.hidl.base@1.0::IBase::unlinkToDeath takes a strong pointer\ninstead of a weak pointer. (b/35233970) This causes an infinite\nrecursion in the destructor of ServiceDeathNotifier in\nMediaPlayerService::Client and MediaRecorderClient. The workaround moves\ncalls to unlinkToDeath() outside of the destructor.\n\nTest: Recorded and played videos with Camera app. Ran stagefright and\nomx_tests commands.\nBug: 31399200\n\nChange-Id: Id1940ed982838e10bf10fe8ed5b7bb912a5a2d3a\n"
    },
    {
      "commit": "cefac14261a32fb856b0d1ab31541787112e306e",
      "tree": "d6fb3a4890929e05a5ffccc2d09c0b9da3d6bddc",
      "parents": [
        "2f77a2229be73b222098c45aed73728842667e12"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Mon Feb 06 21:02:02 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Feb 15 18:15:37 2017 -0800"
      },
      "message": "Modular DRM for MediaPlayer\n\nBug:  34559906\nTest: Manual through the test app\n\nChange-Id: I286f9ff199c34563b7b8643de725f8d1534ea06c\n"
    },
    {
      "commit": "9fc8b5cd4a64ef07e84c69112461324d5c13a0b0",
      "tree": "2d058e73f09f1822108daad51948a34c420634e3",
      "parents": [
        "ed1abbfc73d4ade0ef08239fc56ac66d70a00a92"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 24 13:36:48 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 13 14:31:46 2017 -0800"
      },
      "message": "VolumeShaper: Initial implementation\n\nThe VolumeShaper is used to apply a volume\nenvelope to an AudioTrack or a MediaPlayer.\n\nTest: CTS\nBug: 30920125\nBug: 31015569\nChange-Id: I42e2f13bd6879299dc780e60d143c2d465483a44\n"
    },
    {
      "commit": "6cb337596796996c3095dc8017eb36beba00dab2",
      "tree": "fca08d18e556463be5f28f947af1225ca4e9d49d",
      "parents": [
        "d7ae0b8529d0b08496392c85ae4d00753e28882e"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Jun 22 14:16:42 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 31 17:36:16 2017 -0800"
      },
      "message": "libmediaplayerservice:Fix deadlock on gapless start failure\n\nReturn error back to the application if start of next MediaPlayer\ninstance as part of gapless transition fails.\nTest: compiles\nauthored-by: Ashish Jain \u003cashishj@codeaurora.org\u003e\nChange-Id: I77c570074c7c98c996122e275161ba88298e56fc\n(cherry picked from commit 9eadf496fa84603cf3ec5889990b79db8e378400)\n"
    },
    {
      "commit": "dc6f340e537ce511ea1d2f8ce7dc1c4ed231f6a6",
      "tree": "45fc471ff4d3c46d91281d75b2c049bf73104748",
      "parents": [
        "c62b65fd690a585c674caa6e79559bb847e5b3bd"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 09 15:04:18 2017 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 17 10:49:33 2017 -0800"
      },
      "message": "mediaplayer: add buffering settings API\n\nTest: compiles, checked that params is passed all the way to source.\nBug:32524218\nChange-Id: I637d1ab09f94a3830a33a39e7e9f1b3efb22357f\n"
    },
    {
      "commit": "9c8086fa924e8b570fa66c3ef3bce0ec24a16031",
      "tree": "a54e6095684f7a247ce54ea791f6d7230c7ff81d",
      "parents": [
        "e158da59b3b525cf271968bec3967414b21159fa",
        "1afd0983fdca07cd55df8dca1fa05b55c45063f4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 10 00:27:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 10 00:27:35 2016 +0000"
      },
      "message": "Merge \"MediaPlayer: Use uid_t for uids\""
    },
    {
      "commit": "d399e7e6065aa310e025ab633f633d5b4831a358",
      "tree": "161b8ee63095e28937e041299ae66a650197f265",
      "parents": [
        "48d8020342a4de6b0b925328ddbdfe34f22253a3"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 26 15:49:11 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 23 10:50:24 2016 -0800"
      },
      "message": "BufferingSettings: define internal BufferingSettings API.\n\nTest: compiles\nBug: 32524218\nChange-Id: I9a95b2fdfa497179305e031aac69e5a987614dbb\n"
    },
    {
      "commit": "c5de09127e9e0d5df7aa587be317e1487d793245",
      "tree": "f27828fe26714b003613ef894579539228dfd134",
      "parents": [
        "b59c2fb19f03bba8a558be71848bafa6a0ad3cbc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Nov 18 10:22:14 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Nov 18 15:41:24 2016 -0800"
      },
      "message": "mediaplayer: support same seek mode as MediaMetadataRetriever.\n\nTest: manually force 4 seek modes in mediaplayer.\nBug: 32557491\nChange-Id: Iea4f6dbfc224fc6da39624300c6d872b79142f07\n"
    },
    {
      "commit": "1afd0983fdca07cd55df8dca1fa05b55c45063f4",
      "tree": "8b18742499e87de49231f89af89aa7a2e8d48364",
      "parents": [
        "1f12a8ad958344c50733b948628ffa06db9c5bc6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 08 16:13:44 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Nov 08 16:44:22 2016 -0800"
      },
      "message": "MediaPlayer: Use uid_t for uids\n\nTest: Power manager shows correct uids\nBug: 32713790\nChange-Id: Iddf8de5705319ec17c68787efc11e342779660c5\n"
    },
    {
      "commit": "67b6dccfd7b59efa772a3c2c553e7382c8f9f24c",
      "tree": "d9d03e901bf841099593e0d2b3edb32aa23ac12b",
      "parents": [
        "2aa19a96710eaaaf6679453f0278d393fd768de5"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 31 17:01:37 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Oct 31 17:01:37 2016 -0700"
      },
      "message": "mediaplayer: add precise argument to seek function\n\nTest: compiles\nBug: 32557491\nChange-Id: Id8c3a938edd5a0b34a9b33e86a4dbff32cf10c98\n"
    },
    {
      "commit": "5d313803bdd61d59f28e518e7a793f33832f1901",
      "tree": "e27874f7602aa13bdd8a94be74c573271473c9ac",
      "parents": [
        "8922c251072bf338cd22b237a25ef55ba41cf9b8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Oct 10 15:09:39 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Oct 11 12:59:27 2016 -0700"
      },
      "message": "AudioTrack: Advance timestamp time during pause\n\nUpdate MediaPlayer code to match.\n\nThis will change the behavior on the AudioTrack Java side,\nbut is within the API and should make timestamp handling easier.\n\nTest: Photos app with pause and play.\nBug: 30502030\nChange-Id: I0e9129ce6af5b920ad71e63ad0c205de7561acf2\n"
    },
    {
      "commit": "1b5a7ee3fdc33ee584a88580171fbad154e10f5d",
      "tree": "1833a3bfa57e6fa1dc750365509c457ef92a86cf",
      "parents": [
        "ad111520f0167c4a0bf6a37fc025e2523c313258"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 30 13:54:30 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 30 13:56:29 2016 -0700"
      },
      "message": "Check service binders before dereferencing them\n\nBug: 31830499\nTest: forced binder to NULL and made sure it failed gracefully\nChange-Id: I2c0377fbed9e489d7024da44a6092bec6de1fa3b\n"
    },
    {
      "commit": "9cf3cee03ea010b4ac8c92e4474d41a40a1d5526",
      "tree": "fefc13f94fbebc4788592defc5547b0c5c041aa4",
      "parents": [
        "9b7a8f94619b6847db7dc37deb5918b6f3439a43",
        "4024622cb2859a2a7a661113efa44605443bbf58"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:37:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:37:29 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f am: 50b9d889e6 am: 81e0557519 am: 31407677bc am: 4d03d0d14d am: 22fdb93234\nam: 4024622cb2\n\nChange-Id: Ibfa275c6655de05e61b31da8616ad36d3a209f91\n"
    },
    {
      "commit": "884b1861562cf717cff272cc835550badcdf2f55",
      "tree": "807baa8939ac14071239e057ff443a8d25806ef3",
      "parents": [
        "deb0335714cabc906098fb1d971d992027267fc6",
        "22fdb93234e1e5d8c384a75c05e01ee92e20e61a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:35:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:35:06 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f am: 50b9d889e6 am: 81e0557519 am: 31407677bc am: 4d03d0d14d\nam: 22fdb93234\n\nChange-Id: Ic3ec984fdbc8f79afd8ccb3073e4128812c2e85f\n"
    },
    {
      "commit": "4024622cb2859a2a7a661113efa44605443bbf58",
      "tree": "e94e89ef0f63544ca37b403c14861f46b1fc6c22",
      "parents": [
        "04fdc1579006533a634e7071b02976652b747382",
        "22fdb93234e1e5d8c384a75c05e01ee92e20e61a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:34:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:34:29 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f am: 50b9d889e6 am: 81e0557519 am: 31407677bc am: 4d03d0d14d\nam: 22fdb93234\n\nChange-Id: Ica982aa0e826555b5a3624f8bcc205d2d9f255eb\n"
    },
    {
      "commit": "22fdb93234e1e5d8c384a75c05e01ee92e20e61a",
      "tree": "07cf81b2f739c887e5ea3bbd9d0fb93d5dc88fa6",
      "parents": [
        "be4a3164993ba9779950ddec744e4ad954dff092",
        "4d03d0d14dc21e4ce1dbd080f5d1baf24bf09e66"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:31:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:31:34 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f am: 50b9d889e6 am: 81e0557519 am: 31407677bc\nam: 4d03d0d14d\n\nChange-Id: Id3dcf62c73b535b8416e073b67954daded502fab\n"
    },
    {
      "commit": "31407677bcf5216234c0caa12259fccd63d4d13c",
      "tree": "a57623b3205eea342e666b40684d0981dddc3172",
      "parents": [
        "3662106826084151f98ce591434e87596eb5ae59",
        "81e055751904469db7233f4698a9b6a8a1d50900"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:25:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:25:57 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f am: 50b9d889e6\nam: 81e0557519\n\nChange-Id: Id17354d41c8f3c4e41d03eb9467ca7d482b522df\n"
    },
    {
      "commit": "81e055751904469db7233f4698a9b6a8a1d50900",
      "tree": "44d601b65a293691a76e71e81f3b256e384fdb8d",
      "parents": [
        "5d7ca78437bb974ecf3f40da17bedaeffbb4948d",
        "50b9d889e637ff3c26e4582edc91ff0c2111fd6d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:22:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:22:57 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696 am: 629e78c10f\nam: 50b9d889e6\n\nChange-Id: I86b58e0cb64d668021a649627e34a0386dcc619a\n"
    },
    {
      "commit": "50b9d889e637ff3c26e4582edc91ff0c2111fd6d",
      "tree": "90244540828ebd99330d9d8e6f7d14b72f7bfc91",
      "parents": [
        "f49ac6ef61935ad636305dd1f3a3d4964b7c4f61",
        "629e78c10f0b81831a385197cc7c167d753d1683"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:19:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:19:57 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce am: c6fdb3d696\nam: 629e78c10f\n\nChange-Id: I14c17d063743ca79f43f674c2d4cbcb57f90451e\n"
    },
    {
      "commit": "629e78c10f0b81831a385197cc7c167d753d1683",
      "tree": "55465416c5fcc5325020162026447a59f1ad63b6",
      "parents": [
        "6f8e939c584047179483840480f10dbc956d70f6",
        "c6fdb3d6964988ed576fbe393401fbd10c15d86d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:16:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:16:56 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408 am: de97dbd662 am: a7549d3dce\nam: c6fdb3d696\n\nChange-Id: I6e1cb16e9c281bda0375f552aab01b2ee069c14b\n"
    },
    {
      "commit": "a7549d3dce0b313c8d22d54e43217d822393e5ae",
      "tree": "759113fc77f9124a29d48987f4620676a91dd136",
      "parents": [
        "a9c1e43d89d7afc587b620cf7c01d94c1722ad2f",
        "de97dbd662bc959bfe4a894c8678f1383294e148"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:10:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:10:56 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a am: 0dd714e408\nam: de97dbd662\n\nChange-Id: I758cf33ec36858a612efe6c412af3df9653f9229\n"
    },
    {
      "commit": "de97dbd662bc959bfe4a894c8678f1383294e148",
      "tree": "7a9e627b781e2550eca69d66ac6774a9299ecf67",
      "parents": [
        "91ec9a6fd37ef12ab3b37ebdec56e798d85a6797",
        "0dd714e4081b874425aef6c40b152fb918ae595e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Aug 31 00:08:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 00:08:25 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL am: 2828412787 am: f4e00a7c5a\nam: 0dd714e408\n\nChange-Id: Ib620e8573ff6da861c101311143d266fd5086d7b\n"
    },
    {
      "commit": "282841278723166e74039329ca56e444ad472daf",
      "tree": "aeba49f6b7078c00da85d76de6a0c4c8f260ccd9",
      "parents": [
        "4fb531e2627a0bb5109de2aa6096a972f40dad72"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Aug 30 13:49:06 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Aug 30 22:02:44 2016 +0000"
      },
      "message": "MediaPlayerService: allow next player to be NULL\n\nBug: 31155917\nBug: 30204103\nChange-Id: I9a2a59ddb900fc942e7c19b31b53a110d790474c\n"
    },
    {
      "commit": "74b56a8e0d5c4aabd7df4d79589f93b23d8fae89",
      "tree": "251c3e91620288d90df91b6c1d507e5a34d954e6",
      "parents": [
        "45b663eae82282098d8c21c792a06c4f9f61da31",
        "168e16423f7bfa0387543df52697814ef160cce9"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 19:42:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 19:42:26 2016 +0000"
      },
      "message": "resolve merge conflicts of 77da968 to nyc-dev-plus-aosp\nam: 168e16423f\n\nChange-Id: I72e14cf6b3affce16e910218196609aee4ff9845\n"
    },
    {
      "commit": "168e16423f7bfa0387543df52697814ef160cce9",
      "tree": "5b7a2e5385e7d0b9d1e59335dd32ffc3615246c5",
      "parents": [
        "776229a34a5f6f2c8dd2d67987624cacb362cbb7",
        "77da9683de33028a0b277667a0698e8eb1c8c7bc"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 12:27:15 2016 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 12:27:34 2016 -0700"
      },
      "message": "resolve merge conflicts of 77da968 to nyc-dev-plus-aosp\n\nChange-Id: I123956fe0f90e7fc7712cf5a99b29add94d15564\n"
    },
    {
      "commit": "739ce899e51d3d82b6395e3b770569d2d345020c",
      "tree": "a1236c80cb0ec07656059e5aad84a662448eadc3",
      "parents": [
        "82f5b811b2767289ebb8a9e6af1919c3b72b5121",
        "77da9683de33028a0b277667a0698e8eb1c8c7bc"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:52:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:52:54 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603 am: d560830823 am: 51efd24460 am: 8d32201d4a am: 2b5ee9c8e4 am: 17744ab9d7\nam: 77da9683de\n\nChange-Id: I62d0277bc1dd8b0514486c2f8006d76e8b88085e\n"
    },
    {
      "commit": "77da9683de33028a0b277667a0698e8eb1c8c7bc",
      "tree": "2b2c7589065bf2dc4bd9a4efe765f8ea91e455a9",
      "parents": [
        "167bfc2bae3e29e1332b23cb35c188db9e0837c2",
        "17744ab9d700078d1268dab2a070e6ef8cf962ec"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:48:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:48:21 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603 am: d560830823 am: 51efd24460 am: 8d32201d4a am: 2b5ee9c8e4\nam: 17744ab9d7\n\nChange-Id: I7c9bff5b79002b4c1e83437b69c8cfd5a09854a3\n"
    },
    {
      "commit": "2b5ee9c8e4e7cd3ceadeb03fb68f217a4629de6d",
      "tree": "1127ac15fddbf89e6b8c124d7312d4442f01ec37",
      "parents": [
        "d4808afb993aafccd294aeff5cf6cee46d681367",
        "8d32201d4a6caa7983ae002a76d69d511a804e0a"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:36:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:36:19 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603 am: d560830823 am: 51efd24460\nam: 8d32201d4a\n\nChange-Id: I995c3d8e87f78596c7e3007f2b0a269542adfd42\n"
    },
    {
      "commit": "8d32201d4a6caa7983ae002a76d69d511a804e0a",
      "tree": "ae2f8bf640c4b66b7e645e9462ab34037d790e8b",
      "parents": [
        "38795159877868a41eb453bc79ef89f0538a25a3",
        "51efd2446058bfe0b6ecdd1858bd759159fd0831"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:32:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:32:19 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603 am: d560830823\nam: 51efd24460\n\nChange-Id: I77f1705ddb125b7eb1c1f6b6e8cb61fb0596d2e2\n"
    },
    {
      "commit": "51efd2446058bfe0b6ecdd1858bd759159fd0831",
      "tree": "43dfd3a2e8ff065c81a7c12d289d0788afbb686e",
      "parents": [
        "be78a1c73f20bd72a3747b0c2552ae234b4e49be",
        "d560830823619a753be997d11d4f38223e74724e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:28:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:28:19 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c am: b07255f603\nam: d560830823\n\nChange-Id: I77a7c93a2ae554532accb3be47bdee687b99f271\n"
    },
    {
      "commit": "d560830823619a753be997d11d4f38223e74724e",
      "tree": "7d11f31236516c4c2da1ab1dfb3cd0f102fb553c",
      "parents": [
        "6b1403777e71af2f342ed8a279197e8149aae164",
        "b07255f6038c7c7b9a80c9fe2bd2c5d7bbe0c8f1"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Aug 22 18:23:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 22 18:23:41 2016 +0000"
      },
      "message": "MediaPlayerService: avoid invalid static cast am: ee0a0e39ac am: 7b6a85546c\nam: b07255f603\n\nChange-Id: I9e2b7d8166c629fdbc3457d152e2947f16ba7ae3\n"
    }
  ],
  "next": "7b6a85546c9e320f62b1b4cda9d6620b4e34acc5"
}
