Merge "Fix HLS Live Playback with Widevine DRM." into jb-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
382a5286b5
@@ -131,23 +131,17 @@ void WVMExtractorImpl::Initialize()
|
|||||||
mIsLiveStream = (mDataSource->getUri().getPathExtension().find(".m3u8") == 0);
|
mIsLiveStream = (mDataSource->getUri().getPathExtension().find(".m3u8") == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WVCallbacks callbacks;
|
||||||
|
// The following memset is needed for 4.5.0 only, because WVCallbacks is a struct.
|
||||||
|
memset( &callbacks, 0, sizeof(callbacks));
|
||||||
|
callbacks.socketInfo = SocketInfoCallback;
|
||||||
#ifdef REQUIRE_SECURE_BUFFERS
|
#ifdef REQUIRE_SECURE_BUFFERS
|
||||||
if (!mIsLiveStream) {
|
if (!mIsLiveStream) {
|
||||||
//ALOGD("WVMExtractorImpl::Initialize setting DecryptCallback\n");
|
//ALOGD("WVMExtractorImpl::Initialize setting DecryptCallback\n");
|
||||||
WVCallbacks callbacks;
|
|
||||||
callbacks.decrypt = WVMMediaSource::DecryptCallback;
|
callbacks.decrypt = WVMMediaSource::DecryptCallback;
|
||||||
callbacks.socketInfo = SocketInfoCallback;
|
|
||||||
result = WV_Initialize(&callbacks);
|
|
||||||
} else {
|
|
||||||
WVCallbacks callbacks;
|
|
||||||
callbacks.socketInfo = SocketInfoCallback;
|
|
||||||
result = WV_Initialize(&callbacks);
|
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
WVCallbacks callbacks;
|
|
||||||
callbacks.socketInfo = SocketInfoCallback;
|
|
||||||
result = WV_Initialize(&callbacks);
|
|
||||||
#endif
|
#endif
|
||||||
|
result = WV_Initialize(&callbacks);
|
||||||
|
|
||||||
if (result != WV_Status_OK) {
|
if (result != WV_Status_OK) {
|
||||||
ALOGE("WV_Initialize returned status %d\n", result);
|
ALOGE("WV_Initialize returned status %d\n", result);
|
||||||
@@ -549,4 +543,3 @@ void WVMExtractorImpl::setUID(uid_t uid)
|
|||||||
}
|
}
|
||||||
|
|
||||||
} // namespace android
|
} // namespace android
|
||||||
|
|
||||||
|
|||||||
@@ -169,7 +169,8 @@ sp<MetaData> WVMMediaSource::getFormat()
|
|||||||
Mutex::Autolock autoLock(mLock);
|
Mutex::Autolock autoLock(mLock);
|
||||||
|
|
||||||
#ifdef REQUIRE_SECURE_BUFFERS
|
#ifdef REQUIRE_SECURE_BUFFERS
|
||||||
if (!mIsLiveStream && (mESSelector == WV_EsSelector_Video)) {
|
if (!mIsLiveStream) {
|
||||||
|
if (mESSelector == WV_EsSelector_Video) {
|
||||||
mTrackMetaData->setInt32(kKeyRequiresSecureBuffers, true);
|
mTrackMetaData->setInt32(kKeyRequiresSecureBuffers, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,6 +179,7 @@ sp<MetaData> WVMMediaSource::getFormat()
|
|||||||
if (mESSelector == WV_EsSelector_Audio) {
|
if (mESSelector == WV_EsSelector_Audio) {
|
||||||
mTrackMetaData->setInt32(kKeyIsADTS, 1);
|
mTrackMetaData->setInt32(kKeyIsADTS, 1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return mTrackMetaData;
|
return mTrackMetaData;
|
||||||
|
|||||||
Reference in New Issue
Block a user