am d9c16c37: Merge "Use local lock for most MediaMetadataRetriever methods. Bug 2560834." into froyo

Merge commit 'd9c16c37ea28933973f32cb434f770226266b675' into froyo-plus-aosp

* commit 'd9c16c37ea28933973f32cb434f770226266b675':
  Use local lock for most MediaMetadataRetriever methods. Bug 2560834.
This commit is contained in:
Dave Sparks
2010-04-02 09:11:56 -07:00
committed by Android Git Automerger
2 changed files with 7 additions and 7 deletions

View File

@@ -76,7 +76,6 @@ static void setRetriever(JNIEnv* env, jobject thiz, int retriever)
static void android_media_MediaMetadataRetriever_setDataSource(JNIEnv *env, jobject thiz, jstring path) static void android_media_MediaMetadataRetriever_setDataSource(JNIEnv *env, jobject thiz, jstring path)
{ {
LOGV("setDataSource"); LOGV("setDataSource");
Mutex::Autolock lock(sLock);
MediaMetadataRetriever* retriever = getRetriever(env, thiz); MediaMetadataRetriever* retriever = getRetriever(env, thiz);
if (retriever == 0) { if (retriever == 0) {
jniThrowException(env, "java/lang/IllegalStateException", "No retriever available"); jniThrowException(env, "java/lang/IllegalStateException", "No retriever available");
@@ -105,7 +104,6 @@ static void android_media_MediaMetadataRetriever_setDataSource(JNIEnv *env, jobj
static void android_media_MediaMetadataRetriever_setDataSourceFD(JNIEnv *env, jobject thiz, jobject fileDescriptor, jlong offset, jlong length) static void android_media_MediaMetadataRetriever_setDataSourceFD(JNIEnv *env, jobject thiz, jobject fileDescriptor, jlong offset, jlong length)
{ {
LOGV("setDataSource"); LOGV("setDataSource");
Mutex::Autolock lock(sLock);
MediaMetadataRetriever* retriever = getRetriever(env, thiz); MediaMetadataRetriever* retriever = getRetriever(env, thiz);
if (retriever == 0) { if (retriever == 0) {
jniThrowException(env, "java/lang/IllegalStateException", "No retriever available"); jniThrowException(env, "java/lang/IllegalStateException", "No retriever available");
@@ -135,7 +133,6 @@ static void android_media_MediaMetadataRetriever_setDataSourceFD(JNIEnv *env, jo
static void android_media_MediaMetadataRetriever_setMode(JNIEnv *env, jobject thiz, jint mode) static void android_media_MediaMetadataRetriever_setMode(JNIEnv *env, jobject thiz, jint mode)
{ {
LOGV("setMode"); LOGV("setMode");
Mutex::Autolock lock(sLock);
MediaMetadataRetriever* retriever = getRetriever(env, thiz); MediaMetadataRetriever* retriever = getRetriever(env, thiz);
if (retriever == 0) { if (retriever == 0) {
jniThrowException(env, "java/lang/IllegalStateException", "No retriever available"); jniThrowException(env, "java/lang/IllegalStateException", "No retriever available");
@@ -147,7 +144,6 @@ static void android_media_MediaMetadataRetriever_setMode(JNIEnv *env, jobject th
static int android_media_MediaMetadataRetriever_getMode(JNIEnv *env, jobject thiz) static int android_media_MediaMetadataRetriever_getMode(JNIEnv *env, jobject thiz)
{ {
LOGV("getMode"); LOGV("getMode");
Mutex::Autolock lock(sLock);
MediaMetadataRetriever* retriever = getRetriever(env, thiz); MediaMetadataRetriever* retriever = getRetriever(env, thiz);
if (retriever == 0) { if (retriever == 0) {
jniThrowException(env, "java/lang/IllegalStateException", "No retriever available"); jniThrowException(env, "java/lang/IllegalStateException", "No retriever available");
@@ -161,7 +157,6 @@ static int android_media_MediaMetadataRetriever_getMode(JNIEnv *env, jobject thi
static jobject android_media_MediaMetadataRetriever_captureFrame(JNIEnv *env, jobject thiz) static jobject android_media_MediaMetadataRetriever_captureFrame(JNIEnv *env, jobject thiz)
{ {
LOGV("captureFrame"); LOGV("captureFrame");
Mutex::Autolock lock(sLock);
MediaMetadataRetriever* retriever = getRetriever(env, thiz); MediaMetadataRetriever* retriever = getRetriever(env, thiz);
if (retriever == 0) { if (retriever == 0) {
jniThrowException(env, "java/lang/IllegalStateException", "No retriever available"); jniThrowException(env, "java/lang/IllegalStateException", "No retriever available");
@@ -202,7 +197,6 @@ static jobject android_media_MediaMetadataRetriever_captureFrame(JNIEnv *env, jo
static jbyteArray android_media_MediaMetadataRetriever_extractAlbumArt(JNIEnv *env, jobject thiz) static jbyteArray android_media_MediaMetadataRetriever_extractAlbumArt(JNIEnv *env, jobject thiz)
{ {
LOGV("extractAlbumArt"); LOGV("extractAlbumArt");
Mutex::Autolock lock(sLock);
MediaMetadataRetriever* retriever = getRetriever(env, thiz); MediaMetadataRetriever* retriever = getRetriever(env, thiz);
if (retriever == 0) { if (retriever == 0) {
jniThrowException(env, "java/lang/IllegalStateException", "No retriever available"); jniThrowException(env, "java/lang/IllegalStateException", "No retriever available");
@@ -238,7 +232,6 @@ static jbyteArray android_media_MediaMetadataRetriever_extractAlbumArt(JNIEnv *e
static jobject android_media_MediaMetadataRetriever_extractMetadata(JNIEnv *env, jobject thiz, jint keyCode) static jobject android_media_MediaMetadataRetriever_extractMetadata(JNIEnv *env, jobject thiz, jint keyCode)
{ {
LOGV("extractMetadata"); LOGV("extractMetadata");
Mutex::Autolock lock(sLock);
MediaMetadataRetriever* retriever = getRetriever(env, thiz); MediaMetadataRetriever* retriever = getRetriever(env, thiz);
if (retriever == 0) { if (retriever == 0) {
jniThrowException(env, "java/lang/IllegalStateException", "No retriever available"); jniThrowException(env, "java/lang/IllegalStateException", "No retriever available");

View File

@@ -95,6 +95,7 @@ void MediaMetadataRetriever::disconnect()
status_t MediaMetadataRetriever::setDataSource(const char* srcUrl) status_t MediaMetadataRetriever::setDataSource(const char* srcUrl)
{ {
LOGV("setDataSource"); LOGV("setDataSource");
Mutex::Autolock _l(mLock);
if (mRetriever == 0) { if (mRetriever == 0) {
LOGE("retriever is not initialized"); LOGE("retriever is not initialized");
return INVALID_OPERATION; return INVALID_OPERATION;
@@ -110,6 +111,7 @@ status_t MediaMetadataRetriever::setDataSource(const char* srcUrl)
status_t MediaMetadataRetriever::setDataSource(int fd, int64_t offset, int64_t length) status_t MediaMetadataRetriever::setDataSource(int fd, int64_t offset, int64_t length)
{ {
LOGV("setDataSource(%d, %lld, %lld)", fd, offset, length); LOGV("setDataSource(%d, %lld, %lld)", fd, offset, length);
Mutex::Autolock _l(mLock);
if (mRetriever == 0) { if (mRetriever == 0) {
LOGE("retriever is not initialized"); LOGE("retriever is not initialized");
return INVALID_OPERATION; return INVALID_OPERATION;
@@ -124,6 +126,7 @@ status_t MediaMetadataRetriever::setDataSource(int fd, int64_t offset, int64_t l
status_t MediaMetadataRetriever::setMode(int mode) status_t MediaMetadataRetriever::setMode(int mode)
{ {
LOGV("setMode(%d)", mode); LOGV("setMode(%d)", mode);
Mutex::Autolock _l(mLock);
if (mRetriever == 0) { if (mRetriever == 0) {
LOGE("retriever is not initialized"); LOGE("retriever is not initialized");
return INVALID_OPERATION; return INVALID_OPERATION;
@@ -134,6 +137,7 @@ status_t MediaMetadataRetriever::setMode(int mode)
status_t MediaMetadataRetriever::getMode(int* mode) status_t MediaMetadataRetriever::getMode(int* mode)
{ {
LOGV("getMode"); LOGV("getMode");
Mutex::Autolock _l(mLock);
if (mRetriever == 0) { if (mRetriever == 0) {
LOGE("retriever is not initialized"); LOGE("retriever is not initialized");
return INVALID_OPERATION; return INVALID_OPERATION;
@@ -144,6 +148,7 @@ status_t MediaMetadataRetriever::getMode(int* mode)
sp<IMemory> MediaMetadataRetriever::captureFrame() sp<IMemory> MediaMetadataRetriever::captureFrame()
{ {
LOGV("captureFrame"); LOGV("captureFrame");
Mutex::Autolock _l(mLock);
if (mRetriever == 0) { if (mRetriever == 0) {
LOGE("retriever is not initialized"); LOGE("retriever is not initialized");
return NULL; return NULL;
@@ -154,6 +159,7 @@ sp<IMemory> MediaMetadataRetriever::captureFrame()
const char* MediaMetadataRetriever::extractMetadata(int keyCode) const char* MediaMetadataRetriever::extractMetadata(int keyCode)
{ {
LOGV("extractMetadata(%d)", keyCode); LOGV("extractMetadata(%d)", keyCode);
Mutex::Autolock _l(mLock);
if (mRetriever == 0) { if (mRetriever == 0) {
LOGE("retriever is not initialized"); LOGE("retriever is not initialized");
return NULL; return NULL;
@@ -164,6 +170,7 @@ const char* MediaMetadataRetriever::extractMetadata(int keyCode)
sp<IMemory> MediaMetadataRetriever::extractAlbumArt() sp<IMemory> MediaMetadataRetriever::extractAlbumArt()
{ {
LOGV("extractAlbumArt"); LOGV("extractAlbumArt");
Mutex::Autolock _l(mLock);
if (mRetriever == 0) { if (mRetriever == 0) {
LOGE("retriever is not initialized"); LOGE("retriever is not initialized");
return NULL; return NULL;