google / ExoPlayer

This project is deprecated and stale. The latest ExoPlayer code is available in https://github.com/androidx/media
https://developer.android.com/media/media3/exoplayer
Apache License 2.0
21.74k stars 6.03k forks source link

Live mpeg dash stream getting struck while playing #3650

Closed RadhikaBalla closed 6 years ago

RadhikaBalla commented 6 years ago

Hello guys,

I am using exoplayer-v2 for playing mpegdash live stream. It is getting stuck while playing at the first frame itself. Our video source(transcoder) is rtmp, wowza streaming engine converting that to mpegdash. We are taking that mpeg dash file and trying to play that using exoplayer. Here I have given my logcat data.

Android Logcat data:

12-29 18:47:57.172 12671-12671/com.google.android.exoplayer2.demo E/EventLogger: Track selection length: 
12-29 18:47:57.172 12671-12671/com.google.android.exoplayer2.demo E/EventLogger: Track selection length: 1
12-29 18:47:57.172 12671-12671/com.google.android.exoplayer2.demo E/EventLogger: Track selection length: 
12-29 18:47:57.172 12671-12671/com.google.android.exoplayer2.demo E/EventLogger: Track selection length: 1
12-29 18:47:57.452 12671-12849/com.google.android.exoplayer2.demo E/Parsable bit array size: 1
12-29 18:47:57.452 12671-12849/com.google.android.exoplayer2.demo E/Parsable offset value: 0
12-29 18:47:57.452 12671-12849/com.google.android.exoplayer2.demo E/Parsable bit array size: 1
12-29 18:47:57.452 12671-12849/com.google.android.exoplayer2.demo E/Parsable offset value: 1
12-29 18:47:57.453 12671-12849/com.google.android.exoplayer2.demo E/LoadTask: Unexpected exception loading stream
                                                                              java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
                                                                                  at com.google.android.exoplayer2.util.ParsableBitArray.readBits(ParsableBitArray.java:186)
                                                                                  at com.google.android.exoplayer2.util.CodecSpecificDataUtil.getAacSamplingFrequency(CodecSpecificDataUtil.java:314)
                                                                                  at com.google.android.exoplayer2.util.CodecSpecificDataUtil.parseAacAudioSpecificConfig(CodecSpecificDataUtil.java:109)
                                                                                  at com.google.android.exoplayer2.util.CodecSpecificDataUtil.parseAacAudioSpecificConfig(CodecSpecificDataUtil.java:93)
                                                                                  at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseAudioSampleEntry(AtomParsers.java:932)
                                                                                  at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStsd(AtomParsers.java:630)
                                                                                  at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTrak(AtomParsers.java:91)
                                                                                  at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.onMoovContainerAtomRead(FragmentedMp4Extractor.java:438)
                                                                                  at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.onContainerAtomRead(FragmentedMp4Extractor.java:403)
                                                                                  at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.processAtomEnded(FragmentedMp4Extractor.java:383)
                                                                                  at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.readAtomPayload(FragmentedMp4Extractor.java:378)
                                                                                  at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.read(FragmentedMp4Extractor.java:265)
                                                                                  at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:88)
                                                                                  at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                                  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                                  at java.lang.Thread.run(Thread.java:761)
12-29 18:47:57.454 12671-12671/com.google.android.exoplayer2.demo E/EventLogger: internalError [0.77, loadError]
                                                                                 com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected ArrayIndexOutOfBoundsException: length=1; index=1
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:337)
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                                     at java.lang.Thread.run(Thread.java:761)
                                                                                  Caused by: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
                                                                                     at com.google.android.exoplayer2.util.ParsableBitArray.readBits(ParsableBitArray.java:186)
                                                                                     at com.google.android.exoplayer2.util.CodecSpecificDataUtil.getAacSamplingFrequency(CodecSpecificDataUtil.java:314)
                                                                                     at com.google.android.exoplayer2.util.CodecSpecificDataUtil.parseAacAudioSpecificConfig(CodecSpecificDataUtil.java:109)
                                                                                     at com.google.android.exoplayer2.util.CodecSpecificDataUtil.parseAacAudioSpecificConfig(CodecSpecificDataUtil.java:93)
                                                                                     at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseAudioSampleEntry(AtomParsers.java:932)
                                                                                     at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStsd(AtomParsers.java:630)
                                                                                     at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTrak(AtomParsers.java:91)
                                                                                     at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.onMoovContainerAtomRead(FragmentedMp4Extractor.java:438)
                                                                                     at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.onContainerAtomRead(FragmentedMp4Extractor.java:403)
                                                                                     at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.processAtomEnded(FragmentedMp4Extractor.java:383)
                                                                                     at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.readAtomPayload(FragmentedMp4Extractor.java:378)
                                                                                     at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.read(FragmentedMp4Extractor.java:265)
                                                                                     at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:88)
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                                                                                     at java.lang.Thread.run(Thread.java:761) 
12-29 18:47:57.617 12671-12671/com.google.android.exoplayer2.demo E/EventLogger: internalError [0.94, loadError]
                                                                                 com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 416
                                                                                     at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:211)
                                                                                     at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141)
                                                                                     at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79)
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                                     at java.lang.Thread.run(Thread.java:761)
                                                                                  Caused by: com.google.android.exoplayer2.upstream.DataSourceException
                                                                                     at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:214)
                                                                                     at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141) 
                                                                                     at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79) 
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315) 
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                                                                                     at java.lang.Thread.run(Thread.java:761) 
12-29 18:47:58.903 12671-12671/com.google.android.exoplayer2.demo E/EventLogger: internalError [2.22, loadError]
                                                                                 com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 416
                                                                                     at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:211)
                                                                                     at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141)
                                                                                     at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79)
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                                     at java.lang.Thread.run(Thread.java:761)
                                                                                  Caused by: com.google.android.exoplayer2.upstream.DataSourceException
                                                                                     at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:214)
                                                                                     at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141) 
                                                                                     at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79) 
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315) 
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                                                                                     at java.lang.Thread.run(Thread.java:761) 
12-29 18:48:01.291 12671-12671/com.google.android.exoplayer2.demo E/EventLogger: internalError [4.61, loadError]
                                                                                 com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 416
                                                                                     at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:211)
                                                                                     at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141)
                                                                                     at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79)
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                                     at java.lang.Thread.run(Thread.java:761)
                                                                                  Caused by: com.google.android.exoplayer2.upstream.DataSourceException
                                                                                     at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:214)
                                                                                     at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141) 
                                                                                     at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79) 
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315) 
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                                                                                     at java.lang.Thread.run(Thread.java:761) 
12-29 18:48:01.296 12671-12844/com.google.android.exoplayer2.demo E/ExoPlayerImplInternal: Source error.
                                                                                           com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 416
                                                                                               at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:211)
                                                                                               at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141)
                                                                                               at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79)
                                                                                               at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                                               at java.lang.Thread.run(Thread.java:761)
                                                                                            Caused by: com.google.android.exoplayer2.upstream.DataSourceException
                                                                                               at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:214)
                                                                                               at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141) 
                                                                                               at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79) 
                                                                                               at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315) 
                                                                                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                                                                                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                                                                                               at java.lang.Thread.run(Thread.java:761) 
12-29 18:48:01.302 12671-12671/com.google.android.exoplayer2.demo E/EventLogger: playerFailed [4.62]
                                                                                 com.google.android.exoplayer2.ExoPlaybackException
                                                                                     at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:355)
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                                     at android.os.Looper.loop(Looper.java:154)
                                                                                     at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                                  Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 416
                                                                                     at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:211)
                                                                                     at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141)
                                                                                     at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79)
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                                     at java.lang.Thread.run(Thread.java:761)
                                                                                  Caused by: com.google.android.exoplayer2.upstream.DataSourceException
                                                                                     at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:214)
                                                                                     at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141) 
                                                                                     at com.google.android.exoplayer2.source.chunk.InitializationChunk.load(InitializationChunk.java:79) 
                                                                                     at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315) 
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                                                                                     at java.lang.Thread.run(Thread.java:761) 
erdemguven commented 6 years ago

Please provide complete information as requested in the issue template. The issue template can be found here.

ojw28 commented 6 years ago

Closing due to lack of information.