From fa3d263131ba775bf62c406ff0f85abb8366d70f Mon Sep 17 00:00:00 2001 From: Gil Dobjanschi Date: Tue, 26 Oct 2010 11:53:24 -0700 Subject: [PATCH] Removed the start and end transition types. Change-Id: I0c3f9f82a90e0835f550b11c5f1ea8a1147535a4 --- .../TransitionEndCurtainClosing.java | 54 ------------------ .../videoeditor/TransitionEndFadeToBlack.java | 54 ------------------ ...eToBlack.java => TransitionFadeBlack.java} | 9 +-- .../TransitionStartCurtainOpening.java | 56 ------------------- .../TransitionStartFadeFromBlack.java | 54 ------------------ .../videoeditor/VideoEditorTestImpl.java | 35 ++++-------- 6 files changed, 15 insertions(+), 247 deletions(-) delete mode 100644 media/java/android/media/videoeditor/TransitionEndCurtainClosing.java delete mode 100755 media/java/android/media/videoeditor/TransitionEndFadeToBlack.java rename media/java/android/media/videoeditor/{TransitionFadeToBlack.java => TransitionFadeBlack.java} (82%) delete mode 100755 media/java/android/media/videoeditor/TransitionStartCurtainOpening.java delete mode 100644 media/java/android/media/videoeditor/TransitionStartFadeFromBlack.java diff --git a/media/java/android/media/videoeditor/TransitionEndCurtainClosing.java b/media/java/android/media/videoeditor/TransitionEndCurtainClosing.java deleted file mode 100644 index b1c6bb5262d40..0000000000000 --- a/media/java/android/media/videoeditor/TransitionEndCurtainClosing.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.media.videoeditor; - -/** - * This transition fades to black frame using curtain closing: A black image is - * moved from top to bottom to cover the video. This transition is always - * applied at the end of the movie. {@hide} - */ -public class TransitionEndCurtainClosing extends Transition { - /** - * An object of this type cannot be instantiated by using the default - * constructor - */ - @SuppressWarnings("unused") - private TransitionEndCurtainClosing() { - this(null, null, 0, BEHAVIOR_LINEAR); - } - - /** - * Constructor. - * - * @param transitionId The transition id - * @param afterMediaItem The transition is applied to the end of this - * media item - * @param durationMs duration of the transition in milliseconds - * @param behavior The transition behavior - */ - public TransitionEndCurtainClosing(String transitionId, MediaItem afterMediaItem, - long duration, int behavior) { - super(transitionId, afterMediaItem, null, duration, behavior); - } - - /* - * {@inheritDoc} - */ - @Override - void generate() { - } -} diff --git a/media/java/android/media/videoeditor/TransitionEndFadeToBlack.java b/media/java/android/media/videoeditor/TransitionEndFadeToBlack.java deleted file mode 100755 index 5f913fced4930..0000000000000 --- a/media/java/android/media/videoeditor/TransitionEndFadeToBlack.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.media.videoeditor; - -/** - * This transition fades to black frame using fade out in a certain provided - * duration. This transition is always applied at the end of the movie. {@hide - * } - */ -public class TransitionEndFadeToBlack extends Transition { - /** - * An object of this type cannot be instantiated by using the default - * constructor - */ - @SuppressWarnings("unused") - private TransitionEndFadeToBlack() { - this(null, null, 0, BEHAVIOR_LINEAR); - } - - /** - * Constructor. - * - * @param transitionId The transition id - * @param afterMediaItem The transition is applied to the end of this - * media item - * @param durationMs duration of the transition in milliseconds - * @param behavior The transition behavior - */ - public TransitionEndFadeToBlack(String transitionId, MediaItem afterMediaItem, long duration, - int behavior) { - super(transitionId, afterMediaItem, null, duration, behavior); - } - - /* - * {@inheritDoc} - */ - @Override - void generate() { - } -} diff --git a/media/java/android/media/videoeditor/TransitionFadeToBlack.java b/media/java/android/media/videoeditor/TransitionFadeBlack.java similarity index 82% rename from media/java/android/media/videoeditor/TransitionFadeToBlack.java rename to media/java/android/media/videoeditor/TransitionFadeBlack.java index 9569a65a34656..a9bf4cec06fdc 100755 --- a/media/java/android/media/videoeditor/TransitionFadeToBlack.java +++ b/media/java/android/media/videoeditor/TransitionFadeBlack.java @@ -18,16 +18,17 @@ package android.media.videoeditor; /** - * This class is used to render a fade to black transition between two videos. + * This class is used to render a fade to black and fade from black transition + * between two media items. * {@hide} */ -public class TransitionFadeToBlack extends Transition { +public class TransitionFadeBlack extends Transition { /** * An object of this type cannot be instantiated by using the default * constructor */ @SuppressWarnings("unused") - private TransitionFadeToBlack() { + private TransitionFadeBlack() { this(null, null, null, 0, 0); } @@ -45,7 +46,7 @@ public class TransitionFadeToBlack extends Transition { * * @throws IllegalArgumentException if behavior is not supported. */ - public TransitionFadeToBlack(String transitionId, MediaItem afterMediaItem, + public TransitionFadeBlack(String transitionId, MediaItem afterMediaItem, MediaItem beforeMediaItem, long durationMs, int behavior) { super(transitionId, afterMediaItem, beforeMediaItem, durationMs, behavior); } diff --git a/media/java/android/media/videoeditor/TransitionStartCurtainOpening.java b/media/java/android/media/videoeditor/TransitionStartCurtainOpening.java deleted file mode 100755 index b787b32b2c796..0000000000000 --- a/media/java/android/media/videoeditor/TransitionStartCurtainOpening.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.media.videoeditor; - - -/** - * This transition fades from black frame using curtain opening. A black - * image is displayed and moves from bottom to top making the video visible. - * This transition is always applied at the beginning of the movie. - * {@hide} - */ -public class TransitionStartCurtainOpening extends Transition { - /** - * An object of this type cannot be instantiated by using the default - * constructor - */ - @SuppressWarnings("unused") - private TransitionStartCurtainOpening() { - this(null, null, 0, Transition.BEHAVIOR_LINEAR); - } - - /** - * Constructor - * - * @param transitionId The transition id - * @param beforeMediaItem The transition is applied to the beginning of - * this media item - * @param durationMs The duration of the transition in milliseconds - * @param behavior The transition behavior - */ - public TransitionStartCurtainOpening(String transitionId, MediaItem beforeMediaItem, - long durationMs, int behavior) { - super(transitionId, null, beforeMediaItem, durationMs, behavior); - } - - /* - * {@inheritDoc} - */ - @Override - public void generate() { - } -} diff --git a/media/java/android/media/videoeditor/TransitionStartFadeFromBlack.java b/media/java/android/media/videoeditor/TransitionStartFadeFromBlack.java deleted file mode 100644 index be993a510fa67..0000000000000 --- a/media/java/android/media/videoeditor/TransitionStartFadeFromBlack.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.media.videoeditor; - -/** - * This transition fades from black using fade-in in a certain provided - * duration. This transition is always applied at the beginning of the movie. - * {@hide} - */ -public class TransitionStartFadeFromBlack extends Transition { - /** - * An object of this type cannot be instantiated by using the default - * constructor - */ - @SuppressWarnings("unused") - private TransitionStartFadeFromBlack() { - this(null, null, 0, Transition.BEHAVIOR_LINEAR); - } - - /** - * Constructor - * - * @param transitionId The transition id - * @param beforeMediaItem The transition is applied to the beginning of - * this media item - * @param durationMs The duration of the transition in milliseconds - * @param behavior The transition behavior - */ - public TransitionStartFadeFromBlack(String transitionId, MediaItem beforeMediaItem, - long durationMs, int behavior) { - super(transitionId, null, beforeMediaItem, durationMs, behavior); - } - - /* - * {@inheritDoc} - */ - @Override - public void generate() { - } -} diff --git a/media/java/android/media/videoeditor/VideoEditorTestImpl.java b/media/java/android/media/videoeditor/VideoEditorTestImpl.java index 505b93e9f97f0..ba84f499fb51c 100644 --- a/media/java/android/media/videoeditor/VideoEditorTestImpl.java +++ b/media/java/android/media/videoeditor/VideoEditorTestImpl.java @@ -892,13 +892,7 @@ public class VideoEditorTestImpl implements VideoEditor { } final Transition transition; - if (TransitionStartCurtainOpening.class.getSimpleName().equals(type)) { - transition = new TransitionStartCurtainOpening(transitionId, beforeMediaItem, - durationMs, behavior); - } else if (TransitionStartFadeFromBlack.class.getSimpleName().equals(type)) { - transition = new TransitionStartFadeFromBlack(transitionId, beforeMediaItem, - durationMs, behavior); - } else if (TransitionAlpha.class.getSimpleName().equals(type)) { + if (TransitionAlpha.class.getSimpleName().equals(type)) { final int blending = Integer.parseInt(parser.getAttributeValue("", ATTR_BLENDING)); final String maskFilename = parser.getAttributeValue("", ATTR_MASK); final boolean invert = Boolean.getBoolean(parser.getAttributeValue("", ATTR_INVERT)); @@ -911,15 +905,9 @@ public class VideoEditorTestImpl implements VideoEditor { final int direction = Integer.parseInt(parser.getAttributeValue("", ATTR_DIRECTION)); transition = new TransitionSliding(transitionId, afterMediaItem, beforeMediaItem, durationMs, behavior, direction); - } else if (TransitionFadeToBlack.class.getSimpleName().equals(type)) { - transition = new TransitionFadeToBlack(transitionId, afterMediaItem, beforeMediaItem, + } else if (TransitionFadeBlack.class.getSimpleName().equals(type)) { + transition = new TransitionFadeBlack(transitionId, afterMediaItem, beforeMediaItem, durationMs, behavior); - } else if (TransitionEndCurtainClosing.class.getSimpleName().equals(type)) { - transition = new TransitionEndCurtainClosing(transitionId, afterMediaItem, durationMs, - behavior); - } else if (TransitionEndFadeToBlack.class.getSimpleName().equals(type)) { - transition = new TransitionEndFadeToBlack(transitionId, afterMediaItem, durationMs, - behavior); } else { transition = null; } @@ -1132,17 +1120,14 @@ public class VideoEditorTestImpl implements VideoEditor { */ private void computeTimelineDuration() { mDurationMs = 0; - for (MediaItem mediaItem : mMediaItems) { + final int mediaItemsCount = mMediaItems.size(); + for (int i = 0; i < mediaItemsCount; i++) { + final MediaItem mediaItem = mMediaItems.get(i); mDurationMs += mediaItem.getTimelineDuration(); - } - - // Subtract the transition times - for (Transition transition : mTransitions) { - if (!(transition instanceof TransitionStartCurtainOpening) - && !(transition instanceof TransitionStartFadeFromBlack) - && !(transition instanceof TransitionEndFadeToBlack) - && !(transition instanceof TransitionEndCurtainClosing)) { - mDurationMs -= transition.getDuration(); + if (mediaItem.getEndTransition() != null) { + if (i < mediaItemsCount - 1) { + mDurationMs -= mediaItem.getEndTransition().getDuration(); + } } } }