diff options
author | Lajos Molnar <lajos@google.com> | 2015-05-14 12:13:32 -0700 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2015-05-14 12:16:44 -0700 |
commit | dbc908fba85ab610737eeb6170c0808ffdd44741 (patch) | |
tree | 72bd9a1b3f3918763942eda88481372b10d552ae | |
parent | 0125d76fa37d26a29f06371ff349546e21cd3f4d (diff) | |
download | frameworks_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.txt | 8 | ||||
-rw-r--r-- | api/system-current.txt | 8 | ||||
-rw-r--r-- | media/java/android/media/MediaPlayer.java | 13 | ||||
-rw-r--r-- | media/java/android/media/MediaSync.java | 83 |
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 |