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:
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -351,89 +351,6 @@ public final class MediaSync {
|
||||
@NonNull
|
||||
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>
|
||||
|
||||
Reference in New Issue
Block a user