)]}'
{
  "log": [
    {
      "commit": "d7101432aa28f18b1510d9c186a27eecbeba46b2",
      "tree": "a799279d37072b0e69dc7438f0541b3810a766da",
      "parents": [
        "991012a8b887455cb44df782c49c610bb7cf9ec7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 13:42:25 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 15:01:47 2012 -0800"
      },
      "message": "Don\u0027t use control block frame count after create\n\nThis is part of a series to clean up the control block.\n\nChange-Id: I7f4cb05aef63053f8e2ab05b286d302260ef4758\n"
    },
    {
      "commit": "3c81bfb86cfa2b0bae4fea41cc26e3ce50af8517",
      "tree": "dfd51439479c50b920dfc1c1e47e905adcea3177",
      "parents": [
        "56938ef8dc82b49ddbc201a8855c91ba46d73bfb",
        "2ed5cf016c1b45426ae25ab105e02ff4bb992f28"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 16 08:19:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 08:19:31 2012 -0800"
      },
      "message": "Merge \"Add GSM 6.10 decoder\""
    },
    {
      "commit": "2ed5cf016c1b45426ae25ab105e02ff4bb992f28",
      "tree": "ee20237cc679f6770dca37ddeb65128195029992",
      "parents": [
        "f550f56d4bc0fa165c675bbf2e41217c41089fcd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 15 14:31:56 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 16 07:35:42 2012 -0800"
      },
      "message": "Add GSM 6.10 decoder\n\nSupports Microsoft frame packing only, since that\u0027s what the sample\nfile used.\nb/6620569\n\nChange-Id: Ia89d95bcbf0f8dcbaad42148a7401728f60e079d\n"
    },
    {
      "commit": "7da35f231725aa6e0b2ac8714a7d66471368df77",
      "tree": "43c0c280293fce41ffe26176177f1cdec4e1831d",
      "parents": [
        "de5191e8b02f727756eb9d6e812af415d6cd0768"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 12:54:39 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 15 16:43:40 2012 -0800"
      },
      "message": "Use size_t for frame counts\n\nAlso fix typo: bufferCount should be frameCount.\n\nChange-Id: Ibed539504db75ef99dc21c8ff1bf2987122063a5\n"
    },
    {
      "commit": "520a9af9438c29b24e328dd2b7a287c7a96a4e6b",
      "tree": "48d6cbcf8f8bd84e05c00855e0ede8d03e14e04c",
      "parents": [
        "1127d65d536ebbe447ee17ce0926a7ce4a2a3c08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 21 12:56:37 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 16:45:53 2012 -0800"
      },
      "message": "Clean up frame size in AudioTrack and AudioFlinger\n\nTrackBase::mFrameSize, mChannelMask, and mChannelCount are now const.\nUse TrackBase::mFrameSize instead of re-calculating frame size.\nAudioFlinger only sees 16-bit PCM format, conversion from 8-bit is\n  now entirely on the client side.  Previously a small part of the\n  responsibility was on server side also.\nsize_t is unsigned, so use %u in logs.\nFix theoretical bug where TrackBase constructor was over-allocating space\n  for non-linear AudioTrack or 8-bit PCM AudioRecord (probably benign).\n\nChange-Id: I7cbbba0bf4dba29ea751d8af341ab8e5cbbdc206\n"
    },
    {
      "commit": "1127d65d536ebbe447ee17ce0926a7ce4a2a3c08",
      "tree": "5babfd3aecd195c92b12847592f415c6bad513e4",
      "parents": [
        "1513ad2d2de0962cc3b3121e6fae73d8ee1a4639"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 08:44:39 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 16:19:23 2012 -0800"
      },
      "message": "Use uint32_t for sample rate\n\nChange-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80\n"
    },
    {
      "commit": "1513ad2d2de0962cc3b3121e6fae73d8ee1a4639",
      "tree": "4baf59541c549bfc5b0367f1477dec1021954a35",
      "parents": [
        "8f1c74943c454fec3f1adf87312c4a4c89829d90",
        "020f79fd967736d36c7ec860814e2e93866a020f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 16:14:31 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 16:14:32 2012 -0800"
      },
      "message": "Merge \"Update audio comments\""
    },
    {
      "commit": "020f79fd967736d36c7ec860814e2e93866a020f",
      "tree": "b0912d848ca1b2324b3be5580498ad69f65d0f8e",
      "parents": [
        "17158f4a36ed16c779477a56ec831da55e8128fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 07 14:03:00 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 11:58:17 2012 -0800"
      },
      "message": "Update audio comments\n\nChange-Id: I85d7d2f6381b251db5695202fec75128883a8662\n"
    },
    {
      "commit": "f6fd99cc07deb0fa4f3e8fc278836bd90649964f",
      "tree": "14b64d2db5bc12467e71ae015d105b3a441e7ae6",
      "parents": [
        "17158f4a36ed16c779477a56ec831da55e8128fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 13 15:01:05 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 13 15:54:20 2012 -0800"
      },
      "message": "Remove deprecated AudioSystem methods\n\nChange-Id: I952d504e03af9a1d3e1e0aa379c82dfb00197d9f\n"
    },
    {
      "commit": "55186024431cda03aa4a9960a1c90b6954412e98",
      "tree": "66350a23902e990c311f2a461820ed397ff316ea",
      "parents": [
        "91e1ea22fc688967115fb24247b967e513c99d8c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 12 15:46:10 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 13 08:51:39 2012 -0800"
      },
      "message": "Simplify AudioRecord::restoreTrack_l()\n\nFinish removing CBLK_RESTORING and CBLK_RESTORED from control block flags,\nand remove constant RESTORE_TIMEOUT_MS.\n\nAlso minor cleanup:\n - Cache mCblk in local variable cblk and make cblk allocatable in a register.\n - Use \"iMem\" for sp\u003cIMemory\u003e.\n - Add missing error log to AudioRecord; it was already in AudioTrack.\n\nThis is part of a series to clean up the control block.\n\nChange-Id: Ia5f5ab4763c392bc06a45851b167ddaee29e3455\n"
    },
    {
      "commit": "5aab59a2bd0a2cd80240ffd66c1b963b5fe06d65",
      "tree": "5625489fba1f480481ecb9ea7ad3375985bd03b1",
      "parents": [
        "9c6c02eb5badf4ffcd44fc88f2587def2fd628b6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 12 07:58:20 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 12 15:13:34 2012 -0800"
      },
      "message": "Move frame size out of the control block\n\nThis is part of a series to clean up the control block.\n\nChange-Id: Ifab1c42ac0f8be704e571b292713cd2250d12a3f\n"
    },
    {
      "commit": "2f6226ad7a3fa81dc102001fbc1d1288e55a0947",
      "tree": "d928e3a19343cff33e0d157c4c657e3931e8cbd6",
      "parents": [
        "e0461d1d47c3e3cac625ce062b641519da37ba94"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 08 12:13:58 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 08 12:18:59 2012 -0800"
      },
      "message": "Move buffers pointer out of the control block\n\nThis is part of a series to clean up the control block.\n\nChange-Id: Ie474557db7cb360f2d9a0f11600a68f5a3d46f07\n"
    },
    {
      "commit": "e0461d1d47c3e3cac625ce062b641519da37ba94",
      "tree": "2014c1d429fdeedfde2497c9cfb6a68ebf490919",
      "parents": [
        "1ec74dab269d21535a89d058da82a7d28aacbb12"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 07 10:13:08 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 08 11:22:38 2012 -0800"
      },
      "message": "Simplify AudioTrack::restoreTrack_l()\n\nRemove CBLK_RESTORING and CBLK_RESTORED from control block flags,\nfor AudioTrack only.  They are still used by AudioRecord.\n\nThis is part of a series to clean up the control block.\n\nChange-Id: Iae4798f5b527c492bdaf789987ff3a1dadd0cb37\n"
    },
    {
      "commit": "1ec74dab269d21535a89d058da82a7d28aacbb12",
      "tree": "66e55e23d27ce8a9eaa6c78e7bf396f2acf47480",
      "parents": [
        "4f3ebe4090a3be3bb7622cc01b2f9af476914798",
        "164d6539e0620d08b0395efcdd0e4aaf437daf54"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 08 10:35:06 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 08 10:35:07 2012 -0800"
      },
      "message": "Merge \"Add all-channel AudioTrack::setVolume() API\""
    },
    {
      "commit": "4f3ebe4090a3be3bb7622cc01b2f9af476914798",
      "tree": "d563e9b5c676b176832ffb37c5cd0cc2eb00b19a",
      "parents": [
        "ba85098eb31bd2637db49816f0591361211024f2",
        "a96bd95dcfe886436652debbda77ceb634729da0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 08 10:04:06 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 08 10:04:07 2012 -0800"
      },
      "message": "Merge \"Fix call to restoreTrack_l() without lock held\""
    },
    {
      "commit": "a96bd95dcfe886436652debbda77ceb634729da0",
      "tree": "293bcff0960a789cc5b437a458c65795bd8b4c14",
      "parents": [
        "891b11da870ad3f860c1d2610ef4d8836ed6c590"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 02 13:05:14 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 07 16:11:56 2012 -0800"
      },
      "message": "Fix call to restoreTrack_l() without lock held\n\nAlso document lock order\n\nChange-Id: I2c1f273a0a51fa79ee3dd766de8d23083e270051\n"
    },
    {
      "commit": "ba85098eb31bd2637db49816f0591361211024f2",
      "tree": "ac7f6e3c4d620dbbc87991dbb41944c53245c72a",
      "parents": [
        "891b11da870ad3f860c1d2610ef4d8836ed6c590"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 06 16:15:41 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 07 08:32:40 2012 -0800"
      },
      "message": "Remove CBLK_DIRECTION from control block flags\n\nThis is part of a series to clean up the control block.\n\nChange-Id: I0265fece3247356b585d4d48fbda6f37aea8a851\n"
    },
    {
      "commit": "891b11da870ad3f860c1d2610ef4d8836ed6c590",
      "tree": "e6b9b1be319590d43afc496a55d779724b3db10c",
      "parents": [
        "b2800e8f1360cbc3c5af2bea228b9622b1ddc9dd",
        "c26741598a840f7c1d12ee457fb26f68fcdbcc70"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 07 08:29:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 07 08:29:31 2012 -0800"
      },
      "message": "Merge \"Remove CBLK_FAST from control block flags\""
    },
    {
      "commit": "b2800e8f1360cbc3c5af2bea228b9622b1ddc9dd",
      "tree": "e1e86686fca8bdb6059476d13754684d8a04a87d",
      "parents": [
        "a7c616bf961e58d99449637688e947816fce795e",
        "8424361609e0a94b9a240b43920529a84a63ed15"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 07 08:09:22 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 07 08:09:23 2012 -0800"
      },
      "message": "Merge \"Remove unused fields in AudioTrack::Buffer\""
    },
    {
      "commit": "c26741598a840f7c1d12ee457fb26f68fcdbcc70",
      "tree": "01156c9a64d61fe07a82d913c1aaa3aeb30adf94",
      "parents": [
        "96f1528dd637c6e806456d56c635ab2e92b0bd9b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 06 15:03:34 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 06 17:25:22 2012 -0800"
      },
      "message": "Remove CBLK_FAST from control block flags\n\nThis is part of a series to clean up the control block.\n\nChange-Id: Ic881a3560d9547cb63fcc0cefec87aa3da480e0d\n"
    },
    {
      "commit": "8424361609e0a94b9a240b43920529a84a63ed15",
      "tree": "b02439b49ce632e2fcdd858b3b31bc701a5303e0",
      "parents": [
        "96f1528dd637c6e806456d56c635ab2e92b0bd9b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 06 14:25:20 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 06 14:37:04 2012 -0800"
      },
      "message": "Remove unused fields in AudioTrack::Buffer\n\nChange-Id: Iab75f6e2348d8b6d1f3cec95aeb3fcd5135dfb50\n"
    },
    {
      "commit": "6608582c5fc4dc4041d18d0e619fb3042380607b",
      "tree": "bf20be6b2305583e4fb27736b58574e5fbf009eb",
      "parents": [
        "96f1528dd637c6e806456d56c635ab2e92b0bd9b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 21 16:24:32 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 06 14:27:51 2012 -0800"
      },
      "message": "Removed unused fields in AudioRecord::Buffer\n\nChange-Id: I89fc6d8f695b48516d956b0a9a4a43d408f369f9\n"
    },
    {
      "commit": "2c1f9010e4ccf12667043b6ba00d2dc758dbbfc0",
      "tree": "096144440e2fd709059fc06949666f1f4e2517cd",
      "parents": [
        "ac65726b26a63635d3461f96b4b979add5a8f7dc",
        "c4bae46d8bc833f200c2d460df73d42130efb5bc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 06 10:27:58 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 06 10:27:59 2012 -0800"
      },
      "message": "Merge \"AudioRecord comments\""
    },
    {
      "commit": "fda32926cfbdad0aae5a3e0bf88b2a218f9e7f6c",
      "tree": "fb7b9bbfaf1c18a054c20dd2030a5df5e665b1fe",
      "parents": [
        "47ea760ec7af9d51b31645ae8bdfb70a02996ffc",
        "d12b033552585cd8761ba6241f21e4cea4a21878"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 05 16:32:24 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 05 16:32:24 2012 -0800"
      },
      "message": "Merge \"Simplify control block flag names\""
    },
    {
      "commit": "164d6539e0620d08b0395efcdd0e4aaf437daf54",
      "tree": "1ef93ad08047935309369c603310cb78a16acf8f",
      "parents": [
        "480421bb48af5df4f15498845447f3fde20a4069"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 27 16:21:04 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 05 15:12:51 2012 -0800"
      },
      "message": "Add all-channel AudioTrack::setVolume() API\n\nAdd combined channel APIs setVolume to AudioTrack,\nand remove obsolete getVolume.\n\nChange-Id: I0c87bfdbff4f4292259fa33e65f67badbafd270b\n"
    },
    {
      "commit": "7c28540fccf996bed1744686aca1ee9e67b9cf22",
      "tree": "6365349c39177ed75b32bc7fcb88ac469c88d16d",
      "parents": [
        "fb242fa66643d1bd5362077a44c02c86c8064564"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 27 16:05:09 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 05 13:49:59 2012 -0800"
      },
      "message": "Remove deprecated AudioTrack APIs\n\nChange-Id: I88be6525f3e33df529c0c3cb701d12a484809477\n"
    },
    {
      "commit": "d12b033552585cd8761ba6241f21e4cea4a21878",
      "tree": "229874500055145fd99693ca4f87d997022edcc1",
      "parents": [
        "480421bb48af5df4f15498845447f3fde20a4069"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 05 13:38:15 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 05 13:43:51 2012 -0800"
      },
      "message": "Simplify control block flag names\n\nUse only one symbol per flag\n\nChange-Id: Ia3582e2134abd60c896d11337face65383e79c7c\n"
    },
    {
      "commit": "c4bae46d8bc833f200c2d460df73d42130efb5bc",
      "tree": "2c800085866d236f1c0f599e12249826ed4e8016",
      "parents": [
        "3d07702e3b95579370aa74d40b56c63685cbb518"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 01 15:41:48 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 02 10:56:20 2012 -0700"
      },
      "message": "AudioRecord comments\n\nChange-Id: Ibec910608948d778dc655d900255a80384e9b06f\n"
    },
    {
      "commit": "3d07702e3b95579370aa74d40b56c63685cbb518",
      "tree": "2fdb76a9b150bfb5fdb0e3c2cb6f9dd8f30c1826",
      "parents": [
        "2fdabbab3cbfb68755036607cda15f7123f42b9b",
        "fb6a5c31c003ee56a04098a8b4930c7178d3e62a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 02 10:51:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 02 10:51:33 2012 -0700"
      },
      "message": "Merge \"Add NBAIO support for more sample rates\""
    },
    {
      "commit": "c5b0fa3b2f6d9ac3aa274b973c331399312adf76",
      "tree": "45705d9702ff7ed3b71ac8c24ebad391c1df09c4",
      "parents": [
        "73f954e8c735ece75411a81f1967c1839e466c6f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 01 15:45:06 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 02 10:18:37 2012 -0700"
      },
      "message": "AudioTrack comments\n\nChange-Id: I08988f635c5bc6f4c35e9c4188f3d6fa557bc4c2\n"
    },
    {
      "commit": "269019581b7bdd73f4c4e618a3a5bbc541058e72",
      "tree": "cbf49090bb4b54022a993af711e614a85c445c62",
      "parents": [
        "8af901cdea0af7e536579dee6d56e69987035a01",
        "5520b9c29c3eba005fb5a5044cbf44687254965e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 01 16:03:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 01 16:03:19 2012 -0700"
      },
      "message": "am d37ee8fb: am 96076964: Make video encoders\\\u0027 bitrate mode (constant, variable, ...) configurable\n\n* commit \u0027d37ee8fb36c972bf8d07868700a2c47358e25eb4\u0027:\n  Make video encoders\u0027 bitrate mode (constant, variable, ...) configurable\n"
    },
    {
      "commit": "7b4262221c06951e9df75d5414c0a7daab365177",
      "tree": "3090340b35cf168294f5c1f2bc287dfcc626c5a0",
      "parents": [
        "bd4e99c1636c75f6db0be70434b9f276bfecd96d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 01 15:48:44 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 01 15:48:44 2012 -0700"
      },
      "message": "Make video encoders\u0027 bitrate mode (constant, variable, ...) configurable\n\nthrough the desired output format. Configure the video encoder to use\nconstant bitrate mode for WFD.\n\nChange-Id: Id7bd619598153c13448a9c5acd69d80f8a01f333\nrelated-to-bug: 7459597\n"
    },
    {
      "commit": "8af901cdea0af7e536579dee6d56e69987035a01",
      "tree": "46df7448209503f57a43e8c63f2334edaaf80e04",
      "parents": [
        "34238f2970c7630d173203662e0d572cc47b1ef7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 01 11:11:38 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 01 12:19:25 2012 -0700"
      },
      "message": "Line length 100\n\nChange-Id: Ib28fd7b9ce951a6933f006e7f8812ba617625530\n"
    },
    {
      "commit": "fb6a5c31c003ee56a04098a8b4930c7178d3e62a",
      "tree": "7d152c7a3f6c49601356f714b82ec2b11e24e272",
      "parents": [
        "d8a71417484ed7d937ef612d6499704d0c325874"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 01 09:47:30 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 01 10:11:25 2012 -0700"
      },
      "message": "Add NBAIO support for more sample rates\n\nThis will be used for audio capture but it is not scalable,\nand we need a better approach in the long term.\n\nChange-Id: I8b12f6b64a3fd8e8a8c425c82574260fe8ffbed6\n"
    },
    {
      "commit": "b9c24111ecc135d47d563eaa3609730b6b4ee5e0",
      "tree": "0222bb760921fc560e4692be37bcb04c6cc66c30",
      "parents": [
        "142dbcfe437524bc0e8d546d2d43cab2a3ea625b",
        "f84ae1292bc9a6a727ab5aeb08e097054b7d4b5a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Oct 10 17:23:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 10 17:23:19 2012 -0700"
      },
      "message": "am 0f95fadb: am 7e2c0a15: Merge \"Support querying active record sources\" into jb-mr1-dev\n\n* commit \u00270f95fadb8a3ee402f2c51a932a06f1f685ab2d35\u0027:\n  Support querying active record sources\n"
    },
    {
      "commit": "e3f641fd9348bf7f4c07f6cc707347fccea1439c",
      "tree": "0b9e59cf60f2ee5edd7e6fe1fb3d6ea6aed8577f",
      "parents": [
        "a70995f9dec3c2915792113c9c228b5b6474a915"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Oct 10 12:11:16 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Oct 10 12:11:16 2012 -0700"
      },
      "message": "Support querying active record sources\n\nAdd support for querying whether there is currently a recording\n underway from the specified audio source.\n\nBug 7314859\n\nChange-Id: I986b231a10ffd368b08ec2f9c7f348d28eaeb892\n"
    },
    {
      "commit": "2d6ba111cd53722357608226dbaa4446ac988fa1",
      "tree": "ab1669c85ca4317caf1f39469a21ee2d064d80dc",
      "parents": [
        "694eae0d0f6ed8bd089dd6b67e34683012dc0207",
        "99bd823afb68c7c52c20c54da18b3ae05103bf26"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 03 10:48:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 03 10:48:22 2012 -0700"
      },
      "message": "am ce42b94a: am 4401091b: Merge \"Better power savings with wifi display code.\" into jb-mr1-dev\n\n* commit \u0027ce42b94ae4363c97945732fb8698675fa8b0861a\u0027:\n  Better power savings with wifi display code.\n"
    },
    {
      "commit": "72c6686ad04feb976ea3d2f816c784e485b55506",
      "tree": "afe501842403a5e0a1a0c4a4830a4751d4c8ef19",
      "parents": [
        "4a114f03a79e157cab9396f986ef947df2255f1d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 03 10:16:58 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 03 10:16:58 2012 -0700"
      },
      "message": "Better power savings with wifi display code.\n\nNo more polling the encoder for work to do, the encoder instead notifies\nif there\u0027s activity.\n\nChange-Id: Ia707211b4f5c5a6e6b70d750233d204a2d6bb778\nrelated-to-bug: 7248248\n"
    },
    {
      "commit": "9fab80cfc06d7b68eaf825aee62c3f823a5dba32",
      "tree": "a7514910c6adfc5ec399fe7c71e9e5d1dd0fbc0f",
      "parents": [
        "136c663de16032c74754d6a935947934ba52e3a3",
        "368195376b9b78631d0eb26ded831a60d4acba7c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 01 17:23:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 01 17:23:14 2012 -0700"
      },
      "message": "am 4cb8a163: am 1c730d33: Merge \"ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.\" into jb-mr1-dev\n\n* commit \u00274cb8a16365e2342e1ee99906d406de939023f389\u0027:\n  ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.\n"
    },
    {
      "commit": "136c663de16032c74754d6a935947934ba52e3a3",
      "tree": "09c6f186aaacb44f9748bddf9453f521f001db6f",
      "parents": [
        "7d1a65bab4a4d3bbffd716b692ef6ce37a36c5ca",
        "8b3f009b9cb78663b6ba9ba0bb25379af0cfc866"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 01 17:23:13 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 01 17:23:13 2012 -0700"
      },
      "message": "am 5db05850: am 1a0d1670: Merge \"Optionally have SurfaceMediaSource return absolute timestamps\" into jb-mr1-dev\n\n* commit \u00275db05850d02939e63800ae5b1fcf53a767f2e895\u0027:\n  Optionally have SurfaceMediaSource return absolute timestamps\n"
    },
    {
      "commit": "fa0e033ab5a0ab5d96e90c9f6d4d53bedc74514b",
      "tree": "36a07a0e8484abeb2d8ec882833c6aef8aa7f231",
      "parents": [
        "90689fda75c343ab9328ced63e58f45eabaa33cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 01 16:03:44 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 01 16:03:44 2012 -0700"
      },
      "message": "ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.\n\nChange-Id: Ia31eb0940b02581327a8bf51af6df135f9ab6de3\nrelated-to-bug: 7266324\n"
    },
    {
      "commit": "90689fda75c343ab9328ced63e58f45eabaa33cc",
      "tree": "76f0bb939e69791e346c25fc195f147e598591f7",
      "parents": [
        "799688d0520149edc7f18ebe69c1ddd453a73cce"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 01 15:59:54 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 01 15:59:54 2012 -0700"
      },
      "message": "Optionally have SurfaceMediaSource return absolute timestamps\n\nbased on systemTime().\n\nChange-Id: I2eff15dd149a4b737d6e7473d1907cf0c80b6b38\nrelated-to-bug: 7266706\n"
    },
    {
      "commit": "316f716a95bfa612e84eeaa417c38ad07fa3352d",
      "tree": "0000f5a9025b8511a203573db4cb0f953026494c",
      "parents": [
        "1c2238dff1fd0ded924a55dc23a637e781b2c038",
        "27344f1685434c008fb38c4198644c48c3355935"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 01 13:47:58 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 01 13:47:58 2012 -0700"
      },
      "message": "am c57979de: am 0e1d7164: Remove double negatives from SurfaceMediaSource\n\n* commit \u0027c57979deb28e8c4e4809796eebdc92820ed461e2\u0027:\n  Remove double negatives from SurfaceMediaSource\n"
    },
    {
      "commit": "a54dee4002624e0885b39451cb29028406f5bf8e",
      "tree": "d4b0c2d5c54ad2cac66c8311f6ca7f6edf8aa67e",
      "parents": [
        "8292f6d078a12062bbb090eed49d1ea025ff58f3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 01 11:22:05 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 01 11:24:04 2012 -0700"
      },
      "message": "Remove double negatives from SurfaceMediaSource\n\nensure mStarted actually reflects the state of SurfaceMediaSource\n\nChange-Id: I92557896993ad8da23fe6940e997402ad63b8cbc\nrelated-to-bug: 7258622\n"
    },
    {
      "commit": "f8e2c9821075156651254661a7ccbe5faeec45d4",
      "tree": "519de4a649e6b0d594416fc29ba75afad76fcabe",
      "parents": [
        "63c2a38a3c0be207306073c9196ab76cd9df4b2a",
        "c770593f88898b7840154a2bd31168518a9d2c8b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 01 11:15:49 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 01 11:15:49 2012 -0700"
      },
      "message": "am 558301cb: am d13df246: Merge \"Enable write side of MonoPipe to be shutdown\" into jb-mr1-dev\n\n* commit \u0027558301cb1ecc3679997593905230bd3589e736a4\u0027:\n  Enable write side of MonoPipe to be shutdown\n"
    },
    {
      "commit": "b5c8c18649ed651dcddbda0b160bc5decc250d26",
      "tree": "4d5c034e73af91b22cd36bc6ad01a97bb3ea76d2",
      "parents": [
        "43cbdc5b5545d3344c556014b9afe8249add91e4",
        "9bb6e65def86afb36a03643c50456e646cdf98a8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Sep 30 11:48:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 30 11:48:11 2012 -0700"
      },
      "message": "Merge \"Enable write side of MonoPipe to be shutdown\" into jb-mr1-dev"
    },
    {
      "commit": "2e63d52ea03e0a9d098759cf4689691809f44ceb",
      "tree": "ff8d85da78be3fa61de5753d697e0377a218565f",
      "parents": [
        "d1805ebb0ff7694441fd95b5801fbce222849b6f"
      ],
      "author": {
        "name": "James Painter",
        "email": "jpainter@google.com",
        "time": "Fri Sep 28 00:09:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 17:26:55 2012 -0700"
      },
      "message": "DO NOT MERGE: Remove experimental parameters for burst mode\n\nBug: 7248756\nChange-Id: I3aaf2da4791b2a13e1e788b2914e4c51c529a75d\n"
    },
    {
      "commit": "9bb6e65def86afb36a03643c50456e646cdf98a8",
      "tree": "ffb7ece8b3a156671c5abdeaa9a16ba436a70d84",
      "parents": [
        "91e873a9cfef37f2dce69b33f90ca7c09c0112db"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 28 12:22:52 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 28 16:30:52 2012 -0700"
      },
      "message": "Enable write side of MonoPipe to be shutdown\n\nBug: 7253033\nChange-Id: Iea8390763b59ffa7a8e2a6b77dd04ea23442698f\n"
    },
    {
      "commit": "a7f7e0ac9436a8417bb9f31aecedfec1909d4630",
      "tree": "985431aed55374521a2a40fc0b12c782a91a5db9",
      "parents": [
        "8397243efdd4e70ba75a9cf50d882c24dad250a2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 28 10:23:51 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 28 10:23:51 2012 -0700"
      },
      "message": "Various improvements to a cleaner shutdown of the wifi display connection.\n\nChange-Id: Id029a89939e53c2bd1d20e572d3975ec2795c239\nrelated-to-bug: 7247918\n"
    },
    {
      "commit": "4c6db4ce1e2760682d1c9e66448dbb39bb5d14d8",
      "tree": "a8ffad6bc9f78c05eefc85cbfdb782eb40b50b4b",
      "parents": [
        "64f935ebeae38828b3704e93fa5e7113f7839110"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 24 11:27:18 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Sep 25 17:13:18 2012 -0700"
      },
      "message": "Implement android.media.AudioManager.getProperty()\n\nBug: 6635041\nChange-Id: I3386a4a6c226bc4eceaf65556119e4fb15f73224\n"
    },
    {
      "commit": "45d76bb6c8f15335f89c287dbae04cc38f79d0a8",
      "tree": "baeb6a730e64585729fec469290541b38da1199c",
      "parents": [
        "8fdd88b073275812ccd2279e3f657a4b5960bfa3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 20 16:00:17 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 21 09:24:08 2012 -0700"
      },
      "message": "Remove legacy code and APIs in wifi display related code.\n\nChange-Id: Ia010e7a00534f9356b3247369d0ffd65591d91aa\n"
    },
    {
      "commit": "59451f8ced48874427ff1550391c4f3cd2ba2e35",
      "tree": "157c7a66a42dee041738de4cd88c9b185ad686bd",
      "parents": [
        "d5a9ae029b50678de3b468d8324728a73ff5b0aa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 18 10:36:32 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 19 09:28:08 2012 -0700"
      },
      "message": "HDCP module binderized\n\nChange-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6\n"
    },
    {
      "commit": "c438b88ac929e4a14ebaa54aad8c827dbdab8c73",
      "tree": "e82d9374103cf01115508736738a15bbb7ee2ebc",
      "parents": [
        "7d34f83f64919295baff4b0e260267af3efb4f9f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 17 15:07:30 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 17 15:11:38 2012 -0700"
      },
      "message": "Now we only support a single client connection\n\nand it cannot be initiated from the local interface address for security\nreasons.\nAlso, there\u0027s at most one playback session active at any time, and when\nit dies we shutdown the client connection altogether and signal an error\nto the listener.\n\nrelated-to-bug: 7139784\nChange-Id: Ia8d02bc994ce9986936947ddda1f2a3dddbf5714\n"
    },
    {
      "commit": "afcb6aec27a52b87f3990691698ebe6b62e7a7bf",
      "tree": "fa2736c30c7d5576a3e0206262a3704324ddb0ca",
      "parents": [
        "84cd5d18cf3f6b13295e233f96662978295eea9b",
        "2020801209f7f0f82ddd7635daf2c371b46ea6d6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 14 10:05:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 14 10:05:52 2012 -0700"
      },
      "message": "Merge \"Allow OMXCodec to specify an output color format for OMX decoder component\" into jb-mr1-dev"
    },
    {
      "commit": "03e2ffa64470eec4e886614a4fa4facbae58a862",
      "tree": "3e5ba613092116e78284cdfaaf306260d0e0dab0",
      "parents": [
        "f8c5023fd3200aaf79293bdbab264d09b0936d54"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 13 16:43:51 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 13 16:43:51 2012 -0700"
      },
      "message": "Support IDR requests in wifi display, MediaCodec and ACodec.\n\nChange-Id: I596cf8dd61b63465437f78413186fad2be287244\n"
    },
    {
      "commit": "b62f95145293bf1a39959166a4964088bb413224",
      "tree": "4ee9c19ac6d89e2640eb964e95dec87553ae9d13",
      "parents": [
        "2954fe9a1cf578c2ad54c2fefb79aeb2a3d220eb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 12 12:08:55 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 13 09:21:02 2012 -0700"
      },
      "message": "Throttle SurfaceMediaSource.\n\nChange-Id: I214ce60f8d94df9c07041577e34ed1ad5e199fdb\n"
    },
    {
      "commit": "2020801209f7f0f82ddd7635daf2c371b46ea6d6",
      "tree": "85b31efc5aed0defe61c7786061cf82e81cedc80",
      "parents": [
        "3e2e7a945cf0239b2f021294fc9786958f389ef9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 07 17:27:50 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 10 16:37:26 2012 -0700"
      },
      "message": "Allow OMXCodec to specify an output color format for OMX decoder component\n\nThe output color format is specified via the meta argument in OMXCodec::Create()\n\no related-to-bug: 7122195\n\nChange-Id: Id3247686b893af25cc190685201e53ad34b0399c\n"
    },
    {
      "commit": "c81284a2b77c630046ee57e6d73ac5d367e558f1",
      "tree": "8e9877e659f311abc94f1bc441ddd5dc92603fa7",
      "parents": [
        "947be6bf6700d07e148f6fbf6308e86b08d3c926"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 11:59:12 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 10 11:59:12 2012 -0700"
      },
      "message": "Camera: Add HDR scene mode constants.\n\nChange-Id: I78b1f8ca3c1a03222ed363db26d9a09cf0b13528\n"
    },
    {
      "commit": "c3dbf1a40df85b75e5805382838a90416f69730f",
      "tree": "0e318607c99cfc74cd601df1d7002dfb15a24ac5",
      "parents": [
        "d0c3da34ad99506ccdc05d4b626c81d9cf43834a"
      ],
      "author": {
        "name": "James Painter",
        "email": "jpainter@google.com",
        "time": "Wed Sep 05 18:02:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 16:28:00 2012 -0700"
      },
      "message": "Camera2: Add a burst mode skeleton.\n\nBug: 6243944\nChange-Id: I7f496ca1051571c68fdd99a6f85bf6a908a4e29a\n"
    },
    {
      "commit": "5f7e55ea443c80ef8b6173efd1c2551e07309b0a",
      "tree": "4cd31563d1b3922b7b04ae6ced11eb8c0d918399",
      "parents": [
        "ed68d9acdd5eae0ca6a3a6eebb99c104784707e4"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Fri Aug 24 14:47:25 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Sep 06 12:33:35 2012 -0700"
      },
      "message": "Add a small hook to support gapless in AAH.\n\nChange-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630\n"
    },
    {
      "commit": "56cd317a35a18ba5c40b344f0a5bf436546246a1",
      "tree": "2c3eb9ae3389801959a7679b354f0abb66d8d1b6",
      "parents": [
        "3e2e7a945cf0239b2f021294fc9786958f389ef9",
        "ced24b36bbeed1ddd086a9304a9639c04ffe0962"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 06 10:15:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 06 10:15:31 2012 -0700"
      },
      "message": "Merge \"Update remote display API.\" into jb-mr1-dev"
    },
    {
      "commit": "ced24b36bbeed1ddd086a9304a9639c04ffe0962",
      "tree": "d9da77d64098b29ef571a3d6c12c7fe9a6d8e8cf",
      "parents": [
        "28169b107327b5db58877babf6993f0eb109c58a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 05 17:48:03 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 05 17:48:03 2012 -0700"
      },
      "message": "Update remote display API.\n\nRenamed disconnect() to dispose() to emphasize the fact that\nthis method is intended to clean up the IRemoteDisplay\ncompletely, not just temporarily disconnect the current client\n(which might be useful someday).\n\nOther minor tweaks.\n\nChange-Id: I1209639eb0cd8af09c724206642d7e52aab48257\n"
    },
    {
      "commit": "ccd07716d105125b2eb2f1280b8c3fe9f57e78f3",
      "tree": "2c5ba74d5894a575f4100a84c75d7125fc5c7873",
      "parents": [
        "28169b107327b5db58877babf6993f0eb109c58a",
        "1e9ee018c6fa906c99270616456c32f0bb30c9c0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 05 16:22:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 05 16:22:17 2012 -0700"
      },
      "message": "Merge \"Fragmented mp4 extractor\" into jb-mr1-dev"
    },
    {
      "commit": "1e9ee018c6fa906c99270616456c32f0bb30c9c0",
      "tree": "6428e0c409971ed90ee409efc5776e8c7b7ebb25",
      "parents": [
        "62a1904e6beaa8848eddd2b635053536fbe5e804"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 28 15:09:49 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 05 14:22:07 2012 -0700"
      },
      "message": "Fragmented mp4 extractor\n\nStill experimental. Set property \"media.stagefright.use-fragmp4\" to true to\nenable.\n\nChange-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e\n"
    },
    {
      "commit": "2013a54981d4ffb036dff279b88cc9f08c0ee1c2",
      "tree": "0be5853ec89f5d075763a8228513a6e98a27a30e",
      "parents": [
        "62a1904e6beaa8848eddd2b635053536fbe5e804"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 04 21:38:42 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 05 08:47:36 2012 -0700"
      },
      "message": "Implement remote display service stubs.\n\nChange-Id: I582ed000026bba6d116db8304e15a3c52f8a9a01\n"
    },
    {
      "commit": "7f06639d375c44f260e00aa5e18cd883624b38bf",
      "tree": "bd7795b8ffae89845afcb222bcd7821ef7fe634a",
      "parents": [
        "8a61c22ecc2a38fffe978be210fe3f0a70efb71c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 04 16:30:49 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 04 16:47:21 2012 -0700"
      },
      "message": "Configure the SurfaceMediaSource to emit the same number of buffers\n\nas the video encoder allocates for its input. Do this before connecting\nthe bufferqueue through surface flinger.\n\nChange-Id: Ibc81db1359afe2d88fdb75b23fadae65c8a6f7cc\n"
    },
    {
      "commit": "3e76a27a5e57435369794016494093b5b1b29513",
      "tree": "06f55d6c53f90c3e1f2521b4031db88f5fb8e8d1",
      "parents": [
        "7468828497435ed88534508537714149aa66ead3",
        "330accb419ebfb1d8b9d7dcc3b616f56f737f29a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 14:03:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 14:03:25 2012 -0700"
      },
      "message": "Merge \"Added an additional virtual method IStreamSource::flags().\" into jb-mr1-dev"
    },
    {
      "commit": "330accb419ebfb1d8b9d7dcc3b616f56f737f29a",
      "tree": "0ab51d659fd82dee0af222f934eb41f1af3a2a41",
      "parents": [
        "b2562f6faf7b1061f617586801597e0b6b4400b5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 13:40:12 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 31 13:40:12 2012 -0700"
      },
      "message": "Added an additional virtual method IStreamSource::flags().\n\nChange-Id: I89e62d84328e12f08c8f73cbfd53cfb42569de97\n"
    },
    {
      "commit": "2662ac9220c9e07cd343e78bf3a0c21ca3e4ffd1",
      "tree": "35ef8577dcf4d7b411a4944654ee01d7a544f1ee",
      "parents": [
        "18910b47dfaba1b9ef830687ad19b0db764c944e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 30 10:59:30 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:31:00 2012 -0700"
      },
      "message": "Update audio comments\n\nChange-Id: Ie7504d0ddb252f7e4d4f99ed0b44cfc7b1049816\n"
    },
    {
      "commit": "a5cbecbc7f940902b966f12a1e4c74d43dc562e4",
      "tree": "a700b4c9973e2edb77ba6c95fc1b3884cf833127",
      "parents": [
        "f351faed1f54aac8a06b6685dc77a7764d7cf543",
        "ab1bd84889273bc21efdabe5ff6f4633eb918a85"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 15:12:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 15:12:30 2012 -0700"
      },
      "message": "Merge \"Only run the wifi display RTSP server on demand, and only on the wifi direct\" into jb-mr1-dev"
    },
    {
      "commit": "f351faed1f54aac8a06b6685dc77a7764d7cf543",
      "tree": "7e4161d4030b94fb864eb126f3488e7d0a8331b6",
      "parents": [
        "9f6f0a7eb1d7f2c35f3547779364a1a8d6d4a24c",
        "fc7992bd8220824f1404c0c54ac516d9e28b58c2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 15:05:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 15:05:01 2012 -0700"
      },
      "message": "Merge \"Move libnbaio out of AudioFlinger\" into jb-mr1-dev"
    },
    {
      "commit": "ab1bd84889273bc21efdabe5ff6f4633eb918a85",
      "tree": "c7b13774524756c1add0ebf76de25be2ff8244e9",
      "parents": [
        "c869702b6aa0c4af48226c7385eee60a1642761c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 14:51:40 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 14:51:40 2012 -0700"
      },
      "message": "Only run the wifi display RTSP server on demand, and only on the wifi direct\n\ninterface.\n\nChange-Id: I7d3c44cb79cd40e73499f2d7ccf35c69b628e6d7\n"
    },
    {
      "commit": "bd381af4d618a4da78de99d05d44a10c0c37207b",
      "tree": "9aabae3b0ee22c6bce79a40bf44512bdd77f795f",
      "parents": [
        "8dd92a89e09496a83bcd9221bf77dd607313f2e4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 10:56:14 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 30 10:56:14 2012 -0700"
      },
      "message": "Prepare for transmitting audio through AudioSource.\n\nAudioSource can now be configured to output buffers timestamped based\non looper time (absolute) instead of based on systemTime() relative to\nstart time.\n\nChange-Id: I8eca42648eb50033ac4aafbe5daac64a98a40690\n"
    },
    {
      "commit": "fc7992bd8220824f1404c0c54ac516d9e28b58c2",
      "tree": "972da8ca10068930ebb465a72c76be69a0ca6a79",
      "parents": [
        "6db33a9272da8f011be1c51675220b81655fd470"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 29 11:10:32 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Aug 30 10:53:37 2012 -0700"
      },
      "message": "Move libnbaio out of AudioFlinger\n\nlibnbaio is now a separate shared library from AudioFlinger, rather\nthan a static library used only by AudioFlinger.\n\nAudioBufferProvider interface is now also independent of AudioFlinger,\nmoved to include/media/\n\nChange-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b\n"
    },
    {
      "commit": "a2c31a786cfea83f4028c4c5ae00386ae96542e9",
      "tree": "0bc0466c8ad8e92b52c149b50437129877c841e3",
      "parents": [
        "2231a6d809344ad1e5a01b974cde498e54eed7ba",
        "35213f1420c669f43314cb75eadea450d21a75cb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 15:29:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 29 15:29:11 2012 -0700"
      },
      "message": "Merge \"Initial checkin of support for acting as a wifi display source\" into jb-mr1-dev"
    },
    {
      "commit": "35213f1420c669f43314cb75eadea450d21a75cb",
      "tree": "6869bbe05a695fbb1df99b339e869652142ed3fb",
      "parents": [
        "f8b8f6f8738b9780067e9e56bac8c1de9449b94c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 11:41:50 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 15:06:57 2012 -0700"
      },
      "message": "Initial checkin of support for acting as a wifi display source\n\nChange-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a\n"
    },
    {
      "commit": "9bd5a93ed8b4c4b3361c35dd1acdc3f1f49ede33",
      "tree": "a879e3154cc26be5dd4f3a599ef5bd2974d13976",
      "parents": [
        "f8b8f6f8738b9780067e9e56bac8c1de9449b94c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 11:34:22 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 29 11:34:22 2012 -0700"
      },
      "message": "Preliminary support for HDCP as a binder service for wifi display support.\n\nChange-Id: Ie0de1c086c629a668d1c7863992eef56fb94157c\n"
    },
    {
      "commit": "1c356d38527efbbee0894188c0a8f82074b0f441",
      "tree": "15a9f511a77a8817f02c558883052dd754298a2d",
      "parents": [
        "690921927f289da73556ea71c28981194af8ffcd",
        "aa8879d381918335c9d829fc279b76d53a15a550"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 27 10:14:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 10:14:23 2012 -0700"
      },
      "message": "Merge \"Fixed a native crash due to unexpected state at destroy time when encoder component\u0027s source fails to start\" into jb-mr1-dev"
    },
    {
      "commit": "a0ead0a2d2ce1d114ad3a17d755dddce831abb40",
      "tree": "0908865a805a13176c98f2a9a5ffb2c28380d75d",
      "parents": [
        "ff3f75c3e827c1c1f3e3a11b1de46b19444af197"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Aug 23 20:24:09 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Aug 26 16:25:12 2012 -0700"
      },
      "message": "SurfaceMediaSource: a few fixes / cleanups\n\n- Remove the setting of mStopped to true in onBuffersReleased\n- Cleaned up a few function call logs\n- Removed the \u0027reset\u0027 method.\n\nChange-Id: I56bab1d5cb2f3e6d59d54698c2e045d796d1849f\n"
    },
    {
      "commit": "aa8879d381918335c9d829fc279b76d53a15a550",
      "tree": "0ec909da8db12815112ba15ba266d1093ff91de8",
      "parents": [
        "9a150640a28d3fa5507a590125a6c004681bb221"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 24 10:53:31 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 24 13:10:16 2012 -0700"
      },
      "message": "Fixed a native crash due to unexpected state at destroy time when encoder component\u0027s source fails to start\n\no Encoder component initializes to be in the state of EXECUTING before its source gets started, because we wanted to be able\n  to configure the source to use the advertised number of input buffers. However, if the source fails to start, then the encoder\n  ends up in the state of EXECUTING when OMXCodec object gets destroyed. As a result, the assertion on the expected state in\n  OMXCodec\u0027s constructor fails. The fix is to stop the video encoder component right way when its source fails to start so to\n  bring the state of the encoder component back to the expected state.\n\no related-to-bug: 7045494\n\nChange-Id: I6d4a221eb809d7137f53e58098a04816998f7a25\n"
    },
    {
      "commit": "dbcb4c17f16230dfc6af908f176681c49f61b13e",
      "tree": "bef549ee2c80ee54309207846ab36192b0124879",
      "parents": [
        "9a150640a28d3fa5507a590125a6c004681bb221"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 09:53:35 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 24 10:14:37 2012 -0700"
      },
      "message": "Allow directly setting a DataSource for NuMediaExtractor\n\nThis adds NuMediaExtractor::setDataSource(const sp\u003cDataSource\u003e \u0026source),\nwhich some new code under frameworks/av will use to let applications\nprovide a custom data source for extractors.\n\nChange-Id: I8fb743441d04b4eadbda3c2d76858c3d60e2a3b2\n"
    },
    {
      "commit": "9a150640a28d3fa5507a590125a6c004681bb221",
      "tree": "d45d6e643ac0fac5d0b80258b1ec38feccff4e9f",
      "parents": [
        "0c676cd04ff15cc7eacf6144b4aead6deaccf60c",
        "bf5b3b29e31b293313788d7464cfb258ac0da803"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 22 14:50:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 22 14:50:14 2012 -0700"
      },
      "message": "Merge \"Let getOriginalMimeType() take a fd passed from drm java applications\" into jb-mr1-dev"
    },
    {
      "commit": "6a8ea471a9f3b001bd0ffa3381eba12975dfc59f",
      "tree": "3590178bb20b7042efdaca9f7f87822f7ea1968a",
      "parents": [
        "3411fc2f3a44b22d69a359a3eb26f756d6116e4f",
        "a997e7a7c5aa2fc7e95316218316f8b7b98786ba"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 20 15:46:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 15:46:07 2012 -0700"
      },
      "message": "Merge \"Revert \"Swap the order of creating IAudioTrack and thread\"\" into jb-mr1-dev"
    },
    {
      "commit": "8ec1f2a4f3c72fe7472f8b8fa227f6b7bbc9279b",
      "tree": "5a85d007f81c1d09f68f3894f8cbb0a950372250",
      "parents": [
        "44a7e42f0310831e6a846d1b6bb40bf3a399bf6d"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Mon Aug 06 13:50:00 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Mon Aug 13 09:48:56 2012 -0700"
      },
      "message": "Move the AAH RTP code out of framework and into vendor.\n\nRelocate the AAH RTP code from framework/av into\nvendor/google_devices/phantasm.  This change is the deletion, there\nwill be a separate CL which re-introduces on the vendor side of\nthings.\n\nChange-Id: Ibe7e6d4b633a3886b87a615691a2692f2382af6c\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "44a7e42f0310831e6a846d1b6bb40bf3a399bf6d",
      "tree": "aba58d779eb8a1d8fe4616d33b8eb6e1672d6f00",
      "parents": [
        "b3e12a4d15a329821979bf287c49a9630486e23f"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Jun 21 17:29:24 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Mon Aug 13 09:48:56 2012 -0700"
      },
      "message": "Add the ability to dynamicaly register MediaPlayer types.\n\nAdd the ability to dynamically register low level MediaPlayer\nfactories which will be probed at setDataSource time to determine the\nproper MediaPlayerBase to instantiate.\n\nThis change is in preparation for moving libaah_rtp out of\nframeworks/base and into phantasm platform directory.\n\nChange-Id: Icf8904db3ab9e3c85df6e780d5546d9988cb9076\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "bf5b3b29e31b293313788d7464cfb258ac0da803",
      "tree": "1e3e016a1f7268688be59047be835a17609977f8",
      "parents": [
        "b3e12a4d15a329821979bf287c49a9630486e23f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 17:57:39 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 10 17:38:19 2012 -0700"
      },
      "message": "Let getOriginalMimeType() take a fd passed from drm java applications\n\nThis patch enables the drm framework to avoid opening files directly.\nAs a result, the drm framework no longer needs the sdcard read permision.\n\no related-to-bug: 6426185\n\nChange-Id: Ib176c35ef4b1a1a405e8e954f19a7985266f2510\n"
    },
    {
      "commit": "b3e12a4d15a329821979bf287c49a9630486e23f",
      "tree": "b79b0ca57e79e2ee19f09b150f9a60e397af24d7",
      "parents": [
        "751fa786aa9599c694219085601f9f5ebe96a516",
        "3ca352c4cd01f6df3b691f835efc68a5771e724e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 15:34:06 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 15:34:06 2012 -0700"
      },
      "message": "am 3ca352c4: am 24893fef: Merge \"MPEG2TSWriter: Write a proper CRC in PAT and PMT\"\n\n* commit \u00273ca352c4cd01f6df3b691f835efc68a5771e724e\u0027:\n  MPEG2TSWriter: Write a proper CRC in PAT and PMT\n"
    },
    {
      "commit": "3ca352c4cd01f6df3b691f835efc68a5771e724e",
      "tree": "8cc59347af40bd76345e794b934e4b9ee0483751",
      "parents": [
        "31a593b901eeb924ae5214962c628397dd0197f2",
        "24893fef8e0f816a8a21749fa3eb9eed9173a0fd"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 15:32:40 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 15:32:40 2012 -0700"
      },
      "message": "am 24893fef: Merge \"MPEG2TSWriter: Write a proper CRC in PAT and PMT\"\n\n* commit \u002724893fef8e0f816a8a21749fa3eb9eed9173a0fd\u0027:\n  MPEG2TSWriter: Write a proper CRC in PAT and PMT\n"
    },
    {
      "commit": "24893fef8e0f816a8a21749fa3eb9eed9173a0fd",
      "tree": "3a5b5cc9b025e90a8a077059937b6ea2e228a9ad",
      "parents": [
        "2001d2ac01e36c13c1abda5f73b6404cba2648e1",
        "983995747ed3adaf25035c433df1ccbaa056a898"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 15:26:43 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 15:26:44 2012 -0700"
      },
      "message": "Merge \"MPEG2TSWriter: Write a proper CRC in PAT and PMT\""
    },
    {
      "commit": "751fa786aa9599c694219085601f9f5ebe96a516",
      "tree": "6b8ea38fa25a0cce13ae5d00ded028be74307cc6",
      "parents": [
        "fcfc61da927e98d18cdcb53da8fa0a8a32ee1422",
        "31a593b901eeb924ae5214962c628397dd0197f2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 12:44:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 12:44:04 2012 -0700"
      },
      "message": "am 31a593b9: am 2001d2ac: Merge \"MPEG2TSWriter: Write proper continuity counters for PAT and PMT\"\n\n* commit \u002731a593b901eeb924ae5214962c628397dd0197f2\u0027:\n  MPEG2TSWriter: Write proper continuity counters for PAT and PMT\n"
    },
    {
      "commit": "31a593b901eeb924ae5214962c628397dd0197f2",
      "tree": "34fb25043d531d318bd192a18adaef975ab725be",
      "parents": [
        "ff4c64d6b1b58494a1b15f1a664e5c421d095d15",
        "2001d2ac01e36c13c1abda5f73b6404cba2648e1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 09:26:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 10 09:26:41 2012 -0700"
      },
      "message": "am 2001d2ac: Merge \"MPEG2TSWriter: Write proper continuity counters for PAT and PMT\"\n\n* commit \u00272001d2ac01e36c13c1abda5f73b6404cba2648e1\u0027:\n  MPEG2TSWriter: Write proper continuity counters for PAT and PMT\n"
    },
    {
      "commit": "2001d2ac01e36c13c1abda5f73b6404cba2648e1",
      "tree": "86b30b2d16b17aa5129743633b9d5fbcc9b2dae3",
      "parents": [
        "c64a178711bf7bb9b71d65a47156b34083311392",
        "d4e5af6bc0a012e8d43975ca8b5627631333920d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 09:03:54 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 09:03:55 2012 -0700"
      },
      "message": "Merge \"MPEG2TSWriter: Write proper continuity counters for PAT and PMT\""
    },
    {
      "commit": "e983aa4ff4d80af7702888e230b9aaa93a7b7e57",
      "tree": "09e62e3a573248dd1a3c7b2dae082810f16dfe79",
      "parents": [
        "f6a3576006f3fbe7d87ab49c1ebf292be5ddaa24",
        "51af4af2414cdaaf0185b971a41fc0b4f8c0b7e4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 14:08:28 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 14:08:28 2012 -0700"
      },
      "message": "am 51af4af2: am e28df5b9: Merge \"Store correct time stamps in recorded mp4 files\"\n\n* commit \u002751af4af2414cdaaf0185b971a41fc0b4f8c0b7e4\u0027:\n  Store correct time stamps in recorded mp4 files\n"
    },
    {
      "commit": "51af4af2414cdaaf0185b971a41fc0b4f8c0b7e4",
      "tree": "3e7a2ca1401597ed506a8725e8a0934a28404024",
      "parents": [
        "ef62009372d050b431939835d4e2c5ee77da8831",
        "e28df5b996af3480b457c7a9908dbb9d52ad8d7c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 14:04:18 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 14:04:18 2012 -0700"
      },
      "message": "am e28df5b9: Merge \"Store correct time stamps in recorded mp4 files\"\n\n* commit \u0027e28df5b996af3480b457c7a9908dbb9d52ad8d7c\u0027:\n  Store correct time stamps in recorded mp4 files\n"
    },
    {
      "commit": "a997e7a7c5aa2fc7e95316218316f8b7b98786ba",
      "tree": "4f98e352833c4de61728588cacc08d40d1d01778",
      "parents": [
        "8da4cd7d706d9f551bf2d08cd8b61907a10cd38d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 07 09:44:19 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Aug 07 15:13:42 2012 -0700"
      },
      "message": "Revert \"Swap the order of creating IAudioTrack and thread\"\n\nThis reverts commit 5d464eb0b8cffb994a754ff108795e858a882414.\nIt caused the wrong thread ID -1 to be passed to IAudioFlinger::createTrack().\n\nChange-Id: Ic221d2bb4af572d3d2d752af19238c52f6728e3a\n"
    },
    {
      "commit": "e671207115fac3914134c61b336d5fa0242c68ca",
      "tree": "466cda101e1528b81bf72c228d7060c33788dedf",
      "parents": [
        "28620ee3e9926ef07f0b4cb3e22b156b812e2d7e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 26 10:56:14 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 13:08:15 2012 -0700"
      },
      "message": "Make sure codec names and corresponding quirks are returned together.\n\nPreviously they were returned in separate vectors and only one of them was sorted if\nsoftware codecs were preferred, leaving the quirks no longer matching the codec name\nat the same index.\n\nChange-Id: Id3f1e6f9f7f8c9cc4b6ebfb86a203b4d59de8604\nrelated-to-bug: 6737884\n"
    },
    {
      "commit": "a6ee7bc5f9524c220377e37f6525e2d46c69b75b",
      "tree": "a400db737ac5e0c2bb7961fef314bbb975656eef",
      "parents": [
        "8da4cd7d706d9f551bf2d08cd8b61907a10cd38d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 06 22:02:27 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 06 22:03:28 2012 -0700"
      },
      "message": "Remove obsolete hack for TI specific code\n\no related-to-bug: 6566886\n\nChange-Id: I39aad214cbf7b748a95a9d22db50cd8f421931e6\n"
    },
    {
      "commit": "a3b71fa5235b758d5f9ea00b9c58fbfd707fb9dd",
      "tree": "74897f534787e1da1855a4b87f6de0aa3de278ac",
      "parents": [
        "36cdfb185877a7f573621d19ed2b2e1cac13d62e",
        "840667883fd09d44015716d79bc3ac4d60edc0f0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 03 14:16:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 14:16:33 2012 -0700"
      },
      "message": "Merge \"experimental support for fragmented mp4 playback in nuplayer\" into jb-mr1-dev"
    },
    {
      "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": "983cf231ab2d176a14595cdae46ff1b0c239af47",
      "tree": "01942a13a082e2116f8df5dbaca1a902ac52a299",
      "parents": [
        "15d7245ed2193e4956ea87998321cbc16a3b0a46"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 01 16:39:55 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 02 17:06:05 2012 -0700"
      },
      "message": "Dynamically configure the number of video buffers used by camera source, if supported\n\no related-to-bug: 6920805\n\nChange-Id: I413bb50954cc84e32ed40bcb713842dc7b58e2b6\n"
    }
  ],
  "next": "0dff606f42292b8a31b9eee842877f9875279dab"
}
