)]}'
{
  "log": [
    {
      "commit": "c39aa13da5600571affee13ea8ef3936cc39cbb5",
      "tree": "b0f6ea9ea6e28ddd2cc25d21396a66ffe5336f3f",
      "parents": [
        "1a082f3061c2a444ac6602f321aa334589167f07",
        "bfa2f13fd3f463dbceea4d3a18c3124e70df0a05"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 26 14:05:18 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 14:05:18 2011 -0800"
      },
      "message": "am 2ba92c71: do not merge bug 3370834 Cherrypick from master\n\n* commit \u00272ba92c71b5684dce700cf848bf157153c156df1d\u0027:\n  do not merge bug 3370834 Cherrypick from master\n"
    },
    {
      "commit": "bfa2f13fd3f463dbceea4d3a18c3124e70df0a05",
      "tree": "23546faa4e073e21f7a1c4fa026cd81044cc49d0",
      "parents": [
        "b1d099197a9385f3afc9411da32a341546991d85"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 15 12:11:32 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 26 11:20:01 2011 -0800"
      },
      "message": "do not merge bug 3370834 Cherrypick from master\n\nCherripick from master CL 79833, 79417, 78864, 80332, 87500\n\nAdd new audio mode and recording source for audio communications\n other than telelphony.\n\nThe audio mode MODE_IN_CALL signals the system the device a phone\n call is currently underway. There was no way for audio video\n chat or VoIP applications to signal a call is underway, but not\n using the telephony resources. This change introduces a new mode\n to address this. Changes in other parts of the system (java\n and native) are required to take this new mode into account.\nThe generic AudioPolicyManager is updated to not use its phone\n state variable directly, but to use two new convenience methods,\n isInCall() and isStateInCall(int) instead.\n\nAdd a recording source used to designate a recording stream for\nvoice communications such as VoIP.\n\nUpdate the platform-independent audio policy manager to pass the\n nature of the audio recording source to the audio policy client\n interface through the AudioPolicyClientInterface::setParameters()\n method.\n\nSIP calls should set the audio mode to MODE_IN_COMMUNICATION,\n Audio mode MODE_IN_CALL is reserved for telephony.\n\nSIP: Enable built-in echo canceler if available.\n1. Always initialize AudioRecord with VOICE_COMMUNICATION.\n2. If echo canceler is available, disable our echo suppressor.\n\nNote that this CL is intentionally not correcting the\n getAudioSourceMax() return value in MediaRecorder.java as the\n new source is hidden here.\n\nChange-Id: Ie68cd03c50553101aa2ad838fe9459b2cf151bc8\n"
    },
    {
      "commit": "1a082f3061c2a444ac6602f321aa334589167f07",
      "tree": "d7c810889e7658ca0a29d00c0410645e4dea40cf",
      "parents": [
        "958c063ed2b9e255e4b4ffc5c7d5f9939da95c36",
        "b1d099197a9385f3afc9411da32a341546991d85"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 14:46:40 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 14:46:40 2011 -0800"
      },
      "message": "am 239fd805: Merge \"fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\" into gingerbread\n\n* commit \u0027239fd805ef7c0e4116b0a89e20caaf287e91f017\u0027:\n  fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\n"
    },
    {
      "commit": "b1d099197a9385f3afc9411da32a341546991d85",
      "tree": "0ca322a21353cffa9237bad07e9b09f366672c38",
      "parents": [
        "47f44fb9b85ac555e5b84b2f5ca8536a85659c3e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 18 15:51:30 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 14:19:13 2011 -0800"
      },
      "message": "fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\n\nGenerally we never want to lock a buffer for write access if it is at\nthe \"head\" on the surfaceflinger side. The only exception (1) is when\nthe buffer is not currently in use AND there is at least one queued\nbuffer -- in which case, SurfaceFlinger will never use said buffer\nanymore, because on the next composition around, it will be able to\nretire the first queued buffer.\n\nThe logic above relies on SurfaceFlinger always retiring\nand locking a buffer before composition -- unfortunately this\ndidn\u0027t happen during a screenshot.\n\nThis could leave us in a situation where a buffer is locked by the\napplication for write, and used by SurfaceFlinger for texturing,\ncausing a hang.\n\nHere, we fix this issue by never assuming the exception (1), it was\nintended as an optimization allowing ANativeWindow::lockBuffer() to\nreturn sooner and was justified when most of SF composition was\ndone in software. The actual buffer locking is now ensured by\ngralloc. We could have handled screenshots in a similar way to\na regular composition, but it could have caused glitches on screen,\nessentially, taking a screenshot could cause to skip a frame.\n\nnow that we removed the notion of a \"inUse\" buffer in surfaceflinger\na lot of code can be simplified / removed.\n\nnoteworthy, the whole concept of \"unlockClient\" wrt. \"compositionComplete\"\nis also gone.\n"
    },
    {
      "commit": "cf3592c5bf1c66ba510934fff5eb57ee0b3fd761",
      "tree": "db789ee0027babcee8f5a9a4b090546275365b8f",
      "parents": [
        "3ed11317ce695a413d337c60fde222f30306f092",
        "95304d5488ba465f19cc788f1c7394218c2ea2d1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 14 18:33:51 2011 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 14 18:33:51 2011 -0800"
      },
      "message": "merge 83fdc69e from gingerbread - do not merge\n\nChange-Id: Ib1e9e12244a44f75a93d66142e71915de6386680\n"
    },
    {
      "commit": "95304d5488ba465f19cc788f1c7394218c2ea2d1",
      "tree": "5f5269238a292e0e747cbfa2a01e6a2fb24615b8",
      "parents": [
        "e49051406baa71cb63d5754d33908ce3df201af1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 02 17:42:08 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 17:12:46 2011 -0800"
      },
      "message": "Squash commits of the following patches, cherry-picked from other branch - do not merge.\n\no Prepare for publishing MediaMetadataRetriever as public API\n  step one:\n  o replaced captureFrame with getFrameAtTime\n  o removed getMode\n\no Replace MediaMetadataRetriever.captureFrame() with MediaMetadataRetriever.getFrameAtTime()\n  as part of the preparation for publishing MediaMetadataRetriever as public Java API\n\no Remove captureFrame from MediaMetadataRetriever.java class\n  It has been replaced by getFrameAtTime() method\n\no Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java\n\no Publish MediaMetadataRetriever.java as public API\n  o Removed setMode() methods and related mode constants\n  o Removed some of the unused the metadata keys\n  o Updated the javadoc\n  o part of a multi-project change.\n\nbug - 3309041\n\nChange-Id: I2efb6e8b8d52897186b016cb4efda6862f5584c4\n"
    },
    {
      "commit": "7b8a803497450bb90b9c4f5ba3426bf984fad274",
      "tree": "74e28c69edf407830c632b5a1dd2e8fc7344b416",
      "parents": [
        "9cfc9eff42a0700029c39e89c38b52488845ad63",
        "32c8335c6b6eb87a88e9193db1a5aab29175d043"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 12:09:09 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 10 12:09:09 2011 -0800"
      },
      "message": "am 13d1cb56: Merge \"Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge\" into gingerbread\n\n* commit \u002713d1cb56dfdfc89888de6a0389b0fe6cf7e36c27\u0027:\n  Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge\n"
    },
    {
      "commit": "32c8335c6b6eb87a88e9193db1a5aab29175d043",
      "tree": "a7ee67ba1dd4051a2440eeee2f1347dc133d8389",
      "parents": [
        "288fb7e5bd7060cbe9b737500975754c9312e2db"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 08:55:02 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 10:27:02 2011 -0800"
      },
      "message": "Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge\n\ncherry-picked from: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89\n\nbug - 3336424\n\nChange-Id: I2d8ecb79a5422342988c195c012c9e6327ac457a\n"
    },
    {
      "commit": "9cfc9eff42a0700029c39e89c38b52488845ad63",
      "tree": "e838338c56e10b5de2f718c9c9b7e7130ae902a5",
      "parents": [
        "e28b1e565705ffb85b05c8e226e1ab5010cb3821",
        "c2322f7ac756e78de9491c17dc3c0dd14456c599"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jan 07 15:34:08 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 07 15:34:08 2011 -0800"
      },
      "message": "am 0544d059: Merge \"DRM Framework bug fixes.\"\n\n* commit \u00270544d05990c0f43a143e98e71f7fc60277872806\u0027:\n  DRM Framework bug fixes.\n"
    },
    {
      "commit": "c2322f7ac756e78de9491c17dc3c0dd14456c599",
      "tree": "07e0dad46bb5d1a926db251d06ae812fc7beb204",
      "parents": [
        "7f7371ad2df83fe6a085089446575d0bcd24d59a",
        "c618b5af98dec06d49374a61a5a94016f9fec2d3"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jan 07 11:10:49 2011 -0800"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Jan 07 11:10:49 2011 -0800"
      },
      "message": "Merge \"DRM Framework bug fixes.\""
    },
    {
      "commit": "e28b1e565705ffb85b05c8e226e1ab5010cb3821",
      "tree": "ac2b9fc614c8509a83742260841358f0b5e043e5",
      "parents": [
        "e6bf51ea9c5a4c1294e9a6c26d8a9b86534fee1f",
        "288fb7e5bd7060cbe9b737500975754c9312e2db"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 20:29:11 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 06 20:29:11 2011 -0800"
      },
      "message": "am ba77a3f9: Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831\n\n* commit \u0027ba77a3f9cb1d68b2ed4813aaae856444578e3a75\u0027:\n  Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831\n"
    },
    {
      "commit": "288fb7e5bd7060cbe9b737500975754c9312e2db",
      "tree": "666d36f72e5d8517fd39db346d941286529c3a69",
      "parents": [
        "91dcf1510491c4128f506a0d28e64de5ecbf459d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 11:12:17 2011 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 15:05:06 2011 -0800"
      },
      "message": "Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add\nsupport for two common ways of specifying album artist in ogg files.\nb/3311831\n\nChange-Id: Iba1152013b7577168af71f947d7249560419fa05\n"
    },
    {
      "commit": "e6bf51ea9c5a4c1294e9a6c26d8a9b86534fee1f",
      "tree": "bf0df997f25fa4c5d85af140b7dfbaad0ad2eb3c",
      "parents": [
        "74de24045c00d641e79483b459d7d00d3d5bffe3",
        "91dcf1510491c4128f506a0d28e64de5ecbf459d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 17:55:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 05 17:55:27 2011 -0800"
      },
      "message": "am 35e8dcb9: Merge \"Suppress the recording sound in the recorded video\" into gingerbread\n\n* commit \u002735e8dcb9df8c3d77ede120e3f1aaf842b2928639\u0027:\n  Suppress the recording sound in the recorded video\n"
    },
    {
      "commit": "91dcf1510491c4128f506a0d28e64de5ecbf459d",
      "tree": "0886108cbd43dd72295de19b99d6fa204e797242",
      "parents": [
        "0f01764099d7a65b8921725df3340140f9fc4cd5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 17:34:44 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 17:34:44 2011 -0800"
      },
      "message": "Suppress the recording sound in the recorded video\n\nbug - 3309194\n\nChange-Id: Ib8fb248943bc22f963d67537bfdbc6056c5a159b\n"
    },
    {
      "commit": "c618b5af98dec06d49374a61a5a94016f9fec2d3",
      "tree": "a33e45ff0d2cd56b47da6fced34e898950ca08b2",
      "parents": [
        "c533edc9c70dd9434e2e496dc0d52f534472c7e0"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 30 16:27:42 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 30 16:27:42 2010 +0900"
      },
      "message": "DRM Framework bug fixes.\n\n- Make sure to clean-up obsolete listeners.\n- Close cursor after using it.\n- Add virtual destructor to the base class of OnInfoListener.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: Ibb6dd625ef48e3597188f0d7c90f9d4c780b6139\n"
    },
    {
      "commit": "f798e438c3997fd3fb39538bf3e958cfdc7a477c",
      "tree": "1dbe76860fa450e714c4ca4a73b4935c47b40dcb",
      "parents": [
        "42005680c0817a786f07712ffa359f0883944120",
        "14db41b80c75fd4edfa6c5ed4c776d3537eefb41"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 22 21:25:56 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 22 21:25:56 2010 -0800"
      },
      "message": "am d9334934: Merge \"Update of DRM Framework.\"\n\n* commit \u0027d93349342a89a25c7a884e8543c6adc048c5f86d\u0027:\n  Update of DRM Framework.\n"
    },
    {
      "commit": "42005680c0817a786f07712ffa359f0883944120",
      "tree": "b99cbd27ab1d554954f237e70a9d29bf7dbae604",
      "parents": [
        "97c9a2ec2a67969de0c5fcbcc03e9ffc8f50e807",
        "c2c8868e59bde7f48998e1d89a0d77217bc64767"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 18:17:24 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 19 18:17:24 2010 -0800"
      },
      "message": "am 589e8381: Merge \"Improve camera documentation.\" into gingerbread\n\n* commit \u0027589e838116b0dffa696fa39336d0588124877f98\u0027:\n  Improve camera documentation.\n"
    },
    {
      "commit": "3473846f64f5b28e1cbeb70ef5867073fc93159e",
      "tree": "9651de1dd360d8d77d9d4a53a23ed1181845b93c",
      "parents": [
        "cf6a8d23345a6e54834e53b1eb7e465f3cb5e914"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 16 13:56:11 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Fri Nov 19 22:02:51 2010 +0900"
      },
      "message": "Update of DRM Framework.\n\n-Access permission handling\n  Introduce an internal function which allows the desired process to\n  access decryption flow. This new function is just for reference and\n  each OEM manufacturer should implement/replace with their solutions.\n-New API, getMetadata()\n  This API is for retrieving media metadata from container-based DRM,\n  such as OMA forward-lock content. This API asks DRM agent to retrieve\n  media metadata hiddein inside of DRM special container.\n-New API, acquireRights()\n  This API wraps acquireDrmInfo() and processDrmInfo().\n  If DRM agent has valid implementation of both APIs,\n  Application can acquire DrmRights only by calling this API.\n-Bug fix in event loop of OnInfoListener.\n  Separate OnInfo event loop from mail thread loop so as to avoid\n  the issue that message is not dispatched when mail thread is busy.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: I04ee3e0988152a71e221f2256d83253749a29da0\n"
    },
    {
      "commit": "c2c8868e59bde7f48998e1d89a0d77217bc64767",
      "tree": "bffc3c9c96072ce21e9c55372b4b39fa8ed991bc",
      "parents": [
        "ce0febae177d1816ee7a6750ed9fba52472b9a71"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 15:56:16 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 16:20:04 2010 +0800"
      },
      "message": "Improve camera documentation.\n\nbug:3212606\nChange-Id: Iee7106e4665c08a4c75471114010b75d63ac74ce\n"
    },
    {
      "commit": "beda607a0b2775484b10d7e6a15eec1e956b3cec",
      "tree": "c75159315c73565b84c6db9203902a8aeed475ed",
      "parents": [
        "3baff73198ce852fa60080bd32703028298b4d65",
        "ce0febae177d1816ee7a6750ed9fba52472b9a71"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 18:19:40 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 08 18:19:40 2010 -0800"
      },
      "message": "am d2d62d04: Merge \"Support extracting thumbnail from rotated video tracks\" into gingerbread\n\n* commit \u0027d2d62d04fc387e2f51d414e101a3e8e3c45f415e\u0027:\n  Support extracting thumbnail from rotated video tracks\n"
    },
    {
      "commit": "ce0febae177d1816ee7a6750ed9fba52472b9a71",
      "tree": "6e6283e217fc18d53b63652e1d3fe9da2487919f",
      "parents": [
        "85d9b4225d024bb0d602b48bd6d5219cbebd7b8e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 16:04:27 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 16:52:59 2010 -0800"
      },
      "message": "Support extracting thumbnail from rotated video tracks\n\nChange-Id: Ife0a2536aaac5ff1efdf1035b9d2c892773ee16c\n"
    },
    {
      "commit": "3baff73198ce852fa60080bd32703028298b4d65",
      "tree": "91c41492bf470b1a3facc7da5b3dad6d97ffbd6c",
      "parents": [
        "4974d5eaf838d893c418b85bd47f6f114d9b5aaa",
        "85d9b4225d024bb0d602b48bd6d5219cbebd7b8e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 08 11:50:14 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 08 11:56:08 2010 -0800"
      },
      "message": "resolved conflicts for merge of 31dc911a to gingerbread-plus-aosp\n\nChange-Id: I2f51b2120b3c552566d91a7dc498a5e8b130205f\n"
    },
    {
      "commit": "4974d5eaf838d893c418b85bd47f6f114d9b5aaa",
      "tree": "16d68331d5b8c4f308e1f4a4f474a0f5676a0c34",
      "parents": [
        "6d80795874f85b4dbd4f8425ea3326f65ea8abb0",
        "aca1fe35480ae76dd6bae167ade40adc955e2d0d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Nov 06 14:22:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 06 14:22:05 2010 -0700"
      },
      "message": "am 1653e261: Merge \"Rotation support\" into gingerbread\n\n* commit \u00271653e261e84922facfe27d3d8acc455ed2b6b6da\u0027:\n  Rotation support\n"
    },
    {
      "commit": "85d9b4225d024bb0d602b48bd6d5219cbebd7b8e",
      "tree": "4d9ebf6a8b1ecfe51c312d7f2cfa7b2eda6fe5cf",
      "parents": [
        "aca1fe35480ae76dd6bae167ade40adc955e2d0d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 04 11:50:27 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 05 17:03:17 2010 -0700"
      },
      "message": "Support post-decode video rotation.\n\nChange-Id: Ia371316e73a57e44610de86adce3eaa560afbf84\n"
    },
    {
      "commit": "aca1fe35480ae76dd6bae167ade40adc955e2d0d",
      "tree": "ed1cb95800d38e5937ae59d01dc60cbdf3803a3a",
      "parents": [
        "ff5bfcf19da45e6bb0136ef818b7c4bf8fd8db3d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 16 18:39:28 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 05 15:47:52 2010 -0700"
      },
      "message": "Rotation support\n\n- We only support 0, 90, 180, and 270 degree clockwise rotation\n\n- Some players are known to ignore composition matrix in the MP4 file,\n  although this is part of the MP4 file standard.\n  Both QT and YT are supporting the rotation\n\nChange-Id: I1b7f66a801e9d9c49d889c9b06dd6173fa7e76c4\n"
    },
    {
      "commit": "26490f71a5a50b2200d60de28ad0ea6b1d0a1847",
      "tree": "5bda6ee67deb1d40786012aa4540ce6037724d15",
      "parents": [
        "3041096d137144d9d1ebdd6df88ebe8e85133c05",
        "63a0a11e8b3292253b3d3bf3a7f7dc733cf6762f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 03 09:25:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 03 09:25:08 2010 -0700"
      },
      "message": "am f3847e87: Merge \"DO NOT MERGE\" into gingerbread\n\n* commit \u0027f3847e875eb1c58094a2d159a2a6f3f0b381d77a\u0027:\n  DO NOT MERGE\n"
    },
    {
      "commit": "63a0a11e8b3292253b3d3bf3a7f7dc733cf6762f",
      "tree": "6570f16d47ea2bd28364eccb3dd0b08353eb125e",
      "parents": [
        "64c3bdea8cba454d4404baded584ea0f0611b3ee"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 02 18:43:03 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 02 19:30:01 2010 -0700"
      },
      "message": "DO NOT MERGE\n\nFix premature release of recording frames when physical address or metadata is stored in input video buffers\n\n- bug 3158459\n\nChange-Id: If297189d2a87fc3abfda68c29ac75b490b30a902\n"
    },
    {
      "commit": "3041096d137144d9d1ebdd6df88ebe8e85133c05",
      "tree": "8bce55a67fc892803bb40a4655472c2cfba6ea92",
      "parents": [
        "606649635ecb5a7f1378f2538a25fee64214ff42",
        "bf955268acc4a5a73632cb5f64093d1796c769df"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Nov 02 14:59:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 02 14:59:51 2010 -0700"
      },
      "message": "am ef8a810b: Merge \"Update of DRM framework\"\n\n* commit \u0027ef8a810b3b11d177a64111125eaa44bb76624414\u0027:\n  Update of DRM framework\n"
    },
    {
      "commit": "e943f84129326ab885cc7a69dcfa17f766b72b89",
      "tree": "45602605772fcd85d240cbfd900b82e0067453e9",
      "parents": [
        "dcd25efb46c41c8d24a0a9cf61fb57f84149709e"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Fri Oct 08 23:05:49 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 02 08:06:06 2010 +0900"
      },
      "message": "Update of DRM framework\n\n - Overload openDecryptSession() with uri parameter\n   in order to accept URI of DRM content,\n   Following API is added,\n       DecryptHandle*openDecryptSession(const char* uri);.\n - Unify texisting three event types of processDrmInfo()\n   so that caller of DRM framework does not have to handle many event types.\n - Let DrmManagerService call load/unload plugins API so that\n   client of DRM framework does not have to manage plug-in load/unload.\n - Trivial fix in DrmManagerClient.java is also incorporated.\n\nChanges are made by Sony Corporation.\n\nChange-Id: If62b47fa0360718fdc943e6e6143671d7db26adc\n"
    },
    {
      "commit": "a9741a9232c81eaf59179acef91f5be46c42264e",
      "tree": "9a66416b42a28ec2ad4fa2ec520c42d976046aec",
      "parents": [
        "d8cba5371423841e6a85816ad4a7fd88d3a60b12",
        "dcd25efb46c41c8d24a0a9cf61fb57f84149709e"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 15:23:04 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 16:11:18 2010 -0700"
      },
      "message": "resolved conflicts for merge of 9084631d to gingerbread-plus-aosp\n\nChange-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472\n"
    },
    {
      "commit": "dcd25efb46c41c8d24a0a9cf61fb57f84149709e",
      "tree": "6b6d165ba952924f1cd1b77f3a0903e5da31445a",
      "parents": [
        "2272ee27d9022d173b6eab45c409b3c3f57f30ec"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 22 13:55:38 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 12:16:56 2010 -0700"
      },
      "message": "DRM framework support:\n- add a sniffer for DRM files\n- add DRMSource and DRMExtractor for es_based DRM\n- add pread in FileSource.cpp for container_based DRM\n- add native DRM framework API calls in the player for\n  DRM audio/video playback\n\nChange-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f\n"
    },
    {
      "commit": "8f0c48b306f98ac572ecc3c0f64b8e38db6d01eb",
      "tree": "439fb2a8af1defe105de3dacb718c58ddbc74e70",
      "parents": [
        "9acb8a2030444c46f9c4fa55e1f6137058cf46f8",
        "04e410dac8a4e69cff7aaa78c2c0871ce0b027ca"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 16:26:02 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 16:26:02 2010 -0700"
      },
      "message": "am 0c636055: Merge \"Mirror the preview for front-facing cameras. do not merge\" into gingerbread\n\nMerge commit \u00270c636055351f2e1d26138cf7b3bf3c82553e68c4\u0027 into gingerbread-plus-aosp\n\n* commit \u00270c636055351f2e1d26138cf7b3bf3c82553e68c4\u0027:\n  Mirror the preview for front-facing cameras. do not merge\n"
    },
    {
      "commit": "04e410dac8a4e69cff7aaa78c2c0871ce0b027ca",
      "tree": "49747338316aeec63662284d566ce3793593430f",
      "parents": [
        "78a1a286f736888ae7af8860b2c424af0d978848",
        "95b18cb9224f79a781c827e0da45c58a644acece"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 16:20:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 21 16:20:07 2010 -0700"
      },
      "message": "Merge \"Mirror the preview for front-facing cameras. do not merge\" into gingerbread"
    },
    {
      "commit": "9acb8a2030444c46f9c4fa55e1f6137058cf46f8",
      "tree": "cb538efabcfbb2bfa552b731ee9e44b81ec4de82",
      "parents": [
        "60d6ac48ea94f9613e21200f3bcf04b7e818ba11",
        "78a1a286f736888ae7af8860b2c424af0d978848"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 20 21:28:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 20 21:28:38 2010 -0700"
      },
      "message": "am fa7a87fb: Merge \"File writer size estimation improvement\" into gingerbread\n\nMerge commit \u0027fa7a87fb4b3d25b0b6b0985d65848a144d28df26\u0027 into gingerbread-plus-aosp\n\n* commit \u0027fa7a87fb4b3d25b0b6b0985d65848a144d28df26\u0027:\n  File writer size estimation improvement\n"
    },
    {
      "commit": "95b18cb9224f79a781c827e0da45c58a644acece",
      "tree": "9c2e62994a4e7e0b151d9ec25bf1f3a36cd857a1",
      "parents": [
        "4769cc92740e3ab58e9263d42553c12bbf79e3be"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Oct 19 17:19:09 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Oct 20 18:29:18 2010 +0800"
      },
      "message": "Mirror the preview for front-facing cameras. do not merge\n\nNow overlay does ROT_90 before FLIP_V or FLIP_H. It should be FLIP_V\nor FLIP_H first. The formula should be changed after overlay is fixed.\n\nbug:3059865\nChange-Id: Ie4366bf7f1fcac7383e8dfc74b1b865997bbbcc6\n"
    },
    {
      "commit": "78a1a286f736888ae7af8860b2c424af0d978848",
      "tree": "3ab0e1e83296e4f4fe2d2a4407f03964f7b31c64",
      "parents": [
        "4769cc92740e3ab58e9263d42553c12bbf79e3be"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 19 21:28:47 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 19 22:59:22 2010 -0700"
      },
      "message": "File writer size estimation improvement\n\no Do not count the reserved space for moov if the meta data size is small\no Do not count the extra 1KB disturbing small file estimation.\no Reduce the default minimum reserved space from 4 KB to 3 KB.\no Estimate the moov size based on both duration AND file size limit is set\n  and set it to the smaller estimated value.\n\nlow risk change\n\nbug - 3111983\n\nChange-Id: I6ac2adb979d8cc12d6b4f1813d000c989add0199\n"
    },
    {
      "commit": "1bd36ef733ad5c5fa06106387e7ee0df39c33116",
      "tree": "8b81f4ed3d680453321cec681afa2d6a668ff7a5",
      "parents": [
        "232c33806f6e839a7db76f645d52b5647e097f8c",
        "b5b39d2c348f54a40fc800c9efec17d7f1e8a486"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 18 11:50:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 11:50:19 2010 -0700"
      },
      "message": "am bc96c284: Merge \"For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.\" into gingerbread\n\nMerge commit \u0027bc96c2848dadaa844f95e89708d9941f73bbf400\u0027 into gingerbread-plus-aosp\n\n* commit \u0027bc96c2848dadaa844f95e89708d9941f73bbf400\u0027:\n  For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.\n"
    },
    {
      "commit": "f3712f026aad1fc46b1df18d1dba718281e39726",
      "tree": "8bc7bbfef7a223939d093cd5595d4ccfe8fdac5e",
      "parents": [
        "56cfa2376ae87cba730ea7ce4a9e0ca4f0d07627"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 18 09:57:42 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 18 10:16:08 2010 -0700"
      },
      "message": "For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.\n\nrelated-to-bug: 3106534\nChange-Id: Ie28d72af2f9e93818d1840ac83aa7bc11fa57b3b\n"
    },
    {
      "commit": "30550ba7a19372daa7424710ca1367bb7299e459",
      "tree": "87b3131d309faba7e3a4befb63d6968679661133",
      "parents": [
        "d804a1a27b42541157fddf725593d4e2ccaa6ad5",
        "b10d28f233bb881cc12260c320892e5feb198e9a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 15 18:24:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 18:24:56 2010 -0700"
      },
      "message": "am ff7a7a45: Merge \"Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.\" into gingerbread\n\nMerge commit \u0027ff7a7a455c15077e2b691efa370619f06058f697\u0027 into gingerbread-plus-aosp\n\n* commit \u0027ff7a7a455c15077e2b691efa370619f06058f697\u0027:\n  Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.\n"
    },
    {
      "commit": "b10d28f233bb881cc12260c320892e5feb198e9a",
      "tree": "187930b69fae31448522edf8d2e2c351e10796a0",
      "parents": [
        "b9d3038ec950665639e26acd51329ebc800e780d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 15 13:30:27 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 15 13:30:27 2010 -0700"
      },
      "message": "Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.\n\nChange-Id: Ie2ecf9558d4ee80cb5a2bbe66ad49f2165a7b09c\nrelated-to-bug: 3101573\n"
    },
    {
      "commit": "e4edd632d48720b44f7878273f46d192d5703150",
      "tree": "4dc92f8f6371da457d7c20e59194e73cf66d3659",
      "parents": [
        "43024e1f4953d9b8891b7b72f10e76f11812e772",
        "5cb77e080ced5362b5f047e107327b3cb6ece6c9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 13 09:19:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 09:19:28 2010 -0700"
      },
      "message": "am 312644cd: Merge \"Support for writing to MPEG2 transport stream files.\" into gingerbread\n\nMerge commit \u0027312644cdbb39522fe9cac028b15b907ce0e8e0f7\u0027 into gingerbread-plus-aosp\n\n* commit \u0027312644cdbb39522fe9cac028b15b907ce0e8e0f7\u0027:\n  Support for writing to MPEG2 transport stream files.\n"
    },
    {
      "commit": "43024e1f4953d9b8891b7b72f10e76f11812e772",
      "tree": "a4495b728b7f580bfc023aac30fb2341d67f1b67",
      "parents": [
        "a543d453047fbc09e11c38d1597ae2c71d9a02d9",
        "bff07d0b22a5ee2d9f044f6cb5e4be1532017ab0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 13 09:17:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 09:17:13 2010 -0700"
      },
      "message": "am 165c6579: Merge \"HTTP Live content that are tagged as complete are now seekable.\" into gingerbread\n\nMerge commit \u0027165c6579660c22edafb61fee2a0cf39334a2a905\u0027 into gingerbread-plus-aosp\n\n* commit \u0027165c6579660c22edafb61fee2a0cf39334a2a905\u0027:\n  HTTP Live content that are tagged as complete are now seekable.\n"
    },
    {
      "commit": "5cb77e080ced5362b5f047e107327b3cb6ece6c9",
      "tree": "cd1aeadc0d0dd75c669aa26ece9ce9252e83bdee",
      "parents": [
        "bff07d0b22a5ee2d9f044f6cb5e4be1532017ab0",
        "59b7dc39ea8332d3418a599e51447d7edb612ac4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 13 09:14:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 09:14:40 2010 -0700"
      },
      "message": "Merge \"Support for writing to MPEG2 transport stream files.\" into gingerbread"
    },
    {
      "commit": "59b7dc39ea8332d3418a599e51447d7edb612ac4",
      "tree": "30d77dd5cca3f58b3902df86e7df1dab42abc0f2",
      "parents": [
        "2bc940b4f961e588459c83862b2c6bea314a4027"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 14:17:45 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 16:05:23 2010 -0700"
      },
      "message": "Support for writing to MPEG2 transport stream files.\n\nChange-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97\n"
    },
    {
      "commit": "bff07d0b22a5ee2d9f044f6cb5e4be1532017ab0",
      "tree": "3377ef036c87095609a0969dbf0b5c93450b8903",
      "parents": [
        "2bc940b4f961e588459c83862b2c6bea314a4027"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 11:34:37 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 14:32:10 2010 -0700"
      },
      "message": "HTTP Live content that are tagged as complete are now seekable.\n\nChange-Id: I9d0d2f009f883e5baf3e9de8c5c0aa05760e4bde\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "abc40fd3f7effc025ccad91d05f5d6bb2a4c857c",
      "tree": "91a79c33daecf61915236eb503fcaa8ceb39c7b5",
      "parents": [
        "c7e61d5e67a8218d33835a1b5ca0256b30699ae7",
        "6f3cba53efdd985ab13734c7ad90eb373ae9b9f7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 11:18:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 11:18:03 2010 -0700"
      },
      "message": "am f72dd019: Merge \"Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\" into gingerbread\n\nMerge commit \u0027f72dd0190ee64914161d361be1213eda8cab7b90\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f72dd0190ee64914161d361be1213eda8cab7b90\u0027:\n  Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\n"
    },
    {
      "commit": "6f3cba53efdd985ab13734c7ad90eb373ae9b9f7",
      "tree": "7cc426c49690a424cb2aa9dcbe9bfbe50e0c93a3",
      "parents": [
        "e6d26450e5a01be5b7f1343578e7237e68db7737",
        "70f521de2675ce6eedf4b22beed94ea1289b0f38"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 11:16:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 11:16:07 2010 -0700"
      },
      "message": "Merge \"Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\" into gingerbread"
    },
    {
      "commit": "70f521de2675ce6eedf4b22beed94ea1289b0f38",
      "tree": "fe477ecc5b9fbec01d41a458cc17bcf867f9809d",
      "parents": [
        "f4ea1f92bc56a8ffceddba0dbd3979fe0219b13c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:16:24 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 08 10:16:24 2010 -0700"
      },
      "message": "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.\n\nChange-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2\nrelated-to-bug: 3073955\n"
    },
    {
      "commit": "74684081846ee6e68325fa5aba5c45b7447fd368",
      "tree": "4f2710d354acd31694fd8bbbaa07fade7f254cc6",
      "parents": [
        "4b43c1f169ab29b2d4dd058573668f7f4ffb8ca1",
        "bea16187c176837d35e7294f1f14ac195c5d5cad"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 08 08:30:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 08 08:30:03 2010 -0700"
      },
      "message": "am b37fcbfd: Merge \"Added getter for session Id to AudioSink\" into gingerbread\n\nMerge commit \u0027b37fcbfd7f9d65b90b43e0242903030c5a6517b5\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b37fcbfd7f9d65b90b43e0242903030c5a6517b5\u0027:\n  Added getter for session Id to AudioSink\n"
    },
    {
      "commit": "8c563ed9ca8a863a66965330b5d14bb4b4ab59d4",
      "tree": "b2d2e571aa8618456b27e1cb67a717ca80340e3e",
      "parents": [
        "2a4d22d79e927f2245537921e10fc5fda1c47a29"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 07 18:23:03 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 07 18:23:03 2010 -0700"
      },
      "message": "Added getter for session Id to AudioSink\n\nAdded a method to expose the audio session id at AudioSink interface\nso that the AudioPlayer in stagefright can retrieve it.\n\nAlso:\n- Fixed audio effect send level not being initialized in mediaplayer.\n- Fixed compilation error when LOGV is enabled in mediaplayer JNI\n\nChange-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb\n"
    },
    {
      "commit": "fbc504d6a8ec1204b5fa203924f8324ff4aa0e74",
      "tree": "c4e6adc37469742e2288bbf902b3059cb926c48a",
      "parents": [
        "da91f0b87bded1e4ebc9cc1a1712c7a0d44fba84",
        "2272ee27d9022d173b6eab45c409b3c3f57f30ec"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Oct 07 15:27:17 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Oct 07 15:27:17 2010 -0700"
      },
      "message": "resolved conflicts for merge of e6ad0e47 to gingerbread-plus-aosp\n\nChange-Id: I63b00932b0f8b975da31aa9a010369db2d49fd76\n"
    },
    {
      "commit": "da91f0b87bded1e4ebc9cc1a1712c7a0d44fba84",
      "tree": "6345839c3d83daea788ff7ed31d5e0469bcfcc49",
      "parents": [
        "712a002fa3a507158c9ae3435b843edd3a69d7e8",
        "2a4d22d79e927f2245537921e10fc5fda1c47a29"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 14:02:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 14:02:26 2010 -0700"
      },
      "message": "am 949f7d90: Merge \"Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\" into gingerbread\n\nMerge commit \u0027949f7d9066e09768e570686a5695aaba4a1dafd0\u0027 into gingerbread-plus-aosp\n\n* commit \u0027949f7d9066e09768e570686a5695aaba4a1dafd0\u0027:\n  Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\n"
    },
    {
      "commit": "712a002fa3a507158c9ae3435b843edd3a69d7e8",
      "tree": "c8e6f853f8baf4d9466c1979efc85d127c8c2370",
      "parents": [
        "8746c2cf3192033237b465a2834817bf473b9583",
        "2b82e9652ba049e754c2cc74e381282f231d5fbf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 14:02:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 07 14:02:01 2010 -0700"
      },
      "message": "am 02654f01: Merge \"On this particular device the hardware video decoder spits out buffers that don\\\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\" into gingerbread\n\nMerge commit \u002702654f01bc6bd2e581b4a1d2409ecea217294fa2\u0027 into gingerbread-plus-aosp\n\n* commit \u002702654f01bc6bd2e581b4a1d2409ecea217294fa2\u0027:\n  On this particular device the hardware video decoder spits out buffers that don\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\n"
    },
    {
      "commit": "2a4d22d79e927f2245537921e10fc5fda1c47a29",
      "tree": "1452ec4c157a5f701d4aea84f2107477d5324d94",
      "parents": [
        "2b82e9652ba049e754c2cc74e381282f231d5fbf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 08 14:32:20 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 11:41:43 2010 -0700"
      },
      "message": "Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.\n\nChange-Id: I7150e5e7342e1117c524856b204aadcb763e06ed\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "2b82e9652ba049e754c2cc74e381282f231d5fbf",
      "tree": "8b4d7249f6a0ae009088918f19d17be00d36ea10",
      "parents": [
        "0bcae473ba1cd1d72e7cef8fbab449db060dc8d7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 06 16:43:57 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 07 09:19:25 2010 -0700"
      },
      "message": "On this particular device the hardware video decoder spits out buffers that don\u0027t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.\n\nChange-Id: I1b8fe68c1766299844fe84ebbff49cb8b3e4cc7c\nrelated-to-bug: 3070094\n"
    },
    {
      "commit": "a782d22f3eacd337c135feb12362934fc0adb6ca",
      "tree": "73939ca570485beda8d81191f3f44637ce019bc6",
      "parents": [
        "b0ade8a64d3b3bee75b544313d2047efbb9604f7",
        "b2e3954c94717e43b3dc9b880564f166cfbbc0a2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 14:13:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 05 14:13:16 2010 -0700"
      },
      "message": "am 17bc4f65: Merge \"Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\" into gingerbread\n\nMerge commit \u002717bc4f65324a823598e7671256c815bf32ddcc95\u0027 into gingerbread-plus-aosp\n\n* commit \u002717bc4f65324a823598e7671256c815bf32ddcc95\u0027:\n  Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\n"
    },
    {
      "commit": "b2e3954c94717e43b3dc9b880564f166cfbbc0a2",
      "tree": "3ebd2a7b944856cd2048a05aec0c11b4e639a9ee",
      "parents": [
        "50817931e4cb4ae0019fd13c831a2839349834c5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 10:25:34 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 05 13:53:39 2010 -0700"
      },
      "message": "Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.\n\nChange-Id: Id574a0203efcb5e565f1b0fe77869fc33b9a9d56\n"
    },
    {
      "commit": "b0ade8a64d3b3bee75b544313d2047efbb9604f7",
      "tree": "f486e2888984afdbab713ba0ae3cd8b660e00633",
      "parents": [
        "11e69dea99ca2ace7bf8eb56ce6f6528fc906813",
        "50817931e4cb4ae0019fd13c831a2839349834c5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 04 20:21:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 20:21:14 2010 -0700"
      },
      "message": "am f4619308: Merge \"fix [2835280] Add support for cancelling buffers to ANativeWindow\" into gingerbread\n\nMerge commit \u0027f461930872beb4362998642c115691bdd2e94617\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f461930872beb4362998642c115691bdd2e94617\u0027:\n  fix [2835280] Add support for cancelling buffers to ANativeWindow\n"
    },
    {
      "commit": "50817931e4cb4ae0019fd13c831a2839349834c5",
      "tree": "1492e3966d068becf59073b25ab7c23366dbbdeb",
      "parents": [
        "a007e8229fb2be4866c483f9cd6c4af238a2da5e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 01 16:22:41 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 04 20:10:11 2010 -0700"
      },
      "message": "fix [2835280] Add support for cancelling buffers to ANativeWindow\n\nThere is a new ANativeWindow::cancelBuffer() API that can be used to\ncancel any dequeued buffer, BEFORE it\u0027s been enqueued. The buffer is\nreturned to the list of availlable buffers. dequeue and cancel are not\nmutually thread safe, they must be called from the same thread or\nexternal synchronization must be used.\n\nChange-Id: I86cc7985bace8b6a93ad2c75d2bef5c3c2cb4d61\n"
    },
    {
      "commit": "11e69dea99ca2ace7bf8eb56ce6f6528fc906813",
      "tree": "2153c97b42fad60828fa79a30bcbf3a53751689d",
      "parents": [
        "deed343476e45165ed176c036c8f77b170bacfeb",
        "a007e8229fb2be4866c483f9cd6c4af238a2da5e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 18:39:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 04 18:39:52 2010 -0700"
      },
      "message": "am 6f1c7bda: Merge \"Fixed an issue where the reserved free space in the file writer was larger than intended\" into gingerbread\n\nMerge commit \u00276f1c7bda39774fe3a1febf72b03c8ad481c1ea54\u0027 into gingerbread-plus-aosp\n\n* commit \u00276f1c7bda39774fe3a1febf72b03c8ad481c1ea54\u0027:\n  Fixed an issue where the reserved free space in the file writer was larger than intended\n"
    },
    {
      "commit": "a007e8229fb2be4866c483f9cd6c4af238a2da5e",
      "tree": "48ef6f33a27a4cdba76218932db8ade197ae190e",
      "parents": [
        "3754a7901b6bed448eaecfbd29a4705b30a6b656"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 16:41:53 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Oct 04 16:54:59 2010 -0700"
      },
      "message": "Fixed an issue where the reserved free space in the file writer was larger than intended\n\nThe problem was that even though user does not explicitly request the max file size\nlimit via MediaRecorder.setMaxFileSize(), the file writer sets an implicit file\nsize limit if 32-bit file offset is used on user\u0027s behalf. The reserved free space\nis estimated based on the file size, if the file size limit is set by the user.\n\nThe fix is to add an extra bool to tell the difference between an\nexplit requested file size and an implicit file limit and use that\nto set the estimated moov box size accordingly.\n\nChange-Id: I731aca6c7833aa764ed7b905edb77721577471b3\n"
    },
    {
      "commit": "2272ee27d9022d173b6eab45c409b3c3f57f30ec",
      "tree": "42fd86597781bdf6b3795907ec1d086b0b549a5c",
      "parents": [
        "0335b70c6cdbe96650d4bed817f9233cd8db1c6d"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Sep 20 23:40:41 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Mon Oct 04 22:14:53 2010 +0900"
      },
      "message": "Update of DRM framework.\n\n  - Change \"void\" type of return value to \"int\" for returning status.\n  - Add some of overloaded Java APIs which accept database Uri as input.\n  - Add asynchronous APIs\n  - Add OnEventListener and OnErrorListener for asynchronous APIs\n  - Disable debug log\n  - Change decrypt() API to accept an optional buffer needed by some of DRM schemes\n\nChanges are incorporated by Sony Corporation.\n\nChange-Id: I414a165e22cc79be6ea7cd28041788aa2b6b8f7c\n"
    },
    {
      "commit": "b3788b6d0f5a003d3d3e621ad605e2f3f4cb11e8",
      "tree": "9a482922a4ad3cbceb79b2646a505e2f03fe5d7c",
      "parents": [
        "1720ba0dd73f807cd9b6d90ffbfa581e18b6de08",
        "44d9848d6656777a18019223e0d35f2fcc67719a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 17:47:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 30 17:47:07 2010 -0700"
      },
      "message": "am 220ab887: Merge \"Issue 3032913: improve AudioTrack recovery time\" into gingerbread\n\nMerge commit \u0027220ab8877b234e6807b7f6d9028ba55d23220301\u0027 into gingerbread-plus-aosp\n\n* commit \u0027220ab8877b234e6807b7f6d9028ba55d23220301\u0027:\n  Issue 3032913: improve AudioTrack recovery time\n"
    },
    {
      "commit": "44d9848d6656777a18019223e0d35f2fcc67719a",
      "tree": "fe71003d3400dcbdfe078f8d8fad1b1fde960b2c",
      "parents": [
        "922855214d0e8ae4159794d7f751f780b3243552"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 16:12:31 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 30 17:21:23 2010 -0700"
      },
      "message": "Issue 3032913: improve AudioTrack recovery time\n\nThis issue showed that when an AudioTrack underruns during a too long period\nof time and is therefore disabled by audioflinger mixer, it takes an additional\ndelay of up to 3 seconds to recover.\nThis fix adds a simple mechanism to recover immediately when the client application\nis ready to write data again in the AudioTrack buffer\n\nAlso throttle warnings on record overflows\n\nChange-Id: I8b2c71578dd134b9e60a15ee4d91b70f3799cb3d\n"
    },
    {
      "commit": "10d64915079bfb316a3949fe7fa35dca37a92af4",
      "tree": "daf0a730f42ffefdb1d811f197c11a7e9d30f3f4",
      "parents": [
        "668549b81b97fe706d15d5f6d4b767f63796e022",
        "6fd2b44b156c4ef28e131183f0fe8f7dcecfcc6e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 12:05:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 12:05:08 2010 -0700"
      },
      "message": "am be045061: Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread\n\nMerge commit \u0027be0450619528e65eebfa1d7eab78fde757d094cc\u0027 into gingerbread-plus-aosp\n\n* commit \u0027be0450619528e65eebfa1d7eab78fde757d094cc\u0027:\n  Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n"
    },
    {
      "commit": "6fd2b44b156c4ef28e131183f0fe8f7dcecfcc6e",
      "tree": "d5313827aae770a8d4cef80b43c7030d8cb1f159",
      "parents": [
        "8211da9eabe28037ebcc23bbfbbe20cb21cb0cdc",
        "ed54ad0f8619ae416b0968ade6248894cbfc4dba"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 12:02:35 2010 -0700"
      },
      "message": "Merge \"Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\" into gingerbread"
    },
    {
      "commit": "ed54ad0f8619ae416b0968ade6248894cbfc4dba",
      "tree": "87a03bed454558ee3dee7826b9fb7e30fdf707b7",
      "parents": [
        "db6222212528637d8f2afa7f49fc3c8c915bafbe"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:56:39 2010 -0700"
      },
      "message": "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.\n\nChange-Id: I43875b6adaf96d4e982ef3dfc3d6c8f7034ac51d\nrelated-to-bug: 3036592\n"
    },
    {
      "commit": "668549b81b97fe706d15d5f6d4b767f63796e022",
      "tree": "d0d7ba4f6fb3477b81dc3f5664f0151f482fb699",
      "parents": [
        "cdcd43b47c881aa34b3a6c396e91d0c1b4f3674a",
        "8211da9eabe28037ebcc23bbfbbe20cb21cb0cdc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:48:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 11:48:44 2010 -0700"
      },
      "message": "am 4769f579: Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread\n\nMerge commit \u00274769f57948455277d0670ef18f64824ca5d894c1\u0027 into gingerbread-plus-aosp\n\n* commit \u00274769f57948455277d0670ef18f64824ca5d894c1\u0027:\n  Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n"
    },
    {
      "commit": "8211da9eabe28037ebcc23bbfbbe20cb21cb0cdc",
      "tree": "49209f72516de17d917d978856ffb43321c71bf7",
      "parents": [
        "640d660f03b2dd52969ebcdf57d1d4b371581781",
        "db6222212528637d8f2afa7f49fc3c8c915bafbe"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:46:41 2010 -0700"
      },
      "message": "Merge \"Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\" into gingerbread"
    },
    {
      "commit": "cdcd43b47c881aa34b3a6c396e91d0c1b4f3674a",
      "tree": "611c3087db722f8f01cd04cb48de6fcba629fea6",
      "parents": [
        "2658b3f8736a378ad5956aefed069387808d8cd3",
        "640d660f03b2dd52969ebcdf57d1d4b371581781"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:35:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 11:35:22 2010 -0700"
      },
      "message": "am 3a9cc8ce: Merge \"Squashed commit of the following:\" into gingerbread\n\nMerge commit \u00273a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7\u0027 into gingerbread-plus-aosp\n\n* commit \u00273a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "db6222212528637d8f2afa7f49fc3c8c915bafbe",
      "tree": "b60b0bc64fb9e028a566002cd61e614e593f4618",
      "parents": [
        "02fa834249a01144d6f23137951538600aa5d611"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 09:16:21 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 28 11:26:03 2010 -0700"
      },
      "message": "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.\n\nrelated-to-bug: 3036592\nChange-Id: Ib142b171c829ed74156c0281d9d4543fcc96c802\n"
    },
    {
      "commit": "0da4dab0a45a2bc1d95cbc6ef6a4850ed2569584",
      "tree": "4150ff394b0a10838310b9b228a8e378d64b1a88",
      "parents": [
        "676570f3c6b41e8b854cb31e8ceaa370980eb6fc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 12:04:43 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 27 12:04:43 2010 -0700"
      },
      "message": "Squashed commit of the following:\n\ncommit 29a4d3effb05a2e074cb0693316ab1977baeb0b6\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 12:01:32 2010 -0700\n\n    Fully working implementation of MPEG2TSWriter (for AAC and AVC sources).\n\n    Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84\n\ncommit f4dec4c3899f3be393508e180d6c07e249d3335e\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 10:36:31 2010 -0700\n\n    More reliable identification of MPEG2 transport streams. Don\u0027t keep scanning forever in case the stream does not have both audio and video tracks.\n\n    Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7\n\ncommit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Sep 27 08:23:39 2010 -0700\n\n    test code\n\n    Change-Id: I16560a17661407d06497f99ff88230724bb898af\n\ncommit 64d988b24f49f179a90fa677be11c823959e734b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Sep 23 14:42:52 2010 -0700\n\n    First shot at supporting writing to an MPEG2 transport stream.\n\n    Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74\n\nChange-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc\n"
    },
    {
      "commit": "4d6205a5ceb3e53cdcbf4f473e7bb1509503c1c5",
      "tree": "d49e1542fdd694cc4965662cd2b4799de0526ee4",
      "parents": [
        "ee7797e08ca6cdcc1a4d3663f83946a11287ab74",
        "43d4f743a9990cebc999d670ffb5a06133b80a54"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 21 15:17:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 15:17:42 2010 -0700"
      },
      "message": "am 67738486: Merge \"Remove stagefright foundation\\\u0027s incompatible logging interface and update callsites.\" into gingerbread\n\nMerge commit \u002767738486d9d1bdc2e6fb0c04698fd74de689acbc\u0027 into gingerbread-plus-aosp\n\n* commit \u002767738486d9d1bdc2e6fb0c04698fd74de689acbc\u0027:\n  Remove stagefright foundation\u0027s incompatible logging interface and update callsites.\n"
    },
    {
      "commit": "6e4c5c499999c04c2477b987f9e64f3ff2bf1a06",
      "tree": "d19a0fc9db90d33a693f0e64cc79c31f38d414c4",
      "parents": [
        "425587d4566c1667448bf91fa452b4def8b6cedb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 21 13:13:15 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 21 15:12:19 2010 -0700"
      },
      "message": "Remove stagefright foundation\u0027s incompatible logging interface and update callsites.\n\nChange-Id: I45fba7d60530ea0f233ac3695a97306b6dc1795c\n"
    },
    {
      "commit": "470644a573b24bc13e0e357a01902322dee0a716",
      "tree": "dacca2b87bbf27c8a9004bcb9c22f395f8cad422",
      "parents": [
        "6901625dcb847871e23f04b9a282dc5d313a1d57",
        "ac4205c9064ca961883b1ccf2ce565e449c0983e"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 08:57:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 08:57:15 2010 -0700"
      },
      "message": "am d45cb72a: Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nMerge commit \u0027d45cb72ac0d7d57829ffc9223decb89a5fc42ce2\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d45cb72ac0d7d57829ffc9223decb89a5fc42ce2\u0027:\n  Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n"
    },
    {
      "commit": "ac4205c9064ca961883b1ccf2ce565e449c0983e",
      "tree": "5d741e2a6731ad4c2707f9bc689609cbbbda421c",
      "parents": [
        "1c1503cf47c0a37a30e7acac2c5d29140fc61a5f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 20 16:15:32 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 08:46:32 2010 -0700"
      },
      "message": "Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nThis constant is not public yet. Continuous autofocus should\nbehave differently in still camera and camcorder. In camcorder,\nlens movement may be more smooth. And the triggers to start a\nnew focus search may be different. If there is a need,\nFOCUS_MODE_CONTINUOUS_PHOTO can be added in the future.\n\nChange-Id: I05df9e491aca37829be3df92a73b952f26c86a4a\n"
    },
    {
      "commit": "a43fed707fcea14b3dd048ef9d9359fcb24b90bb",
      "tree": "0093daf5a7f57d287324c566f7f93f7cf1e9f9cc",
      "parents": [
        "f3915937c4af4d5a10cb7c2429e4fd323b69a087",
        "27ed8ad2db653f6ac07dcf8bcc05e2409c8bb024"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Sep 10 09:53:43 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Sep 10 09:53:43 2010 -0700"
      },
      "message": "resolved conflicts for merge of 56aa3c76 to gingerbread-plus-aosp\n\nChange-Id: I3d36a665f93f976824592edf35f6d6a205cc7617\n"
    },
    {
      "commit": "fbf7162465ee5b9e928d5676d439a475c93b0725",
      "tree": "6b84c3e80a2e601746380ce601256f2cb2961b85",
      "parents": [
        "54c38fdcff502ab3502c55dd314a954dd60c0183",
        "3c3763d2ee1cd1fba7fe522fbaf0faca315d8c2a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 08 17:51:59 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 08 17:51:59 2010 -0700"
      },
      "message": "Merge \"HW audio encoder expects timestamp via kKeyTime from each input buffer\" into gingerbread"
    },
    {
      "commit": "3c3763d2ee1cd1fba7fe522fbaf0faca315d8c2a",
      "tree": "4763aa3d027e3583625cdf3a2eeca8720b7a8f15",
      "parents": [
        "f9c0ae8474dc7180a561ed1e7a8ba3d0d31f6d38"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 08 15:07:21 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 08 17:28:57 2010 -0700"
      },
      "message": "HW audio encoder expects timestamp via kKeyTime from each input buffer\n\n- This fixes media server crashes on droid\n\nChange-Id: I7191cadc5275107425ec3ee3d437b2c5295858dc\n"
    },
    {
      "commit": "54c38fdcff502ab3502c55dd314a954dd60c0183",
      "tree": "262ae2c34f5eb7e695994ccc3d79c8da097d12d5",
      "parents": [
        "f9c0ae8474dc7180a561ed1e7a8ba3d0d31f6d38"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 08 16:06:18 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 08 16:06:18 2010 -0700"
      },
      "message": "Modify type of some environmental reverb parameters\n\nChanged type of decay time, reverb delay and reflections delay parameters\nfrom signed to unsigned int to match OpenSL ES interface definition.\n\nAlso fixed some type casts in lvm reverb wrapper.\n\nChange-Id: I5ca5e76a87c2590f01f031f3168355586ef22556\n"
    },
    {
      "commit": "8ae49d87b98d57d6758b0c51b95e28a6581a79f1",
      "tree": "933481633972404d9b57c3afee53d686dd4e1226",
      "parents": [
        "1a4c79eada496dc43918440608f15410eaecd28c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 03 14:09:21 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 03 14:31:50 2010 -0700"
      },
      "message": "Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer\u0027s setLooping setting.\n\nChange-Id: Ifb564c6cdf6137eac14869f9ca7d471f05a5556a\nrelated-to-bug: 2974691\n"
    },
    {
      "commit": "b4d5320bda29cd9694461c9b61d0211f801ff0af",
      "tree": "2d81a098853c18e898709ec13ec0673d8657e10e",
      "parents": [
        "1f90c4b3fda9dbd2824d67fd679f850572f114dc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 02 10:49:55 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 03 10:13:19 2010 -0700"
      },
      "message": "Remove unused/debugging code from MP4 file writer\n\no also makes nal length in the recorded file modifiable at runtime\n\nChange-Id: I731b4dde7070d8d9628b36b523a5b2c011c7c2cf\n"
    },
    {
      "commit": "1f90c4b3fda9dbd2824d67fd679f850572f114dc",
      "tree": "74e1debb8712fcd84d5b7bb269052a277a74cec4",
      "parents": [
        "bd057752e8054ff516b9d2c17b70b666fc791559"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 02 11:19:11 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 02 20:10:00 2010 -0700"
      },
      "message": "Better file size estimate\n\nWhen the recorded file becomes large, the metadata size can\nno longer be ignored. This makes it possible to save the\nrecorded file when the storage becomes almost full at the\nend of the recording session.\n\nChange-Id: Ief038080f825c9946ce550949c03e914aec1e31a\n"
    },
    {
      "commit": "d707fcb3e29707ca4a5935c294ef0b38eb5aba5f",
      "tree": "8f223d9d5656ba34a0fdfe2e7ee4992f7a0bf3e3",
      "parents": [
        "9b93478fef2915a1d0cbb1fe17d2788ef8b5b230"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 01 18:48:35 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 01 20:45:39 2010 -0700"
      },
      "message": "Calculate audio media drift time from AudioSource\n\nThe problem was that the time to receive an output buffer\nfrom an audio encoder is different because the encoder does not\nneed to read from the source for all output buffers. This leads\nto large fluctuation in terms of wall clock duration between two\nneighboring audio sample outputs from the audio encoder. As a\nresult, the media time for the video track after adjustment using\nthe drifting changes wildly sometimes.\n\nThis patch addresses this issue by only updating the media drift\ntime when an audio source input buffer is read. the wall clock\nfor the audio track is also calculated at the same time when\nthe input audio buffer is read at AudioSource.\n\nbug - 2959800\n\nChange-Id: I3174aa182f744784b540f0a7198524d4eee8bd7b\n"
    },
    {
      "commit": "27ed8ad2db653f6ac07dcf8bcc05e2409c8bb024",
      "tree": "fa6b8100202640a8b9aec4b90271984f8e2c4336",
      "parents": [
        "f1a97e53a58f47afa17a9b0d3a5cc9abf7e5ed19"
      ],
      "author": {
        "name": "aimitakeshi",
        "email": "aimitakeshi@gmail.com",
        "time": "Thu Jul 29 10:12:27 2010 +0900"
      },
      "committer": {
        "name": "aimitakeshi",
        "email": "aimitakeshi@gmail.com",
        "time": "Wed Sep 01 15:40:00 2010 +0900"
      },
      "message": "  Initial contribution from Sony Corporation.\n\n  Add DRM Framework to support DRM content playback\n  together with StageFright.\n\n  - DRM Framework code is added\n     - include/drm\n     - drm\n  - api/current.xml is updated to include DRM Framework Java APIs\n  - cmds/servicemanager/service_manager.c is modified\n    to add drmManager and drmIOService.\n\nChange-Id: I6d7bc9c7067362b500e530988a9ce241761866fb\n"
    },
    {
      "commit": "541d7655d9dc0322eb616e17b6767365bf64e3ed",
      "tree": "d0ef214330535305569cff32621e1b0f4608cace",
      "parents": [
        "1c842b26ebbf64d15b6015b9a03d888829b946ef"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 27 15:39:46 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Aug 30 13:33:53 2010 -0700"
      },
      "message": "Remove camera metering mode API.\n\nMetering mode is not supported yet.\n\nChange-Id: Id6906d6ab0cd1a9dcbc5c303d8d5081b2cda699e\n"
    },
    {
      "commit": "c01ec02269e3bf1fd57620149085407bf6750447",
      "tree": "38b18040d9e215c703a1688f52912e98d6f139e2",
      "parents": [
        "824c9ff4a55e86faae4f8f158977329909cbfaf6",
        "a814c1fdc2acf0ed2ee3b175110f6039be7c4873"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 30 10:28:24 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 30 10:28:24 2010 -0700"
      },
      "message": "Merge \"ALoopers can now be named (useful to distinguish threads).\" into gingerbread"
    },
    {
      "commit": "a814c1fdc2acf0ed2ee3b175110f6039be7c4873",
      "tree": "bdeb2c9b722b0307041d4906961f235a3cfabcbe",
      "parents": [
        "f8860bf3592debe89916aa49b7994a7deeee0df1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 15:21:07 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 27 15:21:07 2010 -0700"
      },
      "message": "ALoopers can now be named (useful to distinguish threads).\n\nChange-Id: Ieabaddb2e3a9e3a7a5bc36e55cd0721b60dbd50e\n"
    },
    {
      "commit": "824c9ff4a55e86faae4f8f158977329909cbfaf6",
      "tree": "945b5b767cce0533fe3bbf4f01b54de42ca1c305",
      "parents": [
        "352c4683820c31eaad63e52a47d0d442bfe2c193"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 26 19:12:59 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 27 13:59:26 2010 -0700"
      },
      "message": "Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder\nis occasionally too small.\n\nbug - 2882917\n\nChange-Id: Id59d8529084c5689a26f272e0cd3b1e955fd8a30\n"
    },
    {
      "commit": "352c4683820c31eaad63e52a47d0d442bfe2c193",
      "tree": "4df9fbef2930ff8990a10cb47b45b29155cb0532",
      "parents": [
        "f8860bf3592debe89916aa49b7994a7deeee0df1",
        "f1ae1963f5028a670573b50a9c1cfb504fc426b4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 27 13:47:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 27 13:47:06 2010 -0700"
      },
      "message": "Merge \"Suppress the video recording start signal - bug 2950297\" into gingerbread"
    },
    {
      "commit": "d7c43d3d1ec96e3e3a9ed1faf3ccb2edc949b390",
      "tree": "f9b24515784310f4055f3a9cc3e2eec071a9b778",
      "parents": [
        "640a72ecf2feb1ee5152d70234ff48d3be0e5ddf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 26 17:42:27 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 26 17:42:27 2010 -0700"
      },
      "message": "fix a race in SF buffer management\n\nalso remove some unused code.\n\nChange-Id: Iae2c3309b7a08055f3e13a5b866c5c084993e352\n"
    },
    {
      "commit": "f1ae1963f5028a670573b50a9c1cfb504fc426b4",
      "tree": "2d983bc2400e9675c0cab6c06e80cfefadeded4f",
      "parents": [
        "1b07372a4004fec0ac9ab296741060ac348476ae"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 26 16:28:17 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 26 16:56:49 2010 -0700"
      },
      "message": "Suppress the video recording start signal\n- bug 2950297\n\nChange-Id: I0044d07178691feb904cf81e87c1b6d4b714dc1a\n"
    },
    {
      "commit": "f0bfaa8f56ddcfbebc129ecb45335218c39506f0",
      "tree": "36ea6479b63cb81bbea898fcff1272eaf45bd86b",
      "parents": [
        "81ce48911035569c934e6555c2c94c6c19aec968",
        "97344f1d8e8e95fd07d5deee2ae2492a7e4c24b0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 25 15:09:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 25 15:09:10 2010 -0700"
      },
      "message": "Merge \"Added preset reverb.\" into gingerbread"
    },
    {
      "commit": "5a1c3529e4fa2f8a11054181294e0ce79fff8dd3",
      "tree": "06386bceb568bf27c3fff03139ac0745ec1c4eba",
      "parents": [
        "fce49325d807c278229a594c1cc866e21da0e155"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 11:09:41 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 25 13:08:38 2010 -0700"
      },
      "message": "Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.\n\nChange-Id: Icb77ae3ee95a69c7da25b4d3b8696c0a2d33028a\nrelated-to-bug: 2948754\n"
    },
    {
      "commit": "97344f1d8e8e95fd07d5deee2ae2492a7e4c24b0",
      "tree": "294d749c237f399295fd80ab5e03393c5b9cb160",
      "parents": [
        "afb68fbf65fad41fdd8da333a61278588e735846"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 14:21:57 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 24 17:32:48 2010 -0700"
      },
      "message": "Added preset reverb.\n\nModified lvm reverb wrapper code to expose a preset reverb interface.\nAlso removed debug log from bundle and reverb wrapper.\n\nChange-Id: If9b95d91e25a6ff834decdfdda34b17df9b46967\n"
    },
    {
      "commit": "92235649a45e1b84f43e3c906c57eea7886a426c",
      "tree": "38e6a9b92fe3b249553964bd9fb59963b2a4cccf",
      "parents": [
        "01f0908b3e8c759a9fcd565f6bc6cc6c4033678f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 19 17:01:19 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 24 15:40:50 2010 -0700"
      },
      "message": "fix [2931513] Add support for setting the orientation of an ANativeWindow\n\nAlso implement support for cropping.\n\nChange-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280\n"
    },
    {
      "commit": "dedf414d3fe2e79ee0aad0f1c82ca16ebd886ff6",
      "tree": "c9b53443c9b06bc42ad07d57c701bbf10137bcb7",
      "parents": [
        "482482401095d5fc98f89b4a3ce43d41c00fffd7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 18 03:32:26 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 23 10:34:05 2010 -0700"
      },
      "message": "Runtime dump support for MediaWriter\n\nChange-Id: I10b2c474de612ee4cef4b7c9eae2ee1dd8c2e895\n"
    },
    {
      "commit": "482482401095d5fc98f89b4a3ce43d41c00fffd7",
      "tree": "3b3f4a3094e7c68517cf09c24d3f2fb31426706d",
      "parents": [
        "be6fd201b9a04fe0f8fd409f10595ddb41832591",
        "dbd2b7e4ebfe7a586b1db4459cf6aa032a7f8719"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Aug 22 18:31:15 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 22 18:31:15 2010 -0700"
      },
      "message": "Merge \"Visualizer: replace the FFT implementation with a faster one.\" into gingerbread"
    },
    {
      "commit": "817afcfe5679ab1251576c478c137488592cf7c2",
      "tree": "b0b3c6558ad0da389cb6d4a3f74ca82d393b2584",
      "parents": [
        "225f65f50561a8cfe588c3caf0ba93a06abd27aa",
        "04379fa9a001934373bf17358978c753c7e4e8b5"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 20 11:19:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 20 11:19:51 2010 -0700"
      },
      "message": "Merge \"Add camera fps range API.\" into gingerbread"
    },
    {
      "commit": "04379fa9a001934373bf17358978c753c7e4e8b5",
      "tree": "c347afbf244a02c356751ba817fd47254ef94e26",
      "parents": [
        "f1cca5ade334859bf23cf8aa5e73bad653681c8c"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Aug 11 16:48:05 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Aug 20 11:14:17 2010 -0700"
      },
      "message": "Add camera fps range API.\n\nOriginal preview frame rate API assumes the frame rate\nis fixed. It does not not work with auto frame rate camera.\n\nChange-Id: I38f7122ac8ec844ffd63558dc0763ffa17b0926a\n"
    }
  ],
  "next": "225f65f50561a8cfe588c3caf0ba93a06abd27aa"
}
