)]}'
{
  "log": [
    {
      "commit": "790703a1422b46fada45a1210815a6517d35b792",
      "tree": "17500379a35b32ae229b61d4b414d17a60408b07",
      "parents": [
        "06a614eed67cad894026852059a06790c05ef4d6",
        "f2334661f4047beddf0431e7fe5204ca1cf4380b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Apr 17 22:38:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 17 22:38:20 2013 +0000"
      },
      "message": "Merge \"Make sure the drain buffer is big enough\" into jb-mr2-dev"
    },
    {
      "commit": "06a614eed67cad894026852059a06790c05ef4d6",
      "tree": "b734ebcaadecc55ef3a6ff510548ccf9bcd2b542",
      "parents": [
        "4299eb130affcbf4e272e8dafa90c217dc0abcca",
        "2242fbd1d9327dff9c25ac2aba0fa7d5d471bb88"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 17 22:35:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 17 22:35:28 2013 +0000"
      },
      "message": "Merge \"Apparently the mp3 decoder glitches if it was configured with the wrong\" into jb-mr2-dev"
    },
    {
      "commit": "4299eb130affcbf4e272e8dafa90c217dc0abcca",
      "tree": "9c6961227204a906beaed4432bf86099a733fb17",
      "parents": [
        "03fb6f01a39f11c1c90f60d16999fa274402f465",
        "ca6867fbac7a69c4d7a253917ecf6d4abc18d49c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 17 19:52:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 17 19:52:41 2013 +0000"
      },
      "message": "Merge \"Fix a typo that would cause us not to shutdown/flush the decoders in\" into jb-mr2-dev"
    },
    {
      "commit": "03fb6f01a39f11c1c90f60d16999fa274402f465",
      "tree": "9b6e12af61ddb568797c3504e007a7143f9729d5",
      "parents": [
        "96ef6f1bb8c5832682a9576c0e43b6c85e4f5c1b",
        "be2bda4abed36eb6adf474c317d1492b4aec8f1a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 17 19:52:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 17 19:52:14 2013 +0000"
      },
      "message": "Merge \"Parse the last none-empty line of .m3u8 file\" into jb-mr2-dev"
    },
    {
      "commit": "2242fbd1d9327dff9c25ac2aba0fa7d5d471bb88",
      "tree": "5f2934995453ff4e4c5db0eb8bac92f5e93b6eb1",
      "parents": [
        "96ef6f1bb8c5832682a9576c0e43b6c85e4f5c1b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 16 16:35:19 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 17 09:45:51 2013 -0700"
      },
      "message": "Apparently the mp3 decoder glitches if it was configured with the wrong\n\nsample rate. Make sure we tell it about the one the extractor provides.\n\nChange-Id: Ice5b9cf55485ca1a8f099a14be0202be9540e781\nrelated-to-bug: 8621639\n"
    },
    {
      "commit": "96ef6f1bb8c5832682a9576c0e43b6c85e4f5c1b",
      "tree": "5cb0168ee7d652b8059eb2a1c8470e36e070621b",
      "parents": [
        "dc2024a80d2eec26afd906348dc52aaaf112d63f",
        "1808736b17073b2fdb82a87abf103cbd31aba4fc"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 17 16:16:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 17 16:16:40 2013 +0000"
      },
      "message": "Merge \"Added CTS test for secure stop APIs\" into jb-mr2-dev"
    },
    {
      "commit": "1808736b17073b2fdb82a87abf103cbd31aba4fc",
      "tree": "643de612baadba29688b38c3132e9fa03cadd4c1",
      "parents": [
        "d961ae47cbc741b0e3d6f038ae0018b7f2a7424e"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 08 15:23:17 2013 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 16 23:01:17 2013 -0700"
      },
      "message": "Added CTS test for secure stop APIs\n\nbug: 8604418\n\nChange-Id: I173fa1ec904ba11dc4cff0343462b3f4bac0d365\n"
    },
    {
      "commit": "f2334661f4047beddf0431e7fe5204ca1cf4380b",
      "tree": "838536756d3b3efd20673d1aba2bb97ceae9ae38",
      "parents": [
        "8461772f46769a384ea87b42848e2d77de529332"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 16 15:57:38 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 16 16:06:46 2013 -0700"
      },
      "message": "Make sure the drain buffer is big enough\n\nb/8614909\n\nChange-Id: I9d973dcd74100b793791359c262b821207ff9ddd\n"
    },
    {
      "commit": "ca6867fbac7a69c4d7a253917ecf6d4abc18d49c",
      "tree": "e52f4f2870cc4a0c58743000d88a10f410c5247f",
      "parents": [
        "8461772f46769a384ea87b42848e2d77de529332"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 16 10:54:03 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 16 12:52:33 2013 -0700"
      },
      "message": "Fix a typo that would cause us not to shutdown/flush the decoders in\n\nsome cases.\n\nrelated-to-bug: 8630032\n\nChange-Id: I8e94b53b34e137e827e9630c65f3252ea91e4ebd\n"
    },
    {
      "commit": "be2bda4abed36eb6adf474c317d1492b4aec8f1a",
      "tree": "bcbce809e997549d83c391c58c97f7d73cf0c56d",
      "parents": [
        "474c6539e3592aece37616d0b39ef008b61260a0"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Dec 31 17:48:20 2012 +0900"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 16 09:23:28 2013 -0700"
      },
      "message": "Parse the last none-empty line of .m3u8 file\n\nIf the last sentence of .m3u8 file is not processed, because\nit is not empty and has no line feed, M3UParser.isComplete()\nreturns false even though it is completed.\n\nChange-Id: I01b9f900d44247a3ef40369a2f9198bb7eaf01b7\nrelated-to-bug: 8405824\n"
    },
    {
      "commit": "8461772f46769a384ea87b42848e2d77de529332",
      "tree": "fb18a69a8f1dbd1dbfd97b6d3fa7cbac0fa10573",
      "parents": [
        "c3e65a8942f482583dd603c02d78a5b1fc85b0e8",
        "602f5bbd7596ec3fe447fde4329d5d4f0b370835"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 16 16:15:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 16:15:14 2013 +0000"
      },
      "message": "Merge \"Guard against mLooper \u003d\u003d NULL.\" into jb-mr2-dev"
    },
    {
      "commit": "c3e65a8942f482583dd603c02d78a5b1fc85b0e8",
      "tree": "a889451254ec8922334a17a135775a221df96275",
      "parents": [
        "98391d3e9c0188d477fab6044d5259eeb0014113",
        "806df3dbdd19cd1cd3721f39397175b93f257590"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 16 15:42:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 15:42:00 2013 +0000"
      },
      "message": "Merge \"Better default AAC DRC setting\" into jb-mr2-dev"
    },
    {
      "commit": "806df3dbdd19cd1cd3721f39397175b93f257590",
      "tree": "6b0dee0ed8871df704ad82ff8aa2d78f095381f8",
      "parents": [
        "474c6539e3592aece37616d0b39ef008b61260a0"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 15 18:40:51 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 15 18:45:51 2013 -0700"
      },
      "message": "Better default AAC DRC setting\n\nBy default, use boost and attenuation together.\n\nbug 7140036\n\nChange-Id: Ie0565f9e5cd24f7a59b5a218b4e6186661832601\n"
    },
    {
      "commit": "98391d3e9c0188d477fab6044d5259eeb0014113",
      "tree": "26ff27f545bd6dbf9276410bdd95f7bd9f6de533",
      "parents": [
        "d961ae47cbc741b0e3d6f038ae0018b7f2a7424e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 15 16:28:49 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 15 16:28:49 2013 -0700"
      },
      "message": "Fix Vorbis decoder reset\n\nb/8543366\n\nChange-Id: I9f32e96fdfc355cf444259a7c40554e2de184728\n"
    },
    {
      "commit": "602f5bbd7596ec3fe447fde4329d5d4f0b370835",
      "tree": "15871fed5f74c20a01c45e1aa370f75be9ad9a00",
      "parents": [
        "474c6539e3592aece37616d0b39ef008b61260a0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 15 16:18:56 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 15 16:18:56 2013 -0700"
      },
      "message": "Guard against mLooper \u003d\u003d NULL.\n\nChange-Id: I01aa0e47b55d0dffe34525edf9f055a5cb4dc70f\nrelated-to-bug: 8620223\n"
    },
    {
      "commit": "d961ae47cbc741b0e3d6f038ae0018b7f2a7424e",
      "tree": "984e8c392e2068623bd1fbde7ca1a6f189fb8944",
      "parents": [
        "a75003e583b7b317951ceca13e44f3fd226012c7",
        "931243e2a36bb68eb05cca18bb26549fa7944195"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 15 20:42:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 20:42:33 2013 +0000"
      },
      "message": "Merge \"Fix AAC decoder reconfiguration\" into jb-mr2-dev"
    },
    {
      "commit": "931243e2a36bb68eb05cca18bb26549fa7944195",
      "tree": "be97c366a501a3cb97260cbe7edd8c1b8b873d96",
      "parents": [
        "6efa0c06acb4bdcf9c1fb1dbb4beee254e040848"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 15 12:06:18 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 15 12:06:18 2013 -0700"
      },
      "message": "Fix AAC decoder reconfiguration\n\nThe recent flush() changed made the codec behave differently after\na reconfigure. Now we reset its state properly again.\nb/8543366\n\nChange-Id: I8807b5ab02249b43fc1cf315d4e8d4ceb3f9b298\n"
    },
    {
      "commit": "cb7032acc963e447adbffcf95ee297643d64e0d7",
      "tree": "6730cb92f1e131486be08516488b3caff5ff4f99",
      "parents": [
        "474c6539e3592aece37616d0b39ef008b61260a0",
        "e756d9753c7cffe2e9731a31fa98a3e8f37151c9"
      ],
      "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": "e756d9753c7cffe2e9731a31fa98a3e8f37151c9",
      "tree": "d8d6d13587b902e574690740b850eaf1166e7759",
      "parents": [
        "e574eecea416c813d539a0977d5393c3ed291a1c"
      ],
      "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": "474c6539e3592aece37616d0b39ef008b61260a0",
      "tree": "40d30d43701892049b3196efb88896eadbf5535d",
      "parents": [
        "1821b0a4eb7a78d2744801b1f863455fd384e283",
        "2070254f241f52cadb69bc2323f56df72704f1ca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 15 15:16:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 15:16:02 2013 +0000"
      },
      "message": "Merge \"Instead of returning an error, return an invalid duration (-1 ms)\" into jb-mr2-dev"
    },
    {
      "commit": "6efa0c06acb4bdcf9c1fb1dbb4beee254e040848",
      "tree": "cbb3542bb698b1877f7d29ef25e13ad02d35ab5d",
      "parents": [
        "91b4e0d2b2dc0d3eeee375d51f48ff8cc243f6ca",
        "ce18d7d85a78ac6642624fef1b5831eff4c72d56"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Apr 12 17:38:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 12 17:38:49 2013 +0000"
      },
      "message": "Merge \"OMXNodeInstance: fix OMX_GetExtensionIndex logging\" into jb-mr2-dev"
    },
    {
      "commit": "91b4e0d2b2dc0d3eeee375d51f48ff8cc243f6ca",
      "tree": "02d1a7cdcbbe372468b0b4e69efb9dfdfc9f7d7d",
      "parents": [
        "99076b990cfc6514b7de3a4809b3b3ff3d76e43d",
        "b3ac921cae96686ec0902796bb8f8ef99ae08abd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 12 17:20:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 12 17:20:51 2013 +0000"
      },
      "message": "Merge \"Fix MediaCodec.flush()\" into jb-mr2-dev"
    },
    {
      "commit": "b3ac921cae96686ec0902796bb8f8ef99ae08abd",
      "tree": "ad2cbf69f3794972f9cbf5e5db83a5829e22f8de",
      "parents": [
        "5544c66ba0aa789a997b376df503a5ffae425dc7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Apr 09 14:57:38 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Apr 12 09:33:40 2013 -0700"
      },
      "message": "Fix MediaCodec.flush()\n\nThere were two problems here. One was that the skip/cut buffer\nwasn\u0027t cleared when it should be, and the second was that we\nwere always sending the first buffer of encoded data to the AAC\ndecoder twice.\nb/8543366\n\nChange-Id: Ic040edabf16cccd1f6ef8c9e5c9cfbacbdd8a089\n"
    },
    {
      "commit": "99076b990cfc6514b7de3a4809b3b3ff3d76e43d",
      "tree": "03276a9a2983cc645888f8ad87338371ee629778",
      "parents": [
        "be4a20d960627427adab56b0c05e6e5f94dbf6a7",
        "6610a7d621c634fe059b855ca7eb3f58fb8d0757"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 12 15:22:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 12 15:22:20 2013 +0000"
      },
      "message": "Merge \"ACodec now signals an error if the mediaserver died while it is in\" into jb-mr2-dev"
    },
    {
      "commit": "6610a7d621c634fe059b855ca7eb3f58fb8d0757",
      "tree": "74b4670c4f0830050379efe2cf35e132a26cd14b",
      "parents": [
        "ecba7488c5cceaacef95836b1b476433451e7761"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 11 16:06:14 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 11 16:13:48 2013 -0700"
      },
      "message": "ACodec now signals an error if the mediaserver died while it is in\n\nanything other than \"uninitialized\" state.\n\nChange-Id: Id133d897ac65b455b34e5de17ff9c39b47285630\nrelated-to-bug: 8397711\n"
    },
    {
      "commit": "3c09d025b60dedc605e893d630177bd54552f061",
      "tree": "3ad49abd8f3e6793aaf068700ef56f2bba7752fd",
      "parents": [
        "ecba7488c5cceaacef95836b1b476433451e7761"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 11 11:37:28 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 11 11:37:28 2013 -0700"
      },
      "message": "The framework really doesn\u0027t need to know the specifics of the codec\n\ncolor format, so stop trying to enforce a whitelist.\n\nChange-Id: I0ceb3bdd5bcc6c1bbd56740b0cd662a2b5820dfe\nrelated-to-bug: 8596546\n"
    },
    {
      "commit": "2070254f241f52cadb69bc2323f56df72704f1ca",
      "tree": "dd5aead0ce971332761599cc73189b8e1fea96a9",
      "parents": [
        "ecba7488c5cceaacef95836b1b476433451e7761"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 11 11:07:55 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 11 11:31:55 2013 -0700"
      },
      "message": "Instead of returning an error, return an invalid duration (-1 ms)\n\nif no duration information was available. This prevents us from\nentering ERROR state, effectively rendering the player instance useless.\n\nChange-Id: I602d2661ae8b8633360306c0ea9208fb11e2bf17\nrelated-to-bug: 8596285\n"
    },
    {
      "commit": "ecba7488c5cceaacef95836b1b476433451e7761",
      "tree": "83245c19c2dda5c557531edb19478056034b5db5",
      "parents": [
        "5544c66ba0aa789a997b376df503a5ffae425dc7"
      ],
      "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": "ce18d7d85a78ac6642624fef1b5831eff4c72d56",
      "tree": "9bf59b0e06c1b72a02f8a5d2b5ef026882356d3d",
      "parents": [
        "5544c66ba0aa789a997b376df503a5ffae425dc7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Apr 09 16:40:54 2013 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Apr 09 17:41:47 2013 -0700"
      },
      "message": "OMXNodeInstance: fix OMX_GetExtensionIndex logging\n\nThis change fixes the logging of OMX_GetExtensionIndex errors.  Under certain\ncircumstances these errors are not harmful and should not be logged.\n\nBug: 8538872\nChange-Id: I19a13d29ca6263454a9a7a8be205e10363725f31\n"
    },
    {
      "commit": "5544c66ba0aa789a997b376df503a5ffae425dc7",
      "tree": "1340a1e933a94542bf1a35ce3c8f667616234bca",
      "parents": [
        "4d2f2e8414df33337d4f09e5235719dfcc705674"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 08 14:30:57 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Apr 08 16:34:27 2013 -0700"
      },
      "message": "Add support for common encryption\n\nb/7465749\n\nChange-Id: I5403b74a5ae428ad28b382863a09daafc400b137\n"
    },
    {
      "commit": "878f9692e4fe9cc2311a8eb74edfa8f6cc0ea54f",
      "tree": "f9816538c231bb4b099e3bbbdfd31a93fcc85d69",
      "parents": [
        "505208dd38ab2f143e6a3ff6a2c262d0fab76b7e",
        "8807524fcb3bcfbf87004dbf1df9722b0a977300"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 05 16:53:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 16:53:23 2013 +0000"
      },
      "message": "Merge \"In certain cases where AAC audio frames extended into the next PES payload\" into jb-mr2-dev"
    },
    {
      "commit": "8807524fcb3bcfbf87004dbf1df9722b0a977300",
      "tree": "7b5b77a890fdc748471c5f516a17251e3abfeff4",
      "parents": [
        "2877100b2768360754f7920f04f95bb5018fbaaa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 05 09:27:29 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 05 09:30:41 2013 -0700"
      },
      "message": "In certain cases where AAC audio frames extended into the next PES payload\n\n(inside transport streams) timestamps would be miscalculated. This fixes it.\n\nChange-Id: I9d74eeea474d2b89e8a9cdc478ed6085282fb3be\n"
    },
    {
      "commit": "505208dd38ab2f143e6a3ff6a2c262d0fab76b7e",
      "tree": "0ea6a3dd880bca0a840e0fd3d821c943be083a42",
      "parents": [
        "1dc6fcccfe33c65a2253bc3385e45d4e77e4b79e",
        "0cb126a34fe32f81c830858102471e7be2ce85b1"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Apr 05 01:16:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 01:16:19 2013 +0000"
      },
      "message": "Merge \"Implement async event callout from drm plugin to Java app\" into jb-mr2-dev"
    },
    {
      "commit": "1dc6fcccfe33c65a2253bc3385e45d4e77e4b79e",
      "tree": "9f7d64cd14d21481b0a9b7ea1d4245a60316dbf4",
      "parents": [
        "735cb001401ab9e72ff2578e05c8d0caca2f4b04",
        "488bf2281134c549fcc9ffcec7bda9690c2d5617"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 04 23:18:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 23:18:05 2013 +0000"
      },
      "message": "Merge \"Make sure resume() and flush() are handled appropriately even if the codec\" into jb-mr2-dev"
    },
    {
      "commit": "488bf2281134c549fcc9ffcec7bda9690c2d5617",
      "tree": "52aec002ecf04dd66c8e6aae83d87d387ef99bf8",
      "parents": [
        "cba6b7dbe6e6d89c00021a0954d8bf60eacefdfa"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 04 15:37:21 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Apr 04 15:37:21 2013 -0700"
      },
      "message": "Make sure resume() and flush() are handled appropriately even if the codec\n\nis in Loaded-\u003eIdle state.\nb/8347958\n\nChange-Id: Ic14d29502a7effc636251379bb1bbc25739db98e\n"
    },
    {
      "commit": "2877100b2768360754f7920f04f95bb5018fbaaa",
      "tree": "32ed3cde71dfaa245aa524a0dd3dbc647d256388",
      "parents": [
        "5cd66b237d5697e7959fbe6a240c71663cdddf1d",
        "8a9ea338b172a47c1ff117c51f6cd167d4ef953f"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 04 20:11:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 20:11:22 2013 +0000"
      },
      "message": "Merge \"Fix previous changes.\" into jb-mr2-dev"
    },
    {
      "commit": "8a9ea338b172a47c1ff117c51f6cd167d4ef953f",
      "tree": "8fbe5dbb86e973adfdd8c7e575fee7393ebf5797",
      "parents": [
        "eae218f0174ac6470b123ec91e6a309af6f8a8c5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 13:03:03 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 13:07:45 2013 -0700"
      },
      "message": "Fix previous changes.\n\nChange-Id: I1cd3803b6507156174591c3252f1d89ef2e6140a\n"
    },
    {
      "commit": "25a5c604e5b731430e2134838789b99ab937b7ee",
      "tree": "48f43890d36d30b438877790359471ac6e36d7bb",
      "parents": [
        "7f537b72908d0f51698d70840ac666d69a0c53dd",
        "eae218f0174ac6470b123ec91e6a309af6f8a8c5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 19:57:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 19:57:32 2013 +0000"
      },
      "message": "Merge \"Support \"raw\" packetization in RTPSender.\" into jb-mr2-dev"
    },
    {
      "commit": "7f537b72908d0f51698d70840ac666d69a0c53dd",
      "tree": "93268e859cb93327ff6302dbf14ad7b741ddd41e",
      "parents": [
        "a5e88b0d52c83f76cf4167ff31d6bcb2ebf04621",
        "f165e25696be6babf8db99c780fee804aaf364e6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 19:57:21 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 19:57:21 2013 +0000"
      },
      "message": "Merge \"New nettest, a simple TCP connection test to measure\" into jb-mr2-dev"
    },
    {
      "commit": "eae218f0174ac6470b123ec91e6a309af6f8a8c5",
      "tree": "5fee418c2e09c9264dc5d2b993cbce7701b1c6d1",
      "parents": [
        "f165e25696be6babf8db99c780fee804aaf364e6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 11:16:39 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 11:16:39 2013 -0700"
      },
      "message": "Support \"raw\" packetization in RTPSender.\n\nChange-Id: I14d59573ee0f57eccc104fea0fb46377476d213d\n"
    },
    {
      "commit": "f165e25696be6babf8db99c780fee804aaf364e6",
      "tree": "3c428af170d8e2e500d5b1e5a072568db9c27bbe",
      "parents": [
        "6e8aec8d185444e52ff0247b266f614c690ded13"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 11:12:24 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 11:12:24 2013 -0700"
      },
      "message": "New nettest, a simple TCP connection test to measure\n\nlatency between two devices exchanging low-bitrate data.\n\nChange-Id: Iac138fa70d2a69bbc86c517c953011c80bed071f\n"
    },
    {
      "commit": "04e46929fc316d77426796435bdf13799798c7a8",
      "tree": "a8bff078c4309eeaaaf175fd801278014634d567",
      "parents": [
        "c44834b77a24c050692bff6181bb603c7388b7f2",
        "6e8aec8d185444e52ff0247b266f614c690ded13"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 18:09:17 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 18:09:18 2013 +0000"
      },
      "message": "Merge \"Removed rtp timestamp patching hack in ANetworkSession, advertise\" into jb-mr2-dev"
    },
    {
      "commit": "c44834b77a24c050692bff6181bb603c7388b7f2",
      "tree": "125efde8439005a313fb6147a0b5fd5cc75b5a91",
      "parents": [
        "3d34fa7fe4df6fb66215303f721cc87ce4619cdc",
        "80bf5cc27e8f3347897aa29a9c16d7ee83577df2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 18:09:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 18:09:04 2013 +0000"
      },
      "message": "Merge \"Fix adaptive frame rate handling to be non-adaptive unless specified through\" into jb-mr2-dev"
    },
    {
      "commit": "6e8aec8d185444e52ff0247b266f614c690ded13",
      "tree": "bd6646dbe956390f44a159b947a70abe1a3ab7c5",
      "parents": [
        "80bf5cc27e8f3347897aa29a9c16d7ee83577df2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 10:50:18 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 10:50:18 2013 -0700"
      },
      "message": "Removed rtp timestamp patching hack in ANetworkSession, advertise\n\ndifferentiated service tags to help prioritize our traffic.\n\nChange-Id: Ibe42df64da272f4bb6b978e46a4ea2efdadfcbc7\n"
    },
    {
      "commit": "80bf5cc27e8f3347897aa29a9c16d7ee83577df2",
      "tree": "2647d804f20eceea5ad5d0c092f467589e38f4c8",
      "parents": [
        "8344844311b852ea7321e914642bd9e57e0d5fb0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 10:48:50 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 10:48:50 2013 -0700"
      },
      "message": "Fix adaptive frame rate handling to be non-adaptive unless specified through\n\nadb shell setprop media.wfd.video-framerate adaptive\n\nChange-Id: I452576b62ad465680232b40464977e126616df18\n"
    },
    {
      "commit": "3d34fa7fe4df6fb66215303f721cc87ce4619cdc",
      "tree": "c45baafeb18a5035082e0b12072fcd63f63c219c",
      "parents": [
        "8344844311b852ea7321e914642bd9e57e0d5fb0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 10:42:23 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 04 10:42:23 2013 -0700"
      },
      "message": "Fix a number of warnings in stagefright code.\n\nChange-Id: If3edd00d991851797aeccdfe795a4a405e3a2ea3\n"
    },
    {
      "commit": "0cb126a34fe32f81c830858102471e7be2ce85b1",
      "tree": "a20999e4b89a78375a1b69cb3a0bef96fab74362",
      "parents": [
        "8856c8b8777d0e0de11b2de863a336b001024e29"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 02 13:08:05 2013 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 03 12:20:53 2013 -0700"
      },
      "message": "Implement async event callout from drm plugin to Java app\n\nChange-Id: I007f147d693664e777b8758be2bb8a4c7ec0236b\n"
    },
    {
      "commit": "df41f485a9162407b32b7db1cea483f64bbd0c65",
      "tree": "4a25321560089605809b753fccc9365bca9f64bb",
      "parents": [
        "d2c90696403bb3c9e28d7b51d65c9468bdf8e78b",
        "8856c8b8777d0e0de11b2de863a336b001024e29"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 02 22:49:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 22:49:20 2013 +0000"
      },
      "message": "Merge \"MediaDrm API update\" into jb-mr2-dev"
    },
    {
      "commit": "8856c8b8777d0e0de11b2de863a336b001024e29",
      "tree": "21ed9ba7ba5db495085440b34ec75c72bf4af943",
      "parents": [
        "c9e58fcf57d865e6c82fdd4bf49d97f89203b2e4"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sat Mar 30 16:19:44 2013 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 01 21:57:32 2013 -0700"
      },
      "message": "MediaDrm API update\n\nClarify offline usage of sessions and keys and implement\nimplement CryptoSession to support additional crypto use\ncases.\n\nChange-Id: I5d8000ce7e1dd7eba08969fc50296c9e1456c4fc\n"
    },
    {
      "commit": "e574eecea416c813d539a0977d5393c3ed291a1c",
      "tree": "3d90f6c0e975a2757b8e5108f6ee0f8900c65057",
      "parents": [
        "dde3ae3878c3ebed799dc7422a8df2b28f5f3969",
        "7069bdf24a9e3393479368e83f9009817869c33c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 01 21:40:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 21:40:34 2013 +0000"
      },
      "message": "Merge \"Fix seek in response to OnPrepared() for HLS content\" into jb-mr2-dev"
    },
    {
      "commit": "7069bdf24a9e3393479368e83f9009817869c33c",
      "tree": "2e4698654f2d6d6d9d50fc527ec00f7480c84296",
      "parents": [
        "2f711486c2b35610fb8e114968263e6660cdb683"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 01 14:28:31 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 01 14:28:31 2013 -0700"
      },
      "message": "Fix seek in response to OnPrepared() for HLS content\n\nChange-Id: I0e52352845398a4db074e939487f6f6de94bd523\nrelated-to-bug: 8225122\n"
    },
    {
      "commit": "dde3ae3878c3ebed799dc7422a8df2b28f5f3969",
      "tree": "89d638c5bb4dcfa7ff1b4c4adb86300723f05704",
      "parents": [
        "cba6b7dbe6e6d89c00021a0954d8bf60eacefdfa",
        "b133a4cb2a5a310a7461050a2d96537c6ce2415e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 01 21:15:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 21:15:46 2013 +0000"
      },
      "message": "Merge \"ToneGenerator: fix overflow in stopTone\" into jb-mr2-dev"
    },
    {
      "commit": "cba6b7dbe6e6d89c00021a0954d8bf60eacefdfa",
      "tree": "579a9b99765f8852599cfb23a5cbba4a77002431",
      "parents": [
        "d49e54289654ab7d7bda03f019ca4421fe303b05"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Apr 01 10:51:35 2013 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Apr 01 10:54:40 2013 -0700"
      },
      "message": "MTP: Implement date created field in GetObjectInfo\n\nBug: 8293874\nChange-Id: I6b74fe73362bd4fac34ca8a54e127ae91f82aef9\n"
    },
    {
      "commit": "d49e54289654ab7d7bda03f019ca4421fe303b05",
      "tree": "d434446b2507c779610a7ad6f4119e5b92306307",
      "parents": [
        "2f711486c2b35610fb8e114968263e6660cdb683",
        "7268396ee607804570d3ae5927d672894aa708b1"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Apr 01 17:31:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 17:31:15 2013 +0000"
      },
      "message": "Merge \"stagefright: matroska: don\u0027t crash on parsing error\" into jb-mr2-dev"
    },
    {
      "commit": "2f711486c2b35610fb8e114968263e6660cdb683",
      "tree": "08fd87cdaf842dfc248eecd89721ecfb77e4a24d",
      "parents": [
        "63519f7f74e15f88450263e6f752cc76d094add7",
        "57190e05c9f58e22087a2b8411e4b9ff81a92a63"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Mar 28 20:54:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 20:54:56 2013 +0000"
      },
      "message": "Merge \"Fix SHUTDOWN after SETUP and before PLAY in wifi display.\" into jb-mr2-dev"
    },
    {
      "commit": "57190e05c9f58e22087a2b8411e4b9ff81a92a63",
      "tree": "3f6802eca2b84cc62d5c887fb8747b20e993861d",
      "parents": [
        "857583fd2ecbeb8696ede1f93b7291449fb2d133"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Mar 28 13:34:10 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Mar 28 13:52:09 2013 -0700"
      },
      "message": "Fix SHUTDOWN after SETUP and before PLAY in wifi display.\n\nChange-Id: Ieb8ce1ac3130254839975a3677162b64156735bc\nrelated-to-bug: 8499893\n"
    },
    {
      "commit": "b133a4cb2a5a310a7461050a2d96537c6ce2415e",
      "tree": "b028d58efe0ba899e02da6aa7d7f958e58eafc2f",
      "parents": [
        "857583fd2ecbeb8696ede1f93b7291449fb2d133"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 28 11:58:45 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 28 12:00:34 2013 -0700"
      },
      "message": "ToneGenerator: fix overflow in stopTone\n\nFix overflow in tone duration calculation introduced in\ncommit 681be039.\n\nBug 6607077\n\nChange-Id: Ie12f13701345c2b2d3be0b3c4d71cbfa2394a29b\n"
    },
    {
      "commit": "63519f7f74e15f88450263e6f752cc76d094add7",
      "tree": "ddcb710c06074f2b44b86d6686c5e26a27e1f7cc",
      "parents": [
        "20ffad4da71550cf0cacbb26679990258f1561e2",
        "5e691cd3aed18b79cc7362b6689f67886ce90e56"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Mar 28 18:21:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 18:21:11 2013 +0000"
      },
      "message": "Merge \"Make sure resume() and flush() are handled appropriately even if the codec\" into jb-mr2-dev"
    },
    {
      "commit": "5e691cd3aed18b79cc7362b6689f67886ce90e56",
      "tree": "7fb405cbae88b0a4c15ed7338f5ed3e58b66a592",
      "parents": [
        "857583fd2ecbeb8696ede1f93b7291449fb2d133"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Mar 28 11:16:43 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Mar 28 11:16:43 2013 -0700"
      },
      "message": "Make sure resume() and flush() are handled appropriately even if the codec\n\nis in Idle-\u003eExecuting state.\n\nChange-Id: I16a10791fae0e062a19299732c472cc93e4ed971\nrelated-to-bug: 8347958\n"
    },
    {
      "commit": "20ffad4da71550cf0cacbb26679990258f1561e2",
      "tree": "80b1ab5e2f3dcef82e63b2f3e0f80fc815199644",
      "parents": [
        "b9c438414a620364ee55d6a1524175660df30327",
        "cbfce76bc7cd986cb391101c384d8e89a14328bf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 28 16:15:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 16:15:14 2013 +0000"
      },
      "message": "Merge \"Fix valgrind error in software h264 decoder\" into jb-mr2-dev"
    },
    {
      "commit": "58b193adcd9f0eef290ecbca9a30657163e856ec",
      "tree": "336491803eeb0d2ff18ba0064014ab4e6910c19e",
      "parents": [
        "857583fd2ecbeb8696ede1f93b7291449fb2d133",
        "ad2bb2dd233b7220e29d2dafa3106ad498f3aea3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 28 15:55:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 15:55:38 2013 +0000"
      },
      "message": "Merge \"Fix valgrind error.\" into jb-mr2-dev"
    },
    {
      "commit": "7268396ee607804570d3ae5927d672894aa708b1",
      "tree": "85e57f74f49ee89b49fa83f2100186104f0622d1",
      "parents": [
        "06f4971bc05dc14fb567f3cc794af210c507b14d"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 27 19:04:12 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 27 20:12:49 2013 -0700"
      },
      "message": "stagefright: matroska: don\u0027t crash on parsing error\n\nMatroskaExtractor crashed with an assertion if mkvparser::ParseNext()\nreturned a negative number.  Now handle all error values the same\nway as the EOF.\n\nChange-Id: I173c4f878d692a0cbdb915ad1118d0686249d625\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 8433794\n"
    },
    {
      "commit": "857583fd2ecbeb8696ede1f93b7291449fb2d133",
      "tree": "339da426a159d401daede0ac91d45584d7d56807",
      "parents": [
        "e31881eee441f409cbe6c1e1f32183ee8a64cdf8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 27 12:05:40 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 27 18:12:22 2013 -0700"
      },
      "message": "ToneGenerator: fix truncated tones\n\nThe first DTMF tone after a silent period is truncated.\nThis is because the phone app starts and stops the tone\nwhen the user presses and releases the key.\nThis combined to the fact that the tones use the low latency path\nand that when the output stream exists standby there is a period\nof several milliseconds during which no audio is mixed until the\nstream is \"warmed up\".\nThe result is that much less audio is generated than the actual\nkey press duration.\n\nThe fix consists in storing the tone start time and making sure that\nthe number of samples generated corresponds at least to the time difference\nbetween the tone start and stop commands.\n\nBug 6607077\n\nChange-Id: I070d20dd8600c25a9e5d5a60c1d3313b7917b00d\n"
    },
    {
      "commit": "e31881eee441f409cbe6c1e1f32183ee8a64cdf8",
      "tree": "8bcda6864ea1598c0957ece80b341f448df0b837",
      "parents": [
        "8d012b56cbd49f33841c13aaa5b7b42020de82ed",
        "2af030214e08f76c796365b0f9e1aca3dc14a6ef"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 28 00:24:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 00:24:50 2013 +0000"
      },
      "message": "Merge \"ToneGenerator: fix stop/destroy concurrency\" into jb-mr2-dev"
    },
    {
      "commit": "cbfce76bc7cd986cb391101c384d8e89a14328bf",
      "tree": "b2321fdd1197fbf42c36dde0c4f4072c93c9a0f5",
      "parents": [
        "ad2bb2dd233b7220e29d2dafa3106ad498f3aea3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 27 16:44:54 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 27 16:44:54 2013 -0700"
      },
      "message": "Fix valgrind error in software h264 decoder\n\nh264bsdNextMbAddress could read past the end of an allocation, which\ncould conceivably result in a segfault if the allocation was at the\nvery end of a page.\n\nChange-Id: Id7a0c5733d66e609f36feb0e15b2d67b9bbc0b4d\n"
    },
    {
      "commit": "ad2bb2dd233b7220e29d2dafa3106ad498f3aea3",
      "tree": "825fc81526a4421833955121582bd715c4962897",
      "parents": [
        "ac51135d48ded504af38f0bc7fda47823419332f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 27 13:48:36 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 27 14:44:20 2013 -0700"
      },
      "message": "Fix valgrind error.\n\nThe constructor calls reset(), which in turn calls stop(), which then\naccesses mCaptureTimeLapse before it has been initialized.\n\nChange-Id: Ia94ac740b9bd1a0389c72647a5639dd25320d92c\n"
    },
    {
      "commit": "2af030214e08f76c796365b0f9e1aca3dc14a6ef",
      "tree": "253671646e0ec7e5a18cb570df92f35ba4991cd0",
      "parents": [
        "db372594bf27390d2bee089e35c5fb8f67370026"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 26 16:37:19 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 26 16:37:19 2013 -0700"
      },
      "message": "ToneGenerator: fix stop/destroy concurrency\n\nThere is a problem if the stopTone() method is called\nfrom two different threads (for instance if the destructor is called\nwhile stopTone() is waiting for the audio callback to finish).\n\nIn this case, the second call to stopTone() will not wait for the\ncondition to be signaled and call clearWaveGens() while the callback\ncan still be active, thus causing a crash.\n\nThere is a similar problem in case of concurrent calls to startTone()\nand stopTone().\n\nThe fix consists in making sure that stopTone() always waits for call\nback completion or timeout and exits before calling clearWaveGens()\nif a concurrent start request is detected.\n\nBug 8163071\n\nChange-Id: I9ddb4390407701dcad5bf83660fd9903f0d72268\n"
    },
    {
      "commit": "c9e58fcf57d865e6c82fdd4bf49d97f89203b2e4",
      "tree": "a1da4a616d4ad3eab41082c5ff52249204072ef4",
      "parents": [
        "db372594bf27390d2bee089e35c5fb8f67370026",
        "4646d5756c06e896f9f8489fa07cd14f958b2f84"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 26 21:57:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 26 21:57:28 2013 +0000"
      },
      "message": "Merge \"Adapt frame rate instead of keeping that constant and tweaking bitrate\" into jb-mr2-dev"
    },
    {
      "commit": "4646d5756c06e896f9f8489fa07cd14f958b2f84",
      "tree": "374474bc7b660baf19e3b619f9c112b955fe942b",
      "parents": [
        "190cdbab6ba24519d6b5e8bec6c2c74e6650e284"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 26 13:52:43 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 26 14:51:36 2013 -0700"
      },
      "message": "Adapt frame rate instead of keeping that constant and tweaking bitrate\n\nChange-Id: I889abbbe1237e1a8fdd7135cdc91a2e9728ff39b\n"
    },
    {
      "commit": "db372594bf27390d2bee089e35c5fb8f67370026",
      "tree": "f1f73f399cab41da6a204177610f341e0157a63e",
      "parents": [
        "190cdbab6ba24519d6b5e8bec6c2c74e6650e284"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 26 12:25:30 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 26 12:25:30 2013 -0700"
      },
      "message": "ToneGenerator: fix AudioTrack pointer init\n\nThe pointer to AudioTrack should be initialized before\nearly return from ToneGenerator constructor because\nit is tested by the destructor.\n\nBug 8140963\n\nChange-Id: I9a7dfb60ba162b75dfaa5630ab7fc9485afd0074\n"
    },
    {
      "commit": "190cdbab6ba24519d6b5e8bec6c2c74e6650e284",
      "tree": "515d0a75f7bf43b802fb3247f3ce86efa7526af8",
      "parents": [
        "27a14b22e03dbd677e100f273e359a0daf2e79c6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 26 10:19:24 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 26 10:19:24 2013 -0700"
      },
      "message": "Identify network servers and clients with a OS version related string\n\nand put the logic to create that string in one location instead of many...\n\nChange-Id: I1f729f2e7376cd3b45eea0e48f7bd10084b41b39\n"
    },
    {
      "commit": "27a14b22e03dbd677e100f273e359a0daf2e79c6",
      "tree": "4fe40931fd620cb597774e30a3489a6169df67bb",
      "parents": [
        "bbef2b3f42de20c7d2a920de62d3d1eca40e054f",
        "dca73b8fe8fa4d991e1a78c02f1939aaeb673cc1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 26 16:08:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 26 16:08:50 2013 +0000"
      },
      "message": "Merge \"In \"special\" mode we now establish a UDP RTCP channel in addition to the\" into jb-mr2-dev"
    },
    {
      "commit": "bbef2b3f42de20c7d2a920de62d3d1eca40e054f",
      "tree": "b94c370746e62ef79eaffeba51c32bf7746359c9",
      "parents": [
        "4d6f89052289bd7170238c8797b2ee19115b7626",
        "3beec60725cf0e5cf8e365d6c85928160c2cb75e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 26 00:27:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 26 00:27:06 2013 +0000"
      },
      "message": "Merge \"ToneGenerator: optimize silent tone\" into jb-mr2-dev"
    },
    {
      "commit": "dca73b8fe8fa4d991e1a78c02f1939aaeb673cc1",
      "tree": "8f09f89d5a81cc38683193b48ec5baf039590506",
      "parents": [
        "d3d9263ce5e10220552026253d0e205986e82490"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 15:46:52 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 16:20:26 2013 -0700"
      },
      "message": "In \"special\" mode we now establish a UDP RTCP channel in addition to the\n\nTCP RTP channel and provide feedback on the latency of arriving packets from\nthe sink back to the source. This information is then used to throttle\nvideo bitrate.\n\nChange-Id: Ic589a3cb65e4893a3ff67de947da6063d32a1c6e\n"
    },
    {
      "commit": "4d6f89052289bd7170238c8797b2ee19115b7626",
      "tree": "aabe752fde8393983e771a9391ff0f8022c0ce77",
      "parents": [
        "189168155e41731ac2624691172edb18e94879d6",
        "d3d9263ce5e10220552026253d0e205986e82490"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 22:46:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 25 22:46:43 2013 +0000"
      },
      "message": "Merge \"Get rid of TunnelRenderer\" into jb-mr2-dev"
    },
    {
      "commit": "3beec60725cf0e5cf8e365d6c85928160c2cb75e",
      "tree": "50ff2187d09558f1b6888be545ab2c8274091f18",
      "parents": [
        "cbb2aad7a8aced67d2d97e03d8cd78b1a843290c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 25 14:38:10 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 25 14:38:10 2013 -0700"
      },
      "message": "ToneGenerator: optimize silent tone\n\nDo not create an AudioTrack and start playback when a silent\ntone is requested to ToneGenerator.\n\nBug 7946399\n\nChange-Id: Ib9282871a56f7a862af7d1504ce3fbd7c18e34e2\n"
    },
    {
      "commit": "d3d9263ce5e10220552026253d0e205986e82490",
      "tree": "816f9f4886b09f6609fa27ba37cec1fceaa2a659",
      "parents": [
        "6bb4d7f084c7e2a6d8e804519ad786c519b74d0d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 14:15:24 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 14:15:24 2013 -0700"
      },
      "message": "Get rid of TunnelRenderer\n\nChange-Id: I40dc00e2e689d7a6b8717ce524016c2948229807\n"
    },
    {
      "commit": "189168155e41731ac2624691172edb18e94879d6",
      "tree": "fa1d639ed18a094281acc1000e58c68b57b5c455",
      "parents": [
        "900fecc9d66bda71f428a4d3cebc1fee14916301",
        "6bb4d7f084c7e2a6d8e804519ad786c519b74d0d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 20:43:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 25 20:43:00 2013 +0000"
      },
      "message": "Merge \"Misc debugging support and handling of latency changes.\" into jb-mr2-dev"
    },
    {
      "commit": "6bb4d7f084c7e2a6d8e804519ad786c519b74d0d",
      "tree": "3f4080860237f30f838f88fe250c8cca4328e2e5",
      "parents": [
        "cbb2aad7a8aced67d2d97e03d8cd78b1a843290c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 13:25:39 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 13:25:39 2013 -0700"
      },
      "message": "Misc debugging support and handling of latency changes.\n\nChange-Id: I682944f793690842219cf1adbae5e61e061b6b62\n"
    },
    {
      "commit": "900fecc9d66bda71f428a4d3cebc1fee14916301",
      "tree": "62d7ea006812aeb5dad940033b3c2a7c637a74cc",
      "parents": [
        "cbb2aad7a8aced67d2d97e03d8cd78b1a843290c",
        "5beac28a34e557251bd4bbd77a6d9303a69d4319"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Mar 25 20:18:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 25 20:18:02 2013 +0000"
      },
      "message": "Merge \"Load crypto plugins from additional shared libraries\" into jb-mr2-dev"
    },
    {
      "commit": "cbb2aad7a8aced67d2d97e03d8cd78b1a843290c",
      "tree": "7d47bab47cc5bf6cb0b12baad8e36ec32856621d",
      "parents": [
        "10222ef1c1728e0d623954eec4b9732d39e9e9ec",
        "a64ea768de9c02bce0e545be032dabe8b6c39727"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 17:37:25 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 25 17:37:25 2013 +0000"
      },
      "message": "Merge \"Separate the mode of the RTP and RTCP channels.\" into jb-mr2-dev"
    },
    {
      "commit": "a64ea768de9c02bce0e545be032dabe8b6c39727",
      "tree": "5f915fef2c62d376c13669aac409ce22c7a8d0a8",
      "parents": [
        "2247dd0dc60096d1b5a91ccadb5539f0b100c88f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 22 09:56:29 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 10:36:33 2013 -0700"
      },
      "message": "Separate the mode of the RTP and RTCP channels.\n\nI now can use a TCP reliable data channel with a UDP back channel.\n\nChange-Id: Ieb0f0970e3a6da4cff250e9547e181c0c961b9fb\n"
    },
    {
      "commit": "10222ef1c1728e0d623954eec4b9732d39e9e9ec",
      "tree": "8a3c6245cbbaff08bd6733841cd16fbca53085eb",
      "parents": [
        "2247dd0dc60096d1b5a91ccadb5539f0b100c88f",
        "e8ad89f993bb36f9c869f3a71bbcd60949979e1a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 25 17:24:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 25 17:24:23 2013 +0000"
      },
      "message": "Merge \"Ensure that the payload in each TS packet is an even multiple of 16 bytes long\" into jb-mr2-dev"
    },
    {
      "commit": "5beac28a34e557251bd4bbd77a6d9303a69d4319",
      "tree": "bddefa894193bdb535c5f0090e7edab2e3d9eca4",
      "parents": [
        "3a29ea87c8fdcd45987bcc9cd2b68961ac971d27"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Mar 22 15:26:39 2013 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Mar 22 15:26:39 2013 -0700"
      },
      "message": "Load crypto plugins from additional shared libraries\n\nCurrently crypto plugins are expected to be in libdrmdecrypt.so.\nWhen there are multiple plugins supporting different schemes,\nthis approach requires source code integration across\nvendors which is unmanagable.  Also, for integration with\nMediaDrm where the crypto keys are obtained from a drm server,\nthe MediaCrypto plugin needs to interoperate with the MediaDrm\nplugin. This change allows {MediaCrypto, MediaDrm} pairs that\nare logically related to be implemented in a common shared\nlibrary.\n\nChange-Id: I7f6638f29171f91609fc2d944396365568630b56\n"
    },
    {
      "commit": "e8ad89f993bb36f9c869f3a71bbcd60949979e1a",
      "tree": "99ecc7002b88c6b9a2eb8c09e9799dfae5d14ef0",
      "parents": [
        "aab193b107e302e145b5c3d6e6c87f92ac296186"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Mar 21 11:35:48 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Mar 21 11:35:48 2013 -0700"
      },
      "message": "Ensure that the payload in each TS packet is an even multiple of 16 bytes long\n\n(except for the final TS packet) as specified by HDCP.\n\nChange-Id: I45d49d347c06f5daae310f196d9a8484be0f3ca0\nrelated-to-bug: 7549145\n"
    },
    {
      "commit": "3a29ea87c8fdcd45987bcc9cd2b68961ac971d27",
      "tree": "799496b667decd5c7cffeef3e56e3865b393f357",
      "parents": [
        "aab193b107e302e145b5c3d6e6c87f92ac296186",
        "11287471298193ff51ffb429686f5d63a84a621b"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 20 17:00:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 20 17:00:50 2013 +0000"
      },
      "message": "Merge \"Add the presentation rotation support\" into jb-mr2-dev"
    },
    {
      "commit": "aab193b107e302e145b5c3d6e6c87f92ac296186",
      "tree": "0150308f9b4bf86e2ea73a23da6720f5fd989c3c",
      "parents": [
        "42404e895c182df761cbd2473d172e58e763ac89",
        "cc82dc6d500023eba6048616301a4b12682458db"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 20 16:48:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 20 16:48:55 2013 +0000"
      },
      "message": "Merge \"Implementing MediaDrm APIs\" into jb-mr2-dev"
    },
    {
      "commit": "42404e895c182df761cbd2473d172e58e763ac89",
      "tree": "0f03a2c0e166bac89ab829035490e9c6de08d534",
      "parents": [
        "ffe25bc8dc76fe437afeaafe679943b33a468986",
        "632177b7446185a0407b7df96f684a9b8b980765"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 19 21:29:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 19 21:29:52 2013 +0000"
      },
      "message": "Merge \"Change ANetworkSession implementation to optionally attach timestamps\" into jb-mr2-dev"
    },
    {
      "commit": "ffe25bc8dc76fe437afeaafe679943b33a468986",
      "tree": "d887257fd94b5f15f8287faf1263cef56dbaf270",
      "parents": [
        "c235df864edded100bc50c4352fd6672f16353b1",
        "16fb8f3954a6a4058953c505a4e7958a1b14c62b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 19 21:29:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 19 21:29:39 2013 +0000"
      },
      "message": "Merge \"Allow for streaming of media files (without recompression)\" into jb-mr2-dev"
    },
    {
      "commit": "6a5c6ed13e3ea1b19835e08624125c9b1505b32c",
      "tree": "f3a83e08b9a6c526ee1b3cbfe02de1ed09382770",
      "parents": [
        "4f4c2655dc3f6fcef766db6e793b1642ad0fd605"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Mar 19 09:57:29 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Mar 19 09:57:29 2013 -0700"
      },
      "message": "Fix valgrind error\n\nThe volume member of the BundledEffectContext class was not being\ninitialized, resulting in uninitialized data being used for calculations\nand control flow.\n\nChange-Id: I84bf9fd478e5d0479e781323b21c7c03dea958c5\n"
    },
    {
      "commit": "632177b7446185a0407b7df96f684a9b8b980765",
      "tree": "112512d2be5f989019edc4055214b93239a54505",
      "parents": [
        "16fb8f3954a6a4058953c505a4e7958a1b14c62b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 18 15:11:40 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 18 15:12:55 2013 -0700"
      },
      "message": "Change ANetworkSession implementation to optionally attach timestamps\n\nto fragments of data to be transferred and to log statistics when data\nis finally submitted to the POSIX layer.\n\nChange-Id: Icbfcac203cdc5c9eac1634e84d34bb380b316a01\n"
    },
    {
      "commit": "16fb8f3954a6a4058953c505a4e7958a1b14c62b",
      "tree": "60744602ca2f690db35d1bc6f0ab97409f073b3b",
      "parents": [
        "b7be24f055426f00fd1ae1af07d5dd40dbcedfe7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 18 11:09:22 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 18 11:09:22 2013 -0700"
      },
      "message": "Allow for streaming of media files (without recompression)\n\nChange-Id: I1de356cc37506ba986822d12a1a59e7b64069e02\n"
    },
    {
      "commit": "11287471298193ff51ffb429686f5d63a84a621b",
      "tree": "b3a4e927f0887148de2cce86b01947c699790d9f",
      "parents": [
        "4f4c2655dc3f6fcef766db6e793b1642ad0fd605"
      ],
      "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": "4f4c2655dc3f6fcef766db6e793b1642ad0fd605",
      "tree": "9941428ca273e55c1549c4cd05139f1d12be8b30",
      "parents": [
        "b379c219a8d29c2dfa8778e5fb3da80856c30f7e",
        "3cf59c2fc80a142e19d191a923153374fb3a6c22"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 15 08:59:39 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 15 08:59:39 2013 -0700"
      },
      "message": "am 59ac7b30: am 66abe3ae: Merge \"Fix for crash if no content in DESCRIBE response\"\n\n* commit \u002759ac7b3056db57e5a8e851b7946a181c5fc34852\u0027:\n  Fix for crash if no content in DESCRIBE response\n"
    },
    {
      "commit": "b7be24f055426f00fd1ae1af07d5dd40dbcedfe7",
      "tree": "16452ef5ba382cf37a6f63b49f6a399a1cf85d98",
      "parents": [
        "db57fae81950e32af019b32421b93d204d67e951",
        "5883d53cf8300d8b13a1a6ef3310d72a55e191c0"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Mar 14 22:42:44 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 14 22:42:44 2013 +0000"
      },
      "message": "Merge \"Make limitations of MPEG4Writer explicit\" into jb-mr2-dev"
    },
    {
      "commit": "db57fae81950e32af019b32421b93d204d67e951",
      "tree": "536ada6a8e064ff9adac72a99859ffd0bb13c916",
      "parents": [
        "26bb1d3702e01779c5ef481c2ad38568d4cc2aa8",
        "0364a91b4230e5b0631f96579e91a0eb2efa48c3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 14 22:02:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 14 22:02:37 2013 +0000"
      },
      "message": "Merge \"Parse SBR extension sample rate\" into jb-mr2-dev"
    },
    {
      "commit": "0364a91b4230e5b0631f96579e91a0eb2efa48c3",
      "tree": "aba5897497b0ceb9a575ed4a1096a9f2d57930ae",
      "parents": [
        "060c68497a9ab59fd71ffbe7c9a7cd3e58489265"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 14 14:50:47 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 14 14:50:47 2013 -0700"
      },
      "message": "Parse SBR extension sample rate\n\nChange-Id: Ib6f6994228a279ee10b389515fba04516c7c42ba\n"
    },
    {
      "commit": "5883d53cf8300d8b13a1a6ef3310d72a55e191c0",
      "tree": "d280c84919e427787e307504606c5a2527124e59",
      "parents": [
        "dbda1c852d68fde2e729ff2f8e85a406da73994b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 12 10:40:20 2013 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Mar 14 10:47:31 2013 -0700"
      },
      "message": "Make limitations of MPEG4Writer explicit\n\no No more than 2 tracks will be supported\no No more than one video and/or one audio tracks will be supported\no Only take video and/or audio track (for instance, no text tracks)\no If there is no track before start() is called, bail out.\n\nAt the same time, make sure the errors from addSource() report to\naddTrack(), not to start().\n\nBug: 7991013\n\nChange-Id: I1ca35aaeb75b5448d75ed2c6c10dd12ecea720ab\n"
    },
    {
      "commit": "8fb6f96e1cc246bc5630e1f5a0eb90f5459331b7",
      "tree": "50f65eabb52b7f241baa88268178021bcff5a156",
      "parents": [
        "27d11e240dad419f08e7edcd0857ee7806c65d76",
        "33da402287605e40e189289b11a08b8f5d515818"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 13 21:42:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 13 21:42:14 2013 +0000"
      },
      "message": "Merge \"remove uses of Surface in favor or IGraphicBufferProducer\" into jb-mr2-dev"
    },
    {
      "commit": "cc82dc6d500023eba6048616301a4b12682458db",
      "tree": "1f36f887af92cb4bee147e962b85ce10f35d587a",
      "parents": [
        "c93484ab9fdf044fd32f2388a3ce29040d2ba319"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 08 10:18:35 2013 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 13 13:39:48 2013 -0700"
      },
      "message": "Implementing MediaDrm APIs\n\nChange-Id: I9ff8eeb7d0c383b5c0c68cd54eb54ce7d2d22fe6\n"
    }
  ],
  "next": "e2aef54fee88fdeb585a41e1e9834e3d975b263c"
}
