diff --git a/media/java/android/media/tv/ITvInputManager.aidl b/media/java/android/media/tv/ITvInputManager.aidl index 6fe5dbbc8a13d..f8057dbfc898d 100644 --- a/media/java/android/media/tv/ITvInputManager.aidl +++ b/media/java/android/media/tv/ITvInputManager.aidl @@ -18,6 +18,7 @@ package android.media.tv; import android.content.ComponentName; import android.graphics.Rect; +import android.media.PlaybackParams; import android.media.tv.DvbDeviceInfo; import android.media.tv.ITvInputClient; import android.media.tv.ITvInputHardware; @@ -79,7 +80,7 @@ interface ITvInputManager { void timeShiftPause(in IBinder sessionToken, int userId); void timeShiftResume(in IBinder sessionToken, int userId); void timeShiftSeekTo(in IBinder sessionToken, long timeMs, int userId); - void timeShiftSetPlaybackRate(in IBinder sessionToken, float rate, int audioMode, int userId); + void timeShiftSetPlaybackParams(in IBinder sessionToken, in PlaybackParams params, int userId); void timeShiftEnablePositionTracking(in IBinder sessionToken, boolean enable, int userId); // For TV input hardware binding diff --git a/media/java/android/media/tv/ITvInputSession.aidl b/media/java/android/media/tv/ITvInputSession.aidl index 17f3984d7f266..6a06b8f194669 100644 --- a/media/java/android/media/tv/ITvInputSession.aidl +++ b/media/java/android/media/tv/ITvInputSession.aidl @@ -17,6 +17,7 @@ package android.media.tv; import android.graphics.Rect; +import android.media.PlaybackParams; import android.media.tv.TvTrackInfo; import android.net.Uri; import android.os.Bundle; @@ -50,6 +51,6 @@ oneway interface ITvInputSession { void timeShiftPause(); void timeShiftResume(); void timeShiftSeekTo(long timeMs); - void timeShiftSetPlaybackRate(float rate, int audioMode); + void timeShiftSetPlaybackParams(in PlaybackParams params); void timeShiftEnablePositionTracking(boolean enable); } diff --git a/media/java/android/media/tv/ITvInputSessionWrapper.java b/media/java/android/media/tv/ITvInputSessionWrapper.java index 58954bd3a9e33..66b904b5540d2 100644 --- a/media/java/android/media/tv/ITvInputSessionWrapper.java +++ b/media/java/android/media/tv/ITvInputSessionWrapper.java @@ -62,7 +62,7 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand private static final int DO_TIME_SHIFT_PAUSE = 14; private static final int DO_TIME_SHIFT_RESUME = 15; private static final int DO_TIME_SHIFT_SEEK_TO = 16; - private static final int DO_TIME_SHIFT_SET_PLAYBACK_RATE = 17; + private static final int DO_TIME_SHIFT_SET_PLAYBACK_PARAMS = 17; private static final int DO_TIME_SHIFT_ENABLE_POSITION_TRACKING = 18; private final HandlerCaller mCaller; @@ -172,7 +172,7 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand mTvInputSessionImpl.timeShiftSeekTo((Long) msg.obj); break; } - case DO_TIME_SHIFT_SET_PLAYBACK_RATE: { + case DO_TIME_SHIFT_SET_PLAYBACK_PARAMS: { PlaybackParams params = new PlaybackParams() .setSpeed((Float) msg.obj) .setAudioFallbackMode(msg.arg1); @@ -293,9 +293,9 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand } @Override - public void timeShiftSetPlaybackRate(float rate, int audioMode) { - mCaller.executeOrSendMessage(mCaller.obtainMessageIO(DO_TIME_SHIFT_SET_PLAYBACK_RATE, - audioMode, Float.valueOf(rate))); + public void timeShiftSetPlaybackParams(PlaybackParams params) { + mCaller.executeOrSendMessage(mCaller.obtainMessageO(DO_TIME_SHIFT_SET_PLAYBACK_PARAMS, + params)); } @Override diff --git a/media/java/android/media/tv/TvInputManager.java b/media/java/android/media/tv/TvInputManager.java index caa8a092250bd..7fc19f19abdfe 100644 --- a/media/java/android/media/tv/TvInputManager.java +++ b/media/java/android/media/tv/TvInputManager.java @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.graphics.Rect; +import android.media.PlaybackParams; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -1747,23 +1748,17 @@ public final class TvInputManager { } /** - * Sets playback rate and audio mode. + * Sets playback rate using {@link android.media.PlaybackParams}. * - * @param rate The ratio between desired playback rate and normal one. - * @param audioMode Audio playback mode. Must be one of the supported audio modes: - *