)]}'
{
  "log": [
    {
      "commit": "a2354479716db40d865c597dc572ea83573caac2",
      "tree": "01f3d515ffee05e9f352a11d8e6e2de6cf302b4f",
      "parents": [
        "84acd489b93e04bea7aab06d8abb024eef2576fd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 05 12:26:30 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 05 12:38:15 2013 -0800"
      },
      "message": "Print statistics after ctrl-C\n\nAnd exit cleanly when no audio or video track is found.\nChange-Id: I3e030d60c774ad3ede839cba999ab32dd86bab5a\n"
    },
    {
      "commit": "fdd3795ca914c12cbe0ea40f00cb620f0b0b3c83",
      "tree": "e80c63a01ddf412acaf3121b8173008bf2da3294",
      "parents": [
        "7ae751960d8b31e6e301c18122d1146da8fe5983"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Nov 19 16:48:50 2013 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Nov 19 16:48:50 2013 -0800"
      },
      "message": "Fix the help text\n\nPesky bloggers.\n\nChange-Id: Ia8677b054423db292a34e28337431b57804df259\n"
    },
    {
      "commit": "7a66622c2c9250ce4ad0091195331ce4cb91a63d",
      "tree": "1a521a9c8acf7d555052fc6e9e21ff22178d703f",
      "parents": [
        "432600c1688d35087123303a6737603ec62ce5d5"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Nov 19 12:50:17 2013 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Nov 19 13:02:25 2013 -0800"
      },
      "message": "screenrecord fixes\n\nFixes to issues identified during code review.\n\nChange-Id: I2203694acb5c0544878f64f4347d29ad1a0725c4\n"
    },
    {
      "commit": "441e847feb0e055ecb004802802cea07782ab228",
      "tree": "d13d0ba0e0a196a0f13ce7402f0a2e063e1d1250",
      "parents": [
        "3bd2531ac7c87b85bc9f5abf558b5dc247caaa86"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Oct 18 07:31:41 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Nov 18 13:40:48 2013 -0800"
      },
      "message": "Add \"--bugreport\" option to screenrecord\n\nThe --bugreport option adds two visible features: (1) a timestamp\noverlay that (mostly) matches logcat, making it easier to match what\nappears in the video with what\u0027s in the log, and (2) an \"info page\"\nat the start of the video that shows the system configuration.\n\nEnabling this option adds an additional composition step,\nincreasing the overhead of screenrecord.  Depending on the device\nand circumstances, this may be unnoticeable or very pronounced.\nIf --bugreport is not enabled, the overhead of screenrecord is\nunchanged.\n\nWe also now track device orientation changes.  This is currently\ndetected by polling surfaceflinger, which is suboptimal.  As a\nresult, we detect the rotation too late, and get a weird mixed\nframe before the start of the animation for 90-degree changes.\n\nAlso, allow the bit rate to be specified as e.g. \"4M\" for 4Mbps.\n\nAlso, --rotate is now deprecated.\n\nBug 11220305\nBug 11136964\n\nChange-Id: Ibb94b81d2f73547b95d7a47e027da75fab187a4f\n"
    },
    {
      "commit": "253dfdb983611b8375c9e0b0483eda03fa146028",
      "tree": "022b83177f4dcb12d554ea24175a38cd3df320d0",
      "parents": [
        "6cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3c"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Sep 19 11:08:33 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Sep 19 11:08:33 2013 -0700"
      },
      "message": "Rotate fallback size\n\nIf configuring the encoder for display-size recording fails, we drop\nback to 720p.  This was done a bit too literally, and didn\u0027t look\ngood in portrait mode.  Rotate the fallback size as needed.\n\nBug 10826876\n\nChange-Id: Id3130471fc1467afa8bf91d75c9d4a49245253c3\n"
    },
    {
      "commit": "e6d5794b2173ffe4e7509203a91778b19eafcebf",
      "tree": "a2f6d729e72a7386220b8c38099f47fe54e0c21c",
      "parents": [
        "36a8b33a23dca49c9617e97e22e5d67f7d25c268"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 06 12:03:26 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 06 12:03:26 2013 -0700"
      },
      "message": "Make sure the encoder instance is safely release()\u0027d before its\n\nreference count drops to 0.\n\nChange-Id: I6601226e2754f17e964125cacf02dc02cfbf6231\nrelated-to-bug: 10150263\n"
    },
    {
      "commit": "f74ccdb61627421bccfdbc479ffdc06ced717db4",
      "tree": "674daeefece2063d57863021f0d6991445fabacb",
      "parents": [
        "e45a767e13fe3396185c9d378a70f7f11eb881d0"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Sep 04 15:54:07 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Sep 04 15:54:07 2013 -0700"
      },
      "message": "Start \u0027am\u0027 with exec()\n\nWe were using system() to run \u0027am broadcast\u0027.  Switch to\nfork()+exec().\n\nBug 10606037\n\nChange-Id: Ifae1a2b4f1914f015d09f2cac8cd0b1896d87a84\n"
    },
    {
      "commit": "2c041c1c927fdbf60f53f1a1960e5155a79007b7",
      "tree": "709d54263002988da46682537475a8d5389f963f",
      "parents": [
        "48326940f48390e79476e5ce7c2a18b8201cdafc"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Aug 28 15:22:11 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Aug 28 15:22:11 2013 -0700"
      },
      "message": "Add time limit to screenrecord\n\nRecordings are now limited to 3 minutes.  The time can be set lower\nwith the --time-limit option.\n\nBug 10529645\n\nChange-Id: I6ac19b9da8d616d38262414c2e821d56efcec55d\n"
    },
    {
      "commit": "48326940f48390e79476e5ce7c2a18b8201cdafc",
      "tree": "56ba061a0ef635c2242dca1f5972246edc9a736b",
      "parents": [
        "e07f53720bcf543bcfe90c228a49c2a85a3fdb4c"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Aug 23 13:49:38 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Aug 28 07:38:28 2013 -0700"
      },
      "message": "Notify the media scanner\n\nUse an \"am broadcast\" command to notify the media scanner that\na new video file is available.\n\nBug 10096103\n\nChange-Id: I8261d81d96832969ebb9031a9766c1b1f2a569ed\n"
    },
    {
      "commit": "c85a986af84962515c10499faab3dc8f9a0948d4",
      "tree": "27bb5d32fb461e3f5f27889451017a3b6bd7fb48",
      "parents": [
        "c13a958fba83dae63a8cf23b76b36a8fc8580aef"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Aug 14 20:39:49 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Aug 14 20:39:49 2013 -0700"
      },
      "message": "Fix build.\n\nChange-Id: If87636a654c8cfb2449e246df213fb24b08b4ad3\n"
    },
    {
      "commit": "99a2297e4f9746cd5efc3aa3731d17052f32e058",
      "tree": "6299db378045ebb22e929cc3fe2a7284f67133b0",
      "parents": [
        "69b5e38ca1af5696da1c00627d2e64f7db00d2e1",
        "a2081368e2068a86f2db9b0dd562d9e18f69ea37"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Aug 14 23:25:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 14 23:26:05 2013 +0000"
      },
      "message": "Merge \"Another error check\" into klp-dev"
    },
    {
      "commit": "69b5e38ca1af5696da1c00627d2e64f7db00d2e1",
      "tree": "29a03f149aea8c87d6207a528a60da2751b9f0fd",
      "parents": [
        "7f76a81b18ade3158ae27015637074ce08e837b2",
        "2533c83b4ed8e1ca5b259d59373f941c8f0e9635"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Aug 14 23:23:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 14 23:23:16 2013 +0000"
      },
      "message": "Merge \"Use destroyDisplay()\" into klp-dev"
    },
    {
      "commit": "a2081368e2068a86f2db9b0dd562d9e18f69ea37",
      "tree": "a70ef62bb490a67229e29dacf94ff5ff82e897b9",
      "parents": [
        "2533c83b4ed8e1ca5b259d59373f941c8f0e9635"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Aug 14 15:08:29 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Aug 14 15:08:29 2013 -0700"
      },
      "message": "Another error check\n\nChange-Id: I01ed5c0c7dcb520732d2856859bced31df5fbbb5\n"
    },
    {
      "commit": "2533c83b4ed8e1ca5b259d59373f941c8f0e9635",
      "tree": "bfad6cb63427aca3993b6d70b0c53aee18160ebc",
      "parents": [
        "fe9611bd65a8d968d6512f6a83078ac064ec8e6e"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Aug 14 11:23:06 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Aug 14 11:23:06 2013 -0700"
      },
      "message": "Use destroyDisplay()\n\nUse the new SurfaceComposerClient::destroyDisplay call to shut the\nvirtual display down.\n\nChange-Id: I0225a44594abf427d386456622b23b01fdd1690f\n"
    },
    {
      "commit": "1e0b080825a169c6ac655f11a798ff177575608c",
      "tree": "741d74d02ffc8e0cabdac3447e532547f384504b",
      "parents": [
        "46052913f307b1561f1661bb776fa29c0775758c",
        "3cb3f576475c04058c265bb2dfa366cc98b2434c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 13 17:03:29 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 13 17:03:30 2013 +0000"
      },
      "message": "Merge \"Restore stagefright command line tool.\" into klp-dev"
    },
    {
      "commit": "46052913f307b1561f1661bb776fa29c0775758c",
      "tree": "198b0f96f080c9110688e19bd65d51182ed99b1e",
      "parents": [
        "fe9611bd65a8d968d6512f6a83078ac064ec8e6e"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Aug 13 09:56:19 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Aug 13 09:56:19 2013 -0700"
      },
      "message": "Better error message\n\nAttempt to create the output file before handing it to MediaMuxer,\nwhich doesn\u0027t report file-open failures in a useful way.\n\nChange-Id: Ie24ff577dd50e185b4eb72575684d23a46f38d3d\n"
    },
    {
      "commit": "3cb3f576475c04058c265bb2dfa366cc98b2434c",
      "tree": "6c803e1e1db1227f685ad7d25cecefdea66264ac",
      "parents": [
        "1b832c3d8f2b1b24f9bc7025afd2b4a8b4e6c6f9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 13 08:55:47 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 13 08:55:47 2013 -0700"
      },
      "message": "Restore stagefright command line tool.\n\nChange-Id: Ia17f48522f601d6a057ef3e1e8cd01f80a5c9951\n"
    },
    {
      "commit": "9e65879ebc633334bb061e8164c46602ad983c50",
      "tree": "0a5046a178e98c0d4057d816559b508243543a68",
      "parents": [
        "deeef54487a34034dc0cfaab20b20d557224c07c"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Aug 06 15:54:17 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Aug 06 15:54:17 2013 -0700"
      },
      "message": "Fix build. last attempt.\n\nChange-Id: Ib955134f90b78cfc0d31272021ad5907a41df708\n"
    },
    {
      "commit": "f560001b5d60225dc7e101b2481477a3c39b66a4",
      "tree": "461758ceb2b2dcc49ba220230b7859374a633a40",
      "parents": [
        "b08ab81bab9e8cd2e3a7fff02725a387070fd078"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Aug 02 13:58:54 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Aug 02 14:03:24 2013 -0700"
      },
      "message": "Use screen dimensions as default video size\n\nInstead of 720p, use the screen dimensions as the default video\nsize.  For example, a phone with a 768x1280 display would be\nrecorded as a 768x1280 video when in portrait, or a 1280x768\nvideo when in landscape.\n\nIf the device is not able to record at that resolution, we\nfall back to 720p.\n\nAlso, fixed a problem introduced by a buffer timestamp change.\n\nChange-Id: I7230ddb323c669ab07327f26df8d103c192c21d3\n"
    },
    {
      "commit": "1f5a90bc795475896044fcb1f74816c102851f06",
      "tree": "6a446bd7e9aca02592c0f4420c46854704d1cf35",
      "parents": [
        "288abb6fe160dff109dedbf89b227fc2b10a2ee8"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jul 22 12:23:07 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jul 23 15:35:46 2013 -0700"
      },
      "message": "Prototype screen recording command\n\nThis records the screen contents as a movie.  It works by feeding\nthe output of a virtual display to the video/avc encoder.  Recording\ncontinues until Ctrl-C is hit.\n\nVideo only, no sound.  Does not track screen rotations.\n\nChange-Id: I91d5c4e781792c740699b7a83590e846295b3617\n"
    },
    {
      "commit": "8d764bfc74c40641f018a0aa87d6f484aec92eae",
      "tree": "1418445850d4b3d44ab521722639494b33df27f5",
      "parents": [
        "ce177bb31493d3cd4450f9d4760fa1fd32ec6bf4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 12 22:06:20 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 12 22:06:20 2013 -0700"
      },
      "message": "always pass the BufferQueue explicitely to consumers\n\nChange-Id: Ic2d9a9cf184a482b3c78a481ed693ee32df5ca13\n"
    },
    {
      "commit": "94705aff3c9eef58cbb72ec6fe5d2dcfd9481646",
      "tree": "a6129de4a9abf49499bfc4639587a2627c0370ab",
      "parents": [
        "078a540525f86517aefa4afc56e12fbd74e3823d"
      ],
      "author": {
        "name": "hkuang",
        "email": "hkuang@google.com",
        "time": "Mon Jun 24 11:21:17 2013 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Jun 24 20:29:08 2013 +0000"
      },
      "message": "Adds VP9 decoding support for stagefright.\n\nAlso change the VP8 encoder role name from \nvideo_encoder.vpx to video_encoder.vp8 for \nfuture VP9 encoder support.\n\n\nRequires the change in frameworks/native and media_codecs.xml \ncorresponding to the device.\n\n\nVP9 decoding test will be added to cts repo later.\n"
    },
    {
      "commit": "d1fffa24d9b5d0d6f5ff9eda372befe114ceefb6",
      "tree": "b3cb7ad22bb88ebc1a8c22ece8e65769f150b329",
      "parents": [
        "dcb614cda0fb11d06dc3e7f508367a36baaebd54"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Jun 06 15:00:14 2013 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Jun 06 15:15:31 2013 -0700"
      },
      "message": "Remove \"LOCAL_MODULE_TAGS :\u003d debug\" for stagefright tests\n\nChange-Id: I53815d2f6d7dfe7eebb26c3802eb3d195244aab1\n"
    },
    {
      "commit": "14f7672b5d450ed26a06fd3bb3ce045ea78b11b2",
      "tree": "1730ace584297a64946ed5dccc0ca596c2570d21",
      "parents": [
        "fbb70ce416b193655fbe5ff7f6c8676050bdf524"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 15 09:04:18 2013 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri May 31 10:30:45 2013 -0700"
      },
      "message": "New HLS implementation supporting independent stream sources, audio-only streams\n\nand more.\n\nChange-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495\n"
    },
    {
      "commit": "ea29f0da58add214f79ed148ad0321cef0777e54",
      "tree": "79cebb1b6765eef913071f897e045f0448ced16f",
      "parents": [
        "d72ec85d1d0b92ed82927e3925f21912a659b799",
        "a768b4f838f93823f661422d8193ebbff64b1b5a"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Apr 15 11:41:14 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 15 11:41:14 2013 -0700"
      },
      "message": "am a768b4f8: am 8f1efee1: Merge \"MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.\" into jb-mr2-dev\n\n* commit \u0027a768b4f838f93823f661422d8193ebbff64b1b5a\u0027:\n  MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.\n"
    },
    {
      "commit": "8f1efee1c17e997af5ea3c46c62b3ae106b18264",
      "tree": "18392c33567980ddbb6fc193817113489027f335",
      "parents": [
        "5ce9c299a64a1568165fc66adb2cf68d89198a90",
        "de05c8eab188e98798f2b9c3dfac53dbc18ef584"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Apr 15 18:36:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 18:36:01 2013 +0000"
      },
      "message": "Merge \"MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.\" into jb-mr2-dev"
    },
    {
      "commit": "de05c8eab188e98798f2b9c3dfac53dbc18ef584",
      "tree": "5f1023f6cf5770bc3cdbbda03af68a62ff2eebcf",
      "parents": [
        "848621d519636e2abdb8575ba0f964efc53da0d5"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Apr 12 13:50:38 2013 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Apr 15 10:48:33 2013 -0700"
      },
      "message": "MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.\n\nBy default, MPEG4Write will keep running in real time recording mode.\n\nbug:8598944\n\nChange-Id: Idf7fbd4e0feb7763660a74279ba8817b79098aaf\n"
    },
    {
      "commit": "844ebdef8c73b98ec29c75f1fd7940624e70d14d",
      "tree": "0ae3d9ebfea83148018ebf4825ad9c902e8d8e83",
      "parents": [
        "a4d0cd1b817a3c55858af5f754f7daa302de087e",
        "e63f850b179a43a344d438f202ad34ec7566f955"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 22:25:13 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 09 22:25:13 2013 -0700"
      },
      "message": "am e63f850b: am da0dc0af: Add liblog\n\n* commit \u0027e63f850b179a43a344d438f202ad34ec7566f955\u0027:\n  Add liblog\n"
    },
    {
      "commit": "da0dc0af0effe9fbfb3ce3187c8472fca2baf3c6",
      "tree": "67aa5a912048834766759d1842f7e54a20f74481",
      "parents": [
        "ec77122351b4e78c1fe5b60a208f76baf8c67591"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: If493d87d60d71be664ad75b140c62acadb75b0d0\n"
    },
    {
      "commit": "a459c33e0b5ef65014be5716b6a5e5d89e8c8624",
      "tree": "e9fa7bd8196d458972c4da35e2f953484e0193e8",
      "parents": [
        "a2bacf9dcb22243ffaa96a50a008694344fc5da0",
        "6bc010e3062b50d5cf9605dd5ffaa0904772312e"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 20 17:05:26 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 20 17:05:26 2013 +0000"
      },
      "message": "am 6bc010e3: am 9e36b5a5: Merge \"Add the presentation rotation support\" into jb-mr2-dev\n\n* commit \u00276bc010e3062b50d5cf9605dd5ffaa0904772312e\u0027:\n  Add the presentation rotation support\n"
    },
    {
      "commit": "0e6858d6aea12fc585a8c7d217c1271878655081",
      "tree": "1dab494a2e6d8f8f6eb96011ee178445a4f76585",
      "parents": [
        "46df2764f0afee42deaf0ad8f0f1f0354987dfa5"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Thu Mar 07 14:40:40 2013 -0800"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Mar 19 17:34:49 2013 -0700"
      },
      "message": "Turn off debug tags in stagefright modules.\nLOCAL_MODULE_TAGS :\u003d debug causes the module to be included in every userdebug\nbuild, regardless of whether it\u0027s specified as a dep by the device config.\nThis CL switches them all to optional (i.e. default behavior) so that we can\ndo (userdebug) device builds without pulling these in.\n\nChange-Id: I4b7b65afea61865dd38b3af55550fb8f10edf66d\n"
    },
    {
      "commit": "e0fb528f8e3bbab04620c8534177168b358e837b",
      "tree": "620e4dc70bb9299600fdf9468507197bdca93b5f",
      "parents": [
        "ee6ad3bd4bfc8e71b3b8c96eb4ea56a592e13e65"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 12 15:43:56 2013 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Mar 15 16:16:16 2013 -0700"
      },
      "message": "Add the presentation rotation support\n\nbug:7991013\n\nChange-Id: I10cb034b432876c724baa4974efcb3d67b8a99b6\n"
    },
    {
      "commit": "3db62dfc5102247d415df4667bd9609e669fc022",
      "tree": "70ae686be3e35fb0a2af316d4d4fce733f06249c",
      "parents": [
        "bf04b5860182d8f4130dcb5d6d88ee68a58c99cd"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Feb 22 14:32:59 2013 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Mar 08 14:48:05 2013 -0800"
      },
      "message": "Clean up the native code to match Java update\n\n1. Add flags to match the java side change.\n2. Update the interface.\n\nbug:7991013\n\nChange-Id: I8ffe84c466b2a68e2e1e48b35b78db9e44640265\n"
    },
    {
      "commit": "ceb388d6c03c38b96dc41c0ea4804b749aa077c4",
      "tree": "0639ba70ce330094a9fa71ba4577eece6d4dadb1",
      "parents": [
        "0894bfb78b7872570b94d0b8d23ebbf6a8b51d35"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 19 10:40:14 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 25 16:11:41 2013 -0800"
      },
      "message": "CameraService and Stagefright: Support AppOps\n\nCamera:\n- Signal to AppOpsService when camera usage starts and stops\n- Listen to permissions revocations and act on them\n- Currently just kill camera connection when permissions lost\n\nStagefright:\n- Pass on client name, UID to camera as needed\n\nBug: 8181262\nChange-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0\n"
    },
    {
      "commit": "9e1cdea45d40fa8cf95dd080943053856009054f",
      "tree": "994c8f0800e7c636e0f5ce7dfab1d9bf082decb9",
      "parents": [
        "fc900c922e219771d0cd3c075720d90026e1ca4a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 19 18:25:33 2013 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 19 18:25:33 2013 -0800"
      },
      "message": "replace getISurfaceTexture by getIGraphicBufferProducer\n\nChange-Id: I723a3863558126f2635a544a39bb3ec88d499c60\n"
    },
    {
      "commit": "1a2952aee048ca7b1765e2bc09ebe9aeddaeafa3",
      "tree": "8e63f996a20f020e0af736eab89d632204c2c631",
      "parents": [
        "05f625c46b992ab66b8d1527a366fe2746b4e3c7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 14 17:11:27 2013 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 15 12:47:35 2013 -0800"
      },
      "message": "Refactoring: Rename SurfaceTextureClient to Surface\n\nChange-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830\n"
    },
    {
      "commit": "6df48bfe8cccdfec58f5f94be3cf3a2c64697e56",
      "tree": "191d8c14b8670f2dda895b1be99f380da02ecb1e",
      "parents": [
        "cd27b0798f6abb34e464acc7c7e97e066cd3c6c7"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Feb 07 15:12:10 2013 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Feb 13 11:39:06 2013 -0800"
      },
      "message": "Add a test utility for MediaMuxer.\n\nThis test/utility copy samples from one video and mux into another video.\nIt support trimming, cutting audio or video track.\nIt can run simply as command line like:\nadb shell muxer -a -v -s 1000 -e 8000 \"/sdcard/DCIM/Camera/VID_*.mp4\"\n\nbug:7991013\n\nChange-Id: I8a2eeff3cabd001b6b2a7062d991dd076edbf22e\n"
    },
    {
      "commit": "0df36ec3303c2c6bf9b42c07945ac8bd234153f3",
      "tree": "558d8e8d18ce64e84114d3b3d53209c0b4e27693",
      "parents": [
        "ec0c597cabf169ca646bcea5faac1bd81ed4484d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 06 10:44:39 2013 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 06 10:44:39 2013 -0800"
      },
      "message": "HLS now properly publishes its \"seekable\" flags after connection\n\nhas successfully completed and a sufficient amount of data fetched,\nand only then signals that preparation is completed.\n\nChange-Id: I7684a14238b826909f518f2af506966e522dfcfc\n"
    },
    {
      "commit": "49d24d3fcd01aef0ec1fa4abd9c1b85473f64c0f",
      "tree": "b2803e0ba9269ce4513f41d1a37984450f6fbfd7",
      "parents": [
        "df84d70d1da102995a5f1591c4af7c1807e4acd8",
        "8d6cc842e8d525405c68e57fdf3bc5da0b4d7e87"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 21 08:09:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 08:09:11 2012 -0800"
      },
      "message": "Merge \"Remove unnecessary parameter\""
    },
    {
      "commit": "8d6cc842e8d525405c68e57fdf3bc5da0b4d7e87",
      "tree": "d3296fc4f886ae058cb353cec79576b7e4428897",
      "parents": [
        "53bc0a2fc54330534330118edd5c393f39eff8ab"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 11:06:53 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 18 16:16:30 2012 -0800"
      },
      "message": "Remove unnecessary parameter\n\nJust get the parameter on server side\n\nChange-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15\n"
    },
    {
      "commit": "8ba01021b573889802e67e029225a96f0dfa471a",
      "tree": "110eca2effc73dcb2f46da71e9a0584e4af6e71e",
      "parents": [
        "53bc0a2fc54330534330118edd5c393f39eff8ab"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 09:46:54 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 13:31:57 2012 -0800"
      },
      "message": "Rename ISurfaceTexture and SurfaceTexture\n\nThe C++ class names don\u0027t match what the classes do, so rename\nISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to\nGLConsumer.\n\nBug 7736700\n\nChange-Id: I64520a55f8c09fe6215382ea361c539a9940cba5\n"
    },
    {
      "commit": "84b6440fa1d1274267deabe0bd8dc626b5548e4c",
      "tree": "b5284479445f82ecf482fe09c1638b2db2e962da",
      "parents": [
        "dbd405dae1e2d2f88e529cc0d1fbdb0a676c4d7a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 12:15:23 2012 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 12:15:23 2012 -0800"
      },
      "message": "stop using a deprecated SurfaceTextureClient ctor\"\n"
    },
    {
      "commit": "dbd405dae1e2d2f88e529cc0d1fbdb0a676c4d7a",
      "tree": "edaf2184d449ddc81f107bead79ae6fb09ca49c8",
      "parents": [
        "6a15305283e837b27adc60b587317f581524b1bc",
        "af0351f930459098d98792d569b1436c43c536d8"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 12:09:09 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 12:09:09 2012 -0800"
      },
      "message": "Merge \"Revert \"stop using a deprecated SurfaceTextureClient ctor\"\""
    },
    {
      "commit": "af0351f930459098d98792d569b1436c43c536d8",
      "tree": "23916ae7df8025a16a1d7e5b26a0e699e0236fb6",
      "parents": [
        "aef79b0676d8f0ee8ef637ec8be5ba73225b038d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 12:08:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 12:08:51 2012 -0800"
      },
      "message": "Revert \"stop using a deprecated SurfaceTextureClient ctor\"\n\nThis reverts commit aef79b0676d8f0ee8ef637ec8be5ba73225b038d\n\nChange-Id: I5f6cf4d6d5dc895a9426f212dfc8a25b4bf2d23a\n"
    },
    {
      "commit": "db88c7da6d6710dea336f3253126f7002f218340",
      "tree": "d3d4cd0520516c119a1e571b6f97d966e29d205b",
      "parents": [
        "08470ab61d437289bee05257ef1edd8987ccf1dd",
        "aef79b0676d8f0ee8ef637ec8be5ba73225b038d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 10:58:38 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 10:58:39 2012 -0800"
      },
      "message": "Merge \"stop using a deprecated SurfaceTextureClient ctor\""
    },
    {
      "commit": "aef79b0676d8f0ee8ef637ec8be5ba73225b038d",
      "tree": "e0c9b69d4dcaf6fa7709d3f1f2cac8d4b9ab77e7",
      "parents": [
        "ae162976dda428671af09a8fbc3f03173a7e6f3e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Dec 11 17:03:12 2012 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Dec 11 17:03:12 2012 -0800"
      },
      "message": "stop using a deprecated SurfaceTextureClient ctor\n\nChange-Id: I792277b0d711da22f6b2abb7f1d837450d6af8e2\n"
    },
    {
      "commit": "efc0cfb61e34c3bc688a7cbcc1ccef23922251c1",
      "tree": "505d099db60114695ad7bf6bbd671d09da4cf873",
      "parents": [
        "ae162976dda428671af09a8fbc3f03173a7e6f3e"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Dec 11 14:42:55 2012 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Dec 11 14:43:31 2012 -0800"
      },
      "message": "stagefright: recordvideo: add -o flag to specify output filename\n\nChange-Id: I6b464a7b3f7dd918565c6abbd432d779eb286fd5\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "3fb57dc603a0d3b2817b91018c03673c8341d6b4",
      "tree": "2479815ce4205899a5fc66bf25a348092d7f2965",
      "parents": [
        "083d1c1492d496960d5b28f4664ff02101736677"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 04 17:16:22 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 04 17:16:22 2012 -0800"
      },
      "message": "Add explicit cutils to stagefright\n\nWithout this, some changes I\u0027m making over in frameworks/native\nresult in a link-time failure to find android_atomic_dec.\n\nChange-Id: Ieb45a86ef6508816ac51589e249ff89caf7ba309\n"
    },
    {
      "commit": "4cf1bdef135d6ebf6ccd404aacc8917f9887a07a",
      "tree": "205bbcf5620477e1b4b7c83db58b571d83dd445f",
      "parents": [
        "a1c1a7e4c9cb37726e4afc10d6678666087f8e1d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 16 11:15:44 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 16 11:15:44 2012 -0800"
      },
      "message": "Only pass the surface to the video decoder.\n\nChange-Id: Ice0cfc0021fdd9fe053be6ee324cbc64226ed122\n"
    },
    {
      "commit": "71bd6f8faf362659d3a9052549607039585f4922",
      "tree": "7361c8818fa92cf0f9427990f83008da257c1ea5",
      "parents": [
        "c762a9b97c2bd7b701c635e9f204e6d6e0d3e218"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Oct 25 12:07:27 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 12 14:55:57 2012 -0800"
      },
      "message": "Stagefright command line tool: input file name last\n\nShow in usage that the source file name comes last, and is preceded\n by the options.\n\nChange-Id: I8407fc36c8d19785cb2e6e1f7b7a352a8d86f889\n"
    },
    {
      "commit": "c41590251aa84c078c942d258e838aad814b73a5",
      "tree": "1db58d721d614ebd28f52b7a1dc632d943d6506d",
      "parents": [
        "db3a20ea484514f7f23d4ef3c30fe4780ab940d2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 30 10:51:39 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 30 10:51:39 2012 -0700"
      },
      "message": "Remove obsolete references to libmedia_native\n\nBug: 6654403\nChange-Id: I3993d62987cf0dd85db10bf002a5cce53d4f01bd\n"
    },
    {
      "commit": "b7b8de8878a32cd62916b29cf2cbf4f7437adbea",
      "tree": "408f84d244d56ccf70c58d87da5416d1ae31fbd6",
      "parents": [
        "ac4187569c7011c2dcfb9ed1ad658b7ad8cba046",
        "0924dd88790ba9cda0d5a86df7d68b7446470fc7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 10:58:21 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 10:58:21 2012 -0700"
      },
      "message": "am 0924dd88: am 2aa37a7d: Merge \"recordvideo: Add an option for choosing software encoders\"\n\n* commit \u00270924dd88790ba9cda0d5a86df7d68b7446470fc7\u0027:\n  recordvideo: Add an option for choosing software encoders\n"
    },
    {
      "commit": "ac4187569c7011c2dcfb9ed1ad658b7ad8cba046",
      "tree": "b981c8a291ca7ba29fc32d12a0af5933b73a9b95",
      "parents": [
        "eb941f9a0c8474324732a99387cc6d8cb4ab01ef",
        "3f9e843d924f220f6094241bc765cd69d8fc6d7b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 10:58:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 29 10:58:19 2012 -0700"
      },
      "message": "am 3f9e843d: am 9ce74352: Merge \"recordvideo: Sleep while waiting for the encoding to finish\"\n\n* commit \u00273f9e843d924f220f6094241bc765cd69d8fc6d7b\u0027:\n  recordvideo: Sleep while waiting for the encoding to finish\n"
    },
    {
      "commit": "2aa37a7d15f5e2246b8996d2600269684904c581",
      "tree": "0cf9b71a4e3cdde4dff5293d17417936d289f757",
      "parents": [
        "9ce74352d23d833f9627b7be58be964206e6ff6d",
        "d4483f3fd0e024d833082fce3ddbc3a2f3d89b24"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 29 09:07:26 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 09:07:27 2012 -0700"
      },
      "message": "Merge \"recordvideo: Add an option for choosing software encoders\""
    },
    {
      "commit": "1301a437ff9f5fa6c4ed78f88add3d9bfce97935",
      "tree": "8e0b2fdcba1c12b72df1d4dcb48606f5c97286cd",
      "parents": [
        "4b60ac04a878eaf8344b56189509ccd6925855c2"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 13:41:01 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 15:36:55 2012 +0300"
      },
      "message": "recordvideo: Sleep while waiting for the encoding to finish\n\nThis avoids busy looping while e.g. waiting for the software encoder\nto finish.\n\nThis is similar to what the \u0027record\u0027 and \u0027stagefright\u0027 test apps\ndo.\n\nChange-Id: Idce55b15396ce78b621a521229603bec1e799f33\n"
    },
    {
      "commit": "d4483f3fd0e024d833082fce3ddbc3a2f3d89b24",
      "tree": "a07f1df352ab304cdac9a34d08c4b1613e61fc91",
      "parents": [
        "4b60ac04a878eaf8344b56189509ccd6925855c2"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 13:28:33 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Aug 29 15:35:59 2012 +0300"
      },
      "message": "recordvideo: Add an option for choosing software encoders\n\nThis is similar to the same option in the \u0027stagefright\u0027 test\napplication.\n\nChange-Id: I2a2e5201bd93460df0911ef12865c9030c0183e5\n"
    },
    {
      "commit": "a6195decfe4f9021bbbd7deb050495c33371366b",
      "tree": "09b9019be81ae19ce8555b505248802fc918e4e3",
      "parents": [
        "96272d57caa39566842795ba1f0605a5a5f72272"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 24 22:34:11 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 24 22:42:51 2012 -0700"
      },
      "message": "Use new surface flinger API.\n\nChange-Id: I594c6e15db5f617d2feaac1a65b5316daa3812d0\n"
    },
    {
      "commit": "b9787142c5f5f8f47e7e35409f4f2ef7112ab72e",
      "tree": "3966271224e78b6d8e88da104385a67900890635",
      "parents": [
        "0d27c65ddb5c968baa6db0c26e80f5c451bc52bc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 09 09:15:48 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 09 13:25:48 2012 -0700"
      },
      "message": "Fix static sample table processing, add support for h.263 video.\n\nChange-Id: I5628d3437b5e6f8836d78557fd07ab87e5a914e3\n"
    },
    {
      "commit": "840667883fd09d44015716d79bc3ac4d60edc0f0",
      "tree": "cb55492dbe3ca64b2ab9ba2f5a3bb6d0a0bcf650",
      "parents": [
        "9cb20d4a41eb84bfab7f9f0d0829393f378583f4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 16 09:34:26 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 03 13:57:32 2012 -0700"
      },
      "message": "experimental support for fragmented mp4 playback in nuplayer\n\ncherry picked from change 170999\n\nChange-Id: I407775f0290154ad4961134839a15c9f296424c0\n"
    },
    {
      "commit": "3dca4c7a5622fc6aa03397d749c4b4c1201cc4f3",
      "tree": "0867a719c65c8063b65f33d8e2304cd679245da8",
      "parents": [
        "28567defef0ba95cb38f2d80eba30b01db207a77"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 25 19:22:42 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 25 20:38:26 2012 -0700"
      },
      "message": "update to new getDisplayInfo API\n\nChange-Id: Ie273677e34b9e8475abfa0ae27620d98b3a15b77\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": "8ee516a515c70a492c395b67ce12e19e7d159804",
      "tree": "ae968718f25cd7972a03c00e7496a6deb225fc1f",
      "parents": [
        "a62bde0a391f65a418d77c46e6ba468433d81dba"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 08 11:21:26 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 08 11:26:22 2012 -0700"
      },
      "message": "Submit codec specific data automatically\n\nif it is contained in the format passed to MediaCodec::configure.\n\nChange-Id: I8ef6755e8389ec47b44a9c70904ea6c03a00f4f2\nrelated-to-bug: 6364139\n"
    },
    {
      "commit": "209ec37b27a4fb6c92005c91ecf993ec19a3d430",
      "tree": "6009bcb3fbb95ec7de0531e9adf7266f77447468",
      "parents": [
        "300a2ee9327c05fbf9d3a5fd595b558097c7c5e8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 27 16:54:59 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Apr 27 17:00:38 2012 -0700"
      },
      "message": "Fixed incorrect codec type in the output for profiles/levels in cmd stagefright\n\no related-to-bug: 6401068\n\nChange-Id: Icdc2cfa37ed053f53d1466d8b068f1d9973ed82f\n"
    },
    {
      "commit": "c434ac82b57108bd08f58612f6ac8cbc92dbd975",
      "tree": "bc8485a725a892fd149e5e7e949414232368d84f",
      "parents": [
        "e0c026e32277de27627b2bc24e51f333a2f1c4ee"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Apr 25 14:14:55 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 27 12:29:37 2012 -0700"
      },
      "message": "Add option to stagefright for writing decoded PCM\n\nb/774846\nChange-Id: I8edce3e7d60b3f56b4eb1ed75ca80285c5ae3972\n"
    },
    {
      "commit": "1ab12519ec3d4922d1980f975fc884908879e0f0",
      "tree": "b744a596652177358d3f15c6992412c87bd98d46",
      "parents": [
        "e370bb62b89d2f2980f519392010ea08a24c558e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 25 18:14:36 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 25 18:14:36 2012 -0700"
      },
      "message": "Add profile/level dump for encoders in cmd stagefright\n\no related-to-bug: 6401068\n\nChange-Id: I51e3eeb026aa75c4492d421f5f239dc9072a9c8b\n"
    },
    {
      "commit": "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": "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": "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": "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": "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": "559bf2836f5da25b75bfb229fec0d20d540ee426",
      "tree": "d7dd708b17eeca96a3e5d8bcc25a51ff3d1b5d0d",
      "parents": [
        "b0b2b4d890cf3bfb274797a759642b4e733343d7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 28 10:29:14 2012 -0700"
      },
      "committer": {
        "name": "Anatol Pomozov",
        "email": "anatol.pomozov@gmail.com",
        "time": "Wed Mar 28 12:07:41 2012 -0700"
      },
      "message": "AV Android make files changes\n\no plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc\no remove some runtime dependencies to libandroid, libandroid_runtime, etc\n\nChange-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10\n"
    },
    {
      "commit": "15147270aa1c56503902b424f946389294875665",
      "tree": "921f7bb25e8b743485ccc62bc6ee5ddaa345fb54",
      "parents": [
        "b14f18245d64b38aae1c02db79b2ad516d69891c",
        "ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 26 11:43:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 26 11:43:06 2012 -0700"
      },
      "message": "Merge \"Provisional support for secure decryption of media streams.\""
    },
    {
      "commit": "ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6",
      "tree": "99d5bb3a2f48f9a3ba3eaaf17e630b589e97bef1",
      "parents": [
        "cc1110dc92e53e9cc0afbb043e6ef8295bd9c5d5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 26 11:13:27 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 26 11:24:04 2012 -0700"
      },
      "message": "Provisional support for secure decryption of media streams.\n\nChange-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe\n"
    },
    {
      "commit": "26a417f68526fee861bb527f1a4e3ed548979f93",
      "tree": "89962980c55919ae8066eaab4c0db16a7d6699d3",
      "parents": [
        "8f7f7ad54c698cb57a2a369cf1ae5b917853917b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Mar 24 15:12:07 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Mar 24 23:34:43 2012 -0700"
      },
      "message": "stagefright: remove dependency on skia\n\nskia is only used to write a jpeg file, link directly to libjpeg\ninstead.\n\nChange-Id: Iea8f4a2347c38328776541d2b74bcbdea3f62041\n"
    },
    {
      "commit": "3ee26944b082def647fe5bb2b75116ffb0267059",
      "tree": "61d6c7d15b281eb465f6af35365428e3762f13cf",
      "parents": [
        "ef36d496477d1e2ae99c3cd43eee5cf7e82b0883"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Mar 24 10:48:40 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Mar 24 10:59:14 2012 -0700"
      },
      "message": "Remove JNI in LOCAL_C_INCLUDE from non-JNI related Android.mk files.\n\no related-to-bug: 6214141\n\nChange-Id: Ic88d1732b3e014af47532a0809e01f6086e8464d\n"
    },
    {
      "commit": "afed0e1fa37473a4cd30018577b560acc79d9a3f",
      "tree": "60e3a06c0cc8266f4ecaa45eb7d08c0c47a8b2dd",
      "parents": [
        "898b11f2aeaaa2bed84d963a3fcfd3b229e00b99"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 20 15:39:58 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Mar 22 13:18:08 2012 -0700"
      },
      "message": "Use NuPlayer for media playback everywhere\n\nif media.stagefright.use-nuplayer is set to true.\n\nChange-Id: Ibb217e7d7d5195b7feeea557554fe78e1585744c\n"
    },
    {
      "commit": "1bb8e81b066a2311fd238fc6dae8f026e33ed99e",
      "tree": "b532516a844ab20331120a4d6f7777c27c36548c",
      "parents": [
        "1746929ddc7592ab397c402724a61352e45df093",
        "b12153e36ae5e514d96c77d660b327d1a8f5000f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 19 16:21:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 16:21:04 2012 -0700"
      },
      "message": "Merge \"Add libmedia_native\""
    },
    {
      "commit": "1746929ddc7592ab397c402724a61352e45df093",
      "tree": "1911bbd03adeac6bb6e8fa91de3ee1833a40e401",
      "parents": [
        "eb76ff27c13386eb5a2dad73b1a8366f80eb0ff7",
        "ab334fd351ae5a0e18903da123d63e565b536874"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 19 07:31:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 07:31:58 2012 -0700"
      },
      "message": "Merge \"audio_channel_in/out_mask_from_count\""
    },
    {
      "commit": "f5e376fb8f2c30f82b7548241ca6b24f92ff8914",
      "tree": "4f807ca65d21cd7205c0c93b5f31de1e110ae2e0",
      "parents": [
        "49f306f863b14f8bfc3b405ebfd3a2fb2b403c15"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 16 13:19:20 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 16 13:19:20 2012 -0700"
      },
      "message": "Report an error instead of waiting for EOS indefinitely in sf2.\n\nChange-Id: Id7bcfb90a3b6a61f0df8bd8f39ea4ffa3c433d87\n"
    },
    {
      "commit": "b12153e36ae5e514d96c77d660b327d1a8f5000f",
      "tree": "fbfe8dc937f925b7075786b969522fb9012ae69b",
      "parents": [
        "6469edeeac6079b118e8f81252116c40574c9841"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 16 11:42:24 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 16 11:51:30 2012 -0700"
      },
      "message": "Add libmedia_native\n\nChange-Id: Ib8cff8abd73723b793f08da99ad59549f219e0e7\n"
    },
    {
      "commit": "ab334fd351ae5a0e18903da123d63e565b536874",
      "tree": "9bcc5a6151326d9ca345f9dfac0d9d68d48e73b4",
      "parents": [
        "3c5bbaee376d235404f267fbe1693d1960bfaaef"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 14 12:56:06 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 15 13:15:27 2012 -0700"
      },
      "message": "audio_channel_in/out_mask_from_count\n\nand avoid ambiguous term \"channels\" where it might be confusing\nas to whether it is a channel mask or channel count\n\nChange-Id: I744fa08ccb6001a98c97bd638d2c9d56836c4234\n"
    },
    {
      "commit": "6c6b4d0d2b98a7ceee8b697daaf611f8df3254fb",
      "tree": "307356be51d237ee22f88affdc3376270d571be9",
      "parents": [
        "aa4397f07c43bd83bc3100b749401dc3d15e7622"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 12 14:37:53 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 12 21:28:57 2012 -0700"
      },
      "message": "Switched to use the header files in /frameworks/native\nand deleted the duplicate header files in /frameworks/base\n\no related-to-bug: 6044887\n\nChange-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795\n"
    },
    {
      "commit": "5aaeb0d64fc98f9b019a4378eb39f0ee49ee6ec4",
      "tree": "aad8b0cec3fb0153fbee5391ee636cac73c02fa5",
      "parents": [
        "083c154162c88a9f63aeaa10a4b52dd454bda9ff"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 09 09:46:33 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 09 09:46:33 2012 -0800"
      },
      "message": "fix EOS handling in codec test.\n\nChange-Id: I5eb6d00aa0c1a728a951c7ffa4faebcadd7b14a6\n"
    },
    {
      "commit": "bae6f72d16a1cfc2122b4ce9b484c026ecd896b1",
      "tree": "99efa954d8bd0b539d0559c27094682e0da1f7ff",
      "parents": [
        "1465f0c3df04c3166155a852a6a5c10069c1fd0a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 07 12:40:59 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Mar 07 12:40:59 2012 -0800"
      },
      "message": "Added better codec statistics to evaluate performance.\n\nChange-Id: I9a1e4a803502329e0342ddde07b6df6b3761afd8\n"
    },
    {
      "commit": "c95c2ddcdfc974f42408a377fbe2de51b94a8c94",
      "tree": "24239ca3f0d24f790b73d92627de057f738f91d5",
      "parents": [
        "a3873833d518e032138cf70188b6f33cd7acec3d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 28 15:54:51 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 28 15:54:51 2012 -0800"
      },
      "message": "Separate the notion of \"stop\" from that of \"release\", i.e.\n\nstop - means transition back to LOADED state and keeping the component\ninstance allocated.\n\nrelease - means we get rid of the component completely.\n\nChange-Id: I40ad01ce70821faaad43f57999249904f9144924\n"
    },
    {
      "commit": "df712ea86e6350f7005a02ab0e1c60c28a343ed0",
      "tree": "75401d5ef563d1ae76aaae4965f65bb39f92736c",
      "parents": [
        "d3393c35259588e8ad61a43d1d1aa1568e943307"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Feb 25 18:48:35 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 27 13:03:08 2012 -0800"
      },
      "message": "fix libgui header location\n\nChange-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe\n"
    },
    {
      "commit": "bf6c85a013fb14960bac147c1ffd0a02a8d5f148",
      "tree": "49bbbf00b90fb32b8cba53946344a5ba9752fde3",
      "parents": [
        "54263bcfa6e9ad2fcb3e89617240f4ec0b3a2f99"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 24 13:42:47 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 24 13:42:47 2012 -0800"
      },
      "message": "Fix two more locations that use the old setObject(\"buffer\", ...) paradigm\n\nthat I\u0027d previously missed.\n\nChange-Id: Ifbdbfb94d1bc1cbe8c0a403fed05ce99fca8397b\n"
    },
    {
      "commit": "e98f8c04faf27df3b1829d336299ad51dad569cf",
      "tree": "87ed36ebec49fde19611331385befab93f25a724",
      "parents": [
        "16d3dfb5710290b334a07aadeb7d3620c7624e7c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 23 11:21:43 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 23 11:21:43 2012 -0800"
      },
      "message": "Be more greedy when it comes to gathering input and output buffers.\n\nChange-Id: I54c4f608e5155917ca35eba5655b4c06357fb112\n"
    },
    {
      "commit": "2d8bedd05437b6fccdbc6bf70f673ffd86744d59",
      "tree": "1a11658a7379249eb4f6bd73b356baa4a661f41e",
      "parents": [
        "79af02c6a813b5d31fba3e7b72686a02f0ae7e0f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 21 14:38:23 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 22 16:20:59 2012 -0800"
      },
      "message": "Add new APIs AMessage::(set|find)Buffer to make it safer to pass\n\nABuffer objects through messages.\n\nChange-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d\n"
    },
    {
      "commit": "5778822d86b0337407514b9372562b86edfa91cd",
      "tree": "b8faf8188dfb8865bd88b4dfc778a7d9ab89bb73",
      "parents": [
        "c33305c5dd4cc06e71eb0c66a7150aa6ab647c99"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 21 11:47:18 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 22 15:06:06 2012 -0800"
      },
      "message": "Implementation of a java media codec interface and associated tools.\n\nChange-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b\n"
    },
    {
      "commit": "f1d5aa162c02a16b7195a43a9bcea4d592600ac4",
      "tree": "dc270a6e1a4ee6695e309eeb29c4d9ed7f3a20a2",
      "parents": [
        "43089daaf82bd2b8e5f9a29b80af5abaae4657b3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 06 23:46:37 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 10 11:43:09 2012 -0800"
      },
      "message": "Move away from MediaDebug and use ADebug instead\n\nChange-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08\n"
    },
    {
      "commit": "2b1892db4a2ab47bfc09e59a4c11751aea99e4ea",
      "tree": "7880f7f60262ced7a16fa7439ac0827b78c07d8d",
      "parents": [
        "244ffc8b98c8b59cf64ef3d368c3373014a2f230"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 26 14:39:50 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 26 15:45:38 2012 -0800"
      },
      "message": "The software AAC encoder is now an OMX component.\n\nYay.\n\nChange-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de\n"
    },
    {
      "commit": "29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47",
      "tree": "3bdafe4b02fe36f6ee29c3170f0b0d2799bebf86",
      "parents": [
        "d709ca9c6a0fa1c8f40cbe624a119398643c5087"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "df64d15042bbd5e0e4933ac49bf3c177dd94752c",
      "tree": "ff04eb3e1a1ce8c8d8559b93a438f278d984aa87",
      "parents": [
        "b8a805261bf0282e992d3608035e47d05a898710"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "message": "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156801\n\nBug: 5449033\nChange-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea\n"
    },
    {
      "commit": "471af5aaea2d2491a77dba379771f7c96b9ca3c3",
      "tree": "29609e7feb5c548e28ce94f88b4445c5c373d725",
      "parents": [
        "3b86c964df855a9740c446e984309b719c3ec37c",
        "936a981ba15d528a023311aa32f46446813551d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 08 10:40:20 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 08 10:40:20 2011 -0800"
      },
      "message": "resolved conflicts for merge of 26f70db9 to master\n\nChange-Id: Ib1536b1a4c9eeff80e0726b3e61cee12057cd120\n"
    },
    {
      "commit": "3901e5d87573447db33fb9930871a1f5266a9b2c",
      "tree": "2ed377c9705a41c95cbc6ea29d683cd646ff2dc8",
      "parents": [
        "841fa37451fb74f3d5978a15aab606bbb67e8c39"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 25 13:45:00 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 28 09:39:23 2011 -0700"
      },
      "message": "Remove surface legacy APIs and code.\n\nAll surfaces are now supported through surface textures.\n\nChange-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6\n"
    },
    {
      "commit": "3856b090cd04ba5dd4a59a12430ed724d5995909",
      "tree": "a24e4c98fa6049fd8085826be838000f9a67e39b",
      "parents": [
        "1d2acaffde56ad79e6e96f228d7857863462397c"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "2bfdd428c56c7524d1a11979f200a1762866032d",
      "tree": "83bb72ba82f689cc704010c06a51a9963479bab4",
      "parents": [
        "f337772630b0a1b48d7828647d1079ebdc22919d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 11 15:24:07 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 13 11:31:06 2011 -0700"
      },
      "message": "NuPlayer is now taking on the task of streaming over RTSP.\n\nChange-Id: Ie204db8810807f1e7981959e34dc0149e5d9563a\n"
    },
    {
      "commit": "2944eca607304a095ea43ba2b8f0b9de61249f9f",
      "tree": "f3dbe4e61cc94ec086b098c7387034f226a2ac14",
      "parents": [
        "d3523f89a867afa111bb332887bf006ec3ae93e6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 14:12:44 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 30 15:26:31 2011 -0700"
      },
      "message": "Support for an MPEG2 Program Stream extractor.\n\nChange-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41\n"
    },
    {
      "commit": "729de186450f78c099637e1fce743fe531862c52",
      "tree": "bf05611a1943104189abce2f9b09514f2ec2adeb",
      "parents": [
        "ac4d4d3698e920b9f5c648a781df5b6af8bcfdf0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 28 12:37:36 2011 -0700"
      },
      "message": "Support AMR, G.711 and vorbis audio in ACodec and friends.\n\nChange-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983\n"
    }
  ],
  "next": "070b91e1f67e6e2f129b6b492f38fbec7c8618e4"
}
