diff options
5 files changed, 36 insertions, 23 deletions
diff --git a/media/java/android/media/videoeditor/Effect.java b/media/java/android/media/videoeditor/Effect.java index f5e6a67..8547e13 100755 --- a/media/java/android/media/videoeditor/Effect.java +++ b/media/java/android/media/videoeditor/Effect.java @@ -57,7 +57,7 @@ public abstract class Effect { throw new IllegalArgumentException("Media item cannot be null");
}
- if (startTimeMs + durationMs > mediaItem.getTimelineDuration()) {
+ if (startTimeMs + durationMs > mediaItem.getDuration()) {
throw new IllegalArgumentException("Invalid start time and duration");
}
@@ -81,7 +81,7 @@ public abstract class Effect { * @param durationMs of the effect in milliseconds
*/
public void setDuration(long durationMs) {
- if (mStartTimeMs + durationMs > mMediaItem.getTimelineDuration()) {
+ if (mStartTimeMs + durationMs > mMediaItem.getDuration()) {
throw new IllegalArgumentException("Duration is too large");
}
@@ -107,7 +107,7 @@ public abstract class Effect { * of the media item in milliseconds
*/
public void setStartTime(long startTimeMs) {
- if (startTimeMs + mDurationMs > mMediaItem.getTimelineDuration()) {
+ if (startTimeMs + mDurationMs > mMediaItem.getDuration()) {
throw new IllegalArgumentException("Start time is too large");
}
@@ -130,7 +130,7 @@ public abstract class Effect { * @param durationMs The duration in milliseconds
*/
public void setStartTimeAndDuration(long startTimeMs, long durationMs) {
- if (startTimeMs + durationMs > mMediaItem.getTimelineDuration()) {
+ if (startTimeMs + durationMs > mMediaItem.getDuration()) {
throw new IllegalArgumentException("Invalid start time or duration");
}
diff --git a/media/java/android/media/videoeditor/MediaImageItem.java b/media/java/android/media/videoeditor/MediaImageItem.java index d2f3694..6dc36c2 100755 --- a/media/java/android/media/videoeditor/MediaImageItem.java +++ b/media/java/android/media/videoeditor/MediaImageItem.java @@ -172,6 +172,14 @@ public class MediaImageItem extends MediaItem { * {@inheritDoc}
*/
@Override
+ public long getDuration() {
+ return mDurationMs;
+ }
+
+ /*
+ * {@inheritDoc}
+ */
+ @Override
public long getTimelineDuration() {
return mDurationMs;
}
diff --git a/media/java/android/media/videoeditor/MediaItem.java b/media/java/android/media/videoeditor/MediaItem.java index 40d3619..04878f7 100755 --- a/media/java/android/media/videoeditor/MediaItem.java +++ b/media/java/android/media/videoeditor/MediaItem.java @@ -174,6 +174,11 @@ public abstract class MediaItem { public abstract long getTimelineDuration();
/**
+ * @return The is the full duration of the media item (not trimmed)
+ */
+ public abstract long getDuration();
+
+ /**
* @return The source file type
*/
public abstract int getFileType();
@@ -223,7 +228,7 @@ public abstract class MediaItem { throw new IllegalArgumentException("Effect already exists: " + effect.getId());
}
- if (effect.getStartTime() + effect.getDuration() > getTimelineDuration()) {
+ if (effect.getStartTime() + effect.getDuration() > getDuration()) {
throw new IllegalArgumentException(
"Effect start time + effect duration > media clip duration");
}
@@ -300,7 +305,7 @@ public abstract class MediaItem { throw new IllegalArgumentException("Overlay already exists: " + overlay.getId());
}
- if (overlay.getStartTime() + overlay.getDuration() > getTimelineDuration()) {
+ if (overlay.getStartTime() + overlay.getDuration() > getDuration()) {
throw new IllegalArgumentException(
"Overlay start time + overlay duration > media clip duration");
}
@@ -455,7 +460,7 @@ public abstract class MediaItem { }
if (mEndTransition != null) {
- if (effect.getStartTime() + effect.getDuration() > getTimelineDuration()
+ if (effect.getStartTime() + effect.getDuration() > getDuration()
- mEndTransition.getDuration()) {
mEndTransition.invalidate();
}
@@ -476,7 +481,7 @@ public abstract class MediaItem { }
if (mEndTransition != null) {
- if (overlay.getStartTime() + overlay.getDuration() > getTimelineDuration()
+ if (overlay.getStartTime() + overlay.getDuration() > getDuration()
- mEndTransition.getDuration()) {
mEndTransition.invalidate();
}
@@ -511,7 +516,7 @@ public abstract class MediaItem { for (Effect effect : effects) {
// Adjust the start time if necessary
final long effectStartTimeMs;
- if (effect.getStartTime() > getTimelineDuration()) {
+ if (effect.getStartTime() > getDuration()) {
effectStartTimeMs = 0;
} else {
effectStartTimeMs = effect.getStartTime();
@@ -519,8 +524,8 @@ public abstract class MediaItem { // Adjust the duration if necessary
final long effectDurationMs;
- if (effectStartTimeMs + effect.getDuration() > getTimelineDuration()) {
- effectDurationMs = getTimelineDuration() - effectStartTimeMs;
+ if (effectStartTimeMs + effect.getDuration() > getDuration()) {
+ effectDurationMs = getDuration() - effectStartTimeMs;
} else {
effectDurationMs = effect.getDuration();
}
@@ -540,7 +545,7 @@ public abstract class MediaItem { for (Overlay overlay : overlays) {
// Adjust the start time if necessary
final long overlayStartTimeMs;
- if (overlay.getStartTime() > getTimelineDuration()) {
+ if (overlay.getStartTime() > getDuration()) {
overlayStartTimeMs = 0;
} else {
overlayStartTimeMs = overlay.getStartTime();
@@ -548,8 +553,8 @@ public abstract class MediaItem { // Adjust the duration if necessary
final long overlayDurationMs;
- if (overlayStartTimeMs + overlay.getDuration() > getTimelineDuration()) {
- overlayDurationMs = getTimelineDuration() - overlayStartTimeMs;
+ if (overlayStartTimeMs + overlay.getDuration() > getDuration()) {
+ overlayDurationMs = getDuration() - overlayStartTimeMs;
} else {
overlayDurationMs = overlay.getDuration();
}
diff --git a/media/java/android/media/videoeditor/MediaVideoItem.java b/media/java/android/media/videoeditor/MediaVideoItem.java index f09219d..1fa98e7 100755 --- a/media/java/android/media/videoeditor/MediaVideoItem.java +++ b/media/java/android/media/videoeditor/MediaVideoItem.java @@ -243,16 +243,16 @@ public class MediaVideoItem extends MediaItem { return mHeight;
}
- /**
- * @return The duration of the video clip
+ /*
+ * {@inheritDoc}
*/
+ @Override
public long getDuration() {
return mDurationMs;
}
- /**
- * @return The timeline duration. This is the actual duration in the
- * timeline (trimmed duration)
+ /*
+ * {@inheritDoc}
*/
@Override
public long getTimelineDuration() {
diff --git a/media/java/android/media/videoeditor/Overlay.java b/media/java/android/media/videoeditor/Overlay.java index c58b5cb..fff9ca2 100755 --- a/media/java/android/media/videoeditor/Overlay.java +++ b/media/java/android/media/videoeditor/Overlay.java @@ -60,7 +60,7 @@ public abstract class Overlay { throw new IllegalArgumentException("Media item cannot be null");
}
- if (startTimeMs + durationMs > mediaItem.getTimelineDuration()) {
+ if (startTimeMs + durationMs > mediaItem.getDuration()) {
throw new IllegalArgumentException("Invalid start time and duration");
}
@@ -92,7 +92,7 @@ public abstract class Overlay { * @param durationMs The duration in milliseconds
*/
public void setDuration(long durationMs) {
- if (mStartTimeMs + durationMs > mMediaItem.getTimelineDuration()) {
+ if (mStartTimeMs + durationMs > mMediaItem.getDuration()) {
throw new IllegalArgumentException("Duration is too large");
}
@@ -116,7 +116,7 @@ public abstract class Overlay { * @param startTimeMs start time in milliseconds
*/
public void setStartTime(long startTimeMs) {
- if (startTimeMs + mDurationMs > mMediaItem.getTimelineDuration()) {
+ if (startTimeMs + mDurationMs > mMediaItem.getDuration()) {
throw new IllegalArgumentException("Start time is too large");
}
@@ -132,7 +132,7 @@ public abstract class Overlay { * @param durationMs The duration in milliseconds
*/
public void setStartTimeAndDuration(long startTimeMs, long durationMs) {
- if (startTimeMs + durationMs > mMediaItem.getTimelineDuration()) {
+ if (startTimeMs + durationMs > mMediaItem.getDuration()) {
throw new IllegalArgumentException("Invalid start time or duration");
}
|
