google / google/ExoPlayer

Playback error

Open
#9,191 0 comments 0 reactions 1 assignee Claimed by @Samrobbo View on GitHub
bug stale wont fix: not reproducible
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

### Issue description
I'm trying to play an UDP (TS) stream. Exoplayer recognize the tracks but never starts playing the stream and after a while it trows an ExoPlaybackException: Playback stuck buffering and not loading

ExoPlayer version number: 2.14.1
For the test I used the multicast url: udp://@235.0.0.5:2002
I’ve tested it on this devices, all with the same problem:

- Android 10, Moto G8 plus
- Android 8, Moto E5
- Android 9, Amlogic 905x

log taken from Moto G8 plus:

```
2021-07-14 18:38:30.584 29603-29603 W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@1e1df3d
2021-07-14 18:38:30.810 29603-29603 W/LibraryLoader: Failed to load [flacJNI]`
2021-07-14 18:38:30.896 29603-29603 I/DefaultRenderersFactory: Loaded LibvpxVideoRenderer.
2021-07-14 18:38:30.897 29603-29603 I/DefaultRenderersFactory: Loaded Libgav1VideoRenderer.
2021-07-14 18:38:30.909 29603-29603 W/exoplayer2.dem: Accessing hidden method Landroid/media/AudioTrack;->getLatency()I (greylist, reflection, allowed)
2021-07-14 18:38:30.918 29603-29603 I/DefaultRenderersFactory: Loaded LibopusAudioRenderer.
2021-07-14 18:38:30.918 29603-29603 I/DefaultRenderersFactory: Loaded LibflacAudioRenderer.`
2021-07-14 18:38:30.919 29603-29603 I/DefaultRenderersFactory: Loaded FfmpegAudioRenderer.
2021-07-14 18:38:30.933 29603-29603 I/ExoPlayerImpl: Init b5ab7ac [ExoPlayerLib/2.14.1] [doha, moto g(8) plus, motorola, 29]
2021-07-14 18:38:30.968 29603-29603 D/EventLogger: playWhenReady [eventTime=0.00, mediaPos=0.00, window=0, true, USER_REQUEST]
2021-07-14 18:38:30.978 29603-29603 D/EventLogger: timeline [eventTime=0.01, mediaPos=0.00, window=0, periodCount=1, windowCount=1, reason=PLAYLIST_CHANGED
2021-07-14 18:38:30.979 29603-29603 D/EventLogger: period [?]
2021-07-14 18:38:30.979 29603-29603 D/EventLogger: window [?, seekable=false, dynamic=true]
2021-07-14 18:38:30.979 29603-29603 D/EventLogger: ]
2021-07-14 18:38:30.979 29603-29603 D/EventLogger: mediaItem [eventTime=0.01, mediaPos=0.00, window=0, reason=PLAYLIST_CHANGED]
2021-07-14 18:38:30.983 29603-29603 D/EventLogger: state [eventTime=0.02, mediaPos=0.00, window=0, BUFFERING]
2021-07-14 18:38:31.039 29603-29603 D/EventLogger: surfaceSize [eventTime=0.07, mediaPos=0.00, window=0, 1080, 2136]
2021-07-14 18:38:31.056 29603-29603 D/EventLogger: loading [eventTime=0.09, mediaPos=0.00, window=0, period=0, true]
2021-07-14 18:38:31.057 29603-29603 D/EventLogger: timeline [eventTime=0.09, mediaPos=0.00, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
2021-07-14 18:38:31.058 29603-29603 D/EventLogger: period [?]
2021-07-14 18:38:31.058 29603-29603 D/EventLogger: window [?, seekable=false, dynamic=false]
2021-07-14 18:38:31.058 29603-29603 D/EventLogger: ]
2021-07-14 18:38:31.183 29603-29603 D/EventLogger: timeline [eventTime=0.22, mediaPos=0.00, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
2021-07-14 18:38:31.183 29603-29603 D/EventLogger: period [?]
2021-07-14 18:38:31.183 29603-29603 D/EventLogger: window [?, seekable=false, dynamic=false]
2021-07-14 18:38:31.183 29603-29603 D/EventLogger: ]
2021-07-14 18:38:31.634 29603-29667 W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
2021-07-14 18:38:31.669 29603-29667 W/Utils: could not parse long range '108-105'
2021-07-14 18:38:31.670 29603-29667 W/Utils: could not parse long range '108-105'
2021-07-14 18:38:31.679 29603-29667 W/Utils: could not parse long range '391-256'
2021-07-14 18:38:31.680 29603-29667 W/Utils: could not parse long range '391-256'
2021-07-14 18:38:31.692 29603-29667 E/linker: library "/system/lib64/libvpx.so" ("/system/lib64/libvpx.so") needed or dlopened by "/apex/com.android.runtime/lib64/libnativeloader.so" is not accessible for the namespace: [name="classloader-namespace", ld_library_paths="", default_library_paths="/data/app/com.google.android.exoplayer2.demo-UJOgIC58byEI_AHqPhG63g==/lib/arm64:/data/app/com.google.android.exoplayer2.demo-UJOgIC58byEI_AHqPhG63g==/base.apk!/lib/arm64-v8a", permitted_paths="/data:/mnt/expand:/data/data/com.google.android.exoplayer2.demo"]
2021-07-14 18:38:31.693 29603-29667 W/LibraryLoader: Failed to load [vpx, vpxV2JNI]
2021-07-14 18:38:31.696 29603-29667 W/LibraryLoader: Failed to load [opusV2JNI]
2021-07-14 18:38:31.702 29603-29667 W/FfmpegLibrary: No aac decoder available. Check the FFmpeg build configuration.
2021-07-14 18:38:31.704 29603-29667 W/FfmpegLibrary: No aac decoder available. Check the FFmpeg build configuration.
2021-07-14 18:38:31.743 29603-29603 D/EventLogger: videoEnabled [eventTime=0.78, mediaPos=0.00, window=0, period=0]
2021-07-14 18:38:31.745 29603-29603 D/EventLogger: audioEnabled [eventTime=0.78, mediaPos=0.00, window=0, period=0]
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: tracks [eventTime=0.78, mediaPos=0.00, window=0, period=0
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: MediaCodecVideoRenderer [
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: Group:0, adaptive_supported=N/A [
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: [X] Track:0, id=1019/55, mimeType=video/avc, codecs=avc1.640028, res=1920x1080, supported=YES
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: ]
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: ]
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: LibvpxVideoRenderer []
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: Libgav1VideoRenderer []
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: MediaCodecAudioRenderer [
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: Group:0, adaptive_supported=N/A [
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: [X] Track:0, id=1019/56, mimeType=audio/mp4a-latm, codecs=mp4a.40.5, channels=2, sample_rate=48000, supported=YES
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: ]
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: Group:1, adaptive_supported=N/A [
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: [ ] Track:0, id=1019/62, mimeType=audio/mp4a-latm, codecs=mp4a.40.5, channels=2, sample_rate=48000, supported=YES
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: ]
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: ]
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: LibopusAudioRenderer []
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: LibflacAudioRenderer []
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: FfmpegAudioRenderer []
2021-07-14 18:38:31.747 29603-29603 D/EventLogger: TextRenderer []
2021-07-14 18:38:31.748 29603-29603 D/EventLogger: MetadataRenderer []
2021-07-14 18:38:31.748 29603-29603 D/EventLogger: CameraMotionRenderer []
2021-07-14 18:38:31.748 29603-29603 D/EventLogger: ]
2021-07-14 18:38:31.749 29603-29667 I/MediaCodec: (0x759652ec00) init name(OMX.qcom.video.decoder.avc)
2021-07-14 18:38:31.752 29603-29603 D/EventLogger: downstreamFormat [eventTime=0.79, mediaPos=0.00, window=0, period=0, id=1019/55, mimeType=video/avc, codecs=avc1.640028, res=1920x1080]
2021-07-14 18:38:31.752 29603-29674 I/OMXClient: IOmx service obtained
2021-07-14 18:38:31.769 29603-29673 I/MediaCodec: (0x759652ec00) Component Allocated (OMX.qcom.video.decoder.avc)
2021-07-14 18:38:31.771 29603-29667 I/MediaCodec: (0x759652ec00) configure surface(0x7602e43000) crypto(0x0) flags(0)
2021-07-14 18:38:31.779 29603-29667 D/MediaCodec: (0x759652ec00) configure format: AMessage(what = 0x00000000) = {
Buffer csd-1 = {
00000000: 00 00 01 68 fa 41 73 8c 24 99 39 32 44 10 81 2b ...h.As.$.92D..+
00000010: 5c 99 22 08 c5 5a ff 5f fe 4f ff d7 fe ba c9 34 \."..Z._.O.....4
00000020: 20 ab f5 ba fa ff ff fa ff d7 59 26 c0 00 .........Y&..
}
int32_t max-height = 1080
int32_t max-width = 1920
string mime = "video/avc"
int32_t width = 1920
int32_t priority = 0
int32_t rotation-degrees = 0
int32_t max-input-size = 1566720
int32_t height = 1080
Buffer csd-0 = {
00000000: 00 00 01 67 64 00 28 ad 00 2c a4 01 e0 11 1f 78 ...gd.(..,.....x
00000010: 0b 50 10 10 14 00 00 0f a4 00 03 a9 83 80 80 00 .P..............
00000020: 6f 97 40 00 3b 93 2b de f8 28 00 o.@.;.+..(.
}
}
2021-07-14 18:38:31.779 29603-29673 D/SurfaceUtils: connecting to surface 0x7602e43010, reason connectToSurface
2021-07-14 18:38:31.780 29603-29673 I/MediaCodec: [OMX.qcom.video.decoder.avc] setting surface generation to 30313473
2021-07-14 18:38:31.780 29603-29673 D/SurfaceUtils: disconnecting from surface 0x7602e43010, reason connectToSurface(reconnect)
2021-07-14 18:38:31.780 29603-29673 D/SurfaceUtils: connecting to surface 0x7602e43010, reason connectToSurface(reconnect)
2021-07-14 18:38:31.814 29603-29674 I/ACodec: DRC Mode: Dynamic Buffer Mode
2021-07-14 18:38:31.814 29603-29674 I/ExtendedACodec: setupVideoDecoder()
2021-07-14 18:38:31.814 29603-29674 I/ACodec: [OMX.qcom.video.decoder.avc] setupVideoDecoder Width Height (1920x1080)
2021-07-14 18:38:31.814 29603-29674 I/ACodec: mime (video/avc) compressionFormat (7)
2021-07-14 18:38:31.815 29603-29674 I/ExtendedACodec: Decoder will be in frame by frame mode
2021-07-14 18:38:31.820 29603-29667 I/MediaCodec: (0x759652ec00) start
2021-07-14 18:38:31.876 29603-29674 D/SurfaceUtils: set up nativeWindow 0x7602e43010 for 1920x1080, color 0x7fa30c06, rotation 0, usage 0x20002900
2021-07-14 18:38:31.879 29603-29673 I/MediaCodec: (0x759652ec00) kWhatStartCompleted
2021-07-14 18:38:31.882 29603-29603 D/EventLogger: videoDecoderInitialized [eventTime=0.92, mediaPos=0.00, window=0, period=0, OMX.qcom.video.decoder.avc]
2021-07-14 18:38:31.884 29603-29603 D/EventLogger: videoInputFormat [eventTime=0.92, mediaPos=0.00, window=0, period=0, id=1019/55, mimeType=video/avc, codecs=avc1.640028, res=1920x1080]
2021-07-14 18:38:31.885 29603-29603 D/EventLogger: downstreamFormat [eventTime=0.92, mediaPos=0.00, window=0, period=0, id=1019/56, mimeType=audio/mp4a-latm, codecs=mp4a.40.5, channels=2, sample_rate=48000]
2021-07-14 18:38:31.885 29603-29667 I/MediaCodec: (0x759652fa00) init name(OMX.google.aac.decoder)
2021-07-14 18:38:31.888 29603-29679 I/OMXClient: IOmx service obtained
2021-07-14 18:38:31.890 29603-29679 I/MediaCodec: (0x759652fa00) Component Allocated (OMX.google.aac.decoder)
2021-07-14 18:38:31.890 29603-29667 I/MediaCodec: (0x759652fa00) configure surface(0x0) crypto(0x0) flags(0)
2021-07-14 18:38:31.891 29603-29667 D/MediaCodec: (0x759652fa00) configure format: AMessage(what = 0x00000000) = {
float operating-rate = 48000.000000
int32_t sample-rate = 48000
string mime = "audio/mp4a-latm"
int32_t channel-count = 2
int32_t priority = 0
Buffer csd-0 = {
00000000: 2b 11 88 00 +...
}
}
2021-07-14 18:38:31.892 29603-29679 I/ACodec: codec does not support config priority (err -2147483648)
2021-07-14 18:38:31.892 29603-29679 I/ACodec: codec does not support config operating rate (err -2147483648)
2021-07-14 18:38:31.893 29603-29667 I/MediaCodec: (0x759652fa00) start
2021-07-14 18:38:31.898 29603-29679 I/MediaCodec: (0x759652fa00) kWhatStartCompleted
2021-07-14 18:38:31.900 29603-29603 D/EventLogger: audioDecoderInitialized [eventTime=0.93, mediaPos=0.00, window=0, period=0, OMX.google.aac.decoder]
2021-07-14 18:38:31.902 29603-29603 D/EventLogger: audioInputFormat [eventTime=0.94, mediaPos=0.00, window=0, period=0, id=1019/56, mimeType=audio/mp4a-latm, codecs=mp4a.40.5, channels=2, sample_rate=48000]
2021-07-14 18:38:31.907 29603-29679 D/MediaCodec: (0x759652fa00) kWhatOutputBuffersChanged
2021-07-14 18:39:39.635 29603-29668 W/PesReader: Unexpected start code prefix: 14303429
2021-07-14 18:41:04.530 29603-29667 W/DefaultLoadControl: Target buffer size reached with less than 500ms of buffered media data.
2021-07-14 18:41:04.533 29603-29603 D/EventLogger: loading [eventTime=153.57, mediaPos=0.00, window=0, period=0, false]
2021-07-14 18:41:04.538 29603-29667 W/DefaultLoadControl: Target buffer size reached with less than 500ms of buffered media data.
2021-07-14 18:41:04.544 29603-29667 E/ExoPlayerImplInternal: Playback error
com.google.android.exoplayer2.ExoPlaybackException: Unexpected runtime error
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:587)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:241)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: java.lang.IllegalStateException: Playback stuck buffering and not loading
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1013)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:478)
at android.os.Handler.dispatchMessage(Handler.java:103) 
at android.os.Looper.loop(Looper.java:241) 
at android.os.HandlerThread.run(HandlerThread.java:67) 
2021-07-14 18:41:04.544 29603-29667 I/MediaCodec: (0x759652ec00) flush
2021-07-14 18:41:04.592 29603-29667 I/MediaCodec: (0x759652fa00) flush
2021-07-14 18:41:04.595 29603-29603 D/EventLogger: videoDisabled [eventTime=153.63, mediaPos=0.00, window=0, period=0]
2021-07-14 18:41:04.599 29603-29667 I/MediaCodec: (0x759652ec00) release
2021-07-14 18:41:04.600 29603-29603 D/EventLogger: audioDisabled [eventTime=153.63, mediaPos=0.00, window=0, period=0]
2021-07-14 18:41:04.624 29603-29673 D/SurfaceUtils: disconnecting from surface 0x7602e43010, reason disconnectFromSurface
2021-07-14 18:41:04.630 29603-29667 I/MediaCodec: (0x759652fa00) release
2021-07-14 18:41:04.633 29603-29603 D/EventLogger: videoDecoderReleased [eventTime=153.67, mediaPos=0.00, window=0, period=0, OMX.qcom.video.decoder.avc]
2021-07-14 18:41:04.654 29603-29603 D/EventLogger: audioDecoderReleased [eventTime=153.69, mediaPos=0.00, window=0, period=0, OMX.google.aac.decoder]
2021-07-14 18:41:04.657 29603-29603 E/EventLogger: playerFailed [eventTime=153.69, mediaPos=0.00, window=0, period=0
com.google.android.exoplayer2.ExoPlaybackException: Unexpected runtime error
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:587)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:241)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: java.lang.IllegalStateException: Playback stuck buffering and not loading
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1013)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:478)
at android.os.Handler.dispatchMessage(Handler.java:103) 
at android.os.Looper.loop(Looper.java:241) 
at android.os.HandlerThread.run(HandlerThread.java:67) 
]
2021-07-14 18:41:04.659 29603-29603 D/EventLogger: state [eventTime=153.69, mediaPos=0.00, window=0, period=0, IDLE]
2021-07-14 18:41:44.379 29603-29615 I/exoplayer2.dem: Thread[3,tid=29615,WaitingInMainSignalCatcherLoop,Thread*=0x7693cc9800,peer=0x14700278,"Signal Catcher"]: reacting to signal 3
2021-07-14 18:41:44.526 29603-29615 I/exoplayer2.dem: Wrote stack traces to tombstoned
2021-07-14 18:42:10.442 29603-29651 I/exoplayer2.dem: Explicit concurrent copying GC freed 39852(1305KB) AllocSpace objects, 2211(146MB) LOS objects, 49% free, 3461KB/6922KB, paused 62us total 86.598ms
2021-07-14 18:42:46.450 29603-29651 I/exoplayer2.dem: Explicit concurrent copying GC freed 10756(494KB) AllocSpace objects, 4(80KB) LOS objects, 49% free, 3464KB/6929KB, paused 59us total 24.922ms`
```

I’ve tested the same stream with vlc and mpv player and I was able to watch it with those player

Stream and bug report sent to dev.exoplayer@gmail.com

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.