Bug fix: 3398192 NPE at android.media.videoeditor.VideoEditorImpl.clearSurface

Change-Id: Ib7cb994e995d934cf896b856da462c9240fcb5f0
This commit is contained in:
Gil Dobjanschi
2011-01-27 09:51:46 -08:00
parent bbc1d355f8
commit eea200a96a

View File

@@ -424,7 +424,7 @@ public class VideoEditorImpl implements VideoEditor {
mMediaItems, mTransitions, mAudioTracks,
listener);
} catch (InterruptedException ex) {
Log.e("VideoEditorImpl", "Sem acquire NOT successful in export");
Log.e(TAG, "Sem acquire NOT successful in export");
} finally {
mExportSemaphore.release();
}
@@ -444,7 +444,7 @@ public class VideoEditorImpl implements VideoEditor {
mAudioTracks, listener);
}
} catch (InterruptedException ex) {
Log.e("VideoEditorImpl", "Sem acquire NOT successful in previewStoryBoard");
Log.e(TAG, "Sem acquire NOT successful in previewStoryBoard");
} finally {
if (semAcquireDone) {
mPreviewSemaphore.release();
@@ -891,7 +891,7 @@ public class VideoEditorImpl implements VideoEditor {
}
} catch (InterruptedException ex) {
Log.e("VideoEditorImpl", "Sem acquire NOT successful in renderPreviewFrame");
Log.e(TAG, "Sem acquire NOT successful in renderPreviewFrame");
}
finally {
if (semAcquireDone) {
@@ -1567,16 +1567,14 @@ public class VideoEditorImpl implements VideoEditor {
mPreviewSemaphore.acquire();
semAcquireDone = true;
} catch (InterruptedException ex) {
Log.e("VideoEditorImpl", "Sem acquire NOT successful in startPreview");
Log.e(TAG, "Sem acquire NOT successful in startPreview");
}
if (semAcquireDone) {
Surface mSurface = surfaceHolder.getSurface();
if (mSurface == null) {
Log.e("VideoEditoeImpl",
"Surface could not be retrieved from surface holder"); throw new
RuntimeException();
throw new RuntimeException("Surface could not be retrieved from surface holder");
}
if (mMediaItems.size() > 0) {
@@ -1588,15 +1586,15 @@ public class VideoEditorImpl implements VideoEditor {
mPreviewInProgress = true;
} catch (IllegalArgumentException ex) {
mPreviewSemaphore.release();
Log.e("VideoEditorImpl", "Illegal Argument exception in do preview");
Log.e(TAG, "Illegal Argument exception in do preview");
throw ex;
} catch (IllegalStateException ex) {
mPreviewSemaphore.release();
Log.e("VideoEditorImpl", "Illegal State exception in do preview");
Log.e(TAG, "Illegal State exception in do preview");
throw ex;
} catch (RuntimeException ex) {
mPreviewSemaphore.release();
Log.e("VideoEditorImpl", "Runtime exception in do preview");
Log.e(TAG, "Runtime exception in do preview");
throw ex;
}
}
@@ -1732,7 +1730,7 @@ public class VideoEditorImpl implements VideoEditor {
if (mMediaItems.size() > 0) {
MediaItem mI = mMediaItems.get(0);
/*
* Lets initialise the width for default aspect ratio i.e 16:9
* Lets initialiZe the width for default aspect ratio i.e 16:9
*/
int height = 480;
int width = 854;
@@ -1784,18 +1782,19 @@ public class VideoEditorImpl implements VideoEditor {
* and needs to be cleared.
*/
public void clearSurface(SurfaceHolder surfaceHolder) {
if (surfaceHolder == null) {
throw new IllegalArgumentException("Invalid surface holder");
}
if (surfaceHolder == null) {
throw new IllegalArgumentException();
}
Surface surface = surfaceHolder.getSurface();
final Surface surface = surfaceHolder.getSurface();
if (surface == null) {
throw new RuntimeException("Surface could not be retrieved from surface holder");
}
if (surface == null) {
Log.e("VideoEditorImpl",
"Surface could not be retrieved from surface holder");
throw new RuntimeException();
}
mMANativeHelper.clearPreviewSurface(surface);
if (mMANativeHelper != null) {
mMANativeHelper.clearPreviewSurface(surface);
} else {
Log.w(TAG, "Native helper was not ready!");
}
}
}