Closed Livekus closed 7 years ago
The original cause of failure (clipped off the top of what you've provided), is:
EventLogger: com.google.android.exoplayer2.ParserException: The edited sample sequence does not contain a sync sample.
EventLogger: at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:398)
EventLogger: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:343)
It appears the problematic media has a strange edit list, that's discarding the first 4 video frames for no apparent reason. The first frame is the only key-frame, so after applying the edit list we end up with no key-frames from which to start playback.
Playing this type of media correctly is tracked by https://github.com/google/ExoPlayer/issues/1659, although there doesn't seem to be a valid reason for the edit list to exist in the piece of media. If you have control over the media itself then you should just fix it to not include an edit list.
Ok ,Could you please give me some information about edit list ?,( i have no idea what edit list do in mp4 file ) , before i exclude edit list form mp4 file.
Advising on correct media preparation is outside the scope of this issue tracker, sorry. I'd suggest asking on StackOverflow or similar.
Before filing an issue:
I run with video is local file ( not streamimng)
by this code above , i can play some mp4 file but some file is not playable , i have no idea for check what is different between those mp4 file , i use mediainfo program on ubantu for inspection ,but no luck ,please tell me how to check those mp4 file compatible with exoplayer
When reporting a bug:
06-05 16:17:30.219 23224-30951/com.apptividia.digitalsignage D/mali_winsys: EGLint new_window_surface(egl_winsys_display, void, EGLSurface, EGLConfig, egl_winsys_surface*, egl_color_buffer_format, EGLBoolean) returns 0x3000, [1920x1080]-format:1 06-05 16:17:33.239 23224-31030/com.apptividia.digitalsignage E/ExoPlayerImplInternal: Source error. java.io.EOFException at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFromDataSource(DefaultExtractorInput.java:262) at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFully(DefaultExtractorInput.java:70) at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFully(DefaultExtractorInput.java:79) at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:252) at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:147) at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:643) at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:295) 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:762) 06-05 16:17:33.247 23224-23224/com.apptividia.digitalsignage W/System.err: com.google.android.exoplayer2.ExoPlaybackException 06-05 16:17:33.247 23224-23224/com.apptividia.digitalsignage W/System.err: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:345) 06-05 16:17:33.247 23224-23224/com.apptividia.digitalsignage W/System.err: at android.os.Handler.dispatchMessage(Handler.java:98) 06-05 16:17:33.247 23224-23224/com.apptividia.digitalsignage W/System.err: at android.os.Looper.loop(Looper.java:154) 06-05 16:17:33.247 23224-30626/com.apptividia.digitalsignage I/System.out: (HTTPLog)-Static: isSBSettingEnabled false 06-05 16:17:33.248 23224-23224/com.apptividia.digitalsignage W/System.err: at android.os.HandlerThread.run(HandlerThread.java:61) 06-05 16:17:33.248 23224-30626/com.apptividia.digitalsignage I/System.out: (HTTPLog)-Static: isSBSettingEnabled false 06-05 16:17:33.249 23224-23224/com.apptividia.digitalsignage W/System.err: at com.google.android.exoplayer2.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40) 06-05 16:17:33.249 23224-23224/com.apptividia.digitalsignage W/System.err: Caused by: java.io.EOFException 06-05 16:17:33.250 23224-23224/com.apptividia.digitalsignage W/System.err: at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFromDataSource(DefaultExtractorInput.java:262) 06-05 16:17:33.250 23224-23224/com.apptividia.digitalsignage W/System.err: at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFully(DefaultExtractorInput.java:70) 06-05 16:17:33.250 23224-23224/com.apptividia.digitalsignage W/System.err: at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFully(DefaultExtractorInput.java:79) 06-05 16:17:33.251 23224-23224/com.apptividia.digitalsignage W/System.err: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:252) 06-05 16:17:33.251 23224-23224/com.apptividia.digitalsignage W/System.err: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:147) 06-05 16:17:33.251 23224-23224/com.apptividia.digitalsignage W/System.err: at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:643) 06-05 16:17:33.251 23224-23224/com.apptividia.digitalsignage W/System.err: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:295) 06-05 16:17:33.251 23224-23224/com.apptividia.digitalsignage W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 06-05 16:17:33.251 23224-23224/com.apptividia.digitalsignage W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 06-05 16:17:33.251 23224-23224/com.apptividia.digitalsignage W/System.err: at java.lang.Thread.run(Thread.java:762)
Link to test content
1080p video is playable
playablevideo1 playablevideo2
1080p video is not playable
errorvideo1 errorvideo2
Version of ExoPlayer being used
exoplayer 2.3.1
Device(s) and version(s)
android 7 sumsung galazy s7