Skip to content

Commit 3651045

Browse files
committed
fix(player/react): use remotion thumbnail in plyr layout preview scrub
1 parent 2a882d0 commit 3651045

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

  • packages/react/src/components/layouts/plyr

packages/react/src/components/layouts/plyr/layout.tsx

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import * as TimeSlider from '../../ui/sliders/time-slider';
3939
import * as VolumeSlider from '../../ui/sliders/volume-slider';
4040
import * as Thumbnail from '../../ui/thumbnail';
4141
import { Time } from '../../ui/time';
42-
import { RemotionPoster, RemotionSliderThumbnail } from '../remotion-ui';
42+
import { RemotionPoster, RemotionSliderThumbnail, RemotionThumbnail } from '../remotion-ui';
4343
import { useLayoutName } from '../utils';
4444
import { i18n, PlyrLayoutContext, usePlyrLayoutContext, usePlyrLayoutWord } from './context';
4545
import { defaultPlyrLayoutProps, type PlyrLayoutProps } from './props';
@@ -201,9 +201,15 @@ PlyrPlayLargeButton.displayName = 'PlyrPlayLargeButton';
201201
* -----------------------------------------------------------------------------------------------*/
202202

203203
function PlyrPreviewScrubbing() {
204-
const { thumbnails, previewTime } = usePlyrLayoutContext(),
205-
$previewTime = useSignal(previewTime);
206-
return (
204+
const $src = useMediaState('source'),
205+
{ thumbnails, previewTime } = usePlyrLayoutContext(),
206+
$previewTime = useSignal(previewTime),
207+
$RemotionThumbnail = useSignal(RemotionThumbnail),
208+
$hasRemotionThumbnail = $RemotionThumbnail && isRemotionSource($src);
209+
210+
return $hasRemotionThumbnail ? (
211+
<$RemotionThumbnail className="plyr__preview-scrubbing" frame={$previewTime * $src.fps!} />
212+
) : (
207213
<Thumbnail.Root src={thumbnails} className="plyr__preview-scrubbing" time={$previewTime}>
208214
<Thumbnail.Img />
209215
</Thumbnail.Root>

0 commit comments

Comments
 (0)