cas: add flag for PES header extraction
Change-Id: Ib34161a659da48df21fb457c009f0fd05edb2b36
diff --git a/drm/mediacas/plugins/clearkey/ClearKeyCasPlugin.cpp b/drm/mediacas/plugins/clearkey/ClearKeyCasPlugin.cpp
index e27631f..ed9534f 100644
--- a/drm/mediacas/plugins/clearkey/ClearKeyCasPlugin.cpp
+++ b/drm/mediacas/plugins/clearkey/ClearKeyCasPlugin.cpp
@@ -347,6 +347,9 @@
return ERROR_CAS_CANNOT_HANDLE;
}
+ scramblingControl = (DescramblerPlugin::ScramblingControl)
+ (scramblingControl & DescramblerPlugin::kScrambling_Mask_Key);
+
AES_KEY contentKey;
if (scramblingControl != DescramblerPlugin::kScrambling_Unscrambled) {
diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp
index bef2db4..5cc5093 100644
--- a/media/libstagefright/mpeg2ts/ATSParser.cpp
+++ b/media/libstagefright/mpeg2ts/ATSParser.cpp
@@ -27,6 +27,7 @@
#include <binder/MemoryDealer.h>
#include <cutils/native_handle.h>
#include <hidlmemory/FrameworkUtils.h>
+#include <media/cas/DescramblerAPI.h>
#include <media/stagefright/foundation/ABitReader.h>
#include <media/stagefright/foundation/ABuffer.h>
#include <media/stagefright/foundation/ADebug.h>
@@ -1387,6 +1388,9 @@
uint32_t sctrl = tsScramblingControl != 0 ?
tsScramblingControl : pesScramblingControl;
+ if (mQueue->isScrambled()) {
+ sctrl |= DescramblerPlugin::kScrambling_Flag_PesHeader;
+ }
// Perform the 1st pass descrambling if needed
if (descrambleBytes > 0) {