)]}'
{
  "log": [
    {
      "commit": "ee8b7dd139d74fd4ca321169a23c314fdf1c74b9",
      "tree": "719aa1f72beb477bd8e4b4222010d19129edd82e",
      "parents": [
        "cba4873fa3bc325235b6b9de6ebe9721a8a25a14",
        "ad8e8bfea2da077248a9f217c029e14fefb01096"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Sep 20 14:14:41 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 20 14:14:41 2011 -0700"
      },
      "message": "am 3617cb65: Reconcile with ics-factoryrom-release\n\n* commit \u00273617cb652158c136b4b79f0e69d905794fc12843\u0027:\n  Add QVGA resolution to CamcorderProfile\n  Add PROPERTY_IMS_REG_REQUIRED.\n"
    },
    {
      "commit": "cba4873fa3bc325235b6b9de6ebe9721a8a25a14",
      "tree": "719aa1f72beb477bd8e4b4222010d19129edd82e",
      "parents": [
        "ca84caeed8c990e9b81f7d43b6f0202549665496",
        "12bbe5d7d47747c093ddac2977f594a4a3c1810e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 20 14:13:50 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 20 14:13:50 2011 -0700"
      },
      "message": "am 3907c79a: am 92d0a64b: Merge \"Add QVGA resolution to CamcorderProfile\" into ics-factoryrom\n\n* commit \u00273907c79aebf8621a5a4880c9e66db3c49a44f359\u0027:\n  Add QVGA resolution to CamcorderProfile\n"
    },
    {
      "commit": "ad8e8bfea2da077248a9f217c029e14fefb01096",
      "tree": "4d4a5c63650f7cf75ce4c4023cbb145867767349",
      "parents": [
        "12bbe5d7d47747c093ddac2977f594a4a3c1810e",
        "e6310baa913c8fcfcaf5cbec91bd99335002256c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Sep 20 07:43:10 2011 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Sep 20 07:43:10 2011 -0700"
      },
      "message": "Reconcile with ics-factoryrom-release\n\nChange-Id: I8bb64c1b31c7158d931fd9f7be8a9e5b317c5252\n"
    },
    {
      "commit": "e6310baa913c8fcfcaf5cbec91bd99335002256c",
      "tree": "97a5d285ac5092a13ea54a818de5242798b5f96b",
      "parents": [
        "669012d77b00a2aacb6fd12837f2870f9ec17865",
        "c66c7513b7cd8e92274e478d8431ce3f64b8d2a4"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Sep 20 06:28:15 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Sep 20 06:28:15 2011 -0700"
      },
      "message": "merge in ics-factoryrom-release history after reset to ics-factoryrom\n"
    },
    {
      "commit": "c66c7513b7cd8e92274e478d8431ce3f64b8d2a4",
      "tree": "97a5d285ac5092a13ea54a818de5242798b5f96b",
      "parents": [
        "5dc2812abddde309234edc786a541d251c4f820a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 16:27:31 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Mon Sep 19 21:54:30 2011 -0700"
      },
      "message": "Add QVGA resolution to CamcorderProfile\n\nChange-Id: Icebbafb68d8164370f98a2c36699845d10ef081b\nrelated-to-bug: 5145483\n"
    },
    {
      "commit": "12bbe5d7d47747c093ddac2977f594a4a3c1810e",
      "tree": "4d4a5c63650f7cf75ce4c4023cbb145867767349",
      "parents": [
        "89aa8fe4cb00d2f24260005b008602232d678684",
        "669012d77b00a2aacb6fd12837f2870f9ec17865"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 20:09:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 19 20:09:00 2011 -0700"
      },
      "message": "am 92d0a64b: Merge \"Add QVGA resolution to CamcorderProfile\" into ics-factoryrom\n\n* commit \u002792d0a64b909cd95e8f4ce587438b0cc6d2daeaa0\u0027:\n  Add QVGA resolution to CamcorderProfile\n"
    },
    {
      "commit": "669012d77b00a2aacb6fd12837f2870f9ec17865",
      "tree": "97a5d285ac5092a13ea54a818de5242798b5f96b",
      "parents": [
        "5dc2812abddde309234edc786a541d251c4f820a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 16:27:31 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 19 19:32:26 2011 -0700"
      },
      "message": "Add QVGA resolution to CamcorderProfile\n\nChange-Id: Icebbafb68d8164370f98a2c36699845d10ef081b\nrelated-to-bug: 5145483\n"
    },
    {
      "commit": "ca84caeed8c990e9b81f7d43b6f0202549665496",
      "tree": "3aaa28c7420afdbf5f75705405cc73d59ca7d82b",
      "parents": [
        "4a49123307cdf1982976b5af68ad6eb76f164535",
        "89aa8fe4cb00d2f24260005b008602232d678684"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 19 13:30:05 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 19 13:30:05 2011 -0700"
      },
      "message": "am e2bb9960: Merge \"Remove an O(n^2) algorithm in MPEG4Extractor.cpp to speed up seeks in long streams\"\n\n* commit \u0027e2bb99600e3a6eed97d2739f62c84998180a705d\u0027:\n  Remove an O(n^2) algorithm in MPEG4Extractor.cpp to speed up seeks in long streams\n"
    },
    {
      "commit": "89aa8fe4cb00d2f24260005b008602232d678684",
      "tree": "06d871b702884809f45f70ed71b19917cc93fd3d",
      "parents": [
        "84ada693b87f4d9344578e750a506b7789c13eb9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 19 12:18:47 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 19 12:21:33 2011 -0700"
      },
      "message": "Remove an O(n^2) algorithm in MPEG4Extractor.cpp to speed up seeks in long streams\n\ncontaining B-frames.\n\nChange-Id: Ie4dc734d2c2d5a5ce84674bb883f4b27e2278642\nrelated-to-bug: 5336497\n"
    },
    {
      "commit": "4a49123307cdf1982976b5af68ad6eb76f164535",
      "tree": "e387e8107ea0a23026024230899dd057d6bfbefc",
      "parents": [
        "0033abd397da67be1ff113616360f23dc1556681",
        "84ada693b87f4d9344578e750a506b7789c13eb9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 19 09:44:48 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 19 09:44:48 2011 -0700"
      },
      "message": "am c7342fbf: Merge \"In order to recover from video lagging behind audio, drop avc frames\"\n\n* commit \u0027c7342fbf992091cd37bb34b8fac2e6b6ca47fdf5\u0027:\n  In order to recover from video lagging behind audio, drop avc frames\n"
    },
    {
      "commit": "84ada693b87f4d9344578e750a506b7789c13eb9",
      "tree": "b619c25fb9b2662a26616cc51e96f5b08dc56c0f",
      "parents": [
        "3169d9fa0a4ee7b00c12eb7892703a2a8ded161d",
        "3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 19 08:54:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 19 08:54:59 2011 -0700"
      },
      "message": "Merge \"In order to recover from video lagging behind audio, drop avc frames\""
    },
    {
      "commit": "0033abd397da67be1ff113616360f23dc1556681",
      "tree": "4533e88d1179bdea1b664859821e31d9bc8eb190",
      "parents": [
        "a87a2b1c8590ed1712bc1e29d34110a31b2970b1",
        "416208e21c94f79faf1678f095422258f909e2c0"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Fri Sep 16 16:11:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 16 16:11:42 2011 -0700"
      },
      "message": "Merge \"Configure the A@H TX media player with one string\" into ics-aah"
    },
    {
      "commit": "416208e21c94f79faf1678f095422258f909e2c0",
      "tree": "06f10fe6a4827fc2be499dd4894ce577dbd128b0",
      "parents": [
        "09e42449d29c2356b259bfdc51132cfde9b57342"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Fri Sep 16 13:46:40 2011 -0700"
      },
      "committer": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Fri Sep 16 15:55:07 2011 -0700"
      },
      "message": "Configure the A@H TX media player with one string\n\nMusic2 would prefer a configuration interface that takes a single\nblob of data passed in from the RPC client and then passes it\nopaquely to the media player.  This eliminates the need for Music2\nto rev their application if we add more configuration options to\nthe TX player.\n\nChange-Id: I9008dab6ab94316a6ca4c1ac605bd026545bc28e\n"
    },
    {
      "commit": "3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45",
      "tree": "4d969afd449d31381899275bf9b9fa2a87f9a24e",
      "parents": [
        "078cfcf7cce9185ec7559910d08b0bc02bfc88a3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 16 15:09:22 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 16 15:19:59 2011 -0700"
      },
      "message": "In order to recover from video lagging behind audio, drop avc frames\n\nthat are not referenced by other frames before feeding them into the decoder.\n\nChange-Id: I822190af8f8329567bff8da1ea23136d0a765481\n"
    },
    {
      "commit": "a87a2b1c8590ed1712bc1e29d34110a31b2970b1",
      "tree": "06e90c6cbf21804a6e06e5187a1c625449d3af97",
      "parents": [
        "e6582c88fc0ee96f1dff3637d97f61719e230213",
        "3169d9fa0a4ee7b00c12eb7892703a2a8ded161d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Sep 16 13:57:35 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 16 13:57:35 2011 -0700"
      },
      "message": "am 9404e1fb: Merge \"AudioResampler: use relative instead of absolute labels\"\n\n* commit \u00279404e1fbd983c16667b9ec31941038c7af2df803\u0027:\n  AudioResampler: use relative instead of absolute labels\n"
    },
    {
      "commit": "3169d9fa0a4ee7b00c12eb7892703a2a8ded161d",
      "tree": "103cb73bdba6605d6649f211ad169786df2b0a21",
      "parents": [
        "078cfcf7cce9185ec7559910d08b0bc02bfc88a3",
        "eb8b914ad9d4331e1cdf4346731770ce69fd0e77"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Sep 16 13:56:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 16 13:56:16 2011 -0700"
      },
      "message": "Merge \"AudioResampler: use relative instead of absolute labels\""
    },
    {
      "commit": "eb8b914ad9d4331e1cdf4346731770ce69fd0e77",
      "tree": "cf0032240f144033db3c512063fbd7f8161e042f",
      "parents": [
        "5dc2812abddde309234edc786a541d251c4f820a"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Sep 16 13:14:16 2011 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Sep 16 13:14:16 2011 -0700"
      },
      "message": "AudioResampler: use relative instead of absolute labels\n\nThis change is needed to allow Android to compile with -fPIE\nBug: 5328392\n\nChange-Id: I84d947975776800a7b79c6ac75a881af461a631c\n"
    },
    {
      "commit": "e6582c88fc0ee96f1dff3637d97f61719e230213",
      "tree": "11d65b43ff285a7515e45dc9c22e87056a7bfe90",
      "parents": [
        "09e42449d29c2356b259bfdc51132cfde9b57342",
        "078cfcf7cce9185ec7559910d08b0bc02bfc88a3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 16 10:52:30 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 16 10:52:30 2011 -0700"
      },
      "message": "am 9e7a6fc1: Merge \"Various improvements to nuplayer playback\"\n\n* commit \u00279e7a6fc149c83fcb73a73730e59df985e0286227\u0027:\n  Various improvements to nuplayer playback\n"
    },
    {
      "commit": "078cfcf7cce9185ec7559910d08b0bc02bfc88a3",
      "tree": "d4fb458318a3f0b3982b05e0c79a2cfc447dd732",
      "parents": [
        "5dc2812abddde309234edc786a541d251c4f820a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 15 12:25:04 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 16 10:44:02 2011 -0700"
      },
      "message": "Various improvements to nuplayer playback\n\n- Drastically cut down the number of times we supply the AudioSink with data\nby estimating the time until the sink would run out of data and then scheduling\na refill in advance of that.\n\n- Use a dedicated looper for video decoders since they are currently taking\ntoo long to return from OMX_FillThisBuffer (bug 5325201)\n\n- Revise thread priorities for the OMX dispatcher and software codecs, instead\nof running them at ANDROID_PRIORITY_AUDIO, they now only run at\nANDROID_PRIORITY_FOREGROUND\n\n- Since threads created by pthread_create inherit all of the parent threads\nattributes including thread priority, briefly reset thread priority to\nANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then\nrestore it.\n\nChange-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3\n"
    },
    {
      "commit": "09e42449d29c2356b259bfdc51132cfde9b57342",
      "tree": "7a8638b3e5524bee4c462009646ae3e602489117",
      "parents": [
        "a07e29a31b0c118158ba421e7c40984dda2279de",
        "98ba6fdf2f59682ecc825a7487c8cd6e30e6e832"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Thu Sep 15 15:01:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 15 15:01:17 2011 -0700"
      },
      "message": "Merge \"Ensure that the TRTP retry buffer has contiguous sequence numbers\" into ics-aah"
    },
    {
      "commit": "98ba6fdf2f59682ecc825a7487c8cd6e30e6e832",
      "tree": "b9f0066f8df5bf50068a31cc96404a4eb26fd28c",
      "parents": [
        "2140f4a1b8dd603d74624c758d6864fb92c7cb1e"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Thu Sep 15 14:19:36 2011 -0700"
      },
      "committer": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Thu Sep 15 14:27:56 2011 -0700"
      },
      "message": "Ensure that the TRTP retry buffer has contiguous sequence numbers\n\nPreviously, sequence numbers for audio packets were assigned by the\nTX player before packets were queued to the sender.  This caused a\nrace between assignment of sequence numbers on audio packets and\nsequence numbers on heartbeat packets.  A heartbeat could get queued\nand added to the retry buffer before an audio packet with an earlier\nsequence number got queued.\n\nThis CL centralizes packet sequence number assignment and insertion\ninto the retry buffer inside AAH_TXSender::doSendPacket_l.  It also\nmakes explicit what operations can be done on a TRTPPacket before\nand after packing.\n\nChange-Id: If90ca25947d33df486ccedbb3f38e624618eb906\n"
    },
    {
      "commit": "a07e29a31b0c118158ba421e7c40984dda2279de",
      "tree": "52c4e2221b77e871639a668808806b55af4f9e50",
      "parents": [
        "d95fdc569d82cdb850d3e6c701098e4bfc757fce",
        "5dc2812abddde309234edc786a541d251c4f820a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 14 17:44:42 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 14 17:44:42 2011 -0700"
      },
      "message": "am 1318864f: Merge \"Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\"\n\n* commit \u00271318864fa7ce6c85aaf629b1db08c79e4d0cf41e\u0027:\n  Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\n"
    },
    {
      "commit": "5dc2812abddde309234edc786a541d251c4f820a",
      "tree": "f4c077a42c5577d4fc9b098583a021f67382ba3e",
      "parents": [
        "6de6b48237423a65ec041288c90e3f78fd3fce48",
        "9a5e04438df742c297c5dbcdb60e6fd4d8f8321d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 14 17:42:22 2011 -0700"
      },
      "message": "Merge \"Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\""
    },
    {
      "commit": "d95fdc569d82cdb850d3e6c701098e4bfc757fce",
      "tree": "868468bff77468e3e4d84d4bed23414f1a3b1006",
      "parents": [
        "ff2ccd20c782918dd603b3cf53c3bf38d664bbde",
        "6de6b48237423a65ec041288c90e3f78fd3fce48"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 18:24:16 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 18:24:16 2011 -0700"
      },
      "message": "resolved conflicts for merge of 3f0c8217 to ics-aah\n\nChange-Id: I6c72eae0add896919f06bf7e0172ddd7fc47e630\n"
    },
    {
      "commit": "6de6b48237423a65ec041288c90e3f78fd3fce48",
      "tree": "0a0b9ca39948d670140233001a2b3bb7d0e6e8ac",
      "parents": [
        "3a1dccab5f3be394572445f418a2f17f005db25e",
        "cfe2ba6b01a258e39f9c215ffc7b750e0b68f708"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 17:50:31 2011 -0700"
      },
      "message": "Merge \"Issue 5298399: Lost speech after a crash in gTalk.\""
    },
    {
      "commit": "cfe2ba6b01a258e39f9c215ffc7b750e0b68f708",
      "tree": "c4a213cfc30955cc61a8c9673e032caff41a0947",
      "parents": [
        "98afd841e8f0803a00d1970e4a28ea8999e9c498"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 15:04:17 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 17:33:29 2011 -0700"
      },
      "message": "Issue 5298399: Lost speech after a crash in gTalk.\n\nFixed problem in AudioTrack::restoreTrack_l() causing a permanent\nfailure if the IAudioTrack interface to AudioFlinger could not be\nrestored at the first attempt.\n\nChange-Id: I039d4fe2dca8d3baf71f1a6c51119f27a67b6611\n"
    },
    {
      "commit": "ff2ccd20c782918dd603b3cf53c3bf38d664bbde",
      "tree": "99f7bfa880701cfe0ad4c87a76a55a7393a995f6",
      "parents": [
        "9a22e68daf4bbc14a5382c3f064b8c14172768ac",
        "3a1dccab5f3be394572445f418a2f17f005db25e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 12:59:45 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 13 12:59:45 2011 -0700"
      },
      "message": "am 1fbe7a8e: Merge \"Issue 4345021: Audio routed to multiple devices...\"\n\n* commit \u00271fbe7a8e828fd0fe8339d075da08aad701ab6e98\u0027:\n  Issue 4345021: Audio routed to multiple devices...\n"
    },
    {
      "commit": "3a1dccab5f3be394572445f418a2f17f005db25e",
      "tree": "e11b6c41ae5d1ca0992e76f59c478ac6054915bb",
      "parents": [
        "bf5db10436c0d194086237b3a90bb46b359ba688",
        "60cd0a0d488e604d27fc7dbb02b00348693dfde2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 12:57:37 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 12:57:37 2011 -0700"
      },
      "message": "Merge \"Issue 4345021: Audio routed to multiple devices...\""
    },
    {
      "commit": "60cd0a0d488e604d27fc7dbb02b00348693dfde2",
      "tree": "483677bd2a83cde26bfbb49057a7cf3b3384aaf2",
      "parents": [
        "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 11:40:21 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 13 12:44:22 2011 -0700"
      },
      "message": "Issue 4345021: Audio routed to multiple devices...\n\nThere is a possiblility that the condition on which RecordThread::checkForNewParameters_l()\nwaits after updating the command completion status is never signalled.\nThis happens if the thread executing ThreadBase::setParameters() has timed out waiting\nfor the status (for instance if the audio HAL takes too long to execute the setParameters()\ncommand. Then the RecordThread is stuck forever.\n\nThe fix consists in waiting for the condition with a timeout in RecordThread::checkForNewParameters_l().\n\nChange-Id: I7fc671bc2fc43ba4acb65a2beb33ee05742f091e\n"
    },
    {
      "commit": "9a22e68daf4bbc14a5382c3f064b8c14172768ac",
      "tree": "ce0ac1e90476678a9e8e3d78813c5fb3d73889a1",
      "parents": [
        "0670646877c9fb407d7e6ffe6fab4c7076cd40d5",
        "bf5db10436c0d194086237b3a90bb46b359ba688"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:38:31 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 13 11:38:31 2011 -0700"
      },
      "message": "am bf208ec9: Merge \"Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\"\n\n* commit \u0027bf208ec91ec80fd2a3c2474c236b09b37c1a02c4\u0027:\n  Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\n"
    },
    {
      "commit": "bf5db10436c0d194086237b3a90bb46b359ba688",
      "tree": "ba958c8a2d3faae29e2c741ebe6cad8c6757cec8",
      "parents": [
        "714aa7b7c52ce07d5fb44870c0853b4d8e5a758e",
        "7de73f4eb68f3aa478e19ba05a13bc84296f9894"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:37:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 11:37:22 2011 -0700"
      },
      "message": "Merge \"Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\""
    },
    {
      "commit": "7de73f4eb68f3aa478e19ba05a13bc84296f9894",
      "tree": "358aaff9893f6676069c1ea0ac6f3df995e6f622",
      "parents": [
        "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:12:57 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 11:12:57 2011 -0700"
      },
      "message": "Support .avi tracks that have a sample size of 1, i.e. samples !\u003d chunks\n\nAssume for now that all chunks are the same size, i.e. have the same number of\nsamples.\n\nChange-Id: Ib8a7dfeb16cc3e5be199ff9d98b68dd0b9c23eb8\nrelated-to-bug: 5279872\n"
    },
    {
      "commit": "9a5e04438df742c297c5dbcdb60e6fd4d8f8321d",
      "tree": "8c9ae8e852283e296194f4b06f3a2ca41d046113",
      "parents": [
        "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Sep 12 19:56:23 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 13 11:00:17 2011 -0700"
      },
      "message": "Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications\n\nChange-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb\nrelated-to-bug: 5300618\n"
    },
    {
      "commit": "0670646877c9fb407d7e6ffe6fab4c7076cd40d5",
      "tree": "6cdc908e1af8cc75180dcc33f74d6f040ad46b99",
      "parents": [
        "bbdeb975603e0186e202ac34c891554b500f6d13",
        "714aa7b7c52ce07d5fb44870c0853b4d8e5a758e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 10:18:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 13 10:18:39 2011 -0700"
      },
      "message": "am fa6dfdcf: Don\\\u0027t post position updates too frequently\n\n* commit \u0027fa6dfdcfd741980ba1c1d1971b69fc6f8a34dfeb\u0027:\n  Don\u0027t post position updates too frequently\n"
    },
    {
      "commit": "714aa7b7c52ce07d5fb44870c0853b4d8e5a758e",
      "tree": "57b8bef529101db2340303e0d6c5a842f2cd9aaf",
      "parents": [
        "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 08:28:38 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 13 09:48:22 2011 -0700"
      },
      "message": "Don\u0027t post position updates too frequently\n\ni.e. don\u0027t hog my message queue.\n\nrelated-to-bug: 5284760\nChange-Id: I8e2d36a11dbee1567b18ed13dc5257a65c6eeda7\n"
    },
    {
      "commit": "bbdeb975603e0186e202ac34c891554b500f6d13",
      "tree": "ebbba3f81d10968cb0095c432421d63166748bb6",
      "parents": [
        "9245f7c6228675cde441b561742ee0d21cb420af",
        "aacf4e980181edab0c03e1c96fe1e6b0aa1f0493"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Mon Sep 12 17:06:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 12 17:06:44 2011 -0700"
      },
      "message": "Merge \"Hold the AAHDecoderPump ThreadWrapper in a ref-counting pointer\" into ics-aah"
    },
    {
      "commit": "aacf4e980181edab0c03e1c96fe1e6b0aa1f0493",
      "tree": "8866a6fab74811be0caf103134af3d12dc43f9b5",
      "parents": [
        "2140f4a1b8dd603d74624c758d6864fb92c7cb1e"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Mon Sep 12 16:58:07 2011 -0700"
      },
      "committer": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Mon Sep 12 16:58:07 2011 -0700"
      },
      "message": "Hold the AAHDecoderPump ThreadWrapper in a ref-counting pointer\n\nChange-Id: I8929905a7bf07a751b5deb4c74875172a33d874d\n"
    },
    {
      "commit": "9245f7c6228675cde441b561742ee0d21cb420af",
      "tree": "cceebd4d63d39afd3507f3aa1397dd9905403120",
      "parents": [
        "4d84f47e734a6904ef9b96a851701a615aacb039",
        "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:23:25 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 12 14:23:25 2011 -0700"
      },
      "message": "am 7fc8f515: Merge \"Turn an another assertion into a runtime error in ACodec\\\u0027s implementation\"\n\n* commit \u00277fc8f515a0add6837d525b4f2b4baa7ebe37fc7f\u0027:\n  Turn an another assertion into a runtime error in ACodec\u0027s implementation\n"
    },
    {
      "commit": "9215ea4cd8bc5f9c9770c5c34a009dc7c6068f86",
      "tree": "ee1509ee703b1903d33e69fef639dfdf4a2779c9",
      "parents": [
        "c6c4572cd35f739bfac2aa439b3664032e03dcd8",
        "cc54fbaa69c0b69929467449d2c19192f15b5039"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:21:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 12 14:21:42 2011 -0700"
      },
      "message": "Merge \"Turn an another assertion into a runtime error in ACodec\u0027s implementation\""
    },
    {
      "commit": "cc54fbaa69c0b69929467449d2c19192f15b5039",
      "tree": "d0f0aaade0935a827e7dca1ba5659afd64c68417",
      "parents": [
        "fb6f03425a791dcc4188462c860becf6ca6be4ea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:14:08 2011 -0700"
      },
      "message": "Turn an another assertion into a runtime error in ACodec\u0027s implementation\n\nChange-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd\nrelated-to-bug: 5284760\n"
    },
    {
      "commit": "4d84f47e734a6904ef9b96a851701a615aacb039",
      "tree": "e44ae64dcce27b5247a44e2991784da5ec0f5abb",
      "parents": [
        "781a1b4fbd3fd56147e0bb4ed843f1b1bb0cb485",
        "c6c4572cd35f739bfac2aa439b3664032e03dcd8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 14:00:54 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 12 14:00:54 2011 -0700"
      },
      "message": "am 465d42ef: Merge \"Increase the avi extractor\\\u0027s confidence slighly over mp3\\\u0027s\"\n\n* commit \u0027465d42ef781db15a603427115bd66341eb907c31\u0027:\n  Increase the avi extractor\u0027s confidence slighly over mp3\u0027s\n"
    },
    {
      "commit": "c6c4572cd35f739bfac2aa439b3664032e03dcd8",
      "tree": "d9148324e4afde473c7986a14b8f8ef0ae1b4af4",
      "parents": [
        "fb6f03425a791dcc4188462c860becf6ca6be4ea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 13:49:00 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 12 13:49:00 2011 -0700"
      },
      "message": "Increase the avi extractor\u0027s confidence slighly over mp3\u0027s\n\nSo that we don\u0027t accidentally identify a .avi file containing an mp3 track as\nan mp3 file.\n\nChange-Id: I73495b80cbb5bc1007bf810f2db453c9f175171b\nrelated-to-bug: 5288189\n"
    },
    {
      "commit": "781a1b4fbd3fd56147e0bb4ed843f1b1bb0cb485",
      "tree": "e80248b57199866e9bc590af77d4f875f7acbf47",
      "parents": [
        "2792afe3bc679c6f4784e5963898a947468704f6",
        "fb6f03425a791dcc4188462c860becf6ca6be4ea"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Sep 09 15:41:18 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 09 15:41:18 2011 -0700"
      },
      "message": "am 973f553b: Make MediaScanner skip certain directories\n\n* commit \u0027973f553be4aabf9656d6c1596b47767896677b0a\u0027:\n  Make MediaScanner skip certain directories\n"
    },
    {
      "commit": "fb6f03425a791dcc4188462c860becf6ca6be4ea",
      "tree": "e21afb360622f19748a874f609d8c09a3804d809",
      "parents": [
        "618b58c4237359328b06371d9d6e855d2e6ac42c"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Sep 07 23:55:27 2011 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Sep 09 15:36:42 2011 -0700"
      },
      "message": "Make MediaScanner skip certain directories\n\nThe list of directories to skip are configurable via setprop.\nThe main motivation is that some test data folder takes long time\nto scan, and media scanner may compete for CPU time against perf\ntests therefore skewing the results.\n\nBug: 5263115\nChange-Id: I568213e2a4babf6033021c1d336ef0347c0e3315\n"
    },
    {
      "commit": "2792afe3bc679c6f4784e5963898a947468704f6",
      "tree": "7207f883dd3848c99ad184a88ecd8abe1036c81a",
      "parents": [
        "a3bc6a944d5dadfa709c9f100eb14b8afcb7a6ba",
        "618b58c4237359328b06371d9d6e855d2e6ac42c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 14:59:09 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 09 14:59:09 2011 -0700"
      },
      "message": "am 6f84da50: Merge \"Don\\\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\"\n\n* commit \u00276f84da50ad9a9fa044543fa5dde197f609b01a8f\u0027:\n  Don\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\n"
    },
    {
      "commit": "618b58c4237359328b06371d9d6e855d2e6ac42c",
      "tree": "2f502d28789410d95d604eca7cfe987e5c83b7d3",
      "parents": [
        "98afd841e8f0803a00d1970e4a28ea8999e9c498",
        "8edb8e82fa886564ee8e72178a1969e2437dd525"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 14:56:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 14:56:30 2011 -0700"
      },
      "message": "Merge \"Don\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\""
    },
    {
      "commit": "8edb8e82fa886564ee8e72178a1969e2437dd525",
      "tree": "2b5c5bfbe6df89cf5200193992cf66cce868e5fc",
      "parents": [
        "d6e27296206b9f897401107f1c46f4ac2947be85"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 13:19:59 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Sep 09 13:27:27 2011 -0700"
      },
      "message": "Don\u0027t check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation\n\nChange-Id: Iee9b18449bce9d7565ab5cc7f9e999484051196c\nrelated-to-bug: 5233843\n"
    },
    {
      "commit": "a3bc6a944d5dadfa709c9f100eb14b8afcb7a6ba",
      "tree": "0a15a6b85c240ea87b9cd685d0ebf1aad70d01c5",
      "parents": [
        "86e9c5c3e0007ca3d415f9d827e00cf9a6e89d5a",
        "98afd841e8f0803a00d1970e4a28ea8999e9c498"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 09 09:03:16 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 09 09:03:16 2011 -0700"
      },
      "message": "am 11e2e5de: Merge \"AudioTrack: extend callback thread sleep time\"\n\n* commit \u002711e2e5dece7a92f50b73240dc0300343a7b495bf\u0027:\n  AudioTrack: extend callback thread sleep time\n"
    },
    {
      "commit": "86e9c5c3e0007ca3d415f9d827e00cf9a6e89d5a",
      "tree": "67a8538baa525910d8dedc7d9931bde58ce13f6f",
      "parents": [
        "aa7ced607f2fd4da6d4b99737499fb39320c71b8",
        "7280088b2315b6c2eccd39f0f0363d498ec82f0d"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Sep 09 09:02:16 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 09 09:02:16 2011 -0700"
      },
      "message": "am 5303254c: Merge \"Always set geometry in queuebuffer\"\n\n* commit \u00275303254cc944449d08c8489caf288516445f7af0\u0027:\n  Always set geometry in queuebuffer\n"
    },
    {
      "commit": "98afd841e8f0803a00d1970e4a28ea8999e9c498",
      "tree": "88529696fc561e932a7d109b9dda779903d873d9",
      "parents": [
        "7280088b2315b6c2eccd39f0f0363d498ec82f0d",
        "2267ba18d0d2b2d4bd7f5411821ad89ac2659a88"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 08 16:07:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 16:07:40 2011 -0700"
      },
      "message": "Merge \"AudioTrack: extend callback thread sleep time\""
    },
    {
      "commit": "7280088b2315b6c2eccd39f0f0363d498ec82f0d",
      "tree": "99130d99c527c29e2819002421f077f338cb3a7a",
      "parents": [
        "f7eade99250520f2c9c8366a20a9256c4b34abc1",
        "7dc9b309f1ce01308bcfde9948ebfece32dc2870"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 08 15:33:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 15:33:31 2011 -0700"
      },
      "message": "Merge \"Always set geometry in queuebuffer\""
    },
    {
      "commit": "2267ba18d0d2b2d4bd7f5411821ad89ac2659a88",
      "tree": "3339791f7085faf94b891071826d8a1be5d1cb17",
      "parents": [
        "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 07 11:13:23 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 08 15:18:37 2011 -0700"
      },
      "message": "AudioTrack: extend callback thread sleep time\n\nDo not force wake up the AudioTrack thread every 10ms if no timed\nevents (loop, markers..) have to be processed.\nThis will help reduce power consumption.\n\nChange-Id: Icb425b13800690008dd07c27ffac84739e3dbba3\n"
    },
    {
      "commit": "7dc9b309f1ce01308bcfde9948ebfece32dc2870",
      "tree": "cab0dce5adff7873717bb50aa4efbd99ad1e4d31",
      "parents": [
        "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 08 14:15:00 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Sep 08 14:16:55 2011 -0700"
      },
      "message": "Always set geometry in queuebuffer\n\nThe queuebuffer could return early due to timestamp issues. Need to set\nthe geometry even in that case.\n\nChange-Id: I04d7cd1df3996d640c269285398c0042923ba920\n"
    },
    {
      "commit": "aa7ced607f2fd4da6d4b99737499fb39320c71b8",
      "tree": "715173ddc66b4763daa14a32aaa35a49695c307c",
      "parents": [
        "8a667a2242eb4cebaf1b4262a68e1879e0446613",
        "f7eade99250520f2c9c8366a20a9256c4b34abc1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 11:41:05 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 08 11:41:05 2011 -0700"
      },
      "message": "am 13561602: Merge \"Audio player must not be used as a timesource before it\\\u0027s started.\"\n\n* commit \u0027135616025f06dfdfff3d6bed51885ef8de5f49b5\u0027:\n  Audio player must not be used as a timesource before it\u0027s started.\n"
    },
    {
      "commit": "f7eade99250520f2c9c8366a20a9256c4b34abc1",
      "tree": "b60360cfaa7a504d564810dc0aedc96ee34f7066",
      "parents": [
        "41610c37763fcea076cce18de9f5b4c7d9c30ea6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 11:33:47 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 11:33:47 2011 -0700"
      },
      "message": "Audio player must not be used as a timesource before it\u0027s started.\n\nOtherwise it\u0027ll trigger a division-by-zero exception since the audio sample rate\nis as yet unknown.\n\nChange-Id: I0793aa7c1c348ffa2611272bb646eff6ecf6ff53\nrelated-to-bug: 5242451\n"
    },
    {
      "commit": "8a667a2242eb4cebaf1b4262a68e1879e0446613",
      "tree": "92ffcc3fc091ab95e222316aff973d66d54f84fe",
      "parents": [
        "e9d447ff54dab886f7bc449f7db847402a26edb1",
        "41610c37763fcea076cce18de9f5b4c7d9c30ea6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:58:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 14:58:39 2011 -0700"
      },
      "message": "am 65e7815d: Merge \"Bug 5270905 fix MediaPlayer with IStreamSource\"\n\n* commit \u002765e7815dd49a836e410bfa2817d9d48576547a9a\u0027:\n  Bug 5270905 fix MediaPlayer with IStreamSource\n"
    },
    {
      "commit": "41610c37763fcea076cce18de9f5b4c7d9c30ea6",
      "tree": "bcd154f48a74e0c21c46100e633203bc248cd24f",
      "parents": [
        "3991f099c643b718e78e0d938745ef2c5c431544",
        "8d65510a2e9ff7b64f2f35bfe3cd745a717c9533"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:56:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 14:56:47 2011 -0700"
      },
      "message": "Merge \"Bug 5270905 fix MediaPlayer with IStreamSource\""
    },
    {
      "commit": "8d65510a2e9ff7b64f2f35bfe3cd745a717c9533",
      "tree": "f0c15ae37b71e36d332fc1666ff6d86f1b0aa0f3",
      "parents": [
        "d6e27296206b9f897401107f1c46f4ac2947be85"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:40:23 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 07 14:42:37 2011 -0700"
      },
      "message": "Bug 5270905 fix MediaPlayer with IStreamSource\n\nChange-Id: Ia8a6381a6c88b4a0a1378aab03f5275f0fa1125a\n"
    },
    {
      "commit": "e9d447ff54dab886f7bc449f7db847402a26edb1",
      "tree": "642864d07f8295fe61d7dba244d4b50ecae7d2de",
      "parents": [
        "0f00a1030e82826d2aa4dd3787c1491965276e4f",
        "3991f099c643b718e78e0d938745ef2c5c431544"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Sep 07 14:20:28 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 14:20:28 2011 -0700"
      },
      "message": "am 166c1b2e: Merge \"Fixing bug in SurfaceMediaSource_test\"\n\n* commit \u0027166c1b2e7a1a48a39ecd2400b94f9f21c9868810\u0027:\n  Fixing bug in SurfaceMediaSource_test\n"
    },
    {
      "commit": "3991f099c643b718e78e0d938745ef2c5c431544",
      "tree": "2f3f4199ece39d20df417a83060a067701818303",
      "parents": [
        "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6",
        "31292d99f62a812af691e67e8e732c6ae582ee08"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Sep 07 14:18:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 14:18:41 2011 -0700"
      },
      "message": "Merge \"Fixing bug in SurfaceMediaSource_test\""
    },
    {
      "commit": "0f00a1030e82826d2aa4dd3787c1491965276e4f",
      "tree": "3d5376d11a67a8134f8510010645d7a9b4a67a3e",
      "parents": [
        "a6ca3b6e53877abb8987899adf0e0260d6702bfb",
        "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 11:21:30 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 11:21:30 2011 -0700"
      },
      "message": "am 6a39c020: Merge \"Apparently keyframe status in audio tracks of .webm/.mkv files is unreliable\"\n\n* commit \u00276a39c0201ca72d6ccbc63e5fec75949a08fcb043\u0027:\n  Apparently keyframe status in audio tracks of .webm/.mkv files is unreliable\n"
    },
    {
      "commit": "74a0a0d7f766d63330a00c3fa8f133c44c1d5be6",
      "tree": "93fe5add97af3833cef442cf499c8eb3d501edf2",
      "parents": [
        "aa9dfd5d07534c29337b5c72022f7dfecd85deea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 11:05:43 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 11:05:43 2011 -0700"
      },
      "message": "Apparently keyframe status in audio tracks of .webm/.mkv files is unreliable\n\nfortunately in all our supported audio encodings we can treat every frame as\na keyframe.\n\nChange-Id: I32f21d0077bbae7ef9efe725dd351baf531179e2\nrelated-to-bug: 5263837\n"
    },
    {
      "commit": "a6ca3b6e53877abb8987899adf0e0260d6702bfb",
      "tree": "eb1f35b862d166816967c2d8ba94828f77d3d49b",
      "parents": [
        "7d60c64c6eceac310a173e04f4c3539bfd4be7d6",
        "aa9dfd5d07534c29337b5c72022f7dfecd85deea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 09:06:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 09:06:46 2011 -0700"
      },
      "message": "am 01dba603: Merge \"Stop metadata retriever from dereferencing a NULL pointer if\"\n\n* commit \u002701dba603d7c74756126297b843aca0befed8810c\u0027:\n  Stop metadata retriever from dereferencing a NULL pointer if\n"
    },
    {
      "commit": "aa9dfd5d07534c29337b5c72022f7dfecd85deea",
      "tree": "be9c30397e3f4e7eaaadacc5d2af410ee58f48e9",
      "parents": [
        "d6e27296206b9f897401107f1c46f4ac2947be85",
        "e7484f36061a60aadadb01143d84964d931aa837"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Sep 07 09:05:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 09:05:04 2011 -0700"
      },
      "message": "Merge \"Stop metadata retriever from dereferencing a NULL pointer if\""
    },
    {
      "commit": "7d60c64c6eceac310a173e04f4c3539bfd4be7d6",
      "tree": "e80a9875b8aee6734b962accf50c52fc9177dcc1",
      "parents": [
        "764f47d976cab9d2302ae8802f6f27d1ae221015",
        "d6e27296206b9f897401107f1c46f4ac2947be85"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Sep 07 04:01:23 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 07 04:01:23 2011 -0700"
      },
      "message": "am a57c639f: Merge \"Revert \"To make SniffMP3() more concrete so that we can remove false-positve responses from MPEG-PS streams.\"\"\n\n* commit \u0027a57c639fa7639d80ad29b5b876934f46851dcc69\u0027:\n  Revert \"To make SniffMP3() more concrete so that we can remove false-positve responses from MPEG-PS streams.\"\n"
    },
    {
      "commit": "d6e27296206b9f897401107f1c46f4ac2947be85",
      "tree": "1c86967dc53b99661fdf4272d89f8ed681364dc2",
      "parents": [
        "a4f73a9e0e0863a567cc06defa0d9e0269388d4e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 06 19:18:43 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 06 19:18:43 2011 -0700"
      },
      "message": "Revert \"To make SniffMP3() more concrete so that we can remove false-positve responses from MPEG-PS streams.\"\n\nThis reverts commit 983ab88e117fcbda9370b8f4ba94271d37149672.\n\nrelated-to-bug: 5231309\n"
    },
    {
      "commit": "e7484f36061a60aadadb01143d84964d931aa837",
      "tree": "9b1fc82f1e573b3bc65a62b33a2dee31031034ba",
      "parents": [
        "2e3319a62be898e1f0405025d24962fc6a1a3f07"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 06 16:05:02 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Sep 06 16:05:02 2011 -0700"
      },
      "message": "Stop metadata retriever from dereferencing a NULL pointer if\n\nthe media extractor failed to initialize (malformed or unsupported content)\n\nChange-Id: Icfad4e9eeb8d6713ad12eee7979ab30b696c06e0\nrelated-to-bug: 5263840\n"
    },
    {
      "commit": "764f47d976cab9d2302ae8802f6f27d1ae221015",
      "tree": "7cb6cae7020e91e849400b3a6d59ad97f96076dd",
      "parents": [
        "2002f94ab433bece8b5055105d504da8386b9c70",
        "a4f73a9e0e0863a567cc06defa0d9e0269388d4e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 06 14:56:14 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 06 14:56:14 2011 -0700"
      },
      "message": "am b6738fc6: Merge \"Issue 5247986: Battery drain due to audio wakelock\"\n\n* commit \u0027b6738fc6a5ab08c23ecc7c0d84316f5fa5e05064\u0027:\n  Issue 5247986: Battery drain due to audio wakelock\n"
    },
    {
      "commit": "a4f73a9e0e0863a567cc06defa0d9e0269388d4e",
      "tree": "464d68e33f1351796c60a2a0ff43ec696eb69e7b",
      "parents": [
        "2e3319a62be898e1f0405025d24962fc6a1a3f07",
        "408b8dc3c0a364c6f6b4991d15da9e6bcc2b8008"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 06 14:53:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 06 14:53:59 2011 -0700"
      },
      "message": "Merge \"Issue 5247986: Battery drain due to audio wakelock\""
    },
    {
      "commit": "408b8dc3c0a364c6f6b4991d15da9e6bcc2b8008",
      "tree": "f5f9885d8b86fc8073678962a8d38eec4ebef2a4",
      "parents": [
        "3a13fad63af40a8364fce796b1a54a8f0a2fbf32"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 06 12:36:15 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 06 14:37:20 2011 -0700"
      },
      "message": "Issue 5247986: Battery drain due to audio wakelock\n\nThe problem occurs when activating or deactivating A2DP connection\nwhile SoudPool has a channel active. This can happen quite frequently now\nthat the UI sound effects are enabled by default.\nIf PCM data is remaining in the AudioTrack buffer when it is restroyed and\nre-created on the new AudioFlinger output thread, this data is flushed.\nAs a consequence, no underrun or request for new data callback is sent to\nSoundPool and the sound channel remains active for ever as the end of the\nsample is never detected.\n\nChange-Id: I13e0c11e4ce3f83bff7f58d347ca814b6a86712b\n"
    },
    {
      "commit": "2002f94ab433bece8b5055105d504da8386b9c70",
      "tree": "7f8d75bb7e043fed9f4a2b15cf3ff0147f886546",
      "parents": [
        "2140f4a1b8dd603d74624c758d6864fb92c7cb1e",
        "2e3319a62be898e1f0405025d24962fc6a1a3f07"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Sep 06 13:08:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 06 13:08:07 2011 -0700"
      },
      "message": "am f12abaf4: Merge \"Handle setDataSource failures properly. #5261671\"\n\n* commit \u0027f12abaf40588615fa418fb711a4d754098b589f3\u0027:\n  Handle setDataSource failures properly. #5261671\n"
    },
    {
      "commit": "2e3319a62be898e1f0405025d24962fc6a1a3f07",
      "tree": "160e7bf7076d06d64f9f00ada5ff1d2ce24234e3",
      "parents": [
        "adc857e80a1045897ebad85e691dc04451d364e3",
        "0662067b06658a4a56a8416c676f6cce8ccddb53"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Sep 06 13:06:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 06 13:06:20 2011 -0700"
      },
      "message": "Merge \"Handle setDataSource failures properly. #5261671\""
    },
    {
      "commit": "0662067b06658a4a56a8416c676f6cce8ccddb53",
      "tree": "5a1ed2dc243f4bd4727635a57153bfb0e65422ea",
      "parents": [
        "71b63e3ef687c379368be6b02e70bd2feb0b6b8d"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Sep 06 20:39:47 2011 +0100"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Sep 06 20:39:47 2011 +0100"
      },
      "message": "Handle setDataSource failures properly. #5261671\n\nChange-Id: Iea0aa474d1939db23da9aabdfae2081e834f30d9\n"
    },
    {
      "commit": "2140f4a1b8dd603d74624c758d6864fb92c7cb1e",
      "tree": "8a382c00c29445219034e0ca1fbf39ea40661d41",
      "parents": [
        "f6cf82b0e1ca335e2c4c2d5f0098ef401abb2532",
        "adc857e80a1045897ebad85e691dc04451d364e3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 06 09:56:13 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 06 09:56:13 2011 -0700"
      },
      "message": "am 351f44af: Merge \"Don\\\u0027t overwrite pending port setting change if there are more than one port setting change event.\"\n\n* commit \u0027351f44af54f001ee67908f9e1f601f8ffa7905d2\u0027:\n  Don\u0027t overwrite pending port setting change if there are more than one port setting change event.\n"
    },
    {
      "commit": "adc857e80a1045897ebad85e691dc04451d364e3",
      "tree": "a0fe509045d916e8c7dd853f63d3e8a72ade9f79",
      "parents": [
        "71b63e3ef687c379368be6b02e70bd2feb0b6b8d",
        "97857479de48fda4c33bb415b2fbb15193f768e8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 06 09:54:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 06 09:54:43 2011 -0700"
      },
      "message": "Merge \"Don\u0027t overwrite pending port setting change if there are more than one port setting change event.\""
    },
    {
      "commit": "31292d99f62a812af691e67e8e732c6ae582ee08",
      "tree": "908e6109ab6ae0b6d3bf79f6964aab1005b751d3",
      "parents": [
        "71b63e3ef687c379368be6b02e70bd2feb0b6b8d"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Sep 02 17:56:35 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Sep 02 17:56:35 2011 -0700"
      },
      "message": "Fixing bug in SurfaceMediaSource_test\n\nThe test was making EGL calls once disconnected. Instead of calling\n\"disconnect\" directly on the Surface, and EGL calls should be made to that\neffect.\n\nChange-Id: I21468ac8cbc2cb3145a49269e32a884736cd452e\n"
    },
    {
      "commit": "f6cf82b0e1ca335e2c4c2d5f0098ef401abb2532",
      "tree": "7cb31c06daf81adf49e1562e0d32766e3c419d42",
      "parents": [
        "6a27e5cc0fec8aec44d5888e9b2298d3510d5aa5",
        "71b63e3ef687c379368be6b02e70bd2feb0b6b8d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 02 16:42:26 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 02 16:42:26 2011 -0700"
      },
      "message": "am 929827b8: Merge \"Fix issue 5252593: any app can restart the runtime\"\n\n* commit \u0027929827b819415101d526ff68fb0b2c8adb885132\u0027:\n  Fix issue 5252593: any app can restart the runtime\n"
    },
    {
      "commit": "71b63e3ef687c379368be6b02e70bd2feb0b6b8d",
      "tree": "999224e0be6a519fea200fb1f637d611e1e89d4c",
      "parents": [
        "3a13fad63af40a8364fce796b1a54a8f0a2fbf32"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 02 14:20:56 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 02 15:59:50 2011 -0700"
      },
      "message": "Fix issue 5252593: any app can restart the runtime\n\nReplace null device address string by empty sting.\n\nChange-Id: I285c35f3345334e6d2190493b1a8a5aca1a361a4\n"
    },
    {
      "commit": "6a27e5cc0fec8aec44d5888e9b2298d3510d5aa5",
      "tree": "1ff8b878a9df682c5b79e7a2aee0aecb309b5190",
      "parents": [
        "cce1c2bd3308934f7c207bc291ccb089189666b0",
        "3a13fad63af40a8364fce796b1a54a8f0a2fbf32"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 02 09:45:37 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 02 09:45:37 2011 -0700"
      },
      "message": "am 69a5f6c3: Properly serialize access to FileSource::getSize by acquiring the mutex\n\n* commit \u002769a5f6c3e04aa0f3f87eed7578a32782c97bd48f\u0027:\n  Properly serialize access to FileSource::getSize by acquiring the mutex\n"
    },
    {
      "commit": "3a13fad63af40a8364fce796b1a54a8f0a2fbf32",
      "tree": "a99d1e91d87550a46a523acfc0734a72f56db917",
      "parents": [
        "d681bbb1767bed09415e050ba78975df214bcd68"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 02 09:34:51 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Sep 02 09:34:51 2011 -0700"
      },
      "message": "Properly serialize access to FileSource::getSize by acquiring the mutex\n\nBoth ::getSize and ::read call into lseek64, if this happens simultaneously\nfrom multiple threads the results are undefined if not properly serialized.\n\nChange-Id: I737cafebd836f3d8eb702beac557b4731f69c6f6\nrelated-to-bug: 5196490\n"
    },
    {
      "commit": "cce1c2bd3308934f7c207bc291ccb089189666b0",
      "tree": "aaa863313ddeb8abe8011a16b0bd92f5eb5fcbcd",
      "parents": [
        "95d2213d9c19e7c6044b9498ff198a784594c834",
        "d681bbb1767bed09415e050ba78975df214bcd68"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Sep 02 03:32:31 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 02 03:32:31 2011 -0700"
      },
      "message": "am 1d477c53: Merge \"Require INTERNET permission for network-based content. Bug #1870981\"\n\n* commit \u00271d477c53bf2f389813d04d5163d210fccf00ceb9\u0027:\n  Require INTERNET permission for network-based content. Bug #1870981\n"
    },
    {
      "commit": "d681bbb1767bed09415e050ba78975df214bcd68",
      "tree": "2030c617c61bbf7b6cd8c6bafab601a99b1ac83d",
      "parents": [
        "d942202ee0c92608c648735c3ad0f1bab4312420"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Aug 30 14:39:17 2011 +0100"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Sep 02 11:26:59 2011 +0100"
      },
      "message": "Require INTERNET permission for network-based content.\nBug #1870981\n\nChange-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f\n"
    },
    {
      "commit": "97857479de48fda4c33bb415b2fbb15193f768e8",
      "tree": "c17c7c6fc443508a0a34db15e9ef566e02463a56",
      "parents": [
        "d942202ee0c92608c648735c3ad0f1bab4312420"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 01 19:31:01 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 01 19:39:18 2011 -0700"
      },
      "message": "Don\u0027t overwrite pending port setting change if there are more than one port setting change event.\n\nChange-Id: I3413f5235b191031252aa3785f5aaef00caef1ce\nrelated-to-bug: 5122512\n"
    },
    {
      "commit": "95d2213d9c19e7c6044b9498ff198a784594c834",
      "tree": "81e754774f762a95b9bb53c6bf00a3ab1ce6eab0",
      "parents": [
        "1e2e3cc0ab5bb11e19879b54e1eb67e6d48fa32f",
        "d942202ee0c92608c648735c3ad0f1bab4312420"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 13:28:57 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 01 13:28:57 2011 -0700"
      },
      "message": "am ae510085: Merge \"Guard the audio notifications with a separate lock to avoid deadlocks during reset.\"\n\n* commit \u0027ae51008564a7a32199a144544a4ab57b976ffa9d\u0027:\n  Guard the audio notifications with a separate lock to avoid deadlocks during reset.\n"
    },
    {
      "commit": "1e2e3cc0ab5bb11e19879b54e1eb67e6d48fa32f",
      "tree": "b5d432f16febb7deaa27a33d6c1ff14bc2b70951",
      "parents": [
        "ac220500953f75d64d611bbed5e47cffc6467cfa",
        "5403129e2a2f44620f2ac8109889e5a61be08732"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 13:27:52 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 01 13:27:52 2011 -0700"
      },
      "message": "am 7f5ea61b: Merge \"Signal an error when encountering a malformed .ts stream.\"\n\n* commit \u00277f5ea61b0f0ac479f836c0c47b8b212d73486a0d\u0027:\n  Signal an error when encountering a malformed .ts stream.\n"
    },
    {
      "commit": "d942202ee0c92608c648735c3ad0f1bab4312420",
      "tree": "9408506e1e119d84dec3661c0894fbcea3d2359e",
      "parents": [
        "5403129e2a2f44620f2ac8109889e5a61be08732",
        "02f6e988107bc13ebe4828b734ea0fc3d9d11ae0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 12:20:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 01 12:20:24 2011 -0700"
      },
      "message": "Merge \"Guard the audio notifications with a separate lock to avoid deadlocks during reset.\""
    },
    {
      "commit": "02f6e988107bc13ebe4828b734ea0fc3d9d11ae0",
      "tree": "33ae71e49d527dba2905559879002be3d48a580b",
      "parents": [
        "a8e409f8f9b40737d0b03355894b5e141d0aff6b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 11:39:11 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 11:39:11 2011 -0700"
      },
      "message": "Guard the audio notifications with a separate lock to avoid deadlocks during reset.\n\nChange-Id: I9a97372e1f777d1cbd6774cac2ed34b4b8cd9392\nrelated-to-bug: 5179827\n"
    },
    {
      "commit": "5403129e2a2f44620f2ac8109889e5a61be08732",
      "tree": "7d4d6e9ccde89e3c3087d9a0d92ac8eea31024b9",
      "parents": [
        "a8e409f8f9b40737d0b03355894b5e141d0aff6b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 11:04:43 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 01 11:04:43 2011 -0700"
      },
      "message": "Signal an error when encountering a malformed .ts stream.\n\nChange-Id: I3ab0215419214b652573945403eb45eb09d41aff\nrelated-to-bug: 5114811\n"
    },
    {
      "commit": "ac220500953f75d64d611bbed5e47cffc6467cfa",
      "tree": "eb10a1eeb9053439e2893bca9ed7f5866577394f",
      "parents": [
        "c7f4fe3e6cb658a354d10246b5a890ae6e569b28",
        "a8e409f8f9b40737d0b03355894b5e141d0aff6b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 01 04:17:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 01 04:17:12 2011 -0700"
      },
      "message": "am 98bb251c: Add video snapshot camera parameter.\n\n* commit \u002798bb251c8b527600e7a4cca6cc33499710bbfbf1\u0027:\n  Add video snapshot camera parameter.\n"
    },
    {
      "commit": "a8e409f8f9b40737d0b03355894b5e141d0aff6b",
      "tree": "8799a5eecc61038ccf054d905ca3f4492ae18f30",
      "parents": [
        "77d2e08add3ba24fdc527809408028efe3e06b6b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 30 21:33:10 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Sep 01 13:37:14 2011 +0800"
      },
      "message": "Add video snapshot camera parameter.\n\nThe API is still hidden.\n\nbug:5187868\n\nChange-Id: I59e1b5774ca32be049723d1a0887faa90d8884bb\n"
    },
    {
      "commit": "c7f4fe3e6cb658a354d10246b5a890ae6e569b28",
      "tree": "79d39d74e26b740f96ab00c7537c8ede24715e1d",
      "parents": [
        "740d70412e859b250d2fcb9b3e04f5cc81b38cb9",
        "77d2e08add3ba24fdc527809408028efe3e06b6b"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 31 22:02:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 22:02:46 2011 -0700"
      },
      "message": "am abf82f9e: Merge \"Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource\"\n\n* commit \u0027abf82f9ea4960ead8716b183aac1792820cccdd1\u0027:\n  Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource\n"
    },
    {
      "commit": "77d2e08add3ba24fdc527809408028efe3e06b6b",
      "tree": "2d6f5f9ee01d04bce87cea84bf83e22da9d2c759",
      "parents": [
        "aec548b979f3d64712e8aa84cffdc4b7f094a798",
        "ed362eccc7eabc669f9f39169e26662a7215d198"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 31 22:00:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 22:00:35 2011 -0700"
      },
      "message": "Merge \"Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource\""
    },
    {
      "commit": "ed362eccc7eabc669f9f39169e26662a7215d198",
      "tree": "c62947ab463db709bd3dde9c1fd3eb2f42cc13a1",
      "parents": [
        "d2824a9a392e02a09929a34f0a3dad41ac1faacf"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Mon Aug 29 19:53:51 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 31 17:43:24 2011 -0700"
      },
      "message": "Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource\n\nThe buffers in SurfaceMediaSource were 4 earlier, whereas\nwe need 5 for one of the devices.\n\nChange-Id: I87bf5e28bbb0f7c9661dc01b040baa903d95d2c2\n"
    },
    {
      "commit": "740d70412e859b250d2fcb9b3e04f5cc81b38cb9",
      "tree": "5c01a476b1e6484a7e9dae22ac6dc36dd65c0d00",
      "parents": [
        "9a09daedb81cb470dbb5ad8b9f4d17fbfdfdf350",
        "aec548b979f3d64712e8aa84cffdc4b7f094a798"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:47:40 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 16:47:40 2011 -0700"
      },
      "message": "am 9100473a: Merge \"I have one HLS stream that switches stream PIDs from one bandwidth to the next\"\n\n* commit \u00279100473a7e908c7292008140f76ca5009a4335d4\u0027:\n  I have one HLS stream that switches stream PIDs from one bandwidth to the next\n"
    },
    {
      "commit": "9a09daedb81cb470dbb5ad8b9f4d17fbfdfdf350",
      "tree": "a45ef6d63883e7ed1807be91ff9179d5b388d447",
      "parents": [
        "1afe4059bc821a2e09103589c6714e1204a55f13",
        "ef96bbce63da03bc0f0ad86174567cfdd5990c1b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:47:37 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 16:47:37 2011 -0700"
      },
      "message": "am afbb70b4: Merge \"Discontinuities are only signalled on streams that have been identified, i.e.\"\n\n* commit \u0027afbb70b48e348410279816639eeb61f8a33064d2\u0027:\n  Discontinuities are only signalled on streams that have been identified, i.e.\n"
    },
    {
      "commit": "aec548b979f3d64712e8aa84cffdc4b7f094a798",
      "tree": "db85875efd52fd8893b9a033b5bb529d79ccdeba",
      "parents": [
        "ef96bbce63da03bc0f0ad86174567cfdd5990c1b",
        "06528d7f18ad01377357d337eaa3e875a242bd2d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:44:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 16:44:49 2011 -0700"
      },
      "message": "Merge \"I have one HLS stream that switches stream PIDs from one bandwidth to the next\""
    },
    {
      "commit": "ef96bbce63da03bc0f0ad86174567cfdd5990c1b",
      "tree": "a7998dbad6111fc7e4c2bf2ae6940f5df5ca3bf9",
      "parents": [
        "c6b551541a6abd68bc3f3add07c196be4badccf3",
        "18ac5407da14dad9731f40ffc9a56bee73830019"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:44:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 16:44:43 2011 -0700"
      },
      "message": "Merge \"Discontinuities are only signalled on streams that have been identified, i.e.\""
    },
    {
      "commit": "06528d7f18ad01377357d337eaa3e875a242bd2d",
      "tree": "c08f45ba206b07b864f7a153f65fc739ae51fe1c",
      "parents": [
        "18ac5407da14dad9731f40ffc9a56bee73830019"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:29:05 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 16:29:05 2011 -0700"
      },
      "message": "I have one HLS stream that switches stream PIDs from one bandwidth to the next\n\nthis change intends to support its very limited case and signals an error in\nall other cases of unexpected PID changes that we cannot recover from.\n\nChange-Id: Icbfdf9fe7461969e2a8781ed416f54d891dd789a\n"
    },
    {
      "commit": "18ac5407da14dad9731f40ffc9a56bee73830019",
      "tree": "f7574b9ebd7cd610f873d064a0dee23a32b16a4b",
      "parents": [
        "935456794a8d572368ebe942d13451f7d71a9f4e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 15:04:25 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 31 15:35:49 2011 -0700"
      },
      "message": "Discontinuities are only signalled on streams that have been identified, i.e.\n\nthose that have a queue. This ensures that the player doesn\u0027t observe discontinuities\nthat don\u0027t match up across streams.\n\nAlso, make sure output buffers arriving from the decoder to be rendered are sent\nback to the decoder if we started flushing.\n\nFinally, don\u0027t parse TS packets for streams we don\u0027t support. And don\u0027t allocate\nmemory for them.\n\nChange-Id: I708e0de4cba8110a62e4c8ceb1e5702430d5d2bb\n"
    },
    {
      "commit": "1afe4059bc821a2e09103589c6714e1204a55f13",
      "tree": "d752444d8da119542a9bd0140ca8d7648cb3b776",
      "parents": [
        "236d9fdbe9b292c4c3195dbb7fd00ef48d9227b6",
        "c6b551541a6abd68bc3f3add07c196be4badccf3"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 31 15:10:54 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 31 15:10:54 2011 -0700"
      },
      "message": "am d318b73e: Merge \"Update SurfaceMediaSource_test to not use pbuffer configs\"\n\n* commit \u0027d318b73e8e7832f257797ce08b3eea02780b7909\u0027:\n  Update SurfaceMediaSource_test to not use pbuffer configs\n"
    }
  ],
  "next": "c6b551541a6abd68bc3f3add07c196be4badccf3"
}
