)]}'
{
  "log": [
    {
      "commit": "8589ce7045fd4f5520aabbc773f00c7136925fd7",
      "tree": "a02b3ba722bc13f798c9c10cc51d19b670388452",
      "parents": [
        "f24d95960d85c891fc40db6f1e9644385efb4eb3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 08 17:03:42 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 08 17:06:32 2017 -0700"
      },
      "message": "Split nblog off from nbaio\n\nnbaio is an acronym for \"non-blocking audio I/O\", and nblog means\n\"non-blocking logger\" so nblog does not belong with nbaio.\n\nThere are a lot of improvements planned for nblog, and having the\nrestructuring done will make it clearer as more files are added.\n\nTest: builds OK\nChange-Id: Ib28bada2566c1d64bdbe9f5d7a5ce40e080178ef\n"
    },
    {
      "commit": "e66ef840c36aaca77c618873da203115d9921fcc",
      "tree": "0121dcdd42bf7962d5609c1f223856774b3a4051",
      "parents": [
        "7c618e82e826f61890f83bfb31a4f74249827e79",
        "8499f13735227aab50b4bc859a1ea6f02166e912"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 15 15:12:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 15 15:12:28 2017 +0000"
      },
      "message": "Merge \"Update OWNERS to be more specific\""
    },
    {
      "commit": "14316446402a2e4bc3daf407741e0bd021871928",
      "tree": "ec6eec42fa0305530baca4e7b09e714292f97611",
      "parents": [
        "10a070a05b044029b5c3653f6eb53b8e472c98a3"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Aug 11 10:45:29 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Aug 11 10:48:16 2017 -0700"
      },
      "message": "Minor cleanup of comments\n\nTest: dumpsys media.log\nChange-Id: I144908ce81ec10f572c79b75fda569683b7682f5\n"
    },
    {
      "commit": "8499f13735227aab50b4bc859a1ea6f02166e912",
      "tree": "25f47c647364a40db2ece3d0e06496e0f0e42a16",
      "parents": [
        "08455b8df21e586c88d9f66eff71f0d26230192e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Aug 04 08:08:45 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 08 08:13:11 2017 -0700"
      },
      "message": "Update OWNERS to be more specific\n\nStill to do ... media/OWNERS\n\nTest: Gerrit works as expected\nChange-Id: I2645175569b579764d0298641287e56bfabeab9f\n"
    },
    {
      "commit": "847b6e619a673375e72df857478aabca7275c674",
      "tree": "c00d6740c3204b760b3ab2e3876d5dbbc53a3497",
      "parents": [
        "81576ca12a6f401d2c8072293cd1509526cb9299"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Thu Aug 03 11:35:51 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon Aug 07 09:46:20 2017 -0700"
      },
      "message": "Change file structure and data structure size\n\nHistograms and related data structures can\nstore up to 10 hours worth of data. Fixed\nhistogram logging elapsed time count and\nresolution\n\nTest: dumpsys media.log\n\nChange-Id: Ibb394273b7b1be4c791f9dbe64a32a7436714a9d\n"
    },
    {
      "commit": "2a6a945d65c986dcc779f70f18afde1d7a74397b",
      "tree": "065495450ff5c324fdac2581311bdbafd5424674",
      "parents": [
        "2f3a4beb458716769f1d8439250ecc252fe6adce"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jul 28 11:02:01 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed Aug 02 16:45:37 2017 -0700"
      },
      "message": "Develop histogram logging\n\nAdd date to WriteToFile filenames and simplify\nfile format. Add timestamp logging to\nNormalMixer. Change histogram resolution\ndynamically based on logarithmic distance\nfrom the distribution center. Add context\ninformation: thread, hash and time.\n\nExample of right end of a histogram with\nrounding for values \u003e\u003d 27:\n\n   1    1    2    1    1    1    2    2    1\n\n             |                   |    |\n   |    |    |    |    |    |    |    |    |\n_____________________________________________\n21.1 21.2 22.9 23.0 23.3 27.0 34.0 37.0 38.0   ms\n\nTest: dumpsys media.log\n\nChange-Id: I255e2d28d76a1c7a06d48e7c3eacdf2f846a7ea3\n"
    },
    {
      "commit": "6ad40ee051e75ed3d986327e9967cf493047148d",
      "tree": "7689d067cc6ce37ce6a2b7df59d445a7cb6d95a1",
      "parents": [
        "857689453ed225e34488d4b02bd723dee8556606"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jul 28 10:10:55 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Aug 01 11:57:51 2017 -0700"
      },
      "message": "Variable time resolution in histogram (Jiffy)\n\nChanged variable types to make them more consistent,\ne.g., always use int64_t. Made histogram take up less\nspace by adjusting the column with for each value.\nExample of results (only the fastmixer histogram\u0027s\nleft half is shown, not the slowmixer\u0027s).\n\nOccurrences\n  2    2    2    7   21   44  122  416  394  123\n\n                                     |    |\n                                     |    |\n                                |    |    |    |\n                           |    |    |    |    |\n                      |    |    |    |    |    |\n                      |    |    |    |    |    |\n                 |    |    |    |    |    |    |\n  |    |    |    |    |    |    |    |    |    |\n  |    |    |    |    |    |    |    |    |    |\n ________________________________________________\n3.2  3.3  3.4  3.5  3.6  3.7  3.8  3.9  4.0     ms\n\nTest: dumpsys media.log\n\nChange-Id: I007a6104c3f62ab04ee386a1de196b267adddecc\n"
    },
    {
      "commit": "857689453ed225e34488d4b02bd723dee8556606",
      "tree": "5692a2c4e2d902c25a9895e820b229a67b9fa03d",
      "parents": [
        "0a3959e84386d8e6fe40832309eeec36a599dc14"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed Jul 26 20:17:30 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon Jul 31 10:26:04 2017 -0700"
      },
      "message": "Fixed timestamp outlier bug\n\nTest: dumpsys media.log\n\nChange-Id: I8b03feed956100d4cec0a2d9683a8a436323d171\n"
    },
    {
      "commit": "0a3959e84386d8e6fe40832309eeec36a599dc14",
      "tree": "38c291090078a1f97a5202c89641cdb1cac1fba4",
      "parents": [
        "4ae3491dea79c23102a1c63ad4a9ec524a9f9aa3"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 25 16:08:17 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Sat Jul 29 15:29:59 2017 -0700"
      },
      "message": "Simplify PerformanceAnalysis functions\n\nInstead of storing values in buffers and\nprocessing them in batches, process each\nsample on its own\n\nTest: dumpsys media.log\n\nChange-Id: I642555f290632cea37907a00b92f61ed6aec4eec\n"
    },
    {
      "commit": "716d2c6660d579301804b44c9b6ec8a3a5d9a50a",
      "tree": "38552be336970efed2f70b9bc9d8abbb9c324f73",
      "parents": [
        "f8c34284fcc9b5d64af3199c33cc1cec70a460e2"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 25 13:46:36 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 25 21:45:49 2017 -0700"
      },
      "message": "Organize PerformanceAnalysis members in structs\n\nStores related variables in structs instead of\ndirectly in the class definition\n\nTest: dumpsys media.log\nChange-Id: I776e35e74ac69b428170b379a9bcf4d18b3fa041\n"
    },
    {
      "commit": "f8c34284fcc9b5d64af3199c33cc1cec70a460e2",
      "tree": "d8bdcdefcae01e1e307c24326516223effed2b7e",
      "parents": [
        "23f89d3469e5f4de4072bbd305e9552483abe723"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 25 11:31:18 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 25 20:57:39 2017 -0700"
      },
      "message": "Write peaks to file. Minor cleanup\n\nTest: dumpsys media.log\nChange-Id: Ie696cd904306997142f050cf842290aeacfb6636\n"
    },
    {
      "commit": "23f89d3469e5f4de4072bbd305e9552483abe723",
      "tree": "d18388015d219f9a0916668caaa6f1b89eda9197",
      "parents": [
        "d096517201332e03679c913e0d098c61ec6e4f0c"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon Jul 24 18:24:48 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 25 11:44:57 2017 -0700"
      },
      "message": "Write thread and data to separate files\n\nEach file name starts with either \"histogram\" or\n\"outlier\" and contains thread and hash (source\nfile location) information.\n\nTest: dumpsys media.log\n\nChange-Id: I4bbea8b5265ac539e6fb2ce16207e4f5c89d21d4\n"
    },
    {
      "commit": "d096517201332e03679c913e0d098c61ec6e4f0c",
      "tree": "e508f427cc397d043c618a719bea0de73301d61e",
      "parents": [
        "c90d1eec823bb8d5258efed5faa2a22cafc127de"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon Jul 24 13:42:44 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 25 09:12:34 2017 -0700"
      },
      "message": "Separate analysis for each source file location\n\nUse a map of maps of PerformanceAnalysis. The\nfirst key is the thread, the second key the\nsource file location.\n\nTest: dumpsys media.log\nChange-Id: Ib60758e10ce1ddbf65337419db2ff3aa070763fb\n"
    },
    {
      "commit": "cf6c75a45416a90d2afdf42f0ac2f0b26f67839a",
      "tree": "9f0bfbac461e5b6f4395c39f4f0c4f58767fc16d",
      "parents": [
        "a80649ad90956a25e24c2cd00931b0253e994721"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jul 21 17:05:25 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon Jul 24 13:12:50 2017 -0700"
      },
      "message": "Moved dump from NBLog to ReportPerformance\n\nMinor cleanup\n\nTest: dumpsys media.log\nChange-Id: Ib4d12f6e20c04ecb3344290083ea65a3fe1e47e0\n"
    },
    {
      "commit": "a80649ad90956a25e24c2cd00931b0253e994721",
      "tree": "c3a142b8ccd5cab4bae01072efafcc0cfe02a8dc",
      "parents": [
        "424c4f5b76a6ed11f2c713b42246a7220cfbb240"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jul 21 16:16:38 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon Jul 24 11:45:01 2017 -0700"
      },
      "message": "Simplify processAndFlushTimeStampSeries\n\nInstead first writing to a deque of short-term\nhistograms and copying the data over to long-term\nhistograms, write directly to a single deque\nof histograms.\n\nTest: dumpsys media.log\nChange-Id: I05a283a54b84bc7d061c7fae7b671390c1690def\n"
    },
    {
      "commit": "e48652674ebd4047363a79d38a6018978087223e",
      "tree": "4d7b5927da48cf1504b0b32fc01a88265dea717f",
      "parents": [
        "633adf69ae8f9aeb41bceb193afefe35e5550c7f"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jul 14 16:24:15 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jul 21 15:52:40 2017 +0000"
      },
      "message": "Separate merge from dump and call merge periodically\n\nEvery time merge is called by the thread loop,\nthe data is also processed and written to\nPerformanceAnalysis. A call to dump retrieves\nthe FIFO of processed data in PerformanceAnalysis\ninstead of the unprocessed Reader FIFO, and prints\nthe result to the console.\n\nTest: dumpsys media.log\n\nChange-Id: Ic479f48e9e4fdf4523a8f15db514dbdd85b70434\n"
    },
    {
      "commit": "8c3d2e89ece54232f23c179d979cc5599f742232",
      "tree": "99fda0e05d4769b99768e10c805f8617d9062454",
      "parents": [
        "23f2b722b03f3923a2730bee521df184337a9582"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jul 14 15:33:49 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed Jul 19 13:58:14 2017 -0700"
      },
      "message": "Fixed indent in NBLog.h\n\nTest: dumpsys media.log\n\nChange-Id: Ic6cf4adc2da4759b165c85d15bd4fd9d3c6780a0\n"
    },
    {
      "commit": "80448085b6fa0dd9a78c4d7ca378d7ea5201595d",
      "tree": "94d4d6012c575f528869284f499f346646b42ca0",
      "parents": [
        "c9bac6e40e62bac2bcffad79155757e4f1e9eb3e"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 11 14:07:59 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 18 16:53:04 2017 -0700"
      },
      "message": "Write audio performance data to file\n\nCreated new file ReportPerformacne.cpp with file writing\nfunctionality.  When short-term histogram array is full,\nits data is aggregated into a long-term histogram array.\nCleaned up documentation and comments.\n\nTest: dumpsys media.log\n\nChange-Id: I19f48ea27ffc8205e67ea4ded04615d33a422966\n"
    },
    {
      "commit": "c9bac6e40e62bac2bcffad79155757e4f1e9eb3e",
      "tree": "d8f28d713f45bdda3a57a644ef071b9d22342472",
      "parents": [
        "32cb394f830758d7703dc1f615e4d2de18c7af1b",
        "2a78bf88d45e211be626824096991f05cd11213b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Jul 18 17:05:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 17:05:26 2017 +0000"
      },
      "message": "Merge \"Fix a crash happening in NBLog\u0027s \u0027writeHistToFile\u0027\" into oc-dr1-dev am: 4f771e05db\nam: 2a78bf88d4\n\nChange-Id: Ie82fd23b310aa55f33568c8f4a3bf5eda57964d6\n"
    },
    {
      "commit": "ce9a26eb526fcf76e376d57acb8f42808cc1a1d9",
      "tree": "d9b0000c36fb50efdf0aa1fdb4c8a591f2584605",
      "parents": [
        "af842eb79ed9943b7a4495136197e093fc7d8ba7"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 17 16:53:38 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 17 16:53:38 2017 -0700"
      },
      "message": "Fix a crash happening in NBLog\u0027s \u0027writeHistToFile\u0027\n\nThe issue was in the possibility of the \u0027intervals\u0027 vector being\nempty if the provided \u0027samples\u0027 vector contains only one\nelement. That leads to \u0027intervals.end()\u0027 being passed to\n\u0027intervals.erase()\u0027, and vector::erase produces undefined\nbehaviour in that case.\n\nI see no other calls to \u0027erase\u0027 or \u0027max_element\u0027 in libnbaio,\nso that should be the only fix needed.\n\nBug: 62536501\nTest: see test case at bug\nChange-Id: I37f93fa42030ed6f5bcb2d46b0a7a2c0af3c82e4\n"
    },
    {
      "commit": "9584601561ad1d3b4fc1b0035c3f3e5bbd3e499e",
      "tree": "0f3268ed27ec2f843c79924a4b779afa06fc2b98",
      "parents": [
        "6c3359f522fa5c528d7eef5deaaf0d2c9c365089"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 17 10:34:02 2017 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Jul 17 10:56:37 2017 -0700"
      },
      "message": "Append additional owners to projects\n\nThis releaves reviewing burden from the frameworks/av owners.\nNote that the lists of owners are inherited from the parent\ndirectories thus the people listed in these files are owners\n*in addition* to people listed in frameworks/av/OWNERS,\nand frameworks/av/{media|services}/OWNERS.\n\nChange-Id: I5e2db1c40cb807b906b2701fe446c874a8d19983\nTest: not needed\n"
    },
    {
      "commit": "a8a8a47da86e181d835eab7f858d6b1d2c3a8357",
      "tree": "a5a3c4afcd188433b61e22c9dcaa267544810743",
      "parents": [
        "41cad59d28749b397c35a246a670603cd311be19"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue Jul 11 09:41:25 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed Jul 12 14:45:13 2017 -0700"
      },
      "message": "Restored audio onStateChange log\n\nCalls flushTsSeries when a state change was detected\nto avoid logging idle audio time as a buffer period.\n\nTest: dumpsys media.log\nChange-Id: Ia33bec8829dcd5d2de5c40f904e5ea19c5a2b453\n"
    },
    {
      "commit": "41cad59d28749b397c35a246a670603cd311be19",
      "tree": "5007b9182b0c767e585188cd599f21ce546bedde",
      "parents": [
        "35d622f2422412dab726d7c795d0fd593683ac64"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Thu Jun 29 14:57:59 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon Jul 10 19:44:45 2017 -0700"
      },
      "message": "Stores long-term histogram, outlier information\n\nMoves analysis and storage from NBLog to\nPerformanceAnalysis. Applies peak analysis to\noutlier information to detect changes in the\ndistribution of outlier frequency.\nAdds cleanup, documentation, FIXME comments for\nupcoming changes.\n\nTest: dumpsys media.log\n\nChange-Id: Iea393dac62959aef754ae2a9b4afe2556c1f3ecb\n"
    },
    {
      "commit": "6eb0c0e980c8ccd5c0cddfd0f1875f9501b293c7",
      "tree": "3be83b90dc9719351f5f6cac8a815f83d7038147",
      "parents": [
        "af3c24c938f2a0fa715918f1a6a73c794f0d5e60"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 06 11:11:31 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jul 07 19:37:54 2017 +0000"
      },
      "message": "Split libnbaio into libnbaio + libnbaio_mono.\n\nWhen the vndk is enabled (BOARD_VNDK_VERSION\u003dcurrent),\nvendor libraries must only link against vendor variants\nin the build system. This also means that they receive restricted\nsets of headers and that automatic global headers are restricted.\n\nTest: mma -j BOARD_VNDK_VERSION\u003dcurrent\nTest: boots device, audio plays over YouTube\nBug: 37342627\nBug: 63269228\nChange-Id: Ifa9c96f6b98b456def485be6bc5046ee54c3c3ca\n"
    },
    {
      "commit": "3dc2b2de8984ec97042d0b02773f99bf4d41a7ed",
      "tree": "c73d489e782a09312ab7cd5e7d27d0542b70f296",
      "parents": [
        "eb29e9ce27cd34975d675a6ed43786e1cab1e5f7",
        "2b01f009428797ee9154649411a64b522946e966"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 06 15:54:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 06 15:54:32 2017 +0000"
      },
      "message": "Merge \"Replace old audio time conversion macros and functions\""
    },
    {
      "commit": "2b01f009428797ee9154649411a64b522946e966",
      "tree": "4a92acd2cccf15d8d916bbdaa7fea1265911ab93",
      "parents": [
        "38217e0d53b14e634243d1ce36fa5d3267c71056"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 05 12:01:36 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 05 12:45:52 2017 -0700"
      },
      "message": "Replace old audio time conversion macros and functions\n\nTest: Play Movies, Youtube, CTS\nBug: 25569135\nChange-Id: Ib6e304f149c381dc7af7f4aa959c3d79d7bdb2aa\n"
    },
    {
      "commit": "26cd4e41c01ae0e1c1fa4037d7d670ab86e10415",
      "tree": "3498a5730aec0de86c67279fb4af92516137e38e",
      "parents": [
        "53fdc1d748735a82f05fa77d04ec08e4c5d43eaa"
      ],
      "author": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Jun 30 15:17:05 2017 -0700"
      },
      "committer": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Jun 30 15:17:05 2017 -0700"
      },
      "message": "Fix nbaio headers by moving them to include/media/nbaio\n\nBug: 63172425\nTest: Build target\nChange-Id: Idc8aecad00aa4d31125ff1026a2c7c8654dd1a9e\n"
    },
    {
      "commit": "16358477d9701d695f69e4e2901ff0d73dc37054",
      "tree": "a5786a4fb53bef3a729c4245200935b9adc57116",
      "parents": [
        "d89ca6f38dc5fa674c89ddaecc0686e292610a88",
        "316f1fd662efcee8b98dcf37307021d90d59d622"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Thu Jun 29 15:24:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 29 15:24:48 2017 +0000"
      },
      "message": "Merge \"Reports buffer period glitch timestamps and intervals\""
    },
    {
      "commit": "316f1fd662efcee8b98dcf37307021d90d59d622",
      "tree": "2b60b2d33e5e63acf8f9db062d790fed9ee058c5",
      "parents": [
        "d0dfe43a46bd1705c11b405f5f376524391bfb1a"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jun 23 09:10:15 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed Jun 28 08:28:37 2017 -0700"
      },
      "message": "Reports buffer period glitch timestamps and intervals\n\nTest: dumpsys media.log\n\nChange-Id: I3f386fdfc997f14cc825aa7f39e86488ccf0fcd2\n"
    },
    {
      "commit": "d4a68f6a2102282ede5331c47df8f04188bdffb8",
      "tree": "0c146e872168b10bcffb9e82f6d8f90ef3e4a104",
      "parents": [
        "d0dfe43a46bd1705c11b405f5f376524391bfb1a"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jun 23 16:09:41 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon Jun 26 10:45:16 2017 -0700"
      },
      "message": "Removed LOG_HIST_FLUSH\n\nTurning audio on and off does not cause this event to be\nwritten to the buffer. Now, a call to dumpsys media.log\nsimply writes to console an analysis of the data in memory,\nand does not delete it afterwards.\n\nTest: dumpsys media.log\n\nChange-Id: Ie75fb27ec4050fb3891635f4c7933196cfd03643\n"
    },
    {
      "commit": "d0dfe43a46bd1705c11b405f5f376524391bfb1a",
      "tree": "cdbaf3d6b6ef6ea8866b953e367d5612e011b921",
      "parents": [
        "9484bae02627b7827ac4e6f092923185ccfbf855"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Thu Jun 22 15:09:38 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Thu Jun 22 16:34:58 2017 -0700"
      },
      "message": "Moved analysis work from NBLog to PerformanceAnalysis\n\nTest: dumpsys media.log\nChange-Id: Ibb595a25d7484840933ee0076c469b2b4d55aeec\n"
    },
    {
      "commit": "9484bae02627b7827ac4e6f092923185ccfbf855",
      "tree": "d90598c747fbdb5edf5f42cffca6acc3ec9fa354",
      "parents": [
        "da4ca5f97e9239cb8f5e00e5be893ea5b13fcbd4"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Thu Jun 15 14:39:44 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon Jun 19 17:56:04 2017 -0700"
      },
      "message": "Prints one histogram of all data in recent history\n\nA call to dumpsys media.log causes the program to read\ntimestamp data from the circular buffer stored in local memory\nto a local data structure which stores this data in a\ncompressed format.\n\nThe current code is a temporary step towards the ultimate\ngoal (described below). The timestamp data is turned into\nhistorgrams of a small, fixed size, and added to a vector\nof histograms. When the vector reaches a given number of\nhistograms, the oldest one is popped. When dump() is called,\nall the short histograms are combined into one large one and\nprinted. The advantage of this approach is to not delete\ndata from memory until it is overwritten. Ultimately, this\ndata structure should be a circular buffer. A second data\nstructure should be added which keeps a more long-term analysis\nof the data.\n\nTest: dumpsys media.log\n\nChange-Id: I39c4818e7d1221d5023a4355b8b57fadd9451de5\n"
    },
    {
      "commit": "1bb686219ac81e78d53326876227f63a1c651cb8",
      "tree": "f097c35eb88e4a427e70788eeb59175823362c30",
      "parents": [
        "5790041982977daf21d59cbf59dbcaa08d74caeb"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed Jun 14 14:18:31 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed Jun 14 15:52:02 2017 -0700"
      },
      "message": "Enhanced documentation for NBLog.cpp\n\nTest: dumpsys media.log\n\nChange-Id: Ia94d554c187c11b03fcf2ef0c13ad08d61bffc11\n"
    },
    {
      "commit": "697a8a54a27d054efed7b47a6131a78b1388083e",
      "tree": "c69453b50f90c7a00a30ce0b73f80a1b1af0c8b8",
      "parents": [
        "ea589f5aabe6f713c8009013cfa5d2c563f30eed"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Thu Jun 01 09:49:05 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jun 02 08:15:10 2017 -0700"
      },
      "message": "Prints sample Ms deltas to audioserver file.\n\nerases previous content for each histogram set.\n\nTest: more /data/misc/audioserver/sample_results.txt\n\nChange-Id: I55847f3e61af76992a73084fe2b5c87c88fc504c\n"
    },
    {
      "commit": "8f779cf33939910f7d058e0488eac744dba512d8",
      "tree": "18f31b5359414a1ab1216623159921a0b857672b",
      "parents": [
        "83cb1714b2aef243c251eb6ab4d2b2bca67a76fc",
        "2d1631eec3f4a5f8d43f5178246a6de31e47532d"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed May 31 19:34:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 31 19:34:02 2017 +0000"
      },
      "message": "Merge \"Added documentation, inline comments, and temp debug features.\""
    },
    {
      "commit": "2d1631eec3f4a5f8d43f5178246a6de31e47532d",
      "tree": "3142a494111b9df2939dc71296753c706dd464dd",
      "parents": [
        "201079a8f9ee7811c3ec5302712526428fb8de7e"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue May 30 16:12:36 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 31 17:34:43 2017 +0000"
      },
      "message": "Added documentation, inline comments, and temp debug features.\n\nchecks location of outlier timestamps.\n\nTest: dumpsys media.log\n\nChange-Id: I84fcb310bf8f94b97db115796264f1dd5d9486bd\n"
    },
    {
      "commit": "56c762451589c08de28a34109f90d9db12f87450",
      "tree": "385ec9c8e834c6a001de321c49ffef77fb9d9157",
      "parents": [
        "d1d95ebdb8669e9b8e3fb27cf95d109b3fc4538e",
        "201079a8f9ee7811c3ec5302712526428fb8de7e"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue May 23 16:29:50 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 23 16:29:52 2017 +0000"
      },
      "message": "Merge \"Produce log warning when a glitch occurred.\""
    },
    {
      "commit": "201079a8f9ee7811c3ec5302712526428fb8de7e",
      "tree": "69f92efb0b9b6d3a3ddce8206ac835e6b23e2a50",
      "parents": [
        "cced674a438191eb59b39816c79ccff6bf9c21fd"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Thu May 18 16:36:29 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon May 22 16:41:27 2017 -0700"
      },
      "message": "Produce log warning when a glitch occurred.\n\nA glitch is assumed to occur when the sum of the three\nlatest buffer periods cause CPU time to be unavailable\nfor the next buffer. For example, if a buffer period\nis 4 ms, requires 3 ms of CPU time, and a running sum of\n3 consecutive buffer periods is examined, this sum cannot\nexceed 13 \u003d 3*4 + (4-3), where 3*4 is the expected total\ntime and (4-3) is the CPU time left available by one 4 ms\nperiod. Glitch examples:\n4 + 4 + 6; 5 + 4 + 5; 2 + 2 + 10\n\nSee NBLog::Reader::alertIfGlitch.\nBoolean NBLog::Reader::findGlitch should be set to true\nfor the notification to occur.\n\nNote: this function needs to be developed to track glitch\noccurrences over time and notify when a difference in\ntrend occurs.\n\nTest: dumpsys media.log\n      logcat | grep NBLog\n\nChange-Id: Ibf120afd990a71eb40863157a28c3a5a4a610c64\n"
    },
    {
      "commit": "b05d4e2559e27d50ea56b28c1f1bd3161455616d",
      "tree": "46295e34fec8eaba0fb88844afc5f482166f8225",
      "parents": [
        "0e39f08a8560ec9d27786ab282b060739f341bf5",
        "cced674a438191eb59b39816c79ccff6bf9c21fd"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Tue May 16 17:12:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 16 17:12:43 2017 +0000"
      },
      "message": "Merge \"media.log: improve histogram appearance\""
    },
    {
      "commit": "dd92d7e37298d57be41f8ffd1bab6786cf8b74b9",
      "tree": "efb1586f4ed4d4fd9039951328f9597eb55aae51",
      "parents": [
        "f7e2da4ca19db264d47c96ae07152aef6bce5c30"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon May 15 14:56:53 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon May 15 14:59:32 2017 -0700"
      },
      "message": "Fixed order for NBLog::FormatEntry::begin()\n\nTest: dumpsys media.log\nChange-Id: I9579e8d41a5fd97b4c9c3b697bd8c13ee3b8c295\n"
    },
    {
      "commit": "cced674a438191eb59b39816c79ccff6bf9c21fd",
      "tree": "1475510ba2a6de8ffafc2bc01d696de5de490e7a",
      "parents": [
        "f7e2da4ca19db264d47c96ae07152aef6bce5c30"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Wed May 10 14:42:54 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Mon May 15 14:46:53 2017 -0700"
      },
      "message": "media.log: improve histogram appearance\n\nremoved whitespace\nfix histogram column appearance, removed y-axis labels\nadded axis labels and removed unnecessary characters in columns\nminor code cleanup\n\nNew appearance:\n[446203.725] Histogram flush - FastMixer: 6F660152\n  Occurrences\n      1  19  15   1   1\n\n          |\n          |   |\n          |   |\n          |   |\n      |   |   |   |   |\n   ------------------------\n      0   3   4   6  29    ms\n\nOld appearance:\n[54.234] Histogram flush - AudioOut_D:\nHistogram 33640BF1\n            [ 1][ 1][ 1][ 3][54][69][ 1][ 2][ 1]\n        64|                      []\n        32|                  []  []\n        16|                  []  []\n         8|                  []  []\n         4|                  []  []\n         2|______________[]__[]__[]______[]____\n              4   5   6   8   9  10  11  13  15\n\nTest: dumpsys media.log\nChange-Id: Iece8feec66db1cef66db4cb12d4db3f7e433b7d5\n"
    },
    {
      "commit": "b8c35f94470d1518e2def0582aaec4e038c92af0",
      "tree": "0ef68bf31016198ef4a9f26d33025fa332c2abd4",
      "parents": [
        "6f51c153ea5e4187a313e47ac8bad9a1a999d4e1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 16:15:51 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 16:41:36 2017 -0700"
      },
      "message": "Fix trivial warnings hidden by -isystem\n\nFix the trivial warnings that are hidden by the use of -isystem to\ninclude frameworks/av and caught by -Werror.\n\nTest: m -j checkbuild\nBug: 31751828\nChange-Id: I155f9f772ce0a84b364313814cb7cf528b9de4eb\n"
    },
    {
      "commit": "6f51c153ea5e4187a313e47ac8bad9a1a999d4e1",
      "tree": "ca8da064baf8dd1602966a377d6c5ae804e663db",
      "parents": [
        "f461f38e08ca8afb89e1dc33beae43905f47f9f8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 12:46:17 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 16:41:36 2017 -0700"
      },
      "message": "Fix non-trivial warnings hidden by -isystem\n\nThese warnings were hidden by -isystem.\n\nBug: 31751828\nTest: m -j checkbuild\nChange-Id: Ibb1aa07a6827fcbd29fc15291fcd90280c0f608d\n"
    },
    {
      "commit": "7d7bb17ea8a7ed9b37bb4a7caa7d158e848ce9d0",
      "tree": "9d209f13986323194e7a00a7f285e81c502f9ee6",
      "parents": [
        "4501f601c7786f154eb7c4b849cfeb684450e2d5",
        "c5cb6b35a63385cb16711d064127a95655da929a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 18 20:23:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 18 20:23:43 2017 +0000"
      },
      "message": "Merge \"Use option to flush the entire buffer on -EOVERFLOW\" into oc-dev am: 4bba89e4e1\nam: c5cb6b35a6\n\nChange-Id: I2b62bfaad94bad8dec9c0e652fa8db8050dd32af\n"
    },
    {
      "commit": "03539407b0208fadba3d3f3a9b8c3cd899228b67",
      "tree": "17957b5bd513605f0c8392b12f1fec2977dc4c1c",
      "parents": [
        "6cb102d4a1cbaaacecde61d4e2a261c910c55e1c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 17 16:40:46 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 17 16:53:33 2017 -0700"
      },
      "message": "Use option to flush the entire buffer on -EOVERFLOW\n\nThis was the previous behavior prior to project system/media commit\nfc3d70736e4c24cbdc8c91076013c01e487fd4d5.\nThe new behavior introduced by that commit is to preserve as much of the\nbuffer as possible.  But that introduced a regression in applications with\nso many overflows that they can\u0027t recover.  So now the flush is optional.\nIn the case of PipeReader, we do need the flush.\n\nTest: at bug\nBug: 36725187\nChange-Id: I25609c7a656a05228fb4e7d4082b2857f4195a34\n"
    },
    {
      "commit": "5ede4eef66a3908d1289e2b3baaa692c5492914b",
      "tree": "aadf840aefc92e28c42c5ae5d67f275280d46898",
      "parents": [
        "96165b46d5fd1381de6b8f8cb29e0453566755c1",
        "1c446273e6ebfe55ef293a0b7e78525b1b40ce84"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 13 15:19:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 13 15:19:20 2017 +0000"
      },
      "message": "Merge \"Change raw pointer mNamedReaders to reference\""
    },
    {
      "commit": "b3461d58e4410b6381d2d852a8598bfb7ed625cb",
      "tree": "23b40760a976e22d07a0250452d9899ad10d0dbb",
      "parents": [
        "7f2c3e456176494c25d4e2e03de453ed42223d77",
        "4f03349cda382b70d1bda3137e2aa307bf993633"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Sat Apr 08 03:41:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 08 03:41:46 2017 +0000"
      },
      "message": "Merge changes I10d5387a,If73be46d\n\n* changes:\n  NBLog add log scale to histograms\n  NBLog improve Histograms:\n"
    },
    {
      "commit": "1c446273e6ebfe55ef293a0b7e78525b1b40ce84",
      "tree": "e88e1f2b206b3f9229e2918322df1c3a0ddfe19d",
      "parents": [
        "eef598c5539aa2be5a106f2483b19e368e4b8c0e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 07 09:49:07 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 07 14:46:53 2017 -0700"
      },
      "message": "Change raw pointer mNamedReaders to reference\n\nUsing a reference for mNamedReaders ensures it is never updated.\n\nAlso:\n - add FIXME related to lack of lock protection for mNamedReaders.\n - add a few other FIXME\n - add section breaks\n\nBug: 37153050\nTest: builds OK\nChange-Id: I8b80acb5cc943795becdc2d24debc11b09620753\n"
    },
    {
      "commit": "4f03349cda382b70d1bda3137e2aa307bf993633",
      "tree": "0578baf4a24e11381adeb97ad2c675163a848d43",
      "parents": [
        "ad82aa66ff659a5a98fa5beebf16f7b053be47dd"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Mon Apr 03 19:17:03 2017 -0700"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Tue Apr 04 17:21:53 2017 -0700"
      },
      "message": "NBLog add log scale to histograms\n\nBug: 36490717\nTest: Log histograms, check that scale displayed is logarithmic\nChange-Id: I10d5387ad9eef80e7994ccb8246347e1413e9058\n"
    },
    {
      "commit": "ad82aa66ff659a5a98fa5beebf16f7b053be47dd",
      "tree": "a8713a36afdaf2e87fb7ea93eef19ca706f27ba2",
      "parents": [
        "f42f15685ee622b1e341c8958f616c17801a1ad0"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Mon Apr 03 19:15:20 2017 -0700"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Tue Apr 04 16:54:29 2017 -0700"
      },
      "message": "NBLog improve Histograms:\n\n- Use single map for simpler code\n- Flush only current thread, keep unflushed entries between dumpsys calls\n\nBug: 36490717\nTest: add histogram logs and check they behave as expected\nChange-Id: If73be46daa8d96c62fdd2b76076efa77cd54fa30\n"
    },
    {
      "commit": "0b9e783197bcd5e5866e1f23ebcde78f786b38bf",
      "tree": "625f2f48670c2e1720a727d8b3760f568aaaa304",
      "parents": [
        "4f3de352284f0d52716f01e627a9ee49414e9817",
        "f42f15685ee622b1e341c8958f616c17801a1ad0"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Sat Apr 01 20:48:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 01 20:48:55 2017 +0000"
      },
      "message": "Merge changes I19384478,I71c4df28,I2e0b48c6,I7fb9b899\n\n* changes:\n  NBLog change timespec to int64_t nanoseconds\n  NBLog: add buffer hex dump\n  Add histogram entries (timestamp and flush)\n  Add unique IDs to log entry\n"
    },
    {
      "commit": "f42f15685ee622b1e341c8958f616c17801a1ad0",
      "tree": "de2c3924e1688df16ba46aebab8c5f0910cbb836",
      "parents": [
        "2aedf3732cd36b69a892b6b46ba3b91682ae42b3"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 30 19:16:22 2017 -0700"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Mar 31 17:46:40 2017 -0700"
      },
      "message": "NBLog change timespec to int64_t nanoseconds\n\nBug: 36794556\nTest: No change in functionality, everything keeps working\nChange-Id: I19384478d94243a9d2a6fb48950963d8b9ec1efa\n"
    },
    {
      "commit": "2aedf3732cd36b69a892b6b46ba3b91682ae42b3",
      "tree": "bbb813d7be1580246f20a6d1084c07c8459f81f1",
      "parents": [
        "537ad7dab88ee1b489331094a325726a26b8c1b1"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Wed Mar 29 11:27:03 2017 -0700"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Mar 31 12:36:34 2017 -0700"
      },
      "message": "NBLog: add buffer hex dump\n\nBug: 36724290\nTest: create and print entries, check dump matches expected content\nChange-Id: I71c4df287535b460838afc2d3ce651744850bf49\n"
    },
    {
      "commit": "537ad7dab88ee1b489331094a325726a26b8c1b1",
      "tree": "6802a41bd8f10166d42d437b5a4a110e2d17d1fe",
      "parents": [
        "bd0c6b47a93840e166f34308eb7660d81e949666"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Tue Mar 21 16:24:30 2017 -0700"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Mar 31 12:36:33 2017 -0700"
      },
      "message": "Add histogram entries (timestamp and flush)\n\nAdd functions to write these entries into log\n\nAdd functionality to dump them in dumpsys\n\nBug: 36490717\nTest: Write format entries and histogram entries in the log.\n      Verify that format entries and histograms are dumped correctly\n\nChange-Id: I2e0b48c63031e62875c08461b98653ecfe1442be\n"
    },
    {
      "commit": "bd0c6b47a93840e166f34308eb7660d81e949666",
      "tree": "a3656aaed131ed4cef317e58231caeabb2933ca3",
      "parents": [
        "1ca75129a63a1064df311f7c33049d48ac8cdb2d"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 16 13:54:23 2017 -0700"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Mar 31 12:36:00 2017 -0700"
      },
      "message": "Add unique IDs to log entry\n\nBug: 36366838\nTest: add hash entry to logs and display it in dump\nChange-Id: I7fb9b8997e46456331a946e03bfe040c47fa20b8\n"
    },
    {
      "commit": "397ddfb447810cd17c65d695635b76aec514acdd",
      "tree": "d551a78707c9d4d912974b89949859ae19f63245",
      "parents": [
        "eecac2cab4fda565018237d52be4a9ca1fbc4434",
        "1ca75129a63a1064df311f7c33049d48ac8cdb2d"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Wed Mar 22 17:42:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 17:42:36 2017 +0000"
      },
      "message": "Merge \"NBLog exchange author and timestamp positions in log\""
    },
    {
      "commit": "1ca75129a63a1064df311f7c33049d48ac8cdb2d",
      "tree": "a4efa87ad38e74791923595189ff3ff6055e87da",
      "parents": [
        "6ea1d7e449e5796068a4fcd7f22cad4316b0b8cf"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 16 14:19:59 2017 -0700"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Mon Mar 20 09:30:23 2017 -0700"
      },
      "message": "NBLog exchange author and timestamp positions in log\n\nBug: 36366826\nTest: no change in functionality\nChange-Id: I137695b57b9f2b84d6059b37972e06b115e10d1f\n"
    },
    {
      "commit": "5020a3488745ed0837af1d165b56975634f6eb3c",
      "tree": "30701e397cba40b7a20b256b80a0c09b51aa2e75",
      "parents": [
        "08b8bd759ac0ebd1c742b1f92d539d0e5e554982",
        "6ea1d7e449e5796068a4fcd7f22cad4316b0b8cf"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Mar 10 19:26:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 10 19:26:01 2017 +0000"
      },
      "message": "Merge \"Check corruption in NBLog Reader snapshots\""
    },
    {
      "commit": "89e5a2b102b484fe19dbda2a0b118edfefc70241",
      "tree": "7d569d72d3a2e16c77a10e08de04746fab6ad52e",
      "parents": [
        "ca47e6d574cd3d02821b87657a80d84b328d4f26",
        "dcdfaecc1fa630a799e1fdb508a9b92da55abc36"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 09 22:55:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 09 22:55:06 2017 +0000"
      },
      "message": "Merge \"NBLog periodic merging thread\""
    },
    {
      "commit": "6ea1d7e449e5796068a4fcd7f22cad4316b0b8cf",
      "tree": "399be993f9b80208df888b10b53295c6cd990380",
      "parents": [
        "dcdfaecc1fa630a799e1fdb508a9b92da55abc36"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Tue Feb 14 16:17:31 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 09 12:30:43 2017 -0800"
      },
      "message": "Check corruption in NBLog Reader snapshots\n\nBug: 35642225\nTest: Keeps working with uncorrupted buffers, not tested with corruption\nChange-Id: I327badc97c9518b41a7085aebbd74f9452463a8e\n"
    },
    {
      "commit": "dcdfaecc1fa630a799e1fdb508a9b92da55abc36",
      "tree": "407138ab3b7cef085ca4f283ea24378910ce775e",
      "parents": [
        "cca34c05ca2d5e7ac6c2fbee3ac2db88f059143d"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Tue Feb 14 10:18:39 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 09 12:30:24 2017 -0800"
      },
      "message": "NBLog periodic merging thread\n\nBug: 35468674\nTest: no change in functionality, everything works as before\nChange-Id: Id2cea243bc15767ca6803c9505bf23a18411500e\n"
    },
    {
      "commit": "05d19b08f3affa6fa8407e779f67e7ad1c1ca84f",
      "tree": "d2c99a03302a60a9ab3db1a9f5cc90640686009a",
      "parents": [
        "4ec4e6b1073b0dc1b608aeeaf4e3129ea1a725c8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 28 16:28:19 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 03 12:37:45 2017 -0800"
      },
      "message": "fallout of cleaning-up libutils includes\n\nTest: run \u0026 compile\nBug: n/a\nChange-Id: I63585ed5a764b9ce7af2187b79ca0c83e683fd7f"
    },
    {
      "commit": "e2b43843fd12783188edd2c54188ea8d26864788",
      "tree": "baab518964134359128ed35e5ebfc36cf977cde4",
      "parents": [
        "b4d5ec0d8f3755ccb8d5ce51798c3004330e1120"
      ],
      "author": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Thu Feb 02 13:35:37 2017 -0800"
      },
      "committer": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Feb 24 11:47:45 2017 -0800"
      },
      "message": "Moved headers from include/ to appropriate libs\n\ninclude/camera -\u003e camera/include/camera\ninclude/media/audiohal -\u003e media/libaudiohal/include\ninclude/media/AudioResampler*.h -\u003e media/libaudioprocessing/include\ninclude/media/Audio*.h,IAudio*.h,IEffect*.h,ToneGenerator.h -\u003e media/libaudioclient/include\ninclude/media/EffectsFactoryApi.h -\u003e media/libeffects/include\ninclude/media/stagefright -\u003e media/libstagefright/include\ninclude/media/nbaio -\u003e media/libnbaio/include\ninclude/media/\u003crest of files\u003e -\u003e media/libmedia/include\ninclude/cpustats -\u003e media/libcpustats/include/cpustats\n\nAdded symlinks from old location to new ones\n\nBug: 33241851\n\nTest: VNDK linked modules will need to add explicit lib dep.\nAll other modules should compile the same\n\nChange-Id: I0ecf754a2132640ae781a3cc31428fb8c0bd1669\n"
    },
    {
      "commit": "cd5dd016657b351d9c74dcdff87547a781108ccb",
      "tree": "7406a11b1a06b2abf94c72e216cb3810a4a15fc1",
      "parents": [
        "40a4498b967d000c93e8561db5fdd0488cc1d824"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Mon Feb 13 12:09:28 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 17 11:27:56 2017 -0800"
      },
      "message": "Implement entry iterators\n\nSome code refactoring\n\nBug: 35329553\nTest: manual\nChange-Id: I06e4ac1207b5c707d663ab2f141bb08d80272642\n"
    },
    {
      "commit": "40a4498b967d000c93e8561db5fdd0488cc1d824",
      "tree": "a95deb459b6b0ea0de8e711a0cb545c49eb33769",
      "parents": [
        "4da7820be451847bad698ac0f687b964d9b5d34f"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 03 13:39:57 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 16 17:04:01 2017 -0800"
      },
      "message": "Implement log merging.\n\nStill missing:\n * Put in separate periodical thread\n\nBug: 35329293\nTest: manual\nChange-Id: Ie8802fb7972e20d8dec493376ea253bb782f3a46\n"
    },
    {
      "commit": "4da7820be451847bad698ac0f687b964d9b5d34f",
      "tree": "5f0f110685f4f4d4c908834a589748addbf39bbd",
      "parents": [
        "c20cb50c1c14cd765874511872f087c875f43ed9"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 03 12:53:39 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 16 14:22:28 2017 -0800"
      },
      "message": "Minor code style changes and namespace fix\n\nBug: 35329090\nTest: recompile, no change of functionality\nChange-Id: Ied3ec7d95ce29896e8bf1851b08345da74bf8299\n"
    },
    {
      "commit": "c20cb50c1c14cd765874511872f087c875f43ed9",
      "tree": "4da5367ebd84ebeac6dd927d535a5b1dd84c79e4",
      "parents": [
        "2f77a2229be73b222098c45aed73728842667e12"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Wed Feb 01 12:35:24 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 16 14:22:16 2017 -0800"
      },
      "message": "Added process name to PID log\n\nBug: 35357686\nTest: included in CL\nChange-Id: Ie4d3cb66a2c766ce87ebabcc9c0d3aa988702e09\n"
    },
    {
      "commit": "fe1e1449cadff4f946c33403aecc73b4b4a11e56",
      "tree": "500bb66d15abbbd9b48dce430480cc35d4e6245b",
      "parents": [
        "5a3b54df3014ece49eb1f339e5598c01c6126251"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Mon Jan 30 12:02:03 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Feb 02 16:45:04 2017 -0800"
      },
      "message": "Implemented typed, thread-specific logging system. Currently supported types are:\n * Strings\n * Integers\n * Floats\n * Timestamps\n * Process IDs\n\nAdded printf-like formatted logging using mentioned types.\n\nTest: included in this CL\nBug: 29421410\nChange-Id: Ie07b78d8d39c32fcc8a122ffa9b1b7082800b990\n"
    },
    {
      "commit": "535e161e2e404dffb8389dd331be0132704b6d82",
      "tree": "61afd43df445dbf8329bd248493770ee506b5814",
      "parents": [
        "af86dcee9d97e02e9069548684ef8c9db5190ff9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 05 12:19:36 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Dec 29 11:12:19 2016 -0800"
      },
      "message": "media.log: re-implement NBLog using audio_utils_fifo\n\nNBLog previously has its own shared memory circular buffer code.\nNow NBLog operates on top of the circular buffer code in audio_utils.\n\nTest: media.log still works\nChange-Id: Ib3026d2a96e6c0b433603e8baf19164ad97a1e1f\n"
    },
    {
      "commit": "ed99c2b5a99a8bfc163a6ffa0b767c82032b09b5",
      "tree": "83282572ca34b0e9c03acf1f5d5f39336e74cac2",
      "parents": [
        "ae9f2761b79b112f42c285a288b3ecb7f919b345"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 12 08:31:24 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 16 15:42:28 2016 -0800"
      },
      "message": "NBAIO: re-implement NBAIO Pipe and MonoPipe using fifo\n\nAlso removed const from NBAIO_Sink::availableToWrite() because\nat least one implementation can no longer implement the const-ness.\n\nTest: normal mixer, tee sink, and remote submix still work\nChange-Id: I8461177efdf53bba8295b147e97835b018804903\n"
    },
    {
      "commit": "c661ae6165338fd5f0bca50a63058b4bcd6def4b",
      "tree": "1fabefad176045b256eb3282f391b9e1ae4ee654",
      "parents": [
        "bf2e61f54c7dcc37c97b4908c9ed6871cf3d2b49"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 25 13:17:47 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 26 15:42:11 2016 -0700"
      },
      "message": "Remove unneeded links with dynamic libraries\n\nVarious media components were linking against dynamic libraries that weren\u0027t needed.\n\nTest: built and booted\n\nChange-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e\n"
    },
    {
      "commit": "e90894f52e30c7d6aeb83ef8576d0c489a1c8f2f",
      "tree": "f0ceca91f714d9ae25e2f509c7614a76d719cfd4",
      "parents": [
        "0358e6e645d6fb53918f9d64b68f58e73069c9bb"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 04 00:14:41 2016 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Oct 05 10:36:20 2016 -0700"
      },
      "message": "Convert libnbaio to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: mmma -j frameworks/av/media/libnbaio\nChange-Id: Ifd5f13ad6ab1c9590623c3b58adea5ef3ea6af60\n"
    },
    {
      "commit": "a0c91339814f37ea78365afb436c9f3d1f0a0090",
      "tree": "b0075232d68758a314754a9293c65ea15091ca95",
      "parents": [
        "5090f7d3211b5517a7602c910c04462f7eee0727"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Sep 19 10:01:12 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Sep 26 14:53:38 2016 -0700"
      },
      "message": "Update NBAIO to use the new audio HAL abstraction layer\n\nMoved the HAL access abstraction layer to a separate library so it\ncan be used both by audioflinger and libnbaio.\n\nBug: 30222631\nTest: manual with Loopback app, Hangouts, YouTube\n\nChange-Id: Id622c2f1aa8f55a775d34f369a596c2c4d29d5be\n"
    },
    {
      "commit": "1b291841a58ce6b2b291232dfdd56134b2185c48",
      "tree": "d2eebced63ee2d64c58f604c68fd328c88816d2d",
      "parents": [
        "6b11f552f99ce7bd40ea164f65ac1590a3f4198b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 18 14:55:21 2016 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Sep 12 15:52:22 2016 -0700"
      },
      "message": "Fix RecordThread running too often if fast capture is active\n\nBug: 30159297\nChange-Id: Ieca804450168391c162fc4862398586fcc5d7e4e\n"
    },
    {
      "commit": "ad6d52d38917069e3d8e68cec1625855b9d96200",
      "tree": "7a5000195073bc8c7a42fc55113297d8015c2ad2",
      "parents": [
        "510b50593bd332cfd50cedce54fed260f6c8d5e4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jul 18 13:42:03 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jul 20 22:44:20 2016 +0000"
      },
      "message": "Flush FastCapture PipeReader when starting after stop\n\nDiscards stale frames.\n\nBug: 30199985\nChange-Id: Ie93a3784bf052aba6989d2ff1be92b1980b0c207\n"
    },
    {
      "commit": "6b3305184ca24ac7561e245638250e04399a4401",
      "tree": "b12e604f064b7d12b851ce360c6fae316b1cc2fc",
      "parents": [
        "03e015d2e6d38de6e7041766b37fe03746e9c940",
        "e875c8016198b4d84225fcf45d905fc424e53553"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 21 23:32:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 21 23:32:44 2016 +0000"
      },
      "message": "Merge \"Make build warnings be errors\" into nyc-dev"
    },
    {
      "commit": "57c4e6f7464d458eb52d209c2a63524913d6406d",
      "tree": "b7fae46bbc981c62460d572b51d6f68b9f9b847d",
      "parents": [
        "560a198f1f95a085e24944b20df536e75e21cedb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 14:54:07 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 17:36:37 2016 -0700"
      },
      "message": "Fix build warnings\n\nChange-Id: I33178dbe0bfc087d6599579ca0529ad853c669ed\n"
    },
    {
      "commit": "e875c8016198b4d84225fcf45d905fc424e53553",
      "tree": "dacbd6c32ea580d1e1dd6181066aeece4cda9442",
      "parents": [
        "560a198f1f95a085e24944b20df536e75e21cedb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 14:52:27 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 18 15:14:48 2016 -0700"
      },
      "message": "Make build warnings be errors\n\nChange-Id: Ia9e32a36f5c0268c8e85ebf25168821d8ad0162d\n"
    },
    {
      "commit": "818e7a32ce3633980138aff2c2bfcc5158b3cfcc",
      "tree": "61104149c08955e55a10b9353f80ed140ad3df26",
      "parents": [
        "6ae5843c281301a9ffd1059d185620a9337e15a2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 16 18:08:07 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 19 13:15:16 2016 -0800"
      },
      "message": "Implement server side playback timestamps with 64 bit accuracy\n\nProvide server timestamps if the HAL doesn\u0027t provide it.\nProvide monotonic - boottime translation.\nIntegrate record timestamps and playback timestamps together.\n\nBug: 17472992\nBug: 22871200\nBug: 26400089\nBug: 26682703\nChange-Id: If1974f94232fcce7ba0bbcdf63d9e54ed51918ff\n"
    },
    {
      "commit": "d79072e9dff59f767cce2cda1caab80ce5a0815b",
      "tree": "cab9cab36ddf4bb61675c4508d923b283fd3edd6",
      "parents": [
        "a7b723715bab4ddf6db364c825135a9bc003c7c0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 06 08:41:20 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 25 15:34:04 2016 -0800"
      },
      "message": "Remove TimedAudioTrack and associated code\n\nBug: 8278435\nChange-Id: I095c1a4888e645e14d93b0b15fbef4524a831ca1\n"
    },
    {
      "commit": "97f230b39bfedeea6ee1a2fc9be847dcbdcb163a",
      "tree": "f4571d9419064360c6944eafcf42f34dbfe8ec84",
      "parents": [
        "a8f995b01f14c86631ea36b38ce31c1d668ac2d3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 29 11:49:12 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 29 13:14:47 2015 -0700"
      },
      "message": "Check for integer overflow on malloc in SourceAudioBufferProvider\n\nBug: 20674676\nChange-Id: I90f6ba28a158284998923131bbf372aa6d93964a\n"
    },
    {
      "commit": "53dbe77b9f50cdd0de88b9d25dd643e90c8ba68b",
      "tree": "c69d11cf3119aaa816cea8a59cc0b63f52a53e69",
      "parents": [
        "81879df8dc51df4d8a3880349e9e1e6b5e3cebfb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 06 10:46:38 2015 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 07 09:12:17 2015 -0800"
      },
      "message": "Move roundup from frameworks/av to system/media\n\nChange-Id: I1083ab739e445e5bd3e3082fc1d3a20cc19601d5\n"
    },
    {
      "commit": "9b82924cbd203f1678c2f78aa73b15909efa3e81",
      "tree": "977b62e2a5d909c8806808614ff5117f75359130",
      "parents": [
        "2590fc421ccf5e8199d511ff3022b428ee9122e9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 12 15:35:41 2014 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 19 10:24:55 2014 -0800"
      },
      "message": "Remove explicit instantiation of SingleStateQueue\n\nRefactoring now possible due to changes in the Android\natomic include.\n\nChange-Id: Ia0094d322d9ad3d8c186307306821376ca8002c4\n"
    },
    {
      "commit": "e3c7c6480c8752b9b003c5e31ce7753cecf7e24b",
      "tree": "de701bf39adcc9028f2a42b117499efada26cae8",
      "parents": [
        "f1c2e1d4e15301476a9dfc4c78eb40a46f8962d6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 12 09:13:58 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 12 09:15:24 2014 -0700"
      },
      "message": "Fix compile error when LOG_NDEBUG enabled\n\nBug: 16977404\nChange-Id: Ia7d6ea00d7b89ba10ff70f542b5f4c7ed2c2147e\n"
    },
    {
      "commit": "0f6a0435713c435e1aaeacbfd9ce7abb6a5b19a9",
      "tree": "fc94098dd19cc6b1959df58ff4e8a7384d4d96d0",
      "parents": [
        "77342f72fdf96603938a95fcbb9888ec90e71e68"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 18 16:32:00 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Jun 20 12:43:37 2014 -0700"
      },
      "message": "libnbaio: 64-bit compile warnings\n\nChange-Id: I9517c32193031dcc7af7b2104e985d66805b84aa\n"
    },
    {
      "commit": "87cebadd48710e42474756fc3513df678de045ce",
      "tree": "6f8a07d9ec9b4ebad70367430190a689cb1a5db3",
      "parents": [
        "77a3374a6170fb5f0168169bc4bc3fa9baf318eb",
        "f285c91efbae23783fe94dc5ad19a2560e157685"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 10:14:43 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 10:14:43 2014 -0700"
      },
      "message": "resolved conflicts for merge of f285c91e to master\n\nChange-Id: I4c995e297d09c0854a42142cc57dce8b771acf65\n"
    },
    {
      "commit": "8b5f642eb2364ea7fe46a5b3af51b48b58f12183",
      "tree": "3804f0168793993d3558bcb33970904f45db8949",
      "parents": [
        "85e6e87c41bba51729cee8958a5c30157c8dc674"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 01:22:06 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 01:22:06 2014 -0700"
      },
      "message": "Move frameworks/av from fdprintf to POSIX dprintf.\n\nBug: 11156955\nChange-Id: Ia98cd16b4c1f7be87cf060b7456de4f40896bacb\n"
    },
    {
      "commit": "e541269be94f3a1072932d51537905b120ef4733",
      "tree": "39646def02d7230929eb85189f48b9193b8c23a0",
      "parents": [
        "7c96d53a65085f42ac2b6d416cbc16fd36ed72ff"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 16 11:25:07 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 16 15:05:05 2014 -0700"
      },
      "message": "Use new channel count functions for audio masks\n\nChange-Id: Ia658ab4b6320d19fdb50f123c930918724ff0ef3\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "5e4c4f12337ff4d7ceb105bcd441bb7aea6ab070",
      "tree": "6b1150d91934edae729b4ec643daabae9545ab6f",
      "parents": [
        "c26d923712a59e669d18191d93fbe3696789d592"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 09 14:50:48 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 09 16:34:50 2014 -0700"
      },
      "message": "Fix bit rot in AudioStreamInSource\n\nIt obviously had not been compiled in a while.\n\nChange-Id: If514f474808e557a67a671c3b833572ad4a88338\n"
    },
    {
      "commit": "c26d923712a59e669d18191d93fbe3696789d592",
      "tree": "735e84b0df3d43ff26b192e89beb756ac952b4bc",
      "parents": [
        "110135b9610fee8bfa5bac2d9ef4fc4c24991c36"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 09 13:37:29 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 09 16:34:46 2014 -0700"
      },
      "message": "Allow placement of Pipe buffer to be specified\n\nChange-Id: I2f6b68089ecfe85cd975d29ad0d0afd13c487002\n"
    },
    {
      "commit": "d1adad7acdff96f6518935214d93a655cc447570",
      "tree": "36e22d8950d9ab5ca4862e6d230780e2355f50a6",
      "parents": [
        "029a64e0327ecc1215a3d17ce50f508edae1c4a6",
        "0d79b935f533220613f492ab06a12f5cc9591805"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 30 15:53:01 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 30 15:53:01 2014 -0700"
      },
      "message": "resolved conflicts for merge of 0d79b935 to master\n\nChange-Id: If6de8c1b1d7707918e2a60ea8583749e0127edb8\n"
    },
    {
      "commit": "95d287db3aa5c93533d8e4a723e24f33ea29ffa0",
      "tree": "43fd98048b3dd5924b3836bdb429f05d72397a2f",
      "parents": [
        "92dfd8e67e099577d07eaeb28aad533fd5514d8a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Apr 28 14:11:45 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Apr 28 14:11:45 2014 -0700"
      },
      "message": "Fix format warnings\n\nChange-Id: Id7aded4287cc8d5387a20389d3ef6220d67d1d88\n"
    },
    {
      "commit": "92dfd8e67e099577d07eaeb28aad533fd5514d8a",
      "tree": "c2df92dbe30769db409737fd29fdb96b4546fa17",
      "parents": [
        "4513aa2cda9e636e4ac675dab9a1353b22e951ae"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 11 14:29:59 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Apr 28 14:10:21 2014 -0700"
      },
      "message": "Add private method NBLog::Reader::dumpLine()\n\nThis allows us to abstract out fdprintf vs ALOGI\nso that callers don\u0027t need an \u0027if\u0027 at every location.\n\nChange-Id: I4c68185fc19f32caeaed93347e6b7d09b8d4c4d8\n"
    },
    {
      "commit": "3f35eb55f0e2bc5a4dda7f58ed52654403a87efa",
      "tree": "0aef3a05fa58a840a3289372c00e102bfaca6ce3",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 21 13:54:25 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 15:23:33 2014 -0700"
      },
      "message": "Fix log spam when MonoPipe is unable to get local frequency\n\nLocal frequency does not change, so only ask for it the first time a\nMonoPipe is constructed in a given client process.  Thereafter use a\npreviously cached value.  Likewise, if the local frequency is unavailable,\nonly log this the first time.\n\nChange-Id: Ib1fc7251c3832e02fe03811db39a87e500f1df50\n"
    },
    {
      "commit": "55e599daff7712142095f546b7e5bf2dcda807a8",
      "tree": "255a9372144a9ad83b4560f12f02f29903aa3252",
      "parents": [
        "f69f9869514730aebe5724c461768507084dfff7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 10:54:55 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 07 08:39:09 2014 -0800"
      },
      "message": "Miscellaneous cleanup for NBAIO\n\nFinish removing Format_frameBitShift\nFix type of mFrameSize\nAdd FIXME\n\nChange-Id: I02039b97cb93af1a180e88f6575210bd752faf20\n"
    },
    {
      "commit": "f69f9869514730aebe5724c461768507084dfff7",
      "tree": "0f14d23d8b7a26669317bb29055301a473821f2e",
      "parents": [
        "8eec77066635c30b8ddce79cf9433357cf3afa1a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 07 08:37:57 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 07 08:39:09 2014 -0800"
      },
      "message": "NBAIO::Format_from_SR_C requires audio_format_t parameter\n\nChange-Id: I4b65f6ed2f6ca3608b3a5f88f52a93af0b9b1f4a\n"
    },
    {
      "commit": "d42bc56e5883274edf1f0b45cad5c324eceff9b8",
      "tree": "24770cf4f093fa89dbcb4bb3b400e96806dd0f40",
      "parents": [
        "43d9b8706b3916ee0f1d745a2832f792c3406ca8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:02:27 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 09:08:11 2014 -0800"
      },
      "message": "Remove checks for specific sample rates and channel counts\n\nChange-Id: Idadfe7c11dc831e82f95015f02dd9b9861b401c8\n"
    },
    {
      "commit": "43d9b8706b3916ee0f1d745a2832f792c3406ca8",
      "tree": "ba8fd8933eb7e1e994625e51f607ab4c32a2ceba",
      "parents": [
        "c326e1c3d122917462f1cda4f03d9c639ad92902"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 09:03:34 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 09:08:05 2014 -0800"
      },
      "message": "Remove restriction for HAL streams of AUDIO_FORMAT_PCM_16_BIT\n\nChange-Id: I6b89a3ac4b77b9a5a84e3b623987186c3d2db89d\n"
    },
    {
      "commit": "c326e1c3d122917462f1cda4f03d9c639ad92902",
      "tree": "28c1092bd5c9ca835477f45e0d159fc3c828cfff",
      "parents": [
        "983f0578ccd2928af40c9689f6fe90110d02b92e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:01:38 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 09:04:38 2014 -0800"
      },
      "message": "Remove Format_frameBitShift()\n\nChange-Id: Iae2e80a7330c5dd0f70a263051aa44c23cfe3541\n"
    },
    {
      "commit": "983f0578ccd2928af40c9689f6fe90110d02b92e",
      "tree": "6db4203ee5171fe4f9a9ca2e8e5877a5c299bd95",
      "parents": [
        "2b7b910f4b417ab3930379298f538d0dfc857e88"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:23:11 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:52:32 2014 -0800"
      },
      "message": "Re-implement Format_frameSize(), to support non-power-of-2\n\nChange-Id: I671bd4f03ce70de685770fd7992e2e023133c9b4\n"
    }
  ],
  "next": "2b7b910f4b417ab3930379298f538d0dfc857e88"
}
