)]}'
{
  "log": [
    {
      "commit": "d3c4b134a87b96227b90b9ec052d8a6e9880bbdf",
      "tree": "869a985fd6a51da99de24bd5a3ace41421c0a7a3",
      "parents": [
        "358538ce26ee651f6b5cff9f7432a5321386710d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 27 09:05:28 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 01 15:36:26 2013 -0800"
      },
      "message": "media.log cleanup\n\nRemove almost all of the specific logs, but leave the media.log\nlogging infrastructure in place for the next time we need it.\n\nRe-apply a few good changes that were reverted earlier:\n - check logf format vs. argument list compatibility\n - distinguish potentially modified and actually modified tracks in FastMixer\n - fix benign bug where sq-\u003eend() was called more than once\n - fix a build warning\n\nBug: 6490974\nChange-Id: I02d3e83646c738acaebb415bd0d6b548638b4ef5\n"
    },
    {
      "commit": "358538ce26ee651f6b5cff9f7432a5321386710d",
      "tree": "dbbaaa6c3b13093a5ebe15c30a1a5d45e6dfb89a",
      "parents": [
        "48c3f1f982f54ebd034cfe6a1b9356d9193afb69",
        "fb413768551ea8ba3af05efb9906e7e2348f2431"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Mar 01 02:20:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 02:20:51 2013 +0000"
      },
      "message": "Merge changes I25423a2b,I24680f1a into jb-mr2-dev\n\n* changes:\n  ProCamera: Add CpuConsumer asynchronous mode support\n  Camera: Drop ProCamera connections when a Camera connection happens\n"
    },
    {
      "commit": "48c3f1f982f54ebd034cfe6a1b9356d9193afb69",
      "tree": "b8d95d195b86ad1df4c57194ee7eb4ca9e6f4183",
      "parents": [
        "7072e03ae4eb9b8f48a567dbb2a5cc8d2049f331",
        "721f17283e2493426c47bbaa267c337b2af5726e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Mar 01 02:20:44 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 02:20:45 2013 +0000"
      },
      "message": "Merge \"ProCameraTest: Drop frames test move processing delay between lock/unlock\" into jb-mr2-dev"
    },
    {
      "commit": "fb413768551ea8ba3af05efb9906e7e2348f2431",
      "tree": "86da75f59deea0393f167bd604a60f5acf0b028e",
      "parents": [
        "8fdfbe27acd157d58fa35a849ec50c82464062f0"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 11:21:00 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 16:25:55 2013 -0800"
      },
      "message": "ProCamera: Add CpuConsumer asynchronous mode support\n\nBug: 8290146\nBug: 8291751\nChange-Id: I25423a2b8a70ac7169911b1c7b482aa17190fe0f\n"
    },
    {
      "commit": "8fdfbe27acd157d58fa35a849ec50c82464062f0",
      "tree": "19a08d59c5e5cfd56cda29b01ef1ea1b4f00ed77",
      "parents": [
        "721f17283e2493426c47bbaa267c337b2af5726e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 27 12:55:20 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 15:55:15 2013 -0800"
      },
      "message": "Camera: Drop ProCamera connections when a Camera connection happens\n\n* Also adds an ICameraServiceListener with available/not available statuses\n\nBug: 8291653\nChange-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84\n"
    },
    {
      "commit": "721f17283e2493426c47bbaa267c337b2af5726e",
      "tree": "65b42006819d672bb990721a89f2a3244501d2db",
      "parents": [
        "7fa43f376ebd63fda24d85c9ebf97e0ddf534083"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 10:41:51 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 11:48:46 2013 -0800"
      },
      "message": "ProCameraTest: Drop frames test move processing delay between lock/unlock\n\n* This makes it more likely to find races with the buffer being unlocked\n  by itself\n\nChange-Id: I1fa7dbfb73f60664a02a35678b58bcc9b06893a2\n"
    },
    {
      "commit": "7072e03ae4eb9b8f48a567dbb2a5cc8d2049f331",
      "tree": "92cbfe05639329e162f362b5d3bd80fc0227511d",
      "parents": [
        "f9a2b8192403a969919fa7751c3d95bfb44ecec5",
        "d166e4c1b2463a1aa78ca9225a36aa956427446b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 27 21:14:45 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 27 21:14:45 2013 +0000"
      },
      "message": "am ceb83b8d: Merge \"SoftAMR: Signal the right frame format\"\n\n* commit \u0027ceb83b8d8919dc778402bf610c073987d4f9f89b\u0027:\n  SoftAMR: Signal the right frame format\n"
    },
    {
      "commit": "f9a2b8192403a969919fa7751c3d95bfb44ecec5",
      "tree": "0541e9c890ee898402d4bb8c79de57bb87df557f",
      "parents": [
        "7fa43f376ebd63fda24d85c9ebf97e0ddf534083",
        "25e964bc9cfbb8ed315f75ac1e05cbc3c6cd9fc2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 27 21:14:45 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 27 21:14:45 2013 +0000"
      },
      "message": "am ccf51ec4: Merge \"SoftVorbis: Set the right encoding in the port definition\"\n\n* commit \u0027ccf51ec41652a7e2db8cbee37bca91a95908d5ff\u0027:\n  SoftVorbis: Set the right encoding in the port definition\n"
    },
    {
      "commit": "7fa43f376ebd63fda24d85c9ebf97e0ddf534083",
      "tree": "46c73e2599e85fe59accef0c7efd4780b47f26a3",
      "parents": [
        "f5daac4225905184b8d7cdd2fd87247d73e27ea7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 06 17:20:07 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Feb 27 12:47:21 2013 -0800"
      },
      "message": "Camera: Start of support for version 3.0 of camera device HAL\n\n- Refactor common CameraDevice interface out of Camera2Device\n- Initial skeleton only for Camera3Device\n\nChange-Id: I097cc76e2ad102a51712ac114235163245f5482c\n"
    },
    {
      "commit": "f5daac4225905184b8d7cdd2fd87247d73e27ea7",
      "tree": "5324b82082de8fb57ddddeb8aa154c14cddd55e9",
      "parents": [
        "5e8e702658cd61fc07b4163fdbca3e8a5589f2b9",
        "b84d935c179a275a47e07291d2a983daf844de80"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 27 20:43:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 27 20:43:26 2013 +0000"
      },
      "message": "Merge \"camera_client: refactor Camera/ProCamera commonalities into BasicCamera\" into jb-mr2-dev"
    },
    {
      "commit": "d166e4c1b2463a1aa78ca9225a36aa956427446b",
      "tree": "2020e9b5a3aca0085006b587a72607e1a7634717",
      "parents": [
        "25e964bc9cfbb8ed315f75ac1e05cbc3c6cd9fc2",
        "d13e6d06ecbbad0fcd7681f9d3c3b076016339aa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 27 20:13:24 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 20:13:25 2013 +0000"
      },
      "message": "Merge \"SoftAMR: Signal the right frame format\""
    },
    {
      "commit": "25e964bc9cfbb8ed315f75ac1e05cbc3c6cd9fc2",
      "tree": "6f163708d5b1a1e641fbfdb9b2298c30ff99c774",
      "parents": [
        "6ee1b867bb316fa3eda3b0c9f907d473031659d9",
        "323093339da7774935bd4f3a8af5057e4411f30a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 27 20:12:07 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 20:12:07 2013 +0000"
      },
      "message": "Merge \"SoftVorbis: Set the right encoding in the port definition\""
    },
    {
      "commit": "5e8e702658cd61fc07b4163fdbca3e8a5589f2b9",
      "tree": "064a4cd103612e4c77cbcbf1ee10cb7aa21d3df2",
      "parents": [
        "aebd9bbed761d99b20bb1871ed170021fb3c68ad",
        "3c3c527a792249d07938c5c6cb9b465344a22383"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 27 18:11:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 27 18:11:05 2013 +0000"
      },
      "message": "Merge \"Revert \"Logging to investigate a crash\"\" into jb-mr2-dev"
    },
    {
      "commit": "aebd9bbed761d99b20bb1871ed170021fb3c68ad",
      "tree": "7ae482fd31c7992c0fc739a7996fe49986b96d07",
      "parents": [
        "48af7e8dd40883d6154e7029d9500072b551b5fa",
        "6ee1b867bb316fa3eda3b0c9f907d473031659d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 27 17:59:00 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 27 17:59:00 2013 +0000"
      },
      "message": "am 801726ef: Merge \"MPEG4Writer: Write a zero-length compressor string\"\n\n* commit \u0027801726efb2dcc6ea19e9f55c7c43fe41f0c6643e\u0027:\n  MPEG4Writer: Write a zero-length compressor string\n"
    },
    {
      "commit": "3c3c527a792249d07938c5c6cb9b465344a22383",
      "tree": "07e9c4f4902d084c29f6c5ab6d688f3ecbba9f4c",
      "parents": [
        "48af7e8dd40883d6154e7029d9500072b551b5fa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 27 09:39:39 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 27 09:39:55 2013 -0800"
      },
      "message": "Revert \"Logging to investigate a crash\"\n\nThis reverts commit f0ff908da019a44115109f1b4d1b6864b35a8a29.\n"
    },
    {
      "commit": "6ee1b867bb316fa3eda3b0c9f907d473031659d9",
      "tree": "ec59f2534cb903f7fb91009effb7b68c554efa97",
      "parents": [
        "9a6c614a68b07209919aaea3d4a8b5403379fb35",
        "89b28bfea641983a908b45a15e69a6c62add847a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 27 16:53:21 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 16:53:21 2013 +0000"
      },
      "message": "Merge \"MPEG4Writer: Write a zero-length compressor string\""
    },
    {
      "commit": "b84d935c179a275a47e07291d2a983daf844de80",
      "tree": "66feb5e92054d554eda4960b600535873a9e7fbd",
      "parents": [
        "253e3c03b0cf4d5852a497ddda0f43b630664644"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 14:32:34 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 18:54:03 2013 -0800"
      },
      "message": "camera_client: refactor Camera/ProCamera commonalities into BasicCamera\n\nChange-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9\n"
    },
    {
      "commit": "253e3c03b0cf4d5852a497ddda0f43b630664644",
      "tree": "d116163acd3ac9af9ce2061784d870806bce977d",
      "parents": [
        "fec2744fd6243b1329f52aa8a16c0768f24956b4",
        "48af7e8dd40883d6154e7029d9500072b551b5fa"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 26 01:40:39 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 26 01:40:39 2013 +0000"
      },
      "message": "am ceb388d6: CameraService and Stagefright: Support AppOps\n\n* commit \u0027ceb388d6c03c38b96dc41c0ea4804b749aa077c4\u0027:\n  CameraService and Stagefright: Support AppOps\n"
    },
    {
      "commit": "48af7e8dd40883d6154e7029d9500072b551b5fa",
      "tree": "ce8b71d67a3313dc19c0691bc1b26d1244a106b4",
      "parents": [
        "68e6e24cb6cdd66c2209774c4871a2c47e8bbc8b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 19 10:40:14 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 25 16:11:41 2013 -0800"
      },
      "message": "CameraService and Stagefright: Support AppOps\n\nCamera:\n- Signal to AppOpsService when camera usage starts and stops\n- Listen to permissions revocations and act on them\n- Currently just kill camera connection when permissions lost\n\nStagefright:\n- Pass on client name, UID to camera as needed\n\nBug: 8181262\nChange-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0\n"
    },
    {
      "commit": "fec2744fd6243b1329f52aa8a16c0768f24956b4",
      "tree": "84f122dcf3f05f172961177aa949d19df7cc1687",
      "parents": [
        "68e6e24cb6cdd66c2209774c4871a2c47e8bbc8b",
        "c9c47e48256fc1b79a77be8226ab9030920c0355"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Feb 25 17:02:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 25 17:02:23 2013 +0000"
      },
      "message": "Merge \"Handles duplicated NAL start code to fix crash on HLS streams.\""
    },
    {
      "commit": "c9c47e48256fc1b79a77be8226ab9030920c0355",
      "tree": "c2686de16a3e0665c70d14618a4fe44cad1c4f99",
      "parents": [
        "ee9cc423e2551ffbacfd226b8627737beabaec99"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Nov 23 19:00:07 2012 +0900"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Feb 25 09:01:01 2013 -0800"
      },
      "message": "Handles duplicated NAL start code to fix crash on HLS streams.\n\nSome youtube live streams are encoded having duplicated NAL start code,\nfor instance, 00 00 01 00 00 00 01 ....\n\nIn previous code, zero NAL size causes crash by CHECK_GT(nalsize, 0)\nmacro. With this patch, duplicated NAL start code will be just ignored.\n\nTESTED\u003dPlayed problematic Youtube Live streams.\n\nChange-Id: I1d76f111a34bd29cb09b037eb1b0626fe5f5b140\n"
    },
    {
      "commit": "68e6e24cb6cdd66c2209774c4871a2c47e8bbc8b",
      "tree": "ae8616f64c192afcfbe5528c8f33815588625a9e",
      "parents": [
        "94a90a43b2a9f83b3a4a4a59247b74ad50336860",
        "dd4abb5177b8d94cd30a787d4ce336d5110c185c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sat Feb 23 01:19:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 23 01:19:43 2013 +0000"
      },
      "message": "Merge \"Update tee sink\""
    },
    {
      "commit": "dd4abb5177b8d94cd30a787d4ce336d5110c185c",
      "tree": "3c8241b21bc14d7cf3191566e4ce79cd03cd3457",
      "parents": [
        "ee9cc423e2551ffbacfd226b8627737beabaec99"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 10 12:31:01 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 22 16:50:36 2013 -0800"
      },
      "message": "Update tee sink\n\nImplement rotation to reduce long-term storage use.\nImplement optional per-track tee.\nDynamically enable at runtime based on property, instead of at compile-time.\nDynamic frame count not yet implemented.\n\nBug: 8223560\nChange-Id: I3706443c6ec0cb0c6656dc288715a02ad5fea63a\n"
    },
    {
      "commit": "94a90a43b2a9f83b3a4a4a59247b74ad50336860",
      "tree": "240c0a147b8856320274dc99d8bbad2937ea7905",
      "parents": [
        "687f26c7bd7ece88cad8d51fc47be7ab1600af9d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 13:36:17 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: Fix waitForFrameBuffer not handling multiple outstanding frames\n\nIf the CpuConsumer triggered multiple onFrameAvailable callbacks in between\na single waitForFrameBuffer call, the old code would only handle 1 callback.\n\nThis meant on two subsequent waitForFrameBuffer calls the second would always\ntimeout when two buffers were already available to be unlocked.\n\nBug: 8238112\nChange-Id: Ibefca35005ac5c408e5ada97ec4a4344a9e3e497\n"
    },
    {
      "commit": "687f26c7bd7ece88cad8d51fc47be7ab1600af9d",
      "tree": "be4bc4993455225e4407cb70831979cd84a040a7",
      "parents": [
        "1d74853933937f3e3f120a6efffb1f4cec7f8ba7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 14:45:03 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: add waitForFrameBuffer/waitForFrameResult blocking calls\n\nChange-Id: I851d41aeecaa15245d5b9d622132e8706d6e292c\n"
    },
    {
      "commit": "1d74853933937f3e3f120a6efffb1f4cec7f8ba7",
      "tree": "38b45a29df9fb3265c0000c4c7973339f6eba345",
      "parents": [
        "d127c2c8a8b68dae2f8743c310c2547e8f46d967"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 14:18:10 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCameraTests: clean up a bit, still needs more cleanup\n\nChange-Id: Ia7e18c81002c8d98176f21553cf13cbd13cfdf5d\n"
    },
    {
      "commit": "d127c2c8a8b68dae2f8743c310c2547e8f46d967",
      "tree": "ac671025a00cc2f9580a1c62caa4009b915e97ee",
      "parents": [
        "418e493e8d67924cfda652cb64965647ce6381cb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 13:49:26 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "ProCamera: Add getInfo for getting static metadata (and a test)\n\nChange-Id: I3b87dfbc621d98bf41f37a892a1012baf85b5166\n"
    },
    {
      "commit": "418e493e8d67924cfda652cb64965647ce6381cb",
      "tree": "639c98f3054f1aa618f1e3fa4f10f0c7a71fb9b1",
      "parents": [
        "5076182ce4bf657e7211264d0ad3861212f24aa1"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 12:02:29 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - implement onResultReceived callback for metadata callbacks\n\nChange-Id: I46775402b007244bc383d6343a620eebbd492aad\n"
    },
    {
      "commit": "5076182ce4bf657e7211264d0ad3861212f24aa1",
      "tree": "9e407a2174ab1f43b2e1376458dc21b5f9ca49df",
      "parents": [
        "c0767f148e29ce821281b5965c0e25b4c143e76d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 21 11:43:14 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCameraTests - add CpuConsumer tests for dual streams\n\nChange-Id: Ia010450dc79ac2841645b8c2e1553c9ec74ee5e3\n"
    },
    {
      "commit": "c0767f148e29ce821281b5965c0e25b4c143e76d",
      "tree": "d71e86b5d066b9a05e1732fa829c40affbb09411",
      "parents": [
        "5494cdc67b541034c963919aef8acb8b665e4dde"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:29:53 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:15 2013 -0800"
      },
      "message": "Camera: ProCamera - add createStreamCpu and unit test\n\nChange-Id: I468172dbfdd78510b273bf9d119c950cbeda7ea3\n"
    },
    {
      "commit": "5494cdc67b541034c963919aef8acb8b665e4dde",
      "tree": "cdffd46bace86e756bc6448028007db8e2fe74a0",
      "parents": [
        "9fb7fa159b2a47d6a7c0e9ef323b23298cdc7cb9"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:15:15 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Change ProCamera to take IGraphicBufferProducer\n\nChange-Id: Iec62eead6d179aa5486f7719143340976bb76e7d\n"
    },
    {
      "commit": "9fb7fa159b2a47d6a7c0e9ef323b23298cdc7cb9",
      "tree": "e4956f65799199fe24373001c80a398756914a69",
      "parents": [
        "69e22433b9d7df77907579f67e47a159aa57f876"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 19:02:36 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera2Client implement createStream,createDefaultRequest\n\nThe StreamingImage unit test should now work when TEST_DISPLAY_SECS is set.\n\nChange-Id: I9cf3ad5bd5a76096ab21bd39e631d636c4ff3d3f\n"
    },
    {
      "commit": "69e22433b9d7df77907579f67e47a159aa57f876",
      "tree": "eb271a5175ff8bac5e86ccd72637481738efddf9",
      "parents": [
        "9476926bb91bf15f7aff2a289a4805148f5a8a4e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 18:24:43 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera2Client - add createStream (service is stubbed) and unit test\n\nChange-Id: I1ae7ba9b24f5883c214c19a7ed0eaf0c802d69c1\n"
    },
    {
      "commit": "9476926bb91bf15f7aff2a289a4805148f5a8a4e",
      "tree": "ab9484858b0dc1801908856e26c4929a16e9da6f",
      "parents": [
        "90fce97bf320a5d0b3547d18fcb2c0d57347361e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:57:31 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCamera - add createStream stub and unit test for it\n\nChange-Id: Ic05130e63f4f2c0c3278ba348b192992169f105f\n"
    },
    {
      "commit": "90fce97bf320a5d0b3547d18fcb2c0d57347361e",
      "tree": "d1b6242270b3d02e04da2112d03d59a21662274b",
      "parents": [
        "68c80668304fc92db43bbe2e7cbe9753b6d3865a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jan 30 10:14:24 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProCameraTests - add asynchronous locking unit test\n\nChange-Id: Ib79eb84046c9ed898bfb086a6600265fc351924c\n"
    },
    {
      "commit": "68c80668304fc92db43bbe2e7cbe9753b6d3865a",
      "tree": "3eac9438f1854b1cfdae70ea76e322122eea10b0",
      "parents": [
        "bfb5d5ef5bae01efac171397260a7152782d92c7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:41:57 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: ProClient add asynchronous locks and such\n\nChange-Id: I551e5e5e76d9be733fab5224beaa7309268c0f38\n"
    },
    {
      "commit": "bfb5d5ef5bae01efac171397260a7152782d92c7",
      "tree": "15f645e0637ae880083804ab5876873a1108a0de",
      "parents": [
        "e4e5b2f23fa85cae789dc6824ea8af321e211d60"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:15:11 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add ProCamera private binder interface for an API2-light functionality\n\nChange-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274\n"
    },
    {
      "commit": "e4e5b2f23fa85cae789dc6824ea8af321e211d60",
      "tree": "00607609c6a079439b1c1ae583c07bbf659ff6f4",
      "parents": [
        "537799199bdd7a585585dee409e0e3a86bad93b7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 16:50:13 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add unit test infrastructure for libcameraclient\n\nChange-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c\n"
    },
    {
      "commit": "537799199bdd7a585585dee409e0e3a86bad93b7",
      "tree": "662d09dd904faaea81bff84f4587cdf7a59918d9",
      "parents": [
        "bd02dd1bf1f34eb4e100d0d058f1fe5a2790d67e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 13 18:23:39 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add exists function to CameraMetadata\n\nChange-Id: I081f61417fca7c8408e9e767129647ddce5364ab\n"
    },
    {
      "commit": "bd02dd1bf1f34eb4e100d0d058f1fe5a2790d67e",
      "tree": "09dabb9a40decb5640f9b5d419565e999a5995d2",
      "parents": [
        "ee9cc423e2551ffbacfd226b8627737beabaec99"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 13 15:53:56 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Move CameraMetadata.h from service to client library\n\nChange-Id: I940ce86f318f37ae5b73f912a6e589415150125f\n"
    },
    {
      "commit": "ee9cc423e2551ffbacfd226b8627737beabaec99",
      "tree": "b210a4f6f36ab0a6798db09baf44eadb62261231",
      "parents": [
        "3706fe79df688b84125c79838a4eeeaa11640022",
        "a6843669d4da47755ce97fb85389d4d1c52b8197"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 21 23:21:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 23:21:21 2013 +0000"
      },
      "message": "Merge \"replace getISurfaceTexture by getIGraphicBufferProducer\""
    },
    {
      "commit": "3706fe79df688b84125c79838a4eeeaa11640022",
      "tree": "dd9163639d052472f5e423f5fbdc717965a55efb",
      "parents": [
        "dacd2b01291acc67e83e87e336472b966bf92b2c",
        "8029ea41c8851c527ed5829e8c26fbf939661f34"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 21 20:57:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 20:57:16 2013 +0000"
      },
      "message": "Merge \"Permit conditional registry of mediaserver extensions\""
    },
    {
      "commit": "8029ea41c8851c527ed5829e8c26fbf939661f34",
      "tree": "5ef58bfba85abac9234c739ab65ef4d195e285b6",
      "parents": [
        "2f8025eef6c681920579f75d298a262b12a80ac9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 20 16:47:28 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 20 16:47:28 2013 -0800"
      },
      "message": "Permit conditional registry of mediaserver extensions\n\nChange-Id: I94dc0d038e702dfe1779a50a1de0fae9bad15057\n"
    },
    {
      "commit": "dacd2b01291acc67e83e87e336472b966bf92b2c",
      "tree": "50b6e081a48441cf30ffe1afc47741c7340c7748",
      "parents": [
        "9b50b2f2828e57f9bf5df946423fd7d4304fa2a8",
        "53c8ad31435bfb7c71a5b04dfc0314ac8f899219"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Wed Feb 20 23:52:12 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 20 23:52:13 2013 +0000"
      },
      "message": "Merge \"CameraService: Log camera module name\""
    },
    {
      "commit": "53c8ad31435bfb7c71a5b04dfc0314ac8f899219",
      "tree": "50b6e081a48441cf30ffe1afc47741c7340c7748",
      "parents": [
        "2f8025eef6c681920579f75d298a262b12a80ac9"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Wed Feb 20 13:39:37 2013 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Wed Feb 20 14:55:34 2013 -0800"
      },
      "message": "CameraService: Log camera module name\n\nExplicitly logs camera module loaded.  This is useful on systems with\nmultiple camera modules installed.  Also this make the camera service\nmatch audioflinger, which logs hardware module names as well.\n\nChange-Id: I280bf12df2d517f936916b8ba3cb662e671d0216\n"
    },
    {
      "commit": "9b50b2f2828e57f9bf5df946423fd7d4304fa2a8",
      "tree": "1e3c3880f6198a9ccdcadc0cf97e6de103161aba",
      "parents": [
        "2f8025eef6c681920579f75d298a262b12a80ac9",
        "22b74bcdc40fe751010aa7a250c4dbf7514f4540"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Wed Feb 20 13:47:28 2013 -0800"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Wed Feb 20 13:47:28 2013 -0800"
      },
      "message": "Merge remote-tracking branch \u0027goog/jb-mr2-release\u0027\n"
    },
    {
      "commit": "a6843669d4da47755ce97fb85389d4d1c52b8197",
      "tree": "ce9b36fa01d3140cc7b2b7af91bcfb0dc6dea957",
      "parents": [
        "2f8025eef6c681920579f75d298a262b12a80ac9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 19 18:25:33 2013 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 19 18:25:33 2013 -0800"
      },
      "message": "replace getISurfaceTexture by getIGraphicBufferProducer\n\nChange-Id: I723a3863558126f2635a544a39bb3ec88d499c60\n"
    },
    {
      "commit": "22b74bcdc40fe751010aa7a250c4dbf7514f4540",
      "tree": "1e3c3880f6198a9ccdcadc0cf97e6de103161aba",
      "parents": [
        "c6d26a3c7f710f1e60344a84a3549d556551f9fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 18 12:47:49 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Feb 19 15:33:58 2013 -0800"
      },
      "message": "A reference cannot be re-bound\n\nBug: 8213067\nBug: 6490974\nChange-Id: If546215641fbc9a0fb1e8af8b85cc01f0a4b26ab\n"
    },
    {
      "commit": "2f8025eef6c681920579f75d298a262b12a80ac9",
      "tree": "1e3c3880f6198a9ccdcadc0cf97e6de103161aba",
      "parents": [
        "a457c43cd7f4225ffbedfbdcd68dd9cf6fef1d38"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 18 12:47:49 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 19 10:51:47 2013 -0800"
      },
      "message": "A reference cannot be re-bound\n\nBug: 8213067\nBug: 6490974\nChange-Id: If546215641fbc9a0fb1e8af8b85cc01f0a4b26ab\n"
    },
    {
      "commit": "c6d26a3c7f710f1e60344a84a3549d556551f9fe",
      "tree": "62c3cfb9c8fb3c48df46aea39f4d6c3d27dab65a",
      "parents": [
        "a457c43cd7f4225ffbedfbdcd68dd9cf6fef1d38",
        "4dbb17e333b843a7e446f0fde47eda8564743ef3"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Feb 19 09:51:09 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Feb 19 09:51:09 2013 -0800"
      },
      "message": "merge in jb-mr2-release history after reset to master\n"
    },
    {
      "commit": "d13e6d06ecbbad0fcd7681f9d3c3b076016339aa",
      "tree": "a5c638186a606ed74ec62e10ac64ab9bb5083bca",
      "parents": [
        "9a6c614a68b07209919aaea3d4a8b5403379fb35"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Sun Feb 17 20:36:45 2013 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Sun Feb 17 20:39:14 2013 +0200"
      },
      "message": "SoftAMR: Signal the right frame format\n\nThe correct enum for the format used is OMX_AUDIO_AMRFrameFormatFSF,\nwhich is the same as is used in amrnb/enc/SoftAMRNBEncoder.cpp,\namrwbenc/SoftAMRWBEncoder.cpp and in OMXCodec and ACodec.\n\nThe OMX_AUDIO_AMRFrameFormatConformance enum refers to an odd file\nformat only used for conformance tests, not used in the wild.\n\nChange-Id: Idc395fc1d4969e33453522d6ec6526876438c526\n"
    },
    {
      "commit": "a457c43cd7f4225ffbedfbdcd68dd9cf6fef1d38",
      "tree": "62c3cfb9c8fb3c48df46aea39f4d6c3d27dab65a",
      "parents": [
        "c046148d93212f8a4da916bb860a1fa5926fe159",
        "5f6f3764989601d3b3ee65beaf1447d2a6b5f284"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 23:55:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:55:26 2013 +0000"
      },
      "message": "Merge \"Revert \"Temporary additional logging to investigate bug\"\""
    },
    {
      "commit": "5f6f3764989601d3b3ee65beaf1447d2a6b5f284",
      "tree": "b32615250ff96cb6e55206f5c78ae2e15c83cc87",
      "parents": [
        "dd9764290b3c1d801fea9505189cae29db919902"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 23:55:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:55:04 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 32584a7d672864b20ab8b83a3cb23c1858e908b7\n\nChange-Id: I9dc680578b955b1af462eeb7a49d61a0d45eb81b\n"
    },
    {
      "commit": "c046148d93212f8a4da916bb860a1fa5926fe159",
      "tree": "1980477800bc27663417d5306d4af89de92533fb",
      "parents": [
        "4490bf05a9addf5a4e12e0da92f22d854e5ce9a0",
        "dd9764290b3c1d801fea9505189cae29db919902"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 23:54:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:54:53 2013 +0000"
      },
      "message": "Merge \"Temporary additional logging to investigate bug\""
    },
    {
      "commit": "dd9764290b3c1d801fea9505189cae29db919902",
      "tree": "2a9ef9c4d5a2d279f18f535441a0eeb8e9476700",
      "parents": [
        "6bde4671ae7cb383e731606d9ee548859047c961"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 15 15:44:50 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n - increase StateQueue size from 4 to 8 entries\n - log mixer-\u003eenable(), bufferProvider, and currentTrackMask\n - log buffer provider addresses\n - increase fast mixer log buffer again\n - check logf format vs. argument list compatibility\n - add logging to AudioMixer\n - add checking of magic field in AudioMixer to detect overwrites\n - add bool AudioMixer::enabled()\n - increase log buffer sizes yet again\n - enable assertion checking without ALOGV\n - improve a few log messages\n - check for corruption in more places\n - log in all the process hooks\n - add new mixer APIs so we can check for corruption of mixer state\n - fix a build warning\n\nBug: 6490974\nChange-Id: Ib0c4a73dcf606ef9bd898313b3b40ef61ab42f51\n"
    },
    {
      "commit": "4490bf05a9addf5a4e12e0da92f22d854e5ce9a0",
      "tree": "62c3cfb9c8fb3c48df46aea39f4d6c3d27dab65a",
      "parents": [
        "6bde4671ae7cb383e731606d9ee548859047c961",
        "b1e7cd156ca3e1747374e0d20cdd1ce467210453"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 15 22:05:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 22:05:59 2013 +0000"
      },
      "message": "Merge \"Refactoring: Rename SurfaceTextureClient to Surface\""
    },
    {
      "commit": "b1e7cd156ca3e1747374e0d20cdd1ce467210453",
      "tree": "557f25ff5a0477f0cf0f89d4c21b0291371f09a2",
      "parents": [
        "62ad9071cd61fc56355d3c2d25895382003ea362"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 14 17:11:27 2013 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 15 12:47:35 2013 -0800"
      },
      "message": "Refactoring: Rename SurfaceTextureClient to Surface\n\nChange-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830\n"
    },
    {
      "commit": "6bde4671ae7cb383e731606d9ee548859047c961",
      "tree": "b32615250ff96cb6e55206f5c78ae2e15c83cc87",
      "parents": [
        "62ad9071cd61fc56355d3c2d25895382003ea362"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 15 08:26:24 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 15 11:46:09 2013 -0800"
      },
      "message": "Remove FragmentedMP4Extractor\n\nMPEG4Extractor now supports fragmented mp4 files.\n\nChange-Id: I5659a51f4e5e4407a12535e69238fe3abffda7dc\n"
    },
    {
      "commit": "62ad9071cd61fc56355d3c2d25895382003ea362",
      "tree": "3795e34e35b63dbe73daac08d151501c43a91733",
      "parents": [
        "0d026335f6040df997d35b7e81f8c9f8be8cdec0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 13 09:27:28 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 15 10:03:04 2013 -0800"
      },
      "message": "Add support for fragmented mp4 to MPEG4Extractor\n\nThis makes FragmentedMP4Extractor obsolete. It will be removed in a\nseparate change.\n\nChange-Id: Ida74c07ccf84983e20a1320ee24ffc7a5c083859\n"
    },
    {
      "commit": "4dbb17e333b843a7e446f0fde47eda8564743ef3",
      "tree": "3de394e4626f829fed4237e756489e0fba865236",
      "parents": [
        "15381e33a9c567ca828e2d76d690dcbf471942db"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu Feb 14 16:31:03 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n - increase StateQueue size from 4 to 8 entries\n - log mixer-\u003eenable(), bufferProvider, and currentTrackMask\n - log buffer provider addresses\n - increase fast mixer log buffer again\n - check logf format vs. argument list compatibility\n - add logging to AudioMixer\n - add checking of magic field in AudioMixer to detect overwrites\n - add bool AudioMixer::enabled()\n\nBug: 6490974\nChange-Id: I1f3f18aa62d9fbd35bc32285b669f5ba40efe28e\n"
    },
    {
      "commit": "0d026335f6040df997d35b7e81f8c9f8be8cdec0",
      "tree": "3e956b9206105380d3c51eecfa421317ea612ed5",
      "parents": [
        "159967da236ae12619ee09ba4de5a15633f62fbb",
        "ce70d400ff9fb614e334ab2b661df2933533ef57"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 23:57:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 23:57:13 2013 +0000"
      },
      "message": "Merge \"Revert \"Temporary additional logging to investigate bug\"\""
    },
    {
      "commit": "ce70d400ff9fb614e334ab2b661df2933533ef57",
      "tree": "30610a5b21cfa882a9f17a7b4cc39d11e8ccdd7d",
      "parents": [
        "5881f18029deb80eb83ea88046d0593441be79c7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 23:57:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 23:57:02 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 639482c24c911b125398b31883ba6d55faebe28b\n\nChange-Id: I11f2829072ab11e18b0663024f27bf31192f1d39\n"
    },
    {
      "commit": "159967da236ae12619ee09ba4de5a15633f62fbb",
      "tree": "7fe058f8f7d3715f2cd121238f40c2f9a9ee581e",
      "parents": [
        "ae09bf643d1f4f7dbb0507ec0c9518688238fa06",
        "5881f18029deb80eb83ea88046d0593441be79c7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 23:56:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 23:56:52 2013 +0000"
      },
      "message": "Merge \"Temporary additional logging to investigate bug\""
    },
    {
      "commit": "5881f18029deb80eb83ea88046d0593441be79c7",
      "tree": "3de394e4626f829fed4237e756489e0fba865236",
      "parents": [
        "7e1e1e61fca5334e11a0c26ab23e6122e742d517"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 14:35:29 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n - increase StateQueue size from 4 to 8 entries\n - log mixer-\u003eenable(), bufferProvider, and currentTrackMask\n - log buffer provider addresses\n - increase fast mixer log buffer again\n - check logf format vs. argument list compatibility\n - add logging to AudioMixer\n - add checking of magic field in AudioMixer to detect overwrites\n - add bool AudioMixer::enabled()\n\nBug: 6490974\nChange-Id: I1f3f18aa62d9fbd35bc32285b669f5ba40efe28e\n"
    },
    {
      "commit": "ae09bf643d1f4f7dbb0507ec0c9518688238fa06",
      "tree": "3e956b9206105380d3c51eecfa421317ea612ed5",
      "parents": [
        "7e1e1e61fca5334e11a0c26ab23e6122e742d517",
        "fc9afba35492257e5e80a36b0765ff035908bb6d"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Feb 14 20:42:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 20:42:53 2013 +0000"
      },
      "message": "Merge \"Add a test utility for MediaMuxer.\""
    },
    {
      "commit": "15381e33a9c567ca828e2d76d690dcbf471942db",
      "tree": "30610a5b21cfa882a9f17a7b4cc39d11e8ccdd7d",
      "parents": [
        "7e1e1e61fca5334e11a0c26ab23e6122e742d517",
        "5bdcf3e40fc5600370015cc4f9f80636ed9dee66"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu Feb 14 05:55:39 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu Feb 14 05:55:39 2013 -0800"
      },
      "message": "merge in jb-mr2-release history after reset to master\n"
    },
    {
      "commit": "5bdcf3e40fc5600370015cc4f9f80636ed9dee66",
      "tree": "b637fbbfb9a0405349200102eba4e4af4f298810",
      "parents": [
        "fbf7d7ee1a1d631cb86f623124ce3d23f6d76233"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Feb 13 16:31:39 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n\nBug: 6490974\nChange-Id: Iee7c8f40e20b6000cd8286c0ec6a14fff4a37af1\n"
    },
    {
      "commit": "7e1e1e61fca5334e11a0c26ab23e6122e742d517",
      "tree": "30610a5b21cfa882a9f17a7b4cc39d11e8ccdd7d",
      "parents": [
        "cef1245fe7522759ab5ccfab0d2a6e56aea8c2a6",
        "7f2f8042cf335ab1323dec3edbe9143a06109f4e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 00:02:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 00:02:53 2013 +0000"
      },
      "message": "Merge \"Revert \"Temporary additional logging to investigate bug\"\""
    },
    {
      "commit": "7f2f8042cf335ab1323dec3edbe9143a06109f4e",
      "tree": "debfbedbe8cf9a16d279f9a408519aa4743cc854",
      "parents": [
        "b900234f9e772bb7591a551f06ba17ee1969368f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 00:02:36 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 00:02:36 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 0ddd56316262ac74a95e9edb595697c163136d6d\n\nChange-Id: I180a928af6f5a38d15a5efe44cd1fe927b5d961c\n"
    },
    {
      "commit": "cef1245fe7522759ab5ccfab0d2a6e56aea8c2a6",
      "tree": "868b16f07fd3a0bd389e00c16c96fe3e1b2e1dfd",
      "parents": [
        "c7c78e3d17cd3e599b052b35dfa7ba204803ac53",
        "b900234f9e772bb7591a551f06ba17ee1969368f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 14 00:02:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 00:02:22 2013 +0000"
      },
      "message": "Merge \"Temporary additional logging to investigate bug\""
    },
    {
      "commit": "b900234f9e772bb7591a551f06ba17ee1969368f",
      "tree": "b637fbbfb9a0405349200102eba4e4af4f298810",
      "parents": [
        "10e5eada4a265865494b93ca588f75beef14f592"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:46:45 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 13 14:51:50 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n - log mFastIndex when AudioMixer sees an invalid bufferProvider.\n - log both potentially modified and actually modified tracks in FastMixer.\n - fix benign bug where sq-\u003eend() was called more than once.\n - log StateQueue push() call and return.\n\nBug: 6490974\nChange-Id: Iee7c8f40e20b6000cd8286c0ec6a14fff4a37af1\n"
    },
    {
      "commit": "fc9afba35492257e5e80a36b0765ff035908bb6d",
      "tree": "0793a9b8123d53898bbe9901a01aa9f41c0a432f",
      "parents": [
        "10e5eada4a265865494b93ca588f75beef14f592"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Feb 07 15:12:10 2013 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Feb 13 11:39:06 2013 -0800"
      },
      "message": "Add a test utility for MediaMuxer.\n\nThis test/utility copy samples from one video and mux into another video.\nIt support trimming, cutting audio or video track.\nIt can run simply as command line like:\nadb shell muxer -a -v -s 1000 -e 8000 \"/sdcard/DCIM/Camera/VID_*.mp4\"\n\nbug:7991013\n\nChange-Id: I8a2eeff3cabd001b6b2a7062d991dd076edbf22e\n"
    },
    {
      "commit": "c7c78e3d17cd3e599b052b35dfa7ba204803ac53",
      "tree": "30610a5b21cfa882a9f17a7b4cc39d11e8ccdd7d",
      "parents": [
        "79e499be700ff3365b778f9f6b2c179ad69ae43a",
        "b6cd3797b010e0de3366e062f590fcb98c5f81bf"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 13 18:18:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 18:18:22 2013 +0000"
      },
      "message": "Merge \"Add OMX.google.vpx.encoder\""
    },
    {
      "commit": "fbf7d7ee1a1d631cb86f623124ce3d23f6d76233",
      "tree": "debfbedbe8cf9a16d279f9a408519aa4743cc854",
      "parents": [
        "10e5eada4a265865494b93ca588f75beef14f592",
        "dbb8196f9e496da9fba56e328877703b9c90d572"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Feb 13 05:55:41 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Feb 13 05:55:41 2013 -0800"
      },
      "message": "merge in jb-mr2-release history after reset to master\n"
    },
    {
      "commit": "b6cd3797b010e0de3366e062f590fcb98c5f81bf",
      "tree": "f7a064d94c090f0935fd91455b78ce69b5208d26",
      "parents": [
        "10e5eada4a265865494b93ca588f75beef14f592"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 12 10:36:01 2013 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 12 17:26:42 2013 -0800"
      },
      "message": "Add OMX.google.vpx.encoder\n\nChange-Id: I843e6e542533884a94e105e1cb56f16f0440af61\n"
    },
    {
      "commit": "79e499be700ff3365b778f9f6b2c179ad69ae43a",
      "tree": "44d4b26da9ba2ef5b71e5dd41c3e3711f178d891",
      "parents": [
        "10e5eada4a265865494b93ca588f75beef14f592"
      ],
      "author": {
        "name": "Kunter Gultekin",
        "email": "kuntergultekin@google.com",
        "time": "Fri Feb 01 17:01:15 2013 +0200"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 12 17:24:04 2013 -0800"
      },
      "message": "Adds VPX encoding support for stagefright.\n\nOnly following encoder settings are available\n    - target bitrate\n    - rate control (constant / variable)\n    - frame rate\n    - token partitioning\n    - error resilience\n    - reconstruction \u0026 loop filters\n\nOnly following color formats are recognized\n    - YUV420Planar\n    - YUV420SemiPlanar\n    - AndroidOpaque\n\nFollowing settings are not configurable by the client\n    - encoding deadline is realtime\n    - the algorithm interface for encoder is vp8\n    - fractional bits of frame rate is discarded\n    - timebase is fixed to 1/1000000\n\nRequires libvpx to be built with encoder support enabled.\nRequires openmax 1.1.2 extension headers.\n\nRelevant tests exist in cts repo.\n\nChange-Id: I650f1aca83e7dc93f79d7e6cba7ac24f26e66d40\nSigned-off-by: Kunter Gultekin \u003ckuntergultekin@google.com\u003e\n"
    },
    {
      "commit": "dbb8196f9e496da9fba56e328877703b9c90d572",
      "tree": "16d8b1d0e8d0e768ebf7ba769c17c264b978d68d",
      "parents": [
        "ba241171eb3c2727189afbab3e35f089f145ee16"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 12:12:42 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Feb 12 15:09:54 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n\nBug: 6490974\nChange-Id: I4c030f171343fe4b483eae0ddea4427118d8d4b1\n"
    },
    {
      "commit": "10e5eada4a265865494b93ca588f75beef14f592",
      "tree": "debfbedbe8cf9a16d279f9a408519aa4743cc854",
      "parents": [
        "303a8811cb2171b6323e7c03210ff59c1742a750",
        "c93aff0a698265501f46393f3146b884aa357aee"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 20:44:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 20:44:09 2013 +0000"
      },
      "message": "Merge \"Revert \"Temporary additional logging to investigate bug\"\""
    },
    {
      "commit": "c93aff0a698265501f46393f3146b884aa357aee",
      "tree": "a53d8070243784449dc87ca193e2e121d38863b7",
      "parents": [
        "a1bf28b533907b0b234e52c72bc372b3fa49c5a3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 20:43:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 20:43:58 2013 +0000"
      },
      "message": "Revert \"Temporary additional logging to investigate bug\"\n\nThis reverts commit 3051df27261e9952c0e642dec548515250e85f6a\n\nChange-Id: I8bf5c3e91b65bd20de26f480c367c2854b62373c\n"
    },
    {
      "commit": "303a8811cb2171b6323e7c03210ff59c1742a750",
      "tree": "10a0cfaadf23018aee4419e031ab9871e570ac8f",
      "parents": [
        "6269d53cce5c1c9350565d3d72d92116594260cb",
        "a1bf28b533907b0b234e52c72bc372b3fa49c5a3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 20:43:45 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 20:43:45 2013 +0000"
      },
      "message": "Merge \"Temporary additional logging to investigate bug\""
    },
    {
      "commit": "a1bf28b533907b0b234e52c72bc372b3fa49c5a3",
      "tree": "16d8b1d0e8d0e768ebf7ba769c17c264b978d68d",
      "parents": [
        "e336f9113bdd35119866a3c3f8008ca01c576660"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 12:12:42 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 12 12:40:18 2013 -0800"
      },
      "message": "Temporary additional logging to investigate bug\n\nThe bug appears related to continuing to use an invalid buffer provider\nin fast mixer after track destruction, so focus the added logs in that area.\n\nAlso includes a bug fix: was calling log in an unsafe place\nnear Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.\n\nDetails:\n - include caller pid or client pid where appropriate\n - increase log buffer size\n\nBug: 6490974\nChange-Id: I4c030f171343fe4b483eae0ddea4427118d8d4b1\n"
    },
    {
      "commit": "6269d53cce5c1c9350565d3d72d92116594260cb",
      "tree": "debfbedbe8cf9a16d279f9a408519aa4743cc854",
      "parents": [
        "e336f9113bdd35119866a3c3f8008ca01c576660"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Feb 04 15:59:38 2013 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Feb 12 11:10:12 2013 -0800"
      },
      "message": "Add the native MediaMuxer support.\n\nMediaAdapter: a helper class to convert the push model to pull model.\nMediaMuxer: the real muxer.\n\nbug:7991013\n\nChange-Id: If3b79551bc6332bc81f5c2740885e579a5c4abf9\n"
    },
    {
      "commit": "ba241171eb3c2727189afbab3e35f089f145ee16",
      "tree": "a53d8070243784449dc87ca193e2e121d38863b7",
      "parents": [
        "e336f9113bdd35119866a3c3f8008ca01c576660",
        "12f220bf84c5d70a6f203b1704542ae1a0865a10"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Feb 12 07:10:36 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Feb 12 07:10:36 2013 -0800"
      },
      "message": "merge in jb-mr2-release history after reset to master\n"
    },
    {
      "commit": "e336f9113bdd35119866a3c3f8008ca01c576660",
      "tree": "a53d8070243784449dc87ca193e2e121d38863b7",
      "parents": [
        "51a920302a6f376cdb24691051d96f34f24a55bf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 04 16:26:02 2013 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 11 10:13:00 2013 -0800"
      },
      "message": "Add support for querying if a stream is active remotely\n\nBug 7485803\n\nChange-Id: I0744374f130fd2dd0714102354cffed2fa915361\n"
    },
    {
      "commit": "12f220bf84c5d70a6f203b1704542ae1a0865a10",
      "tree": "3efa1d517f317e9171eed91370a18d381cca4536",
      "parents": [
        "51a920302a6f376cdb24691051d96f34f24a55bf",
        "236e3676b5b94661c8e79052e52a4f02efb65902"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Mon Feb 11 07:10:54 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Mon Feb 11 07:10:54 2013 -0800"
      },
      "message": "merge in jb-mr2-release history after reset to master\n"
    },
    {
      "commit": "51a920302a6f376cdb24691051d96f34f24a55bf",
      "tree": "3efa1d517f317e9171eed91370a18d381cca4536",
      "parents": [
        "fa171eaa239ee2e83ce57091279e170369de4edb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 08 18:16:02 2013 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 08 18:17:46 2013 -0800"
      },
      "message": "Revert \"Adds VPX encoding support for stagefright.\"\nThis lib was not part of the build, but it is built anyway for userdebug image (not for eng though).\nlet me revert it for now...\n\nThis reverts commit 6c6bb9873f55853fe74d8f45ad3ae116636d8be7.\n"
    },
    {
      "commit": "fa171eaa239ee2e83ce57091279e170369de4edb",
      "tree": "498b0ce4e6bce51ff7dca73160b5c168bb04a3a4",
      "parents": [
        "2b02df2df65dd12162bc7b3a2ef135bbce8ed0a7",
        "8b7a86119ca2da79d23713ee6b4581c222f2c0fe"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Feb 09 00:47:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 09 00:47:03 2013 +0000"
      },
      "message": "Merge \"Adds VPX encoding support for stagefright.\""
    },
    {
      "commit": "2b02df2df65dd12162bc7b3a2ef135bbce8ed0a7",
      "tree": "3efa1d517f317e9171eed91370a18d381cca4536",
      "parents": [
        "90cede87c5a0176574961a4a57589eb217ac1873",
        "38fb629c46efb74517332696d5d117f4466fa3f0"
      ],
      "author": {
        "name": "Mike Lockwoood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 08 21:51:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 08 21:51:43 2013 +0000"
      },
      "message": "Merge \"MTP: Write initial data to correct file offset in SendPartialObject\""
    },
    {
      "commit": "38fb629c46efb74517332696d5d117f4466fa3f0",
      "tree": "27a6883c8003ea76befc4b57c6986f145f983f96",
      "parents": [
        "1cca13c79ff7e3f36a2fc6e564b60f5e57d00919"
      ],
      "author": {
        "name": "Mike Lockwoood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 08 13:25:01 2013 -0800"
      },
      "committer": {
        "name": "Mike Lockwoood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 08 13:25:01 2013 -0800"
      },
      "message": "MTP: Write initial data to correct file offset in SendPartialObject\n\nChange-Id: I84288aeda3e65e6e6487f11d32a72910cd16cff2\n"
    },
    {
      "commit": "90cede87c5a0176574961a4a57589eb217ac1873",
      "tree": "83bd670377ac615a4803d9cfb8455bb178ba72e5",
      "parents": [
        "1dfc70879323990ba4b4d3e7cadc93ea3900063c",
        "c71601c3b1dd63afc9be462194809813e4dbacf1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 07 23:25:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 23:26:00 2013 +0000"
      },
      "message": "Merge \"Allow for dynamic reconfiguration of the video bitrate used\""
    },
    {
      "commit": "1dfc70879323990ba4b4d3e7cadc93ea3900063c",
      "tree": "3153e38fe4f71bd3ad754d569a594591fb1950b5",
      "parents": [
        "0955986e6c1c27ba752e293246086ea79c49d39c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 07 11:38:08 2013 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 07 13:33:28 2013 -0800"
      },
      "message": "A few more patches to fix wfd tcp unicast transport.\n\nChange-Id: Ie2f1b1e56c487ac4c3ef19d9e79022a35084e042\n"
    },
    {
      "commit": "c71601c3b1dd63afc9be462194809813e4dbacf1",
      "tree": "f91f7e9da453d188934ef99d136f2606a52fe3d9",
      "parents": [
        "0955986e6c1c27ba752e293246086ea79c49d39c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 07 10:56:14 2013 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 07 10:56:14 2013 -0800"
      },
      "message": "Allow for dynamic reconfiguration of the video bitrate used\n\nto encode video while running as a wfd source.\n\nChange-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275\n"
    },
    {
      "commit": "8b7a86119ca2da79d23713ee6b4581c222f2c0fe",
      "tree": "00b34067f704d0de106635cda01175b11234abaf",
      "parents": [
        "0955986e6c1c27ba752e293246086ea79c49d39c"
      ],
      "author": {
        "name": "Kunter Gultekin",
        "email": "kuntergultekin@google.com",
        "time": "Fri Feb 01 17:01:15 2013 +0200"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 07 10:18:13 2013 -0800"
      },
      "message": "Adds VPX encoding support for stagefright.\n\nOnly following encoder settings are available\n    - target bitrate\n    - rate control (constant / variable)\n    - frame rate\n    - token partitioning\n    - error resilience\n    - reconstruction \u0026 loop filters\n\nOnly following color formats are recognized\n    - YUV420Planar\n    - YUV420SemiPlanar\n    - AndroidOpaque\n\nFollowing settings are not configurable by the client\n    - encoding deadline is realtime\n    - the algorithm interface for encoder is vp8\n    - fractional bits of frame rate is discarded\n    - timebase is fixed to 1/1000000\n\nRequires libvpx to be built with encoder support enabled.\nRequires openmax 1.1.2 extension headers.\n\nRelevant tests exist in cts repo.\n\nChange-Id: If759edb8db36acbd24dcb53d159a54e942766020\nSigned-off-by: Kunter Gultekin \u003ckuntergultekin@google.com\u003e\n"
    },
    {
      "commit": "236e3676b5b94661c8e79052e52a4f02efb65902",
      "tree": "916e9f3ecf9f371e8b11d7d04eabaec46f6ad0d9",
      "parents": [
        "0955986e6c1c27ba752e293246086ea79c49d39c",
        "02b21e25975f630bd92bf31dc8cb6ef3d5caab58"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu Feb 07 07:10:37 2013 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu Feb 07 07:10:37 2013 -0800"
      },
      "message": "merge in jb-mr2-release history after reset to master\n"
    },
    {
      "commit": "0955986e6c1c27ba752e293246086ea79c49d39c",
      "tree": "916e9f3ecf9f371e8b11d7d04eabaec46f6ad0d9",
      "parents": [
        "1a37ee3c877165c812734b405f922f6e0d747052"
      ],
      "author": {
        "name": "Roger Jönsson",
        "email": "roger1.jonsson@sonymobile.com",
        "time": "Wed Jan 23 18:18:08 2013 +0100"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 06 13:48:16 2013 -0800"
      },
      "message": "Avoid rebuffering after RTSP pause\n\nIf pausing an RTSP stream, an RTSP Pause request is sent and then\nif the stream is immediately resumed again, an RTSP Play request\nwill be sent to the server.\nBut the new data after the pause will not be buffered until\nSender Reports have arrived again on both channels.\nMeanwhile the player will resume playback and continue consuming\nthe already existing buffer.\nThis means that there is a risk that the buffer is emptied while\nwaiting for sender reports.\n\nThis commit simply adds a delay before the RTSP pause request is\nsent, allowing some additional RTSP buffering that might be needed\nwhen the stream is resumed again.\nAlso, if the stream is resumed again before the RTSP pause request\nis sent, there is no need for any RTSP pause request, hence it is\nomitted.\n\nChange-Id: I928c8bfb5e99a6a146dcda4e51e528973ecbe065\n"
    },
    {
      "commit": "1a37ee3c877165c812734b405f922f6e0d747052",
      "tree": "8fbcdb52e343942586e0dbd2f104b1f0c6cac7ba",
      "parents": [
        "b6ec588faa7728ff3b518bf809ff75e8dd14f08c"
      ],
      "author": {
        "name": "joakim johansson",
        "email": "joakim.c.johansson@sonyericsson.com",
        "time": "Wed Jan 23 17:18:56 2013 +0100"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 06 13:45:28 2013 -0800"
      },
      "message": "EOS fixes for RTSP streams\n\nThe fix takes care of several near end of stream use cases:\nseek, pause and fake timestamps.\n\nChange-Id: I5f5fa881b1f619dfd5e1afd2af957082345c59eb\n"
    },
    {
      "commit": "b6ec588faa7728ff3b518bf809ff75e8dd14f08c",
      "tree": "4fe2958cdf06a4f37df49d6b85b72255c8b98180",
      "parents": [
        "46d13e3606b87d71379287672b54b50d0d9aa5cc"
      ],
      "author": {
        "name": "Måns Zigher",
        "email": "mans.zigher@sonyericsson.com",
        "time": "Wed Jan 23 14:48:57 2013 +0100"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 06 13:41:17 2013 -0800"
      },
      "message": "RTSP: Parse session level control attribute from SDP\n\nIf a\u003dcontrol: is present at session-level in the SDP response,\nRFC2326:C.1.1 defines the URL to be used for aggregate commands.\nThis includes PLAY and PAUSE but not TEARDOWN.\n\nChange-Id: Iaa1dc2271d00df39dc83477a99fda6fbeb73c5b4\n"
    },
    {
      "commit": "46d13e3606b87d71379287672b54b50d0d9aa5cc",
      "tree": "e8109ccba1377865e831847f4ad81542671dd815",
      "parents": [
        "cfc3083927df14bf82403b20a45ae303a01c39f5"
      ],
      "author": {
        "name": "Roger Jönsson",
        "email": "roger1.jonsson@sonymobile.com",
        "time": "Mon Jan 21 17:15:45 2013 +0100"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 06 13:37:09 2013 -0800"
      },
      "message": "Enable pause/resume for RTSP streaming\n\nWhen a stream is paused, RTSP Pause is also sent to the server.\nOtherwise the buffering might continue until the memory runs out.\nWhen the stream is resumed, RTSP Play will be sent in order to\nresume the buffering.\n\nChange-Id: I5dc1761140827c532451638c3fd3f34271e5b9ab\n"
    },
    {
      "commit": "cfc3083927df14bf82403b20a45ae303a01c39f5",
      "tree": "a6803785a07ff3fdbe8c9d84a0596d0040ecdbc6",
      "parents": [
        "0c3f0fa983107a8b5a4d6274179d15333fde8d3c"
      ],
      "author": {
        "name": "Roger Jönsson",
        "email": "roger1.jonsson@sonymobile.com",
        "time": "Mon Jan 21 16:26:41 2013 +0100"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 06 13:32:55 2013 -0800"
      },
      "message": "RTSP buffering improvements\n\nAdded buffering start and end notifications for RTSP.\nMEDIA_INFO_BUFFERING_START is sent when buffering is started\nand MEDIA_INFO_BUFFERING_END is sent when the buffer has\nfilled up.\n\nThis patch also adds RTSP end of stream handling.\nEOS is signalled when BYE is received OR when\ndetecting end of stream even if no actual EOS is received.\n\nChange-Id: I5cccb6845060ae6afd66d9f735b89da81476cd13\n"
    },
    {
      "commit": "0c3f0fa983107a8b5a4d6274179d15333fde8d3c",
      "tree": "6ede9b14751812fcd5b9101e3f53a1910a3ac7a5",
      "parents": [
        "7f475c34ffc8e35345f2cceee2ef56a50bb5fea6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 06 10:44:39 2013 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 06 10:44:39 2013 -0800"
      },
      "message": "HLS now properly publishes its \"seekable\" flags after connection\n\nhas successfully completed and a sufficient amount of data fetched,\nand only then signals that preparation is completed.\n\nChange-Id: I7684a14238b826909f518f2af506966e522dfcfc\n"
    }
  ],
  "next": "02b21e25975f630bd92bf31dc8cb6ef3d5caab58"
}
