am 51bf5d9c: Merge "media: remove setPlaybackRate from MediaPlayer and MediSync" into mnc-dev

* commit '51bf5d9c078a57b52da786979103674588c2116c':
  media: remove setPlaybackRate from MediaPlayer and MediSync
This commit is contained in:
Lajos Molnar
2015-05-14 21:25:36 +00:00
committed by Android Git Automerger
4 changed files with 11 additions and 101 deletions

View File

@@ -16099,7 +16099,6 @@ package android.media {
method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener); method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener); method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
method public void setPlaybackParams(android.media.PlaybackParams); method public void setPlaybackParams(android.media.PlaybackParams);
method public void setPlaybackRate(float, int);
method public void setScreenOnWhilePlaying(boolean); method public void setScreenOnWhilePlaying(boolean);
method public void setSurface(android.view.Surface); method public void setSurface(android.view.Surface);
method public void setSyncParams(android.media.SyncParams); 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_RENDERING_START = 3; // 0x3
field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc 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 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 = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2 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 setCallback(android.media.MediaSync.Callback, android.os.Handler);
method public void setOnErrorListener(android.media.MediaSync.OnErrorListener, android.os.Handler); method public void setOnErrorListener(android.media.MediaSync.OnErrorListener, android.os.Handler);
method public void setPlaybackParams(android.media.PlaybackParams); method public void setPlaybackParams(android.media.PlaybackParams);
method public void setPlaybackRate(float, int);
method public void setSurface(android.view.Surface); method public void setSurface(android.view.Surface);
method public void setSyncParams(android.media.SyncParams); 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_AUDIOTRACK_FAIL = 1; // 0x1
field public static final int MEDIASYNC_ERROR_SURFACE_FAIL = 2; // 0x2 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 { public static abstract class MediaSync.Callback {

View File

@@ -17337,7 +17337,6 @@ package android.media {
method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener); method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener); method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
method public void setPlaybackParams(android.media.PlaybackParams); method public void setPlaybackParams(android.media.PlaybackParams);
method public void setPlaybackRate(float, int);
method public void setScreenOnWhilePlaying(boolean); method public void setScreenOnWhilePlaying(boolean);
method public void setSurface(android.view.Surface); method public void setSurface(android.view.Surface);
method public void setSyncParams(android.media.SyncParams); 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_RENDERING_START = 3; // 0x3
field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc 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 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 = 1; // 0x1
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2 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 setCallback(android.media.MediaSync.Callback, android.os.Handler);
method public void setOnErrorListener(android.media.MediaSync.OnErrorListener, android.os.Handler); method public void setOnErrorListener(android.media.MediaSync.OnErrorListener, android.os.Handler);
method public void setPlaybackParams(android.media.PlaybackParams); method public void setPlaybackParams(android.media.PlaybackParams);
method public void setPlaybackRate(float, int);
method public void setSurface(android.view.Surface); method public void setSurface(android.view.Surface);
method public void setSyncParams(android.media.SyncParams); 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_AUDIOTRACK_FAIL = 1; // 0x1
field public static final int MEDIASYNC_ERROR_SURFACE_FAIL = 2; // 0x2 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 { public static abstract class MediaSync.Callback {

View File

@@ -1360,6 +1360,8 @@ public class MediaPlayer implements SubtitleController.Listener
* frequency. * frequency.
* When rate is larger than 1.0, pitch becomes higher. * When rate is larger than 1.0, pitch becomes higher.
* When rate is smaller than 1.0, pitch becomes lower. * When rate is smaller than 1.0, pitch becomes lower.
*
* @hide
*/ */
public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2; public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 2;
@@ -1372,6 +1374,8 @@ public class MediaPlayer implements SubtitleController.Listener
* <p> * <p>
* This mode is only supported for a limited range of playback speed factors, * This mode is only supported for a limited range of playback speed factors,
* e.g. between 1/2x and 2x. * e.g. between 1/2x and 2x.
*
* @hide
*/ */
public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1; 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 * 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 * system to determine how to change audio playback if the rate is out
* of range. * of range.
*
* @hide
*/ */
public static final int PLAYBACK_RATE_AUDIO_MODE_DEFAULT = 0; 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 * @throws IllegalStateException if the internal player engine has not been
* initialized. * initialized.
* @throws IllegalArgumentException if audioMode is not supported. * @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(); PlaybackParams params = new PlaybackParams();
params.allowDefaults(); params.allowDefaults();
switch (audioMode) { switch (audioMode) {
@@ -1425,7 +1434,7 @@ public class MediaPlayer implements SubtitleController.Listener
final String msg = "Audio playback mode " + audioMode + " is not supported"; final String msg = "Audio playback mode " + audioMode + " is not supported";
throw new IllegalArgumentException(msg); throw new IllegalArgumentException(msg);
} }
setPlaybackParams(params); return params;
} }
/** /**

View File

@@ -351,89 +351,6 @@ public final class MediaSync {
@NonNull @NonNull
public native final Surface createInputSurface(); 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}. * Sets playback rate using {@link PlaybackParams}.
* <p> * <p>