)]}'
{
  "log": [
    {
      "commit": "093000f7d11839b920e8dfaa42ed1d09f48e24b8",
      "tree": "ffecb5126696e2c2c83980ce8ad561b60278064a",
      "parents": [
        "6a3969cc3bcbfc84dbcc27aa726eb96bc03a830b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 03 09:35:36 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 03 10:05:00 2012 -0700"
      },
      "message": "Don\u0027t allow AudioTrack frameCount to decrease\n\nThis is a workaround for bug that client can cache return value of\nframeCount(), and is not notified when this value changes due to automatic\nre-recreation of the underlying IAudioTrack.\n\nA better long-term fix would be to notify clients when these kinds of\nparameters change, and to fix assumptions in client code that they are\nconstant (e.g. in SoundPool and maybe obtainBuffer).\n\nAlso, once a fast track request is denied, don\u0027t request it again.\n\nBug: 6431187\nChange-Id: I55b4ff30bbd9ed3a402e39452a38de52cdea53a9\n"
    },
    {
      "commit": "6a3969cc3bcbfc84dbcc27aa726eb96bc03a830b",
      "tree": "d1bc11b152a23453f52b4b86eea8fb95da229745",
      "parents": [
        "359f90cea8a59c4a8d25b422fd0b0569e31db2fa"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed May 02 18:57:12 2012 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed May 02 21:14:01 2012 -0700"
      },
      "message": "Removed mutex lock in addTextSource, and rename to addTextSource_l\nto indicate this method needs to be called with a lock hold.\n\nChange-Id: I7e99f0a622e7de49c288be09dd4fc955bbca390b\nrelated-to-bug: 5629511\nrelated-to-bug: 5542712\n"
    },
    {
      "commit": "359f90cea8a59c4a8d25b422fd0b0569e31db2fa",
      "tree": "05021b3aa01e00fce65f3ba0be9111442eb5dfda",
      "parents": [
        "06f6ae34c735640dccdaca6ab1567d8afc9d3938",
        "2d94235a343151bed9aa74e86697fa01241ea5cf"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 02 11:34:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 11:34:06 2012 -0700"
      },
      "message": "Merge \"The presence of the kKeyAACProfile is optional, we should not mandate its presence in AACWriter.\" into jb-dev"
    },
    {
      "commit": "2d94235a343151bed9aa74e86697fa01241ea5cf",
      "tree": "369bc288b56bedc9bb22ddf6941adadedab62836",
      "parents": [
        "2c3297ab6c4daaaa7b27eed8418c64cf168fe2a1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 02 11:01:59 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 02 11:01:59 2012 -0700"
      },
      "message": "The presence of the kKeyAACProfile is optional, we should not mandate its presence in AACWriter.\n\no related-to-bug: 6421833\n\nChange-Id: Ia1d75e73270430177d3010e8024b48c88eb7b430\n"
    },
    {
      "commit": "06f6ae34c735640dccdaca6ab1567d8afc9d3938",
      "tree": "e8bd252f701c427ebba738c7e0d7d4a484d93528",
      "parents": [
        "428a59d9f6deb548f46151e7c7962aa204f13cf0"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 02 10:59:16 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 02 10:59:16 2012 -0700"
      },
      "message": "Fix build, WAVExtractor typo\n\nChange-Id: I6885f3f259619526165c6e76364bfe9a4ce49f97\n"
    },
    {
      "commit": "428a59d9f6deb548f46151e7c7962aa204f13cf0",
      "tree": "41c50efe68e61ffd6243e57131c1203facf584b9",
      "parents": [
        "95c157cc6b109a5058f29edd73811e90d91e92ab",
        "f4022f90db5acb680870db8c1150b673cdd211d9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 02 10:54:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 10:54:24 2012 -0700"
      },
      "message": "Merge \"Fix race in AudioTrack destruction\" into jb-dev"
    },
    {
      "commit": "f4022f90db5acb680870db8c1150b673cdd211d9",
      "tree": "0ffaec361f808d5710d42298fa7d01873771cf6c",
      "parents": [
        "2c3297ab6c4daaaa7b27eed8418c64cf168fe2a1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 02 10:34:59 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 02 10:37:55 2012 -0700"
      },
      "message": "Fix race in AudioTrack destruction\n\nBug: 6427369\nChange-Id: Id3b4487406235b881f6f0b4b95c5a02a9b797e75\n"
    },
    {
      "commit": "95c157cc6b109a5058f29edd73811e90d91e92ab",
      "tree": "f573854a170d870c3bb68d500c4386f5866ae357",
      "parents": [
        "2c3297ab6c4daaaa7b27eed8418c64cf168fe2a1",
        "72b2b9ba68ee85a3054a0de3a8414b8dfb217aeb"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 02 10:37:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 10:37:44 2012 -0700"
      },
      "message": "Merge \"Tolerate 0 valid bits value in WAV_EXT\" into jb-dev"
    },
    {
      "commit": "72b2b9ba68ee85a3054a0de3a8414b8dfb217aeb",
      "tree": "b35a3d2501ee1086af4823e8d974313a4618a356",
      "parents": [
        "83faee053cfd4251dbb591b62039f563ffdac399"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 02 10:16:13 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 02 10:28:52 2012 -0700"
      },
      "message": "Tolerate 0 valid bits value in WAV_EXT\n\nSome WAV_EXT writers don\u0027t properly set the \"valid bits per sample\"\n value and set it to 0. Don\u0027t return an error when such a header\n is parsed.\n\nChange-Id: I21763087af4f3fc8c62a24b883aae53b23ae71d4\n"
    },
    {
      "commit": "2c3297ab6c4daaaa7b27eed8418c64cf168fe2a1",
      "tree": "4ea2fe5895644b4d4aa3a861b1ca4ed3f03ba2ed",
      "parents": [
        "daaf7b119649674cfc414a8761585fed6b0296df"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 01 14:30:58 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 01 15:30:24 2012 -0700"
      },
      "message": "No warning on using channel order in AudioPlayer\n\nDon\u0027t log a warning when an AudioPlayer derives a channel mask\n from the channel count, only info-log when channel count is\n higher than 2.\n\nChange-Id: Ia1cbced660903483654eede300ef72f7f17dcf78\n"
    },
    {
      "commit": "daaf7b119649674cfc414a8761585fed6b0296df",
      "tree": "0ca015369803b98500731e6c37fefe218e436f57",
      "parents": [
        "31dfd1db7a4d2228d9642008af6f3dd744368eb6",
        "4f6eed0d1c7972a983c075bdcf03089569e13fe1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 01 13:33:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 01 13:33:52 2012 -0700"
      },
      "message": "Merge \"Impl for supporting two video scaling modes\" into jb-dev"
    },
    {
      "commit": "31dfd1db7a4d2228d9642008af6f3dd744368eb6",
      "tree": "5182b898a5f21161ea879c4fe173f91d54366fd7",
      "parents": [
        "2409e4337b1e5968cbf75a839778f849266b64d9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 01 11:07:08 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 01 11:07:48 2012 -0700"
      },
      "message": "Disable fast track log spam\n\nexcept for \"denied by client\" and \"denied by server\"\n\nChange-Id: I133ab747933729cc1f386813ee06ece055bdb294\n"
    },
    {
      "commit": "2409e4337b1e5968cbf75a839778f849266b64d9",
      "tree": "52b52e876b324455d674e1aacba14a635581f9e1",
      "parents": [
        "6635c44c27a8fc2f1eeaaefd5dfc2e65464bcb5d",
        "1477e92867a950016579a644e74f803ed1d90cbb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 01 11:05:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 01 11:05:29 2012 -0700"
      },
      "message": "Merge \"Enable fast track for SoundPool\" into jb-dev"
    },
    {
      "commit": "1477e92867a950016579a644e74f803ed1d90cbb",
      "tree": "30a701da9df8255a188cd061e65e1998d2aa1e6c",
      "parents": [
        "27431de020e535c31365884316f656bc60b4fe4f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 01 10:59:31 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 01 10:59:31 2012 -0700"
      },
      "message": "Enable fast track for SoundPool\n\nChange-Id: Ia80b3a7738e4c5dbe2bd5b0f55f0ca49943e2f64\n"
    },
    {
      "commit": "6635c44c27a8fc2f1eeaaefd5dfc2e65464bcb5d",
      "tree": "65c286c44e17c1914f58098cf296eea5aceb6e44",
      "parents": [
        "8b6bacd02a0478ed51b3b15a9e997624c95a7564",
        "b78ff5fb6f56c679bce936078180ce61a1e97288"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 01 10:54:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 01 10:54:32 2012 -0700"
      },
      "message": "Merge \"Fix assertion triggered when mediaserver dies at roughly the same\" into jb-dev"
    },
    {
      "commit": "4f6eed0d1c7972a983c075bdcf03089569e13fe1",
      "tree": "6eebbc397b99bf33e8c9991fada609d86d144caf",
      "parents": [
        "27431de020e535c31365884316f656bc60b4fe4f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 30 14:38:12 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 01 10:30:58 2012 -0700"
      },
      "message": "Impl for supporting two video scaling modes\n\no allows the video scaling mode to change at any time\no also remove the scaling mode logic in OMXCodec.cpp\n\no related-to-bug: 5454345\n\nChange-Id: I6f1714eb0c2774591ce650d56c1e779b8afd085f\n"
    },
    {
      "commit": "b78ff5fb6f56c679bce936078180ce61a1e97288",
      "tree": "159fcb38ec3e57b0e0671273ba50c1f5862445ae",
      "parents": [
        "27431de020e535c31365884316f656bc60b4fe4f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 01 10:25:01 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 01 10:25:01 2012 -0700"
      },
      "message": "Fix assertion triggered when mediaserver dies at roughly the same\n\ntime that a client attempts to explicitly free an OMX node.\n\nChange-Id: I767e6af402801357da20b328611cc7cddeed0260\nrelated-to-bug: 6012750\n"
    },
    {
      "commit": "8b6bacd02a0478ed51b3b15a9e997624c95a7564",
      "tree": "19b0b2d814dbf49f429f145fb7aaf19ccb7c83cb",
      "parents": [
        "27431de020e535c31365884316f656bc60b4fe4f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 01 10:18:32 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 01 10:18:32 2012 -0700"
      },
      "message": "Properly handle the case where a pending connection process is disconnected\n\njust at the time when the connection is established.\n\nChange-Id: Icbae5a61edfd6a1336e4b8d3ee513337363c09ea\nrelated-to-bug: 6154825\n"
    },
    {
      "commit": "27431de020e535c31365884316f656bc60b4fe4f",
      "tree": "7398ce098972c895ad9838a3047e8844d8d9d6d6",
      "parents": [
        "048537455e1f6fc400f484e44d88c5617960df6a",
        "0a2f0e047a2e593c62f54b07b903baf4728b9d0a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 30 23:16:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 30 23:16:31 2012 -0700"
      },
      "message": "Merge \"Fix a bug on subtitle (SRT).\" into jb-dev"
    },
    {
      "commit": "0a2f0e047a2e593c62f54b07b903baf4728b9d0a",
      "tree": "026b58b528f7d89b7e9d2c3f155e17bc4d431dde",
      "parents": [
        "e370bb62b89d2f2980f519392010ea08a24c558e"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Sat Apr 21 15:38:02 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue May 01 14:54:30 2012 +0900"
      },
      "message": "Fix a bug on subtitle (SRT).\n\nBug: 6375542\n\nChange-Id: Ic5dd5a1826b9f78ccbbddc4dec33b0e915b9329f\n"
    },
    {
      "commit": "048537455e1f6fc400f484e44d88c5617960df6a",
      "tree": "94b9f1f01d1d9a236e9bb9d0e599f2859b8467f2",
      "parents": [
        "98f153091e8f4190b35b9ce15250f308baf4805c",
        "810280460da5000785662f6c5b0c7ff3ee0a4cb3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 30 18:38:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 30 18:38:55 2012 -0700"
      },
      "message": "Merge \"Temporary fix for both normal tracks \u0026 fast tracks\" into jb-dev"
    },
    {
      "commit": "810280460da5000785662f6c5b0c7ff3ee0a4cb3",
      "tree": "e098121453bef74dc47c00bb294db78daeebce19",
      "parents": [
        "6e66e4a9ffcb202beb2bcedb85c7d6f9ff391b4c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 30 18:15:12 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 30 18:15:12 2012 -0700"
      },
      "message": "Temporary fix for both normal tracks \u0026 fast tracks\n\nIf there is at least one active fast track, it forces a mixer\nstatus of ready, which messes up the logic for normal track underruns.\n\nChange-Id: I9de2fcaef090e2c2f99682333af3d3dd618b0d6b\n"
    },
    {
      "commit": "98f153091e8f4190b35b9ce15250f308baf4805c",
      "tree": "00b1fe25cfb34a609fd09b477b905c3f37d271ec",
      "parents": [
        "6e66e4a9ffcb202beb2bcedb85c7d6f9ff391b4c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 24 16:48:20 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 30 16:00:05 2012 -0700"
      },
      "message": "Re-enable fast track for ToneGenerator\n\nChange-Id: If4152169778df124c750dc45023322ee23c80587\n"
    },
    {
      "commit": "6e66e4a9ffcb202beb2bcedb85c7d6f9ff391b4c",
      "tree": "d23ce5c5bfd52f3e70f09923d507dc4301c6b5fe",
      "parents": [
        "a3cbc03f7c646ad9b05d24e72a6d306cb457807c",
        "288ed2103d96f3aabd7e6bea3c080ab6db164049"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 30 15:50:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 30 15:50:54 2012 -0700"
      },
      "message": "Merge \"Fix race condition for non-started fast tracks\" into jb-dev"
    },
    {
      "commit": "a3cbc03f7c646ad9b05d24e72a6d306cb457807c",
      "tree": "d8083e9a24b1906469cf993d27267166b8365724",
      "parents": [
        "99bbaff7853eab325bd87b315d532909206592b1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 27 17:40:16 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 30 14:35:57 2012 -0700"
      },
      "message": "Removed software video encoders that are not OMX-based.\n\no related-to-bug: 5933287\n\nChange-Id: I63635375e2bef00733b61adc3fa12c29df7e2155\n"
    },
    {
      "commit": "99bbaff7853eab325bd87b315d532909206592b1",
      "tree": "60f9c6dca4bcd6fd844678dd16923c03df2804ee",
      "parents": [
        "4c9cd95b27a638701be2ffa1713273ba2f624770",
        "56ad61a253a94586d946cc09ed814e7a95a40ca7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 30 13:13:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 30 13:13:51 2012 -0700"
      },
      "message": "Merge \"Make the transport stream extraction code output ADTS AAC frames.\" into jb-dev"
    },
    {
      "commit": "288ed2103d96f3aabd7e6bea3c080ab6db164049",
      "tree": "dec8e7b3a993e86baa8916ba70dcd6b3c053d062",
      "parents": [
        "0c0abd4ad26971b5fba94734137fe0bb1a590ab6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 25 17:52:27 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 30 13:00:31 2012 -0700"
      },
      "message": "Fix race condition for non-started fast tracks\n\nThis required re-implementing how fast tracks are considered active.\nNow, they use the same logic as normal tracks, except underrun is ignored.\n\nOther changes:\n - add framesReady() to AudioBufferProvider interface\n - rebased\n - add track underrun counter state to fast mixer dump state\n - move dumpsys header to Track::appendDumpHeader()\n   so it closer to where tracks are dumped\n - display track state in dumpsys as a character code\n - measure and display warmup time and cycles in dumpsys\n - copy in the presentation complete code\n - add ExtendedAudioBufferProvider for framesReady() which returns size_t\n - simplify underrun tracking\n - deferred reset track after stop()\n - add comments\n\nChange-Id: I7db8821bc565230ec76da1f9380fe3fb09735e5b\n"
    },
    {
      "commit": "4c9cd95b27a638701be2ffa1713273ba2f624770",
      "tree": "c7f5f7820aa39c965706b7ea504d9b53f5147688",
      "parents": [
        "0c0abd4ad26971b5fba94734137fe0bb1a590ab6",
        "f60c660f048d5f5e2458cff243c20400d73757a7"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Mon Apr 30 12:45:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 30 12:45:27 2012 -0700"
      },
      "message": "Merge \"Added support for HE-AAC recording\" into jb-dev"
    },
    {
      "commit": "56ad61a253a94586d946cc09ed814e7a95a40ca7",
      "tree": "1f6b074f7fd23e121f8d95c88b71a1e7ba1774f2",
      "parents": [
        "83faee053cfd4251dbb591b62039f563ffdac399"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 30 12:01:57 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 30 12:01:57 2012 -0700"
      },
      "message": "Make the transport stream extraction code output ADTS AAC frames.\n\nChange-Id: I145f4b1265045750f1b0425269f3ffe5fb055f61\nrelated-to-bug: 6419102\n"
    },
    {
      "commit": "0c0abd4ad26971b5fba94734137fe0bb1a590ab6",
      "tree": "c1bc93a1c16884cdaf545074c1766fbb46d1a6f6",
      "parents": [
        "8b71241ce7353731ab75322c46e090ee35014a33",
        "0b7c9a327f5d10b841a3aa2bbe103a2ca6dcac37"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 30 11:44:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 30 11:44:47 2012 -0700"
      },
      "message": "Merge \"Notify the client about an initial size of (0, 0) instead of (320, 240).\" into jb-dev"
    },
    {
      "commit": "0b7c9a327f5d10b841a3aa2bbe103a2ca6dcac37",
      "tree": "b53531cf12c1000598bf15b828fe3f7a3cda4116",
      "parents": [
        "83faee053cfd4251dbb591b62039f563ffdac399"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 30 11:35:34 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 30 11:35:34 2012 -0700"
      },
      "message": "Notify the client about an initial size of (0, 0) instead of (320, 240).\n\nwhich is documented as \"we don\u0027t have that information just yet\".\n\nChange-Id: I158a53af83d526f713cd30372fce28558894b857\nrelated-to-bug: 6293020\n"
    },
    {
      "commit": "8b71241ce7353731ab75322c46e090ee35014a33",
      "tree": "afc21859dae503e57aa5a3cc777512800d1fd64e",
      "parents": [
        "83faee053cfd4251dbb591b62039f563ffdac399"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 27 09:33:24 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 30 09:40:47 2012 -0700"
      },
      "message": "Fix mono gapless playback for decoders that output stereo\n\nThe old AAC decoder always outputs stereo, even for mono source material, so we\nneed to use the number of channels of the output when calculating the number of\nbytes to skip, not the number of channels in the source.\nThis makes OMXCodec skip the right amount of data, and prevents NuPlayer from\nwriting half a frame and then asserting when the AudioSink doesn\u0027t accept it.\nAlso move use of the SkipCutBuffer from NuPlayer to ACodec, so that it also\nworks when using the new Java APIs, and make SkipCutBuffer derive from RefBase.\nb/774846\n\nChange-Id: I34df9fea3e6730617eae559afaa556f4085ef0a0\n"
    },
    {
      "commit": "f60c660f048d5f5e2458cff243c20400d73757a7",
      "tree": "b2bf22e36da46fd25979df618f8661b4b0510dad",
      "parents": [
        "83faee053cfd4251dbb591b62039f563ffdac399"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Sat Apr 28 21:58:22 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Mon Apr 30 09:18:24 2012 -0700"
      },
      "message": "Added support for HE-AAC recording\n\nFixed bug in decoder related to sample rates / channel counts\nMade decoder follow Fraunhofer pattern\nLog if bitrate not available\nBug: 6275957\n\nChange-Id: I47a8e29358fa4a88ebc73fe02d46a2bfb96c64fe\n"
    },
    {
      "commit": "83faee053cfd4251dbb591b62039f563ffdac399",
      "tree": "ca170f9a6c1a715ecc00ef49fc600aad92a23e11",
      "parents": [
        "209ec37b27a4fb6c92005c91ecf993ec19a3d430"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 27 18:24:29 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 27 19:00:37 2012 -0700"
      },
      "message": "AudioFlinger: fix stop detection for static tracks\n\nThe end of playback and end of presentation detection was broken for\nstatic AudioTracks (tracks using shared memory buffers passed by client).\n\nThe mixer should not wait for a minimal amount of frames to be available to mix\na static track otherwise the last frames might never be consumed.\n\nA static track should be removed from active list in case of underrun even if not\nstopped().\n\nIssue 6411521.\n\nChange-Id: I66a2c1a77e98149e5049a223a6f04c3b8c5ad11a\n"
    },
    {
      "commit": "209ec37b27a4fb6c92005c91ecf993ec19a3d430",
      "tree": "6009bcb3fbb95ec7de0531e9adf7266f77447468",
      "parents": [
        "300a2ee9327c05fbf9d3a5fd595b558097c7c5e8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 27 16:54:59 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 27 17:00:38 2012 -0700"
      },
      "message": "Fixed incorrect codec type in the output for profiles/levels in cmd stagefright\n\no related-to-bug: 6401068\n\nChange-Id: Icdc2cfa37ed053f53d1466d8b068f1d9973ed82f\n"
    },
    {
      "commit": "300a2ee9327c05fbf9d3a5fd595b558097c7c5e8",
      "tree": "72c0932bffeede46c71ab2f7e5354039bdf2e160",
      "parents": [
        "9a025a922c1fed5cb5d1956a55b7f69ad259abb3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 25 13:47:36 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 27 14:45:18 2012 -0700"
      },
      "message": "Fast mixer configuration\n\nAdd compile-time option for when to use fast mixer.\n\nDouble HAL frame count for fast tracks due to SRC, and make the normal\nframe count multiplier an even number for compatibility.  Sample rate\nconversion can result in underruns if the HAL frame count is used as is,\ndue to jitter.\n\nChange-Id: Ia1f8da1b8ac247d9807acfce3c318161db000905\n"
    },
    {
      "commit": "9a025a922c1fed5cb5d1956a55b7f69ad259abb3",
      "tree": "c07e34bed48014deb36f7a21980a60c504d4e3e1",
      "parents": [
        "d8b0003739768953b6e28080f434fdadec55c0e3",
        "c434ac82b57108bd08f58612f6ac8cbc92dbd975"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 27 13:37:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 13:37:49 2012 -0700"
      },
      "message": "Merge \"Add option to stagefright for writing decoded PCM\" into jb-dev"
    },
    {
      "commit": "c434ac82b57108bd08f58612f6ac8cbc92dbd975",
      "tree": "bc8485a725a892fd149e5e7e949414232368d84f",
      "parents": [
        "e0c026e32277de27627b2bc24e51f333a2f1c4ee"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Apr 25 14:14:55 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 27 12:29:37 2012 -0700"
      },
      "message": "Add option to stagefright for writing decoded PCM\n\nb/774846\nChange-Id: I8edce3e7d60b3f56b4eb1ed75ca80285c5ae3972\n"
    },
    {
      "commit": "d8b0003739768953b6e28080f434fdadec55c0e3",
      "tree": "a81a89467945701dd7e01ea2fba81655100925c4",
      "parents": [
        "e6d7f46c566d16792068f25ef479e3fbae7365b8",
        "94c1c8c99b70f2fdab87e131812eb253271e5500"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 27 09:52:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 09:52:39 2012 -0700"
      },
      "message": "Merge \"Opt in to the WVM extractor\u0027s secondary (cryptoPlugin) mode.\" into jb-dev"
    },
    {
      "commit": "e6d7f46c566d16792068f25ef479e3fbae7365b8",
      "tree": "18cb1f8303c03c3e0249610fe6c2f9d7aa96639e",
      "parents": [
        "543f0fd46b2355c0ffc22445c8594f6dcde6a388",
        "ed709d00ead015b8a0de50ebc410073f6a078fd5"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Apr 27 08:26:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 08:26:51 2012 -0700"
      },
      "message": "Merge \"Expose an API to run the WV extractor in crypto plugin mode.\" into jb-dev"
    },
    {
      "commit": "543f0fd46b2355c0ffc22445c8594f6dcde6a388",
      "tree": "e3b82c89b6d7a5b786224382fbe4e47021d24a56",
      "parents": [
        "e0c026e32277de27627b2bc24e51f333a2f1c4ee",
        "c4ddeeb06a9defc359e99d1ce20882e1d688d1b3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 26 18:40:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 18:40:03 2012 -0700"
      },
      "message": "Merge \"Bug fix : enqueue one next subtitle for each subtitle.\" into jb-dev"
    },
    {
      "commit": "e0c026e32277de27627b2bc24e51f333a2f1c4ee",
      "tree": "d42e68cf73ae44bc8f188c7d16a9ccf3cb006fbb",
      "parents": [
        "41914becfd019c619783d875c61ef71db0e67400",
        "514bcaf1e842e8e90fbeabf35e7e654622b75b02"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 26 15:47:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 15:47:10 2012 -0700"
      },
      "message": "Merge \"Handle the case when there is no timed text track\" into jb-dev"
    },
    {
      "commit": "ed709d00ead015b8a0de50ebc410073f6a078fd5",
      "tree": "b5a3bcd9093d55eaff2886443c985d7e8708e82a",
      "parents": [
        "0756aa99dffd5740d963fdda60699fdefe58ce85"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Apr 26 10:38:47 2012 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Apr 26 15:46:07 2012 -0700"
      },
      "message": "Expose an API to run the WV extractor in crypto plugin mode.\n\nProvides compatibility with the MediaCodec model.\n\nChange-Id: I76f2c7d1e9d2cfc3e76b531ac9b2cf66aa6a4327\nrelated-to-bug: 5986621\n"
    },
    {
      "commit": "94c1c8c99b70f2fdab87e131812eb253271e5500",
      "tree": "e164cde3986a3ebc7c1f79bd3fbee9805c5a4a4d",
      "parents": [
        "0756aa99dffd5740d963fdda60699fdefe58ce85"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 26 15:41:00 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 26 15:41:00 2012 -0700"
      },
      "message": "Opt in to the WVM extractor\u0027s secondary (cryptoPlugin) mode.\n\nChange-Id: If0abec6e34b20b59ee2fc5bd97573a73d68465f0\nrelated-to-bug: 6276111\n"
    },
    {
      "commit": "41914becfd019c619783d875c61ef71db0e67400",
      "tree": "00b42f8006f15f864811199dd6feb31725cf6d65",
      "parents": [
        "0756aa99dffd5740d963fdda60699fdefe58ce85"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 26 14:18:25 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 26 14:54:22 2012 -0700"
      },
      "message": "Account for new AAC decoder\u0027s delay\n\nThis drops the first block of decoded samples, and flushes the decoder\nat the end of the stream to get the last bit of valid data.\nb/774846\n\nChange-Id: I1ae61b3e0619444441d160f33903eb61f57c6d31\n"
    },
    {
      "commit": "514bcaf1e842e8e90fbeabf35e7e654622b75b02",
      "tree": "f3618f1e77ee62d210395dc63623779e58094ea9",
      "parents": [
        "0756aa99dffd5740d963fdda60699fdefe58ce85"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 17 13:07:56 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 26 11:27:43 2012 -0700"
      },
      "message": "Handle the case when there is no timed text track\n\no also replaced mTimedTextLock with mLock, since there is no particular reason to use a separate lock for timed text\n\no related-to-bug: 6110705\n\nChange-Id: Ia687e96956692c42d492e57992e5721ca1e8e18b\n"
    },
    {
      "commit": "0756aa99dffd5740d963fdda60699fdefe58ce85",
      "tree": "b8de036e1641085ae9ef8c5aba548a4400be4c0b",
      "parents": [
        "5a1a5a7b6494d2c96090ce6c76360a3367d0e65f",
        "9d07855aaff8a6b502a3ab058002cdd4a278b965"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 26 10:56:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 10:56:52 2012 -0700"
      },
      "message": "Merge \"NuMediaExtractor API to unselect tracks and finer control over seeking.\" into jb-dev"
    },
    {
      "commit": "9d07855aaff8a6b502a3ab058002cdd4a278b965",
      "tree": "4b9eebadf7b227b51814f02b6d38bc48e27a3da6",
      "parents": [
        "940335776b6d4eb91b13c4e56bc20bed3ac0011b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 25 16:00:45 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 26 10:44:39 2012 -0700"
      },
      "message": "NuMediaExtractor API to unselect tracks and finer control over seeking.\n\nChange-Id: I44d5a2b01d34b771bb0ff48b12829e33314c2374\nrelated-to-bug: 6276111\n"
    },
    {
      "commit": "5a1a5a7b6494d2c96090ce6c76360a3367d0e65f",
      "tree": "f405ff699107f0ec557cf8049919a619634b6b15",
      "parents": [
        "209731c4ae8c223e04e13717a4125907a67fcf4b",
        "da747447c1d4b5205469b4e94485b8769df57a97"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 26 10:43:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 10:43:40 2012 -0700"
      },
      "message": "Merge \"AudioFlinger: fix tracks ready for mixing logic.\" into jb-dev"
    },
    {
      "commit": "da747447c1d4b5205469b4e94485b8769df57a97",
      "tree": "7171032a464dba232449b98c16709e672ae97b82",
      "parents": [
        "940335776b6d4eb91b13c4e56bc20bed3ac0011b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 25 18:53:13 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 26 10:36:28 2012 -0700"
      },
      "message": "AudioFlinger: fix tracks ready for mixing logic.\n\nCommit fec279f5 broke the logic allowing to wait for an application\nto provide frames for mixing in the case of several active tracks.\n\nThis was causing audio gaps when playing music and superposing a\nsound Fx (keyboard clicks...).\n\nIssue 6185007.\n\nChange-Id: Id0fad150d0b615646d6b1387c0de8ca944d228f6\n"
    },
    {
      "commit": "209731c4ae8c223e04e13717a4125907a67fcf4b",
      "tree": "6176b9ac48b56ff2ab0889aff6bff09e696daf86",
      "parents": [
        "2b095b74526cf5c9472131452600a02d8a66c32e",
        "1ab12519ec3d4922d1980f975fc884908879e0f0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 26 10:29:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 10:29:30 2012 -0700"
      },
      "message": "Merge \"Add profile/level dump for encoders in cmd stagefright\" into jb-dev"
    },
    {
      "commit": "2b095b74526cf5c9472131452600a02d8a66c32e",
      "tree": "199af0e058272ec6065a83a4014d5c686a08f027",
      "parents": [
        "940335776b6d4eb91b13c4e56bc20bed3ac0011b",
        "1700744ae0ce2fcf722816453ae0af2cd5646458"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 26 10:29:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 10:29:23 2012 -0700"
      },
      "message": "Merge \"Software MPEG4/H263 video encoder is now OMX-based\" into jb-dev"
    },
    {
      "commit": "940335776b6d4eb91b13c4e56bc20bed3ac0011b",
      "tree": "9384212a5c15f70029f9914393bec39f60e8a59b",
      "parents": [
        "aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Apr 25 23:30:18 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Apr 25 23:30:18 2012 -0700"
      },
      "message": "Handle reconfiguration properly.\n\nBug 6388957.\n\nChange-Id: I61a86ed6fdad99497535249acda5e4a325911918\n"
    },
    {
      "commit": "aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b",
      "tree": "f8b459d895acef1717c96cb7133675dda3e458b7",
      "parents": [
        "e0fa467e1150c65a7b1b1ed904c579b40f97c9df"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu Apr 19 00:14:27 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Apr 25 22:02:58 2012 -0700"
      },
      "message": "Add Fraunhofer AAC encoder with AAC-ELD support.\n\nChange-Id: I6cd499d257d72f50a5b508bed97796a591a51506\n"
    },
    {
      "commit": "c4ddeeb06a9defc359e99d1ce20882e1d688d1b3",
      "tree": "900e010d148a7ff33f3bf9cd1e5b6587a6de1577",
      "parents": [
        "e370bb62b89d2f2980f519392010ea08a24c558e"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Sat Apr 21 16:03:22 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Apr 26 13:37:20 2012 +0900"
      },
      "message": "Bug fix : enqueue one next subtitle for each subtitle.\n\no Do not enqueue another subtitle when notifying a null message.\nrelated-to-bug: 6401574\n\nChange-Id: I366e643ffa1601c11a12e46fcf7c00a469c77448\n"
    },
    {
      "commit": "e0fa467e1150c65a7b1b1ed904c579b40f97c9df",
      "tree": "44ae1e182fd15695fccf5d1f396f99edc7942ee5",
      "parents": [
        "e370bb62b89d2f2980f519392010ea08a24c558e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 24 14:35:14 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 25 18:41:32 2012 -0700"
      },
      "message": "Move frame count calculations for fast tracks\n\nFor fast tracks: move the default and minimum frame count calculations\nfrom client to server.  If accepted, the default and minimum frame count\nis the fast mixer (HAL) frame count.  If denied, the default and minimum\nframe count is the same as it currently is for normal tracks.\n\nFor normal tracks: there is no change yet, preserve legacy behavior for\nnow but add a FIXME to change this later.\n\nBug fix: the test for buffer alignment matches channelCount was wrong.\n\nBug fix: check for 8-bit data in shared memory, which isn\u0027t supported.\n\nOptimizations:\n - in set(), only call AudioSystem::getOutputSamplingRate() when needed\n - in createTrack_l(), only call AudioSystem::getSamplingRate() and\n   AudioSystem::getFrameCount() when needed\n\nChange-Id: I79d2fe507db1a8f7bb094c71da8a129951dbb82f\n"
    },
    {
      "commit": "1ab12519ec3d4922d1980f975fc884908879e0f0",
      "tree": "b744a596652177358d3f15c6992412c87bd98d46",
      "parents": [
        "e370bb62b89d2f2980f519392010ea08a24c558e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 25 18:14:36 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 25 18:14:36 2012 -0700"
      },
      "message": "Add profile/level dump for encoders in cmd stagefright\n\no related-to-bug: 6401068\n\nChange-Id: I51e3eeb026aa75c4492d421f5f239dc9072a9c8b\n"
    },
    {
      "commit": "1700744ae0ce2fcf722816453ae0af2cd5646458",
      "tree": "54b8461c1e0be8588c317a249e351bdb6d6c1a87",
      "parents": [
        "e370bb62b89d2f2980f519392010ea08a24c558e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 23 21:04:49 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 25 18:08:24 2012 -0700"
      },
      "message": "Software MPEG4/H263 video encoder is now OMX-based\n\no related-to-bug: 6401068\n\nChange-Id: If8eccea060f38e42ad31eb6e91aaa832e67c5559\n"
    },
    {
      "commit": "e370bb62b89d2f2980f519392010ea08a24c558e",
      "tree": "1b6f05a3447497841b259f00f03af2150e165c61",
      "parents": [
        "e4f70a7ea72c2a9fca60e6b64a258604e9333580"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 25 14:24:30 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 25 14:28:29 2012 -0700"
      },
      "message": "Bump up the max number of items in an AMessage, remove overly stringent\n\nCHECK() limiting us to just audio/* or video/* tracks.\n\nrelated-to-bug: 6399405\nChange-Id: I9bdaf7e709665ecc22da8839c8b16c081dbf4535\n"
    },
    {
      "commit": "e4f70a7ea72c2a9fca60e6b64a258604e9333580",
      "tree": "ac205f9ce8e920e040ec6650f5d974eb12470217",
      "parents": [
        "c1d8115e8a0bdaeb2b723d395b9a85a02c90c933",
        "5c61b361d1c55a93a215cfb2c325b4987f57f1c5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 24 18:02:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 18:02:41 2012 -0700"
      },
      "message": "Merge \"Software AVC encoder is now OMX-based\""
    },
    {
      "commit": "c1d8115e8a0bdaeb2b723d395b9a85a02c90c933",
      "tree": "09339f44279672f1bfa79cbb9c667830f17ae9a4",
      "parents": [
        "1dc28b794587be22c90a97070d928f94586db638"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 24 12:48:18 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 24 14:45:25 2012 -0700"
      },
      "message": "Make sure OMXCodec and ACodec both accept more than 2 channels of audio\n\nand fill in the OMX channel mask properly.\n\nChange-Id: I915950a0b252142b9eb3277cf7c6e0d9f5875305\n"
    },
    {
      "commit": "5c61b361d1c55a93a215cfb2c325b4987f57f1c5",
      "tree": "f7729a4d1c9765bbf4d4bb0ddfc8a95704f52297",
      "parents": [
        "9adb12830ac2da72c91b842d24725ced6d236b16"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 29 03:52:42 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 24 13:07:20 2012 -0700"
      },
      "message": "Software AVC encoder is now OMX-based\n\no related-to-bug: 6383440\n\nChange-Id: I0b1ae50a704b0979857ea447585eabe86602149a\n"
    },
    {
      "commit": "1dc28b794587be22c90a97070d928f94586db638",
      "tree": "81fc99726926ceb84a331350434beb2666695cf1",
      "parents": [
        "9e786c78898d738b1cb21cd8bdfcc49dbcacfce6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 24 10:01:03 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 24 10:52:04 2012 -0700"
      },
      "message": "Use scheduling policy service\n\nChange-Id: I3c09da1dc0de5039d0c15ce7fb2bc373fa398712\n"
    },
    {
      "commit": "9e786c78898d738b1cb21cd8bdfcc49dbcacfce6",
      "tree": "c507a242297eca7b9816b987df7596c14e3dd1aa",
      "parents": [
        "a636433cbd09c0708b85f337ef45c0cdef3bcb4d",
        "6f9add864e3513917fd35302b766e26aa40e6818"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 23 21:37:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 21:37:00 2012 -0700"
      },
      "message": "Merge \"remove dependency on SurfaceTexture::connect()\""
    },
    {
      "commit": "a636433cbd09c0708b85f337ef45c0cdef3bcb4d",
      "tree": "8a629f33d648d1ddd8b79305f02763c539fef7cd",
      "parents": [
        "9adb12830ac2da72c91b842d24725ced6d236b16"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 19 09:35:04 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 16:54:41 2012 -0700"
      },
      "message": "Use C APIs instead of C++ APIs for policy\n\nThe C++ APIs are going away.\n\nNote: we use tid \u003d\u003d 0 which is not supported yet by the C APIs,\ndo not submit this until that is added.\n\nChange-Id: I0e90789e6c81c69f2544e899c52421ea5d1342be\n"
    },
    {
      "commit": "9adb12830ac2da72c91b842d24725ced6d236b16",
      "tree": "e0dcae866fd287bd0527d23ab2ddbf9143d1dee8",
      "parents": [
        "adb6e8dc714f38e261b1593efa4eb17bac5e1678",
        "db46b48d24e03f5bcb8de6d0ff852ec4153401e7"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 23 16:17:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 16:17:23 2012 -0700"
      },
      "message": "Merge \"Downmix support for 5.1 and quad with side channels\""
    },
    {
      "commit": "db46b48d24e03f5bcb8de6d0ff852ec4153401e7",
      "tree": "4d526d6d7e9b7fd92b46f3a8d48c2adfe7f54a63",
      "parents": [
        "36513e357dfc6c53898d4b4f768c9fd4822f4653"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 23 11:29:26 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 23 14:52:34 2012 -0700"
      },
      "message": "Downmix support for 5.1 and quad with side channels\n\nIn DOWNMIX_TYPE_FOLD mode, add support for variants of quad and\n 5.1 channel masks where the \"side\" channels are used instead of\n the \"back\" channels. These variants have the same channel order,\n so they can share the same downmix function.\n\nChange-Id: I5f9cb7cb120927189de680c2a968d6136dc1fc43\n"
    },
    {
      "commit": "adb6e8dc714f38e261b1593efa4eb17bac5e1678",
      "tree": "b6053f7390d2e678035707a34e5c3f63decd8bc9",
      "parents": [
        "36513e357dfc6c53898d4b4f768c9fd4822f4653",
        "ca8b28013c0558a4a3323a1a0f58520277200086"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 14:34:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 14:34:55 2012 -0700"
      },
      "message": "Merge \"Fix regression in AudioTrack::pause()\""
    },
    {
      "commit": "6f9add864e3513917fd35302b766e26aa40e6818",
      "tree": "fe2297763ed3de40ffb9c83c42c458c401144ac0",
      "parents": [
        "36513e357dfc6c53898d4b4f768c9fd4822f4653"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 23 13:56:43 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 23 14:22:07 2012 -0700"
      },
      "message": "remove dependency on SurfaceTexture::connect()\n\nChange-Id: I97ce29ecfde4df171120a3570db9575b32c8d362\n"
    },
    {
      "commit": "ca8b28013c0558a4a3323a1a0f58520277200086",
      "tree": "56e351a74a524a059ed1759a6612cf88f6fd5b82",
      "parents": [
        "4a6c9c59a0297c3c6fcfadddaed7a9a976046daf"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 13:58:16 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 14:15:45 2012 -0700"
      },
      "message": "Fix regression in AudioTrack::pause()\n\nBug: 6379646\nChange-Id: I12b53bc4118499ddc73a53a981f3f56328140868\n"
    },
    {
      "commit": "36513e357dfc6c53898d4b4f768c9fd4822f4653",
      "tree": "6ab626c739d992b26709b0bbf395ec5c2d26975e",
      "parents": [
        "4a6c9c59a0297c3c6fcfadddaed7a9a976046daf",
        "dc7431e70b4b030b5f42d0dfc3ef244d4f583dd2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 23 11:54:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 11:54:01 2012 -0700"
      },
      "message": "Merge \"Make sure NuMediaExtractor is thread safe.\""
    },
    {
      "commit": "dc7431e70b4b030b5f42d0dfc3ef244d4f583dd2",
      "tree": "74201c84c06f59e3c431e90449abd19a4c2f798e",
      "parents": [
        "0818e739bdbcf16f6dfb21d507002ceaaf664ee4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 23 11:21:47 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 23 11:21:47 2012 -0700"
      },
      "message": "Make sure NuMediaExtractor is thread safe.\n\nChange-Id: If261c4d87d5569a0d7cfd75afe311803a6ce0109\n"
    },
    {
      "commit": "4a6c9c59a0297c3c6fcfadddaed7a9a976046daf",
      "tree": "b447ce3b8b8c0fc8a7df052107025ddcbf88c2e3",
      "parents": [
        "66e820f17ec112385602c29d0dae71418128ed5e",
        "1d685d767a5dd1003eb62f6ad1a26b39645a474f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 10:45:36 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 10:45:36 2012 -0700"
      },
      "message": "Merge \"Fix ToneGenerator regression\""
    },
    {
      "commit": "66e820f17ec112385602c29d0dae71418128ed5e",
      "tree": "06984930d0a06f30c2a1753fdd8c4d0e1018731a",
      "parents": [
        "0818e739bdbcf16f6dfb21d507002ceaaf664ee4",
        "58912562617941964939a4182cda71eaeb153d4b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 10:43:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 10:43:46 2012 -0700"
      },
      "message": "Merge \"AudioFlinger normal mixer uses FastMixer\""
    },
    {
      "commit": "1d685d767a5dd1003eb62f6ad1a26b39645a474f",
      "tree": "7cd0c7e395f7072994dfcd34f3421c1f17db138d",
      "parents": [
        "0818e739bdbcf16f6dfb21d507002ceaaf664ee4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 10:36:10 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 10:36:10 2012 -0700"
      },
      "message": "Fix ToneGenerator regression\n\nBug: 6378847\nChange-Id: Ib3324c7a5951ac95f99993bfae27ea02bfda08ff\n"
    },
    {
      "commit": "58912562617941964939a4182cda71eaeb153d4b",
      "tree": "f0d9551f41e729540b5c0bc23bd5f0b4682d346e",
      "parents": [
        "a08f041125c7688aa33aef1b229278641ae1c375"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 03 10:45:00 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 09:24:28 2012 -0700"
      },
      "message": "AudioFlinger normal mixer uses FastMixer\n\nChange-Id: I3131bb22d2d057e9197a2ebfa6aa1cfaab9e5321\n"
    },
    {
      "commit": "0818e739bdbcf16f6dfb21d507002ceaaf664ee4",
      "tree": "a4689ae348be4c1dc9b718578ada4d1215025d28",
      "parents": [
        "a08f041125c7688aa33aef1b229278641ae1c375",
        "6b7b8227cc8753fde4094ca8af2d381c2740826f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 23 08:42:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 08:42:31 2012 -0700"
      },
      "message": "Merge \"Make sure we restore our input buffer to its original state if we want to revisit it.\""
    },
    {
      "commit": "a08f041125c7688aa33aef1b229278641ae1c375",
      "tree": "e1c13206d012859067d44f8b2e776383f28962e0",
      "parents": [
        "3463fa2799a14631222c15245ac1ad85d19b77ca",
        "3acbd053c842e76e1a40fc8a0bf62de87eebf00f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Apr 22 14:54:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 22 14:54:57 2012 -0700"
      },
      "message": "Merge \"Configure policy of mediaserver threads\""
    },
    {
      "commit": "3acbd053c842e76e1a40fc8a0bf62de87eebf00f",
      "tree": "1d6dcc01039a1af770131c6b427efa27a2e5755f",
      "parents": [
        "f853499c6a088ef8506cacbb3ccdffa87e0cec3e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 28 10:39:56 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Apr 22 14:50:01 2012 -0700"
      },
      "message": "Configure policy of mediaserver threads\n\nChange-Id: Ifd825590ba36996064a458f64453a94b84722cb0\n"
    },
    {
      "commit": "3463fa2799a14631222c15245ac1ad85d19b77ca",
      "tree": "2afbae74238a6d8c15e7bae869c1e88a3b5ce091",
      "parents": [
        "f853499c6a088ef8506cacbb3ccdffa87e0cec3e",
        "a0a98ca6ec9b599af79a597cb7c5350b61a77624"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Apr 22 13:25:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 22 13:25:56 2012 -0700"
      },
      "message": "Merge \"Made AudioRecord a subclasss of RefBase\""
    },
    {
      "commit": "a0a98ca6ec9b599af79a597cb7c5350b61a77624",
      "tree": "1cd1d5c29575765d0978eae823d6a2245aed51d1",
      "parents": [
        "21e8c50bd13ebe44f3088e26c9c6df0e163c469c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 20 16:40:28 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 20 16:40:28 2012 -0700"
      },
      "message": "Made AudioRecord a subclasss of RefBase\n\nMade AudioRecord a subclass of RefBase to allow using strong\nreferences and solve concurrency issues.\n\nIssue 6254582.\n\nChange-Id: Ic1f3845958f477e8b2d23d3d25bf0f666addcb3b\n"
    },
    {
      "commit": "f853499c6a088ef8506cacbb3ccdffa87e0cec3e",
      "tree": "dcb35fbedd788b5269c121c08532ecaad755046c",
      "parents": [
        "fc554559032e394de1b28b918efb8ba9f72162fd",
        "1948eb3ea6eee336e8cdab9b0c693f93f5f19993"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 20 16:17:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 16:17:38 2012 -0700"
      },
      "message": "Merge \"Add support for deep audio buffers\""
    },
    {
      "commit": "6b7b8227cc8753fde4094ca8af2d381c2740826f",
      "tree": "032b06700dcc8c468d8aa0ddae5e984aee1716ce",
      "parents": [
        "fc554559032e394de1b28b918efb8ba9f72162fd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 20 15:47:48 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 20 15:47:48 2012 -0700"
      },
      "message": "Make sure we restore our input buffer to its original state if we want to revisit it.\n\nChange-Id: Iab62562c4dea13520751c37c9448c0b19c82d739\n"
    },
    {
      "commit": "1948eb3ea6eee336e8cdab9b0c693f93f5f19993",
      "tree": "448eed49a4ba18fb1ab4f2fb1b2c0d5cef6d242f",
      "parents": [
        "21e8c50bd13ebe44f3088e26c9c6df0e163c469c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 13 16:50:19 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 20 14:17:02 2012 -0700"
      },
      "message": "Add support for deep audio buffers\n\nAllow AudioSink to use deep audio buffering when the\nsource is audio only and its duration is more than\na certain threshold.\nThis helps improve battery life but implies higher\naudio latency.\n\nChange-Id: Ie79915b61c370292f05aabda9779356570e03cbb\n"
    },
    {
      "commit": "fc554559032e394de1b28b918efb8ba9f72162fd",
      "tree": "1464ba30ae81d8dbbe660987ca3ce71cd511c6a0",
      "parents": [
        "c95cfbb87d0ac5e773037019a96bfc29972d4b4e",
        "a53d87c7b1428fe02f535c31dafd64cb1362fde9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 20 12:15:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 12:15:23 2012 -0700"
      },
      "message": "Merge \"Add the ability to query the amount of cached data to NuMediaExtractor.\""
    },
    {
      "commit": "c95cfbb87d0ac5e773037019a96bfc29972d4b4e",
      "tree": "016435873185a80476d7ab1f3dae8696b2c04ebb",
      "parents": [
        "8d314b709fdd81bb64bdaa8d72a0b19c355cefb9"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Apr 12 11:53:11 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Fri Apr 20 10:09:25 2012 -0700"
      },
      "message": "TimedAudioTrack: Optimize the queue trim operation.\n\nHand merge from ics-aah\n\n\u003e TimedAudioTrack: Optimize the queue trim operation.\n\u003e\n\u003e Don\u0027t perform the end PTS calculation for each buffer during trimming.\n\u003e Instead, only calculate the ending PTS of a buffer if there is no next\n\u003e buffer in the queue.  This optimization assumes that the buffers being\n\u003e queued are in monotonic media time order (a fair assumption for now)\n\u003e and that the timestamps in the audio are contiguous (not a requirement\n\u003e for this API, but a reality of how it is being used right now).\n\u003e\n\u003e In the case where the audio is discontinuous on purpose, it is\n\u003e that this optimization will cause the system hold one extra buffer\n\u003e which it could have safely trimmed.  It should not be much of an issue\n\u003e since in real life the audio is almost always contiguous, and as long\n\u003e as the media clock is running and the mixer is mixing, the buffer will\n\u003e be used up and discard as part of the normal flow anyway.\n\u003e\n\u003e Change-Id: I00061e85ee7d5651fcf80751646c7d7415894a14\n\u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\nChange-Id: I0054b58e1389fa005aa990cb5710caf4af7b706a\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "8d314b709fdd81bb64bdaa8d72a0b19c355cefb9",
      "tree": "e76be79a37ce2a3985bc0361c28d794136624b3e",
      "parents": [
        "21e8c50bd13ebe44f3088e26c9c6df0e163c469c"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Apr 19 12:08:17 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Fri Apr 20 10:09:25 2012 -0700"
      },
      "message": "TimedAudioTrack: Fix continuity threshold handling.\n\nHand merge from ics-aah\n\n\u003e TimedAudioTrack: Fix continuity threshold handling.\n\u003e\n\u003e Fix issues with continuity threshold handling; notably\n\u003e + If the steady-state continuity threshold is exceeded, be sure to\n\u003e   clear the on-time flag.  Failure to do this will result in the\n\u003e   system picking a new mix point which simply satisfies the\n\u003e   steady-state continuity threshold instead of the startup threshold.\n\u003e   Since we are putting a discontinuity in presentation anyway, we\n\u003e   really want to pick a perfect point, not just an OK point.\n\u003e + Tighten the steady-state continuity threshold.  It was currently set\n\u003e   to 100mSec which is enormous.  4mSec (the new setting) is much more\n\u003e   appropriate.  On systems with a VCXO (like tungsten) this should\n\u003e   never be wrong by more than a sample.  If TimedAudioTracks are ever\n\u003e   to be used on VCXO-less systems, this threshold should probably be a\n\u003e   a parameter configurable by applications on a track by track basis\n\u003e   so they can make the tradeoff between allowed error and frequency of\n\u003e   disruptive corrections.\n\u003e + Reset the on-time flag if the mixer provides no PTS during a mix\n\u003e   operation.  This makes for a convenient way for the HAL to reset\n\u003e   timed tracks when it makes changes for delay compensation across\n\u003e   multiple outputs.\n\u003e\n\u003e Change-Id: I2cb23de5a3d1f75618abc1c8ab903db883837aa8\n\u003e Signed-off-by: John Grossman \u003cjohngro@google.com\u003e\n\nChange-Id: Ibd28c9d290494b0b19eb01caf2d9bfdef606a9b4\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "21e8c50bd13ebe44f3088e26c9c6df0e163c469c",
      "tree": "0437226abb896de30fd20123eb3089168989391a",
      "parents": [
        "8d6086781c79620ce6133df7bd27f0efdee6b4e6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 12 09:39:42 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 20 07:38:05 2012 -0700"
      },
      "message": "FastMixer update\n\nUpdates:\n - Add support for mono fast tracks\n - Add support for optional sample rate conversion on fast tracks\n - Log sample rate and frame count\n - Enable statistics\n\nChange-Id: Ife014edf4f452da361f3eaaae19209ef6ff6958b\n"
    },
    {
      "commit": "a53d87c7b1428fe02f535c31dafd64cb1362fde9",
      "tree": "91d1c0a816d28e2b4103522753119ae0b7b5a3e5",
      "parents": [
        "8d6086781c79620ce6133df7bd27f0efdee6b4e6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 19 16:25:20 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 19 16:53:42 2012 -0700"
      },
      "message": "Add the ability to query the amount of cached data to NuMediaExtractor.\n\nChange-Id: I0966270a2bd36698330beaa03f47d02fc6a40c44\nrelated-to-bug: 6364341\n"
    },
    {
      "commit": "8d6086781c79620ce6133df7bd27f0efdee6b4e6",
      "tree": "e69c38010ec52f70406054c1dc8152d44c2a94c3",
      "parents": [
        "1345ef0f49f83f37953e6d30616611a92294144a",
        "5b8987e7de9d04b09153f329c680d2316cdb44ec"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 19 13:51:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 13:51:16 2012 -0700"
      },
      "message": "Merge \"Allow propagation of error information and description from the CryptoPlugin to\""
    },
    {
      "commit": "5b8987e7de9d04b09153f329c680d2316cdb44ec",
      "tree": "2b08e1f8abd0d4b869ce8923b1462530b916a7eb",
      "parents": [
        "fd9e14bc28f377065e43ec6833d754ca151b3941"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 19 12:52:20 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 19 12:53:59 2012 -0700"
      },
      "message": "Allow propagation of error information and description from the CryptoPlugin to\n\nthe higher layers.\n\nChange-Id: I9f434ad55cdf575803c208bedf47b607baff2330\nrelated-to-bug: 6365261\n"
    },
    {
      "commit": "1345ef0f49f83f37953e6d30616611a92294144a",
      "tree": "66f1d6f9eb6fc31073faa3699789e9cd08c19993",
      "parents": [
        "eee7f9dd0d3410877dd58a14c4b80aacbeb32d72",
        "05cd06e19f968c7320e8e85fc7122125f284741c"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu Apr 19 10:43:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 10:43:22 2012 -0700"
      },
      "message": "Merge \"Revert \"Temporary revert of new AAC codec to fix build\"\""
    },
    {
      "commit": "eee7f9dd0d3410877dd58a14c4b80aacbeb32d72",
      "tree": "5b9a77f68e00cdb3cd8090cda4628f9033ae175f",
      "parents": [
        "fd9e14bc28f377065e43ec6833d754ca151b3941",
        "692ac36c4b6a09fed5113a4f45f00a041665a769"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 19 10:36:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 10:36:16 2012 -0700"
      },
      "message": "Merge \"Make timed text source type explicit in TimedTextDriver\""
    },
    {
      "commit": "05cd06e19f968c7320e8e85fc7122125f284741c",
      "tree": "6e07a257d0b4bef76fb07e3b8eebdac1033deefd",
      "parents": [
        "f356cc9c9995ba292bf116f1cb28a6caa1b65fd2"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu Apr 19 10:34:44 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu Apr 19 10:34:44 2012 -0700"
      },
      "message": "Revert \"Temporary revert of new AAC codec to fix build\"\n\nThis reverts commit f356cc9c9995ba292bf116f1cb28a6caa1b65fd2.\n"
    },
    {
      "commit": "fd9e14bc28f377065e43ec6833d754ca151b3941",
      "tree": "c63aa194d876cc7a971d6099378a9b62a9419dc7",
      "parents": [
        "2d359a85ef5b72f1cb47df227b44fe4f3c5fbd60",
        "f28c8792f64e10c3c477d86bf4804a8566ff524e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Apr 19 09:09:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 09:09:19 2012 -0700"
      },
      "message": "Merge \"Turn off debug in downmix effect\""
    },
    {
      "commit": "2d359a85ef5b72f1cb47df227b44fe4f3c5fbd60",
      "tree": "50cbb5bf04e41f33392563ca8847aaec8311cd3d",
      "parents": [
        "324c81a9f45614cb1d924ba0bcecddc120b2d69f",
        "3476de62fb10e76412452ef4c6bd71936c9f7db1"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Apr 19 09:08:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 09:08:43 2012 -0700"
      },
      "message": "Merge \"Add support for scaling mode parameter\""
    },
    {
      "commit": "324c81a9f45614cb1d924ba0bcecddc120b2d69f",
      "tree": "7e55e877248c15ada3d5a4afd1d9cd12cc31a387",
      "parents": [
        "a43af9853f4dfdea03c01037f1c73cf29441f89b",
        "f356cc9c9995ba292bf116f1cb28a6caa1b65fd2"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu Apr 19 00:31:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 00:31:34 2012 -0700"
      },
      "message": "Merge \"Temporary revert of new AAC codec to fix build\""
    },
    {
      "commit": "a43af9853f4dfdea03c01037f1c73cf29441f89b",
      "tree": "2d701c68a6988428b919b58443560c5e726b49e1",
      "parents": [
        "c2dabeb11d625fadfd923e6461405f5fbf383320",
        "08ad5efcef90e24db2863c0f85972ed05fe848a2"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Apr 19 00:29:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 00:29:33 2012 -0700"
      },
      "message": "Merge \"Remove new camera connect API.\""
    },
    {
      "commit": "f356cc9c9995ba292bf116f1cb28a6caa1b65fd2",
      "tree": "410f778810d722a9de4b9fe1ef63f390854d56e7",
      "parents": [
        "c2dabeb11d625fadfd923e6461405f5fbf383320"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu Apr 19 00:25:44 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu Apr 19 00:25:44 2012 -0700"
      },
      "message": "Temporary revert of new AAC codec to fix build\n\nChange-Id: I5c7f0360883fc68e313d10b1aa5dac1463fae7fb\n"
    },
    {
      "commit": "c2dabeb11d625fadfd923e6461405f5fbf383320",
      "tree": "6e07a257d0b4bef76fb07e3b8eebdac1033deefd",
      "parents": [
        "9bd23229fdec1657398abc682ccccfce1c95f8aa",
        "095c2da8d6c2058b02142c940f6e6346d6581780"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Apr 18 23:39:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 23:39:23 2012 -0700"
      },
      "message": "Merge \"Make AAC 5.1 work Fix bug with pausing audio\""
    }
  ],
  "next": "08ad5efcef90e24db2863c0f85972ed05fe848a2"
}
