)]}'
{
  "log": [
    {
      "commit": "10774e144b3c99afad9a5070ccf50fdb12b5fb4e",
      "tree": "9eaa08524904389bcbaa9c2fb4b1db34f53c79d6",
      "parents": [
        "551bb75ae1bec8db8577febcf6faaa35a37947dc",
        "d3c4b134a87b96227b90b9ec052d8a6e9880bbdf"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Mar 02 00:04:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 02 00:04:35 2013 +0000"
      },
      "message": "Merge \"media.log cleanup\" into jb-mr2-dev"
    },
    {
      "commit": "d3c4b134a87b96227b90b9ec052d8a6e9880bbdf",
      "tree": "869a985fd6a51da99de24bd5a3ace41421c0a7a3",
      "parents": [
        "358538ce26ee651f6b5cff9f7432a5321386710d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 27 09:05:28 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 01 15:36:26 2013 -0800"
      },
      "message": "media.log cleanup\n\nRemove almost all of the specific logs, but leave the media.log\nlogging infrastructure in place for the next time we need it.\n\nRe-apply a few good changes that were reverted earlier:\n - check logf format vs. argument list compatibility\n - distinguish potentially modified and actually modified tracks in FastMixer\n - fix benign bug where sq-\u003eend() was called more than once\n - fix a build warning\n\nBug: 6490974\nChange-Id: I02d3e83646c738acaebb415bd0d6b548638b4ef5\n"
    },
    {
      "commit": "dd0bda0c47871d4964b5035a096c7c8c27fa7469",
      "tree": "fc9f45ab9ef280f0d84a32a6d5b116b0cd40be69",
      "parents": [
        "48af7e8dd40883d6154e7029d9500072b551b5fa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 26 09:20:22 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 26 11:36:38 2013 -0800"
      },
      "message": "Remove tee sink debugging at compile time\n\nBug: 8223560\nChange-Id: Iddbfb06c45d43d9f20bb428215dd4094931e19a7\n"
    },
    {
      "commit": "5f6f3764989601d3b3ee65beaf1447d2a6b5f284",
      "tree": "b32615250ff96cb6e55206f5c78ae2e15c83cc87",
      "parents": [
        "dd9764290b3c1d801fea9505189cae29db919902"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 23:55:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:55:04 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 32584a7d672864b20ab8b83a3cb23c1858e908b7\n\nChange-Id: I9dc680578b955b1af462eeb7a49d61a0d45eb81b\n"
    },
    {
      "commit": "dd9764290b3c1d801fea9505189cae29db919902",
      "tree": "2a9ef9c4d5a2d279f18f535441a0eeb8e9476700",
      "parents": [
        "6bde4671ae7cb383e731606d9ee548859047c961"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 15:44:50 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n - increase StateQueue size from 4 to 8 entries\n - log mixer-\u003eenable(), bufferProvider, and currentTrackMask\n - log buffer provider addresses\n - increase fast mixer log buffer again\n - check logf format vs. argument list compatibility\n - add logging to AudioMixer\n - add checking of magic field in AudioMixer to detect overwrites\n - add bool AudioMixer::enabled()\n - increase log buffer sizes yet again\n - enable assertion checking without ALOGV\n - improve a few log messages\n - check for corruption in more places\n - log in all the process hooks\n - add new mixer APIs so we can check for corruption of mixer state\n - fix a build warning\n\nBug: 6490974\nChange-Id: Ib0c4a73dcf606ef9bd898313b3b40ef61ab42f51\n"
    },
    {
      "commit": "ce70d400ff9fb614e334ab2b661df2933533ef57",
      "tree": "30610a5b21cfa882a9f17a7b4cc39d11e8ccdd7d",
      "parents": [
        "5881f18029deb80eb83ea88046d0593441be79c7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 23:57:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 23:57:02 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 639482c24c911b125398b31883ba6d55faebe28b\n\nChange-Id: I11f2829072ab11e18b0663024f27bf31192f1d39\n"
    },
    {
      "commit": "5881f18029deb80eb83ea88046d0593441be79c7",
      "tree": "3de394e4626f829fed4237e756489e0fba865236",
      "parents": [
        "7e1e1e61fca5334e11a0c26ab23e6122e742d517"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 14:35:29 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n - increase StateQueue size from 4 to 8 entries\n - log mixer-\u003eenable(), bufferProvider, and currentTrackMask\n - log buffer provider addresses\n - increase fast mixer log buffer again\n - check logf format vs. argument list compatibility\n - add logging to AudioMixer\n - add checking of magic field in AudioMixer to detect overwrites\n - add bool AudioMixer::enabled()\n\nBug: 6490974\nChange-Id: I1f3f18aa62d9fbd35bc32285b669f5ba40efe28e\n"
    },
    {
      "commit": "7f2f8042cf335ab1323dec3edbe9143a06109f4e",
      "tree": "debfbedbe8cf9a16d279f9a408519aa4743cc854",
      "parents": [
        "b900234f9e772bb7591a551f06ba17ee1969368f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 00:02:36 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 00:02:36 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 0ddd56316262ac74a95e9edb595697c163136d6d\n\nChange-Id: I180a928af6f5a38d15a5efe44cd1fe927b5d961c\n"
    },
    {
      "commit": "b900234f9e772bb7591a551f06ba17ee1969368f",
      "tree": "b637fbbfb9a0405349200102eba4e4af4f298810",
      "parents": [
        "10e5eada4a265865494b93ca588f75beef14f592"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:51:50 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n\nBug: 6490974\nChange-Id: Iee7c8f40e20b6000cd8286c0ec6a14fff4a37af1\n"
    },
    {
      "commit": "c93aff0a698265501f46393f3146b884aa357aee",
      "tree": "a53d8070243784449dc87ca193e2e121d38863b7",
      "parents": [
        "a1bf28b533907b0b234e52c72bc372b3fa49c5a3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 20:43:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 20:43:58 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 3051df27261e9952c0e642dec548515250e85f6a\n\nChange-Id: I8bf5c3e91b65bd20de26f480c367c2854b62373c\n"
    },
    {
      "commit": "a1bf28b533907b0b234e52c72bc372b3fa49c5a3",
      "tree": "16d8b1d0e8d0e768ebf7ba769c17c264b978d68d",
      "parents": [
        "e336f9113bdd35119866a3c3f8008ca01c576660"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 12:12:42 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 12:40:18 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n\nBug: 6490974\nChange-Id: I4c030f171343fe4b483eae0ddea4427118d8d4b1\n"
    },
    {
      "commit": "83fa606bd629ac32a2dab5af255188acfa30db4a",
      "tree": "41d2c6dc2fbb8ef4a30eac3593ffa22279513874",
      "parents": [
        "5fa419b962f668e6fa9adf7e14fddea97cdb736e",
        "201fc9c9feb4765a12bc39e95d25f3aa1deb8ffe"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 04 17:05:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 17:05:30 2013 +0000"
      },
      "message": "Merge \"AudioFlinger: fix RecordThread initial device\""
    },
    {
      "commit": "201fc9c9feb4765a12bc39e95d25f3aa1deb8ffe",
      "tree": "fc83fba00c9101d552f794021b3f551cd947673a",
      "parents": [
        "7acd13defdb3f33b2e266f1ef8f3ac85285c5e27"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 17:57:04 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 01 17:57:04 2013 -0800"
      },
      "message": "AudioFlinger: fix RecordThread initial device\n\nA regression was introduced when the audio device enums where\nmodified for a 32 bit representation: the device passed when\nconstructing a RecordThread was still the concatenation of input\ndevice and output device bit fields on one 32 bit value which\nis not possible anymore.\n\nThe fix consists in modifying the RecordThread constructor to accept\nseparate values for input and output devices.\n\nChange-Id: I81fb5f4718428b54251e65d74b86e198ce15193e\n"
    },
    {
      "commit": "011aa652a9349750dd6bca1dcb1b82f19e07504e",
      "tree": "11598e68d5451cdf4965ff42cecc39fdaa28d074",
      "parents": [
        "0be9fe5864c39c11eefe335038cf6ce5473e4ec5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 18 15:09:48 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 31 16:40:24 2013 -0800"
      },
      "message": "AudioFlinger uses media.log service for logging\n\nChange-Id: Ia0f8204334f6b233f644d897762a18c95d936b4b\n"
    },
    {
      "commit": "ca7cc8273ffd88b9b89655808ee7e3df74162b83",
      "tree": "17477e1e7a66afba5f535ba984a22cc7898797b2",
      "parents": [
        "a81a88597138de226da88fe10456d46289107e8a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 19 14:55:58 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 19 19:35:38 2012 -0800"
      },
      "message": "AudioFlinger files reorganization\n\nAudioflinger.cpp and Audioflinger.h files must be split to\nimprove readability and maintainability.\n\nThis CL splits the files as follows:\n\nAudioFlinger.cpp split into:\n- AudioFlinger.cpp: implementation of IAudioflinger interface and global methods\n- AFThreads.cpp: implementation of ThreadBase, PlaybackThread, MixerThread,\nDuplicatingThread, DirectOutputThread and RecordThread.\n- AFTracks.cpp: implementation of TrackBase, Track, TimedTrack, OutputTrack,\nRecordTrack, TrackHandle and RecordHandle.\n- AFEffects.cpp: implementation of EffectModule, EffectChain and EffectHandle.\n\nAudioFlinger.h is modified by inline inclusion of header files containing\nthe declaration of complex inner classes:\n- AFThreads.h: ThreadBase, PlaybackThread, MixerThread, DuplicatingThread,\nDirectOutputThread and RecordThread\n- AFEffects.h: EffectModule, EffectChain and EffectHandle\n\nAFThreads.h includes the follownig headers inline:\n- AFTrackBase.h: TrackBase\n- AFPlaybackTracks: Track, TimedTrack, OutputTrack\n- AFRecordTracks: RecordTrack\n\nChange-Id: I512ebc3a51813ab7a4afccc9a538b18125165c4c\n"
    }
  ]
}
