I have used exoplayer in my app for video playing. Everthing working fine but a video with resolution 1920×1040 and duration 41hr is not playing not even app crashing but getting the errors Following is my source code and then error
public class vPlayerActivity extends AppCompatActivity {
private int pos;
private static List<Video> allVideos;
private PlayerView playerView;
private static ExoPlayer exoPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vplayer);
allVideos = videoList;
Intent videoIntent = getIntent();
pos = videoIntent.getIntExtra("position",0);
exoPlayer = new ExoPlayer.Builder(getApplicationContext()).build();
playerView = findViewById(R.id.video_view);
playerView.setPlayer(exoPlayer);
Uri uri = Uri.parse(allVideos.get(pos).getUri());
MediaItem mediaItem = MediaItem.fromUri(uri);
exoPlayer.setMediaItem(mediaItem);
exoPlayer.prepare();
exoPlayer.play();
}
@Override
public void onBackPressed() {
super.onBackPressed();
exoPlayer.release();
}
}
I am getting the following error :
E/LoadTask: Unexpected exception loading stream
java.lang.IllegalStateException: Top bit not zero: -47086724
at androidx.media3.common.util.ParsableByteArray.readUnsignedLongToLong(ParsableByteArray.java:408)
at androidx.media3.extractor.mp4.AtomParsers.parseTkhd(AtomParsers.java:836)
at androidx.media3.extractor.mp4.AtomParsers.parseTrak(AtomParsers.java:294)
at androidx.media3.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:134)
at androidx.media3.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:517)
at androidx.media3.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:476)
at androidx.media3.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:458)
at androidx.media3.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:256)
at androidx.media3.exoplayer.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:129)
at androidx.media3.exoplayer.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1040)
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:414)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
E/ExoPlayerImplInternal: Playback error
androidx.media3.exoplayer.ExoPlaybackException: Source error
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:652)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:628)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: androidx.media3.exoplayer.upstream.Loader$UnexpectedLoaderException: Unexpected IllegalStateException: Top bit not zero: -47086724
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:435)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.IllegalStateException: Top bit not zero: -47086724
at androidx.media3.common.util.ParsableByteArray.readUnsignedLongToLong(ParsableByteArray.java:408)
at androidx.media3.extractor.mp4.AtomParsers.parseTkhd(AtomParsers.java:836)
at androidx.media3.extractor.mp4.AtomParsers.parseTrak(AtomParsers.java:294)
at androidx.media3.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:134)
at androidx.media3.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:517)
at androidx.media3.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:476)
at androidx.media3.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:458)
at androidx.media3.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:256)
at androidx.media3.exoplayer.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:129)
at androidx.media3.exoplayer.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1040)
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:414)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)