Merge "Remove DrmInitialization from IDataSource"

am: bc0d257bbe

Change-Id: I1423a52edff5d3abb2bdf82010263e4d0c71860d
gugelfrei
Marco Nelissen 5 years ago committed by android-build-merger
commit 82fe8f2d3e

@ -689,10 +689,6 @@ void NuCachedSource2::resumeFetchingIfNecessary() {
restartPrefetcherIfNecessary_l(true /* ignore low water threshold */);
}
sp<DecryptHandle> NuCachedSource2::DrmInitialization(const char* mime) {
return mSource->DrmInitialization(mime);
}
String8 NuCachedSource2::getUri() {
return mSource->getUri();
}

@ -44,7 +44,6 @@ struct NuCachedSource2 : public DataSource {
virtual status_t getSize(off64_t *size);
virtual uint32_t flags();
virtual sp<DecryptHandle> DrmInitialization(const char* mime);
virtual String8 getUri();
virtual String8 getMIMEType() const;

@ -66,9 +66,6 @@ public:
void close() {}
uint32_t getFlags() override { return 0; }
String8 toString() override { return String8("HeifDataSource"); }
sp<DecryptHandle> DrmInitialization(const char*) override {
return nullptr;
}
private:
enum {

@ -23,7 +23,6 @@
#include <binder/IMemory.h>
#include <binder/Parcel.h>
#include <drm/drm_framework_common.h>
#include <media/stagefright/foundation/ADebug.h>
namespace android {
@ -35,7 +34,6 @@ enum {
CLOSE,
GET_FLAGS,
TO_STRING,
DRM_INITIALIZATION,
};
struct BpDataSource : public BpInterface<IDataSource> {
@ -95,47 +93,6 @@ struct BpDataSource : public BpInterface<IDataSource> {
remote()->transact(TO_STRING, data, &reply);
return reply.readString8();
}
virtual sp<DecryptHandle> DrmInitialization(const char *mime) {
Parcel data, reply;
data.writeInterfaceToken(IDataSource::getInterfaceDescriptor());
if (mime == NULL) {
data.writeInt32(0);
} else {
data.writeInt32(1);
data.writeCString(mime);
}
remote()->transact(DRM_INITIALIZATION, data, &reply);
sp<DecryptHandle> handle;
if (reply.dataAvail() != 0) {
handle = new DecryptHandle();
handle->decryptId = reply.readInt32();
handle->mimeType = reply.readString8();
handle->decryptApiType = reply.readInt32();
handle->status = reply.readInt32();
const int bufferLength = data.readInt32();
if (bufferLength != -1) {
handle->decryptInfo = new DecryptInfo();
handle->decryptInfo->decryptBufferLength = bufferLength;
}
size_t size = data.readInt32();
for (size_t i = 0; i < size; ++i) {
DrmCopyControl key = (DrmCopyControl)data.readInt32();
int value = data.readInt32();
handle->copyControlVector.add(key, value);
}
size = data.readInt32();
for (size_t i = 0; i < size; ++i) {
String8 key = data.readString8();
String8 value = data.readString8();
handle->extendedData.add(key, value);
}
}
return handle;
}
};
IMPLEMENT_META_INTERFACE(DataSource, "android.media.IDataSource");
@ -178,42 +135,6 @@ status_t BnDataSource::onTransact(
reply->writeString8(toString());
return NO_ERROR;
} break;
case DRM_INITIALIZATION: {
CHECK_INTERFACE(IDataSource, data, reply);
const char *mime = NULL;
const int32_t flag = data.readInt32();
if (flag != 0) {
mime = data.readCString();
}
sp<DecryptHandle> handle = DrmInitialization(mime);
if (handle != NULL) {
reply->writeInt32(handle->decryptId);
reply->writeString8(handle->mimeType);
reply->writeInt32(handle->decryptApiType);
reply->writeInt32(handle->status);
if (handle->decryptInfo != NULL) {
reply->writeInt32(handle->decryptInfo->decryptBufferLength);
} else {
reply->writeInt32(-1);
}
size_t size = handle->copyControlVector.size();
reply->writeInt32(size);
for (size_t i = 0; i < size; ++i) {
reply->writeInt32(handle->copyControlVector.keyAt(i));
reply->writeInt32(handle->copyControlVector.valueAt(i));
}
size = handle->extendedData.size();
reply->writeInt32(size);
for (size_t i = 0; i < size; ++i) {
reply->writeString8(handle->extendedData.keyAt(i));
reply->writeString8(handle->extendedData.valueAt(i));
}
}
return NO_ERROR;
} break;
default:
return BBinder::onTransact(code, data, reply, flags);

@ -50,8 +50,6 @@ public:
virtual uint32_t getFlags() = 0;
// get a description of the source, e.g. the url or filename it is based on
virtual String8 toString() = 0;
// Initialize DRM and return a DecryptHandle.
virtual sp<DecryptHandle> DrmInitialization(const char *mime) = 0;
private:
DISALLOW_EVIL_CONSTRUCTORS(IDataSource);

@ -31,6 +31,7 @@ PlayerServiceFileSource::PlayerServiceFileSource(const char *filename)
mDrmBufOffset(0),
mDrmBufSize(0),
mDrmBuf(NULL){
(void) DrmInitialization(nullptr);
}
PlayerServiceFileSource::PlayerServiceFileSource(int fd, int64_t offset, int64_t length)
@ -40,6 +41,7 @@ PlayerServiceFileSource::PlayerServiceFileSource(int fd, int64_t offset, int64_t
mDrmBufOffset(0),
mDrmBufSize(0),
mDrmBuf(NULL) {
(void) DrmInitialization(nullptr);
}
PlayerServiceFileSource::~PlayerServiceFileSource() {
@ -87,7 +89,9 @@ ssize_t PlayerServiceFileSource::readAt(off64_t offset, void *data, size_t size)
}
sp<DecryptHandle> PlayerServiceFileSource::DrmInitialization(const char *mime) {
if (getuid() == AID_MEDIA_EX) return nullptr; // no DRM in media extractor
if (getuid() == AID_MEDIA_EX) {
return NULL; // no DRM in media extractor
}
if (mDrmManagerClient == NULL) {
mDrmManagerClient = new DrmManagerClient();
}

@ -32,6 +32,7 @@ namespace android {
PlayerServiceMediaHTTP::PlayerServiceMediaHTTP(const sp<MediaHTTPConnection> &conn)
: MediaHTTP(conn),
mDrmManagerClient(NULL) {
(void) DrmInitialization(nullptr);
}
PlayerServiceMediaHTTP::~PlayerServiceMediaHTTP() {
@ -40,7 +41,7 @@ PlayerServiceMediaHTTP::~PlayerServiceMediaHTTP() {
// DRM...
sp<DecryptHandle> PlayerServiceMediaHTTP::DrmInitialization(const char* mime) {
sp<DecryptHandle> PlayerServiceMediaHTTP::DrmInitialization(const char *mime) {
if (mDrmManagerClient == NULL) {
mDrmManagerClient = new DrmManagerClient();
}

@ -37,8 +37,6 @@ public:
virtual ssize_t readAt(off64_t offset, void *data, size_t size);
virtual sp<DecryptHandle> DrmInitialization(const char *mime);
static bool requiresDrm(int fd, int64_t offset, int64_t length, const char *mime);
protected:
@ -52,6 +50,7 @@ private:
ssize_t mDrmBufSize;
unsigned char *mDrmBuf;
sp<DecryptHandle> DrmInitialization(const char *mime);
ssize_t readAtDRM_l(off64_t offset, void *data, size_t size);
PlayerServiceFileSource(const PlayerServiceFileSource &);

@ -33,12 +33,11 @@ struct PlayerServiceMediaHTTP : public MediaHTTP {
protected:
virtual ~PlayerServiceMediaHTTP();
virtual sp<DecryptHandle> DrmInitialization(const char* mime);
private:
sp<DecryptHandle> mDecryptHandle;
DrmManagerClient *mDrmManagerClient;
sp<DecryptHandle> DrmInitialization(const char *mime);
void clearDRMState_l();
DISALLOW_EVIL_CONSTRUCTORS(PlayerServiceMediaHTTP);

@ -113,10 +113,6 @@ void CallbackDataSource::close() {
}
}
sp<DecryptHandle> CallbackDataSource::DrmInitialization(const char *mime) {
return mIDataSource->DrmInitialization(mime);
}
sp<IDataSource> CallbackDataSource::getIDataSource() const {
return mIDataSource;
}
@ -190,14 +186,6 @@ uint32_t TinyCacheSource::flags() {
return mSource->flags();
}
sp<DecryptHandle> TinyCacheSource::DrmInitialization(const char *mime) {
// flush cache when DrmInitialization occurs since decrypted
// data may differ from what is in cache.
mCachedOffset = 0;
mCachedSize = 0;
return mSource->DrmInitialization(mime);
}
sp<IDataSource> TinyCacheSource::getIDataSource() const {
return mSource->getIDataSource();
}

@ -71,9 +71,6 @@ sp<IMediaExtractor> MediaExtractorFactory::CreateFromService(
ALOGV("MediaExtractorFactory::CreateFromService %s", mime);
// initialize source decryption if needed
source->DrmInitialization(nullptr /* mime */);
void *meta = nullptr;
void *creator = NULL;
FreeMetaFunc freeMeta = nullptr;

@ -41,7 +41,6 @@ public:
virtual String8 toString() {
return mName;
}
virtual sp<DecryptHandle> DrmInitialization(const char *mime = NULL);
virtual sp<IDataSource> getIDataSource() const;
private:
@ -70,7 +69,6 @@ public:
virtual String8 toString() {
return mName;
}
virtual sp<DecryptHandle> DrmInitialization(const char *mime = NULL);
virtual sp<IDataSource> getIDataSource() const;
private:

@ -54,10 +54,6 @@ struct ThrottledSource : public DataSource {
return mSource->reconnectAtOffset(offset);
}
virtual sp<DecryptHandle> DrmInitialization(const char *mime = NULL) {
return mSource->DrmInitialization(mime);
}
virtual String8 getMIMEType() const {
return mSource->getMIMEType();
}

@ -52,11 +52,6 @@ public:
////////////////////////////////////////////////////////////////////////////
// for DRM
virtual sp<DecryptHandle> DrmInitialization(const char * /*mime*/ = NULL) {
return NULL;
}
virtual String8 getUri() {
return String8();
}

@ -66,9 +66,6 @@ public:
virtual String8 toString() {
return mName;
}
virtual sp<DecryptHandle> DrmInitialization(const char *mime) {
return mSource->DrmInitialization(mime);
}
private:
enum {

Loading…
Cancel
Save