summaryrefslogtreecommitdiffstats
path: root/drm/libdrmframework/plugins/common/util
diff options
context:
space:
mode:
Diffstat (limited to 'drm/libdrmframework/plugins/common/util')
-rw-r--r--drm/libdrmframework/plugins/common/util/Android.mk52
-rw-r--r--drm/libdrmframework/plugins/common/util/include/MimeTypeUtil.h46
-rw-r--r--drm/libdrmframework/plugins/common/util/include/SessionMap.h189
-rw-r--r--drm/libdrmframework/plugins/common/util/src/MimeTypeUtil.cpp166
4 files changed, 0 insertions, 453 deletions
diff --git a/drm/libdrmframework/plugins/common/util/Android.mk b/drm/libdrmframework/plugins/common/util/Android.mk
deleted file mode 100644
index 15dda80..0000000
--- a/drm/libdrmframework/plugins/common/util/Android.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2010 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- src/MimeTypeUtil.cpp
-
-LOCAL_MODULE := libdrmutility
-
-LOCAL_SHARED_LIBRARIES := \
- libutils \
- libdl \
- libdvm \
- libandroid_runtime \
- libnativehelper \
- liblog
-
-
-base := frameworks/base
-
-LOCAL_C_INCLUDES += \
- $(JNI_H_INCLUDE) \
- $(base)/include \
- $(base)/include/drm \
- $(base)/include/drm/plugins \
- $(LOCAL_PATH)/include
-
-
-ifneq ($(TARGET_BUILD_VARIANT),user)
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/tools
-
-endif
-
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/drm/libdrmframework/plugins/common/util/include/MimeTypeUtil.h b/drm/libdrmframework/plugins/common/util/include/MimeTypeUtil.h
deleted file mode 100644
index 4d12a61..0000000
--- a/drm/libdrmframework/plugins/common/util/include/MimeTypeUtil.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __MIMETYPEUTIL_H__
-#define __MIMETYPEUTIL_H__
-
-#include <utils/String8.h>
-
-namespace android {
-
-class MimeTypeUtil {
-
-public:
-
- MimeTypeUtil() {}
-
- virtual ~MimeTypeUtil() {}
-
-/**
- * May convert the mimetype if there is a well known
- * replacement mimetype otherwise the original mimetype
- * is returned.
- *
- * @param mimeType - mimetype in lower case to convert.
- *
- * @return mimetype or null.
- */
-static String8 convertMimeType(String8& mimeType);
-
-};
-};
-
-#endif /* __MIMETYPEUTIL_H__ */
diff --git a/drm/libdrmframework/plugins/common/util/include/SessionMap.h b/drm/libdrmframework/plugins/common/util/include/SessionMap.h
deleted file mode 100644
index e563894..0000000
--- a/drm/libdrmframework/plugins/common/util/include/SessionMap.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef __SESSIONMAP_H__
-#define __SESSIONMAP_H__
-
-#include <utils/KeyedVector.h>
-#include <utils/threads.h>
-
-namespace android {
-
-/**
- * A thread safe wrapper template class for session handlings for Drm Engines. It wraps a
- * pointer type over KeyedVector. It keeps pointer as data in the vector and free up memory
- * allocated pointer can be of any type of structure/class meant for keeping session data.
- * so session object here means pointer to the session data.
- */
-template <typename TValue>
-class SessionMap {
-
-public:
- SessionMap() {}
-
- virtual ~SessionMap() {
- Mutex::Autolock lock(mLock);
- destroyMap();
- }
-
- /**
- * Adds a new value in the session map table. It expects memory to be allocated already
- * for the session object
- *
- * @param key - key or Session ID
- * @param value - session object to add
- *
- * @return boolean result of adding value. returns false if key is already exist.
- */
- bool addValue(int key, TValue value) {
- Mutex::Autolock lock(mLock);
- if (!isCreatedInternal(key)) {
- map.add(key, value);
- return true;
- }
- return false;
- }
-
- /**
- * returns the session object by the key
- *
- * @param key - key or Session ID
- *
- * @return session object as per the key
- */
- TValue getValue(int key) {
- Mutex::Autolock lock(mLock);
- return getValueInternal(key);
- }
-
- /**
- * returns the number of objects in the session map table
- *
- * @return count of number of session objects.
- */
- int getSize() {
- Mutex::Autolock lock(mLock);
- return map.size();
- }
-
- /**
- * returns the session object by the index in the session map table
- *
- * @param index - index of the value required
- *
- * @return session object as per the index
- */
- TValue getValueAt(unsigned int index) {
- TValue value = NULL;
- Mutex::Autolock lock(mLock);
-
- if (map.size() > index) {
- value = map.valueAt(index);
- }
- return value;
- }
-
- /**
- * deletes the object from session map. It also frees up memory for the session object.
- *
- * @param key - key of the value to be deleted
- *
- */
- void removeValue(int key) {
- Mutex::Autolock lock(mLock);
- deleteValue(getValueInternal(key));
- map.removeItem(key);
- }
-
- /**
- * decides if session is already created.
- *
- * @param key - key of the value for the session
- *
- * @return boolean result of whether session is created
- */
- bool isCreated(int key) {
- Mutex::Autolock lock(mLock);
- return isCreatedInternal(key);
- }
-
- SessionMap<TValue> & operator=(const SessionMap<TValue> & objectCopy) {
- Mutex::Autolock lock(mLock);
-
- destroyMap();
- map = objectCopy.map;
- return *this;
- }
-
-private:
- KeyedVector<int, TValue> map;
- Mutex mLock;
-
- /**
- * free up the memory for the session object.
- * Make sure if any reference to the session object anywhere, otherwise it will be a
- * dangle pointer after this call.
- *
- * @param value - session object to free
- *
- */
- void deleteValue(TValue value) {
- delete value;
- }
-
- /**
- * free up the memory for the entire map.
- * free up any resources in the sessions before calling this funtion.
- *
- */
- void destroyMap() {
- int size = map.size();
-
- for (int i = 0; i < size; i++) {
- deleteValue(map.valueAt(i));
- }
- map.clear();
- }
-
- /**
- * decides if session is already created.
- *
- * @param key - key of the value for the session
- *
- * @return boolean result of whether session is created
- */
- bool isCreatedInternal(int key) {
- return(0 <= map.indexOfKey(key));
- }
-
- /**
- * returns the session object by the key
- *
- * @param key - key or Session ID
- *
- * @return session object as per the key
- */
- TValue getValueInternal(int key) {
- TValue value = NULL;
- if (isCreatedInternal(key)) {
- value = (TValue) map.valueFor(key);
- }
- return value;
- }
-};
-
-};
-
-#endif /* __SESSIONMAP_H__ */
diff --git a/drm/libdrmframework/plugins/common/util/src/MimeTypeUtil.cpp b/drm/libdrmframework/plugins/common/util/src/MimeTypeUtil.cpp
deleted file mode 100644
index 576ed15..0000000
--- a/drm/libdrmframework/plugins/common/util/src/MimeTypeUtil.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <MimeTypeUtil.h>
-#include <utils/Log.h>
-
-namespace android {
-
-#undef LOG_TAG
-#define LOG_TAG "MimeTypeUtil"
-
-#ifdef DRM_OMA_FL_ENGINE_DEBUG
-#define LOG_NDEBUG 0
-#define LOG_DEBUG(...) ALOGD(__VA_ARGS__)
-#else
-#define LOG_DEBUG(...)
-#endif
-
-enum {
- MIMETYPE_AUDIO = 0,
- MIMETYPE_APPLICATION = 1,
- MIMETYPE_IMAGE = 2,
- MIMETYPE_VIDEO = 3,
- MIMETYPE_LAST = -1,
-};
-
-struct MimeGroup{
- int type; // Audio, video,.. use the enum values
- const char* pGroup; // "audio/", "video/",.. should contain the last "/"
- int size; // Number of bytes. e.g. "audio/" = 6 bytes
-};
-
-struct MimeTypeList{
- int type;
- const char* pMimeExt; // Everything after the '/' e.g. audio/x-mpeg -> "x-mpeg"
- int size; // Number of bytes. e.g. "x-mpeg" = 6 bytes
- const char* pMimeType; // Mimetype that should be returned
-};
-
-
-// Known mimetypes by android
-static const char mime_type_audio_mpeg[] = "audio/mpeg";
-static const char mime_type_audio_3gpp[] = "audio/3gpp";
-static const char mime_type_audio_amr[] = "audio/amr-wb";
-static const char mime_type_audio_aac[] = "audio/mp4a-latm";
-static const char mime_type_audio_wav[] = "audio/wav";
-
-static const char mime_type_video_mpeg4[] = "video/mpeg4";
-static const char mime_type_video_3gpp[] = "video/3gpp";
-
-// Known mimetype groups
-static const char mime_group_audio[] = "audio/";
-static const char mime_group_application[] = "application/";
-static const char mime_group_image[] = "image/";
-static const char mime_group_video[] = "video/";
-static const char mime_type_unsupported[] = "unsupported/drm.mimetype";
-
-static struct MimeGroup mimeGroup[] = {
- {MIMETYPE_AUDIO, mime_group_audio, sizeof(mime_group_audio)-1},
- {MIMETYPE_APPLICATION, mime_group_application, sizeof(mime_group_application)-1},
- {MIMETYPE_IMAGE, mime_group_image, sizeof(mime_group_image)-1},
- {MIMETYPE_VIDEO, mime_group_video, sizeof(mime_group_video)-1},
- {MIMETYPE_LAST, NULL, 0} // Must be last entry
-};
-
-// List of all mimetypes that should be converted.
-static struct MimeTypeList mimeTypeList[] = {
- // Mp3 mime types
- {MIMETYPE_AUDIO, "mp3", sizeof("mp3")-1, mime_type_audio_mpeg},
- {MIMETYPE_AUDIO, "x-mpeg", sizeof("x-mpeg")-1, mime_type_audio_mpeg},
- {MIMETYPE_AUDIO, "x-mp3", sizeof("x-mp3")-1, mime_type_audio_mpeg},
- {MIMETYPE_AUDIO, "mpg", sizeof("mpg")-1, mime_type_audio_mpeg},
- {MIMETYPE_AUDIO, "mpg3", sizeof("mpg")-1, mime_type_audio_mpeg},
- {MIMETYPE_AUDIO, "x-mpg", sizeof("x-mpg")-1, mime_type_audio_mpeg},
- {MIMETYPE_AUDIO, "x-mpegaudio", sizeof("x-mpegaudio")-1, mime_type_audio_mpeg},
-
- // 3gpp audio mime types
- {MIMETYPE_AUDIO, "3gp", sizeof("3gp")-1, mime_type_audio_3gpp},
-
- // Amr audio mime types
- {MIMETYPE_AUDIO, "amr", sizeof("amr")-1, mime_type_audio_amr},
-
- // Aac audio mime types
- {MIMETYPE_AUDIO, "aac", sizeof("aac")-1, mime_type_audio_aac},
-
- // Wav audio mime types
- {MIMETYPE_AUDIO, "x-wav", sizeof("x-wav")-1, mime_type_audio_wav},
-
- // Mpeg4 video mime types
- {MIMETYPE_VIDEO, "mpg4", sizeof("mpg4")-1, mime_type_video_mpeg4},
- {MIMETYPE_VIDEO, "mp4v-es", sizeof("mp4v-es")-1, mime_type_video_mpeg4},
-
- // 3gpp video mime types
- {MIMETYPE_VIDEO, "3gp", sizeof("3gp")-1, mime_type_video_3gpp},
-
- // Must be last entry
- {MIMETYPE_LAST, NULL, 0, NULL}
-};
-
-/**
- * May convert the mimetype if there is a well known
- * replacement mimetype otherwise the original mimetype
- * is returned.
- *
- * If the mimetype is of unsupported group i.e. application/*
- * then "unsupported/drm.mimetype" will be returned.
- *
- * @param mimeType - mimetype in lower case to convert.
- *
- * @return mimetype or "unsupported/drm.mimetype".
- */
-String8 MimeTypeUtil::convertMimeType(String8& mimeType) {
- String8 result = mimeType;
- const char* pMimeType;
- struct MimeGroup* pGroup;
- struct MimeTypeList* pMimeItem;
- int len;
- pMimeType = mimeType.string();
- if (NULL != pMimeType) {
- if ((0 == strncmp(pMimeType, mime_group_audio, (sizeof mime_group_audio) - 1)) ||
- (0 == strncmp(pMimeType, mime_group_video, (sizeof mime_group_video) - 1))) {
- /* Check which group the mimetype is */
- pGroup = mimeGroup;
- while (MIMETYPE_LAST != pGroup->type) {
- if (0 == strncmp(pMimeType, pGroup->pGroup, pGroup->size)) {
- break;
- }
- pGroup++;
- }
-
- /* Go through the mimetype list. Only check items of the correct group */
- if (MIMETYPE_LAST != pGroup->type) {
- pMimeItem = mimeTypeList;
- len = strlen (pMimeType+pGroup->size);
- while (MIMETYPE_LAST != pMimeItem->type) {
- if ((pGroup->type == pMimeItem->type) &&
- (len == pMimeItem->size) &&
- (0 == strcmp(pMimeType+pGroup->size, pMimeItem->pMimeExt))) {
- result = String8(pMimeItem->pMimeType);
- break;
- }
- pMimeItem++;
- }
- }
- } else {
- result = String8(mime_type_unsupported);
- }
- LOG_DEBUG("convertMimeType got mimetype %s, converted into mimetype %s",
- pMimeType, result.string());
- }
- return result;
-}
-};