diff --git a/.idea/modules.xml b/.idea/modules.xml index e05f297..193201b 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -6,4 +6,4 @@ - + \ No newline at end of file diff --git a/app/src/main/java/ie/macinnes/tvheadend/player/TvheadendPlayer.java b/app/src/main/java/ie/macinnes/tvheadend/player/TvheadendPlayer.java index 9cf4426..3f8d94b 100644 --- a/app/src/main/java/ie/macinnes/tvheadend/player/TvheadendPlayer.java +++ b/app/src/main/java/ie/macinnes/tvheadend/player/TvheadendPlayer.java @@ -235,46 +235,46 @@ public void seek(long timeMs) { public void setPlaybackParams(PlaybackParams params) { float rawSpeed = params.getSpeed(); int speed = (int) rawSpeed; + int translatedSpeed; switch(speed) { - case 0: + case 1: translatedSpeed = 100; break; case -2: translatedSpeed = -200; break; - case -4: + case -3: translatedSpeed = -300; break; - case -12: + case -4: translatedSpeed = -400; break; - case -48: + case -5: translatedSpeed = -500; break; case 2: translatedSpeed = 200; break; - case 4: + case 8: translatedSpeed = 300; break; - case 12: + case 32: translatedSpeed = 400; break; - case 48: + case 128: translatedSpeed = 500; break; default: Log.d(TAG, "Unknown speed??? " + rawSpeed); - return; + return; } Log.d(TAG, "Speed: " + params.getSpeed() + " / " + translatedSpeed); - if (mDataSource != null) { mDataSource.setSpeed(translatedSpeed); - mExoPlayer.setPlaybackParameters(new PlaybackParameters(translatedSpeed, 0)); + mExoPlayer.setPlaybackParameters(new PlaybackParameters(speed, 1)); } } diff --git a/app/src/main/java/ie/macinnes/tvheadend/tvinput/HtspSession.java b/app/src/main/java/ie/macinnes/tvheadend/tvinput/HtspSession.java index d0d5b10..90fbd24 100644 --- a/app/src/main/java/ie/macinnes/tvheadend/tvinput/HtspSession.java +++ b/app/src/main/java/ie/macinnes/tvheadend/tvinput/HtspSession.java @@ -133,6 +133,7 @@ public void onSetStreamVolume(float volume) { @Override public View onCreateOverlayView() { Log.d(TAG, "Session onCreateOverlayView (" + mSessionNumber + ")"); + return mTvheadendPlayer.getOverlayView( mCaptioningManager.getUserStyle(), mCaptioningManager.getFontScale()); } @@ -203,8 +204,13 @@ public void onTimeShiftSeekTo(long timeMs) { @Override public void onTimeShiftSetPlaybackParams(PlaybackParams params) { Log.d(TAG, "onTimeShiftSetPlaybackParams: " + params); - - Toast.makeText(mContext, "Unsupported", Toast.LENGTH_SHORT).show(); + if (params.getSpeed() == 1) { + mTvheadendPlayer.setVolume(1.0f); + } + else { + mTvheadendPlayer.setVolume(0f); + } + mTvheadendPlayer.setPlaybackParams(params); } @RequiresApi(api = Build.VERSION_CODES.M)