google / google/ExoPlayer

How to play video even if subtitle urls are not accessible

Open
#7,196 2 comments 0 reactions 1 assignee Claimed by @AquilesCanta View on GitHub
duplicate
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

### [REQUIRED] Searched documentation and issues
Saw similar topic as part of ticket https://github.com/google/ExoPlayer/issues/6640
Need to know latest status for this

### [REQUIRED] Question
We have a video url and a subtitle url but the subtitle url is not accessible.
When we pass both the urls to exoplayer, exoplayer throws an error 400
The player then goes to idle state and does not start video playback because of this error
We are using exoplayer version **r2.11.3**

Logs from exoplayer

```
04-06 16:44:45.588 25422 25422 I ExoPlayerImpl: Init cb1e226 [ExoPlayerLib/2.11.3] [HWHRY-HF, HRY-AL00, HUAWEI, 29]
04-06 16:44:45.612 25422 25422 D EventLogger: seekStarted [eventTime=0.00, mediaPos=0.00, window=0]
04-06 16:44:45.613 25422 25422 D EventLogger: positionDiscontinuity [eventTime=0.00, mediaPos=0.00, window=0, SEEK]
04-06 16:44:45.616 25422 25422 D EventLogger: state [eventTime=0.01, mediaPos=0.00, window=0, false, BUFFERING]
04-06 16:44:46.302 25422 25422 D EventLogger: timeline [eventTime=0.69, mediaPos=0.00, window=0, periodCount=1, windowCount=1, reason=PREPARED
04-06 16:44:46.303 25422 25422 D EventLogger: period [7568.77]
04-06 16:44:46.303 25422 25422 D EventLogger: window [7568.77, true, false]
04-06 16:44:46.303 25422 25422 D EventLogger: ]
04-06 16:44:46.303 25422 25422 D EventLogger: seekProcessed [eventTime=0.69, mediaPos=0.00, window=0]
04-06 16:44:46.330 25422 25422 D EventLogger: mediaPeriodCreated [eventTime=0.72, mediaPos=0.00, window=0, period=0]
04-06 16:44:46.331 25422 25422 D EventLogger: loading [eventTime=0.72, mediaPos=0.00, window=0, period=0, true]
04-06 16:44:46.476 25422 25422 D EventLogger: decoderEnabled [eventTime=0.87, mediaPos=0.00, window=0, period=0, video]
04-06 16:44:46.484 25422 25422 D EventLogger: decoderEnabled [eventTime=0.88, mediaPos=0.00, window=0, period=0, audio]
04-06 16:44:46.486 25422 25422 D EventLogger: tracks [eventTime=0.88, mediaPos=0.00, window=0, period=0,
04-06 16:44:46.486 25422 25422 D EventLogger: Renderer:0 [
04-06 16:44:46.487 25422 25422 D EventLogger: Group:0, adaptive_supported=YES [
04-06 16:44:46.487 25422 25422 D EventLogger: [ ] Track:0, id=1, mimeType=video/avc, bitrate=3500000, codecs=avc1.640028, res=1920x1080, fps=25.0, supported=YES
04-06 16:44:46.487 25422 25422 D EventLogger: [ ] Track:1, id=2, mimeType=video/avc, bitrate=2000000, codecs=avc1.64001f, res=1280x720, fps=25.0, supported=YES
04-06 16:44:46.487 25422 25422 D EventLogger: [ ] Track:2, id=3, mimeType=video/avc, bitrate=1200000, codecs=avc1.4d401f, res=1280x720, fps=25.0, supported=YES
04-06 16:44:46.487 25422 25422 D EventLogger: [X] Track:3, id=4, mimeType=video/avc, bitrate=900000, codecs=avc1.4d401f, res=960x540, fps=25.0, supported=YES
04-06 16:44:46.487 25422 25422 D EventLogger: [X] Track:4, id=5, mimeType=video/avc, bitrate=664000, codecs=avc1.42c01e, res=640x360, fps=25.0, supported=YES
04-06 16:44:46.487 25422 25422 D EventLogger: [X] Track:5, id=6, mimeType=video/avc, bitrate=412000, codecs=avc1.42c015, res=512x288, fps=25.0, supported=YES
04-06 16:44:46.487 25422 25422 D EventLogger: [X] Track:6, id=7, mimeType=video/avc, bitrate=224000, codecs=avc1.42c00d, res=384x216, fps=25.0, supported=YES
04-06 16:44:46.487 25422 25422 D EventLogger: [X] Track:7, id=8, mimeType=video/avc, bitrate=108000, codecs=avc1.42c00c, res=256x144, fps=25.0, supported=YES
04-06 16:44:46.487 25422 25422 D EventLogger: ]
04-06 16:44:46.487 25422 25422 D EventLogger: ]
04-06 16:44:46.487 25422 25422 D EventLogger: Renderer:1 [
04-06 16:44:46.487 25422 25422 D EventLogger: Group:0, adaptive_supported=N/A [
04-06 16:44:46.488 25422 25422 D EventLogger: [X] Track:0, id=9, mimeType=audio/mp4a-latm, bitrate=64000, codecs=mp4a.40.2, sample_rate=48000, language=en, supported=YES
04-06 16:44:46.488 25422 25422 D EventLogger: ]
04-06 16:44:46.488 25422 25422 D EventLogger: ]
04-06 16:44:46.488 25422 25422 D EventLogger: Renderer:2 [
04-06 16:44:46.488 25422 25422 D EventLogger: Group:0, adaptive_supported=N/A [
04-06 16:44:46.488 25422 25422 D EventLogger: [X] Track:0, id=ENG, mimeType=text/vtt, language=en, supported=YES
04-06 16:44:46.488 25422 25422 D EventLogger: ]
04-06 16:44:46.488 25422 25422 D EventLogger: Group:1, adaptive_supported=N/A [
04-06 16:44:46.488 25422 25422 D EventLogger: [ ] Track:0, id=ENG, mimeType=text/vtt, language=en, supported=YES
04-06 16:44:46.488 25422 25422 D EventLogger: ]
04-06 16:44:46.488 25422 25422 D EventLogger: ]
04-06 16:44:46.488 25422 25422 D EventLogger: ]
04-06 16:44:46.490 25422 25422 D EventLogger: mediaPeriodReadingStarted [eventTime=0.88, mediaPos=0.00, window=0, period=0]
04-06 16:44:46.567 25422 25422 D EventLogger: downstreamFormat [eventTime=0.96, mediaPos=0.00, window=0, period=0, id=9, mimeType=audio/mp4a-latm, bitrate=64000, codecs=mp4a.40.2, sample_rate=48000, language=en]
04-06 16:44:46.843 25422 25422 D EventLogger: decoderInitialized [eventTime=1.23, mediaPos=0.00, window=0, period=0, audio, c2.android.aac.decoder]
04-06 16:44:46.844 25422 25422 D EventLogger: decoderInputFormat [eventTime=1.24, mediaPos=0.00, window=0, period=0, audio, id=9, mimeType=audio/mp4a-latm, bitrate=64000, codecs=mp4a.40.2, channels=2, sample_rate=48000, language=en]
04-06 16:44:47.031 25422 25422 D EventLogger: audioSessionId [eventTime=1.42, mediaPos=0.00, window=0, period=0, 63969]
04-06 16:44:47.297 25422 25422 D EventLogger: downstreamFormat [eventTime=1.69, mediaPos=0.00, window=0, period=0, id=4, mimeType=video/avc, bitrate=900000, codecs=avc1.4d401f, res=960x540, fps=25.0]
04-06 16:44:47.581 25422 25422 D EventLogger: decoderInitialized [eventTime=1.97, mediaPos=0.00, window=0, period=0, video, OMX.hisi.video.decoder.avc]
04-06 16:44:47.582 25422 25422 D EventLogger: decoderInputFormat [eventTime=1.97, mediaPos=0.00, window=0, period=0, video, id=4, mimeType=video/avc, bitrate=900000, codecs=avc1.4d401f, res=960x540, fps=25.0]
04-06 16:44:52.783 25422 25422 D EventLogger: decoderDisabled [eventTime=7.17, mediaPos=0.00, window=0, period=0, video]
04-06 16:44:52.790 25422 25422 D EventLogger: decoderDisabled [eventTime=7.18, mediaPos=0.00, window=0, period=0, audio]
04-06 16:44:52.856 25422 25422 D EventLogger: mediaPeriodReleased [eventTime=7.25, mediaPos=0.00, window=0, period=0]
04-06 16:44:52.858 25422 25422 E EventLogger: playerFailed [eventTime=7.25, mediaPos=0.00, window=0, period=0]
**04-06 16:44:52.858 25422 25422 E EventLogger: com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 400**
04-06 16:44:52.858 25422 25422 E EventLogger: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:394)
04-06 16:44:52.858 25422 25422 E EventLogger: at android.os.Handler.dispatchMessage(Handler.java:103)
04-06 16:44:52.858 25422 25422 E EventLogger: at android.os.Looper.loop(Looper.java:213)
04-06 16:44:52.858 25422 25422 E EventLogger: at android.os.HandlerThread.run(HandlerThread.java:67)
04-06 16:44:52.858 25422 25422 E EventLogger: Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 400
04-06 16:44:52.858 25422 25422 E EventLogger: at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:300)
04-06 16:44:52.858 25422 25422 E EventLogger: at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:177)
04-06 16:44:52.858 25422 25422 E EventLogger: at com.google.android.exoplayer2.upstream.cache.CacheDataSource.openNextSource(CacheDataSource.java:487)
04-06 16:44:52.858 25422 25422 E EventLogger: at com.google.android.exoplayer2.upstream.cache.CacheDataSource.open(CacheDataSource.java:288)
04-06 16:44:52.858 25422 25422 E EventLogger: at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:83)
04-06 16:44:52.858 25422 25422 E EventLogger: at com.google.android.exoplayer2.source.SingleSampleMediaPeriod$SourceLoadable.load(SingleSampleMediaPeriod.java:404)
04-06 16:44:52.858 25422 25422 E EventLogger: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:391)
04-06 16:44:52.858 25422 25422 E EventLogger: at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
04-06 16:44:52.858 25422 25422 E EventLogger: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
04-06 16:44:52.858 25422 25422 E EventLogger: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
04-06 16:44:52.858 25422 25422 E EventLogger: at java.lang.Thread.run(Thread.java:929)
04-06 16:44:52.861 25422 25422 D EventLogger: loading [eventTime=7.25, mediaPos=0.00, window=0, false]
04-06 16:44:52.861 25422 25422 D EventLogger: state [eventTime=7.25, mediaPos=0.00, window=0, false, IDLE]
```

Is there any way we can resolve this?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.