)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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\""
    },
    {
      "commit": "08ad5efcef90e24db2863c0f85972ed05fe848a2",
      "tree": "f2eff3f033d360ac8043ba4f6ffa2d11520bebee",
      "parents": [
        "9bd23229fdec1657398abc682ccccfce1c95f8aa"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Apr 19 12:35:00 2012 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Apr 19 12:53:56 2012 +0800"
      },
      "message": "Remove new camera connect API.\n\nApplications are not resumed under the lock screen now.\nThis API is not needed anymore.\n\nbug:5584464\nChange-Id: I115daf6b647348617ec0fc05b626878c945b9b29\n"
    },
    {
      "commit": "f28c8792f64e10c3c477d86bf4804a8566ff524e",
      "tree": "6699a532aeae112ce0be9dcf1bfa3f05493481ab",
      "parents": [
        "9bd23229fdec1657398abc682ccccfce1c95f8aa"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 18 18:38:42 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 18 18:38:42 2012 -0700"
      },
      "message": "Turn off debug in downmix effect\n\nChange-Id: I4eda43166d23b3297cf769056a6db720401799aa\n"
    },
    {
      "commit": "3476de62fb10e76412452ef4c6bd71936c9f7db1",
      "tree": "9c814922fd33670a7cdd23c9597cbd19ad5e1ef9",
      "parents": [
        "fbe308d428e42fe249ec317f76e3d11feb3264d5"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Apr 15 17:15:07 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 18 18:27:39 2012 -0700"
      },
      "message": "Add support for scaling mode parameter\n\nSupport VISUALIZER_PARAM__SCALING_MODE parameter.\n\nModify process() function to use new volume scaling parameter,\n used to set whether captured values are maximized by current\n headroom in the buffer (default existing behaviora) or left\n as is and thus affected by volume.\n\nModify AudioEffect to allow subclasses to override the following\n events: control status changed, enable status changed, command\n executed.\nIn Visualizer class (a subclass of AudioEffect), reset the\n scaling mode and capture size on the actual effect\n as cached when control is regained.\n This will allow the effect to be properly\n configured whenever Visualizers with different scaling\n modes or capture sizes are released (e.g. from java\n release() method).\n\nChange-Id: I05cb9f925a296dceca91bafa9fe294ef2b2c2bd5\n"
    },
    {
      "commit": "692ac36c4b6a09fed5113a4f45f00a041665a769",
      "tree": "ef8feed68e5caaa9523a0dba8cfbe0fc6659e49d",
      "parents": [
        "52bef17f5953cd07b1655a3371d833f4de01caae"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 18 17:01:53 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 18 17:06:21 2012 -0700"
      },
      "message": "Make timed text source type explicit in TimedTextDriver\n\no related-to-bug: 5542712\n\nChange-Id: Ifdc730e616336e8b16783e8a5766f27df62a0592\n"
    },
    {
      "commit": "0ca3cf94c0dfc173ad7886ae162c4b67067539f6",
      "tree": "bc156e7822e663626b78ec2ad09ef3970fbb48c5",
      "parents": [
        "ee685f6d19a6cc3b0bf02e69eb5dea11a2aeb601"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 18 09:24:29 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 18 15:04:46 2012 -0700"
      },
      "message": "rename audio policy output flags\n\nChange-Id: I27c46bd1d1b2b5f96b87af7d05b951fef18a1312\n"
    },
    {
      "commit": "ee685f6d19a6cc3b0bf02e69eb5dea11a2aeb601",
      "tree": "5094cbde555e23f9514ae394cd17d1e2195d4ac4",
      "parents": [
        "c34ee0429c4663a97f6a5c342633eeac46de081e",
        "8add6cf4976de9b7bca7b73b1473a1e5f7201087"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 18 14:50:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 14:50:38 2012 -0700"
      },
      "message": "Merge \"Set gralloc consumer usage bits in SurfaceMediaSource.\""
    },
    {
      "commit": "c34ee0429c4663a97f6a5c342633eeac46de081e",
      "tree": "21766854964496809e8a75cf1122532164cea72b",
      "parents": [
        "e1083a99b6d4de9dbd4ee546324ef346380581ee",
        "f69e53033f23f9f70fcdb28a3c2e650de0147459"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 18 13:22:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 13:22:46 2012 -0700"
      },
      "message": "Merge \"Some refactoring and cleanup of now obsolete crypto fields.\""
    },
    {
      "commit": "f69e53033f23f9f70fcdb28a3c2e650de0147459",
      "tree": "3654454a30b35e3060d6aef8bec5e56bb8696af6",
      "parents": [
        "97b5d0d5b5ef766eb5dd680d05a5d199662d4ae0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 18 12:22:58 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 18 12:22:58 2012 -0700"
      },
      "message": "Some refactoring and cleanup of now obsolete crypto fields.\n\ncodec commandline tool no longer supports decryption.\n\nChange-Id: I7b10be6524631b20ac5d361d47949b00addf4a93\n"
    },
    {
      "commit": "13692a5d885405701a8a9b16af98a2e693085216",
      "tree": "8d3c3e43bc11d0dd19116117522ffad292e692f8",
      "parents": [
        "97b5d0d5b5ef766eb5dd680d05a5d199662d4ae0",
        "9d06df4ecfe39e7e46873f7cd75a71e32a01d4f7"
      ],
      "author": {
        "name": "Eddy Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Apr 18 10:34:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 10:34:57 2012 -0700"
      },
      "message": "Merge \"Fixed leaks in SurfaceMediaSource_test\""
    },
    {
      "commit": "52bef17f5953cd07b1655a3371d833f4de01caae",
      "tree": "e0e800e83a0f1befa071fd215bf331155367d675",
      "parents": [
        "f7ffb8bf0a58037f0bc9662c5275005a4e539948",
        "eec46abb88dcc50621fd2d3f17a6b8d24fd07a19"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 17 19:32:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 19:32:13 2012 -0700"
      },
      "message": "Merge \"Fix for multiple audio/timed track feature implementation - part one\""
    },
    {
      "commit": "095c2da8d6c2058b02142c940f6e6346d6581780",
      "tree": "b71ae20e524e816542771d1cb761049eafe7b9fa",
      "parents": [
        "99a80e10f2d0e88c0509a298bdd1df0308b55a7b"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu Apr 12 17:09:00 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Apr 17 18:48:42 2012 -0700"
      },
      "message": "Make AAC 5.1 work\nFix bug with pausing audio\n\nChange-Id: Icd6b095dac8d1a68b027de853d11ae02cc070b10\n"
    },
    {
      "commit": "4835705370584f6904c80afebcc6e8b9fdb110a5",
      "tree": "a6569e176526eb2785a3953801d3dc55d85bd6ac",
      "parents": [
        "183058b1515e276a03d5aae28c7814f367a7b330"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 17 15:01:10 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 17 15:01:10 2012 -0700"
      },
      "message": "NuMediaExtractor accidentally returned what looked like errors to the caller...\n\nChange-Id: Iec0c62ba98c8a8afc5cb423a76b8f53778aeb867\nrelated-to-bug: 6276111\n"
    },
    {
      "commit": "183058b1515e276a03d5aae28c7814f367a7b330",
      "tree": "a014f4c46ed4fd5048b0b4ef2f475dc58c13c4f1",
      "parents": [
        "eee482b84bb456e87fa42e8ad02fd2d803839586",
        "1608735ef488ecd8c3c012a3b0d4b1d4ef3d93c7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 17 11:25:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 11:25:29 2012 -0700"
      },
      "message": "Merge \"Support widevine:// URLs in NuMediaExtractor / java MediaExtractor.\""
    },
    {
      "commit": "1608735ef488ecd8c3c012a3b0d4b1d4ef3d93c7",
      "tree": "c77756706095cdb6852e56392e8365bcaa7d9232",
      "parents": [
        "a98db787397633155fd71b06ecaa765a7ad20cf2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 13 14:54:36 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 17 11:22:11 2012 -0700"
      },
      "message": "Support widevine:// URLs in NuMediaExtractor / java MediaExtractor.\n\nAllow anyone to talk to drm services.\n\nChange-Id: I5c2f3c419d01de30c3d6e2bc85b1fe5c9c37b392\nrelated-to-bug: 6276111\n"
    },
    {
      "commit": "eee482b84bb456e87fa42e8ad02fd2d803839586",
      "tree": "0e89c90dc86877dcfbc05b88f609bafc04886e34",
      "parents": [
        "4e2293f29f2e719af1245d365747ea06d074b345",
        "2120fe5bd4e14b53d8bef4a220e8a32830cf8cf9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 17 07:19:36 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 07:19:36 2012 -0700"
      },
      "message": "Merge \"ToneGenerator requests fast track\""
    },
    {
      "commit": "9d06df4ecfe39e7e46873f7cd75a71e32a01d4f7",
      "tree": "ef69b0f39d2992098afab3e530bdf2a51da83bb6",
      "parents": [
        "a98db787397633155fd71b06ecaa765a7ad20cf2"
      ],
      "author": {
        "name": "Daniel Lam",
        "email": "dalam@google.com",
        "time": "Mon Apr 16 22:47:07 2012 -0700"
      },
      "committer": {
        "name": "Daniel Lam",
        "email": "dalam@google.com",
        "time": "Mon Apr 16 22:47:07 2012 -0700"
      },
      "message": "Fixed leaks in SurfaceMediaSource_test\n\nmEglSurface was being reused which resulted in\nEGLSurfaces being lost.\n\nChange-Id: Ica07cd24b0e4f3d4b2156f55b7de8e83d5466136\n"
    },
    {
      "commit": "2120fe5bd4e14b53d8bef4a220e8a32830cf8cf9",
      "tree": "1de225f1859d80bff8323c89411e6fb4515ec4ac",
      "parents": [
        "fbe308d428e42fe249ec317f76e3d11feb3264d5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 11 12:33:31 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 16 15:56:17 2012 -0700"
      },
      "message": "ToneGenerator requests fast track\n\nAlso add comments to AudioTrack::set() parameter list\n\nChange-Id: I28c76e9d813778d86b15d75cf7f01a17c258b6d9\n"
    },
    {
      "commit": "99a80e10f2d0e88c0509a298bdd1df0308b55a7b",
      "tree": "09b41dfbf809c560fdeebb433a725041ef3fe517",
      "parents": [
        "a5e821439996de6005b2fa36b3bdd31f003ce23f",
        "77d837ae86c791c46ce019b58e09ac62780bf973"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 16 14:56:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 14:56:12 2012 -0700"
      },
      "message": "Merge \"Order of evaluation of parameters is not specified\""
    },
    {
      "commit": "8add6cf4976de9b7bca7b73b1473a1e5f7201087",
      "tree": "ada5e81de0598988dfc4f190b898ea831ccefb43",
      "parents": [
        "1803c3ae573e5fa3f3a1abe24ae802e30e5d5495"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Apr 13 16:06:16 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Apr 16 14:07:26 2012 -0700"
      },
      "message": "Set gralloc consumer usage bits in SurfaceMediaSource.\n\nBufferQueue is no longer setting these for its endpoints; set the bits\nto GRALLOC_USAGE_HW_VIDEO_ENCODER | GRALLOC_USAGE_HW_TEXTURE.  In the\nlonger term, the set flags should be just\nGRALLOC_USAGE_HW_VIDEO_ENCODER, but that requires other changes.\n\nChange-Id: I4170658de49bf88d829d34605a15684e72a90706\n"
    },
    {
      "commit": "77d837ae86c791c46ce019b58e09ac62780bf973",
      "tree": "4d4b7ec2d5a4699dc0c6fb650d6ff2c5c7242ebe",
      "parents": [
        "fbe308d428e42fe249ec317f76e3d11feb3264d5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 16 14:01:22 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 16 14:01:22 2012 -0700"
      },
      "message": "Order of evaluation of parameters is not specified\n\nChange-Id: Id545e54c2ec8ed2f70ede630542ed999a9b2c5e2\n"
    },
    {
      "commit": "eec46abb88dcc50621fd2d3f17a6b8d24fd07a19",
      "tree": "0b3e4cfec4f7f76a99bc82907c205253fb7c2ebe",
      "parents": [
        "25736fd247ba757feefe15d3071f7e747c64fea4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 11 17:56:22 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 16 12:08:10 2012 -0700"
      },
      "message": "Fix for multiple audio/timed track feature implementation - part one\n\no getTrackInfo now returns all tracks, rather than just the timed text tracks.\no the index of the track info is kept to the same as the track index if the\n  track is not from an external source\no correctly maps the selectTrack() and unselectTrack() calls to the right\n  track index\n\no TODO:\n  1) note that the selectTrack() and unselectTrack() only works for timed text\n  track at present; 2) the lock is timed text specific\n\no related-to-bug: 6110705\n\nChange-Id: Ib1feeef2184bc992930ace0d1197b6c00a2636d7\n"
    },
    {
      "commit": "a98db787397633155fd71b06ecaa765a7ad20cf2",
      "tree": "312df209f64c9ed371bb7855ca6243352207fd62",
      "parents": [
        "b388e531613730572067e193b6b66afb5d042233",
        "918c7652b9a38c02e26c0c46541cea82070c0e43"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 16 11:11:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 11:11:02 2012 -0700"
      },
      "message": "Merge \"Change NuMediaExtractor\u0027s API to support different kinds of data sources.\""
    },
    {
      "commit": "fbe308d428e42fe249ec317f76e3d11feb3264d5",
      "tree": "ec5519aa319720a34151463529558d923a53d580",
      "parents": [
        "25736fd247ba757feefe15d3071f7e747c64fea4",
        "a28976b04c70cef3c8e79137478b6a7bc05608ac"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 13 16:00:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 13 16:00:41 2012 -0700"
      },
      "message": "Merge \"Make mediascanner use filedescriptors instead of paths\""
    },
    {
      "commit": "25736fd247ba757feefe15d3071f7e747c64fea4",
      "tree": "3e28d7c387df9a96a63a454270c68f1b13e918cb",
      "parents": [
        "db9b87e30a2ffe71554150e33066738ab134bc3c"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Mar 27 15:38:43 2012 +0900"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 13 13:55:24 2012 -0700"
      },
      "message": "To return default track info even if there\u0027s no metadata for a\nsubtitle track.\n\nIt would rather return empty data than return NULL data for an existing track.\n\nChange-Id: Ie0c18e6851bfbe2c471041589670a3012605b584\n"
    },
    {
      "commit": "db9b87e30a2ffe71554150e33066738ab134bc3c",
      "tree": "fe8e9e337a167f7a79823a66e66fa8d1a2e0b6f9",
      "parents": [
        "1803c3ae573e5fa3f3a1abe24ae802e30e5d5495",
        "613c8ae1b7a2b4f43b33a72dc2fff0bc8b7d4c6f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 13 13:49:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 13 13:49:37 2012 -0700"
      },
      "message": "Merge \"Add external timed text source using a passed file descriptor\""
    },
    {
      "commit": "a28976b04c70cef3c8e79137478b6a7bc05608ac",
      "tree": "3b61bb606b73f705d58d05282aa73d672cbaa9e6",
      "parents": [
        "1803c3ae573e5fa3f3a1abe24ae802e30e5d5495"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 13 13:28:12 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 13 13:46:48 2012 -0700"
      },
      "message": "Make mediascanner use filedescriptors instead of paths\n\nMedia scanner needs to open the files now, because media server doesn\u0027t\nhave the required permission.\n\nb/6330061\n\nChange-Id: I2364d93dcc0530c15676664fc4a8c306351dde08\n"
    },
    {
      "commit": "613c8ae1b7a2b4f43b33a72dc2fff0bc8b7d4c6f",
      "tree": "e301e98ae7b69f611ce9d3a9d0ab57c556ecb8cc",
      "parents": [
        "d2469c3fe382203eb7cd5060c94ed204bec98116"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 13 13:02:57 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 13 13:08:57 2012 -0700"
      },
      "message": "Add external timed text source using a passed file descriptor\n\no Also fixed a minor issue where the file length should be of type off64_t rather than size_t\n\no related-to-bug: 5542712\n\nChange-Id: I35fd8ceea0bc75e553b7f4a99932cf58ea560c4e\n"
    },
    {
      "commit": "918c7652b9a38c02e26c0c46541cea82070c0e43",
      "tree": "5ac94f452e54c8027bd3e67b773a62b047349d56",
      "parents": [
        "1803c3ae573e5fa3f3a1abe24ae802e30e5d5495"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 13 11:16:48 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 13 11:51:05 2012 -0700"
      },
      "message": "Change NuMediaExtractor\u0027s API to support different kinds of data sources.\n\nChange-Id: I080aa2ce28300a72a85751509334dbdc491936c6\nrelated-to-bug: 6276111\n"
    },
    {
      "commit": "b34364269683363ca54aeed4952937cf37da7e06",
      "tree": "f6110a12bcafb9688ce54e720d74565d792588c5",
      "parents": [
        "1fe40b374fc13c477d42b3fc59f3d21f1e552aea",
        "705868c0f2a6e85a39addefe4db9f2130627c219"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 12 08:31:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 12 08:31:00 2012 -0700"
      },
      "message": "Merge \"Make it possible to pass empty opaque data as (NULL, 0) to ICrypto.\""
    },
    {
      "commit": "1fe40b374fc13c477d42b3fc59f3d21f1e552aea",
      "tree": "6300b57f1a820e013bad812e621df7bbc5e48cd6",
      "parents": [
        "e5becb51c64cb8a3f6bbd8a417f54510567f37dd",
        "b7ddcc9460f488f0b032aeb27b52a423318a97ea"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Apr 11 23:19:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 23:19:19 2012 -0700"
      },
      "message": "Merge \"Add support for a new AAC decoder library.\""
    },
    {
      "commit": "705868c0f2a6e85a39addefe4db9f2130627c219",
      "tree": "bf8bc411b75def4b2a70589290cb3343bf8189e8",
      "parents": [
        "e5becb51c64cb8a3f6bbd8a417f54510567f37dd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 15:41:45 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 15:41:45 2012 -0700"
      },
      "message": "Make it possible to pass empty opaque data as (NULL, 0) to ICrypto.\n\nChange-Id: Ifee1744890b645e008c9aff3783625a7bfbcff27\nrelated-to-bug: 6275919\n"
    },
    {
      "commit": "e5becb51c64cb8a3f6bbd8a417f54510567f37dd",
      "tree": "79ad3e29d8f4b966825e1d71b8304b17abe05436",
      "parents": [
        "9b8ae38ac8c5384d178bfe3f61907f973b98c740",
        "f95439afa8eb2484969d4a928b0fdd6a4d3a38d7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 13:43:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 13:43:59 2012 -0700"
      },
      "message": "Merge \"Changes to add support for H263-1999/2000 formats for streaming\""
    },
    {
      "commit": "9b8ae38ac8c5384d178bfe3f61907f973b98c740",
      "tree": "a13dcc1838e5263f2044156bb7c7c7111e8004df",
      "parents": [
        "b92dee530c72c3e22f2fee585e0cc53ae9c02f2e",
        "f4b7d94062c896dca565d849c6188cd3489be257"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 13:41:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 13:41:34 2012 -0700"
      },
      "message": "Merge \"Better error logging during meta data retrieval. Fixed the stagefright\""
    },
    {
      "commit": "f4b7d94062c896dca565d849c6188cd3489be257",
      "tree": "b3bc6b1b2bc3641417e018a3235d144b1f8b285b",
      "parents": [
        "b3eb2b7e0ad11bc03344e10cc5204bdb71f0686e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 11:52:03 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 12:46:12 2012 -0700"
      },
      "message": "Better error logging during meta data retrieval. Fixed the stagefright\n\ncommandline tool to open the file to extract thumbnails from itself since\nmediaserver may not have permission to open files.\n\nChange-Id: Iabe16b3248e9bb0f266b0866a8d2ccba2ab7d2a8\nrelated-to-bug: 6321237\n"
    },
    {
      "commit": "b92dee530c72c3e22f2fee585e0cc53ae9c02f2e",
      "tree": "b3117ebee8f4566412a7c776fe99085cf906b7b0",
      "parents": [
        "b3eb2b7e0ad11bc03344e10cc5204bdb71f0686e",
        "3f9c84c0a5af83fceb8669390e2d71b75ec7b550"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 11 12:36:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 12:36:31 2012 -0700"
      },
      "message": "Merge \"audio pre processing: test code for dual mic\""
    },
    {
      "commit": "3f9c84c0a5af83fceb8669390e2d71b75ec7b550",
      "tree": "12f049ef754cdd81c720dbfbed8adfca0808f073",
      "parents": [
        "2d531e1b5865d61d5ca25d77d53017b1ad180efa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 03 15:36:53 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 11 12:17:59 2012 -0700"
      },
      "message": "audio pre processing: test code for dual mic\n\nAdded functional test code to validate effect API for\nmulti mic simplementations.\n\nAlso fixed warning in AudioFlinger.\n\nChange-Id: I07be4d2e4d17791d3626c804ba3e9f87ff26d05a\n"
    },
    {
      "commit": "f95439afa8eb2484969d4a928b0fdd6a4d3a38d7",
      "tree": "97a033b0af8ea9e66d88ee076ac6359903d0a270",
      "parents": [
        "2d531e1b5865d61d5ca25d77d53017b1ad180efa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 11:27:36 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 11:29:20 2012 -0700"
      },
      "message": "Changes to add support for H263-1999/2000 formats for streaming\n\ncontributed by sureshc@nvidia.com (and subsequently simplified)\n\nChange-Id: Ia1c2ac9233f5414ce3e4a70e42e68c1c5c35eb9d\n"
    },
    {
      "commit": "b3eb2b7e0ad11bc03344e10cc5204bdb71f0686e",
      "tree": "9cf8184d199a7a2279268009e0e6d59d4966200b",
      "parents": [
        "2d531e1b5865d61d5ca25d77d53017b1ad180efa",
        "4ee31e2603b4019e4ae76e027115f80b818527aa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 10:34:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 10:34:01 2012 -0700"
      },
      "message": "Merge \"Cache the file size in favour of extraneous seek requests.\""
    },
    {
      "commit": "4ee31e2603b4019e4ae76e027115f80b818527aa",
      "tree": "de19fad362c2250b08249c9dcb73a0bfad2d27c3",
      "parents": [
        "d2469c3fe382203eb7cd5060c94ed204bec98116"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 09:22:52 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 11 09:22:52 2012 -0700"
      },
      "message": "Cache the file size in favour of extraneous seek requests.\n\nChange-Id: Ia922b13179c69749d09cd3fccbd5c30109c28bd7\nrelated-to-bug: 6321952\n"
    },
    {
      "commit": "2d531e1b5865d61d5ca25d77d53017b1ad180efa",
      "tree": "f5b15fd8836013c8fa568596aaada9e823d0b7db",
      "parents": [
        "d2469c3fe382203eb7cd5060c94ed204bec98116",
        "bdddc659a941afdb7f4958f582c6901c07246097"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 10 18:53:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 18:53:56 2012 -0700"
      },
      "message": "Merge \"Refactored SurfaceMediaSource\""
    },
    {
      "commit": "bdddc659a941afdb7f4958f582c6901c07246097",
      "tree": "37423f7b734d26e086328f1f9b337e1499c026b8",
      "parents": [
        "3f502bfc6d04d08369cf147284c5c4c2ac7c9a0e"
      ],
      "author": {
        "name": "Daniel Lam",
        "email": "dalam@google.com",
        "time": "Fri Mar 30 16:04:43 2012 -0700"
      },
      "committer": {
        "name": "Daniel Lam",
        "email": "dalam@google.com",
        "time": "Mon Apr 09 22:58:28 2012 -0700"
      },
      "message": "Refactored SurfaceMediaSource\n\nSurfaceMediaSource takes advantage of BufferQueue to avoid\nduplicated code.\n\nChange-Id: I5e60b8eca21e6c3cf728d363cd8f3786125182d1\n"
    },
    {
      "commit": "7d5b26230a179cd7bcc01f6578cd80d8c15a92a5",
      "tree": "563086c1185e0e54770d8c60c8eec1aefdddb89f",
      "parents": [
        "4b75a9c8b93a90749bc5d22912ad0d96c12f4ecf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 04 18:54:36 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 09 11:27:14 2012 -0700"
      },
      "message": "AudioMixer uses downmix effect for multichannel content\n\nIn the AudioMixer structure associated with each track, add an object\n  that acts as the buffer provider when the track has more than two\n  channels of input in the mixer. This object, DownmixerBufferProvider,\n  gets audio from the actual buffer provider of the track, and applies\n  a downmix effect on it.\nThe downmix effect is created and configured when the track gets\n  created in AudioFlinger, which causes AudioMixer::getTrackName()\n  to be called with the new track\u0027s channel mask. It is released\n  when the track is disabled in the mixer.\n\nChange-Id: I05281ed5f61bef663a8af7ca7d5ceac3517c82db\n"
    },
    {
      "commit": "4b75a9c8b93a90749bc5d22912ad0d96c12f4ecf",
      "tree": "ae217f5c50a37349dce944c5d8a065a8740c88a9",
      "parents": [
        "3f502bfc6d04d08369cf147284c5c4c2ac7c9a0e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 06 11:06:28 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 06 12:16:27 2012 -0700"
      },
      "message": "New API to support submitting encrypted buffers to the decoder.\n\nChange-Id: I69dd60e43078c4211c6123cf6e0ce90e676bf873\nrelated-to-bug: 6275919\n"
    },
    {
      "commit": "8d0648eff7a9a7bc7cd6318ba5fc96c759bef978",
      "tree": "81571b2602f0550ea4a90d70435e18cefd8d0880",
      "parents": [
        "5faee0829f673f6147636820eafae2c0fa238c77",
        "f02a7f5c42db707d20e59ff28f32d1eaebcc5429"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 05 08:46:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 08:46:13 2012 -0700"
      },
      "message": "Merge \"Trust the Cues element\""
    },
    {
      "commit": "5faee0829f673f6147636820eafae2c0fa238c77",
      "tree": "0c052eb88e5d939c9c00b46bbc94fc9a1f4fbf00",
      "parents": [
        "4762a5164a986bd6a7ca0e7aba43881b64f146dd",
        "4e1c91dd07fad96ee2387eda510c6da45e5dff0a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 05 08:43:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 08:43:02 2012 -0700"
      },
      "message": "Merge \"Fix a bug: WOULD_BLOCK handling in TimedTextPlayer.\""
    },
    {
      "commit": "f02a7f5c42db707d20e59ff28f32d1eaebcc5429",
      "tree": "f2b0f970e7abee6122333d39fc5da6ca62d63917",
      "parents": [
        "4762a5164a986bd6a7ca0e7aba43881b64f146dd"
      ],
      "author": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Wed Apr 04 16:46:43 2012 -0700"
      },
      "committer": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Wed Apr 04 16:46:43 2012 -0700"
      },
      "message": "Trust the Cues element\n\nWith the Cue based seeking we will get the closest previous key frame.\nFor audio, use the Cue file to find the Cluster with the video key frame\nthen incrementally look for the audio Block.\n\nChange-Id: Idc934cca1286b1bb48ee7577b27903ca488a0610\n"
    },
    {
      "commit": "4762a5164a986bd6a7ca0e7aba43881b64f146dd",
      "tree": "2f9ab123566c3d3710ec2499f09c0586c6dd9e00",
      "parents": [
        "99448608f375a7191c068c3bfd296f204b58a219"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Apr 04 14:08:01 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Apr 04 14:26:45 2012 -0700"
      },
      "message": "Send video width and height to mediascanner\n\nb/5820120\n\nChange-Id: Ia5c48eb1ab15fe3bbe773131148470a06eb2b96d\n"
    },
    {
      "commit": "99448608f375a7191c068c3bfd296f204b58a219",
      "tree": "2233a958570ce34e7203560677dcea2fe0e726e3",
      "parents": [
        "f15cb4472aaca54c13f8250e4c7872470c4bed83"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 02 12:16:49 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Apr 04 14:26:45 2012 -0700"
      },
      "message": "Allow AudioTrack to start at nonzero position\n\nWhen creating a new AudioTrack (not inheriting one from a previous play),\nthe AudioSink should take the AudioTrack\u0027s position as the initial starting\npoint for mBytesWritten, since otherwise NuPlayer\u0027s calculations will be off.\nNormally this position will be 0, but if the test code for 32 bit wraparound\nin AudioFlinger.cpp is enabled, it might be (much) larger.\n\nChange-Id: I1e4f906d529861c3dea996de8afc6dbd491589af\n"
    },
    {
      "commit": "a4c5a550e2a3bc237179b8684e51718e05894492",
      "tree": "be7b6d154763ed772738a0126d10e6317920767d",
      "parents": [
        "1a9ed11a472493cac7f6dfcbfac2064526a493ed"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 29 10:12:40 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 04 08:44:57 2012 -0700"
      },
      "message": "audio policy: load audio hw modules.\n\nAudio HW modules are now loaded upon request from audio policy manager\naccording to the configuration in audio_policy.conf.\nRemoved hard coded HW module loading by AudioFlinger at init time.\nAdded methods to IAudioFlinger and AudioPolicyInterface\nto control the loading of audio HW modules.\nAdded methods to open an output or input stream on a specific hw module.\n\nChange-Id: I361b294ece1a9b56b2fb39cc64259dbb73b804f4\n"
    },
    {
      "commit": "4e1c91dd07fad96ee2387eda510c6da45e5dff0a",
      "tree": "98ef2ac38bbde9363e0b5aec0526a34395feafdd",
      "parents": [
        "73d227557ba5192735356bacab9f77b44980793b"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Mar 27 21:02:06 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Wed Apr 04 14:34:21 2012 +0900"
      },
      "message": "Fix a bug: WOULD_BLOCK handling in TimedTextPlayer.\n\nBug: 6234756\n\nChange-Id: I0fae6e5ad8607d472faad7dd680e020f20ac1669\n"
    },
    {
      "commit": "1a9ed11a472493cac7f6dfcbfac2064526a493ed",
      "tree": "5f4a3c6856f294b3c0371afd87df96277215107b",
      "parents": [
        "290ca3a767a974ce9d041e5bcb0c69153f7851d5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 20 18:36:01 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 03 16:53:25 2012 -0700"
      },
      "message": "audio policy: add configuration file\n\nremoved outputs to stream mapping cache in audio system: the output for a\ngiven stream type must always be queried from audio policy manager as the cache\nis not always updated fast enough by audioflinger callback.\n\nremoved AudioFlinger::PlaybackThread::setStreamValid() not used anymore if\nstream to output mapping is not cached.\n\nChange-Id: Ieca720c0b292181f81247259c8a44359bc74c66b\n"
    },
    {
      "commit": "290ca3a767a974ce9d041e5bcb0c69153f7851d5",
      "tree": "7695e0ec87f12ef86047f8d5364bdec04f4e15ce",
      "parents": [
        "1bd139a2a68690e80398b70b27ca59550fea0e65",
        "be7ac3d682729048af27871311808a76c618abdb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 03 14:37:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 14:37:06 2012 -0700"
      },
      "message": "Merge \"fix crash with cues at the beginning of the file\""
    },
    {
      "commit": "1bd139a2a68690e80398b70b27ca59550fea0e65",
      "tree": "e3be78f22aa021c4e372409128775c2093d46dae",
      "parents": [
        "d22da88fd555f1262357c7dcdeface8445e3a012"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 03 14:19:20 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 03 14:19:20 2012 -0700"
      },
      "message": "New Crypto services talking to the new crypto \"HAL\".\n\nChange-Id: I69ed31e7a8b4d69d1209d2d516f94d258f072566\nrelated-to-bug: 6275919\n"
    },
    {
      "commit": "be7ac3d682729048af27871311808a76c618abdb",
      "tree": "b2127ba41f8a1ec044ef6501eb9e99e855750344",
      "parents": [
        "d22da88fd555f1262357c7dcdeface8445e3a012"
      ],
      "author": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Tue Apr 03 12:46:46 2012 -0700"
      },
      "committer": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Tue Apr 03 12:46:46 2012 -0700"
      },
      "message": "fix crash with cues at the beginning of the file\n\nprevious implementation tried to be clever about economizing Cue loads.\nhowever, files with the cues at the beginning missed the initial load in\nthe seek function and would crash with a null pointer.\n\nChange-Id: I49c15d6688909cd13afabf33a54d9f5896aab7cd\n"
    },
    {
      "commit": "d22da88fd555f1262357c7dcdeface8445e3a012",
      "tree": "106087e7771c72eb977e268795942f4e264e3159",
      "parents": [
        "4a446bd090efb36ce06ae8966d42357fd5472715",
        "10f0fe7bcd60bdb0eceb905e84ac11555e8c1b9d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 03 08:31:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 08:31:23 2012 -0700"
      },
      "message": "Merge \"Use Cues to seek Matroska files\""
    }
  ],
  "next": "4a446bd090efb36ce06ae8966d42357fd5472715"
}
