)]}'
{
  "log": [
    {
      "commit": "55e26193c885b7d5acdae9978848e6587987790f",
      "tree": "292e5adc85140f3e19c264c922fac3c04c8877a3",
      "parents": [
        "1de41a66e3e7b548ee44e6654580e5f6f7265b11"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 11:46:35 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 22 13:21:38 2011 -0800"
      },
      "message": "Support more MPEG4-LATM audio functionality.\n\nrelated-to-bug: 3474610\n\nChange-Id: I6dab40e8b465922c62be9ee7f168718822c6caac\nNow skipping extra header that the spec claimed shouldn\u0027t be present in LATM...\n"
    },
    {
      "commit": "a472613aec322e25891abf5c77bf3f7e3c244920",
      "tree": "2b8aa12e87fff0c143d50022f9f413305dc7882f",
      "parents": [
        "f71eb135c28dd7b305b7030776ef0d44fac732c4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 16 12:28:26 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 17 14:43:16 2011 -0800"
      },
      "message": "A/V synchronization at the beginning of a recording session\n\no do not use edts/elst boxes since these optional boxes are ignored\no manipulate the first video/audio frame duration to make sure that the rest\n  of the audio/video is in sync (ideally, we should only manipulate\n  the vidoe frame duration, not the audio)\no reduce the initial audio mute/suppression period, which is used to\n  eliminate the \"recording\" sound.\n\nbug - 3405882 and 3362703\n\nChange-Id: Ib0acfb4f3843b365157288951dc122b006299c18\n"
    },
    {
      "commit": "6b61f4355db1974cd0f0dfaa4effdd7117b9f09b",
      "tree": "245a116df537b42dcff6eb66b4675cc07908d892",
      "parents": [
        "b5377f908fc3649b490406e3db34601dca2f7ac3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 15 10:08:07 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 16 11:23:21 2011 -0800"
      },
      "message": "Decouple AudioRecord read and audio encoding\n\nbug - 3313754\n\nChange-Id: I951dd0e21e34aa1412c391f003bc32103d0424b0\n"
    },
    {
      "commit": "d48a6044fddc910f17e67650f280e91e7aaf5e65",
      "tree": "4fc9513c98046b9eaf99e1951c990938a9c231aa",
      "parents": [
        "43270a821f418f57140220b4c78c559d880850ef",
        "50c44c79d2d7dd6cd1485d9d939f67f80b8da1ca"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 15 17:22:01 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 15 17:22:01 2011 -0800"
      },
      "message": "Merge \"Add AAC extractor\""
    },
    {
      "commit": "50c44c79d2d7dd6cd1485d9d939f67f80b8da1ca",
      "tree": "61d66fea96dd44389fc80833c7d033b696c9b000",
      "parents": [
        "727a6f859841a1d421b680f56d4d4ca5ff8c6e4b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Feb 02 14:12:49 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Feb 15 17:16:22 2011 -0800"
      },
      "message": "Add AAC extractor\n\nChange-Id: Iedb08525ac72e65ba98e5c791734da0720a0e3f6\n"
    },
    {
      "commit": "244ba87d20aeb29c9cad727820fa1e803ec3643c",
      "tree": "c09f421ad1b0123b9de0c221b52e1d210ce89a11",
      "parents": [
        "727a6f859841a1d421b680f56d4d4ca5ff8c6e4b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 11 15:21:45 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 11 15:25:03 2011 -0800"
      },
      "message": "Make available h263 DSI information from MPEG4Extractor\n\nbug - 3446863\n\nChange-Id: Idbaf7a564d544784fdbc36ed0339c98a519adc88\n"
    },
    {
      "commit": "6b2718c67aa7b1a8e3b0f25a73a0d5f72c59ffc3",
      "tree": "4f2fb8a9f016de59ddb591ade3e6851a74b6de3a",
      "parents": [
        "fcac8fa9421f442f024018628a6042d7a14fbfb0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 04 13:54:26 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 10 14:37:42 2011 -0800"
      },
      "message": "Bug 3352047 Wrong message when adjusting volume\n\nAdd hidden AudioManager.getDevicesForStream and output device codes.\n\nChange-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947\n"
    },
    {
      "commit": "fcac8fa9421f442f024018628a6042d7a14fbfb0",
      "tree": "329336bc5a1c31ac94737aa4e25a992a0b87f482",
      "parents": [
        "722555f01ace262c2aba9e1ca5d9794ce30c564f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 09 14:00:55 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 09 15:44:32 2011 -0800"
      },
      "message": "Reduce blocking time in file write\n\nbug - 3418787\n\nChange-Id: I4723662bf46ed07271be8468f84ae5d93cb793fa\n"
    },
    {
      "commit": "eeffad65d2db4879593c1d4806824ef5b4dcb3e1",
      "tree": "ac530db863d4030d084c0a383317dce8fe879d64",
      "parents": [
        "cd334d7a8e9df05f6b94eefbad2bddda0850f2cf",
        "9c0096378820e5a61db26e52a7e6df50ba9c872d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 08 13:15:37 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 08 13:15:37 2011 -0800"
      },
      "message": "Merge \"Handle some edge cases when seeking while starting up OMXCodec\""
    },
    {
      "commit": "9c0096378820e5a61db26e52a7e6df50ba9c872d",
      "tree": "29f4953a4816d4e4b09cf11d1681b98a3d666708",
      "parents": [
        "8473bb556421ac08f4e03abd5d149852114c9238"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 08 13:10:25 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 08 13:10:25 2011 -0800"
      },
      "message": "Handle some edge cases when seeking while starting up OMXCodec\n\nThese were exposed by the new preview-seekframe while paused code.\nIn particular, the codec may have been in state RECONFIGURING when attempting\nto seek, or we may have initiated flushing of the output port and this may not\nhave completed yet by the time we want to reconfigure the output port.\n\nChange-Id: Id7640ade11dbc7205a22f648ea0b5e3e9b49cf4b\nrelated-to-bug: 3392259\n"
    },
    {
      "commit": "889b340ec736a9d3e3e690256d305cc8740f0c4b",
      "tree": "fab2bdfdc9621b051923b744065f8f0331b770c1",
      "parents": [
        "802da7bc462f6f9df6e681cc75c51dc0a056a4a1"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Feb 07 11:41:11 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Feb 07 15:10:33 2011 -0800"
      },
      "message": "- Do not use global DrmManagerClient\n- Release the DrmManagerClient and DecryptHandle in DataSource\nFix for bug 3429811\n\nChange-Id: I549f72b75225751877eb0e630ce8098f8ec6316f\n"
    },
    {
      "commit": "349d3fcb4afacf754f7b5b5186d2f258f5bf35e7",
      "tree": "6dc30007e1292cb2516bc7ce010be6fe12ef5922",
      "parents": [
        "117cd9286424888c1c5bf202ebf1e08ae1e6affe"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 04 10:12:26 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 04 10:12:26 2011 -0800"
      },
      "message": "Improvements/fixes to ACodec.\n\n- Make sure ACodec reverts its state when it\u0027s shutdown\n- Defer \"resume\" to after handling the OutputPortSettingsChange\n\n- If the OMX_EventPortSettingsChanged event comes in while we\u0027re flushing, defer it\n  and make sure the output port can be disabled by deleting all buffers not already\n  owned by the component.\n\nChange-Id: I1f8cdffa71237b57d4275a48b834647a7b263e8b\n"
    },
    {
      "commit": "8782cb4dc783cdcac8498148ab1894b4780c18df",
      "tree": "ade3e3ee37bab3e3d7429943cc1dc2e51995779a",
      "parents": [
        "a205abd16ba836b27cfb8ba6b03611e8e8120978",
        "1bca832a1e023988a0103e3d87a47c96bfa0045a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 03 17:18:46 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 03 17:18:46 2011 -0800"
      },
      "message": "am 6f1bd261: am 9c0a1003: Merge \"Fix issue 3371080\" into honeycomb\n\n* commit \u00276f1bd261b7fd86ac7817ca061dfb55b95150b836\u0027:\n  Fix issue 3371080\n"
    },
    {
      "commit": "856990b491d84b7ed4fefe337485c8997ba9dd02",
      "tree": "1f0630295fd40c55a6826dd562dee0d346767a10",
      "parents": [
        "31c52e7c8c01e1db6ff9bcf66135c72544b1235a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 13 11:17:00 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 03 13:39:10 2011 -0800"
      },
      "message": "Bug 1804058 FLAC extractor\n\nNote: dependent on external/flac for libFLAC\n\nImplemented and tested:\n * FLAC container\n * mono and stereo\n * standard sample rates\n * standard bit depths\n * sniffer\n * media scanner\n * Vorbis comment metadata including album art\n * random access seeking with \"torture test\"\n * web browser integration for audio/flac (not audio/x-flac), but\n   note that most web servers don\u0027t correctly report the MIME type\n\nNot implemented:\n * 24-bit to 16-bit dither or noise shaping in AudioFlinger\n * 96 kHz to 44.1 or 48 kHz downsampling low pass filter in AudioFlinger\n * replay gain is better done in AudioFlinger\n * multi-channel, would need AudioFlinger support\n * Ogg container, does not seem to be very popular yet\n\nChange-Id: I300873e8c0cfc2e95403d9adb5064d16a2923f17\n"
    },
    {
      "commit": "1bca832a1e023988a0103e3d87a47c96bfa0045a",
      "tree": "4b705e0ba38d5db0b40a6b9e155e77f204b21dcc",
      "parents": [
        "4e5391cf782ddff9a1c0d9b8211f1252521ca598",
        "eda6c364c253ba97ee45a3adeb8c2b45db1f81db"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 03 10:28:24 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 03 10:28:24 2011 -0800"
      },
      "message": "am 9c0a1003: Merge \"Fix issue 3371080\" into honeycomb\n\n* commit \u00279c0a1003bd676121cf9b1c942ecebd5b486290d5\u0027:\n  Fix issue 3371080\n"
    },
    {
      "commit": "eda6c364c253ba97ee45a3adeb8c2b45db1f81db",
      "tree": "7e8011600b617e524645928514e5eaf3f867bb75",
      "parents": [
        "ab8a0badb8fb1e294dacf2eb6a891439f348aff9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 02 09:33:30 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 03 09:26:24 2011 -0800"
      },
      "message": "Fix issue 3371080\n\nModified default volume control logic in AudioService:\n1 IN_CALL volume if in video/audio chat\n2 NOTIFICATION if notification is playing or was playing less than 5s ago.\n3 MUSIC\n\nModified silent mode:\n- now also affect MUSIC stream type\n- entering silent mode when VOL- hard key is pressed once while selected\nstream volume is already at 0 (except for VOICE_CALL stream).\n- exiting silent mode when pressing VOL+ hard key while in silent mode\n\nPlay sound FX (audible selections, keyboard clicks) at a fixed volume.\n\nModified audio framework:\n- isStreamActive() method now implemented in AudioPolicyManagerBase (previously AudioFlinger)\n- iStreamActive() now specifies a time window during which the stream is considered\nactive after it actually stopped.\n\nChange-Id: I7e5a0724099450b9fc90825224180ac97322785f\n"
    },
    {
      "commit": "94eda03f76175dee88cf7941fcbdb6aec43a0d5d",
      "tree": "6916297fd803a1cb1b04d8345d36400e71d058de",
      "parents": [
        "ac571749a577c3575793f870e95012ce6637f977",
        "7757f5010a771fb8824b6fdf9788f588a1577e3f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 26 14:45:41 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 14:45:41 2011 -0800"
      },
      "message": "am 7fb232c4: Merge \"Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.\" into honeycomb\n\n* commit \u00277fb232c40cde91d0958be1694db2d97a126b95f9\u0027:\n  Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.\n"
    },
    {
      "commit": "7757f5010a771fb8824b6fdf9788f588a1577e3f",
      "tree": "a4ba5608184d5141deae9bed5efd3d2b37d7593c",
      "parents": [
        "2494373e91399a97ad405f4e42dff6543cc296c7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 25 16:31:28 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 26 12:11:22 2011 -0800"
      },
      "message": "Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.\n\nThis will fix the stop failure issue where we have to wait n * time_interval before a key frame can be received by the file writer, where\n o n is the actual number of buffers advertised by the video encoder\n o time_interval is the interval settings for timelapse video recording\n   specifying the time distance between neighboring input video frames\n\nThe fix includes two parts:\no OMXCodec will not submit all n buffers at one time, but instead submit one input\n  frame at one time if it become available.\n\no Timelapse camera source made available the first two input frames and do not skip\n  them so that the first compressed output frame data can be received regardless\n  the specified time_interval\n\nbug - 3367659\n\nChange-Id: Ia68cc2cb0d71aa7dc54540e9ad82fae911ad530b\n"
    },
    {
      "commit": "86ba757ddf906a7b59f0dbba9a2197d823650050",
      "tree": "2d088df9318bd8fa1746c3d77e4d4e0186fffaa8",
      "parents": [
        "b7b1486bd55f9fe27f15724452f748045d204fb1",
        "d3455c0d28c7b663ada8db188aa8dc0a3979e496"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:44:17 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 11:44:17 2011 -0800"
      },
      "message": "am a9f27fa6: Merge \"Protect notification callback parameters with a mutex.\" into honeycomb\n\n* commit \u0027a9f27fa631ab21d52c75842ccaacc1cbcd75fca0\u0027:\n  Protect notification callback parameters with a mutex.\n"
    },
    {
      "commit": "01f394247f3d5851f5bb12c2786b5fee265b6357",
      "tree": "8fb13813062b563324f9b47f4f9741897fde7f98",
      "parents": [
        "b656f3592332cebfad8944e8692003cf3688d586"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:19:19 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 26 11:20:42 2011 -0800"
      },
      "message": "Protect notification callback parameters with a mutex.\n\nThis avoids the race condition where notifications are dispatched to a NULL receiver\nafter notifications have been disabled.\n\nChange-Id: I6d351ffbee97616e2c35559c132a6c5e6a66948a\nrelated-to-bug: 3394139\n"
    },
    {
      "commit": "287c34497550ff3f27a5fa3aa15c0049081056d3",
      "tree": "97f8e7a520a1ccae5a4e97e71a50a2a131db0ce1",
      "parents": [
        "5895b78183840f3d56a6e50af26a4b9f778a5b14",
        "b656f3592332cebfad8944e8692003cf3688d586"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 25 15:48:06 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 15:48:06 2011 -0800"
      },
      "message": "am f10d9404: Merge \"StagefrightMediaScanner: Close metadata retriever after we are done scanning\" into honeycomb\n\n* commit \u0027f10d940413000732f1cd35bcb113c41019c7e3b7\u0027:\n  StagefrightMediaScanner: Close metadata retriever after we are done scanning\n"
    },
    {
      "commit": "0a095d09464ba18e288a3f529410af0f1257ac2a",
      "tree": "1c3810dbf07e83724c4d11cb012dd664669a8623",
      "parents": [
        "4feffd1a8d95cf3843c06a37160580d30d421d8e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 25 15:20:04 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 25 15:20:04 2011 -0800"
      },
      "message": "StagefrightMediaScanner: Close metadata retriever after we are done scanning\n\nThis prevents the mediaserver from leaking a file descriptor after\nthe media scanner runs\n\nBUG: 3373546\n\nChange-Id: I82a8bae82306de3da56a5c7da5b03ecf106a4efc\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e8600e37d70d5570d73353e892edb00dd872d1c5",
      "tree": "94edbf7e75265604b7c75d33c6a30f0d781b509d",
      "parents": [
        "42ab78068f67d5b22fbfbcf40448bae505d543ca",
        "7fac331b39ca49ce49a67e425dcc031a3cb9e97f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 14:44:21 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 21 14:44:21 2011 -0800"
      },
      "message": "am 63d64a14: Merge \"Properly rotate video that\\\u0027s marked as such and decoded to a surface.\" into honeycomb\n\n* commit \u002763d64a14790ae21db31b60747864b4a7565b33c3\u0027:\n  Properly rotate video that\u0027s marked as such and decoded to a surface.\n"
    },
    {
      "commit": "7fac331b39ca49ce49a67e425dcc031a3cb9e97f",
      "tree": "f38b5f0a2b0180deed38d27b9b91c26908785d6d",
      "parents": [
        "bc7f5b2e56107cfeaeeab13cf8979379e3c2f139"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 14:32:31 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 14:32:31 2011 -0800"
      },
      "message": "Properly rotate video that\u0027s marked as such and decoded to a surface.\n\nChange-Id: I1e9144db3447e58c99aac3f47702ad471678789c\nrelated-to-bug: 3378148\n"
    },
    {
      "commit": "42ab78068f67d5b22fbfbcf40448bae505d543ca",
      "tree": "f4bf970d75b7a8e886e3a06227aaf2b1e906f2db",
      "parents": [
        "ffaee8a4c3d99342445c92254c42160512583180",
        "bc7f5b2e56107cfeaeeab13cf8979379e3c2f139"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 13:17:42 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 21 13:17:42 2011 -0800"
      },
      "message": "am 05aa0827: Merge \"Some tweaks to HTTP live / nuplayer behaviour\" into honeycomb\n\n* commit \u002705aa082770d812c5921d6b2f9b3559f1fd1536a8\u0027:\n  Some tweaks to HTTP live / nuplayer behaviour\n"
    },
    {
      "commit": "bc7f5b2e56107cfeaeeab13cf8979379e3c2f139",
      "tree": "dffbfa1a0c661a0bd986d3ef8d80287cb0bcc513",
      "parents": [
        "b408222bd9479c291874b607acae1425d6154fe7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 10:15:23 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 10:34:40 2011 -0800"
      },
      "message": "Some tweaks to HTTP live / nuplayer behaviour\n\n- play audio-only streams again\n- workaround for malformed streams that switch PIDs across bandwidths\n- attempt to pick a different bandwidth stream if the previously chosen one appears\n  to be malformed/unsupported.\n\nChange-Id: I426d0a40dc725aa242f619d4c9d048b69aca55c9\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "1c3913cf94572c4bfa2c6f7a98925787c5499b69",
      "tree": "05715c76738dffbbf694b8ad4c7b62aa819a880b",
      "parents": [
        "87b0438aed11ed7f5e7cc442a5300eb5f20ebdc5",
        "adde7faabd165ebf69eaf64f62eb6792032a350a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 20 17:03:46 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 20 17:03:46 2011 -0800"
      },
      "message": "am a423d868: Merge \"clean-up unneeded code\" into honeycomb\n\n* commit \u0027a423d868009b9961597365ce7f190aef23f4b1cc\u0027:\n  clean-up unneeded code\n"
    },
    {
      "commit": "9383d1a2197479e4d2ac4571c7fbe424f93e3b93",
      "tree": "cbe9c93cd1adf5561c007dc5719a69ca3607b53f",
      "parents": [
        "91a685f1eaa32cadb461755fb235239b308953c9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 19 18:02:20 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 20 12:10:11 2011 -0800"
      },
      "message": "clean-up unneeded code\n\nnow that we removed the notion of a \"inUse\" buffer in surfaceflinger\na lot of code can be simplified / removed.\n\nnoteworthy, the whole concept of \"unlockClient\" wrt. \"compositionComplete\"\nis also gone.\n\nChange-Id: I210413d4c8c0998dae05c8620ebfc895d3e6233d\n"
    },
    {
      "commit": "a5939efeaf8be373ee71941466ad5a2db1750881",
      "tree": "608b74b25dd64936ede778ea8449c21d7683e14e",
      "parents": [
        "aa46ce8ac441981ecbf9e72fb4acc6677615efc9",
        "e75ceba6e3f009118c5debbbe2de268beb350c9a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 10:06:23 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 19 10:06:23 2011 -0800"
      },
      "message": "am 4061c9aa: Merge \"Fix the presentation video resolution when it is different from the actual image resolution of the video.\" into honeycomb\n\n* commit \u00274061c9aa6d77bd7ad3b43d898b3e55fd62f57f18\u0027:\n  Fix the presentation video resolution when it is different from the actual image resolution of the video.\n"
    },
    {
      "commit": "b45c01c2b8588ff431b511151666a55a39f0a6ae",
      "tree": "94a766af98d29e9b6d745e42a5f625106267a2e1",
      "parents": [
        "2b4883641e324c50a2ee24c5bd15170c7d31e57d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Jan 16 11:30:13 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 08:33:07 2011 -0800"
      },
      "message": "Fix the presentation video resolution when it is different from the actual image resolution of the video.\n\nbug - 3352413\n\nChange-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2\n"
    },
    {
      "commit": "67cde67ff08b94ece035ac35a7a1b33b01677b1f",
      "tree": "09e37275bf66cc6ec260deab0910bb990b09802e",
      "parents": [
        "f9c1f51b261d45632625b501f44f2b2214ce3352",
        "ccb3506ed1845121b94f4e27244e61a46eb19815"
      ],
      "author": {
        "name": "Dharmaray Kundargi",
        "email": "dharmaray@google.com",
        "time": "Mon Jan 17 11:40:16 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 17 11:40:16 2011 -0800"
      },
      "message": "am 307003a8: Merge \"integrate videoeditor preview player.\" into honeycomb\n\n* commit \u0027307003a844c90458bcfd7398c44bbae734936238\u0027:\n  integrate videoeditor preview player.\n"
    },
    {
      "commit": "ccb3506ed1845121b94f4e27244e61a46eb19815",
      "tree": "28dbe58d3112cb15c9b87d94897d2aa73b1042e3",
      "parents": [
        "6ee94582e3ce7bdd9625345e7564e3176a51a2f3"
      ],
      "author": {
        "name": "Dharmaray Kundargi",
        "email": "dharmaray@google.com",
        "time": "Sun Jan 16 16:43:20 2011 -0800"
      },
      "committer": {
        "name": "Dharmaray Kundargi",
        "email": "dharmaray@google.com",
        "time": "Sun Jan 16 16:43:20 2011 -0800"
      },
      "message": "integrate videoeditor preview player.\n\nChange-Id: I83084f494605c8e6f4d198afa8c36f9e29579667\n"
    },
    {
      "commit": "3cb13098df7b0c2aaae7b18f1518b02447f3b8c0",
      "tree": "1bae54c308898f7ebb3b577706f5ba3654c2cf86",
      "parents": [
        "367bb55aaf022b7f727478cbd3b50866a9e537f4",
        "7f7d52ac18dfc3c6d8f6267dad29306613e9bd0e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 14:35:35 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 12 14:35:35 2011 -0800"
      },
      "message": "am 068b41d5: Merge \"Publish MediaMetadataRetriever.java as public API\" into honeycomb\n\n* commit \u0027068b41d5d41a4a78c96586b85ea89d464d302548\u0027:\n  Publish MediaMetadataRetriever.java as public API\n"
    },
    {
      "commit": "7f7d52ac18dfc3c6d8f6267dad29306613e9bd0e",
      "tree": "5e17f415d44cdba3c8b37a42c487e28e26593a64",
      "parents": [
        "67988a9ba5a081d14dbd8a663516e1d484d829df"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 06 12:20:35 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 14:14:11 2011 -0800"
      },
      "message": "Publish MediaMetadataRetriever.java as public API\n\no Removed setMode() methods and related mode constants\no Removed some of the unused the metadata keys\no Updated the javadoc\n\no part of a multi-project change.\n\nbug - 2433195\n\nChange-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438\n"
    },
    {
      "commit": "ac2652c25f5d2a38709131f7731651bc5819fed5",
      "tree": "d8c86badbc1e53832fe2e3cf41f7970843c3f471",
      "parents": [
        "b03f5627d4e0d80ea7b185e0af1d8a5d19461325",
        "9cfc9eff42a0700029c39e89c38b52488845ad63"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jan 11 14:55:56 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 11 14:55:56 2011 -0800"
      },
      "message": "am 9e0bb6d5: am 0544d059: Merge \"DRM Framework bug fixes.\"\n\n* commit \u00279e0bb6d5eef5dfe2da60c50f3aaa39512307d11d\u0027:\n  DRM Framework bug fixes.\n"
    },
    {
      "commit": "32ad210e4e4bcbdf912a01c9d2ff105cb3c5056f",
      "tree": "57bc9bcd78d3844035a923a70b516e4dc2872a24",
      "parents": [
        "14c858e80dfe2030c9f343dc0c6e2048e030731b",
        "31e2508c75018145a8238925ff1a08cbde4e799a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 11:26:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 10 11:26:38 2011 -0800"
      },
      "message": "Merge \"NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.\" into honeycomb"
    },
    {
      "commit": "31e2508c75018145a8238925ff1a08cbde4e799a",
      "tree": "072e86ff81cc378452262d8ff899301ae8abf696",
      "parents": [
        "eb0d0c48ebfcee5e8141ae25fe42a9eac6aae230"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 10:38:31 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 10:38:31 2011 -0800"
      },
      "message": "NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.\n\nChange-Id: I99b4223ad6ecfd8839a3c0e737fef3165565d76d\nrelated-to-bug: 3336496\n"
    },
    {
      "commit": "14c858e80dfe2030c9f343dc0c6e2048e030731b",
      "tree": "f78e159783fddbf670cf2a2d1d582653adb7709c",
      "parents": [
        "eb0d0c48ebfcee5e8141ae25fe42a9eac6aae230"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 08:55:02 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 08:57:50 2011 -0800"
      },
      "message": "Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object\n\nbug - 3336424\n\nChange-Id: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89\n"
    },
    {
      "commit": "9cfc9eff42a0700029c39e89c38b52488845ad63",
      "tree": "e838338c56e10b5de2f718c9c9b7e7130ae902a5",
      "parents": [
        "e28b1e565705ffb85b05c8e226e1ab5010cb3821",
        "c2322f7ac756e78de9491c17dc3c0dd14456c599"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jan 07 15:34:08 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 07 15:34:08 2011 -0800"
      },
      "message": "am 0544d059: Merge \"DRM Framework bug fixes.\"\n\n* commit \u00270544d05990c0f43a143e98e71f7fc60277872806\u0027:\n  DRM Framework bug fixes.\n"
    },
    {
      "commit": "11f8109ad8646d3acd9a0987613229cde59d52c1",
      "tree": "71db4bd4e70e89995712b0fa45ac4f5e7a2ad0da",
      "parents": [
        "20ad3a341a96e7746015ccb7369fa567897e11f6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 11:12:17 2011 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 07 12:42:07 2011 -0800"
      },
      "message": "Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add\nsupport for two common ways of specifying album artist in ogg files.\nb/3311831\n\n(cherry-picked from GB because of weird automerger failure)\n\nChange-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f\n"
    },
    {
      "commit": "c2322f7ac756e78de9491c17dc3c0dd14456c599",
      "tree": "07e0dad46bb5d1a926db251d06ae812fc7beb204",
      "parents": [
        "7f7371ad2df83fe6a085089446575d0bcd24d59a",
        "c618b5af98dec06d49374a61a5a94016f9fec2d3"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jan 07 11:10:49 2011 -0800"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Jan 07 11:10:49 2011 -0800"
      },
      "message": "Merge \"DRM Framework bug fixes.\""
    },
    {
      "commit": "e28b1e565705ffb85b05c8e226e1ab5010cb3821",
      "tree": "ac2b9fc614c8509a83742260841358f0b5e043e5",
      "parents": [
        "e6bf51ea9c5a4c1294e9a6c26d8a9b86534fee1f",
        "288fb7e5bd7060cbe9b737500975754c9312e2db"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 20:29:11 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 06 20:29:11 2011 -0800"
      },
      "message": "am ba77a3f9: Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831\n\n* commit \u0027ba77a3f9cb1d68b2ed4813aaae856444578e3a75\u0027:\n  Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831\n"
    },
    {
      "commit": "288fb7e5bd7060cbe9b737500975754c9312e2db",
      "tree": "666d36f72e5d8517fd39db346d941286529c3a69",
      "parents": [
        "91dcf1510491c4128f506a0d28e64de5ecbf459d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 11:12:17 2011 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 15:05:06 2011 -0800"
      },
      "message": "Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add\nsupport for two common ways of specifying album artist in ogg files.\nb/3311831\n\nChange-Id: Iba1152013b7577168af71f947d7249560419fa05\n"
    },
    {
      "commit": "93aa950be52dc89f370c423f7b90c52093f9a3fa",
      "tree": "68d4364105cbc57f783bdc7711da55cd27e71a7f",
      "parents": [
        "b1787e3b95e96cc002377d41518cc183f64b58c4",
        "bfa33aae4f54c0020a0568b16a3acb7b30b6ca3d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jan 06 13:36:47 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 06 13:36:47 2011 -0800"
      },
      "message": "Merge \"Add camera service support for SurfaceTexture.\" into honeycomb"
    },
    {
      "commit": "bfa33aae4f54c0020a0568b16a3acb7b30b6ca3d",
      "tree": "3dae4190516dcddec996a2b7c51b5f192c3ed4ca",
      "parents": [
        "5de2001a5c3f854b63dbcea284e02f930881ca75"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Dec 20 11:51:31 2010 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jan 06 13:31:53 2011 -0800"
      },
      "message": "Add camera service support for SurfaceTexture.\n\nThis change enables the use of a SurfaceTexture in place of a Surface as\nthe destination of camera preview frames.\n\nChange-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb\n"
    },
    {
      "commit": "b1787e3b95e96cc002377d41518cc183f64b58c4",
      "tree": "f6c8ed1d45603def7a587c5935c92a8629800585",
      "parents": [
        "4d785ae6b940c62610612baf9d24f1ee607a2714"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 11:26:54 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 12:42:33 2011 -0800"
      },
      "message": "Colorconverter may not support some src/dst bitmap configurations.\n\nLet it return an appropriate error code instead of asserting.\n\nChange-Id: I7fe0dfa169e1cbdecb04c5fcbe8501e73362d05e\nrelated-to-bug: 3328212\n"
    },
    {
      "commit": "d1108d74e13a74dc72e49513e0393e924f3d112c",
      "tree": "87110cb63a08e326eca1edf5d7413a6d10bf2071",
      "parents": [
        "bade4951bd8b2c9148df9018c44903b9d48d1f7b",
        "e6bf51ea9c5a4c1294e9a6c26d8a9b86534fee1f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 17:57:55 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 05 17:57:55 2011 -0800"
      },
      "message": "am a8ce7736: am 35e8dcb9: Merge \"Suppress the recording sound in the recorded video\" into gingerbread\n\n* commit \u0027a8ce773607c26dd4336f57856afce507fb98a279\u0027:\n  Suppress the recording sound in the recorded video\n"
    },
    {
      "commit": "e6bf51ea9c5a4c1294e9a6c26d8a9b86534fee1f",
      "tree": "bf0df997f25fa4c5d85af140b7dfbaad0ad2eb3c",
      "parents": [
        "74de24045c00d641e79483b459d7d00d3d5bffe3",
        "91dcf1510491c4128f506a0d28e64de5ecbf459d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 17:55:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 05 17:55:27 2011 -0800"
      },
      "message": "am 35e8dcb9: Merge \"Suppress the recording sound in the recorded video\" into gingerbread\n\n* commit \u002735e8dcb9df8c3d77ede120e3f1aaf842b2928639\u0027:\n  Suppress the recording sound in the recorded video\n"
    },
    {
      "commit": "149d3b0565c9b7e56af344d0e5c2f121236fa119",
      "tree": "f306a5678c773f6441951ef871dc1f0c8534594f",
      "parents": [
        "eb8cab7bb77aac80a5a2e6fe0171e20116e80ef0",
        "43c3e6ce02215ca99d506458f596cb1211639f29"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 14:50:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 14:50:00 2011 -0800"
      },
      "message": "Merge \"Seek/Duration support for completed http live streams in NuPlayer.\""
    },
    {
      "commit": "43c3e6ce02215ca99d506458f596cb1211639f29",
      "tree": "52a143f0a92abc9f5050f5c9f44e2e4c087848f3",
      "parents": [
        "627baacc748c5e2ed68bdb256aea4d70fcfe9ce4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 12:17:08 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 14:48:31 2011 -0800"
      },
      "message": "Seek/Duration support for completed http live streams in NuPlayer.\n\nChange-Id: I55bbe75d87140c07b1927d14ad24130fce803463\nrelated-to-bug: 3321475\n"
    },
    {
      "commit": "eb8cab7bb77aac80a5a2e6fe0171e20116e80ef0",
      "tree": "7b553cb524797eb5ccb8216d01c19a478bd483c8",
      "parents": [
        "019e96a6c6228c2565d8bc172f6278b31384aca5",
        "e6615671a51c85f409c071f15babb76198f1ce92"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 12:53:13 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 12:53:13 2011 -0800"
      },
      "message": "Merge \"Fixed a typo in the enum for unknown camera error message\""
    },
    {
      "commit": "019e96a6c6228c2565d8bc172f6278b31384aca5",
      "tree": "d849a9df7eefab1a0e960e8e0fab86b943361e94",
      "parents": [
        "627baacc748c5e2ed68bdb256aea4d70fcfe9ce4",
        "28934a90e168291f6c77c56e8a05f272e5151bbd"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 10:27:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 10:27:55 2011 -0800"
      },
      "message": "Merge \"Use video output if necessary for timelapse video recording\""
    },
    {
      "commit": "e6615671a51c85f409c071f15babb76198f1ce92",
      "tree": "2e4452bca742d7d9bf6a09b75005293cf39ea258",
      "parents": [
        "c213b812514d16dd401cd308b9203b70bfbb3d5f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 18:32:16 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 18:46:34 2011 -0800"
      },
      "message": "Fixed a typo in the enum for unknown camera error message\n\nChange-Id: Id9f8432e2ba8e1474ee020438d6456f1f450398a\n"
    },
    {
      "commit": "91dcf1510491c4128f506a0d28e64de5ecbf459d",
      "tree": "0886108cbd43dd72295de19b99d6fa204e797242",
      "parents": [
        "0f01764099d7a65b8921725df3340140f9fc4cd5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 17:34:44 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 17:34:44 2011 -0800"
      },
      "message": "Suppress the recording sound in the recorded video\n\nbug - 3309194\n\nChange-Id: Ib8fb248943bc22f963d67537bfdbc6056c5a159b\n"
    },
    {
      "commit": "28934a90e168291f6c77c56e8a05f272e5151bbd",
      "tree": "da8b10f020741f7dc28161496cbe7e0d59e19622",
      "parents": [
        "c2f95fba3ab2a4e512fd1152a12e64691f2ea73d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 16:09:07 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 16:09:07 2011 -0800"
      },
      "message": "Use video output if necessary for timelapse video recording\n\nChange-Id: I88d0cc824f0fbf8b2f392fbc23c69b5bfefda1b8\n"
    },
    {
      "commit": "1aef211b4e5dc952081727bfd2318b2cb5ca4506",
      "tree": "1644390b5e1f5cb8ddd228a28e69b5a18c747e0b",
      "parents": [
        "65a170e3ac593a29abd0c76e9aa531fabad7f56d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 04 14:01:29 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 04 14:07:58 2011 -0800"
      },
      "message": "Properly shutdown the decoders on a reset() in NuPlayer\u0027s implementation.\n\nrelated-to-bug: 3321470\nChange-Id: Ida6d2171c5a3a407188d4633602b764f8fe7086a\n"
    },
    {
      "commit": "3e9f9f1596d4225ddd9288b4f7b24a15221374dc",
      "tree": "1c88af9da88152b3d499d6a0a92f1a0349bddff9",
      "parents": [
        "5a7f242cfc0bd3b5208c21c27c0f5f348e98a0dc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 16 12:54:24 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 16 15:35:36 2010 -0800"
      },
      "message": "MediaScanner: Add support for scanning empty directories\n\nCurrently the media scanner does not create database entries for directories\nunless they contain a file that is scanned.\nFixing this so we provide a consistent view of the world to MTP.\n\nChange-Id: Ia776acfeae23192183e7192d63cdc34d830ea889\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "2c2814b900a61fa07ddfff860b143fbbe9c740e9",
      "tree": "6e87ef2fc13807b7553fb922c149c9e9810c92fd",
      "parents": [
        "e071b055cee301d71335519601474c62b10af411"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 17:18:20 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:08:26 2010 -0800"
      },
      "message": "Properly announce decoder output format changes, make sure AMessage::dup does.\n\nChange-Id: Ia77f6b6d5e5c5055583740dfe876b8a3c22be9b6\n"
    },
    {
      "commit": "f933441648ef6a71dee783d733aac17b9508b452",
      "tree": "240f8068edb362cbea579659a963bbb029a2bac0",
      "parents": [
        "60c5b57edd3c8f4bdf6b38cf5b8a193ba770bb72"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 15:17:42 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 15:18:26 2010 -0800"
      },
      "message": "Initial support for a true streaming player for mpeg2 transport streams.\n\nChange-Id: I153eec439d260a5524b21270e16d36940ec3161a\n"
    },
    {
      "commit": "79e23b41fad961008bfde6e26b3c6f86878ca69d",
      "tree": "590d806e7ff9da6341c5185a4d7291d1de428e43",
      "parents": [
        "8d45a37ff076814db39471f15d309567605b3416"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Dec 11 10:43:41 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Dec 11 10:57:03 2010 -0800"
      },
      "message": "Revert \"Allows the authoring engine to skip frame.\"\n\no Skipping frames could lead to a lot of issues such as I frames is lost etc.\n  It is not being used anyway.\n\nThis reverts commit 53d4e0d58e2d5c18f6e026c705af833b9bdd7aba.\n\nConflicts:\n\n\tmedia/libstagefright/AudioSource.cpp\n\tmedia/libstagefright/CameraSource.cpp\n\nChange-Id: I3abba1647de48db25bdc369066eb2a7ae4dedec2\n"
    },
    {
      "commit": "986ef2ad4c96952711d87af481f3afb40aa10775",
      "tree": "d685585e64bfe6a46d7deabd1190fea460ebef3a",
      "parents": [
        "b41ad26dba96d70f53fff46d10eb589c2b3eb6f8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 09 11:08:14 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 10 07:19:13 2010 -0800"
      },
      "message": "We requires camera hal\u0027s implementation should not track the ref count of any outstanding video frames and ignore\nreleaseRecordingFrame() call after it receives disableMsgType(CAMERA_MSG_VIDEO_FRAME).\n\nChange-Id: I2ecb9b3b11dab6bf868ccf8effda1b8df5bcde3c\n"
    },
    {
      "commit": "181a379b43c1e85389e8bb60825d9b608502717a",
      "tree": "ca11523e4668750b8d37c1f3c4aaa3cb3fd10416",
      "parents": [
        "03dfce9672b36c1a334959a602f909b8410bec50"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:40:01 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:48:28 2010 -0800"
      },
      "message": "fix [3259708] Graphic Buffer Mapper does not support YV12\n\nremove a bunch of a code that was there only to support broken gralloc implementations\n\nChange-Id: I3c1a9172224cbcc283601abfbbd695a20815451f\n"
    },
    {
      "commit": "03dfce9672b36c1a334959a602f909b8410bec50",
      "tree": "9c1ae20251cb7251d619b42ddbfe6124866e4324",
      "parents": [
        "cb0cb25002f1b5fe0d02c997bac487b5b6c5c682"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 19:38:17 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:13:59 2010 -0800"
      },
      "message": "remove support for PUSH_BUFFER surfaces and overlays\n\nthe same functionality is now supported through\nthe h/w composer HAL, and YUV support in the GPU.\n\nChange-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf\n"
    },
    {
      "commit": "92bf2f96c53d24adc1ace362439e82ca2cf6b856",
      "tree": "c22cfabbb5925258dcb6e48dd0d7e83e23fc4be4",
      "parents": [
        "97f2c9d530c9663deeb840f332dee205a7a11cdd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 07 14:25:54 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 08 09:07:28 2010 -0800"
      },
      "message": "Better buffer status management and verification in OMXCodec.\n\nChange-Id: I90410f2ac0d8ff86076a239dc6e281b1bc4d8643\n"
    },
    {
      "commit": "97f2c9d530c9663deeb840f332dee205a7a11cdd",
      "tree": "8fc04e6081e94ad6cc1c4dbc27bbd84150a59d2e",
      "parents": [
        "5a68e17d07369a16b16a16dcdc539c293b8c2810",
        "14acc736e336cbd6026df781d4f411e908831815"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 07 10:12:47 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 07 10:12:47 2010 -0800"
      },
      "message": "Merge \"API Support for both synchronous and queued commands, optionally associated metadata.\""
    },
    {
      "commit": "14acc736e336cbd6026df781d4f411e908831815",
      "tree": "ed12a1452bb0e9a7bc9d9a3b4deb00458e90c852",
      "parents": [
        "a44153c1a57202fb538659eb50706e60454d6273"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 06 10:36:06 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 06 12:45:50 2010 -0800"
      },
      "message": "API Support for both synchronous and queued commands, optionally associated metadata.\n\nChange-Id: Idb90d64cb638942210c5822b3cba2f05b087d601\n"
    },
    {
      "commit": "ea7b485595f8cec6a66668b5c54c8f297d843f77",
      "tree": "05551d3bd3db0b0b971a4dfc5d345ea6e2381267",
      "parents": [
        "16afe2fb439cab6125bb46a07a8078d4ce1c1ea5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Dec 05 14:25:34 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Dec 05 16:08:30 2010 -0800"
      },
      "message": "Remove check if the target video resolution is not supported by CameraSource\nand clean up Camera is CameraSource could not created.\n\nbug - 3254411\n\nChange-Id: I43497c450e7007de5ce027e2912b1421119e8887\n"
    },
    {
      "commit": "16afe2fb439cab6125bb46a07a8078d4ce1c1ea5",
      "tree": "146e5ad9abfa370d35b2a8912a4887356764b1e2",
      "parents": [
        "1cc73922339a110d7ffc47e8842f958492dd85bf"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 02 17:42:08 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 03 15:32:47 2010 -0800"
      },
      "message": "Prepare for publishing MediaMetadataRetriever as public API\n\nstep one:\no replaced captureFrame with getFrameAtTime\no removed getMode\n\nbug - 2433195\n\nChange-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12\n"
    },
    {
      "commit": "0f5a6f9231e04b5c04af5dc2ad020755e2616f31",
      "tree": "7c5952114c65c535ad68c362e6e13865e5f77b4d",
      "parents": [
        "7a1e1bdde7a28d9573367d6f95b736fd793ace0c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 29 16:51:55 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 30 22:28:27 2010 -0800"
      },
      "message": "Add preferred preview size support in the camera framework\n\nbug - 3237021\n\nChange-Id: Ica8a3ae5cfbee462b74de98770e33277186c9a2b\n"
    },
    {
      "commit": "c618b5af98dec06d49374a61a5a94016f9fec2d3",
      "tree": "a33e45ff0d2cd56b47da6fced34e898950ca08b2",
      "parents": [
        "c533edc9c70dd9434e2e496dc0d52f534472c7e0"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 30 16:27:42 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 30 16:27:42 2010 +0900"
      },
      "message": "DRM Framework bug fixes.\n\n- Make sure to clean-up obsolete listeners.\n- Close cursor after using it.\n- Add virtual destructor to the base class of OnInfoListener.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: Ibb6dd625ef48e3597188f0d7c90f9d4c780b6139\n"
    },
    {
      "commit": "e2b1028852120bcfded33b8f06f66b780437fe92",
      "tree": "a524b579935df0a8773e780299e31b590d1bdb44",
      "parents": [
        "31d7235c79667f88002d9ad87207099ed438a197"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 23 11:41:34 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 23 14:46:13 2010 -0800"
      },
      "message": "Support streaming data across binder boundaries.\n\nChange-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc\n"
    },
    {
      "commit": "6dc4726e7fa14e4006f6790c6f1ba02cfe888870",
      "tree": "5162c29866b9b737bc3808fd196e437d8cf0c0e1",
      "parents": [
        "321b630783709eeb18952c3408303489db4ea9eb",
        "f798e438c3997fd3fb39538bf3e958cfdc7a477c"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 22 21:29:08 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 22 21:29:08 2010 -0800"
      },
      "message": "am 24a90c26: am d9334934: Merge \"Update of DRM Framework.\"\n\n* commit \u002724a90c2674270fee0783bafa54fd5d845bdf0c18\u0027:\n  Update of DRM Framework.\n"
    },
    {
      "commit": "f798e438c3997fd3fb39538bf3e958cfdc7a477c",
      "tree": "1dbe76860fa450e714c4ca4a73b4935c47b40dcb",
      "parents": [
        "42005680c0817a786f07712ffa359f0883944120",
        "14db41b80c75fd4edfa6c5ed4c776d3537eefb41"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 22 21:25:56 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 22 21:25:56 2010 -0800"
      },
      "message": "am d9334934: Merge \"Update of DRM Framework.\"\n\n* commit \u0027d93349342a89a25c7a884e8543c6adc048c5f86d\u0027:\n  Update of DRM Framework.\n"
    },
    {
      "commit": "321b630783709eeb18952c3408303489db4ea9eb",
      "tree": "87af4e755316233d5f9814b76e5343e9700b275b",
      "parents": [
        "a7e43c6266fa02a30647d74aa9d348f5cb85b8fb",
        "f5ab57c2d5e02af7483c94eddb177e4f5c9e9892"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 22 15:40:29 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 22 15:40:29 2010 -0800"
      },
      "message": "Merge \"Squashed commit of the following:\""
    },
    {
      "commit": "f5ab57c2d5e02af7483c94eddb177e4f5c9e9892",
      "tree": "0290c4064caaca875bfbca4cd3a8857a789d942c",
      "parents": [
        "d8f4d4a919fb4fa6bbd405d03dc91f079c3c2e37"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 22 13:06:35 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 22 14:05:21 2010 -0800"
      },
      "message": "Squashed commit of the following:\n\ncommit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Nov 22 12:57:04 2010 -0800\n\n    set_surface_crop doesn\u0027t seem to work right yet, stop using it in the SoftwareRenderer.\n\n    Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42\n\ncommit 4767b52bee3a54ae117a8708d6832276a44e6a6a\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Nov 22 11:14:57 2010 -0800\n\n    info-\u003emMediaBuffer may still be NULL at this point...\n\n    Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f\n\ncommit 0cef79874e1f1ddb10b7402177a87d3cffc7de92\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Nov 22 10:55:12 2010 -0800\n\n    QCOM\u0027s YVU420 color format conversion has now been tested.\n\n    Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67\n\ncommit 84fe05a6c969ede0ce8a85a530e110afca07c7a7\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Nov 22 09:59:50 2010 -0800\n\n    Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle.\n\n    Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc\n\ncommit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 16:11:06 2010 -0800\n\n    Revamped Software Renderer respects the crop rectangle.\n\n    Removed obsolete ADRENO support code.\n\n    Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535\n\ncommit 8abbc6a5608bff650f968540f24a2eab75f254ed\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 16:10:41 2010 -0800\n\n    The metadata retriever now respects the crop rectangle while capturing a video frame.\n\n    Change-Id: Id3377176060086d16717f62c77ce26fabe899050\n\ncommit 2d42e4466609d304e88bd2cdd6eb7b297340cc21\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 16:09:50 2010 -0800\n\n    Changed ColorConverter APIs to be more general.\n\n    Clients can now refer to crop rectangles in both source and destination.\n\n    Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04\n\ncommit 273184303d54a54febd3e9c3dd4df30507ea78b5\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 15:04:06 2010 -0800\n\n    The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg\n\n    Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4\n\ncommit 2d43390328cadf4ba94c1c3c02e4fb30baa29690\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 14:36:55 2010 -0800\n\n    The AVC software decoder now properly advertises the cropping rectangle.\n\n    Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b\n\ncommit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 13:40:39 2010 -0800\n\n    OMXCodec now signals a format change if the cropping rectangle changes.\n\n    ...and puts the cropping info into its output format.\n\n    Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2\n\ncommit efe0323947029df1c502599ccc288c8d676dfd31\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Nov 19 11:29:39 2010 -0800\n\n    Stagefright\u0027s MetaData object now supports rectangle items.\n\n    Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504\n\nChange-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70\n"
    },
    {
      "commit": "a7e43c6266fa02a30647d74aa9d348f5cb85b8fb",
      "tree": "c13e7a94e0ec0771e72f5c83e8ff81cbc433a644",
      "parents": [
        "f53263a7d580fb550dbc6c8d4f104119beb82ad7",
        "a2cd44cb5067b4fe98794860690394254d3ac73c"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 22 10:48:30 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 22 10:48:30 2010 -0800"
      },
      "message": "Merge \"64-bit file size/offset support for DRM framework\""
    },
    {
      "commit": "d8f4d4a919fb4fa6bbd405d03dc91f079c3c2e37",
      "tree": "f78c215b7bc4dcccb17827ceec3d77c0096d7b9b",
      "parents": [
        "8a674dcc94936e2306121016ab258b4c00cc9d98",
        "42005680c0817a786f07712ffa359f0883944120"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 19:20:59 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 19 19:20:59 2010 -0800"
      },
      "message": "am fb6f4505: am 589e8381: Merge \"Improve camera documentation.\" into gingerbread\n\n* commit \u0027fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6\u0027:\n  Improve camera documentation.\n"
    },
    {
      "commit": "42005680c0817a786f07712ffa359f0883944120",
      "tree": "b99cbd27ab1d554954f237e70a9d29bf7dbae604",
      "parents": [
        "97c9a2ec2a67969de0c5fcbcc03e9ffc8f50e807",
        "c2c8868e59bde7f48998e1d89a0d77217bc64767"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 18:17:24 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 19 18:17:24 2010 -0800"
      },
      "message": "am 589e8381: Merge \"Improve camera documentation.\" into gingerbread\n\n* commit \u0027589e838116b0dffa696fa39336d0588124877f98\u0027:\n  Improve camera documentation.\n"
    },
    {
      "commit": "5b12af0ea4b98ad60bc066bceb8504d16fcca41d",
      "tree": "f13b10098a977dff3d1282cdbf2ac1bc750d511e",
      "parents": [
        "0e89c2282c31173ad03b7593c9587bab5799d89e",
        "674ebd0b4e1143e38392a4e3bb38b4679a4577bc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 19 16:49:10 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 19 16:49:10 2010 -0800"
      },
      "message": "Merge \"Removed uncessary FILE structure pointer for I/O\""
    },
    {
      "commit": "a2cd44cb5067b4fe98794860690394254d3ac73c",
      "tree": "08a581d8684a550faa9f5cb76dc5cab96e641f81",
      "parents": [
        "c726bd8b7b9929fd917b01e5551a66ad5fe2c04e"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Nov 19 15:19:36 2010 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Nov 19 15:52:32 2010 -0800"
      },
      "message": "64-bit file size/offset support for DRM framework\n\nChange-Id: I0ba7147607825234df9fa28732e1bba344e82e79\n"
    },
    {
      "commit": "f5aafb209d01ba2ab6cb55d1a12cfc653e2b4be0",
      "tree": "75b6429a6bb8b78943b770cad6924a7aaa94dc32",
      "parents": [
        "b9ff444a7eaf7ffd43970c0477110c6808bd4a7c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 18 08:40:16 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 19 15:49:42 2010 -0800"
      },
      "message": "Fix issue 3157123.\n\nUse a Mutex wherever atomic operations were used in AudioTrack,\nAudioRecord, AudioFlinger and AudioEffect classes.\n\nChange-Id: I6f55b2cabdcd93d64ef19446735b8f33720f8dbc\n"
    },
    {
      "commit": "674ebd0b4e1143e38392a4e3bb38b4679a4577bc",
      "tree": "413ce9a380d7c35b935e475ea21fecf5cc5466e7",
      "parents": [
        "317ca79a49746dbd1b6bb83712e93e2dc5f6e4f0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 18 20:59:13 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 19 10:48:22 2010 -0800"
      },
      "message": "Removed uncessary FILE structure pointer for I/O\n\no also move the fd owner from caller to callee in the Writers\n\nChange-Id: I510ccfdd0fcc58f1777fea4ed1349fd251852c65\n"
    },
    {
      "commit": "3473846f64f5b28e1cbeb70ef5867073fc93159e",
      "tree": "9651de1dd360d8d77d9d4a53a23ed1181845b93c",
      "parents": [
        "cf6a8d23345a6e54834e53b1eb7e465f3cb5e914"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 16 13:56:11 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Fri Nov 19 22:02:51 2010 +0900"
      },
      "message": "Update of DRM Framework.\n\n-Access permission handling\n  Introduce an internal function which allows the desired process to\n  access decryption flow. This new function is just for reference and\n  each OEM manufacturer should implement/replace with their solutions.\n-New API, getMetadata()\n  This API is for retrieving media metadata from container-based DRM,\n  such as OMA forward-lock content. This API asks DRM agent to retrieve\n  media metadata hiddein inside of DRM special container.\n-New API, acquireRights()\n  This API wraps acquireDrmInfo() and processDrmInfo().\n  If DRM agent has valid implementation of both APIs,\n  Application can acquire DrmRights only by calling this API.\n-Bug fix in event loop of OnInfoListener.\n  Separate OnInfo event loop from mail thread loop so as to avoid\n  the issue that message is not dispatched when mail thread is busy.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: I04ee3e0988152a71e221f2256d83253749a29da0\n"
    },
    {
      "commit": "c2c8868e59bde7f48998e1d89a0d77217bc64767",
      "tree": "bffc3c9c96072ce21e9c55372b4b39fa8ed991bc",
      "parents": [
        "ce0febae177d1816ee7a6750ed9fba52472b9a71"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 15:56:16 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 16:20:04 2010 +0800"
      },
      "message": "Improve camera documentation.\n\nbug:3212606\nChange-Id: Iee7106e4665c08a4c75471114010b75d63ac74ce\n"
    },
    {
      "commit": "c7fc37a3dab9bd1f96713649f351b5990e6316ff",
      "tree": "bd8cb4ea7521967152650311b485d2d0e6b3bcf2",
      "parents": [
        "17468ee8dbfe5eb0b9a4f72be80cbb92a5134800"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 16 14:04:54 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 18 14:12:24 2010 -0800"
      },
      "message": "64-bit file size/offset support for media framework\n\nChange-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10\n"
    },
    {
      "commit": "14d32754d3a9c1ccf49188c489f224800cd747a7",
      "tree": "dee16a191c2e4b08082a8ebaf6729d41d99c1163",
      "parents": [
        "e1b8cf1cafb75ce1339b67eb1764e224a257c579",
        "771b85d9245a24273497792a2515d88d31c99e1e"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Nov 18 11:18:35 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 18 11:18:35 2010 -0800"
      },
      "message": "Merge \"Add getUri() for streaming\""
    },
    {
      "commit": "771b85d9245a24273497792a2515d88d31c99e1e",
      "tree": "ad3f2d0ccc747b0ed36950ab89bab9d27bf51089",
      "parents": [
        "8fff6bb0000e43f02c9d04ca90f941fdefdc1356"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Nov 09 15:06:51 2010 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Nov 18 09:55:35 2010 -0800"
      },
      "message": "Add getUri() for streaming\n\nChange-Id: I56e15e67cc5f4d0f41c9e2985404a4d89d757e7e\n"
    },
    {
      "commit": "38f63d7b118448c93dcdd10ec77a5e61c283928c",
      "tree": "673fe6727d5bb72c16373c5ac110c00b3dd9195f",
      "parents": [
        "ba529e486dde15fe75ea1b48570f9d60a4cf3c48",
        "f1fb01a7f00b8da90a36268aba8584a872e99175"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Nov 17 09:49:23 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 17 09:49:23 2010 -0800"
      },
      "message": "Merge \"Add new audio mode for audio communications other than telelphony.\""
    },
    {
      "commit": "0a5ca668c6f7d45706e9aec4a1dfec0aacc6d233",
      "tree": "d9a1933cf2af87ad563e9220818c8d752b3a0379",
      "parents": [
        "6f9f029f7fc625bb2a1b448ad30a80a6a6a73b20"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 16 13:05:53 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 16 13:05:53 2010 -0800"
      },
      "message": "Remove all traces of legacy renderer support in stagefright.\n\nChange-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d\n"
    },
    {
      "commit": "f1fb01a7f00b8da90a36268aba8584a872e99175",
      "tree": "faa835310fc53729ef0bc3e46914f830b414d4d7",
      "parents": [
        "8fff6bb0000e43f02c9d04ca90f941fdefdc1356"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 15 12:11:32 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 16 10:23:37 2010 -0800"
      },
      "message": "Add new audio mode for audio communications other than telelphony.\n\nThe audio mode MODE_IN_CALL signals the system the device a phone\n call is currently underway. There was no way for audio video\n chat or VoIP applications to signal a call is underway, but not\n using the telephony resources. This change introduces a new mode\n to address this. Changes in other parts of the system (java\n and native) are required to take this new mode into account.\nThe generic AudioPolicyManager is updated to not use its phone\n state variable directly, but to use two new convenience methods,\n isInCall() and isStateInCall(int) instead.\n\nChange-Id: Id744cd26520ea1d1a4795eabe6a1f0c58789af76\n"
    },
    {
      "commit": "30d713a1c18a5ff892a7f13b2524ba624b70890a",
      "tree": "372cbad6a783c5cb5d3c2091722cdc8943c7bc28",
      "parents": [
        "2d71233de5450f1b128c8149fdbdf39b937f3cb8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 10 18:42:40 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 15 08:36:42 2010 -0800"
      },
      "message": "Remove legacy PV stuff\n\nChange-Id: I60ffea7c65592df4b3a80c590c863f1f79b371fd\n"
    },
    {
      "commit": "2d71233de5450f1b128c8149fdbdf39b937f3cb8",
      "tree": "98e5b32b69e582be0720c8d2a4d5748ff07e4a83",
      "parents": [
        "56ecd20263d7f63476f756fc5d8b043b325c7bfb",
        "393410a441b6d06daf286ed496470e9d6b2b6ca8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 12 15:33:41 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 12 15:33:41 2010 -0800"
      },
      "message": "Merge \"Separate the key for audio sampling rate and video frame rate in MetaData.h\""
    },
    {
      "commit": "56ecd20263d7f63476f756fc5d8b043b325c7bfb",
      "tree": "601ad5cd05a0cd81c1fb44bcb1914966f4401812",
      "parents": [
        "54f5501a61bfc13930f9f8d08cbd71a69924d4cc"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 09 14:06:52 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Nov 12 14:35:52 2010 -0800"
      },
      "message": "Add support for audio recording source in generic audio policy mgr.\n\nUpdate the platform-independent audio policy manager to pass the\n nature of the audio recording source to the audio policy client\n interface through the AudioPolicyClientInterface::setParameters()\n method.\n\nChange-Id: I6b4fd0f8a3acea0d7d30bbad98edd1977dc012bf\n"
    },
    {
      "commit": "393410a441b6d06daf286ed496470e9d6b2b6ca8",
      "tree": "b4827a533706176e7877f98ef79e9021b7c189b2",
      "parents": [
        "54f5501a61bfc13930f9f8d08cbd71a69924d4cc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 10 20:43:53 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 11 22:11:20 2010 -0800"
      },
      "message": "Separate the key for audio sampling rate and video frame rate in MetaData.h\n\nChange-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040\n"
    },
    {
      "commit": "d78b7ad3c16068877f6da93f9fc8f117393fcd3e",
      "tree": "b272b2f0f9a1246c989963d82f55dba6e723377f",
      "parents": [
        "b50a8033f1c7c2b58913212825f9200f1a9e5652",
        "effae7fc1aab5354aae649d958db3c8ed77cafa7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 11 15:26:21 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 11 15:26:21 2010 -0800"
      },
      "message": "Merge \"Implement reducing the buffer count of a Surface.\""
    },
    {
      "commit": "b50a8033f1c7c2b58913212825f9200f1a9e5652",
      "tree": "4ed9ff619cc7ffb092445fa948b73735932b730d",
      "parents": [
        "be0646b4ef6f764c854b61f572c18f8c4fc9a8b0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 11 00:33:05 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 11 14:08:52 2010 -0800"
      },
      "message": "Add color format query support to QueryCodecs()\n\nChange-Id: Ic8589649cd09392a1b969a30082b4c9c4e6cc6a7\n"
    },
    {
      "commit": "effae7fc1aab5354aae649d958db3c8ed77cafa7",
      "tree": "24879af9380d3e83d02e451e652108ce3e6f2d54",
      "parents": [
        "5f0cb5c62553125715dbbb171f0b81e4b7c6d6ac"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 02 11:51:32 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 11 14:06:38 2010 -0800"
      },
      "message": "Implement reducing the buffer count of a Surface.\n\nChange-Id: I7f979c60c06d654aa8265002836277434bc1a64f\nBug: 3095167\n"
    },
    {
      "commit": "f23c4f92c3b0202435cf87db2642156fabc46f02",
      "tree": "49bc805b33eabf2cc39bb5c39d780d050bce3347",
      "parents": [
        "5f0cb5c62553125715dbbb171f0b81e4b7c6d6ac"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 10 21:11:41 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 11 11:26:16 2010 -0800"
      },
      "message": "Fix memory leak when 0-memcpy quirk is used\n\no minor change to the original patch by Andreas:\n  call restorePatchedDataPointer() method only if kAvoidMemcopyInputRecordingFrames is turned on\n\nChange-Id: Idf3710e6f759d37d28e866613f98d39215722cb9\n"
    },
    {
      "commit": "c643d77a099b0e86ad12de9b498f6f780e03184e",
      "tree": "d270c6607604f0003448ea28a627d4c0cd6f17a5",
      "parents": [
        "0bc8984f6b98a63ba74de7bca697173108dfdd3b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 08 18:38:14 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 09 14:32:43 2010 -0800"
      },
      "message": "Add recording source for voice communication\n\nAdd a recording source used to designate a recording stream for\nvoice communications such as VoIP.\n\nChange-Id: I4091d67069b1a0170c1a5ca5e6acd51eb0aa08f9\n"
    },
    {
      "commit": "13f6284305e4b27395a23db7882d670bdb1bcae1",
      "tree": "d1d52048987dfa98e53e151a6820ae332e59d59a",
      "parents": [
        "30db2709395c73fb3b4ee334119ceba68c95ab13"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 09 11:15:47 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 09 11:48:29 2010 -0800"
      },
      "message": "Rotation support\n\n- We only support 0, 90, 180, and 270 degree clockwise rotation\n\n- Some players are known to ignore composition matrix in the MP4 file,\n  although this is part of the MP4 file standard.\n  Both QT and YT are supporting the rotation\n\nThe original patch (65a73f4e8c79d05c0d9001b660325748d4ecf37b) was not merged.\nThe only change I made is to reuse the same kKeyRotation in MetaData.h;\nand thus do not neeed to use kKeyRotationDegree.\n\nChange-Id: Ib328716d4842201c4adf57e4ddfe1f1ac1ae4d8a\n"
    }
  ],
  "next": "30db2709395c73fb3b4ee334119ceba68c95ab13"
}
