chore(android): refactor side loaded text tracks (#3754)

* perf: ensure we do not provide callback to native if no callback provided from app

* chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size

* chore(android): refactor external text tracks management.

Split parsing and tracks handling

* chore: fix linter
This commit is contained in:
Olivier Bouillet
2024-05-11 18:57:59 +02:00
committed by GitHub
parent 3f63fd076d
commit efb338ee2a
5 changed files with 75 additions and 19 deletions

View File

@@ -14,6 +14,7 @@ import androidx.media3.exoplayer.DefaultLoadControl;
import com.brentvatne.common.api.BufferConfig;
import com.brentvatne.common.api.ResizeMode;
import com.brentvatne.common.api.SideLoadedTextTrackList;
import com.brentvatne.common.api.SubtitleStyle;
import com.brentvatne.common.react.VideoEventEmitter;
import com.brentvatne.common.toolbox.DebugLog;
@@ -309,7 +310,8 @@ public class ReactExoplayerViewManager extends ViewGroupManager<ReactExoplayerVi
@ReactProp(name = PROP_TEXT_TRACKS)
public void setPropTextTracks(final ReactExoplayerView videoView,
@Nullable ReadableArray textTracks) {
videoView.setTextTracks(textTracks);
SideLoadedTextTrackList sideLoadedTextTracks = SideLoadedTextTrackList.Companion.parse(textTracks);
videoView.setTextTracks(sideLoadedTextTracks);
}
@ReactProp(name = PROP_PAUSED, defaultBoolean = false)