From b4dc7cdd884811701bfd7eb3689a2fd92b1c21f5 Mon Sep 17 00:00:00 2001 From: chrisk325 Date: Thu, 26 Feb 2026 12:53:38 +0530 Subject: [PATCH] add audio channel count extractor --- .../com/brentvatne/exoplayer/ReactExoplayerView.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java index 72007063..7e4629f4 100644 --- a/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java +++ b/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java @@ -1599,6 +1599,11 @@ public class ReactExoplayerView extends FrameLayout implements Track audioTrack = exoplayerTrackToGenericTrack(format, groupIndex, selection, group); audioTrack.setBitrate(format.bitrate == Format.NO_VALUE ? 0 : format.bitrate); audioTrack.setSelected(isSelected); + // Encode channel count into title so JS can read it e.g. "English|ch:6" + if (format.channelCount != Format.NO_VALUE && format.channelCount > 0) { + String existing = audioTrack.getTitle() != null ? audioTrack.getTitle() : ""; + audioTrack.setTitle(existing + "|ch:" + format.channelCount); + } audioTracks.add(audioTrack); } @@ -1794,7 +1799,11 @@ public class ReactExoplayerView extends FrameLayout implements Track track = new Track(); track.setIndex(groupIndex); track.setLanguage(format.language != null ? format.language : "unknown"); - track.setTitle(format.label != null ? format.label : "Track " + (groupIndex + 1)); + String baseTitle = format.label != null ? format.label : ""; + if (format.channelCount != Format.NO_VALUE && format.channelCount > 0) { + baseTitle = baseTitle + "|ch:" + format.channelCount; + } + track.setTitle(baseTitle); track.setSelected(false); // Don't report selection status - let PlayerView handle it if (format.sampleMimeType != null) track.setMimeType(format.sampleMimeType);