diff --git a/media/libdatasource/NuCachedSource2.cpp b/media/libdatasource/NuCachedSource2.cpp index 7f5ae61633..6d63ffb4a8 100644 --- a/media/libdatasource/NuCachedSource2.cpp +++ b/media/libdatasource/NuCachedSource2.cpp @@ -689,10 +689,6 @@ void NuCachedSource2::resumeFetchingIfNecessary() { restartPrefetcherIfNecessary_l(true /* ignore low water threshold */); } -sp NuCachedSource2::DrmInitialization(const char* mime) { - return mSource->DrmInitialization(mime); -} - String8 NuCachedSource2::getUri() { return mSource->getUri(); } diff --git a/media/libdatasource/include/datasource/NuCachedSource2.h b/media/libdatasource/include/datasource/NuCachedSource2.h index 596efb88ef..4c253add78 100644 --- a/media/libdatasource/include/datasource/NuCachedSource2.h +++ b/media/libdatasource/include/datasource/NuCachedSource2.h @@ -44,7 +44,6 @@ struct NuCachedSource2 : public DataSource { virtual status_t getSize(off64_t *size); virtual uint32_t flags(); - virtual sp DrmInitialization(const char* mime); virtual String8 getUri(); virtual String8 getMIMEType() const; diff --git a/media/libheif/HeifDecoderImpl.cpp b/media/libheif/HeifDecoderImpl.cpp index a9773002da..bbc14a9d59 100644 --- a/media/libheif/HeifDecoderImpl.cpp +++ b/media/libheif/HeifDecoderImpl.cpp @@ -66,9 +66,6 @@ public: void close() {} uint32_t getFlags() override { return 0; } String8 toString() override { return String8("HeifDataSource"); } - sp DrmInitialization(const char*) override { - return nullptr; - } private: enum { diff --git a/media/libmedia/IDataSource.cpp b/media/libmedia/IDataSource.cpp index 31c85af4cd..61f0a68620 100644 --- a/media/libmedia/IDataSource.cpp +++ b/media/libmedia/IDataSource.cpp @@ -23,7 +23,6 @@ #include #include -#include #include namespace android { @@ -35,7 +34,6 @@ enum { CLOSE, GET_FLAGS, TO_STRING, - DRM_INITIALIZATION, }; struct BpDataSource : public BpInterface { @@ -95,47 +93,6 @@ struct BpDataSource : public BpInterface { remote()->transact(TO_STRING, data, &reply); return reply.readString8(); } - - virtual sp 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 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 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); diff --git a/media/libmedia/include/media/IDataSource.h b/media/libmedia/include/media/IDataSource.h index 3858f78462..43e2b5083d 100644 --- a/media/libmedia/include/media/IDataSource.h +++ b/media/libmedia/include/media/IDataSource.h @@ -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 DrmInitialization(const char *mime) = 0; private: DISALLOW_EVIL_CONSTRUCTORS(IDataSource); diff --git a/media/libmediaplayerservice/datasource/PlayerServiceFileSource.cpp b/media/libmediaplayerservice/datasource/PlayerServiceFileSource.cpp index 15808910df..bb4ba75a46 100644 --- a/media/libmediaplayerservice/datasource/PlayerServiceFileSource.cpp +++ b/media/libmediaplayerservice/datasource/PlayerServiceFileSource.cpp @@ -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 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(); } diff --git a/media/libmediaplayerservice/datasource/PlayerServiceMediaHTTP.cpp b/media/libmediaplayerservice/datasource/PlayerServiceMediaHTTP.cpp index 0124720d39..f99a8610b0 100644 --- a/media/libmediaplayerservice/datasource/PlayerServiceMediaHTTP.cpp +++ b/media/libmediaplayerservice/datasource/PlayerServiceMediaHTTP.cpp @@ -32,6 +32,7 @@ namespace android { PlayerServiceMediaHTTP::PlayerServiceMediaHTTP(const sp &conn) : MediaHTTP(conn), mDrmManagerClient(NULL) { + (void) DrmInitialization(nullptr); } PlayerServiceMediaHTTP::~PlayerServiceMediaHTTP() { @@ -40,7 +41,7 @@ PlayerServiceMediaHTTP::~PlayerServiceMediaHTTP() { // DRM... -sp PlayerServiceMediaHTTP::DrmInitialization(const char* mime) { +sp PlayerServiceMediaHTTP::DrmInitialization(const char *mime) { if (mDrmManagerClient == NULL) { mDrmManagerClient = new DrmManagerClient(); } diff --git a/media/libmediaplayerservice/datasource/include/datasource/PlayerServiceFileSource.h b/media/libmediaplayerservice/datasource/include/datasource/PlayerServiceFileSource.h index 08a013e50d..7ae8ddaba1 100644 --- a/media/libmediaplayerservice/datasource/include/datasource/PlayerServiceFileSource.h +++ b/media/libmediaplayerservice/datasource/include/datasource/PlayerServiceFileSource.h @@ -37,8 +37,6 @@ public: virtual ssize_t readAt(off64_t offset, void *data, size_t size); - virtual sp 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 DrmInitialization(const char *mime); ssize_t readAtDRM_l(off64_t offset, void *data, size_t size); PlayerServiceFileSource(const PlayerServiceFileSource &); diff --git a/media/libmediaplayerservice/datasource/include/datasource/PlayerServiceMediaHTTP.h b/media/libmediaplayerservice/datasource/include/datasource/PlayerServiceMediaHTTP.h index 0032cd7567..b5124dccb1 100644 --- a/media/libmediaplayerservice/datasource/include/datasource/PlayerServiceMediaHTTP.h +++ b/media/libmediaplayerservice/datasource/include/datasource/PlayerServiceMediaHTTP.h @@ -33,12 +33,11 @@ struct PlayerServiceMediaHTTP : public MediaHTTP { protected: virtual ~PlayerServiceMediaHTTP(); - virtual sp DrmInitialization(const char* mime); - private: sp mDecryptHandle; DrmManagerClient *mDrmManagerClient; + sp DrmInitialization(const char *mime); void clearDRMState_l(); DISALLOW_EVIL_CONSTRUCTORS(PlayerServiceMediaHTTP); diff --git a/media/libstagefright/CallbackDataSource.cpp b/media/libstagefright/CallbackDataSource.cpp index 92e6eb9d5d..265f21b79f 100644 --- a/media/libstagefright/CallbackDataSource.cpp +++ b/media/libstagefright/CallbackDataSource.cpp @@ -113,10 +113,6 @@ void CallbackDataSource::close() { } } -sp CallbackDataSource::DrmInitialization(const char *mime) { - return mIDataSource->DrmInitialization(mime); -} - sp CallbackDataSource::getIDataSource() const { return mIDataSource; } @@ -190,14 +186,6 @@ uint32_t TinyCacheSource::flags() { return mSource->flags(); } -sp 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 TinyCacheSource::getIDataSource() const { return mSource->getIDataSource(); } diff --git a/media/libstagefright/MediaExtractorFactory.cpp b/media/libstagefright/MediaExtractorFactory.cpp index 4c8be1f193..120f35480a 100644 --- a/media/libstagefright/MediaExtractorFactory.cpp +++ b/media/libstagefright/MediaExtractorFactory.cpp @@ -71,9 +71,6 @@ sp 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; diff --git a/media/libstagefright/include/CallbackDataSource.h b/media/libstagefright/include/CallbackDataSource.h index 9f413cdfac..e4284947e4 100644 --- a/media/libstagefright/include/CallbackDataSource.h +++ b/media/libstagefright/include/CallbackDataSource.h @@ -41,7 +41,6 @@ public: virtual String8 toString() { return mName; } - virtual sp DrmInitialization(const char *mime = NULL); virtual sp getIDataSource() const; private: @@ -70,7 +69,6 @@ public: virtual String8 toString() { return mName; } - virtual sp DrmInitialization(const char *mime = NULL); virtual sp getIDataSource() const; private: diff --git a/media/libstagefright/include/ThrottledSource.h b/media/libstagefright/include/ThrottledSource.h index 71e62f783e..5ae0653d93 100644 --- a/media/libstagefright/include/ThrottledSource.h +++ b/media/libstagefright/include/ThrottledSource.h @@ -54,10 +54,6 @@ struct ThrottledSource : public DataSource { return mSource->reconnectAtOffset(offset); } - virtual sp DrmInitialization(const char *mime = NULL) { - return mSource->DrmInitialization(mime); - } - virtual String8 getMIMEType() const { return mSource->getMIMEType(); } diff --git a/media/libstagefright/include/media/stagefright/DataSource.h b/media/libstagefright/include/media/stagefright/DataSource.h index 1f7a473786..83d3e5d242 100644 --- a/media/libstagefright/include/media/stagefright/DataSource.h +++ b/media/libstagefright/include/media/stagefright/DataSource.h @@ -52,11 +52,6 @@ public: //////////////////////////////////////////////////////////////////////////// - // for DRM - virtual sp DrmInitialization(const char * /*mime*/ = NULL) { - return NULL; - } - virtual String8 getUri() { return String8(); } diff --git a/media/libstagefright/include/media/stagefright/RemoteDataSource.h b/media/libstagefright/include/media/stagefright/RemoteDataSource.h index e191e6abbc..5a69bd7655 100644 --- a/media/libstagefright/include/media/stagefright/RemoteDataSource.h +++ b/media/libstagefright/include/media/stagefright/RemoteDataSource.h @@ -66,9 +66,6 @@ public: virtual String8 toString() { return mName; } - virtual sp DrmInitialization(const char *mime) { - return mSource->DrmInitialization(mime); - } private: enum {