)]}'
{
  "log": [
    {
      "commit": "23f4d6cc618576ac53da4ce9e761e9bee3109333",
      "tree": "96fa896900c3cf2aaab10f74d91cc95cf38dd812",
      "parents": [
        "0963d443b054ad3a83afbee1035f2d7a9db6086d"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jun 20 10:16:37 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jun 20 10:16:37 2019 -0700"
      },
      "message": "Enable count-based expiration for media metrics\n\nin addition to the time-based expiration, enable count based expiration\nand set it to 2000 records, about 5x the daily average. Caps the memory\nfootprint.\n\nBug: 135552978\nTest: boot, enough traffic to force expirations\nChange-Id: Ide96df24b00e8f115905678800c782f29a91bcba\n"
    },
    {
      "commit": "6ce27e5ffa056948b506bf7320a9f9c961150684",
      "tree": "d3c75842dba2db375a7b3b4413e902ecccbbb5ef",
      "parents": [
        "ef7eaaf8d873e9d832673fd0a8e07371fa47a0a0"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Feb 15 10:58:05 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 06 11:35:11 2019 -0700"
      },
      "message": "connect mediametrics service to statsd\n\ntake the collected media.metrics (as they arrive) and push a copy over\nto statsd, the statistics logging subsystem.\ngather data, wrap in protobufs apppropriately, and submit it to statsd.\n\nBug: 118782504\nTest: statsd\u0027s test_drive app\nChange-Id: Ieb82c43633851075e9eaf65d2a95c8cba87441ea\n"
    },
    {
      "commit": "4f5d6fd75075a30bb387e8a15b118922cc188bd5",
      "tree": "6aa5680b41c5ed918cae36ee4d484c5d4d8c3b3d",
      "parents": [
        "e6e98e77198a68c812b81159f76de33b632c3d43"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 14 09:38:22 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 14 13:34:58 2019 -0700"
      },
      "message": "clean up compilation warnings\n\nchange from a blanket \u0027using namespace...\u0027 directive to a more\nexplicit qualification on the entities that prompted adding the using in\nthe first place.\n\nBug: 128606338\nTest: compilation\nChange-Id: Id8c8cfcd18801661b82b73d1c59952d1e75d3c7d\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": "72a436b384a843e3623ec047c1b1d1c27aa64520",
      "tree": "130bd88d9b7415b8369da4cab314d7b8444d2a54",
      "parents": [
        "22efef5846f09d766eceb60cd304ffcfbea4c42a"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jun 14 15:08:13 2018 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Sep 21 16:54:21 2018 -0700"
      },
      "message": "Avoid very long media metrics deletion blocks\n\nCould see a large block of items expire, which were all done under a\nmutex. This blocks other media requests as well as causing long latency\nfor the current request. Change expiration so we do at most 50 at a\ntime, so the current thread can respond to its client. If more are due to expire,\nfork a separate thread to continue in similar 50-element bursts,\nallowing other clients insertion requests to enter between those bursts.\n\nBug: 109850816\nTest: with shorter timeout and limits\nChange-Id: I774a0a1bb7fbb81e12b14c540557d23fb055e3f1\n"
    },
    {
      "commit": "bc2a77308b7c197a30a3289e5b75d0f089e65982",
      "tree": "0ecd2a56a618c280fb7bb430ef143c4af66cb173",
      "parents": [
        "8d4991797071989e51b08dd58cbe2635ef544f95"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Thu Sep 06 12:04:44 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Thu Sep 06 18:17:52 2018 -0700"
      },
      "message": "media.metrics: add new record type \"audiothread\"\n\nTest: compile\nBug: 68148948\n\nChange-Id: I8cf96fdc218bd09d90916f2c96fa343ddd4f873b\n"
    },
    {
      "commit": "84e84a5dd3b6d9ee4cf032e8d6206c70969b7107",
      "tree": "49fd8e4e911d62ac8be44ae91fdaf35902a234d9",
      "parents": [
        "527da4c9d30c977c0105a288b20a77f0f9e8d0d3"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu May 03 18:45:07 2018 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 07 16:32:02 2018 +0000"
      },
      "message": "collect more media metrics around audio\n\nnew fields in the media metrics \u0027audiorecord\u0027 record for more detail\nlength of time recorded, error conditions\nadd new media metrics type \u0027audiopolicy\u0027 that describes attempts to get\nmicrophone access -- success, failure on contention, what type of access\nwas requested, and (important for the contention) which programs are\ndoing the requesting and holding of the microphones.\n\nwhitelist the \u0027audiopolicy\u0027 metrics type with the  media.metrics service.\n\nBug: 78595399\nTest: concurrent/serial recordings, dumpsys media.metrics\nChange-Id: Ia17860940d4c329b0215b4cf97c6dacacb6a8e32\n"
    },
    {
      "commit": "92d23b433bd770c22c2d4a30b573602f5565de1b",
      "tree": "e2ff902f2be5d131e8a1cd4af09868d3a5af2794",
      "parents": [
        "3923b1b71628e668f9b11ed4891ed2840dd331cd"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 29 12:10:30 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 29 14:38:27 2018 -0800"
      },
      "message": "Remove finalized concept from media.metrics\n\nthe \u0027finalized\u0027 concept didn\u0027t pan out -- remove references to it.\nSimplifies the code flow.\nAlso purged some uses of generateSessionID().\n\nBug: 71874686\nTest: logcat/dumpsys\nChange-Id: I39e48526a5696158d8195f47154881ca6ecda266\n"
    },
    {
      "commit": "8c22cb1cc76c37a3bba789fb78454173f6bf8429",
      "tree": "17d49448ae9ac8925bb4f56c4681f4353374974c",
      "parents": [
        "c01a25e1759549d90c8e9f2446bc3c0023a8cd83"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 24 11:00:36 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 24 11:00:36 2018 -0800"
      },
      "message": "Open some more metrics from app-space\n\nallow some more metrics through that are now being generated from\napp-side contexts instead of within media services.\n\nBug: 71874383\nTest: logcat/dumpsys\n"
    },
    {
      "commit": "813b1b8e1e1fa3f00317f0218d78510bf9abf3ae",
      "tree": "2373a7f2e2e585faa1f7e402e10e0ce7c4d52693",
      "parents": [
        "0cde7e5863df60ece6986ad9b5b4358dc82380eb"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 16 15:10:06 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 16 15:10:06 2018 -0800"
      },
      "message": "Remove media metrics\u0027 unused \u0027summarizer\u0027 concept\n\nRemove the code from media metrics that provided a summarization\ncapability. It wasn\u0027t providing the information we wanted and\nconsumed more system RAM while being unhelpful.  If we figure out\na better way to do this, we\u0027ll re-implement.\n\nBug: 71874635\nTest: manual\n"
    },
    {
      "commit": "783bd0d74d142493b4ef0a15a2664535854e99f9",
      "tree": "60cbf56cb9d37670194d12cda8180767b6b5cfa9",
      "parents": [
        "734d186db7ec3d1f877001d71c71de6562ead7f7"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jan 11 11:10:35 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 16 09:25:15 2018 -0800"
      },
      "message": "media.metrics changes AString -\u003e std::string\n\nchange from AString to std::string for how media.metrics handles\nstrings.  This severs the dependency on libstagefright_foundation,\nwhere AString is implemented, so we can integrate into places\nwhich do not want to introduce a dependency on libstagefright_foundation.\n\nBug: 70805723\nTest: compilation/linking, CTS subset\nChange-Id: I66de971b6ec354444e06112607a2d7614084cef8\n"
    },
    {
      "commit": "4e2eeffb7d8cbe8add700ad699afc2614668706b",
      "tree": "dbacfe6599ba365eaa3e5c476f84689730daa2f5",
      "parents": [
        "62b3e7a87d1b0554cf347ba9b06978f9344c46f7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 27 14:01:29 2017 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 01 11:19:51 2017 -0800"
      },
      "message": "Update to support long version codes.\n\nBug: 64459786\nTest: manual\nChange-Id: I8b251f5238d6aeed51642bc7c4fc573b2a5a408e\n"
    },
    {
      "commit": "583a23aee1408815b5449aa96e2eccaf00ed8c32",
      "tree": "cbcb38788b527af3defdfa868b5372af40ee4c8c",
      "parents": [
        "6b0e0f0299748dad99dfb5f65c7203bef1abb757"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Nov 27 12:49:57 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Nov 27 12:49:57 2017 -0800"
      },
      "message": "\u0027dumpsys media.metrics -proto #\u0027 doesn\u0027t lose default\n\nmakes sure that using \"-proto #\" option for dumpsys of the metrics\nservice doesn\u0027t leave the protocol set there; we want it to come\nback to the defined default if there is no \"-proto #\" on subsequent\ninvocations.\n\nBug: 69797899\nTest: multiple dumpsys invocations\n"
    },
    {
      "commit": "e5db6dbc501685205c8fdbaf883e10ecf4475b52",
      "tree": "eab21b0091fa35203b63b9056fe876d51def0acf",
      "parents": [
        "dd97f52b3969ee8d6fb611e045ada26037e44e27"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Nov 10 15:54:32 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Nov 10 15:54:32 2017 -0800"
      },
      "message": "Avoid UAF in media metrics service\n\nRe-arranged several potential UAF accesses in the handling of saved\nmedia.metrics items. Also avoids possible \u0027save and immediately\ndelete\u0027 behavior in certain queue situations.\n\nBug: 69002257\nTest: watched dumpsys media.metrics\nChange-Id: I8ab056f14d845aa27f3e65a77bc6c7dbfac24e4f\n"
    },
    {
      "commit": "9bb7e3b88d9a2a1f86b83b00af5aae3e8d8ec644",
      "tree": "8550f87032b043660ceca37e3f2c115486314014",
      "parents": [
        "c56f27b269800c1e8441908c3d564c63e0257f56"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Oct 23 13:01:48 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Oct 23 14:18:19 2017 -0700"
      },
      "message": "Prevent Race condition in media.metrics\n\nChange scope of locking to avoid a window of vulnerability on queue\nmanipulation and item merging. Also cleans up a string manipulation\nerror exposed by the poc for the queue bug.\n\nBug: 68015343\nTest: repeated running of PoC without crash\nChange-Id: Iafa82936e6ec2e25793187e0fa17c2a23085f58f\n"
    },
    {
      "commit": "ac18a847a44ad16666f36e6e7ba43fc83b403faa",
      "tree": "738e256d4f7c888a60a2306cbff425a738f62497",
      "parents": [
        "17b7fa70425810f66e691d58c3dc3827542bbecb",
        "721b7a0dac6ede81d1d7de8ff490fdcedb3d2aab"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 20 20:17:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 20 20:17:39 2017 +0000"
      },
      "message": "Merge \"Blur media.metrics timestamps for privacy\" into oc-mr1-dev"
    },
    {
      "commit": "fa149560f4f4b529de3df9e87923ff7f9a8e89ad",
      "tree": "fb398cdb6e0daaef022b16e090417b81bf5956c2",
      "parents": [
        "ad2e7b902c0432a0db40906a4b1f5b693ce439dd"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Sep 19 09:27:31 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Sep 19 17:01:51 2017 -0700"
      },
      "message": "trim packagename if sideloaded, get versioncode\n\nimplement policy of not uploading package info when sideloaded\nor through a non-playstore channel. Include versioncode information\nwhen we do include a particular package.\n\nBug: 65027506\nTest: watch logs and dumpsys for various package combinations\nChange-Id: I8e601c899070b57c25181ba705e997f10ea052b4\n"
    },
    {
      "commit": "721b7a0dac6ede81d1d7de8ff490fdcedb3d2aab",
      "tree": "5468632f04ca669aec6eff6a487e51a924bb3932",
      "parents": [
        "c75d97f20843388b9084561635996a01a53d0c0f"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Sep 11 09:33:56 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Sep 11 09:33:56 2017 -0700"
      },
      "message": "Blur media.metrics timestamps for privacy\n\nPrivacy workgroup recommended that we blur timestamps to\nfurther improve anonymity of metrics records.\n\nBug: 65539819\nTest: examination of dumpsys media.metrics\nChange-Id: I337a66a66df733b4ece222b5b69a5732e78a3e35\n"
    },
    {
      "commit": "21c721250cef7722217c1e952a6923fb79c84e37",
      "tree": "8e8fe4b4e90741607e4803b9098676049ddc6705",
      "parents": [
        "e4bf97fbf4302bdea149fba4114b96b6ab9a4799"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Sep 05 19:02:06 2017 -0700"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Sep 06 22:21:14 2017 -0700"
      },
      "message": "Fix package name reporting in MediaDrm metrics.\n\nThe app package name was not previously reported in drm metrics. This\nchange reports the app package name as returned from the vendor metrics.\n\nThis is part of the fix. The other change will go into another project.\n\nBug: 64584568\n\nTest: Unit tests, GTS tests, and Google\tPlay.\nChange-Id: Iee36d5203364c5f80a8b0fe9d9bbf5c167abefd1\n"
    },
    {
      "commit": "6b6cd4d69d9bc0406d16adedf8a72ebdd5a1e127",
      "tree": "46daf2cf0c747a30f568610a2e55ac63d9c3e496",
      "parents": [
        "90153cae7ffd321338f90678a80abd62fb56e877"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Sep 05 14:19:15 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Sep 05 14:20:43 2017 -0700"
      },
      "message": "Suppress chatty debug messages\n\nALOGD()-\u003eALOGV() and remove some other debugging.\n\nBug: 65027506\nTest: observed logcat output\nChange-Id: If84dc0cb7a80dc59f7b5ae6142b662c2dd64863e\n"
    },
    {
      "commit": "f65f421540d8d1e2aad17b86368405b83cb40a26",
      "tree": "6dce1fc64f88803e89369fe6d893c5700251b6f1",
      "parents": [
        "aba0e98b085cc613003bf42dbfe1ad0a3bb2348e"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Aug 31 11:41:19 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Aug 31 11:41:19 2017 -0700"
      },
      "message": "track pkgname/version in media.metrics\n\nEnhances the media.metrics subsystem to track the pkg name \u0026 version\nso analysis can move from \"error rate has climbed\" to \"error rate has\nclimbed within app X\".\n\nChanges include fields to hold package name/version, the dump protocol\nto emit those fields to upload, and better management of metrics data on\ndevice (time and quantity).\n\nBug: 65027506\nTest: review output of dumpsys media.metrics\nChange-Id: Ia55b859d903835c84f7d43883f959dc1cdefb081\n"
    },
    {
      "commit": "8caa24ebd05b6af52bc39905e2e358930496d462",
      "tree": "c190719f56f171392508cdb504071b5627dd7591",
      "parents": [
        "000896fcb6e4ce78dbf72ecba8364c6727640d1f"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Jun 06 16:18:31 2017 -0700"
      },
      "committer": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Jun 07 05:04:47 2017 +0000"
      },
      "message": "fix  a memory leak.\n\nThis fixes\n warning: Potential leak of memory pointed to by \u0027only\u0027 [clang-analyzer-unix.Malloc]\n\nBug: None\nTest: The warning is gone.\nChange-Id: I596f422c2409241a47aba381c35da0a874f38c59\n"
    },
    {
      "commit": "2e9c63b2fddfe313d1508118ff4f1bca65c0ffee",
      "tree": "47d3777126e2f3d29686a4634984a24df8eb4b8a",
      "parents": [
        "85697206ca71ec2965eb54b2ef3f152d245ec9d2"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Mar 29 15:16:44 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 30 16:50:55 2017 -0700"
      },
      "message": "Implement metrics \u0027summarizers\u0027\n\nThe summarizers collet similar records and bunch them to save space.\nSo a string of extractor operations that crack the same format audio\nwill be combined into a single record with a new \"count\u003d#\" attribute.\n\nSummarizers will sum appropriately. The current example is in the\nPlayer summarizer -- it knows to sum the frame counts and times\n(duration and playing) as part of the summarization.\n\nBug: 36736083\nTest: lots of \u0027dumpsys -summary\u0027 manual examination\nChange-Id: I325c2d2b25720d384bcc75b73c97e5b3d8fa9731\n"
    },
    {
      "commit": "35ad27fa15b3da0c63f218e5a88b8f7c7f3419b8",
      "tree": "06679c21ca7c1f3c42758c3713aa03f8bbdce018",
      "parents": [
        "bf3b18fbf4a68184cf65d9fa063ac457d5a2af5a"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 30 14:04:11 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 30 14:59:03 2017 -0800"
      },
      "message": "clean up a fixed size buffer\n\neliminate the size of a fixed length buffer for a potentially very\nlong record.  Code was safe in that it didn\u0027t allow an overflow, but\nwe really wanted the information that was being truncated.\n\nalso some cleanup on parameters for \"dumpsys media.metrics\":\ntime units for \"-since\" and include a -help.\n\nBug: 34792286 34793404\nTest: invoke dumpsys with assorted parameters to see output\nChange-Id: If960afd52a509f277910e62c13d4ba60f9ed7e34\n"
    },
    {
      "commit": "d38e174ddbde8e7419ba01deaded4ff0ead1caaa",
      "tree": "cd62ea763bf947133d4fb6a66b693672294a2694",
      "parents": [
        "efbd36c8f57f41b0ef061cde5a88a3d384538fc9"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 23 15:17:06 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 24 09:46:01 2017 -0800"
      },
      "message": "Change from mediaanalytics to mediametrics\n\nreflect the change from \"media.analytics\" to \"media.metrics\" in\nwhat service names we use; bring the metrics service main code into the\nservice directory (vs an additional shared library).\nRemoved references to tentative binder functions that the service\nwon\u0027t be offering, at least not in the near future.\n\nBug: 34615027\nTest: build, boot, new services run, clients talking to said services.\nChange-Id: If17772a8f03c05b142e8d5779830d198710210c1\n"
    },
    {
      "commit": "b5fac8ef36b302c12f897d06c7e097981843f3a0",
      "tree": "cad2d297cf98424f0a53a60d45c335430f0d1e23",
      "parents": [
        "51ac35503501692300f9772c29c2d2f4dc43a245"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Dec 12 11:33:56 2016 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Dec 20 14:36:27 2016 -0800"
      },
      "message": "Refine MediaAnalytics framework\n\nRework some interfaces to avoid unnecessary sp\u003c\u003e mechanisms;\ndocument which side of caller/callee owns pointers afterwards.\nRework internal attribute representation, add support routines.\n\nBug: 33547720\nTest: Boot, ran subset of CTS media tests\nChange-Id: Id0d65bd6a847704dc98d38be9aa5e1ce63c20e1c\n"
    },
    {
      "commit": "3938dc6363949ef126bb6188d26b5bef6db8be4d",
      "tree": "fe9553c997bd8a827cea887461895b7551085626",
      "parents": [
        "c2d29c48ea9314f1db836a906c95ee9bd6ef11c8"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Nov 01 08:56:56 2016 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Dec 02 16:25:42 2016 -0800"
      },
      "message": "initial mediasanalytics framework\n\nThis encompasses the basic framework files for mediaanalytics.  This\nincludes the library code to run in clients, the interface definitions\nto get to the service, and the mediaanalytics service.\n\nThis version of the patchset also incorporates a wholesale change from\n\"Media Statistics\" to \"Media Analytics\" -- which involved both textual\nchanges and file renaming\n\nThis does not include the changes to other entities that will be sending\ndata. We\u0027ll do those under separate per-entity commits.\n\nBug: 30267133\nTest: run through cts\u0027 media stress tests\nChange-Id: Iee7e722d10fd57c5d6b14e2947117ed0d3af4f2a\n"
    }
  ]
}
