summaryrefslogtreecommitdiffstats
path: root/media/java
diff options
context:
space:
mode:
authorGil Dobjanschi <virgild@google.com>2010-12-02 13:13:15 -0800
committerGil Dobjanschi <virgild@google.com>2010-12-02 13:13:15 -0800
commit786ecf849c57de5400a0d594d3b133758a17a1a0 (patch)
tree95ba490897a051c17fa2c9f3f3d15b088a468c42 /media/java
parentfff4ab09b6c69e437537f322aaca7829f009ff1d (diff)
downloadframeworks_base-786ecf849c57de5400a0d594d3b133758a17a1a0.zip
frameworks_base-786ecf849c57de5400a0d594d3b133758a17a1a0.tar.gz
frameworks_base-786ecf849c57de5400a0d594d3b133758a17a1a0.tar.bz2
Added a callback interface to the generatePreview method.
Change-Id: I7ba678aba47f232e1c320bb36decf59f80f3755d
Diffstat (limited to 'media/java')
-rwxr-xr-xmedia/java/android/media/videoeditor/VideoEditor.java30
-rwxr-xr-xmedia/java/android/media/videoeditor/VideoEditorFactory.java2
-rw-r--r--media/java/android/media/videoeditor/VideoEditorTestImpl.java2
3 files changed, 31 insertions, 3 deletions
diff --git a/media/java/android/media/videoeditor/VideoEditor.java b/media/java/android/media/videoeditor/VideoEditor.java
index 64d3229..37bb661 100755
--- a/media/java/android/media/videoeditor/VideoEditor.java
+++ b/media/java/android/media/videoeditor/VideoEditor.java
@@ -98,6 +98,31 @@ public interface VideoEditor {
}
/**
+ * This listener interface is used by the VideoEditor to emit export status
+ * notifications.
+ * {@link #generatePreview(MediaProcessingProgressListener listener)}
+ */
+ public interface MediaProcessingProgressListener {
+ // Values used for the action parameter
+ public static final int ACTION_ENCODE = 1;
+ public static final int ACTION_DECODE = 2;
+
+ /**
+ * This method notifies the listener of the progress status of
+ * processing a media object such as a Transition, AudioTrack or a
+ * media image item (when Ken Burns effect is applied).
+ * This method may be called maximum 100 times for one operation.
+ *
+ * @param object The object that is being processed such as a
+ * Transition or AudioTrack
+ * @param action The type of processing being performed
+ * @param progress The progress in %. At the beginning of the operation,
+ * this value is set to 0; at the end, the value is set to 100.
+ */
+ public void onProgress(Object item, int action, int progress);
+ }
+
+ /**
* @return The path where the VideoEditor stores all files related to the
* project
*/
@@ -496,8 +521,11 @@ public interface VideoEditor {
* This method must be called after the aspect ratio of the project changes
* and before startPreview is called. Note that this method may block for
* an extensive period of time.
+ *
+ * @param listener The listener interface which will be used to notify
+ * the caller of the progress of each storyboard item being processed.
*/
- public void generatePreview();
+ public void generatePreview(MediaProcessingProgressListener listener);
/**
* Start the preview of all the storyboard items applied on all MediaItems
diff --git a/media/java/android/media/videoeditor/VideoEditorFactory.java b/media/java/android/media/videoeditor/VideoEditorFactory.java
index 41eed16..5c243ed 100755
--- a/media/java/android/media/videoeditor/VideoEditorFactory.java
+++ b/media/java/android/media/videoeditor/VideoEditorFactory.java
@@ -115,7 +115,7 @@ public class VideoEditorFactory {
final VideoEditor videoEditor = (VideoEditor)ct.newInstance(arglist);
if (generatePreview) {
- videoEditor.generatePreview();
+ videoEditor.generatePreview(null);
}
return videoEditor;
}
diff --git a/media/java/android/media/videoeditor/VideoEditorTestImpl.java b/media/java/android/media/videoeditor/VideoEditorTestImpl.java
index ca896c3..50e4aaf 100644
--- a/media/java/android/media/videoeditor/VideoEditorTestImpl.java
+++ b/media/java/android/media/videoeditor/VideoEditorTestImpl.java
@@ -1055,7 +1055,7 @@ public class VideoEditorTestImpl implements VideoEditor {
/*
* {@inheritDoc}
*/
- public void generatePreview() {
+ public void generatePreview(MediaProcessingProgressListener listener) {
// Generate all the needed transitions
for (Transition transition : mTransitions) {
if (!transition.isGenerated()) {