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)
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: