)]}'
{
  "log": [
    {
      "commit": "71f2cf116aab893e224056c38ab146bd1538dd3e",
      "tree": "75a9162a0ea00830184b12a9ca51d3a1a040a5bb",
      "parents": [
        "1da79501066a74b630c8aa138db0f86ab6c690bb"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "79cd8ba46b1ac15f75174beebc1411edea32c05b",
      "tree": "40fc349010204336cb3b98e64a944ff2f424aa7d",
      "parents": [
        "d7c8b6d2a4d2ec16f4f61c66f400d8b20726964c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jun 14 17:56:13 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 15 07:30:19 2011 -0700"
      },
      "message": "Remove unneeded #include \u003csys/resource.h\u003e\n\nSuggested in code review for previous change.\n\nChange-Id: Ic3225b240367dc6c9bf56fb4498fb8a0f9f806ec\n"
    },
    {
      "commit": "6af763bec7c3f4d50fee8dd0046409bb8a7fe8f6",
      "tree": "aad20d1f3e7ee495b531dde5ae78626e0911790d",
      "parents": [
        "ed1a9022a19a9003931ce47ff7a0a0b5564255a5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 04 17:58:57 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 03 16:12:37 2011 -0700"
      },
      "message": "Remove dead code related to gettid\n\nThe gettid system call is always available now.\n\nChange-Id: Ib78b41781eda182dc8605daf456bbea7ff7c2dc0\n"
    },
    {
      "commit": "5b7ced6a4ebcec34a36d0779773bc9e671732dbf",
      "tree": "0489d59487f225e900896f1f5fd152dc2c498666",
      "parents": [
        "affb58e727863fdc8d2c0ea444054b581eb41be5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 10:25:44 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 11:13:59 2011 -0700"
      },
      "message": "Support passing headers to MediaMetadataRetriever\u0027s setDataSource API\n\nChange-Id: Ib1a5c08fc5034cac05034db27007a35c9b660b26\nrelated-to-bug: 3506316\n"
    },
    {
      "commit": "11eab056dd0133a390169d3581edf3eef26d6a54",
      "tree": "efcb4b7e4e289be17db5ed1356f365e0e18f87e6",
      "parents": [
        "1415bb7a948e0add9f6beb6dccbea70e9d2bedd0"
      ],
      "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": "faf09ba9405ff019b5ca7e2317debe4ff269d4f8",
      "tree": "4e455c7318659101ff36e280abb91be3689fb778",
      "parents": [
        "848024f744729a131a461f3d13151b2d0393de17"
      ],
      "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": "8ec2d9add9f25198b9ea7023c7c772ae17f72ea4",
      "tree": "43a85c40ed38a3806ac4f7890dc9069134fa2a44",
      "parents": [
        "98d50a0be8a61fa1d093136b57bc5712be795c2b"
      ],
      "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": "53ebc72fd83f83bb5536d5917390aae03b7f5cad",
      "tree": "1fe4af89aa72abfd2c969789cd0b98fe0b4737fd",
      "parents": [
        "17ae359721ba74399e785369346509b776999d1f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 16:04:27 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 16:52:59 2010 -0800"
      },
      "message": "Support extracting thumbnail from rotated video tracks\n\nChange-Id: Ife0a2536aaac5ff1efdf1035b9d2c892773ee16c\n"
    },
    {
      "commit": "8d65dd26530c7559082bd738cf930e2806158ab2",
      "tree": "5913164705ac85e30dc983867bc7d4ae31418525",
      "parents": [
        "1e4b9f3936d6f357e89360293e05a0e16d5fa440"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 23 16:40:57 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 23 16:40:57 2010 -0700"
      },
      "message": "Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright.\n\nChange-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce\nrelated-to-bug: 2370115\n"
    },
    {
      "commit": "1875b7e2cf9f5d4fd4ae0cf672e7f4de7f89a6a3",
      "tree": "4979069a20c3015ccffea51807b46c07ccc14291",
      "parents": [
        "d1f74d0e3352987467f12a65b8685b60b057d9ad"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 29 17:16:30 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 29 17:16:30 2010 -0800"
      },
      "message": "Don\u0027t use MemoryDealer in MetadataRetrieverClient as it\u0027s not necessary.\n\nUse a MemoryHeapBase directly instead.\n"
    },
    {
      "commit": "6faf7893b6307a3295993380d61af49f2cda965c",
      "tree": "0b96c41270e160fbafb2956f8a91ec3ef1772b67",
      "parents": [
        "bf124e7e41f7850ac1b7be808221a462db6f3447"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jan 25 19:00:00 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 29 14:51:06 2010 -0800"
      },
      "message": "Simplify the MemoryDealer implementation\n\nAt some point the implementation became complicated because of\nSurfaceFlinger\u0027s special needs, since we are now relying on gralloc\nwe can go back to much simpler MemoryDealer.\n\nRemoved HeapInterface and AllocatorInterface, since those don\u0027t need\nto be paramterized anymore. Merged SimpleMemory and Allocation.\nMade SimplisticAllocator non virtual.\n\nRemoved MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)\n\nRemoved a lot of unneeded code.\n"
    },
    {
      "commit": "7782fdf5b78aecd078eb0d35c23dd77bc4c3ec6e",
      "tree": "460415de251fc3d4f63727cd3358741300998e56",
      "parents": [
        "3bf657a22bc46f06a9b73d2c5d256f48205849d6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 04 15:02:02 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 04 15:02:02 2010 -0800"
      },
      "message": "Make metadata support through stagefright property dependent until it\u0027s ready.\n"
    },
    {
      "commit": "6a3a018f91c51b5cc223d1d081144354362f87b5",
      "tree": "39ba692cbfc96f46d66abc30179b35b552c5bbb8",
      "parents": [
        "3ea664640d0dd08cf89fd38f7aa00756651f4830"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 17 13:31:13 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 17 13:51:37 2009 -0800"
      },
      "message": "Disable HTTP playback and metadata support in stagefright, use PV instead.\n"
    },
    {
      "commit": "ebcb7c3167e76c19d4721dbc472772744918e868",
      "tree": "933298cb3c481692751c615e5aeb71c89cee3510",
      "parents": [
        "b59573cf53c8f09ac25fe0bfaf1d7067604ee983",
        "8424ec323b2bc38887370c75e2c1fcd84bcdb013"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 19:58:00 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 19:58:00 2009 -0800"
      },
      "message": "am 8424ec32: Merge change I0f9a53d4 into eclair\n\nMerge commit \u00278424ec323b2bc38887370c75e2c1fcd84bcdb013\u0027 into eclair-mr2\n\n* commit \u00278424ec323b2bc38887370c75e2c1fcd84bcdb013\u0027:\n  Set metadata retriever thread group to the caller\u0027s group.\n"
    },
    {
      "commit": "0f9a53d499b4ff56071c5d7862e00027eb11e9d4",
      "tree": "e374b730a12863aa8a5d5f193016965f113316b2",
      "parents": [
        "ad431ad8631d8b19b04193ff1f89a955a7643c60"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 16:51:15 2009 -0800"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 16:51:15 2009 -0800"
      },
      "message": "Set metadata retriever thread group to the caller\u0027s group.\n\nThis patch modifies the native binder interface to the metadata\nretriever to pass the caller\u0027s thread group across the binder\ninterface. On the server side, the thread scheduler group is\nset to the caller\u0027s scheduler group temporarily and restored\nafter the request has completed. This patch also reverts a\nprevious patch where the priority of the thread was forced to\na low priority foreground thread.\n\nThis should give apps more control over the priority of their\nmetadata retrieval, particularly allow background process to\nrun without hogging the CPU.\n"
    },
    {
      "commit": "dcaa220ff5f360a29ac8be0eb12a8238ecaa080f",
      "tree": "8af64f607838fa0af5c45057b518c76b552cb0a4",
      "parents": [
        "818a9cf827f282addbf7c8ee23534e08a3aaa358"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 05 12:04:22 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 05 13:06:17 2009 -0800"
      },
      "message": "DO NOT MERGE: Squashed commit of the following:\n\ncommit 08259dd3dc9026887f9bbfedaf45866eb56ea9bc\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 12:02:31 2009 -0800\n\n    DO NOT MERGE: Use PV for metadata extraction even if stagefright is used for playback.\n\ncommit 991832fe4dc012e51d3d9ed8d647c7f09991858f\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 11:24:11 2009 -0800\n\n    DO NOT MERGE: Do not assert if we encounter OMX_StateInvalid. All bets are off though.\n\ncommit cec45cf302d9218fe79956cbe8a462d7ca3a10bb\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Oct 26 16:11:54 2009 -0700\n\n    DO NOT MERGE: When freeing an OMX node, attempt to transition it from its current state all the way to \"Loaded\" in order to properly free any allocated buffers.\n\ncommit 34a1e885ef9113d68acbc26d36fcc47fdebbed84\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 11:10:49 2009 -0800\n\n    DO NOT MERGE: Fix heap corruptin in OMXNodeInstance.\n\ncommit 5a47f7439a1298b330541a7e4e647a8b44487388\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 11:08:19 2009 -0800\n\n    DO NOT MERGE: Fix seek-on-initial-read behaviour of OMXCodec.\n\ncommit 45bed64722501b9f411a2940aff5aff4cc4d2e98\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 11:02:23 2009 -0800\n\n    DO NOT MERGE: Renaming string.h to stagefright_string.h to avoid conflicts.\n\ncommit 6738e306a50196f31a73d4fc7b7c45faff639903\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Oct 15 13:46:54 2009 -0700\n\n    DO NOT MERGE: Reimplement the OMX backend for stagefright.\n\n    Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.\n\n    Changed APIs to conform to the rest of the system.\n"
    },
    {
      "commit": "5a7691f0e13620322103d61c9f2b1eeb908fd37b",
      "tree": "77e6a9efe128994405b3bd77b2b8b2ae966c571a",
      "parents": [
        "622b190c878e38468096ef0fe1cd28dbc10c3b33",
        "e8543418783f8f8f9a6bafdaa1dd6289661eac85"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Oct 28 11:38:08 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 28 11:38:08 2009 -0700"
      },
      "message": "am e8543418: Merge change I7c0d20a7 into eclair\n\nMerge commit \u0027e8543418783f8f8f9a6bafdaa1dd6289661eac85\u0027 into eclair-mr2\n\n* commit \u0027e8543418783f8f8f9a6bafdaa1dd6289661eac85\u0027:\n  Run the metadataretriever at background priority. Bug 2187133.\n"
    },
    {
      "commit": "7c0d20a753a930507bec09d7f89da83acc86d0da",
      "tree": "cc2e44fc69077f36600b987cb99cc55f98462084",
      "parents": [
        "6897e36b894b2a10fd8b2e3af6587b5f789fde72"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Oct 26 16:28:26 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Oct 26 16:28:26 2009 -0700"
      },
      "message": "Run the metadataretriever at background priority. Bug 2187133.\n\nThis change forces metadata retreiver threads to background priority.\nUses an inner class to encapsulate the priority change so that it\nautomatically restores priority when returning to the client.\n"
    },
    {
      "commit": "53a76bd0c918082847e52570c307ed3ba325992d",
      "tree": "05ff3a0e497c47ab8a0eed430072063ec547c6ff",
      "parents": [
        "2d295a9601315a2610a2cb759ed9a4f787e7d4b5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 06 16:20:44 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 08 15:06:09 2009 -0700"
      },
      "message": "Split the ColorConverter off SoftwareRenderer, metadata support in stagefright.\n"
    },
    {
      "commit": "67fc234a2f717e4bc979e2cb148115a0e73b0877",
      "tree": "03f940f93f120b1bec8d4147e0c8a5faf3427058",
      "parents": [
        "f993fefc3b14ece3f0f3eac6bb3d241bffb3cdfb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 29 10:45:27 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 29 12:43:12 2009 -0700"
      },
      "message": "Fix some metadata retriever issues:\n1. mRetriever was initialized twice: one in the constructor and the other in the setDataSource\n2. cached the mode so that setMode can still be called before setDataSource.\n   mRetriever won\u0027t be initialized until data source is set; thus we have to do this\n"
    },
    {
      "commit": "392ff3b5296e0cee8d5db386d2ef72e2719890c8",
      "tree": "5d533efc93f3d87e62beb4eea7a5d0eff66dc338",
      "parents": [
        "0b98c944c6bac98d95c93916cde31f841b44d9aa"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Sep 06 14:29:45 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 08 11:04:53 2009 -0700"
      },
      "message": "Add basic metadata retrieval support for midi, ogg, etc.\nBug 2050320\n"
    },
    {
      "commit": "0795272aa226f4e965968a03daddc53ce30b7cda",
      "tree": "6b4e8ba5e57c5dcf2dd770c24e14c43eda42fdd7",
      "parents": [
        "25ba5b6564224dceefa086b5c439ef28dad530ca"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 19 19:08:10 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 12:55:03 2009 -0700"
      },
      "message": "move libbinder\u0027s header files under includes/binder\n"
    },
    {
      "commit": "680f8c77d5e9e89ced62047f703b47a6b6cf4b86",
      "tree": "176e45f1c80e0806bfff66be58dcad4314e1e447",
      "parents": [
        "2a73de7b21a89aa2ba4c254d28658b49793425b2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Mar 21 11:40:18 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 23 12:00:23 2009 -0700"
      },
      "message": "Deal better with situations where OpenCORE is disabled.\n"
    },
    {
      "commit": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    }
  ]
}
