From b5ce361d19e69fe156f7188c9ee0f4734b259874 Mon Sep 17 00:00:00 2001 From: Gloria Wang Date: Thu, 24 Feb 2011 16:40:57 -0800 Subject: Fix for bug 3477330 This patch fixs a crash bug caused by using a NULL DecryptHandle pointer. Fix by using sp instead. Change-Id: Icbd59858385e8256125a615a3c82656b25319d44 --- media/libstagefright/DRMExtractor.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'media/libstagefright/DRMExtractor.cpp') diff --git a/media/libstagefright/DRMExtractor.cpp b/media/libstagefright/DRMExtractor.cpp index 2809df5..c4ed516 100644 --- a/media/libstagefright/DRMExtractor.cpp +++ b/media/libstagefright/DRMExtractor.cpp @@ -41,7 +41,7 @@ namespace android { class DRMSource : public MediaSource { public: DRMSource(const sp &mediaSource, - DecryptHandle *decryptHandle, + const sp &decryptHandle, DrmManagerClient *managerClient, int32_t trackId, DrmBuffer *ipmpBox); @@ -56,7 +56,7 @@ protected: private: sp mOriginalMediaSource; - DecryptHandle* mDecryptHandle; + sp mDecryptHandle; DrmManagerClient* mDrmManagerClient; size_t mTrackId; mutable Mutex mDRMLock; @@ -70,7 +70,7 @@ private: //////////////////////////////////////////////////////////////////////////////// DRMSource::DRMSource(const sp &mediaSource, - DecryptHandle *decryptHandle, + const sp &decryptHandle, DrmManagerClient *managerClient, int32_t trackId, DrmBuffer *ipmpBox) : mOriginalMediaSource(mediaSource), @@ -245,7 +245,7 @@ DRMExtractor::DRMExtractor(const sp &source, const char* mime) mOriginalExtractor->setDrmFlag(true); mOriginalExtractor->getMetaData()->setInt32(kKeyIsDRM, 1); - source->getDrmInfo(&mDecryptHandle, &mDrmManagerClient); + source->getDrmInfo(mDecryptHandle, &mDrmManagerClient); } DRMExtractor::~DRMExtractor() { @@ -281,7 +281,7 @@ sp DRMExtractor::getMetaData() { bool SniffDRM( const sp &source, String8 *mimeType, float *confidence, sp *) { - DecryptHandle *decryptHandle = source->DrmInitialization(); + sp decryptHandle = source->DrmInitialization(); if (decryptHandle != NULL) { if (decryptHandle->decryptApiType == DecryptApiType::CONTAINER_BASED) { -- cgit v1.1