@SuppressWarnings("unused")
private void onPreviewProgressUpdate(int progress, boolean isFinished,
- boolean updateOverlay, String filename, int renderingMode) {
+ boolean updateOverlay, String filename, int renderingMode, int error) {
if (mPreviewProgressListener != null) {
if (mIsFirstProgress) {
mPreviewProgressListener.onStart(mVideoEditor);
if (isFinished) {
mPreviewProgressListener.onStop(mVideoEditor);
+ } else if (error != 0) {
+ mPreviewProgressListener.onError(mVideoEditor, error);
} else {
mPreviewProgressListener.onProgress(mVideoEditor, progress, overlayData);
}
pEnv->CallVoidMethod(pContext->engine,
pContext->onPreviewProgressUpdateMethodId,
currentMs,isFinished, pContext->mIsUpdateOverlay,
- tmpFileName, pContext->mOverlayRenderingMode);
+ tmpFileName, pContext->mOverlayRenderingMode, error);
if (pContext->mIsUpdateOverlay) {
pContext->mIsUpdateOverlay = false;
"not initialized");
pContext->onPreviewProgressUpdateMethodId = pEnv->GetMethodID(engineClass,
- "onPreviewProgressUpdate", "(IZZLjava/lang/String;I)V");
+ "onPreviewProgressUpdate", "(IZZLjava/lang/String;II)V");
// Check if the context is valid (required because the context is dereferenced).
if (needToBeLoaded) {
// Make sure that we are in a correct state.
private boolean previewStart;
private boolean previewStop;
+ private boolean previewError;
/* Minimum waiting time for Semaphore to wait for release */
private final long minWaitingTime = 3000;
protected void setPreviewStop() {
previewStop = true;
}
-
+ protected void setPreviewError() {
+ previewError = true;
+ }
protected void validatePreviewProgress(int startMs, int endMs,
boolean loop, long duration) throws Exception {
final Semaphore blockTillPreviewCompletes = new Semaphore(1);
previewStart = false;
previewStop = false;
+ previewError = false;
mVideoEditor.generatePreview(new MediaProcessingProgressListener() {
int i = 0;
public void onProgress(Object item, int action, int progress) {
setPreviewStop();
blockTillPreviewCompletes.release();
}
+ public void onError(VideoEditor videoEditor, int error) {
+ setPreviewError();
+ blockTillPreviewCompletes.release();
+ }
});
} catch (Exception e) {
blockTillPreviewCompletes.release();
mVideoEditor.stopPreview();
assertTrue("Preview Failed to start", previewStart);
assertTrue("Preview Failed to stop", previewStop);
+ assertFalse("Preview Error occurred", previewError);
blockTillPreviewCompletes.release();
}
"TransitionSpiral_QVGA.jpg";
previewStart = false;
previewStop = false;
+ previewError = false;
final Semaphore blockTillPreviewCompletes = new Semaphore(1);
setPreviewStop();
blockTillPreviewCompletes.release();
}
+ public void onError(VideoEditor videoEditor, int error) {
+ setPreviewError();
+ blockTillPreviewCompletes.release();
+ }
});
} catch (Exception e) {
blockTillPreviewCompletes.release();
blockTillPreviewCompletes.release();
assertTrue("Preview Failed to start", previewStart);
assertTrue("Preview Failed to stop", previewStop);
+ assertFalse("Preview Error occurred", previewError);
assertEquals("Removing Transition " + transition1And2CrossFade.getId(),
transition1And2CrossFade,
final Semaphore blockTillPreviewCompletes = new Semaphore(1);
previewStart = false;
previewStop = false;
+ previewError = false;
final MediaVideoItem mediaVideoItem1 =
mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
setPreviewStop();
blockTillPreviewCompletes.release();
}
+ public void onError(VideoEditor videoEditor, int error) {
+ setPreviewError();
+ blockTillPreviewCompletes.release();
+ }
});
} catch (Exception e) {
mVideoEditor.stopPreview();
assertTrue("Preview Failed to start", previewStart);
assertTrue("Preview Failed to stop", previewStop);
+ assertFalse("Preview Error occurred", previewError);
+
blockTillPreviewCompletes.release();
}
setPreviewStop();
blockTillPreviewCompletes.release();
}
+ public void onError(VideoEditor videoEditor, int error) {
+ setPreviewError();
+ blockTillPreviewCompletes.release();
+ }
});
} catch (IllegalArgumentException e) {
}
public void onStop(VideoEditor videoEditor) {
setPreviewStop();
- }
+ }
+ public void onError(VideoEditor videoEditor, int error) {
+ setPreviewError();
+ }
});
}catch (IllegalArgumentException e) {
flagForException = true;
}
public void onStop(VideoEditor videoEditor) {
setPreviewStop();
- }
+ }
+ public void onError(VideoEditor videoEditor, int error) {
+ setPreviewError();
+ }
});
}catch (IllegalArgumentException e) {
flagForException = true;