diff options
Diffstat (limited to 'media')
| -rw-r--r-- | media/java/android/media/MediaCodec.java | 3 | ||||
| -rw-r--r-- | media/java/android/media/MediaFile.java | 1 | ||||
| -rw-r--r-- | media/java/android/media/MediaRecorder.java | 5 | ||||
| -rw-r--r-- | media/java/android/media/MediaScanner.java | 3 | ||||
| -rwxr-xr-x | media/java/android/mtp/MtpDatabase.java | 1 | ||||
| -rw-r--r-- | media/java/android/mtp/MtpStorage.java | 4 | ||||
| -rw-r--r-- | media/jni/android_media_MediaCodec.cpp | 5 | ||||
| -rwxr-xr-x | media/jni/mediaeditor/VideoEditorClasses.cpp | 9 | ||||
| -rwxr-xr-x | media/jni/mediaeditor/VideoEditorJava.cpp | 3 | ||||
| -rwxr-xr-x | media/jni/mediaeditor/VideoEditorMain.cpp | 5 | ||||
| -rw-r--r-- | media/libdrm/mobile1/src/objmng/drm_api.c | 4 |
11 files changed, 32 insertions, 11 deletions
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java index 560c549..99db066 100644 --- a/media/java/android/media/MediaCodec.java +++ b/media/java/android/media/MediaCodec.java @@ -33,7 +33,6 @@ import java.util.Map; * codec.start(); * ByteBuffer[] inputBuffers = codec.getInputBuffers(); * ByteBuffer[] outputBuffers = codec.getOutputBuffers(); - * MediaFormat format = codec.getOutputFormat(); * for (;;) { * int inputBufferIndex = codec.dequeueInputBuffer(timeoutUs); * if (inputBufferIndex >= 0) { @@ -51,7 +50,7 @@ import java.util.Map; * outputBuffers = codec.getOutputBuffers(); * } else if (outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { * // Subsequent data will conform to new format. - * format = codec.getOutputFormat(); + * MediaFormat format = codec.getOutputFormat(); * ... * } * } diff --git a/media/java/android/media/MediaFile.java b/media/java/android/media/MediaFile.java index c9bec18..d21ada4 100644 --- a/media/java/android/media/MediaFile.java +++ b/media/java/android/media/MediaFile.java @@ -172,6 +172,7 @@ public class MediaFile { static { addFileType("MP3", FILE_TYPE_MP3, "audio/mpeg", MtpConstants.FORMAT_MP3); + addFileType("MPGA", FILE_TYPE_MP3, "audio/mpeg", MtpConstants.FORMAT_MP3); addFileType("M4A", FILE_TYPE_M4A, "audio/mp4", MtpConstants.FORMAT_MPEG); addFileType("WAV", FILE_TYPE_WAV, "audio/x-wav", MtpConstants.FORMAT_WAV); addFileType("AMR", FILE_TYPE_AMR, "audio/amr"); diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java index 9af201d..613354f 100644 --- a/media/java/android/media/MediaRecorder.java +++ b/media/java/android/media/MediaRecorder.java @@ -351,12 +351,11 @@ public class MediaRecorder */ public void setCaptureRate(double fps) { // Make sure that time lapse is enabled when this method is called. - setParameter(String.format("time-lapse-enable=1")); + setParameter("time-lapse-enable=1"); double timeBetweenFrameCapture = 1 / fps; int timeBetweenFrameCaptureMs = (int) (1000 * timeBetweenFrameCapture); - setParameter(String.format("time-between-time-lapse-frame-capture=%d", - timeBetweenFrameCaptureMs)); + setParameter("time-between-time-lapse-frame-capture=" + timeBetweenFrameCaptureMs); } /** diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java index 6f8b809..fd37bcf 100644 --- a/media/java/android/media/MediaScanner.java +++ b/media/java/android/media/MediaScanner.java @@ -1399,7 +1399,8 @@ public class MediaScanner long lastModifiedSeconds = file.lastModified() / 1000; if (!MediaFile.isAudioFileType(fileType) && !MediaFile.isVideoFileType(fileType) && - !MediaFile.isImageFileType(fileType) && !MediaFile.isPlayListFileType(fileType)) { + !MediaFile.isImageFileType(fileType) && !MediaFile.isPlayListFileType(fileType) && + !MediaFile.isDrmFileType(fileType)) { // no need to use the media scanner, but we need to update last modified and file size ContentValues values = new ContentValues(); diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java index 7532d79..a0325dd 100755 --- a/media/java/android/mtp/MtpDatabase.java +++ b/media/java/android/mtp/MtpDatabase.java @@ -492,6 +492,7 @@ public class MtpDatabase { MtpConstants.FORMAT_MPEG, MtpConstants.FORMAT_EXIF_JPEG, MtpConstants.FORMAT_TIFF_EP, + MtpConstants.FORMAT_BMP, MtpConstants.FORMAT_GIF, MtpConstants.FORMAT_JFIF, MtpConstants.FORMAT_PNG, diff --git a/media/java/android/mtp/MtpStorage.java b/media/java/android/mtp/MtpStorage.java index 2f47aad..9cf65a3 100644 --- a/media/java/android/mtp/MtpStorage.java +++ b/media/java/android/mtp/MtpStorage.java @@ -39,7 +39,7 @@ public class MtpStorage { mStorageId = volume.getStorageId(); mPath = volume.getPath(); mDescription = context.getResources().getString(volume.getDescriptionId()); - mReserveSpace = volume.getMtpReserveSpace(); + mReserveSpace = volume.getMtpReserveSpace() * 1024 * 1024; mRemovable = volume.isRemovable(); mMaxFileSize = volume.getMaxFileSize(); } @@ -87,7 +87,7 @@ public class MtpStorage { * Returns the amount of space to reserve on the storage file system. * This can be set to a non-zero value to prevent MTP from filling up the entire storage. * - * @return the storage unit description + * @return reserved space in bytes. */ public final long getReserveSpace() { return mReserveSpace; diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp index e43e66e..4941ae5 100644 --- a/media/jni/android_media_MediaCodec.cpp +++ b/media/jni/android_media_MediaCodec.cpp @@ -96,7 +96,10 @@ status_t JMediaCodec::initCheck() const { } JMediaCodec::~JMediaCodec() { - mCodec->release(); + if (mCodec != NULL) { + mCodec->release(); + mCodec.clear(); + } JNIEnv *env = AndroidRuntime::getJNIEnv(); diff --git a/media/jni/mediaeditor/VideoEditorClasses.cpp b/media/jni/mediaeditor/VideoEditorClasses.cpp index 4e0e0f2..4982a47 100755 --- a/media/jni/mediaeditor/VideoEditorClasses.cpp +++ b/media/jni/mediaeditor/VideoEditorClasses.cpp @@ -1853,6 +1853,9 @@ videoEditClasses_getEditSettings( // Get the clip settings. videoEditClasses_getClipSettings(pResult, pEnv, clipSettings, &pSettings->pClipList[i]); + + // Free the local references to avoid memory leaks + pEnv->DeleteLocalRef(clipSettings); } } } @@ -1877,6 +1880,9 @@ videoEditClasses_getEditSettings( // Get the transition settings. videoEditClasses_getTransitionSettings(pResult, pEnv, transitionSettings, &pSettings->pTransitionList[i]); + + // Free the local references to avoid memory leaks + pEnv->DeleteLocalRef(transitionSettings); } } } @@ -1900,6 +1906,9 @@ videoEditClasses_getEditSettings( // Get the effect settings. videoEditClasses_getEffectSettings(pResult, pEnv, effectSettings, &pSettings->Effects[i]); + + // Free the local references to avoid memory leaks + pEnv->DeleteLocalRef(effectSettings); } } } diff --git a/media/jni/mediaeditor/VideoEditorJava.cpp b/media/jni/mediaeditor/VideoEditorJava.cpp index ec8050f..bcf9099 100755 --- a/media/jni/mediaeditor/VideoEditorJava.cpp +++ b/media/jni/mediaeditor/VideoEditorJava.cpp @@ -387,6 +387,9 @@ videoEditJava_getString( (*pLength) = length; } } + + // Delete local references to avoid memory leaks + pEnv->DeleteLocalRef(string); } // Return the string. diff --git a/media/jni/mediaeditor/VideoEditorMain.cpp b/media/jni/mediaeditor/VideoEditorMain.cpp index 41ec120..41c28c0 100755 --- a/media/jni/mediaeditor/VideoEditorMain.cpp +++ b/media/jni/mediaeditor/VideoEditorMain.cpp @@ -380,6 +380,9 @@ getClipSetting( pEnv->GetIntField(object,fid); M4OSA_TRACE1_1("videoRotation = %d", pSettings->ClipProperties.videoRotationDegrees); + + // Free the local references to avoid memory leaks + pEnv->DeleteLocalRef(clazz); } static void jniPreviewProgressCallback (void* cookie, M4OSA_UInt32 msgType, @@ -1849,7 +1852,9 @@ videoEditor_populateSettings( "not initialized"); if (needToBeLoaded) { getClipSetting(pEnv,properties, pContext->pEditSettings->pClipList[i]); + pEnv->DeleteLocalRef(properties); } else { + pEnv->DeleteLocalRef(properties); goto videoEditor_populateSettings_cleanup; } } diff --git a/media/libdrm/mobile1/src/objmng/drm_api.c b/media/libdrm/mobile1/src/objmng/drm_api.c index 249cdbe..232d9f4 100644 --- a/media/libdrm/mobile1/src/objmng/drm_api.c +++ b/media/libdrm/mobile1/src/objmng/drm_api.c @@ -1478,13 +1478,13 @@ static int32_t drm_readBinaryContentFromInputStream(T_DRM_Session_Node* s, int32 if (NULL != s->readBuf && s->readBufLen > 0) { /* read from backup buffer */ if (leftLen <= s->readBufLen) { - memcpy(mediaBuf, s->readBuf + s->readBufOff, leftLen); + memcpy(mediaBuf + readBytes, s->readBuf + s->readBufOff, leftLen); s->readBufOff += leftLen; s->readBufLen -= leftLen; readBytes += leftLen; leftLen = 0; } else { - memcpy(mediaBuf, s->readBuf + s->readBufOff, s->readBufLen); + memcpy(mediaBuf + readBytes, s->readBuf + s->readBufOff, s->readBufLen); s->readBufOff += s->readBufLen; leftLen -= s->readBufLen; readBytes += s->readBufLen; |
