Skip to content

Commit

Permalink
Address review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
smelaa committed Mar 26, 2024
1 parent f6af188 commit 2f89b25
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 7 deletions.
23 changes: 17 additions & 6 deletions src/components/VideoPlayer/BaseVideoPlayer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -104,19 +104,30 @@ function BaseVideoPlayer({

const handlePlaybackStatusUpdate = useCallback(
(status: AVPlaybackStatus) => {
const isVideoPlaying = 'isPlaying' in status ? status.isPlaying : false;
if (!status.isLoaded) {
preventPausingWhenExitingFullscreen(false);
setIsPlaying(false);
setIsLoading(false); // when video is ready to display duration is not NaN
setIsBuffering(false);
setDuration(videoDuration * 1000);
setPosition(0);

onPlaybackStatusUpdate(status);
return;
}
const isVideoPlaying = status.isPlaying;
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
const currentDuration = 'durationMillis' in status ? status.durationMillis || videoDuration * 1000 : videoDuration * 1000;
const currentPositon = 'positionMillis' in status ? status.positionMillis || 0 : 0;
const currentDuration = status.durationMillis || videoDuration * 1000;
const currentPositon = status.positionMillis || 0;

if (status.isLoaded && shouldReplayVideo(status, isVideoPlaying, currentDuration, currentPositon)) {
if (shouldReplayVideo(status, isVideoPlaying, currentDuration, currentPositon)) {
videoPlayerRef.current?.setStatusAsync({positionMillis: 0, shouldPlay: true});
}

preventPausingWhenExitingFullscreen(isVideoPlaying);
setIsPlaying(isVideoPlaying);
setIsLoading(!status.isLoaded || Number.isNaN(status.durationMillis)); // when video is ready to display duration is not NaN
setIsBuffering('isBuffering' in status && status.isBuffering);
setIsLoading(Number.isNaN(status.durationMillis)); // when video is ready to display duration is not NaN
setIsBuffering(status.isBuffering);
setDuration(currentDuration);
setPosition(currentPositon);

Expand Down
2 changes: 1 addition & 1 deletion src/components/VideoPlayer/IconButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ type IconButtonProps = {
shouldForceRenderingTooltipBelow?: boolean;
};

function IconButton({src, fill = 'white', onPress = () => {}, style = {}, hoverStyle = {}, tooltipText = '', small = false, shouldForceRenderingTooltipBelow = false}: IconButtonProps) {
function IconButton({src, fill = 'white', onPress, style, hoverStyle, tooltipText = '', small = false, shouldForceRenderingTooltipBelow = false}: IconButtonProps) {
const styles = useThemeStyles();
return (
<Tooltip
Expand Down

0 comments on commit 2f89b25

Please sign in to comment.