summaryrefslogtreecommitdiffstats
path: root/media/ndk
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-05-15 21:58:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-05-15 21:58:36 +0000
commit5362ba070797c52a18d3cb5558cd41d1a72c74c5 (patch)
treefddfcdb07fcc5499c3b026fe4c42b217fef21c7a /media/ndk
parent16a25c150c49c730d206167012a24cbd9eb3a082 (diff)
parente419d7cd5c62b4b5866a45d59c5770bb470193c1 (diff)
downloadframeworks_av-5362ba070797c52a18d3cb5558cd41d1a72c74c5.zip
frameworks_av-5362ba070797c52a18d3cb5558cd41d1a72c74c5.tar.gz
frameworks_av-5362ba070797c52a18d3cb5558cd41d1a72c74c5.tar.bz2
Merge "Unify error/status codes"
Diffstat (limited to 'media/ndk')
-rw-r--r--media/ndk/NdkMediaCodec.cpp84
-rw-r--r--media/ndk/NdkMediaCrypto.cpp6
-rw-r--r--media/ndk/NdkMediaDrm.cpp145
-rw-r--r--media/ndk/NdkMediaExtractor.cpp41
-rw-r--r--media/ndk/NdkMediaFormat.cpp4
-rw-r--r--media/ndk/NdkMediaMuxer.cpp20
6 files changed, 155 insertions, 145 deletions
diff --git a/media/ndk/NdkMediaCodec.cpp b/media/ndk/NdkMediaCodec.cpp
index a7c06d5..9e2aa67 100644
--- a/media/ndk/NdkMediaCodec.cpp
+++ b/media/ndk/NdkMediaCodec.cpp
@@ -36,14 +36,14 @@
using namespace android;
-static int translate_error(status_t err) {
+static media_status_t translate_error(status_t err) {
if (err == OK) {
- return OK;
+ return AMEDIA_OK;
} else if (err == -EAGAIN) {
- return AMEDIACODEC_INFO_TRY_AGAIN_LATER;
+ return (media_status_t) AMEDIACODEC_INFO_TRY_AGAIN_LATER;
}
ALOGE("sf error code: %d", err);
- return AMEDIAERROR_GENERIC;
+ return AMEDIA_ERROR_UNKNOWN;
}
enum {
@@ -175,7 +175,7 @@ AMediaCodec* AMediaCodec_createEncoderByType(const char *name) {
}
EXPORT
-int AMediaCodec_delete(AMediaCodec *mData) {
+media_status_t AMediaCodec_delete(AMediaCodec *mData) {
if (mData->mCodec != NULL) {
mData->mCodec->release();
mData->mCodec.clear();
@@ -187,11 +187,11 @@ int AMediaCodec_delete(AMediaCodec *mData) {
mData->mLooper.clear();
}
delete mData;
- return OK;
+ return AMEDIA_OK;
}
EXPORT
-int AMediaCodec_configure(
+media_status_t AMediaCodec_configure(
AMediaCodec *mData,
const AMediaFormat* format,
ANativeWindow* window,
@@ -210,7 +210,7 @@ int AMediaCodec_configure(
}
EXPORT
-int AMediaCodec_start(AMediaCodec *mData) {
+media_status_t AMediaCodec_start(AMediaCodec *mData) {
status_t ret = mData->mCodec->start();
if (ret != OK) {
return translate_error(ret);
@@ -218,12 +218,12 @@ int AMediaCodec_start(AMediaCodec *mData) {
mData->mActivityNotification = new AMessage(kWhatActivityNotify, mData->mHandler->id());
mData->mActivityNotification->setInt32("generation", mData->mGeneration);
requestActivityNotification(mData);
- return OK;
+ return AMEDIA_OK;
}
EXPORT
-int AMediaCodec_stop(AMediaCodec *mData) {
- int ret = translate_error(mData->mCodec->stop());
+media_status_t AMediaCodec_stop(AMediaCodec *mData) {
+ media_status_t ret = translate_error(mData->mCodec->stop());
sp<AMessage> msg = new AMessage(kWhatStopActivityNotifications, mData->mHandler->id());
sp<AMessage> response;
@@ -234,7 +234,7 @@ int AMediaCodec_stop(AMediaCodec *mData) {
}
EXPORT
-int AMediaCodec_flush(AMediaCodec *mData) {
+media_status_t AMediaCodec_flush(AMediaCodec *mData) {
return translate_error(mData->mCodec->flush());
}
@@ -286,7 +286,7 @@ uint8_t* AMediaCodec_getOutputBuffer(AMediaCodec *mData, size_t idx, size_t *out
}
EXPORT
-int AMediaCodec_queueInputBuffer(AMediaCodec *mData,
+media_status_t AMediaCodec_queueInputBuffer(AMediaCodec *mData,
size_t idx, off_t offset, size_t size, uint64_t time, uint32_t flags) {
AString errorMsg;
@@ -332,7 +332,7 @@ AMediaFormat* AMediaCodec_getOutputFormat(AMediaCodec *mData) {
}
EXPORT
-int AMediaCodec_releaseOutputBuffer(AMediaCodec *mData, size_t idx, bool render) {
+media_status_t AMediaCodec_releaseOutputBuffer(AMediaCodec *mData, size_t idx, bool render) {
if (render) {
return translate_error(mData->mCodec->renderOutputBufferAndRelease(idx));
} else {
@@ -341,10 +341,10 @@ int AMediaCodec_releaseOutputBuffer(AMediaCodec *mData, size_t idx, bool render)
}
EXPORT
-int AMediaCodec_setNotificationCallback(AMediaCodec *mData, OnCodecEvent callback, void *userdata) {
+media_status_t AMediaCodec_setNotificationCallback(AMediaCodec *mData, OnCodecEvent callback, void *userdata) {
mData->mCallback = callback;
mData->mCallbackUserData = userdata;
- return OK;
+ return AMEDIA_OK;
}
typedef struct AMediaCodecCryptoInfo {
@@ -357,7 +357,7 @@ typedef struct AMediaCodecCryptoInfo {
} AMediaCodecCryptoInfo;
EXPORT
-int AMediaCodec_queueSecureInputBuffer(
+media_status_t AMediaCodec_queueSecureInputBuffer(
AMediaCodec* codec,
size_t idx,
off_t offset,
@@ -424,9 +424,9 @@ AMediaCodecCryptoInfo *AMediaCodecCryptoInfo_new(
EXPORT
-int AMediaCodecCryptoInfo_delete(AMediaCodecCryptoInfo* info) {
+media_status_t AMediaCodecCryptoInfo_delete(AMediaCodecCryptoInfo* info) {
free(info);
- return OK;
+ return AMEDIA_OK;
}
EXPORT
@@ -435,47 +435,59 @@ size_t AMediaCodecCryptoInfo_getNumSubSamples(AMediaCodecCryptoInfo* ci) {
}
EXPORT
-int AMediaCodecCryptoInfo_getKey(AMediaCodecCryptoInfo* ci, uint8_t *dst) {
- if (!dst || !ci) {
- return AMEDIAERROR_UNSUPPORTED;
+media_status_t AMediaCodecCryptoInfo_getKey(AMediaCodecCryptoInfo* ci, uint8_t *dst) {
+ if (!ci) {
+ return AMEDIA_ERROR_INVALID_OBJECT;
+ }
+ if (!dst) {
+ return AMEDIA_ERROR_INVALID_PARAMETER;
}
memcpy(dst, ci->key, 16);
- return OK;
+ return AMEDIA_OK;
}
EXPORT
-int AMediaCodecCryptoInfo_getIV(AMediaCodecCryptoInfo* ci, uint8_t *dst) {
- if (!dst || !ci) {
- return AMEDIAERROR_UNSUPPORTED;
+media_status_t AMediaCodecCryptoInfo_getIV(AMediaCodecCryptoInfo* ci, uint8_t *dst) {
+ if (!ci) {
+ return AMEDIA_ERROR_INVALID_OBJECT;
+ }
+ if (!dst) {
+ return AMEDIA_ERROR_INVALID_PARAMETER;
}
memcpy(dst, ci->iv, 16);
- return OK;
+ return AMEDIA_OK;
}
EXPORT
uint32_t AMediaCodecCryptoInfo_getMode(AMediaCodecCryptoInfo* ci) {
if (!ci) {
- return AMEDIAERROR_UNSUPPORTED;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
return ci->mode;
}
EXPORT
-int AMediaCodecCryptoInfo_getClearBytes(AMediaCodecCryptoInfo* ci, size_t *dst) {
- if (!dst || !ci) {
- return AMEDIAERROR_UNSUPPORTED;
+media_status_t AMediaCodecCryptoInfo_getClearBytes(AMediaCodecCryptoInfo* ci, size_t *dst) {
+ if (!ci) {
+ return AMEDIA_ERROR_INVALID_OBJECT;
+ }
+ if (!dst) {
+ return AMEDIA_ERROR_INVALID_PARAMETER;
}
memcpy(dst, ci->clearbytes, sizeof(size_t) * ci->numsubsamples);
- return OK;
+ return AMEDIA_OK;
}
EXPORT
-int AMediaCodecCryptoInfo_getEncryptedBytes(AMediaCodecCryptoInfo* ci, size_t *dst) {
- if (!dst || !ci) {
- return AMEDIAERROR_UNSUPPORTED;
+media_status_t AMediaCodecCryptoInfo_getEncryptedBytes(AMediaCodecCryptoInfo* ci, size_t *dst) {
+ if (!ci) {
+ return AMEDIA_ERROR_INVALID_OBJECT;
+ }
+ if (!dst) {
+ return AMEDIA_ERROR_INVALID_PARAMETER;
}
memcpy(dst, ci->encryptedbytes, sizeof(size_t) * ci->numsubsamples);
- return OK;
+ return AMEDIA_OK;
}
} // extern "C"
diff --git a/media/ndk/NdkMediaCrypto.cpp b/media/ndk/NdkMediaCrypto.cpp
index c686273..cbadea5 100644
--- a/media/ndk/NdkMediaCrypto.cpp
+++ b/media/ndk/NdkMediaCrypto.cpp
@@ -35,12 +35,12 @@
using namespace android;
-static int translate_error(status_t err) {
+static media_status_t translate_error(status_t err) {
if (err == OK) {
- return OK;
+ return AMEDIA_OK;
}
ALOGE("sf error code: %d", err);
- return -1000;
+ return AMEDIA_ERROR_UNKNOWN;
}
diff --git a/media/ndk/NdkMediaDrm.cpp b/media/ndk/NdkMediaDrm.cpp
index 4967f42..3638613 100644
--- a/media/ndk/NdkMediaDrm.cpp
+++ b/media/ndk/NdkMediaDrm.cpp
@@ -110,38 +110,37 @@ void DrmListener::notify(DrmPlugin::EventType eventType, int extra, const Parcel
extern "C" {
-static mediadrm_status_t translateStatus(status_t status) {
- mediadrm_status_t result = MEDIADRM_UNKNOWN_ERROR;
+static media_status_t translateStatus(status_t status) {
+ media_status_t result = AMEDIA_ERROR_UNKNOWN;
switch (status) {
case OK:
- result = MEDIADRM_OK;
+ result = AMEDIA_OK;
break;
case android::ERROR_DRM_NOT_PROVISIONED:
- result = MEDIADRM_NOT_PROVISIONED_ERROR;
+ result = AMEDIA_DRM_NOT_PROVISIONED;
break;
case android::ERROR_DRM_RESOURCE_BUSY:
- result = MEDIADRM_RESOURCE_BUSY_ERROR;
+ result = AMEDIA_DRM_RESOURCE_BUSY;
break;
case android::ERROR_DRM_DEVICE_REVOKED:
- result = MEDIADRM_DEVICE_REVOKED_ERROR;
+ result = AMEDIA_DRM_DEVICE_REVOKED;
break;
case android::ERROR_DRM_CANNOT_HANDLE:
- result = MEDIADRM_INVALID_PARAMETER_ERROR;
+ result = AMEDIA_ERROR_INVALID_PARAMETER;
break;
case android::ERROR_DRM_TAMPER_DETECTED:
- result = MEDIADRM_TAMPER_DETECTED_ERROR;
+ result = AMEDIA_DRM_TAMPER_DETECTED;
break;
case android::ERROR_DRM_SESSION_NOT_OPENED:
- result = MEDIADRM_SESSION_NOT_OPENED_ERROR;
+ result = AMEDIA_DRM_SESSION_NOT_OPENED;
break;
case android::ERROR_DRM_NO_LICENSE:
- result = MEDIADRM_NEED_KEY_ERROR;
+ result = AMEDIA_DRM_NEED_KEY;
break;
case android::ERROR_DRM_LICENSE_EXPIRED:
- result = MEDIADRM_LICENSE_EXPIRED_ERROR;
+ result = AMEDIA_DRM_LICENSE_EXPIRED;
break;
default:
- result = MEDIADRM_UNKNOWN_ERROR;
break;
}
return result;
@@ -237,9 +236,9 @@ static bool findId(AMediaDrm *mObj, const AMediaDrmByteArray &id, List<idvec_t>:
}
EXPORT
-mediadrm_status_t AMediaDrm_openSession(AMediaDrm *mObj, AMediaDrmSessionId &sessionId) {
+media_status_t AMediaDrm_openSession(AMediaDrm *mObj, AMediaDrmSessionId &sessionId) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
Vector<uint8_t> session;
status_t status = mObj->mDrm->openSession(session);
@@ -249,40 +248,40 @@ mediadrm_status_t AMediaDrm_openSession(AMediaDrm *mObj, AMediaDrmSessionId &ses
sessionId.ptr = iter->array();
sessionId.length = iter->size();
}
- return MEDIADRM_OK;
+ return AMEDIA_OK;
}
EXPORT
-mediadrm_status_t AMediaDrm_closeSession(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId) {
+media_status_t AMediaDrm_closeSession(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
List<idvec_t>::iterator iter;
if (!findId(mObj, sessionId, iter)) {
- return MEDIADRM_SESSION_NOT_OPENED_ERROR;
+ return AMEDIA_DRM_SESSION_NOT_OPENED;
}
mObj->mDrm->closeSession(*iter);
mObj->mIds.erase(iter);
- return MEDIADRM_OK;
+ return AMEDIA_OK;
}
EXPORT
-mediadrm_status_t AMediaDrm_getKeyRequest(AMediaDrm *mObj, const AMediaDrmScope &scope,
+media_status_t AMediaDrm_getKeyRequest(AMediaDrm *mObj, const AMediaDrmScope &scope,
const uint8_t *init, size_t initSize, const char *mimeType, AMediaDrmKeyType keyType,
const AMediaDrmKeyValue *optionalParameters, size_t numOptionalParameters,
const uint8_t *&keyRequest, size_t &keyRequestSize) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
if (!mimeType) {
- return MEDIADRM_INVALID_PARAMETER_ERROR;
+ return AMEDIA_ERROR_INVALID_PARAMETER;
}
List<idvec_t>::iterator iter;
if (!findId(mObj, scope, iter)) {
- return MEDIADRM_SESSION_NOT_OPENED_ERROR;
+ return AMEDIA_DRM_SESSION_NOT_OPENED;
}
Vector<uint8_t> mdInit;
@@ -299,7 +298,7 @@ mediadrm_status_t AMediaDrm_getKeyRequest(AMediaDrm *mObj, const AMediaDrmScope
mdKeyType = DrmPlugin::kKeyType_Release;
break;
default:
- return MEDIADRM_INVALID_PARAMETER_ERROR;
+ return AMEDIA_ERROR_INVALID_PARAMETER;
}
KeyedVector<String8, String8> mdOptionalParameters;
for (size_t i = 0; i < numOptionalParameters; i++) {
@@ -315,23 +314,23 @@ mediadrm_status_t AMediaDrm_getKeyRequest(AMediaDrm *mObj, const AMediaDrmScope
keyRequest = mObj->mKeyRequest.array();
keyRequestSize = mObj->mKeyRequest.size();
}
- return MEDIADRM_OK;
+ return AMEDIA_OK;
}
EXPORT
-mediadrm_status_t AMediaDrm_provideKeyResponse(AMediaDrm *mObj, const AMediaDrmScope &scope,
+media_status_t AMediaDrm_provideKeyResponse(AMediaDrm *mObj, const AMediaDrmScope &scope,
const uint8_t *response, size_t responseSize, AMediaDrmKeySetId &keySetId) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
if (!response || !responseSize) {
- return MEDIADRM_INVALID_PARAMETER_ERROR;
+ return AMEDIA_ERROR_INVALID_PARAMETER;
}
List<idvec_t>::iterator iter;
if (!findId(mObj, scope, iter)) {
- return MEDIADRM_SESSION_NOT_OPENED_ERROR;
+ return AMEDIA_DRM_SESSION_NOT_OPENED;
}
Vector<uint8_t> mdResponse;
mdResponse.appendArray(response, responseSize);
@@ -347,19 +346,19 @@ mediadrm_status_t AMediaDrm_provideKeyResponse(AMediaDrm *mObj, const AMediaDrmS
keySetId.ptr = NULL;
keySetId.length = 0;
}
- return MEDIADRM_OK;
+ return AMEDIA_OK;
}
EXPORT
-mediadrm_status_t AMediaDrm_restoreKeys(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
+media_status_t AMediaDrm_restoreKeys(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
const AMediaDrmKeySetId &keySetId) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
List<idvec_t>::iterator iter;
if (!findId(mObj, sessionId, iter)) {
- return MEDIADRM_SESSION_NOT_OPENED_ERROR;
+ return AMEDIA_DRM_SESSION_NOT_OPENED;
}
Vector<uint8_t> keySet;
keySet.appendArray(keySetId.ptr, keySetId.length);
@@ -367,9 +366,9 @@ mediadrm_status_t AMediaDrm_restoreKeys(AMediaDrm *mObj, const AMediaDrmSessionI
}
EXPORT
-mediadrm_status_t AMediaDrm_removeKeys(AMediaDrm *mObj, const AMediaDrmSessionId &keySetId) {
+media_status_t AMediaDrm_removeKeys(AMediaDrm *mObj, const AMediaDrmSessionId &keySetId) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
List<idvec_t>::iterator iter;
status_t status;
@@ -385,15 +384,15 @@ mediadrm_status_t AMediaDrm_removeKeys(AMediaDrm *mObj, const AMediaDrmSessionId
}
EXPORT
-mediadrm_status_t AMediaDrm_queryKeyStatus(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
+media_status_t AMediaDrm_queryKeyStatus(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
AMediaDrmKeyValue *keyValuePairs, size_t &numPairs) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
List<idvec_t>::iterator iter;
if (!findId(mObj, sessionId, iter)) {
- return MEDIADRM_SESSION_NOT_OPENED_ERROR;
+ return AMEDIA_DRM_SESSION_NOT_OPENED;
}
status_t status = mObj->mDrm->queryKeyStatus(*iter, mObj->mQueryResults);
@@ -404,7 +403,7 @@ mediadrm_status_t AMediaDrm_queryKeyStatus(AMediaDrm *mObj, const AMediaDrmSessi
if (mObj->mQueryResults.size() > numPairs) {
numPairs = mObj->mQueryResults.size();
- return MEDIADRM_SHORT_BUFFER;
+ return AMEDIA_DRM_SHORT_BUFFER;
}
for (size_t i = 0; i < mObj->mQueryResults.size(); i++) {
@@ -412,17 +411,17 @@ mediadrm_status_t AMediaDrm_queryKeyStatus(AMediaDrm *mObj, const AMediaDrmSessi
keyValuePairs[i].mValue = mObj->mQueryResults.keyAt(i).string();
}
numPairs = mObj->mQueryResults.size();
- return MEDIADRM_OK;
+ return AMEDIA_OK;
}
EXPORT
-mediadrm_status_t AMediaDrm_getProvisionRequest(AMediaDrm *mObj, const uint8_t *&provisionRequest,
+media_status_t AMediaDrm_getProvisionRequest(AMediaDrm *mObj, const uint8_t *&provisionRequest,
size_t &provisionRequestSize, const char *&serverUrl) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
if (!provisionRequestSize || !serverUrl) {
- return MEDIADRM_INVALID_PARAMETER_ERROR;
+ return AMEDIA_ERROR_INVALID_PARAMETER;
}
status_t status = mObj->mDrm->getProvisionRequest(String8(""), String8(""),
@@ -434,17 +433,17 @@ mediadrm_status_t AMediaDrm_getProvisionRequest(AMediaDrm *mObj, const uint8_t *
provisionRequestSize = mObj->mProvisionRequest.size();
serverUrl = mObj->mProvisionUrl.string();
}
- return MEDIADRM_OK;
+ return AMEDIA_OK;
}
EXPORT
-mediadrm_status_t AMediaDrm_provideProvisionResponse(AMediaDrm *mObj,
+media_status_t AMediaDrm_provideProvisionResponse(AMediaDrm *mObj,
const uint8_t *response, size_t responseSize) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
if (!response || !responseSize) {
- return MEDIADRM_INVALID_PARAMETER_ERROR;
+ return AMEDIA_ERROR_INVALID_PARAMETER;
}
Vector<uint8_t> mdResponse;
@@ -455,11 +454,11 @@ mediadrm_status_t AMediaDrm_provideProvisionResponse(AMediaDrm *mObj,
}
EXPORT
-mediadrm_status_t AMediaDrm_getSecureStops(AMediaDrm *mObj,
+media_status_t AMediaDrm_getSecureStops(AMediaDrm *mObj,
AMediaDrmSecureStop *secureStops, size_t &numSecureStops) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
status_t status = mObj->mDrm->getSecureStops(mObj->mSecureStops);
if (status != OK) {
@@ -467,7 +466,7 @@ mediadrm_status_t AMediaDrm_getSecureStops(AMediaDrm *mObj,
return translateStatus(status);
}
if (numSecureStops < mObj->mSecureStops.size()) {
- return MEDIADRM_SHORT_BUFFER;
+ return AMEDIA_DRM_SHORT_BUFFER;
}
List<Vector<uint8_t> >::iterator iter = mObj->mSecureStops.begin();
size_t i = 0;
@@ -478,15 +477,15 @@ mediadrm_status_t AMediaDrm_getSecureStops(AMediaDrm *mObj,
++i;
}
numSecureStops = mObj->mSecureStops.size();
- return MEDIADRM_OK;
+ return AMEDIA_OK;
}
EXPORT
-mediadrm_status_t AMediaDrm_releaseSecureStops(AMediaDrm *mObj,
+media_status_t AMediaDrm_releaseSecureStops(AMediaDrm *mObj,
const AMediaDrmSecureStop &ssRelease) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
Vector<uint8_t> release;
@@ -496,11 +495,11 @@ mediadrm_status_t AMediaDrm_releaseSecureStops(AMediaDrm *mObj,
EXPORT
-mediadrm_status_t AMediaDrm_getPropertyString(AMediaDrm *mObj, const char *propertyName,
+media_status_t AMediaDrm_getPropertyString(AMediaDrm *mObj, const char *propertyName,
const char *&propertyValue) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
status_t status = mObj->mDrm->getPropertyString(String8(propertyName),
@@ -515,10 +514,10 @@ mediadrm_status_t AMediaDrm_getPropertyString(AMediaDrm *mObj, const char *prope
}
EXPORT
-mediadrm_status_t AMediaDrm_getPropertyByteArray(AMediaDrm *mObj,
+media_status_t AMediaDrm_getPropertyByteArray(AMediaDrm *mObj,
const char *propertyName, AMediaDrmByteArray &propertyValue) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
status_t status = mObj->mDrm->getPropertyByteArray(String8(propertyName),
@@ -535,10 +534,10 @@ mediadrm_status_t AMediaDrm_getPropertyByteArray(AMediaDrm *mObj,
}
EXPORT
-mediadrm_status_t AMediaDrm_setPropertyString(AMediaDrm *mObj,
+media_status_t AMediaDrm_setPropertyString(AMediaDrm *mObj,
const char *propertyName, const char *value) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
return translateStatus(mObj->mDrm->setPropertyString(String8(propertyName),
@@ -546,7 +545,7 @@ mediadrm_status_t AMediaDrm_setPropertyString(AMediaDrm *mObj,
}
EXPORT
-mediadrm_status_t AMediaDrm_setPropertyByteArray(AMediaDrm *mObj,
+media_status_t AMediaDrm_setPropertyByteArray(AMediaDrm *mObj,
const char *propertyName, const uint8_t *value, size_t valueSize) {
Vector<uint8_t> byteArray;
@@ -557,17 +556,17 @@ mediadrm_status_t AMediaDrm_setPropertyByteArray(AMediaDrm *mObj,
}
-static mediadrm_status_t encrypt_decrypt_common(AMediaDrm *mObj,
+static media_status_t encrypt_decrypt_common(AMediaDrm *mObj,
const AMediaDrmSessionId &sessionId,
const char *cipherAlgorithm, uint8_t *keyId, uint8_t *iv,
const uint8_t *input, uint8_t *output, size_t dataSize, bool encrypt) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
List<idvec_t>::iterator iter;
if (!findId(mObj, sessionId, iter)) {
- return MEDIADRM_SESSION_NOT_OPENED_ERROR;
+ return AMEDIA_DRM_SESSION_NOT_OPENED;
}
status_t status = mObj->mDrm->setCipherAlgorithm(*iter, String8(cipherAlgorithm));
@@ -599,7 +598,7 @@ static mediadrm_status_t encrypt_decrypt_common(AMediaDrm *mObj,
}
EXPORT
-mediadrm_status_t AMediaDrm_encrypt(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
+media_status_t AMediaDrm_encrypt(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
const char *cipherAlgorithm, uint8_t *keyId, uint8_t *iv,
const uint8_t *input, uint8_t *output, size_t dataSize) {
return encrypt_decrypt_common(mObj, sessionId, cipherAlgorithm, keyId, iv,
@@ -607,7 +606,7 @@ mediadrm_status_t AMediaDrm_encrypt(AMediaDrm *mObj, const AMediaDrmSessionId &s
}
EXPORT
-mediadrm_status_t AMediaDrm_decrypt(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
+media_status_t AMediaDrm_decrypt(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
const char *cipherAlgorithm, uint8_t *keyId, uint8_t *iv,
const uint8_t *input, uint8_t *output, size_t dataSize) {
return encrypt_decrypt_common(mObj, sessionId, cipherAlgorithm, keyId, iv,
@@ -615,16 +614,16 @@ mediadrm_status_t AMediaDrm_decrypt(AMediaDrm *mObj, const AMediaDrmSessionId &s
}
EXPORT
-mediadrm_status_t AMediaDrm_sign(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
+media_status_t AMediaDrm_sign(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
const char *macAlgorithm, uint8_t *keyId, uint8_t *message, size_t messageSize,
uint8_t *signature, size_t *signatureSize) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
List<idvec_t>::iterator iter;
if (!findId(mObj, sessionId, iter)) {
- return MEDIADRM_SESSION_NOT_OPENED_ERROR;
+ return AMEDIA_DRM_SESSION_NOT_OPENED;
}
status_t status = mObj->mDrm->setMacAlgorithm(*iter, String8(macAlgorithm));
@@ -642,7 +641,7 @@ mediadrm_status_t AMediaDrm_sign(AMediaDrm *mObj, const AMediaDrmSessionId &sess
Vector<uint8_t> signatureVec;
status = mObj->mDrm->sign(*iter, keyIdVec, messageVec, signatureVec);
if (signatureVec.size() > *signatureSize) {
- return MEDIADRM_SHORT_BUFFER;
+ return AMEDIA_DRM_SHORT_BUFFER;
}
if (status == OK) {
memcpy(signature, signatureVec.array(), signatureVec.size());
@@ -651,16 +650,16 @@ mediadrm_status_t AMediaDrm_sign(AMediaDrm *mObj, const AMediaDrmSessionId &sess
}
EXPORT
-mediadrm_status_t AMediaDrm_verify(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
+media_status_t AMediaDrm_verify(AMediaDrm *mObj, const AMediaDrmSessionId &sessionId,
const char *macAlgorithm, uint8_t *keyId, const uint8_t *message, size_t messageSize,
const uint8_t *signature, size_t signatureSize) {
if (!mObj || mObj->mDrm == NULL) {
- return MEDIADRM_INVALID_OBJECT_ERROR;
+ return AMEDIA_ERROR_INVALID_OBJECT;
}
List<idvec_t>::iterator iter;
if (!findId(mObj, sessionId, iter)) {
- return MEDIADRM_SESSION_NOT_OPENED_ERROR;
+ return AMEDIA_DRM_SESSION_NOT_OPENED;
}
status_t status = mObj->mDrm->setMacAlgorithm(*iter, String8(macAlgorithm));
@@ -681,7 +680,7 @@ mediadrm_status_t AMediaDrm_verify(AMediaDrm *mObj, const AMediaDrmSessionId &se
bool match;
status = mObj->mDrm->verify(*iter, keyIdVec, messageVec, signatureVec, match);
if (status == OK) {
- return match ? MEDIADRM_OK : MEDIADRM_VERIFY_FAILED;
+ return match ? AMEDIA_OK : AMEDIA_DRM_VERIFY_FAILED;
}
return translateStatus(status);
}
diff --git a/media/ndk/NdkMediaExtractor.cpp b/media/ndk/NdkMediaExtractor.cpp
index e23adf3..563358f 100644
--- a/media/ndk/NdkMediaExtractor.cpp
+++ b/media/ndk/NdkMediaExtractor.cpp
@@ -38,12 +38,12 @@
using namespace android;
-static int translate_error(status_t err) {
+static media_status_t translate_error(status_t err) {
if (err == OK) {
- return OK;
+ return AMEDIA_OK;
}
ALOGE("sf error code: %d", err);
- return AMEDIAERROR_GENERIC;
+ return AMEDIA_ERROR_UNKNOWN;
}
struct AMediaExtractor {
@@ -63,21 +63,20 @@ AMediaExtractor* AMediaExtractor_new() {
}
EXPORT
-int AMediaExtractor_delete(AMediaExtractor *mData) {
+media_status_t AMediaExtractor_delete(AMediaExtractor *mData) {
ALOGV("dtor");
delete mData;
- return OK;
+ return AMEDIA_OK;
}
EXPORT
-int AMediaExtractor_setDataSourceFd(AMediaExtractor *mData, int fd, off64_t offset, off64_t length) {
+media_status_t AMediaExtractor_setDataSourceFd(AMediaExtractor *mData, int fd, off64_t offset, off64_t length) {
ALOGV("setDataSource(%d, %lld, %lld)", fd, offset, length);
- mData->mImpl->setDataSource(fd, offset, length);
- return 0;
+ return translate_error(mData->mImpl->setDataSource(fd, offset, length));
}
EXPORT
-int AMediaExtractor_setDataSource(AMediaExtractor *mData, const char *location) {
+media_status_t AMediaExtractor_setDataSource(AMediaExtractor *mData, const char *location) {
ALOGV("setDataSource(%s)", location);
// TODO: add header support
@@ -86,14 +85,14 @@ int AMediaExtractor_setDataSource(AMediaExtractor *mData, const char *location)
if (env == NULL) {
ALOGE("setDataSource(path) must be called from Java thread");
env->ExceptionClear();
- return AMEDIAERROR_UNSUPPORTED;
+ return AMEDIA_ERROR_UNSUPPORTED;
}
jclass mediahttpclass = env->FindClass("android/media/MediaHTTPService");
if (mediahttpclass == NULL) {
ALOGE("can't find MediaHttpService");
env->ExceptionClear();
- return AMEDIAERROR_UNSUPPORTED;
+ return AMEDIA_ERROR_UNSUPPORTED;
}
jmethodID mediaHttpCreateMethod = env->GetStaticMethodID(mediahttpclass,
@@ -101,7 +100,7 @@ int AMediaExtractor_setDataSource(AMediaExtractor *mData, const char *location)
if (mediaHttpCreateMethod == NULL) {
ALOGE("can't find method");
env->ExceptionClear();
- return AMEDIAERROR_UNSUPPORTED;
+ return AMEDIA_ERROR_UNSUPPORTED;
}
jstring jloc = env->NewStringUTF(location);
@@ -115,13 +114,13 @@ int AMediaExtractor_setDataSource(AMediaExtractor *mData, const char *location)
httpService = interface_cast<IMediaHTTPService>(binder);
}
- mData->mImpl->setDataSource(httpService, location, NULL);
+ status_t err = mData->mImpl->setDataSource(httpService, location, NULL);
env->ExceptionClear();
- return OK;
+ return translate_error(err);
}
EXPORT
-int AMediaExtractor_getTrackCount(AMediaExtractor *mData) {
+size_t AMediaExtractor_getTrackCount(AMediaExtractor *mData) {
return mData->mImpl->countTracks();
}
@@ -133,13 +132,13 @@ AMediaFormat* AMediaExtractor_getTrackFormat(AMediaExtractor *mData, size_t idx)
}
EXPORT
-int AMediaExtractor_selectTrack(AMediaExtractor *mData, size_t idx) {
+media_status_t AMediaExtractor_selectTrack(AMediaExtractor *mData, size_t idx) {
ALOGV("selectTrack(%z)", idx);
return translate_error(mData->mImpl->selectTrack(idx));
}
EXPORT
-int AMediaExtractor_unselectTrack(AMediaExtractor *mData, size_t idx) {
+media_status_t AMediaExtractor_unselectTrack(AMediaExtractor *mData, size_t idx) {
ALOGV("unselectTrack(%z)", idx);
return translate_error(mData->mImpl->unselectTrack(idx));
}
@@ -151,7 +150,7 @@ bool AMediaExtractor_advance(AMediaExtractor *mData) {
}
EXPORT
-int AMediaExtractor_readSampleData(AMediaExtractor *mData, uint8_t *buffer, size_t capacity) {
+ssize_t AMediaExtractor_readSampleData(AMediaExtractor *mData, uint8_t *buffer, size_t capacity) {
//ALOGV("readSampleData");
sp<ABuffer> tmp = new ABuffer(buffer, capacity);
if (mData->mImpl->readSampleData(tmp) == OK) {
@@ -161,7 +160,7 @@ int AMediaExtractor_readSampleData(AMediaExtractor *mData, uint8_t *buffer, size
}
EXPORT
-int AMediaExtractor_getSampleFlags(AMediaExtractor *mData) {
+uint32_t AMediaExtractor_getSampleFlags(AMediaExtractor *mData) {
int sampleFlags = 0;
sp<MetaData> meta;
status_t err = mData->mImpl->getSampleMeta(&meta);
@@ -170,14 +169,14 @@ int AMediaExtractor_getSampleFlags(AMediaExtractor *mData) {
}
int32_t val;
if (meta->findInt32(kKeyIsSyncFrame, &val) && val != 0) {
- sampleFlags |= NuMediaExtractor::SAMPLE_FLAG_SYNC;
+ sampleFlags |= AMEDIAEXTRACTOR_SAMPLE_FLAG_SYNC;
}
uint32_t type;
const void *data;
size_t size;
if (meta->findData(kKeyEncryptedSizes, &type, &data, &size)) {
- sampleFlags |= NuMediaExtractor::SAMPLE_FLAG_ENCRYPTED;
+ sampleFlags |= AMEDIAEXTRACTOR_SAMPLE_FLAG_ENCRYPTED;
}
return sampleFlags;
}
diff --git a/media/ndk/NdkMediaFormat.cpp b/media/ndk/NdkMediaFormat.cpp
index e1d8c95..77018ec 100644
--- a/media/ndk/NdkMediaFormat.cpp
+++ b/media/ndk/NdkMediaFormat.cpp
@@ -64,10 +64,10 @@ AMediaFormat *AMediaFormat_new() {
}
EXPORT
-int AMediaFormat_delete(AMediaFormat *mData) {
+media_status_t AMediaFormat_delete(AMediaFormat *mData) {
ALOGV("dtor");
delete mData;
- return OK;
+ return AMEDIA_OK;
}
diff --git a/media/ndk/NdkMediaMuxer.cpp b/media/ndk/NdkMediaMuxer.cpp
index aa78740..19b9fc4 100644
--- a/media/ndk/NdkMediaMuxer.cpp
+++ b/media/ndk/NdkMediaMuxer.cpp
@@ -37,12 +37,12 @@
using namespace android;
-static int translate_error(status_t err) {
+static media_status_t translate_error(status_t err) {
if (err == OK) {
- return OK;
+ return AMEDIA_OK;
}
ALOGE("sf error code: %d", err);
- return -1000;
+ return AMEDIA_ERROR_UNKNOWN;
}
struct AMediaMuxer {
@@ -61,19 +61,19 @@ AMediaMuxer* AMediaMuxer_new(int fd, OutputFormat format) {
}
EXPORT
-int AMediaMuxer_delete(AMediaMuxer *muxer) {
+media_status_t AMediaMuxer_delete(AMediaMuxer *muxer) {
ALOGV("dtor");
delete muxer;
- return OK;
+ return AMEDIA_OK;
}
EXPORT
-int AMediaMuxer_setLocation(AMediaMuxer *muxer, float latitude, float longtitude) {
+media_status_t AMediaMuxer_setLocation(AMediaMuxer *muxer, float latitude, float longtitude) {
return translate_error(muxer->mImpl->setLocation(latitude * 10000, longtitude * 10000));
}
EXPORT
-int AMediaMuxer_setOrientationHint(AMediaMuxer *muxer, int degrees) {
+media_status_t AMediaMuxer_setOrientationHint(AMediaMuxer *muxer, int degrees) {
return translate_error(muxer->mImpl->setOrientationHint(degrees));
}
@@ -85,17 +85,17 @@ ssize_t AMediaMuxer_addTrack(AMediaMuxer *muxer, const AMediaFormat *format) {
}
EXPORT
-int AMediaMuxer_start(AMediaMuxer *muxer) {
+media_status_t AMediaMuxer_start(AMediaMuxer *muxer) {
return translate_error(muxer->mImpl->start());
}
EXPORT
-int AMediaMuxer_stop(AMediaMuxer *muxer) {
+media_status_t AMediaMuxer_stop(AMediaMuxer *muxer) {
return translate_error(muxer->mImpl->stop());
}
EXPORT
-int AMediaMuxer_writeSampleData(AMediaMuxer *muxer,
+media_status_t AMediaMuxer_writeSampleData(AMediaMuxer *muxer,
size_t trackIdx, const uint8_t *data, const AMediaCodecBufferInfo &info) {
sp<ABuffer> buf = new ABuffer((void*)(data + info.offset), info.size);
return translate_error(