Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10d66d96 authored by Wei Jia's avatar Wei Jia Committed by Android Git Automerger
Browse files

am 60769445: am ea4eb326: Merge "MediaSync: address API review." into mnc-dev

* commit '60769445':
  MediaSync: address API review.
parents 8bc22f52 60769445
Loading
Loading
Loading
Loading
+24 −24
Original line number Diff line number Diff line
@@ -15068,8 +15068,8 @@ package android.media {
    method public int getNotificationMarkerPosition();
    method public int getPlayState();
    method public int getPlaybackHeadPosition();
    method public android.media.PlaybackParams getPlaybackParams();
    method public int getPlaybackRate();
    method public android.media.PlaybackSettings getPlaybackSettings();
    method public int getPositionNotificationPeriod();
    method public android.media.AudioDeviceInfo getPreferredOutputDevice();
    method public android.media.AudioDeviceInfo getRoutedDevice();
@@ -15086,10 +15086,10 @@ package android.media {
    method public int setLoopPoints(int, int, int);
    method public int setNotificationMarkerPosition(int);
    method public int setPlaybackHeadPosition(int);
    method public void setPlaybackParams(android.media.PlaybackParams);
    method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener);
    method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener, android.os.Handler);
    method public int setPlaybackRate(int);
    method public void setPlaybackSettings(android.media.PlaybackSettings);
    method public int setPositionNotificationPeriod(int);
    method public boolean setPreferredOutputDevice(android.media.AudioDeviceInfo);
    method protected deprecated void setState(int);
@@ -16089,9 +16089,9 @@ package android.media {
    method public int getAudioSessionId();
    method public int getCurrentPosition();
    method public int getDuration();
    method public android.media.PlaybackSettings getPlaybackSettings();
    method public android.media.PlaybackParams getPlaybackParams();
    method public int getSelectedTrack(int) throws java.lang.IllegalStateException;
    method public android.media.SyncSettings getSyncSettings();
    method public android.media.SyncParams getSyncParams();
    method public android.media.MediaTimestamp getTimestamp();
    method public android.media.MediaPlayer.TrackInfo[] getTrackInfo() throws java.lang.IllegalStateException;
    method public int getVideoHeight();
@@ -16127,11 +16127,11 @@ package android.media {
    method public void setOnTimedMetaDataListener(android.media.MediaPlayer.OnTimedMetaDataListener);
    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 setPlaybackSettings(android.media.PlaybackSettings);
    method public void setScreenOnWhilePlaying(boolean);
    method public void setSurface(android.view.Surface);
    method public void setSyncSettings(android.media.SyncSettings);
    method public void setSyncParams(android.media.SyncParams);
    method public void setVideoScalingMode(int);
    method public void setVolume(float, float);
    method public void setWakeMode(android.content.Context, int);
@@ -16450,18 +16450,18 @@ package android.media {
    ctor public MediaSync();
    method public final android.view.Surface createInputSurface();
    method public void flush();
    method public android.media.PlaybackSettings getPlaybackSettings();
    method public android.media.SyncSettings getSyncSettings();
    method public android.media.PlaybackParams getPlaybackParams();
    method public android.media.SyncParams getSyncParams();
    method public android.media.MediaTimestamp getTimestamp();
    method public void queueAudio(java.nio.ByteBuffer, int, int, long);
    method public void queueAudio(java.nio.ByteBuffer, int, long);
    method public final void release();
    method public void setAudioTrack(android.media.AudioTrack);
    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 setPlaybackSettings(android.media.PlaybackSettings);
    method public void setSurface(android.view.Surface);
    method public void setSyncSettings(android.media.SyncSettings);
    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
@@ -16509,15 +16509,15 @@ package android.media {
    method public abstract void onAudioTrackRouting(android.media.AudioTrack);
  }
  public final class PlaybackSettings {
    ctor public PlaybackSettings();
    method public android.media.PlaybackSettings allowDefaults();
  public final class PlaybackParams {
    ctor public PlaybackParams();
    method public android.media.PlaybackParams allowDefaults();
    method public int getAudioFallbackMode();
    method public float getPitch();
    method public float getSpeed();
    method public android.media.PlaybackSettings setAudioFallbackMode(int);
    method public android.media.PlaybackSettings setPitch(float);
    method public android.media.PlaybackSettings setSpeed(float);
    method public android.media.PlaybackParams setAudioFallbackMode(int);
    method public android.media.PlaybackParams setPitch(float);
    method public android.media.PlaybackParams setSpeed(float);
    field public static final int AUDIO_FALLBACK_MODE_DEFAULT = 0; // 0x0
    field public static final int AUDIO_FALLBACK_MODE_FAIL = 2; // 0x2
    field public static final int AUDIO_FALLBACK_MODE_MUTE = 1; // 0x1
@@ -16708,17 +16708,17 @@ package android.media {
    method public abstract void onLoadComplete(android.media.SoundPool, int, int);
  }
  public final class SyncSettings {
    ctor public SyncSettings();
    method public android.media.SyncSettings allowDefaults();
  public final class SyncParams {
    ctor public SyncParams();
    method public android.media.SyncParams allowDefaults();
    method public int getAudioAdjustMode();
    method public float getFrameRate();
    method public int getSyncSource();
    method public float getTolerance();
    method public android.media.SyncSettings setAudioAdjustMode(int);
    method public android.media.SyncSettings setFrameRate(float);
    method public android.media.SyncSettings setSyncSource(int);
    method public android.media.SyncSettings setTolerance(float);
    method public android.media.SyncParams setAudioAdjustMode(int);
    method public android.media.SyncParams setFrameRate(float);
    method public android.media.SyncParams setSyncSource(int);
    method public android.media.SyncParams setTolerance(float);
    field public static final int AUDIO_ADJUST_MODE_DEFAULT = 0; // 0x0
    field public static final int AUDIO_ADJUST_MODE_RESAMPLE = 2; // 0x2
    field public static final int AUDIO_ADJUST_MODE_STRETCH = 1; // 0x1
+24 −24
Original line number Diff line number Diff line
@@ -16290,8 +16290,8 @@ package android.media {
    method public int getNotificationMarkerPosition();
    method public int getPlayState();
    method public int getPlaybackHeadPosition();
    method public android.media.PlaybackParams getPlaybackParams();
    method public int getPlaybackRate();
    method public android.media.PlaybackSettings getPlaybackSettings();
    method public int getPositionNotificationPeriod();
    method public android.media.AudioDeviceInfo getPreferredOutputDevice();
    method public android.media.AudioDeviceInfo getRoutedDevice();
@@ -16308,10 +16308,10 @@ package android.media {
    method public int setLoopPoints(int, int, int);
    method public int setNotificationMarkerPosition(int);
    method public int setPlaybackHeadPosition(int);
    method public void setPlaybackParams(android.media.PlaybackParams);
    method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener);
    method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener, android.os.Handler);
    method public int setPlaybackRate(int);
    method public void setPlaybackSettings(android.media.PlaybackSettings);
    method public int setPositionNotificationPeriod(int);
    method public boolean setPreferredOutputDevice(android.media.AudioDeviceInfo);
    method protected deprecated void setState(int);
@@ -17312,9 +17312,9 @@ package android.media {
    method public int getAudioSessionId();
    method public int getCurrentPosition();
    method public int getDuration();
    method public android.media.PlaybackSettings getPlaybackSettings();
    method public android.media.PlaybackParams getPlaybackParams();
    method public int getSelectedTrack(int) throws java.lang.IllegalStateException;
    method public android.media.SyncSettings getSyncSettings();
    method public android.media.SyncParams getSyncParams();
    method public android.media.MediaTimestamp getTimestamp();
    method public android.media.MediaPlayer.TrackInfo[] getTrackInfo() throws java.lang.IllegalStateException;
    method public int getVideoHeight();
@@ -17350,11 +17350,11 @@ package android.media {
    method public void setOnTimedMetaDataListener(android.media.MediaPlayer.OnTimedMetaDataListener);
    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 setPlaybackSettings(android.media.PlaybackSettings);
    method public void setScreenOnWhilePlaying(boolean);
    method public void setSurface(android.view.Surface);
    method public void setSyncSettings(android.media.SyncSettings);
    method public void setSyncParams(android.media.SyncParams);
    method public void setVideoScalingMode(int);
    method public void setVolume(float, float);
    method public void setWakeMode(android.content.Context, int);
@@ -17675,18 +17675,18 @@ package android.media {
    ctor public MediaSync();
    method public final android.view.Surface createInputSurface();
    method public void flush();
    method public android.media.PlaybackSettings getPlaybackSettings();
    method public android.media.SyncSettings getSyncSettings();
    method public android.media.PlaybackParams getPlaybackParams();
    method public android.media.SyncParams getSyncParams();
    method public android.media.MediaTimestamp getTimestamp();
    method public void queueAudio(java.nio.ByteBuffer, int, int, long);
    method public void queueAudio(java.nio.ByteBuffer, int, long);
    method public final void release();
    method public void setAudioTrack(android.media.AudioTrack);
    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 setPlaybackSettings(android.media.PlaybackSettings);
    method public void setSurface(android.view.Surface);
    method public void setSyncSettings(android.media.SyncSettings);
    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
@@ -17734,15 +17734,15 @@ package android.media {
    method public abstract void onAudioTrackRouting(android.media.AudioTrack);
  }
  public final class PlaybackSettings {
    ctor public PlaybackSettings();
    method public android.media.PlaybackSettings allowDefaults();
  public final class PlaybackParams {
    ctor public PlaybackParams();
    method public android.media.PlaybackParams allowDefaults();
    method public int getAudioFallbackMode();
    method public float getPitch();
    method public float getSpeed();
    method public android.media.PlaybackSettings setAudioFallbackMode(int);
    method public android.media.PlaybackSettings setPitch(float);
    method public android.media.PlaybackSettings setSpeed(float);
    method public android.media.PlaybackParams setAudioFallbackMode(int);
    method public android.media.PlaybackParams setPitch(float);
    method public android.media.PlaybackParams setSpeed(float);
    field public static final int AUDIO_FALLBACK_MODE_DEFAULT = 0; // 0x0
    field public static final int AUDIO_FALLBACK_MODE_FAIL = 2; // 0x2
    field public static final int AUDIO_FALLBACK_MODE_MUTE = 1; // 0x1
@@ -17933,17 +17933,17 @@ package android.media {
    method public abstract void onLoadComplete(android.media.SoundPool, int, int);
  }
  public final class SyncSettings {
    ctor public SyncSettings();
    method public android.media.SyncSettings allowDefaults();
  public final class SyncParams {
    ctor public SyncParams();
    method public android.media.SyncParams allowDefaults();
    method public int getAudioAdjustMode();
    method public float getFrameRate();
    method public int getSyncSource();
    method public float getTolerance();
    method public android.media.SyncSettings setAudioAdjustMode(int);
    method public android.media.SyncSettings setFrameRate(float);
    method public android.media.SyncSettings setSyncSource(int);
    method public android.media.SyncSettings setTolerance(float);
    method public android.media.SyncParams setAudioAdjustMode(int);
    method public android.media.SyncParams setFrameRate(float);
    method public android.media.SyncParams setSyncSource(int);
    method public android.media.SyncParams setTolerance(float);
    field public static final int AUDIO_ADJUST_MODE_DEFAULT = 0; // 0x0
    field public static final int AUDIO_ADJUST_MODE_RESAMPLE = 2; // 0x2
    field public static final int AUDIO_ADJUST_MODE_STRETCH = 1; // 0x1
+19 −19
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@

#include "android_media_AudioFormat.h"
#include "android_media_AudioErrors.h"
#include "android_media_PlaybackSettings.h"
#include "android_media_PlaybackParams.h"
#include "android_media_DeviceCallback.h"

// ----------------------------------------------------------------------------
@@ -61,7 +61,7 @@ struct audio_attributes_fields_t {
};
static audio_track_fields_t      javaAudioTrackFields;
static audio_attributes_fields_t javaAudioAttrFields;
static PlaybackSettings::fields_t gPlaybackSettingsFields;
static PlaybackParams::fields_t gPlaybackParamsFields;

struct audiotrack_callback_cookie {
    jclass      audioTrack_class;
@@ -693,8 +693,8 @@ static jint android_media_AudioTrack_get_playback_rate(JNIEnv *env, jobject thi


// ----------------------------------------------------------------------------
static void android_media_AudioTrack_set_playback_settings(JNIEnv *env,  jobject thiz,
        jobject settings) {
static void android_media_AudioTrack_set_playback_params(JNIEnv *env,  jobject thiz,
        jobject params) {
    sp<AudioTrack> lpTrack = getAudioTrack(env, thiz);
    if (lpTrack == NULL) {
        jniThrowException(env, "java/lang/IllegalStateException",
@@ -702,10 +702,10 @@ static void android_media_AudioTrack_set_playback_settings(JNIEnv *env, jobject
        return;
    }

    PlaybackSettings pbs;
    pbs.fillFromJobject(env, gPlaybackSettingsFields, settings);
    PlaybackParams pbs;
    pbs.fillFromJobject(env, gPlaybackParamsFields, params);

    ALOGV("setPlaybackSettings: %d:%f %d:%f %d:%u %d:%u",
    ALOGV("setPlaybackParams: %d:%f %d:%f %d:%u %d:%u",
            pbs.speedSet, pbs.audioRate.mSpeed,
            pbs.pitchSet, pbs.audioRate.mPitch,
            pbs.audioFallbackModeSet, pbs.audioRate.mFallbackMode,
@@ -719,8 +719,8 @@ static void android_media_AudioTrack_set_playback_settings(JNIEnv *env, jobject


// ----------------------------------------------------------------------------
static jobject android_media_AudioTrack_get_playback_settings(JNIEnv *env,  jobject thiz,
        jobject settings) {
static jobject android_media_AudioTrack_get_playback_params(JNIEnv *env,  jobject thiz,
        jobject params) {
    sp<AudioTrack> lpTrack = getAudioTrack(env, thiz);
    if (lpTrack == NULL) {
        jniThrowException(env, "java/lang/IllegalStateException",
@@ -728,13 +728,13 @@ static jobject android_media_AudioTrack_get_playback_settings(JNIEnv *env, jobj
        return NULL;
    }

    PlaybackSettings pbs;
    PlaybackParams pbs;
    pbs.audioRate = lpTrack->getPlaybackRate();
    pbs.speedSet = true;
    pbs.pitchSet = true;
    pbs.audioFallbackModeSet = true;
    pbs.audioStretchModeSet = true;
    return pbs.asJobject(env, gPlaybackSettingsFields);
    return pbs.asJobject(env, gPlaybackParamsFields);
}


@@ -1049,12 +1049,12 @@ static JNINativeMethod gMethods[] = {
                             "(I)I",     (void *)android_media_AudioTrack_set_playback_rate},
    {"native_get_playback_rate",
                             "()I",      (void *)android_media_AudioTrack_get_playback_rate},
    {"native_set_playback_settings",
                             "(Landroid/media/PlaybackSettings;)V",
                                         (void *)android_media_AudioTrack_set_playback_settings},
    {"native_get_playback_settings",
                             "()Landroid/media/PlaybackSettings;",
                                         (void *)android_media_AudioTrack_get_playback_settings},
    {"native_set_playback_params",
                             "(Landroid/media/PlaybackParams;)V",
                                         (void *)android_media_AudioTrack_set_playback_params},
    {"native_get_playback_params",
                             "()Landroid/media/PlaybackParams;",
                                         (void *)android_media_AudioTrack_get_playback_params},
    {"native_set_marker_pos","(I)I",     (void *)android_media_AudioTrack_set_marker_pos},
    {"native_get_marker_pos","()I",      (void *)android_media_AudioTrack_get_marker_pos},
    {"native_set_pos_update_period",
@@ -1144,8 +1144,8 @@ int register_android_media_AudioTrack(JNIEnv *env)

    env->DeleteLocalRef(audioAttrClass);

    // initialize PlaybackSettings field info
    gPlaybackSettingsFields.init(env);
    // initialize PlaybackParams field info
    gPlaybackParamsFields.init(env);

    return RegisterMethodsOrDie(env, kClassPathName, gMethods, NELEM(gMethods));
}
+16 −16
Original line number Diff line number Diff line
@@ -908,13 +908,13 @@ public class AudioTrack
    }

    /**
     * Returns the current playback settings.
     * See {@link #setPlaybackSettings(PlaybackSettings)} to set playback settings
     * @return current {@link PlaybackSettings}.
     * Returns the current playback params.
     * See {@link #setPlaybackParams(PlaybackParams)} to set playback params
     * @return current {@link PlaybackParams}.
     * @throws IllegalStateException if track is not initialized.
     */
    public @NonNull PlaybackSettings getPlaybackSettings() {
        return native_get_playback_settings();
    public @NonNull PlaybackParams getPlaybackParams() {
        return native_get_playback_params();
    }

    /**
@@ -1294,7 +1294,7 @@ public class AudioTrack
     * playback to last twice as long, but will also result in a pitch shift down by one octave.
     * The valid sample rate range is from 1 Hz to twice the value returned by
     * {@link #getNativeOutputSampleRate(int)}.
     * Use {@link #setPlaybackSettings(PlaybackSettings)} for speed control.
     * Use {@link #setPlaybackParams(PlaybackParams)} for speed control.
     * @param sampleRateInHz the sample rate expressed in Hz
     * @return error code or success, see {@link #SUCCESS}, {@link #ERROR_BAD_VALUE},
     *    {@link #ERROR_INVALID_OPERATION}
@@ -1311,24 +1311,24 @@ public class AudioTrack


    /**
     * Sets the playback settings.
     * This method returns failure if it cannot apply the playback settings.
     * Sets the playback params.
     * This method returns failure if it cannot apply the playback params.
     * One possible cause is that the parameters for speed or pitch are out of range.
     * Another possible cause is that the <code>AudioTrack</code> is streaming
     * (see {@link #MODE_STREAM}) and the
     * buffer size is too small. For speeds greater than 1.0f, the <code>AudioTrack</code> buffer
     * on configuration must be larger than the speed multiplied by the minimum size
     * {@link #getMinBufferSize(int, int, int)}) to allow proper playback.
     * @param settings see {@link PlaybackSettings}. In particular,
     * @param params see {@link PlaybackParams}. In particular,
     * speed, pitch, and audio mode should be set.
     * @throws IllegalArgumentException if the settings are invalid or not accepted.
     * @throws IllegalArgumentException if the params are invalid or not accepted.
     * @throws IllegalStateException if track is not initialized.
     */
    public void setPlaybackSettings(@NonNull PlaybackSettings settings) {
        if (settings == null) {
            throw new IllegalArgumentException("settings is null");
    public void setPlaybackParams(@NonNull PlaybackParams params) {
        if (params == null) {
            throw new IllegalArgumentException("params is null");
        }
        native_set_playback_settings(settings);
        native_set_playback_params(params);
    }


@@ -2353,8 +2353,8 @@ public class AudioTrack
    private native final int native_set_playback_rate(int sampleRateInHz);
    private native final int native_get_playback_rate();

    private native final void native_set_playback_settings(@NonNull PlaybackSettings settings);
    private native final @NonNull PlaybackSettings native_get_playback_settings();
    private native final void native_set_playback_params(@NonNull PlaybackParams params);
    private native final @NonNull PlaybackParams native_get_playback_params();

    private native final int native_set_marker_pos(int marker);
    private native final int native_get_marker_pos();
+23 −23

File changed.

Preview size limit exceeded, changes collapsed.

Loading