)]}'
{
  "log": [
    {
      "commit": "d91c921c1575873acefdb79cc8401dc7903d1052",
      "tree": "4be2fd0031970efe1e99b443fe3d047fb356be14",
      "parents": [
        "2496ffbc450029ee9ec26980a101e71352b4f635"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 30 15:52:23 2020 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 30 15:52:23 2020 -0800"
      },
      "message": "Avoid reading at negative offsets\n\nAvoid making MPEG4Extractor read from negative data source offsets,\nbut also make FileSource::readAt() handle them gracefully.\n\nBug: 141242340\nTest: poc, manual\nChange-Id: If82dcaec43a63b71d24a5572eeea5e0685fb4a1c\n"
    },
    {
      "commit": "dab79b3d09783e5053dc91b860eac06bd415cbfd",
      "tree": "229183838216adea270164035e0544354f4bfb5b",
      "parents": [
        "68db3a07ae337de45b82c6e45d41c2c325f8e2dd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 18 08:25:47 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 21 14:15:00 2019 -0800"
      },
      "message": "AIDLize MediaExtractorService\n\nUse .aidl instead of handwritten binder code for MediaExtractorService.\n\nTest: build, CTS\n\nChange-Id: Ibc93eca9128552c23359218ac3bf12319391e1b1\n"
    },
    {
      "commit": "f9656ff1f117830f2f3d3e24be354fa3a4db3ada",
      "tree": "b8958bc6b2700ebc86cb2afdd992a177c2c1ae23",
      "parents": [
        "7e5e530d39e3de6f904c8587b1c60bed631178c1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 07:51:15 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 11:18:27 2019 -0800"
      },
      "message": "Remove DrmInitialization from IDataSource\n\nDrmInitialization only needs to be called on PlayerServiceFileSource\nand PlayerServiceMediaHTTP, so just have those initialize the forward\nlock engine automatically, which removes the need to have this in the\nIDataSource interface.\n\nTest: atest cts/tests/tests/drm/src/android/drm/cts/DRMTest.java\n\nChange-Id: I344f46b65b5c473930b16b9b4041e4897384dc18\n"
    },
    {
      "commit": "9c6f790843939700fa18779f14b1df5fa1161024",
      "tree": "fe8d8bac73ced833f9b8b1bf7758bc6bee7ff097",
      "parents": [
        "79b0c24b58af5fbfec814a2a11506ef0f72541c3"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 14 11:16:39 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 15 17:38:17 2019 -0700"
      },
      "message": "Remove libdrmframework.so dependency from libdatasource.so\n\nName changes:\nClearFileSource -\u003e FileSource\nClearMediaHTTP -\u003e MediaHTTP\nFileSource -\u003e PlayerServiceFileSource\nMediaHTTP -\u003e PlayerServiceMediaHTTP\n\nPlayerServiceXXX are able to handle OMA(forward-lock) files and now\nmoved to media/libmediaplayerservice/datasource since they only work\non mediaserver process.\n\nBug: 142567168\nTest: build and DrmTest\n\nChange-Id: I9292dba33d149efe17cf566017dcce1710cc8c88\n"
    },
    {
      "commit": "79b0c24b58af5fbfec814a2a11506ef0f72541c3",
      "tree": "2551d295da89029c75f6a9219a6bc1a3b2980b98",
      "parents": [
        "1f72838954cb3689fb58eef6276553d9a45ff0a8"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Sun Oct 13 08:17:34 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 15 11:00:29 2019 -0700"
      },
      "message": "Make DataSourceFactory singletone\n\nThis is preparation for having a subclass of DataSourceFactory which\nis only used in mediaserver process with OMA (forward-lock) use case.\n\nTest: build\nBug: 142567168\nChange-Id: I2a1ab3d1ae89f657a84376d9a95d4e814b545b4f\n"
    },
    {
      "commit": "fa8be7d2371d66db6c7838060d5729f6fd9374ef",
      "tree": "aa00504b96299a891446e46c81c6b0d72c9aae02",
      "parents": [
        "58ae37b5b34d6a2bddd46494230a58f5fcc3f5e3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 23 12:15:57 2019 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 09 07:41:58 2019 -0700"
      },
      "message": "Split datasource out of libstagefright\n\ninto libdatasource, which contains:\n  DataSourceFactory\n  (Clear)FileSource\n  (Clear)MediaHTTP\n  DataURISource\n  HTTPBase\n  NuCachedSource2\n\nThis is needed to break a circular dependency in an upcoming CL.\n\nTest: build, boot\n\nChange-Id: I34d9937235c78f18f51b18945342a0743e209577\nMerged-In: I34d9937235c78f18f51b18945342a0743e209577\n"
    }
  ]
}
