)]}'
{
  "log": [
    {
      "commit": "2db8455d8f4468a637109d31f319ce02d9d743ec",
      "tree": "7f3418b24ec0779af3ab25202eb5063e860610d5",
      "parents": [
        "8566a635aa4bf6d2e908f0bc64d4fb8917025b58"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 28 11:19:57 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 28 11:52:43 2010 -0800"
      },
      "message": "API Extension: Support for optionally specifying a map of extra request headers when specifying the uri of media data to be played.\n\nrelated-to-bug: 2393577\n\nOriginal change by Andrei Popescu \u003candreip@google.com\u003e\n"
    },
    {
      "commit": "a64c8c79af1a15911c55306d83a797fa50969f77",
      "tree": "09edd1daa9b6d41bc6eeafb3207067f288b30ef7",
      "parents": [
        "8445fd927053268929125a6a9406ec3b622e2920"
      ],
      "author": {
        "name": "niko",
        "email": "niko@google.com",
        "time": "Mon Jul 20 15:07:26 2009 -0700"
      },
      "committer": {
        "name": "niko",
        "email": "niko@google.com",
        "time": "Wed Jul 22 15:03:22 2009 -0700"
      },
      "message": "Added native metadata support.\n\nMetadata.java:\nFixed typo 8k !\u003d 8092. The comment was correct though.\n\nIn Metadata.h, the new Metadata class is declared in the ns android::media\nto limit the chances of conflict with other packages.\n\nThe MetadataType in MediaPlayerInterface is gone and moved to Metadata as\nan inner typedef.\n\nSimilarly the SortedVector\u003cMetadataType\u003e instance have been replace by a\nnew type Metadata::Filter.\n\nAll the keys declared in the java counterpart are also in Metadata.h.\n\nMetadata.cpp:\nContains the implementation of the native metadata packing.\n\nThere an associated change in the opencore package that should go in\nat the same time as this one.\n"
    },
    {
      "commit": "d608a813a9d2cbc6e2a5ea81d78d4a9044090c4c",
      "tree": "c6661ade3ceeacfd804236265d2bdc6a9f65cff7",
      "parents": [
        "919f7387f2eafc36223a5cd599fb46871f801b10"
      ],
      "author": {
        "name": "niko",
        "email": "niko@google.com",
        "time": "Thu Jul 16 16:39:53 2009 -0700"
      },
      "committer": {
        "name": "niko",
        "email": "niko@google.com",
        "time": "Fri Jul 17 11:31:11 2009 -0700"
      },
      "message": "Added method to get metadata out of the player.\n\nThe method passes a list of metadata ids to be retrieved and\na parcel where the metadata records should be appended.\n\nIf the list of ids is empty, all the metadata should be returned.\n"
    },
    {
      "commit": "14d2747c7e54037e267bcff78b29e65b2181f0fa",
      "tree": "decfefe1e3d86b5f246afda53200aca2a981709e",
      "parents": [
        "20111aa043c5f404472bc63b90bc5aad906b1101"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Mon Jul 13 14:37:49 2009 -0700"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Thu Jul 16 11:22:31 2009 -0700"
      },
      "message": "New test player stub to load mock native players.\n\nAdded a new class TestPlayerStub that takes a magic url in the setDataSource call.\nBased on the value of the url, the stub is going to load a DL and create the concrete\nplayer used during the test.\nAfter these initialization steps TestPlayerStub is just a wrapper.\n\nAdded a new functional test MediaPlayerInvokeTest to demonstrate how a new\nmock player to test the invoke method can be loaded.\n\nAdded a new mock player for the invoke test: invoke_mock_media_player.cpp.\n"
    }
  ]
}
