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)
This commit is contained in:
Shailendra Yadav
2011-03-14 17:36:56 -07:00
committed by Android Git Automerger
4 changed files with 26 additions and 2 deletions

View File

@ -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 {

View File

@ -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;

View File

@ -67,6 +67,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

View File

@ -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 {