TheWidlarzGroup / TheWidlarzGroup/react-native-video
[BUG]: External Subtitles Not Working in Latest Versions (`onTextTracks` returns null)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.7k
- Forks
- 3k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 9
Description
What happened?
A breaking regression affecting all versions after 6.15.0: external subtitles (VTT/SRT) do not load.
Working version: react-native-video@6.15.0
Broken versions (tested): 6.16.0, 6.17.0, 6.18.0 (latest)
Issue Description
External subtitles (VTT/SRT) do not load in the latest versions.
- The video plays normally, but subtitles never display.
onTextTracks()returnsnullor an empty array.- No subtitle item appears for selection.
- Selecting subtitle manually also does nothing.
The same code works perfectly on version 6.15.0, so this is a regression.
Code Example (Working only on 6.15.0)
<Video
useExoPlayer={true}
source={{ uri: videoUrl }}
textTracks={[
{
title: "English",
language: "en",
type: TextTrackType.VTT,
uri: subtitleUrl,
},
]}
selectedTextTrack={{
type: "index",
value: 0,
}}
onTextTracks={(tracks) => {
console.log("Subtitle tracks:", tracks);
}}
/>
Current Behavior (Bug)
onTextTracks→ returns:nullor[]- Subtitles never appear
- Cannot select subs or display them at runtime
Expected Behavior
textTracksshould load the external subtitle fileonTextTracksshould return available subtitle tracks- Selected subtitle should be displayed during playback (like in 6.15.0)
Notes
This affects:
- Android (ExoPlayer path)
- External subtitles (not embedded)
.vtt,.srt,.vttremote URLs
Impact
This breaks accessibility and multilingual playback support. Many streaming apps rely on subtitles — so this is a major regression.
Request
Please fix this subtitle regression in the latest version or provide guidance / patch. Available to test builds and provide logs if needed.
Steps to reproduce
- Use
react-native-video6.16.0 or later on Android (ExoPlayer path). - Render a
<Video>component with an external subtitle file passed via thetextTracksprop (e.g. a remote.vtt/.srtURI) andselectedTextTrackset to index 0. - Play the video and observe
onTextTracksreturnsnullor[]; no subtitles display and none can be selected. - Downgrade to 6.15.0 with the same code — subtitles load and display correctly.
Reproduction repository
No response
react-native-video version
6.18.0
react-native version
No response
react-native-nitro-modules version
No response
Platforms
Android
OS version
Android 12
Device
Real device
Architecture
Old Architecture
Expo
No response
Last working version
6.15.0
Media / source type
Other
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue on Android with the ExoPlayer path using the provided textTracks and selectedTextTrack example. Compare react-native-video 6.15.0 with 6.18.0 and inspect the subtitle-track handling between those versions. Done means external VTT/SRT tracks are returned by onTextTracks, can be selected, and display during playback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, react-native
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100