summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-08-05 11:58:21 -0700
committerChong Zhang <chz@google.com>2014-08-05 12:19:32 -0700
commit7e892180f3992c088dc0d44f0b0e54ace4dabe3c (patch)
tree957e88ea9e121a96bcbb7557427aa16406d61b14 /media/libmediaplayerservice/nuplayer
parentc2320223222fe4507b6d67f6b8b4001d26c77a9c (diff)
downloadframeworks_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.cpp13
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.cpp4
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);
}