diff options
author | Chong Zhang <chz@google.com> | 2014-08-05 11:58:21 -0700 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2014-08-05 12:19:32 -0700 |
commit | 7e892180f3992c088dc0d44f0b0e54ace4dabe3c (patch) | |
tree | 957e88ea9e121a96bcbb7557427aa16406d61b14 /media/libmediaplayerservice/nuplayer | |
parent | c2320223222fe4507b6d67f6b8b4001d26c77a9c (diff) | |
download | frameworks_av-7e892180f3992c088dc0d44f0b0e54ace4dabe3c.zip frameworks_av-7e892180f3992c088dc0d44f0b0e54ace4dabe3c.tar.gz frameworks_av-7e892180f3992c088dc0d44f0b0e54ace4dabe3c.tar.bz2 |
set secure flag for secure file playback
Bug: 16786456
Change-Id: I06f18b0e9c3f65e3e127369baa1f9ea8c9307762
Diffstat (limited to 'media/libmediaplayerservice/nuplayer')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/GenericSource.cpp | 13 | ||||
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayer.cpp | 4 |
2 files changed, 15 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp index a3e84df..32842bb 100644 --- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp +++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp @@ -14,6 +14,9 @@ * limitations under the License. */ +//#define LOG_NDEBUG 0 +#define LOG_TAG "GenericSource" + #include "GenericSource.h" #include "AnotherPacketSource.h" @@ -65,7 +68,9 @@ NuPlayer::GenericSource::GenericSource( mFetchTimedTextDataGeneration(0), mDurationUs(0ll), mAudioIsVorbis(false), - mIsWidevine(false) { + mIsWidevine(false), + mUIDValid(false), + mUID(0) { DataSource::RegisterDefaultSniffers(); sp<DataSource> dataSource = new FileSource(dup(fd), offset, length); @@ -134,6 +139,12 @@ void NuPlayer::GenericSource::initFromDataSource( if (mVideoTrack.mSource == NULL) { mVideoTrack.mIndex = i; mVideoTrack.mSource = track; + + // check if the source requires secure buffers + int32_t secure; + if (meta->findInt32(kKeyRequiresSecureBuffers, &secure) && secure) { + mIsWidevine = true; + } } } diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index 58d0138..71857c3 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -227,7 +227,9 @@ void NuPlayer::setDataSourceAsync( } else if ((!strncasecmp(url, "widevine://", 11))) { source = new GenericSource(notify, httpService, url, headers, true /* isWidevine */, mUIDValid, mUID); - mSourceFlags |= Source::FLAG_SECURE; + // Don't set FLAG_SECURE on mSourceFlags here, the correct flags + // will be updated in Source::kWhatFlagsChanged handler when + // GenericSource is prepared. } else { source = new GenericSource(notify, httpService, url, headers); } |