You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
` Handler handler = new Handler() ;
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);
TrackSelector trackSelector = new DefaultTrackSelector( videoTrackSelectionFactory);`
player = ExoPlayerFactory.newSimpleInstance(mContext, trackSelector,new DefaultLoadControl());
viewVideo.setUseController(false);
viewVideo.setUseArtwork(true);
viewVideo.requestFocus();
viewVideo.setPlayer(player);
MediaSource videoSource;
LoopingMediaSource loopingMediaSource;
MediaSource concatenatedSource = null;
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(mContext,
Util.getUserAgent(mContext, mContext.getPackageName()), bandwidthMeter);
Uri uri = Uri.parse(eachSource);
videoSource = new ExtractorMediaSource(uri,
dataSourceFactory, extractorsFactory, handler, null);
loopingMediaSource
= new LoopingMediaSource(videoSource);
player.prepare(loopingMediaSource);
player.setPlayWhenReady(true);
`
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)
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 #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.
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
The text was updated successfully, but these errors were encountered: