)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "2b7b910f4b417ab3930379298f538d0dfc857e88",
      "tree": "75cb553bb49adfbd8e99f7d265ffe070a27b0e97",
      "parents": [
        "f95a3c4122d67273d930c7d83c3df99f136603ed"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:02:51 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:52:06 2014 -0800"
      },
      "message": "Split mPacked into 4 separate fields\n\nChange-Id: I940324dce9b51fd8d7e2e362e12ad74b70e658dd\n"
    },
    {
      "commit": "f95a3c4122d67273d930c7d83c3df99f136603ed",
      "tree": "3aa730e7dd0db5481ed18f4e59745a9dcb53413c",
      "parents": [
        "4d693d6b8cc1283f92f5301daf19a07abc772a2b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 07:59:49 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:40:49 2014 -0800"
      },
      "message": "Add format parameter to Format_from_SR_C\n\nChange-Id: I891138b7754342fe2a4f02de30ee616dbd078474\n"
    },
    {
      "commit": "4d693d6b8cc1283f92f5301daf19a07abc772a2b",
      "tree": "d377025ddacd76f5e923390236a70424897fdf6e",
      "parents": [
        "ac3e9db88ddb1f24bc6c8fb744a37dfdeec332bb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 07:53:11 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:40:43 2014 -0800"
      },
      "message": "Use mFrameSize instead of mBitShift\n\nChange-Id: Idac335ae70cc9300bb3325839fe8ef1e9e097245\n"
    },
    {
      "commit": "ac3e9db88ddb1f24bc6c8fb744a37dfdeec332bb",
      "tree": "7e569cdaab0966b7e3c1c02118361f223fdaaf98",
      "parents": [
        "7a0662afeba50b78f43ce24539230cace30c3cfd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:00:31 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 06 08:40:37 2014 -0800"
      },
      "message": "Add mFrameSize but do not remove mFrameBitShift yet\n\nChange-Id: Icb1edefeb6a0e659503f6b7a92c9d15784df9865\n"
    },
    {
      "commit": "3e8027a04c20a4b7028f1615538b36219386c9e5",
      "tree": "547552b1b32c40961d9130d10b28b05b173b1782",
      "parents": [
        "c02c96161dde9d6ca7b408cf08fcf10bd8e61a54"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 15 09:24:38 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 18 11:49:18 2014 -0800"
      },
      "message": "Move StateQueueInstantiations to libinstantssq\n\nThis removes a circular dependency between libmedia and libnbaio\n\nChange-Id: I3692cbbe2b76028a953b36606b62cdda70c8c26f\n"
    },
    {
      "commit": "c02c96161dde9d6ca7b408cf08fcf10bd8e61a54",
      "tree": "e325f99ffb91639a73aab6155ae35fd27f115258",
      "parents": [
        "4e01ef6b2f6d288b9aa83b5817adad02cecc429f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 15 09:25:11 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 18 11:49:18 2014 -0800"
      },
      "message": "Fix bug with not reporting lost bytes\n\nChange-Id: I431d989dbd115b43822e9e48fd4c2b8e6322cfe3\n"
    },
    {
      "commit": "4e01ef6b2f6d288b9aa83b5817adad02cecc429f",
      "tree": "26ad87d5007224b80c6a240e7765ccf9b507e09a",
      "parents": [
        "9a73cd3face153cbd04ceff0cfc0efdd4837b94e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 11 14:29:59 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 18 11:48:04 2014 -0800"
      },
      "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": "1d6fa7af1288b550faabe4ec2cf98684236723db",
      "tree": "a8801ca9a0925ba1faccf17acea4aa78d71a9d29",
      "parents": [
        "b82a9f105f89d6b3684c9f626918042bd8977912",
        "566be7c33fc56ae4c34168ecbee5316374f7e3c5"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 13:47:53 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 13:53:20 2014 +0000"
      },
      "message": "resolved conflicts for merge of 566be7c3 to master\n\nChange-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce\n"
    },
    {
      "commit": "377b2ec9a2885f9b6405b07ba900a9e3f4349c38",
      "tree": "b938e1d75a1beefae86244f287ca22f4a277740d",
      "parents": [
        "cdda7bf4d3ca9cad6979374a18dd5be79ea83d80"
      ],
      "author": {
        "name": "Kévin PETIT",
        "email": "kevin.petit@arm.com",
        "time": "Mon Feb 03 12:35:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 11:40:06 2014 +0000"
      },
      "message": "Make frameworks/av 64-bit compatible\n\nContains the necessary changes to make frameworks/av build and work\non a 64-bit machine.\n\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n\nChange-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43\n"
    },
    {
      "commit": "c99144dd2766c499701a7bd7db2d9d8697127186",
      "tree": "8b8e96c191387c4e1454945c2a5a31b2b4164c71",
      "parents": [
        "ddc0630dd80847dad5253bb285a16e3ed9cc0320",
        "4d7b3f876b21997680ae32a340d746ed1cae6ab1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 07 21:49:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 07 21:49:24 2014 +0000"
      },
      "message": "Merge \"Change Format_frameBitShift() API for non-power-of-2 sizes\""
    },
    {
      "commit": "ddc0630dd80847dad5253bb285a16e3ed9cc0320",
      "tree": "aad7fff243b29ad9d73c0bb43e1779065606d31e",
      "parents": [
        "c7a38829841b764f509e6a688a507b8c0da82c2e",
        "1ec712f180072a7eb2131be09862921ae62dc2b4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 07 21:30:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 07 21:30:56 2014 +0000"
      },
      "message": "Merge \"Add FIXMEs about audio_format_t assumption\""
    },
    {
      "commit": "c7a38829841b764f509e6a688a507b8c0da82c2e",
      "tree": "6e0868e5dfc0bc3700b3da60cd4cbbd609254d31",
      "parents": [
        "a793625031a3e326a261a0843598c35a5784bbde",
        "c4b8b32dec91a11a83d0a7ab49747606d16d39a5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 07 21:07:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 07 21:07:08 2014 +0000"
      },
      "message": "Merge \"Change NBAIO_Format from typedef to struct\""
    },
    {
      "commit": "a793625031a3e326a261a0843598c35a5784bbde",
      "tree": "f18a01ac2ead0114a2a46783b3ef79a013fb85e7",
      "parents": [
        "19f420ea68424a608e982d39ab76676a05337685",
        "6e0d67d7b496ce17c0970a4ffd3a6f808860949c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 07 20:49:21 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 07 20:49:22 2014 +0000"
      },
      "message": "Merge \"Use Format_isValid() and Format_isEqual() instead of direct comparison\""
    },
    {
      "commit": "19f420ea68424a608e982d39ab76676a05337685",
      "tree": "91f2c7b49994a6197962ce58f84285b7a41fd375",
      "parents": [
        "f74f213c0cd0612101e00a73704429dac1a92fe3",
        "cc1e0e807ee9a9f163a4685cbd6efd6ae55849cf"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 07 19:55:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 07 19:55:54 2014 +0000"
      },
      "message": "Merge \"Add Format_isValid() and Format_isEqual() to NBAIO\""
    },
    {
      "commit": "2a16afb8dc056877f34124ba5befe75171de930f",
      "tree": "449494a5a09436937471685be64da42f7744861c",
      "parents": [
        "b28c68321689fc2bed5d5c5935d7cadac9ca0ff9",
        "0f11b51a57bc9062c4fe8af73747319cedabc5d6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 04 23:19:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 04 23:19:01 2014 +0000"
      },
      "message": "Merge \"Fix unused parameter warnings in audio\""
    },
    {
      "commit": "4d7b3f876b21997680ae32a340d746ed1cae6ab1",
      "tree": "85983b9a71a2c18e6ec2748505ca092aa2f08b99",
      "parents": [
        "1ec712f180072a7eb2131be09862921ae62dc2b4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 31 10:38:16 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 03 17:11:01 2014 -0800"
      },
      "message": "Change Format_frameBitShift() API for non-power-of-2 sizes\n\nChange-Id: Ie39ff51ab8c403ca9d9898396297efdaa3193588\n"
    },
    {
      "commit": "1ec712f180072a7eb2131be09862921ae62dc2b4",
      "tree": "e4ce2a1d2896413bf0fb4e8370d4b61b7a814890",
      "parents": [
        "c4b8b32dec91a11a83d0a7ab49747606d16d39a5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 31 09:47:15 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 03 17:11:01 2014 -0800"
      },
      "message": "Add FIXMEs about audio_format_t assumption\n\nChange-Id: I0d38241b61f70013573f4a0b9306547afe5f38ad\n"
    }
  ],
  "next": "c4b8b32dec91a11a83d0a7ab49747606d16d39a5"
}
