summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2015-05-14 12:13:32 -0700
committerLajos Molnar <lajos@google.com>2015-05-14 12:16:44 -0700
commitdbc908fba85ab610737eeb6170c0808ffdd44741 (patch)
tree72bd9a1b3f3918763942eda88481372b10d552ae
parent0125d76fa37d26a29f06371ff349546e21cd3f4d (diff)
downloadframeworks_base-dbc908fba85ab610737eeb6170c0808ffdd44741.zip
frameworks_base-dbc908fba85ab610737eeb6170c0808ffdd44741.tar.gz
frameworks_base-dbc908fba85ab610737eeb6170c0808ffdd44741.tar.bz2
media: remove setPlaybackRate from MediaPlayer and MediSync
Condensed them to an internal easyPlaybackParams to create PlaybackParams from a rate and audio mode. Bug: 21045118 Change-Id: I89879a3034c905e34cabef8ff0237048e097a8e0
-rw-r--r--api/current.txt8
-rw-r--r--api/system-current.txt8
-rw-r--r--media/java/android/media/MediaPlayer.java13
-rw-r--r--media/java/android/media/MediaSync.java83
4 files changed, 11 insertions, 101 deletions
diff --git a/api/current.txt b/api/current.txt
index fbb6554..037b02e 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -16099,7 +16099,6 @@ package android.media {
method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
method public void setPlaybackParams(android.media.PlaybackParams);
- method public void setPlaybackRate(float, int);
method public void setScreenOnWhilePlaying(boolean);
method public void setSurface(android.view.Surface);
method public void setSyncParams(android.media.SyncParams);
@@ -16126,9 +16125,6 @@ package android.media {
field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3
field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc
field public static final java.lang.String MEDIA_MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
- field public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0; // 0x0
- field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2; // 0x2
- field public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
}
@@ -16430,14 +16426,10 @@ package android.media {
method public void setCallback(android.media.MediaSync.Callback, android.os.Handler);
method public void setOnErrorListener(android.media.MediaSync.OnErrorListener, android.os.Handler);
method public void setPlaybackParams(android.media.PlaybackParams);
- method public void setPlaybackRate(float, int);
method public void setSurface(android.view.Surface);
method public void setSyncParams(android.media.SyncParams);
field public static final int MEDIASYNC_ERROR_AUDIOTRACK_FAIL = 1; // 0x1
field public static final int MEDIASYNC_ERROR_SURFACE_FAIL = 2; // 0x2
- field public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0; // 0x0
- field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2; // 0x2
- field public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1; // 0x1
}
public static abstract class MediaSync.Callback {
diff --git a/api/system-current.txt b/api/system-current.txt
index 07fb2d7..4f408b3 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -17337,7 +17337,6 @@ package android.media {
method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
method public void setPlaybackParams(android.media.PlaybackParams);
- method public void setPlaybackRate(float, int);
method public void setScreenOnWhilePlaying(boolean);
method public void setSurface(android.view.Surface);
method public void setSyncParams(android.media.SyncParams);
@@ -17364,9 +17363,6 @@ package android.media {
field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3
field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc
field public static final java.lang.String MEDIA_MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
- field public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0; // 0x0
- field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2; // 0x2
- field public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
}
@@ -17670,14 +17666,10 @@ package android.media {
method public void setCallback(android.media.MediaSync.Callback, android.os.Handler);
method public void setOnErrorListener(android.media.MediaSync.OnErrorListener, android.os.Handler);
method public void setPlaybackParams(android.media.PlaybackParams);
- method public void setPlaybackRate(float, int);
method public void setSurface(android.view.Surface);
method public void setSyncParams(android.media.SyncParams);
field public static final int MEDIASYNC_ERROR_AUDIOTRACK_FAIL = 1; // 0x1
field public static final int MEDIASYNC_ERROR_SURFACE_FAIL = 2; // 0x2
- field public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0; // 0x0
- field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2; // 0x2
- field public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1; // 0x1
}
public static abstract class MediaSync.Callback {
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index 256ab29..5716449 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -1360,6 +1360,8 @@ public class MediaPlayer implements SubtitleController.Listener
* frequency.
* When rate is larger than 1.0, pitch becomes higher.
* When rate is smaller than 1.0, pitch becomes lower.
+ *
+ * @hide
*/
public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2;
@@ -1372,6 +1374,8 @@ public class MediaPlayer implements SubtitleController.Listener
* <p>
* This mode is only supported for a limited range of playback speed factors,
* e.g. between 1/2x and 2x.
+ *
+ * @hide
*/
public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1;
@@ -1383,6 +1387,8 @@ public class MediaPlayer implements SubtitleController.Listener
* Try to keep audio pitch when changing the playback rate, but allow the
* system to determine how to change audio playback if the rate is out
* of range.
+ *
+ * @hide
*/
public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0;
@@ -1406,8 +1412,11 @@ public class MediaPlayer implements SubtitleController.Listener
* @throws IllegalStateException if the internal player engine has not been
* initialized.
* @throws IllegalArgumentException if audioMode is not supported.
+ *
+ * @hide
*/
- public void setPlaybackRate(float rate, @PlaybackRateAudioMode int audioMode) {
+ @NonNull
+ public PlaybackParams easyPlaybackParams(float rate, @PlaybackRateAudioMode int audioMode) {
PlaybackParams params = new PlaybackParams();
params.allowDefaults();
switch (audioMode) {
@@ -1425,7 +1434,7 @@ public class MediaPlayer implements SubtitleController.Listener
final String msg = "Audio playback mode " + audioMode + " is not supported";
throw new IllegalArgumentException(msg);
}
- setPlaybackParams(params);
+ return params;
}
/**
diff --git a/media/java/android/media/MediaSync.java b/media/java/android/media/MediaSync.java
index d9e554c..68b1775 100644
--- a/media/java/android/media/MediaSync.java
+++ b/media/java/android/media/MediaSync.java
@@ -352,89 +352,6 @@ public final class MediaSync {
public native final Surface createInputSurface();
/**
- * Resample audio data when changing playback speed.
- * <p>
- * Resample the waveform based on the requested playback rate to get
- * a new waveform, and play back the new waveform at the original sampling
- * frequency.
- * <p><ul>
- * <li>When rate is larger than 1.0, pitch becomes higher.
- * <li>When rate is smaller than 1.0, pitch becomes lower.
- * </ul>
- */
- public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2;
-
- /**
- * Time stretch audio when changing playback speed.
- * <p>
- * Time stretching changes the duration of the audio samples without
- * affecting their pitch. This is only supported for a limited range
- * of playback speeds, e.g. from 1/2x to 2x. If the rate is adjusted
- * beyond this limit, the rate change will fail.
- */
- public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1;
-
- /**
- * Time stretch audio when changing playback speed, and may mute if
- * stretching is no longer supported.
- * <p>
- * Time stretching changes the duration of the audio samples without
- * affecting their pitch. This is only supported for a limited range
- * of playback speeds, e.g. from 1/2x to 2x. When it is no longer
- * supported, the audio may be muted. Using this mode will not fail
- * for non-negative playback rates.
- */
- public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0;
-
- /** @hide */
- @IntDef(
- value = {
- PLAYBACK_RATE_AUDIO_MODE_DEFAULT,
- PLAYBACK_RATE_AUDIO_MODE_STRETCH,
- PLAYBACK_RATE_AUDIO_MODE_RESAMPLE,
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface PlaybackRateAudioMode {}
-
- /**
- * Sets playback rate and audio mode.
- *
- * @param rate the ratio between desired playback rate and normal one. 1.0 means normal
- * playback speed. 0.0 means pause. Value larger than 1.0 means faster playback,
- * while value between 0.0 and 1.0 for slower playback. <b>Note:</b> the normal rate
- * does not change as a result of this call. To restore the original rate at any time,
- * use 1.0.
- * @param audioMode audio playback mode. Must be one of the supported
- * audio modes.
- *
- * @throws IllegalStateException if the internal sync engine or the audio track has not
- * been initialized.
- * @throws IllegalArgumentException if audioMode is not supported.
- */
- public void setPlaybackRate(float rate, @PlaybackRateAudioMode int audioMode) {
- PlaybackParams rateParams = new PlaybackParams();
- rateParams.allowDefaults();
- switch (audioMode) {
- case PLAYBACK_RATE_AUDIO_MODE_DEFAULT:
- rateParams.setSpeed(rate).setPitch(1.0f);
- break;
- case PLAYBACK_RATE_AUDIO_MODE_STRETCH:
- rateParams.setSpeed(rate).setPitch(1.0f)
- .setAudioFallbackMode(rateParams.AUDIO_FALLBACK_MODE_FAIL);
- break;
- case PLAYBACK_RATE_AUDIO_MODE_RESAMPLE:
- rateParams.setSpeed(rate).setPitch(rate);
- break;
- default:
- {
- final String msg = "Audio playback mode " + audioMode + " is not supported";
- throw new IllegalArgumentException(msg);
- }
- }
- setPlaybackParams(rateParams);
- }
-
- /**
* Sets playback rate using {@link PlaybackParams}.
* <p>
* When using MediaSync with {@link AudioTrack}, set playback params using this