React Native expo-video clip plays for 1 second then freezes only on European devices
11:36 14 May 2026

I’m using expo-video with expo sdk 55 in a React Native app to play a short intro clip inside a chat screen from my aws s3 bucket. On all Indian devices it works, but on European devices the video starts, plays for about a second, and then gets stuck. There is no visible error, and Sentry only shows normal playback events until the stall.

I’ve instrumented the player and I can see this sequence in logs:

  • session_start

  • play_requested

  • progress_started

  • a few playback_tick events

  • then playback stops advancing

There is no status_errorfreeze_detected, or duration_mismatch in the affected runs.

The video is loaded from a remote MP4 URL, and the component looks roughly like this:

const player = useVideoPlayer(videoSource, (player) => {
  player.loop = false;
});

useEffect(() => {
  player.volume = isChatAudioEnabled ? 1.0 : 0;

  const statusSub = player.addListener("statusChange", (payload) => {
    if (payload?.error) {
      // log error
    }
  });

  const timeSub = player.addListener("timeUpdate", ({ currentTime }) => {
    // detect progress / freeze
  });

  player.play();

  return () => {
    statusSub.remove();
    timeSub.remove();
    player.pause();
  };
}, [player, videoSource]);

AWS video is an mp4 with this
H264 Main/Baseline

yuv420p

AAC LC

+faststart

moov at start

The behavior seems region-specific, because it only happens on European devices. I’m trying to determine whether this is likely:

  • a CDN / network / geo routing issue

  • a codec or remote media delivery issue

  • a device/player quirk with expo-video

  • something related to iOS region or locale

My questions are:

  1. What are the best ways to debug a video that stalls shortly after starting in expo-video?

  2. Can region-specific network/CDN behavior cause this kind of stall without an explicit player error?

  3. Are there known issues with expo-video where playingh can stop advancing without a statusError?

  4. What extra diagnostics should I log to separate media delivery problems from player problems?

ios react-native video expo