summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2015-05-14 21:17:27 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-05-14 21:17:30 +0000
commitaf0479446bf2bfaa252bfe4bc924346632013f40 (patch)
treefd23b52e329b9f442299db6a06fa806edf5e3cbc
parent55a302402be3240c9e3289351c01e1cd2e853bc8 (diff)
parent05a822161fe0296b01f573192adf306c0ce38c9c (diff)
downloadframeworks_base-af0479446bf2bfaa252bfe4bc924346632013f40.zip
frameworks_base-af0479446bf2bfaa252bfe4bc924346632013f40.tar.gz
frameworks_base-af0479446bf2bfaa252bfe4bc924346632013f40.tar.bz2
Merge "media: change final fields to accessors in MediaTimestamp" into mnc-dev
-rw-r--r--api/current.txt6
-rw-r--r--api/system-current.txt6
-rw-r--r--media/java/android/media/MediaPlayer.java21
-rw-r--r--media/java/android/media/MediaSync.java35
-rw-r--r--media/java/android/media/MediaTimestamp.java24
5 files changed, 52 insertions, 40 deletions
diff --git a/api/current.txt b/api/current.txt
index 5efa685..6dcb733 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -16459,9 +16459,9 @@ package android.media {
}
public final class MediaTimestamp {
- field public final float clockRate;
- field public final long mediaTimeUs;
- field public final long nanoTime;
+ method public long getAnchorMediaTimeUs();
+ method public long getAnchorSytemNanoTime();
+ method public float getMediaClockRate();
}
public final class NotProvisionedException extends android.media.MediaDrmException {
diff --git a/api/system-current.txt b/api/system-current.txt
index 119295d..72c2f56 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -17699,9 +17699,9 @@ package android.media {
}
public final class MediaTimestamp {
- field public final float clockRate;
- field public final long mediaTimeUs;
- field public final long nanoTime;
+ method public long getAnchorMediaTimeUs();
+ method public long getAnchorSytemNanoTime();
+ method public float getMediaClockRate();
}
public final class NotProvisionedException extends android.media.MediaDrmException {
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index 256ab29..27423d6 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -1481,23 +1481,22 @@ public class MediaPlayer implements SubtitleController.Listener
public native void seekTo(int msec) throws IllegalStateException;
/**
- * Get current playback position.
+ * Get current playback position as a {@link MediaTimestamp}.
* <p>
* The MediaTimestamp represents how the media time correlates to the system time in
- * a linear fashion. It contains the media time and system timestamp of an anchor frame
- * ({@link MediaTimestamp#mediaTimeUs} and {@link MediaTimestamp#nanoTime})
- * and the speed of the media clock ({@link MediaTimestamp#clockRate}).
+ * a linear fashion using an anchor and a clock rate. During regular playback, the media
+ * time moves fairly constantly (though the anchor frame may be rebased to a current
+ * system time, the linear correlation stays steady). Therefore, this method does not
+ * need to be called often.
* <p>
- * During regular playback, the media time moves fairly constantly (though the
- * anchor frame may be rebased to a current system time, the linear correlation stays
- * steady). Therefore, this method does not need to be called often.
- * <p>
- * To help users to get current playback position, this method always returns the timestamp of
- * just-rendered frame, i.e., {@link System#nanoTime} and its corresponding media time. They
- * can be used as current playback position.
+ * To help users get current playback position, this method always anchors the timestamp
+ * to the current {@link System#nanoTime system time}, so
+ * {@link MediaTimestamp#getAnchorMediaTimeUs} can be used as current playback position.
*
* @return a MediaTimestamp object if a timestamp is available, or {@code null} if no timestamp
* is available, e.g. because the media player has not been initialized.
+ *
+ * @see MediaTimestamp
*/
@Nullable
public MediaTimestamp getTimestamp()
diff --git a/media/java/android/media/MediaSync.java b/media/java/android/media/MediaSync.java
index d9e554c..851471c 100644
--- a/media/java/android/media/MediaSync.java
+++ b/media/java/android/media/MediaSync.java
@@ -524,24 +524,23 @@ public final class MediaSync {
}
/**
- * Get current playback position.
- * <p>
- * The MediaTimestamp represents how the media time correlates to the system time in
- * a linear fashion. It contains the media time and system timestamp of an anchor frame
- * ({@link MediaTimestamp#mediaTimeUs} and {@link MediaTimestamp#nanoTime})
- * and the speed of the media clock ({@link MediaTimestamp#clockRate}).
- * <p>
- * During regular playback, the media time moves fairly constantly (though the
- * anchor frame may be rebased to a current system time, the linear correlation stays
- * steady). Therefore, this method does not need to be called often.
- * <p>
- * To help users to get current playback position, this method always returns the timestamp of
- * just-rendered frame, i.e., {@link System#nanoTime} and its corresponding media time. They
- * can be used as current playback position.
- *
- * @return a MediaTimestamp object if a timestamp is available, or {@code null} if no timestamp
- * is available, e.g. because the media sync has not been initialized.
- */
+ * Get current playback position.
+ * <p>
+ * The MediaTimestamp represents how the media time correlates to the system time in
+ * a linear fashion using an anchor and a clock rate. During regular playback, the media
+ * time moves fairly constantly (though the anchor frame may be rebased to a current
+ * system time, the linear correlation stays steady). Therefore, this method does not
+ * need to be called often.
+ * <p>
+ * To help users get current playback position, this method always anchors the timestamp
+ * to the current {@link System#nanoTime system time}, so
+ * {@link MediaTimestamp#getAnchorMediaTimeUs} can be used as current playback position.
+ *
+ * @return a MediaTimestamp object if a timestamp is available, or {@code null} if no timestamp
+ * is available, e.g. because the media player has not been initialized.
+ *
+ * @see MediaTimestamp
+ */
@Nullable
public MediaTimestamp getTimestamp()
{
diff --git a/media/java/android/media/MediaTimestamp.java b/media/java/android/media/MediaTimestamp.java
index d3d5618..5ea6bbe 100644
--- a/media/java/android/media/MediaTimestamp.java
+++ b/media/java/android/media/MediaTimestamp.java
@@ -37,22 +37,36 @@ package android.media;
public final class MediaTimestamp
{
/**
- * Media time in microseconds.
+ * Get the media time of the anchor in microseconds.
*/
- public final long mediaTimeUs;
+ public long getAnchorMediaTimeUs() {
+ return mediaTimeUs;
+ }
/**
- * The {@link java.lang.System#nanoTime system time} corresponding to the media time
+ * Get the {@link java.lang.System#nanoTime system time} corresponding to the media time
* in nanoseconds.
*/
- public final long nanoTime;
+ public long getAnchorSytemNanoTime() {
+ return nanoTime;
+ }
/**
- * The rate of the media clock in relation to the system time.
+ * Get the rate of the media clock in relation to the system time.
+ * <p>
* It is 1.0 if media clock advances in sync with the system clock;
* greater than 1.0 if media clock is faster than the system clock;
* less than 1.0 if media clock is slower than the system clock.
*/
+ public float getMediaClockRate() {
+ return clockRate;
+ }
+
+ /** @hide - accessor shorthand */
+ public final long mediaTimeUs;
+ /** @hide - accessor shorthand */
+ public final long nanoTime;
+ /** @hide - accessor shorthand */
public final float clockRate;
/** @hide */