summaryrefslogtreecommitdiffstats
path: root/libvideoeditor
diff options
context:
space:
mode:
authorSantosh Madhava <smadhava@google.com>2011-03-04 14:55:56 -0800
committerSantosh Madhava <smadhava@google.com>2011-03-07 18:23:08 -0800
commit1dd524b567ef1bb0591eb8adce10d43841376f5d (patch)
treef91ac102d54ebda5bd764e6a94067fc6c68b09ec /libvideoeditor
parent2f79a1507183bbbf7bd571ad590baf1c242e5bc4 (diff)
downloadframeworks_av-1dd524b567ef1bb0591eb8adce10d43841376f5d.zip
frameworks_av-1dd524b567ef1bb0591eb8adce10d43841376f5d.tar.gz
frameworks_av-1dd524b567ef1bb0591eb8adce10d43841376f5d.tar.bz2
Fix for issue 3453519: do not allow editing of DRM protected contents
Change-Id: I19f56cbdaab0ddb3d1ab0aec8dcf625a3ff3ead2
Diffstat (limited to 'libvideoeditor')
-rwxr-xr-xlibvideoeditor/vss/mcs/inc/M4MCS_ErrorCodes.h2
-rw-r--r--libvideoeditor/vss/mcs/src/M4MCS_API.c19
-rwxr-xr-xlibvideoeditor/vss/stagefrightshells/src/VideoEditor3gpReader.cpp10
-rwxr-xr-xlibvideoeditor/vss/stagefrightshells/src/VideoEditorMp3Reader.cpp11
4 files changed, 33 insertions, 9 deletions
diff --git a/libvideoeditor/vss/mcs/inc/M4MCS_ErrorCodes.h b/libvideoeditor/vss/mcs/inc/M4MCS_ErrorCodes.h
index b9d60d2..cd3a7f3 100755
--- a/libvideoeditor/vss/mcs/inc/M4MCS_ErrorCodes.h
+++ b/libvideoeditor/vss/mcs/inc/M4MCS_ErrorCodes.h
@@ -119,6 +119,6 @@
/* ----- OTHERS ERRORS ----- */
#define M4MCS_ERR_OUTPUT_FILE_SIZE_TOO_SMALL M4OSA_ERR_CREATE( M4_ERR, M4MCS, 0x50)
#define M4MCS_ERR_NOMORE_SPACE M4OSA_ERR_CREATE(M4_ERR, M4MCS, 0x51)
-
+#define M4MCS_ERR_FILE_DRM_PROTECTED M4OSA_ERR_CREATE(M4_ERR, M4MCS, 0x52)
#endif /* __M4MCS_ErrorCodes_H__ */
diff --git a/libvideoeditor/vss/mcs/src/M4MCS_API.c b/libvideoeditor/vss/mcs/src/M4MCS_API.c
index e5b9367..981662c 100644
--- a/libvideoeditor/vss/mcs/src/M4MCS_API.c
+++ b/libvideoeditor/vss/mcs/src/M4MCS_API.c
@@ -10690,13 +10690,18 @@ M4OSA_ERR M4MCS_open_normalMode(M4MCS_Context pContext, M4OSA_Void* pFileIn,
M4OSA_UInt32 uiDummy, uiCoreId;
M4OSA_TRACE1_1("M4MCS_open_normalMode(): m_pReader->m_pFctOpen returns 0x%x", err);
- /**
- * If the error is from the core reader, we change it to a public VXS error */
- M4OSA_ERR_SPLIT(err, uiDummy, uiCoreId, uiDummy);
- if (M4MP4_READER == uiCoreId)
- {
- M4OSA_TRACE1_0("M4MCS_open_normalMode(): returning M4MCS_ERR_INVALID_INPUT_FILE");
- return M4MCS_ERR_INVALID_INPUT_FILE;
+ if (err == ((M4OSA_UInt32)M4ERR_UNSUPPORTED_MEDIA_TYPE)) {
+ M4OSA_TRACE1_0("M4MCS_open_normalMode(): returning M4MCS_ERR_FILE_DRM_PROTECTED");
+ return M4MCS_ERR_FILE_DRM_PROTECTED;
+ } else {
+ /**
+ * If the error is from the core reader, we change it to a public VXS error */
+ M4OSA_ERR_SPLIT(err, uiDummy, uiCoreId, uiDummy);
+ if (M4MP4_READER == uiCoreId)
+ {
+ M4OSA_TRACE1_0("M4MCS_open_normalMode(): returning M4MCS_ERR_INVALID_INPUT_FILE");
+ return M4MCS_ERR_INVALID_INPUT_FILE;
+ }
}
return err;
}
diff --git a/libvideoeditor/vss/stagefrightshells/src/VideoEditor3gpReader.cpp b/libvideoeditor/vss/stagefrightshells/src/VideoEditor3gpReader.cpp
index 92116f6..84c1ec5 100755
--- a/libvideoeditor/vss/stagefrightshells/src/VideoEditor3gpReader.cpp
+++ b/libvideoeditor/vss/stagefrightshells/src/VideoEditor3gpReader.cpp
@@ -467,6 +467,8 @@ cleanUp:
* the media to open
* @return M4NO_ERROR there is no error
* @return M4ERR_PARAMETER the context is NULL
+* @return M4ERR_UNSUPPORTED_MEDIA_TYPE
+* the media is DRM protected
************************************************************************
*/
@@ -499,6 +501,14 @@ M4OSA_ERR VideoEditor3gpReader_open(M4OSA_Context pContext,
return M4ERR_PARAMETER;
}
+ int32_t isDRMProtected = 0;
+ sp<MetaData> meta = pC->mExtractor->getMetaData();
+ meta->findInt32(kKeyIsDRM, &isDRMProtected);
+ if (isDRMProtected) {
+ LOGV("VideoEditorMp3Reader_open error - DRM Protected");
+ return M4ERR_UNSUPPORTED_MEDIA_TYPE;
+ }
+
LOGV("VideoEditor3gpReader_open end ");
return err;
}
diff --git a/libvideoeditor/vss/stagefrightshells/src/VideoEditorMp3Reader.cpp b/libvideoeditor/vss/stagefrightshells/src/VideoEditorMp3Reader.cpp
index 322881a..c55b89b 100755
--- a/libvideoeditor/vss/stagefrightshells/src/VideoEditorMp3Reader.cpp
+++ b/libvideoeditor/vss/stagefrightshells/src/VideoEditorMp3Reader.cpp
@@ -147,7 +147,8 @@ cleanUp:
* @return M4NO_ERROR there is no error
* @return M4ERR_PARAMETER the context is NULL
- * @return M4ERR_BAD_CONTEXT provided context is not a valid one
+ * @return M4ERR_BAD_CONTEXT provided context is not a valid one
+ * @return M4ERR_UNSUPPORTED_MEDIA_TYPE the media is DRM protected
******************************************************************************
*/
M4OSA_ERR VideoEditorMp3Reader_open(M4OSA_Context context,
@@ -184,6 +185,14 @@ M4OSA_ERR VideoEditorMp3Reader_open(M4OSA_Context context,
}
pReaderContext->mStreamNumber = 0;
+ int32_t isDRMProtected = 0;
+ sp<MetaData> meta = pReaderContext->mExtractor->getMetaData();
+ meta->findInt32(kKeyIsDRM, &isDRMProtected);
+ if (isDRMProtected) {
+ LOGV("VideoEditorMp3Reader_open error - DRM Protected");
+ return M4ERR_UNSUPPORTED_MEDIA_TYPE;
+ }
+
LOGV("VideoEditorMp3Reader_open end");
return err;
}