)]}'
{
  "log": [
    {
      "commit": "c9729ca1cb1760da836e293e3ed7a82f769f3e07",
      "tree": "7e080db5914465b3f739f68ae9a21cef94646c9f",
      "parents": [
        "6472badc497a9e748411f8c8c9ed5d83ef335a85"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jul 24 14:44:06 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Unifying TimedTextDriver\u0027s resume() and start().\n\n(cherry picked from gtv bb23a2b7e06c59f56e353fd4a2a66a9b8179d425)\n\nChange-Id: If5f14549fa315c34e32d6fed7c1ea09deabceb63\n"
    },
    {
      "commit": "6472badc497a9e748411f8c8c9ed5d83ef335a85",
      "tree": "682bc926abcc04dff0783b1fa4ecb379d2908cb5",
      "parents": [
        "bb6bc8491fe819f96e1902e56694715cb110ce94"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Jun 18 16:51:48 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Fix: status checking in TimedTextDriver.\n\no fixes seeking error when there\u0027s no enabled text track.\no clean up status checking code for deselectTrack.\no fixes a potential bug : pause-\u003ebackward seek can trigger unwanted\nresume.\n\nBug: 6682160\nChange-Id: I03d8788b27fb9c0a6092be83ad3578ccf3266905\n(cherry picked from commit 2dafb6071d4f14e0e208912500694912211aa26b)\n"
    },
    {
      "commit": "bb6bc8491fe819f96e1902e56694715cb110ce94",
      "tree": "276e8c9aac3e7838ed61cdbda857ae27947975e9",
      "parents": [
        "2f0632f12cd02b0350918720443c888b48f4417b"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jul 10 15:53:44 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Adds resume() function\n\no Revived resume() function to fix pause/resume bug. (Bug: 6663740)\no Mannually cherry-picked from GTV change.\n(commit: ad1197226d1c6745959f0e469f510ca06f99489f)\n\nChange-Id: I77ac90085fb1f1d2e7eb706642978a4fa4d28b49\n"
    },
    {
      "commit": "2f0632f12cd02b0350918720443c888b48f4417b",
      "tree": "e1cfdbfb3834e49e165cea7f80a10f0f612c384b",
      "parents": [
        "9007619d1f786a75dae0fff31feadbf9aed9cfb8"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Jun 01 16:21:11 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Adjust fire time of a timed text message before firing it.\n\nrelated-to-bug: 6501328\n\no When Video/Audio is stuttering, subtitle\u0027s firing time should be\nadjusted.\n\nChange-Id: I0e7e8a1796cb2b3c8a09c8fbd41690bce2689e85\n(cherry picked from gtv: commit b2c3aedcb6c145e33ded39ef81e3202b2419469f)\n"
    },
    {
      "commit": "5a81ad893eada20c32596be53dabe203b99bec3c",
      "tree": "f499f67ddf2abb203f952c84c83f8d9cb017c415",
      "parents": [
        "25f0d7ba1987de61c75f8c68b19de48e0ad9736c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 31 14:41:35 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 31 14:46:38 2012 -0700"
      },
      "message": "Allows MediaMetadataRetriever to retrieve video rotation angle\n\no related-to-bug: 6872687\n\nChange-Id: I34e74b0756f8269edefdf3a25d8806c76fd1e2f8\n"
    },
    {
      "commit": "25f0d7ba1987de61c75f8c68b19de48e0ad9736c",
      "tree": "5ce28fa7e34a1246c474184705413c1686cb3ca5",
      "parents": [
        "c620cbd7f8dc75f6819e2b862d3c09970560bc63"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 18:06:12 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 18:06:12 2012 -0700"
      },
      "message": "Should really compare the pos to the total number of values in get() and set() methods in ListTableEntries class\n\no related-to-bug: 6435176\n\nChange-Id: Ib6f6e598304e7c9becfa6cb3fc925c55b2df2682\n"
    },
    {
      "commit": "c620cbd7f8dc75f6819e2b862d3c09970560bc63",
      "tree": "dcc433846ff4918819ace5ed5b57e3e70290aae6",
      "parents": [
        "9fbe94294ce2053d102ff5de89846a0c5015fb58"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 27 17:14:44 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 13:44:37 2012 -0700"
      },
      "message": "Refactoring how the box table entries are stored in MPEG4Writer\n\no Helps drastically reduce the time writing all the box table entries for long duration video recording sessions.\n  Experiments showed that the time is reduced from multiple seconds to less than one second for around 2.5 hours of video recording.\n\nChange-Id: I6a696823e2938b76fcf2c73605f51bf5e5c2d749\n\nrelated-to-bug: 6435176\n"
    },
    {
      "commit": "9fbe94294ce2053d102ff5de89846a0c5015fb58",
      "tree": "7ba08233afeb658bdd59e1e0b12e96638ee796a4",
      "parents": [
        "3beb3ff4af08ea02da87e6548e0544d2ba47daf1",
        "5d246efa220a7c7b22e490576c488b3853c664dd"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Sun Jul 29 16:47:58 2012 -0700"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Sun Jul 29 16:47:58 2012 -0700"
      },
      "message": "Merge remote-tracking branch \u0027goog/jb-dev-mako\u0027 into jb-mr1-dev\n\nConflicts:\n\tservices/audioflinger/AudioFlinger.cpp\n\nChange-Id: If27e4ff35de1e182394cc149e1557a49f0f7c95b\n"
    },
    {
      "commit": "5d464eb0b8cffb994a754ff108795e858a882414",
      "tree": "e5d78a91a03a1895cc03cfeb89c26aac49d15a9e",
      "parents": [
        "0ec23ce0d1ff79566c402bc30df3074f6e25a22b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 22 17:19:53 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 27 14:58:43 2012 -0700"
      },
      "message": "Swap the order of creating IAudioTrack and thread\n\nSimplifies the error recovery in case IAudioTrack fails.\n\nChange-Id: I6aee41a2ac747a5689fb4836b04174e6107bf32f\n"
    },
    {
      "commit": "0ec23ce0d1ff79566c402bc30df3074f6e25a22b",
      "tree": "8925eca2b9f4b9bccb7fa4d032ab80070179912d",
      "parents": [
        "e4e2a37dbe2a4d923232305549101f779a2e3638"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 10 12:56:08 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 27 14:54:48 2012 -0700"
      },
      "message": "Clean up start() parameters\n\nDocument where int is used instead of AudioSystem::sync_event_t\n  (probably because of a header file dependency).\nTrackBase::start() and RecordTrack::start() don\u0027t need default parameters.\n\nChange-Id: I82f4a4d078be900f3aa4bd926697e32f5ed68ec8\n"
    },
    {
      "commit": "58e5aa34f01d663654d8bafad65db1dda42161ff",
      "tree": "706a80113457f48feae3eab9f8720bcc3da2b397",
      "parents": [
        "1d491ff06f4b9c90ff24fe953b90d0843eaf1c04"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 20 14:08:14 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 25 14:43:19 2012 -0700"
      },
      "message": "effect_descriptor_t const correctness\n\nChange-Id: Iad008f20d35a18acf500f773900164552fd0c19e\n"
    },
    {
      "commit": "5d246efa220a7c7b22e490576c488b3853c664dd",
      "tree": "8258668e5e235b67d51d8f4554e77f8c2434fe2c",
      "parents": [
        "45dfb6ae94b33eea04d74afa378c1664e884f09a"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Jul 09 10:36:57 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 25 01:28:36 2012 -0700"
      },
      "message": "NuPlayer: Prevents creation of Video Decoder when we use Music Player\n\n- Prevents instantion of Video Decoder when we use applications like\nMusic Player  which do not support Video Playback\n- Adds a check to prevent scanning for sources when it is either an\nAudio only clip or a video only clip or an AV clip played with a\nMusic Player.\n\nChange-Id: I74dd9bc53e54fd4f3682536c987289ac252690b0\nSigned-off-by: Arvind Thatikonda \u003carvindt@codeaurora.org\u003e\n"
    },
    {
      "commit": "bf5bea96f236adb5eef78c2f414ef82b3602a0f7",
      "tree": "ec9dcb7ffdb2de6257fcee026583ffe998fef1d8",
      "parents": [
        "7aa1b72252749c990c9a5efce3d8fe399261b88e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 18 17:46:06 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 24 16:59:21 2012 -0700"
      },
      "message": "Codecs: Add MetaDataMode support to software video encoders.\n\nThis support is needed to enable efficient video recording with\nemulator and camera HAL 2.\n\n- Update SoftAVCEncoder and SoftMPEG4Encoder to support MetaDataMode\n  extension.\n- Allow CameraSource to handle opaque pixel formats, so that\n  MetaDataMode can be used.\n- Remove hardware codec restriction for MetaDataMode\n\nBug: 6243944\nChange-Id: I970eb3d55542a413b6d75a78f76d3a8583155601\n"
    },
    {
      "commit": "3499e2d178960ca3392855716c963eec7403a089",
      "tree": "a29b0b4d569a9b51808e88062c6ac5b2b6153c20",
      "parents": [
        "f1b3ee26cafc80900bae681bddf47446a6a3733f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 23 10:49:48 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 23 10:49:48 2012 -0700"
      },
      "message": "Don\u0027t make the decrypted content available to Java applications via MediaExtractor.java API\n\nChange-Id: I38df6a6be30a34ce3f2640f79784dc94c8ca1158\n"
    },
    {
      "commit": "f1b3ee26cafc80900bae681bddf47446a6a3733f",
      "tree": "e4458438ee1340f2810ba35be2a8cd31f8982a12",
      "parents": [
        "68ea6cab354a635ea848bc2b5cf172d7a215a057",
        "13210f3346462a86ce9fe3af72a0c200dba84e27"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 18:40:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 18:40:53 2012 -0700"
      },
      "message": "Merge \"Added number of encoded frames and duration to the MPEG4Writer::Track::dump\""
    },
    {
      "commit": "f5545b962794b78a97cafa73d0b592f55ffe06d8",
      "tree": "9a2ce9fe77de2cc8e2c3cf01145935058fcbcdeb",
      "parents": [
        "e65c89113232d070dd9153c54ca19301bca7a162",
        "a3c9d82d0f898d30982840b48d1f00fd0d831e19"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 17:13:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 17:13:21 2012 -0700"
      },
      "message": "Merge \"Bugfix: Seek on SRT external track\""
    },
    {
      "commit": "76da2635edbe0e6d023c665d5c344a3b7e070d73",
      "tree": "c797b865163cbef189704d724bb047e208190031",
      "parents": [
        "c374dae535b83d9b499dd9fe8f9dabdb8b0ac9fd",
        "f57b4ea3e409537b1d5f9aaea93d356b1cebbc6a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 15:30:35 2012 -0700"
      },
      "message": "Merge \"Added a callback in nuplayer via informational event to signal the start of video rendering\""
    },
    {
      "commit": "c374dae535b83d9b499dd9fe8f9dabdb8b0ac9fd",
      "tree": "9e854a53f611c1a6a08c7ac507037c9fcf49c3c9",
      "parents": [
        "33e6e35b03a726e35203e97550f32154c91d5f13"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 19:18:06 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 15:28:25 2012 -0700"
      },
      "message": "Added a callback to signal when the rendering of the video frame just occurred\n\nChange-Id: Ifbd78606ffc33483aecebf02cb18e0e52af9624d\nrelated-to-bug: 6851811\n"
    },
    {
      "commit": "f57b4ea3e409537b1d5f9aaea93d356b1cebbc6a",
      "tree": "ca0ff108318bbe53657e62ec27f241750b6a4b55",
      "parents": [
        "33e6e35b03a726e35203e97550f32154c91d5f13"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 13:38:36 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 13:38:36 2012 -0700"
      },
      "message": "Added a callback in nuplayer via informational event to signal the start of video rendering\n\nChange-Id: Id7b9b82d4e5467ad8701bfbad4dcc5070f3703cf\n"
    },
    {
      "commit": "a08412711b3266d336134b16a45e98baa8d11b9d",
      "tree": "f58f6e72ad397dda999ef18807a810f91297ca7f",
      "parents": [
        "be5f05e0fdfc4e3799653702187861a2afa072ee",
        "6f434482331b55876cb09c638149c21ca40c7690"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 20 11:15:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 11:15:51 2012 -0700"
      },
      "message": "Merge \"Ensure MEDIA_INFO_BUFFERING_END is always sent\""
    },
    {
      "commit": "cf9465b83405a1ec26a164b079d9898c09d87fcd",
      "tree": "dddd46b6c96c68fd59b295c3cfb47eb0c3cc3a22",
      "parents": [
        "4865aa8a84465108e044480c1d976677f138fca6",
        "955e78180ac6111c54f50930b0c4c12395e86cf7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 20 11:01:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 11:01:35 2012 -0700"
      },
      "message": "Merge \"AudioRecord locking\""
    },
    {
      "commit": "6f434482331b55876cb09c638149c21ca40c7690",
      "tree": "93973261c6356026e56c46700b51ab76b61266db",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 20 09:50:46 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 20 10:58:53 2012 -0700"
      },
      "message": "Ensure MEDIA_INFO_BUFFERING_END is always sent\n\nb/6620761\n\nChange-Id: Iafd2eeac7b3cbbeb42af3638628a32dc6c2bb414\n"
    },
    {
      "commit": "45dfb6ae94b33eea04d74afa378c1664e884f09a",
      "tree": "4fc280e001b95a441cc0cc4c4124ff960d477cda",
      "parents": [
        "1f1493ce72a3e823daac1b9cd94b2535e27ec8e0"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Thu Jul 05 17:27:00 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Jul 20 07:13:13 2012 -0700"
      },
      "message": "Synchronize access to OMX class member variables\n\n- Protect access to mLiveNodes KeyedVector member variable in freeNode function\n\nChange-Id: Ic86844aabc2bc897ffb7fc91cd1f54254f5e29fe\n"
    },
    {
      "commit": "a3c9d82d0f898d30982840b48d1f00fd0d831e19",
      "tree": "f11bc23bc6447b3b6b4410f733424db3cdecac04",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jul 10 21:18:22 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Jul 20 11:49:01 2012 +0900"
      },
      "message": "Bugfix: Seek on SRT external track\n\no Need to return closest upcoming subtitle when seeking time is within\ngap ranges.\no Manually cherry-picked from GTV change.\n(commit e026a83dc88888b42da77eca739b8f09a0cd6dae)\n\nrelated-to-bug: 6796228\nChange-Id: I02b7718a432d6b2f5575fa1a1a42bda6f04aa25b\n"
    },
    {
      "commit": "13210f3346462a86ce9fe3af72a0c200dba84e27",
      "tree": "0faa7e47806b95098c2dc01cf3b980d2124f0733",
      "parents": [
        "4865aa8a84465108e044480c1d976677f138fca6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 17:12:51 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 17:15:07 2012 -0700"
      },
      "message": "Added number of encoded frames and duration to the MPEG4Writer::Track::dump\n\no also removed unused varialble mMaxTimeStampUs\n\nChange-Id: I61a47e1ec8ee96a25df668637c4d4661188a1a8c\n"
    },
    {
      "commit": "77e8ae9967a078770416619e99ddb5b010def312",
      "tree": "092570e7a1345d24c4b27761510e6a817188ebd7",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 17 19:18:29 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 11:47:37 2012 -0700"
      },
      "message": "When a request max file size is relatively small, don\u0027t store moov header at the\nbeginning of a recorded mp4 file.\n\nTrying to put the \u0027moov\u0027 box at the beginning of an mp4 file requires to reserve\nsome estimated space for \u0027moov\u0027. The estimate can be larger or smaller than the\nactual \u0027moov\u0027 size. When the estimate is larger, we could meet the file\nsize limit, although some space is wasted; but when the estimate is smaller than\nthe actual \u0027moov\u0027 size, we not only waste the reserved space but also have to\nuse extra space to write \u0027moov\u0027 space at the end of the file. In this case, often\nthe requested file size limit could be exceeded by a large margin.\n\nThis patch avoids putting the \u0027moov\u0027 box at the beginning when a file size limit\nis explicitly requested.\n\nChange-Id: I838443d08b5589f33f3c486c662195600e3edb9b\nrelated-to-bug: 6697505\n"
    },
    {
      "commit": "955e78180ac6111c54f50930b0c4c12395e86cf7",
      "tree": "b4c12804643f73e9acbbf1db58f5ffa7e0bd7bc7",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 21 10:32:45 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 17 18:06:19 2012 -0700"
      },
      "message": "AudioRecord locking\n\nFix race conditions for EVENT_MARKER and EVENT_NEW_POS callbacks.\nMarker and new position update fields are protected by lock.\n\ngetSampleRate() doesn\u0027t need a lock because it reads from shared memory\ncontrol block.\n\nEnforce that the parameter passed with EVENT_MARKER and EVENT_NEW_POS\ncannot not be changed by the callback handler, and will not change during\nthe call by another thread.\n\nSession ID should never change; log if it does.\n\nChange-Id: Ia2c63cf1a71b10bb06c37981bd76437f83fffa91\n"
    },
    {
      "commit": "b46ccde3610d3f1713f7ebf0e9ffe943e44b54d2",
      "tree": "0cc18c7a6b51033a0f81e75991d2fa5d746dfb51",
      "parents": [
        "faa5bdd1efff301962537a7b271bd31c78ec13dc"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jul 17 15:03:25 2012 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jul 17 15:17:23 2012 -0700"
      },
      "message": "Merge from jb-dev for \"sample video corruption in MediaCodec mode.\" DO NOT MERGE\n\njb-dev commit: fa2b8f243eb048fb2b8e5a14356190f69eb31a36\n\nChange-Id: I4f08b9c8e9682a998db01c509a390e51bae60c2d\nrelated-to-bug: 6732061\n"
    },
    {
      "commit": "a189a6883ee55cf62da1d7bf5bf5a8ab501938a4",
      "tree": "7ab4133c0ce507e289baacf76d745de27f9e8136",
      "parents": [
        "28b76b334f92a15a2be3cc9e2f7d229a3275d1ac"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 20 12:16:30 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 17 11:35:16 2012 -0700"
      },
      "message": "Use struct assignment instead of explicit memcpy\n\nfor POD structs effect_descriptor_t and effect_config_t\n\nChange-Id: Ib2fc47f85fb65ed91b0abb1f87217c49b5eb571d\n"
    },
    {
      "commit": "28b76b334f92a15a2be3cc9e2f7d229a3275d1ac",
      "tree": "c605d3e995f4b6be55dd4b10e1c998b059990d0d",
      "parents": [
        "fd4e20c226eca185fc789de761beae64855bfbbb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 03 17:24:41 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 17 11:31:59 2012 -0700"
      },
      "message": "Use audio_channel_mask_t for channel mask\n\nChange-Id: I1c1896da48983aa9f1462a4b471f910498816f60\n"
    },
    {
      "commit": "dcda3b325f465aa6ec2be11db1c56c8a5e867f33",
      "tree": "0f7709ccea7f3c3cb5a63747adb7d5bfb82e194a",
      "parents": [
        "2bdb2f25861f3a3ac9cf3b7af561975fc9b9eead",
        "d64cd233eef39430561c1e1df423336a199cc5d7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 16 08:27:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 08:27:30 2012 -0700"
      },
      "message": "Merge \"AudioRecord::stop() return void\""
    },
    {
      "commit": "2bdb2f25861f3a3ac9cf3b7af561975fc9b9eead",
      "tree": "58b79b403e5ec36812aa8ef233cb404b2fcd7341",
      "parents": [
        "1ea6d23396118a9cfe912b7b8a4e6f231e318ea2",
        "190313ec68e81c10d200ff3c20ac152cf90760d6"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jul 13 17:54:32 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 13 17:54:32 2012 -0700"
      },
      "message": "am 190313ec: am 65e8d62a: Merge \"Fixed sample video corrupted in MediaCodec mode.\" into jb-dev\n\n* commit \u0027190313ec68e81c10d200ff3c20ac152cf90760d6\u0027:\n  Fixed sample video corrupted in MediaCodec mode.\n"
    },
    {
      "commit": "d64cd233eef39430561c1e1df423336a199cc5d7",
      "tree": "34f6adda18ee4c4f2d1dea9ea4dbf0c84c2d0bfe",
      "parents": [
        "68337edf595a0c345ba4b8adcd4f1e541a1d7eb7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 21 10:21:23 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 13 15:55:04 2012 -0700"
      },
      "message": "AudioRecord::stop() return void\n\nlike AudioTrack::stop()\n\nChange-Id: Iab62f4665151345f1ad5874c97a21d1a331f0154\n"
    },
    {
      "commit": "190313ec68e81c10d200ff3c20ac152cf90760d6",
      "tree": "7a0a8e099c9a90c42cb84b65d8462c7186e6b3cf",
      "parents": [
        "ffb829430ff20ccd6c13e6ed894f2373b2d93939",
        "65e8d62a5b243518795cdafa498df4a49baf6940"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jul 13 15:12:24 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 13 15:12:24 2012 -0700"
      },
      "message": "am 65e8d62a: Merge \"Fixed sample video corrupted in MediaCodec mode.\" into jb-dev\n\n* commit \u002765e8d62a5b243518795cdafa498df4a49baf6940\u0027:\n  Fixed sample video corrupted in MediaCodec mode.\n"
    },
    {
      "commit": "68337edf595a0c345ba4b8adcd4f1e541a1d7eb7",
      "tree": "121fce48f2765c8d13ecbc84dcf06c44d62096b4",
      "parents": [
        "9cca4c6d976d2d4127286e9eaa54d1b99880c25c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 09:05:58 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 13 14:49:12 2012 -0700"
      },
      "message": "AudioRecord client threading cleanup\n\nRename ClientRecordThread to AudioRecordThread to be more similar to\nAudioTrack naming.\n\nOnly create the thread once, and use resume() and pause() for start()\nand stop().  This will allow us to have a known client callback thread\ntid that we can pass to AudioFlinger before start().\n\nmActive:\nMade mActive a bool not int.\nmActive is protected by mLock; volatile is meaningless.\nFixed a few places where mActive was accessed without a lock:\n - stopped()\n - processAudioBuffer()\nThese aren\u0027t used internally, so no need for _l() versions.\n\nChange-Id: I4b8a5c90f3a22d3894b344564cb1c5aef4f1fda2\n"
    },
    {
      "commit": "fa2b8f243eb048fb2b8e5a14356190f69eb31a36",
      "tree": "d54232d4c61bf767677bcee2373069c4969301c1",
      "parents": [
        "4221e2813f7a307936036e62b6a63bbda23005ee"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jul 10 20:01:13 2012 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jul 13 13:05:56 2012 -0700"
      },
      "message": "Fixed sample video corrupted in MediaCodec mode.\n\nChange-Id: I50c5660072d40f6e297e58fd026ea04c89d6a70a\nrelated-to-bug: 6732061\n"
    },
    {
      "commit": "04cd0186305e2b59d23c9147787046c6662029cc",
      "tree": "5c2da34c5489ab0741729ba6b66cec980c384720",
      "parents": [
        "5f0033d27b75fead593ed7ca2b86f5b6f5adf6cc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 25 11:49:27 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 13 09:05:50 2012 -0700"
      },
      "message": "getMinFrameCount error handling\n\nConvention is for \"get\" APIs that directly return status_t and indirectly\nreturn a value via a pointer, to return BAD_VALUE if the pointer is NULL.\nAlso indirectly return 0 for other errors.\n\nChange-Id: I1599f20ecb26e9723f9fb384ffbf911ff3a2ce1c\n"
    },
    {
      "commit": "5f0033d27b75fead593ed7ca2b86f5b6f5adf6cc",
      "tree": "e12cae6d070d56571a5ce2160199b4a54edd0f7a",
      "parents": [
        "1879fff068422852c1483dcf8365c2ff0e2fadfc",
        "d4070955e28ae62aa4be1657f9d32acde104bb86"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 13 07:20:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 13 07:20:47 2012 -0700"
      },
      "message": "Merge \"Remove dead code in libmedia\""
    },
    {
      "commit": "1879fff068422852c1483dcf8365c2ff0e2fadfc",
      "tree": "f374fae563e2854ce20b4da16e9cae0d883aecd7",
      "parents": [
        "bf04a5d7f287fc712e0ed91849dc85c90c1e182d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 11 15:36:59 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 13:43:08 2012 -0700"
      },
      "message": "Add tid parameter to IAudioFlinger::openRecord\n\nNot yet implemented\n\nChange-Id: I35523fb15ad71727ecc9f4bb870f07e4b7397dc4\n"
    },
    {
      "commit": "d4070955e28ae62aa4be1657f9d32acde104bb86",
      "tree": "4e289a66bb82da52f8e0e1c1691b35f1309d9f35",
      "parents": [
        "39c54f68804c1ce5c85ec588f3c2c63447a807b4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 11:03:31 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 11:09:09 2012 -0700"
      },
      "message": "Remove dead code in libmedia\n\nChange-Id: I7d8201590cda29c9fa99662a4fdba222091febfe\n"
    },
    {
      "commit": "bf04a5d7f287fc712e0ed91849dc85c90c1e182d",
      "tree": "f9fd2ffd8df5a02c9c9373f5362da76204e5a676",
      "parents": [
        "39c54f68804c1ce5c85ec588f3c2c63447a807b4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 09:07:11 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 09:36:34 2012 -0700"
      },
      "message": "Simplify AudioRecord::getInputFramesLost()\n\nThis also fixes a benign race in reading mActive without a lock.\n\nChange-Id: I19e953d4f275e5c266ca1ca3fece7b6c02ad1707\n"
    },
    {
      "commit": "254af180475346b6186b49c297f340c9c4817511",
      "tree": "bee0e313aaa97645167e86f4678e513ab38d1c99",
      "parents": [
        "4d2132c866228eaef563e8141ebf06aa25ee9ff7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 03 14:59:05 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 10 10:05:31 2012 -0700"
      },
      "message": "Use audio_channel_mask_t more places\n\nUse it in AudioSystem::getOutput(), AudioSystem::getInput(),\nIAudioPolicyService::getOutput(), IAudioPolicyService::getInput(),\nand various other places in AudioFlinger.\n\nNot done: AudioTrack and OutputDescriptor.\n\nChange-Id: I70e83455820bd8f05dafd30c63d636c6a47cd172\n"
    },
    {
      "commit": "f89a0deef1ecafcba164045b76d4d6c7bf8eb24d",
      "tree": "2791c97dc25f847e89c4be5d5649600139cceab6",
      "parents": [
        "94479fd5405642c67efd14cebe722feb9cbe6e77",
        "d3a9ff4b725de612bf0354c035ba8f8564dbc6e8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 10 08:23:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 10 08:23:31 2012 -0700"
      },
      "message": "Merge \"Move declarations of local variables to first use\""
    },
    {
      "commit": "dd8104cc5367262f0e5f13df4e79f131e8d560bb",
      "tree": "46c95f24576ec352d7d5d363606db9a46a44e9c3",
      "parents": [
        "f1da96d8cf60842538e00a9c950cc451f7da2c10"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 02 12:42:44 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 03 10:24:45 2012 -0700"
      },
      "message": "Use audio_channel_mask_t more consistently\n\nIn IAudioFlinger::createTrack() and IAudioFlinger::openRecord(),\ndeclare input parameter to use correct type audio_channel_mask_t.\n\nIn IAudioFlinger::getInputBufferSize(), input parameter is now channel mask\ninstead of channel count.\n\nRemove unused IAudioFlinger::channelCount(audio_io_handle_t).\n\nIn AudioRecord::getMinFrameCount() and AudioSystem::getInputBufferSize(),\ninput parameter is channel mask instead of channel count.\n\nChange-Id: Ib2f1c29bea70f016b3cfce83942ba292190ac965\n"
    },
    {
      "commit": "faa5bdd1efff301962537a7b271bd31c78ec13dc",
      "tree": "f53ae4ed0c39ffa726eeb3c2145d23e747a87423",
      "parents": [
        "fb3aacec395d5917e29244fbef4b200ac8d08d07"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 15 13:56:18 2012 -0700"
      },
      "committer": {
        "name": "Keun young Park",
        "email": "keunyoung@google.com",
        "time": "Mon Jul 02 16:13:31 2012 -0700"
      },
      "message": "libstagefright: dynamically load libstagefright_chromium_http\n\ndlopen libstagefright_chromium_http to allow it to be on the platform\nside of the pdk without getting overwritten during a pdk fusion build.\n\nBug: 6772533\n\nChange-Id: I391e81d98beab165c3313bc8a71bb370ebb8584d\n"
    },
    {
      "commit": "a0108697f86d8625eb7ad3f13e422427fe7573ca",
      "tree": "10c9449ae11e4f915c17d2a4364ddb7b6a23ab97",
      "parents": [
        "af8e8aa1ada2948972555592570ec9ad90cbf372"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 29 15:14:20 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 29 15:15:51 2012 -0700"
      },
      "message": "Fixed a media server crash due to unintialized mRecord member variable\n\nmRecord is not properly initialized if the call to AudioRecord::getMinFrameCount() fails.\nmedia server crashes when the unintialized mRecord object is deleted in AudioSource\u0027s destructor.\n\nChange-Id: Ia89222789d044c11c9957a99725bc89f9c709e17\n\nrelated-to-bug: 6744014\n"
    },
    {
      "commit": "f89a87ab3708e75c406b2abcb7e69dc1b076868a",
      "tree": "e4b976bac1b17474efea3e8cb97e5ed0c6c59bd2",
      "parents": [
        "f18da5524ecc50b12ea8233f82892f99106fc009"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Jun 25 21:27:56 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Jun 28 12:45:51 2012 -0700"
      },
      "message": "Process EBD and FBD messages in ERROR state\n\n- OMXCodec::on_message() function drops all OMX messages if\n  OMXCodec is in ERROR state\n- This can cause EBD/FBD messages containing valid buffers to be\n  dropped\n- Avoid dropping EBD/FBD messages so that buffer book-keeping is still\n  possible\n\nChange-Id: Idc1174b3fa946b26458d49394b87fba1738b228e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "af8e8aa1ada2948972555592570ec9ad90cbf372",
      "tree": "c573478e9f30dfe62dab9674fa4c04170f4b9626",
      "parents": [
        "0dc6d5ef45c0721c76f0e55354ff80371d795e5d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 13:32:23 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 13:53:00 2012 -0700"
      },
      "message": "Add mode when open(O_CREAT) is used.\n\nWhen creating a new file using open(..., O_CREAT), it is an error\nto fail to specify a creation mode. If a mode is not specified, a\nrandom stack provided value is used as the \"mode\".\n\nThis will become a compile error in a future Android change.\n\nChange-Id: I36a3d67d294a915c1f79632a1b0ba45edd1214b1\n"
    },
    {
      "commit": "f18da5524ecc50b12ea8233f82892f99106fc009",
      "tree": "f9d65b6fa740b346a8318dfec869bfe79d1b1d37",
      "parents": [
        "18faac2af4e3b27deec0a707757883e5e569c591",
        "33e28dd3c033641f4db9d1b99c7c88d6d08c61f7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 25 15:38:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 25 15:38:04 2012 -0700"
      },
      "message": "am 33e28dd3: Merge \"SurfaceMediaSource: keep refs to current buffers\" into jb-dev\n\n* commit \u002733e28dd3c033641f4db9d1b99c7c88d6d08c61f7\u0027:\n  SurfaceMediaSource: keep refs to current buffers\n"
    },
    {
      "commit": "20010053daabfa43fcfe781bbf004473b4c08538",
      "tree": "f34948205baac68d57000467e9877a0041249d33",
      "parents": [
        "624a7fcb377f2a40109c16de5109ae8ea1f67a69"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 22 13:43:51 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 25 13:51:10 2012 -0700"
      },
      "message": "Remove acoustics from AudioSystem::getInput()\n\nChange-Id: I29fb3ee5664c1f0ee0409c1bb2be087ecca637db\n"
    },
    {
      "commit": "624a7fcb377f2a40109c16de5109ae8ea1f67a69",
      "tree": "9082c6373d7a8c904183ba745697938ca30fda68",
      "parents": [
        "70be725da4d8aafb94d47c1962e897ecd5fdf823"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 21 16:24:00 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 25 10:03:30 2012 -0700"
      },
      "message": "Use audio_channel_mask_t in AudioRecord\n\nChange-Id: I9e1b918b2635d961604a4a9d88eb1c7179a167a7\n"
    },
    {
      "commit": "868a6a357018e5872e064b7a13a9b891e2078962",
      "tree": "66888ef3311ea9973ef85f31abc130a35e7d6392",
      "parents": [
        "46ec58976b3c04a99ce6e7eda2531543bfb151c7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 21 16:22:09 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 25 09:31:55 2012 -0700"
      },
      "message": "Include what you use\n\nChange-Id: I12ef9367d05dbe069c037b1b4acd6347a8cf3ece\n"
    },
    {
      "commit": "46ec58976b3c04a99ce6e7eda2531543bfb151c7",
      "tree": "722768dbc41135d0a95fe302fd791051f6bda1f1",
      "parents": [
        "a4b06651f65d2c4f4d5840e7f879fb3ae5cfaa82",
        "f92eec53f886f43e4374a36195be55f2a7bbcf36"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 25 08:35:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 25 08:35:48 2012 -0700"
      },
      "message": "Merge \"Remove AudioRecord record_flags\""
    },
    {
      "commit": "f15f6e2e7fc51d48ba95890e1f562908e6e957c0",
      "tree": "e71aafd5ca7b25a4261dfbf126bb323caa0c69fa",
      "parents": [
        "0f59d4815400649943716f10305a77c7d56b47c4"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Jun 13 14:52:12 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Jun 22 19:53:00 2012 -0700"
      },
      "message": "Provide new argument to BufferQueue::releaseBuffer\n\nChange-Id: Ib86f1af80a0d2833535a0ad170dce5ac061eec75\n"
    },
    {
      "commit": "0f59d4815400649943716f10305a77c7d56b47c4",
      "tree": "9d47a2375a793e8003b9353a0a55b3b462603df3",
      "parents": [
        "723fcc49e0ca7e18c6c3a6898a89c911f609e025",
        "e6cb412b677966c25b424766dc6ceb2787d49caa"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 22 15:23:50 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 22 15:23:50 2012 -0700"
      },
      "message": "am e6cb412b: am 33e28dd3: Merge \"SurfaceMediaSource: keep refs to current buffers\" into jb-dev\n\n* commit \u0027e6cb412b677966c25b424766dc6ceb2787d49caa\u0027:\n  SurfaceMediaSource: keep refs to current buffers\n"
    },
    {
      "commit": "e6cb412b677966c25b424766dc6ceb2787d49caa",
      "tree": "6bfbcf0b8cdfa231f5638b2e9eca58c271e48123",
      "parents": [
        "5ca15ccf7336d5aa5a7b563742757fa37092eb48",
        "33e28dd3c033641f4db9d1b99c7c88d6d08c61f7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 22 15:20:48 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 22 15:20:48 2012 -0700"
      },
      "message": "am 33e28dd3: Merge \"SurfaceMediaSource: keep refs to current buffers\" into jb-dev\n\n* commit \u002733e28dd3c033641f4db9d1b99c7c88d6d08c61f7\u0027:\n  SurfaceMediaSource: keep refs to current buffers\n"
    },
    {
      "commit": "33e28dd3c033641f4db9d1b99c7c88d6d08c61f7",
      "tree": "f6b0d536de41567175259a5a7d98e43144cd99bb",
      "parents": [
        "39a3113539f9bcc86a8efe562780c23ac8731098",
        "2cd25a9056cc150b9fd3ac9b0bca37a1334ffd47"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 22 15:18:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 22 15:18:26 2012 -0700"
      },
      "message": "Merge \"SurfaceMediaSource: keep refs to current buffers\" into jb-dev"
    },
    {
      "commit": "2cd25a9056cc150b9fd3ac9b0bca37a1334ffd47",
      "tree": "47ec6f6b47b28af67095707b65bbfef4d7dd0dbe",
      "parents": [
        "eb15716b59020f342df62bce5b293f0603b94861"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 22 14:42:00 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 22 14:43:59 2012 -0700"
      },
      "message": "SurfaceMediaSource: keep refs to current buffers\n\nThis change fixes a bug in SurfaceMediaSource where it would not keep a\nreference to all of the Gralloc buffers that the video encoder is currently\nusing.\n\nBug: 6655597\nChange-Id: Ifd99976cc7ae57ed724bbf2bbcff357a39497391\n"
    },
    {
      "commit": "f92eec53f886f43e4374a36195be55f2a7bbcf36",
      "tree": "e6db36a4f5ffb47782d0614f1defc783fcb436c0",
      "parents": [
        "a43787a8cc513715543fb5c80c7c464e2cd51b6e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 07 08:16:36 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 22 13:49:03 2012 -0700"
      },
      "message": "Remove AudioRecord record_flags\n\nChange-Id: I021ddcc1bcb63132a4597d13e3d09db2a5f2c628\n"
    },
    {
      "commit": "1e5b2b3361ddd07259bf4b29820ca4aa5f3a861b",
      "tree": "75bbec756f6a14bdcbd0d8100a2af5ca25d95074",
      "parents": [
        "95e6e6efcac831874b3d08947d1751d8f65503f9"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 13 16:29:51 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 21 16:54:43 2012 -0700"
      },
      "message": "Update ANativeWindow client code for sync\n\nThis change updates all the uses of ANativeWindow to use the new ANW functions\nthat accept and return Sync HAL fence file descriptors.\n\nChange-Id: Id7db42d8d6380f8b440d88476ce9211c6225fb16\n"
    },
    {
      "commit": "18faac2af4e3b27deec0a707757883e5e569c591",
      "tree": "2d71c45fcb8ba9c58bc3b7b6f8d38755fa595bf0",
      "parents": [
        "1c1a61cb1765c083a199c63863c2f6ae417e63d5"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Jun 20 18:21:17 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Jun 21 15:28:00 2012 -0700"
      },
      "message": "Add vendor specific output color format\n\n- Add Qualcomm specific color format support to OMXCodec and ACodec\n- This is the default color format supported on QCom chipsets\n\nChange-Id: Id947b158c3b403c2d347f708bc1e780b4d65e220\n"
    },
    {
      "commit": "d3a9ff4b725de612bf0354c035ba8f8564dbc6e8",
      "tree": "6352c2917870180111ebb84d3b1839ac2392bdae",
      "parents": [
        "a43787a8cc513715543fb5c80c7c464e2cd51b6e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 21 12:11:38 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 21 12:11:38 2012 -0700"
      },
      "message": "Move declarations of local variables to first use\n\nChange-Id: I48b193a742b32b6746aa938b84dc405124a6a5c3\n"
    },
    {
      "commit": "95e6e6efcac831874b3d08947d1751d8f65503f9",
      "tree": "d448810969a7b4814cccffc86d5944b7cee96a48",
      "parents": [
        "a43787a8cc513715543fb5c80c7c464e2cd51b6e",
        "af2e65ca9a0415e68acfae9497ce445e96fb738a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 21 11:43:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 21 11:43:33 2012 -0700"
      },
      "message": "Merge \"Workaround for corrupt Vorbis comment\""
    },
    {
      "commit": "a43787a8cc513715543fb5c80c7c464e2cd51b6e",
      "tree": "457612fef89ab20621992ac5e383767228f7bff7",
      "parents": [
        "5f12136299918ea30555f3481668ec0dbb775e5f",
        "e77c76dc57f88ec9e6b370dcba8a8c3e0684461d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 20 14:34:49 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 14:34:49 2012 -0700"
      },
      "message": "am e77c76dc: am 39a31135: Revert input buffer count for the SoftAAC* decoders back to 4.\n\n* commit \u0027e77c76dc57f88ec9e6b370dcba8a8c3e0684461d\u0027:\n  Revert input buffer count for the SoftAAC* decoders back to 4.\n"
    },
    {
      "commit": "e77c76dc57f88ec9e6b370dcba8a8c3e0684461d",
      "tree": "b08937eba3171d30a27df1c07e38cb5f930baab9",
      "parents": [
        "ff8977f3392036b387fc2f65056bcf19f9942c9d",
        "39a3113539f9bcc86a8efe562780c23ac8731098"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 20 14:31:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 14:31:30 2012 -0700"
      },
      "message": "am 39a31135: Revert input buffer count for the SoftAAC* decoders back to 4.\n\n* commit \u002739a3113539f9bcc86a8efe562780c23ac8731098\u0027:\n  Revert input buffer count for the SoftAAC* decoders back to 4.\n"
    },
    {
      "commit": "39a3113539f9bcc86a8efe562780c23ac8731098",
      "tree": "50b33abb023da5b993b3b79105aabc07abea7284",
      "parents": [
        "eb15716b59020f342df62bce5b293f0603b94861"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 20 12:46:38 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 20 12:46:38 2012 -0700"
      },
      "message": "Revert input buffer count for the SoftAAC* decoders back to 4.\n\nThis improves the netflix bandwidth change responsiveness.\nWith the old count of 32 the audio decoder running at a higher\npriority would starve the video decoder for about 1 sec while\ndraining the input data.\n\nI haven\u0027t been able to break any stream playback using MediaCodec\nusing the lower count, even though I\u0027m sure I had a good reason\nto increase it in the first place (see bug 6478823)\n\nChange-Id: I7fd3e71794b0cc1570ea9d27d1d869ab1e1750c4\nrelated-to-bug: 6685031\n"
    },
    {
      "commit": "af2e65ca9a0415e68acfae9497ce445e96fb738a",
      "tree": "4fef670d32c695293bc3bc24e63978aec6c8a440",
      "parents": [
        "1222bb9d9551cdf84923ea342ca3f4210867bd9a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 19 14:44:41 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 19 14:44:54 2012 -0700"
      },
      "message": "Workaround for corrupt Vorbis comment\n\nBug: 6682991\nChange-Id: I8b0d91ab76b700ab981f2524124109234023a9da\n"
    },
    {
      "commit": "c67d875fde2158e60e45b7f0a79edaa959ca9464",
      "tree": "60fd3ff24a4e8aeb6a5e0e6030d2cd8cbf4a3349",
      "parents": [
        "5b42ee8124ffc7f95d5a8a433b5df0e18d847635",
        "bea455c8e4a230cc5aedc9df33e1ba97c64cec5f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jun 18 13:10:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 18 13:10:39 2012 -0700"
      },
      "message": "Merge \"libstagefright: dynamically load libstagefright_chromium_http\""
    },
    {
      "commit": "bea455c8e4a230cc5aedc9df33e1ba97c64cec5f",
      "tree": "df728643d29e66431b4d768887c55ce5bbf09e93",
      "parents": [
        "fea3699c6921f50f404b6285d588894cee63d85f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 15 13:56:18 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 15 17:08:48 2012 -0700"
      },
      "message": "libstagefright: dynamically load libstagefright_chromium_http\n\ndlopen libstagefright_chromium_http to allow it to be on the platform\nside of the pdk without getting overwritten during a pdk fusion build.\n\nChange-Id: I391e81d98beab165c3313bc8a71bb370ebb8584d\n"
    },
    {
      "commit": "fbb26f5101d9ef14251d561dba37f87d001fbbf6",
      "tree": "2ce468c14b9fb9f036cb2b01aeb50d002358b3ef",
      "parents": [
        "ff0fcb2628613953f454875006bfb78c3fc087d3",
        "fc42e16d96b7e1b18b573f40df1319c56f8ab933"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 15 10:16:34 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 15 10:16:34 2012 -0700"
      },
      "message": "am fc42e16d: Merge \"Fix track selection code in AwesomePlayer\" into jb-dev\n\n* commit \u0027fc42e16d96b7e1b18b573f40df1319c56f8ab933\u0027:\n  Fix track selection code in AwesomePlayer\n"
    },
    {
      "commit": "8a15dfba686b50f2b8163af247e236d52150321f",
      "tree": "9f8f10796d2854cb018c6e79b37ae00aa27f3327",
      "parents": [
        "362ebcbf100f7fccd37551c77e67c4faa7241b63"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Jun 15 13:02:45 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Jun 15 13:02:45 2012 +0900"
      },
      "message": "Fix track selection code in AwesomePlayer\n\nChange-Id: I1c5a2f13f562a0ba253a93b4346cbe2c60099ddd\nrelated-to-bug: 6671977\n"
    },
    {
      "commit": "be8cf4a280b0aa786ba1aa3dad85d51125e0a86f",
      "tree": "270415282de1713cadb44d83d128b6bbe68d389f",
      "parents": [
        "4ebbabda6584aeb5ad2714e7db1702d00e84dad4",
        "7b4de10199f3a1803350e9a65baa671874d9c2f1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jun 14 13:10:42 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 13:10:42 2012 -0700"
      },
      "message": "am 7b4de101: Merge \"stagefright: set scaling mode for blank frames\" into jb-dev\n\n* commit \u00277b4de10199f3a1803350e9a65baa671874d9c2f1\u0027:\n  stagefright: set scaling mode for blank frames\n"
    },
    {
      "commit": "7b4de10199f3a1803350e9a65baa671874d9c2f1",
      "tree": "aeca274c77e975cc9c6acd2500dca0172c1185d4",
      "parents": [
        "192cbbad773979a6fe3b5a0c223356de4fc3309c",
        "1d5ac80d0c6d3deabcc9e9b4abc9e3ef536aeb27"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jun 14 13:08:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 13:08:08 2012 -0700"
      },
      "message": "Merge \"stagefright: set scaling mode for blank frames\" into jb-dev"
    },
    {
      "commit": "4ebbabda6584aeb5ad2714e7db1702d00e84dad4",
      "tree": "275cd8ce57285b2bdcfa7e7f3668bf5d26de5718",
      "parents": [
        "c3c044ab1b2b5f9bebcff610795b6a1a9b60d01b",
        "192cbbad773979a6fe3b5a0c223356de4fc3309c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 14 12:12:52 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 12:12:52 2012 -0700"
      },
      "message": "am 192cbbad: Fix audio track pause.\n\n* commit \u0027192cbbad773979a6fe3b5a0c223356de4fc3309c\u0027:\n  Fix audio track pause.\n"
    },
    {
      "commit": "1d5ac80d0c6d3deabcc9e9b4abc9e3ef536aeb27",
      "tree": "96e6e894350c7b69bd4bc79f5f1ce129430c2004",
      "parents": [
        "82233b4b5bee06f11618a558ae465abbfdedfd6e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 13 19:13:16 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jun 14 11:42:29 2012 -0700"
      },
      "message": "stagefright: set scaling mode for blank frames\n\nThis change sets the ANativeWindow scaling mode before pushing the blank frames\nduring decoder tear down.\n\nBug: 6603254\nChange-Id: Ic64011645e2d3671b4a8d302ac7f39e6fd3affcd\n"
    },
    {
      "commit": "192cbbad773979a6fe3b5a0c223356de4fc3309c",
      "tree": "23bdbff8fd2a2b88a63a54287c6112908b050fb7",
      "parents": [
        "82233b4b5bee06f11618a558ae465abbfdedfd6e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 13 08:38:36 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 14 10:56:59 2012 -0700"
      },
      "message": "Fix audio track pause.\n\nAudioTrack::pause() should signal the control block condition\nto release threads waiting for available buffers in obtainBuffer().\nOtherwise the behavior relies on the timout on the condition\nor the fact that audioflinger will mix a new audio buffer while executing\nthe pause.\n\nBug 6653769.\n\nChange-Id: I5f8f73c471fe306070f30b814f32fd4b4dc1d575\n"
    },
    {
      "commit": "c3c044ab1b2b5f9bebcff610795b6a1a9b60d01b",
      "tree": "0522cc1f71ee6bed7943f89469e4912ef4a0fc49",
      "parents": [
        "ea1d16da8e28b30a58090e6372ce12d40b99c21f",
        "82233b4b5bee06f11618a558ae465abbfdedfd6e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 14 09:54:09 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 09:54:09 2012 -0700"
      },
      "message": "am 82233b4b: Merge \"Better handle invalid duration in Xing/VBRI tags\" into jb-dev\n\n* commit \u002782233b4b5bee06f11618a558ae465abbfdedfd6e\u0027:\n  Better handle invalid duration in Xing/VBRI tags\n"
    },
    {
      "commit": "82233b4b5bee06f11618a558ae465abbfdedfd6e",
      "tree": "3288c514f9b026c748b3f5ecf72fbe7281d55172",
      "parents": [
        "e6adde403480333b613452ae0df442df9da4a5b2",
        "5fd7d3a23316ec0d2320fece85201859b52c2aef"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 14 09:51:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 09:51:49 2012 -0700"
      },
      "message": "Merge \"Better handle invalid duration in Xing/VBRI tags\" into jb-dev"
    },
    {
      "commit": "48a0bfa6f731386f2794ff36d6677d56e98fc6ea",
      "tree": "36deb7b4e31a25a8a4b313de8ffdecd1d8ae9aaa",
      "parents": [
        "cc0df657cdc8316c2b816c562f269be1706f00ea",
        "49dd5cf3469cd755321f8ec10013ad4fcfaf723d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 14 08:43:56 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 08:43:56 2012 -0700"
      },
      "message": "am 49dd5cf3: Merge \"Log track name on obtain/releaseBuffer warnings\" into jb-dev\n\n* commit \u002749dd5cf3469cd755321f8ec10013ad4fcfaf723d\u0027:\n  Log track name on obtain/releaseBuffer warnings\n"
    },
    {
      "commit": "49dd5cf3469cd755321f8ec10013ad4fcfaf723d",
      "tree": "2f849ff8d42627300eb0cd221e3bc04716db889e",
      "parents": [
        "e20435de10f63af812da9d4f801b61a8817733a0",
        "0c9d26d187017f7fb028ab52a0fbc6395142faa4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 14 08:41:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 08:41:38 2012 -0700"
      },
      "message": "Merge \"Log track name on obtain/releaseBuffer warnings\" into jb-dev"
    },
    {
      "commit": "cc0df657cdc8316c2b816c562f269be1706f00ea",
      "tree": "d8bbb1b8a1431846f7adc665d88cbe5f6dd4c654",
      "parents": [
        "8fe9840be2ce6aac8a008fc15cb641f858b5a32e",
        "e20435de10f63af812da9d4f801b61a8817733a0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 20:51:33 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 13 20:51:33 2012 -0700"
      },
      "message": "am e20435de: Merge \"Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\" into jb-dev\n\n* commit \u0027e20435de10f63af812da9d4f801b61a8817733a0\u0027:\n  Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\n"
    },
    {
      "commit": "e20435de10f63af812da9d4f801b61a8817733a0",
      "tree": "5f7a289cf037c56a425b18854084b8cd08660b9c",
      "parents": [
        "cac467b3af9235229522a134d2c57e4fa605ba2f",
        "3d51d5cb53cc630709a0ba78d0e60501a675f2d5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 20:49:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 13 20:49:34 2012 -0700"
      },
      "message": "Merge \"Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\" into jb-dev"
    },
    {
      "commit": "8fe9840be2ce6aac8a008fc15cb641f858b5a32e",
      "tree": "6b92f2c30766f11079bc8de4d4e24611216b6827",
      "parents": [
        "02bd296991e7e8a17939419cf197a6747ea441de",
        "cac467b3af9235229522a134d2c57e4fa605ba2f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 17:01:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 13 17:01:22 2012 -0700"
      },
      "message": "am cac467b3: Merge \"Fix one of the potential ANR issues from AwesomePlayer\" into jb-dev\n\n* commit \u0027cac467b3af9235229522a134d2c57e4fa605ba2f\u0027:\n  Fix one of the potential ANR issues from AwesomePlayer\n"
    },
    {
      "commit": "cac467b3af9235229522a134d2c57e4fa605ba2f",
      "tree": "af953cbb391ffdb16c48caaa0ce0f6d05f236807",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90",
        "ce3d3ef78d6512cc272d469e236fba4fca1189b0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 16:59:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 13 16:59:15 2012 -0700"
      },
      "message": "Merge \"Fix one of the potential ANR issues from AwesomePlayer\" into jb-dev"
    },
    {
      "commit": "5fd7d3a23316ec0d2320fece85201859b52c2aef",
      "tree": "eb812fe337a080a3f3709e2fbbd992813bc5583c",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 13 08:51:00 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 13 16:29:52 2012 -0700"
      },
      "message": "Better handle invalid duration in Xing/VBRI tags\n\nb/6654637\n\nChange-Id: Ie92eddd84ef5914b77dbadaacd80b4de6cd66e1c\n"
    },
    {
      "commit": "3d51d5cb53cc630709a0ba78d0e60501a675f2d5",
      "tree": "c01dc8011b4e0061343c8b60b0da3508c63ae822",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 18:10:35 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 15:18:29 2012 -0700"
      },
      "message": "Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\n\nChange-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26\nrelated-to-bug: 6647465\n"
    },
    {
      "commit": "0c9d26d187017f7fb028ab52a0fbc6395142faa4",
      "tree": "35fd2f6babef082b85058fd27a69bda048687295",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 31 14:35:01 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 13 15:12:42 2012 -0700"
      },
      "message": "Log track name on obtain/releaseBuffer warnings\n\nThis should help diagnose problems by allowing us to correlate\nthe logs with the dumpsys media.audio_flinger output.\n\nChange-Id: I8c7c592b4f87d13b0f29c66ce7a2f301a0f063c9\n"
    },
    {
      "commit": "ce3d3ef78d6512cc272d469e236fba4fca1189b0",
      "tree": "dccc705bd4276553fb1f2fe661bde9732fb40d29",
      "parents": [
        "958f463c4cddba6437c86d5bfef68167f767ee66"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 17:18:37 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 18:48:36 2012 -0700"
      },
      "message": "Fix one of the potential ANR issues from AwesomePlayer\n\nChange-Id: I8ac7bbb5fe219f65bdbdd223538fbac0575e2957\nrelated-to-bug: 6565826\n"
    },
    {
      "commit": "02bd296991e7e8a17939419cf197a6747ea441de",
      "tree": "dd72a9f8fc044b802a4ae93415b667e41fb385bf",
      "parents": [
        "92a6141ea0bae283c898a8542604f6b47e226fad",
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 18:40:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 18:40:25 2012 -0700"
      },
      "message": "am b4ea1ab8: Merge \"stagefright: fix AudioRecord callback buffer size\" into jb-dev\n\n* commit \u0027b4ea1ab821d652cb080910d4081f5f1318597a90\u0027:\n  stagefright: fix AudioRecord callback buffer size\n"
    },
    {
      "commit": "b4ea1ab821d652cb080910d4081f5f1318597a90",
      "tree": "23334bf4494a540de3ee606859106c8166de55ba",
      "parents": [
        "958f463c4cddba6437c86d5bfef68167f767ee66",
        "e49f2b424318aa8e830e7a1338e5e32ab82992f9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 18:33:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 18:33:47 2012 -0700"
      },
      "message": "Merge \"stagefright: fix AudioRecord callback buffer size\" into jb-dev"
    },
    {
      "commit": "92a6141ea0bae283c898a8542604f6b47e226fad",
      "tree": "0b0ceeccd5aa6fb3e2ec989f3e555fe80c70b1c1",
      "parents": [
        "2f2366fb763862b8063e51b6e0fdee9e25387f1a",
        "958f463c4cddba6437c86d5bfef68167f767ee66"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 18:15:18 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 18:15:18 2012 -0700"
      },
      "message": "am 958f463c: Add NOTICE and MODULE_LICENSE_APACHE2 for libstagefright_soft_h264dec and libstagefright_soft_vpxdec\n\n* commit \u0027958f463c4cddba6437c86d5bfef68167f767ee66\u0027:\n  Add NOTICE and MODULE_LICENSE_APACHE2 for libstagefright_soft_h264dec and libstagefright_soft_vpxdec\n"
    },
    {
      "commit": "958f463c4cddba6437c86d5bfef68167f767ee66",
      "tree": "f575c321ae3b78063e75afd6a8a15106391e8a08",
      "parents": [
        "bd961f4c4d51c4fcfc4722d02383eb4263ef0ac5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 17:40:43 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 17:41:54 2012 -0700"
      },
      "message": "Add NOTICE and MODULE_LICENSE_APACHE2 for libstagefright_soft_h264dec and libstagefright_soft_vpxdec\n\nChange-Id: Id4f1ef8dfc21731846a9862b8d12940a92fe99bb\nrelated-to-bug: 6647465\n"
    },
    {
      "commit": "e49f2b424318aa8e830e7a1338e5e32ab82992f9",
      "tree": "7c524902e7e604941ffdb902d212b143c978cef2",
      "parents": [
        "10cf121f7285e23c37264dab3bad7cffefd754b1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 17:09:30 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 17:09:30 2012 -0700"
      },
      "message": "stagefright: fix AudioRecord callback buffer size\n\nMake sure that the maximum number of frames passed to\nAudioSource by the AudioRecord callback always fits within\nthe maximum buffer size defined by kMaxBufferSize.\n\nAlso make sure that the total AudioRecord buffer size is more\nthan the minimum required.\n\nChange-Id: I26a1f998e0cf75ac88b02e67ec9d8db3c0cca193\n"
    },
    {
      "commit": "8f1dd6fdc2f788492e5ca77344eac13755c304ff",
      "tree": "6e0aab98481a2c6ace6a578ed08e4786247f4f83",
      "parents": [
        "c6a957fca84ee2a673a3b7363b481afcf4b7e784",
        "10cf121f7285e23c37264dab3bad7cffefd754b1"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Jun 12 12:46:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:46:17 2012 -0700"
      },
      "message": "am 10cf121f: Merge \"Update make file\" into jb-dev\n\n* commit \u002710cf121f7285e23c37264dab3bad7cffefd754b1\u0027:\n  Update make file\n"
    },
    {
      "commit": "c6a957fca84ee2a673a3b7363b481afcf4b7e784",
      "tree": "f25fa64509518b3a4bd126dddbe17064a25dd634",
      "parents": [
        "b8d07d4b8dce11cfb293e4b0f2232ec860e9ccd5",
        "b7706712938c55706c87724af7f6d2f2156b8d1b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 12 12:44:45 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:44:45 2012 -0700"
      },
      "message": "am b7706712: Merge \"Fix gapless for deep buffers\" into jb-dev\n\n* commit \u0027b7706712938c55706c87724af7f6d2f2156b8d1b\u0027:\n  Fix gapless for deep buffers\n"
    },
    {
      "commit": "b8d07d4b8dce11cfb293e4b0f2232ec860e9ccd5",
      "tree": "cbc7edb6896bd47cff5fbe038d805d569261d6c4",
      "parents": [
        "ddc757cacf0336f028aec11380387cfdf3b3089c",
        "58c8db6b7667db7a3bdb9b4bdd973091a5b0202f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 12 12:43:05 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:43:05 2012 -0700"
      },
      "message": "am 58c8db6b: Merge \"Fix gapless playback\" into jb-dev\n\n* commit \u002758c8db6b7667db7a3bdb9b4bdd973091a5b0202f\u0027:\n  Fix gapless playback\n"
    },
    {
      "commit": "ddc757cacf0336f028aec11380387cfdf3b3089c",
      "tree": "eb80377f40482ff71971dc6c883a59c80eeeedce",
      "parents": [
        "57d9b72812d25dff1c33e37b8475a469accd0919",
        "8a61dc02dbbc325dee51f2e9c9f0bbc238759ec5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 12:42:11 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:42:11 2012 -0700"
      },
      "message": "am 8a61dc02: Merge \"Revert \"Added some informational log messages to track down ANR related issues\"\" into jb-dev\n\n* commit \u00278a61dc02dbbc325dee51f2e9c9f0bbc238759ec5\u0027:\n  Revert \"Added some informational log messages to track down ANR related issues\"\n"
    },
    {
      "commit": "10cf121f7285e23c37264dab3bad7cffefd754b1",
      "tree": "c627048a3a4bd71a7d73c5993d52960c6921261b",
      "parents": [
        "b7706712938c55706c87724af7f6d2f2156b8d1b",
        "c68f4a226fc5af54a882b0603d3051793a781037"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Jun 12 12:23:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 12:23:20 2012 -0700"
      },
      "message": "Merge \"Update make file\" into jb-dev"
    },
    {
      "commit": "c68f4a226fc5af54a882b0603d3051793a781037",
      "tree": "6d83447e12f8dd67615035ad518b682f77593d45",
      "parents": [
        "8a61dc02dbbc325dee51f2e9c9f0bbc238759ec5"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Jun 12 10:41:14 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Jun 12 10:41:14 2012 -0700"
      },
      "message": "Update make file\n\nChange-Id: I7dbd128245f584df2689457df0dd12ce888cf8ef\n"
    },
    {
      "commit": "b7706712938c55706c87724af7f6d2f2156b8d1b",
      "tree": "421d7fdd51b19fa274d7db1ddd879e72165d4a6c",
      "parents": [
        "58c8db6b7667db7a3bdb9b4bdd973091a5b0202f",
        "d791e094da5698c787f8db28ca5d5d490c512cf1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 12 07:52:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 07:52:30 2012 -0700"
      },
      "message": "Merge \"Fix gapless for deep buffers\" into jb-dev"
    }
  ],
  "next": "d791e094da5698c787f8db28ca5d5d490c512cf1"
}
