diff options
author | Shailendra Yadav <shailendray@google.com> | 2011-03-14 17:36:56 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-03-14 17:36:56 -0700 |
commit | e987cbafc2a6c19cae1ccf50658fb6320bda084a (patch) | |
tree | 0cb6c88e54f9b68b8ed4d96ef79973c87d9907e2 /media | |
parent | 67718e076422f8f28f4e30a39df9e462ef32d19b (diff) | |
parent | 3fabad87f6cade6ccf7dc6d716e8b91675982088 (diff) | |
download | frameworks_base-e987cbafc2a6c19cae1ccf50658fb6320bda084a.zip frameworks_base-e987cbafc2a6c19cae1ccf50658fb6320bda084a.tar.gz frameworks_base-e987cbafc2a6c19cae1ccf50658fb6320bda084a.tar.bz2 |
am 3fabad87: Merge "Fix for Don\'t allow adding 64-bit files(4086708)" into honeycomb-mr1
* commit '3fabad87f6cade6ccf7dc6d716e8b91675982088':
Fix for Don't allow adding 64-bit files(4086708)
Diffstat (limited to 'media')
4 files changed, 26 insertions, 2 deletions
diff --git a/media/java/android/media/videoeditor/AudioTrack.java b/media/java/android/media/videoeditor/AudioTrack.java index 7069b23..2de82f2 100755 --- a/media/java/android/media/videoeditor/AudioTrack.java +++ b/media/java/android/media/videoeditor/AudioTrack.java @@ -49,7 +49,6 @@ public class AudioTrack { private final int mAudioType; private final int mAudioBitrate; private final int mAudioSamplingFrequency; - /** * Ducking variables */ @@ -127,11 +126,17 @@ public class AudioTrack { int duckThreshold, int duckedTrackVolume, String audioWaveformFilename) throws IOException { Properties properties = null; + File file = new File(filename); if (!file.exists()) { throw new IOException(filename + " not found ! "); } + /*Compare file_size with 2GB*/ + if (VideoEditor.MAX_SUPPORTED_FILE_SIZE <= file.length()) { + throw new IllegalArgumentException("File size is more than 2GB"); + } + if (editor instanceof VideoEditorImpl) { mMANativeHelper = ((VideoEditorImpl)editor).getNativeContext(); } else { diff --git a/media/java/android/media/videoeditor/MediaItem.java b/media/java/android/media/videoeditor/MediaItem.java index dfe0bae..8c4841f 100755 --- a/media/java/android/media/videoeditor/MediaItem.java +++ b/media/java/android/media/videoeditor/MediaItem.java @@ -131,6 +131,15 @@ public abstract class MediaItem { if (filename == null) { throw new IllegalArgumentException("MediaItem : filename is null"); } + File file = new File(filename); + if (!file.exists()) { + throw new IOException(filename + " not found ! "); + } + + /*Compare file_size with 2GB*/ + if (VideoEditor.MAX_SUPPORTED_FILE_SIZE <= file.length()) { + throw new IllegalArgumentException("File size is more than 2GB"); + } mUniqueId = mediaItemId; mFilename = filename; mRenderingMode = renderingMode; diff --git a/media/java/android/media/videoeditor/VideoEditor.java b/media/java/android/media/videoeditor/VideoEditor.java index 122dc8d..59e4540 100755 --- a/media/java/android/media/videoeditor/VideoEditor.java +++ b/media/java/android/media/videoeditor/VideoEditor.java @@ -68,6 +68,11 @@ public interface VideoEditor { public final static int DURATION_OF_STORYBOARD = -1; /** + * Maximum supported file size + */ + public static final long MAX_SUPPORTED_FILE_SIZE = 2147483648L; + + /** * This listener interface is used by the VideoEditor to emit preview * progress notifications. This callback should be invoked after the number * of frames specified by diff --git a/media/java/android/media/videoeditor/VideoEditorImpl.java b/media/java/android/media/videoeditor/VideoEditorImpl.java index 7e1f73a..78557ee 100755 --- a/media/java/android/media/videoeditor/VideoEditorImpl.java +++ b/media/java/android/media/videoeditor/VideoEditorImpl.java @@ -119,7 +119,6 @@ public class VideoEditorImpl implements VideoEditor { private static final String ATTR_OVERLAY_FRAME_HEIGHT = "overlay_frame_height"; private static final String ATTR_OVERLAY_RESIZED_RGB_FRAME_WIDTH = "resized_RGBframe_width"; private static final String ATTR_OVERLAY_RESIZED_RGB_FRAME_HEIGHT = "resized_RGBframe_height"; - private static final int ENGINE_ACCESS_MAX_TIMEOUT_MS = 500; /* * Instance variables @@ -437,6 +436,12 @@ public class VideoEditorImpl implements VideoEditor { throw new IllegalArgumentException(message); } } + computeTimelineDuration(); + final long audioBitrate = MediaArtistNativeHelper.Bitrate.BR_96_KBPS; + final long fileSize = (mDurationMs * (bitrate + audioBitrate)) / 8000; + if (MAX_SUPPORTED_FILE_SIZE <= fileSize) { + throw new IllegalStateException("Export Size is more than 2GB"); + } boolean semAcquireDone = false; try { |