androidx / androidx/media

Playback stuck buffering and not loading

Open
#2,000 4 comments 0 reactions 1 assignee View on GitHub

@tianyif is already working on this.

Since Dec 28, 2024.

needs triage question
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

Problem description

When playing a large video, this error will appear after playing for dozens of minutes. When there was an error, I replayed it.
I don't know what caused the problem and how to fix it. Can you help me find out why.

EventLog:

12:23:24.169 EventLogger D loading [eventTime=1666.47, mediaPos=1673.32, window=0, period=0, false]
12:23:25.268 EventLogger D loading [eventTime=1667.57, mediaPos=1674.42, window=0, period=0, true]
12:23:25.270 EventLogger D loading [eventTime=1667.57, mediaPos=1674.42, window=0, period=0, false]
12:23:26.214 EventLogger D rendererReady [eventTime=1668.50, mediaPos=1675.35, window=0, period=0, rendererIndex=0, video, false]
12:23:26.215 EventLogger D droppedFrames [eventTime=1668.52, mediaPos=1675.35, window=0, period=0, 32]
12:23:26.224 EventLogger D state [eventTime=1668.52, mediaPos=1675.35, window=0, period=0, BUFFERING]
12:23:26.231 EventLogger D isPlaying [eventTime=1668.54, mediaPos=1675.35, window=0, period=0, false]
12:23:30.244 EventLogger D videoDisabled [eventTime=1672.55, mediaPos=1675.35, window=0, period=0]
12:23:30.246 EventLogger D videoSize [eventTime=1672.55, mediaPos=1675.35, window=0, period=0, 0, 0]
12:23:30.248 EventLogger D rendererReady [eventTime=1672.55, mediaPos=1675.35, window=0, period=0, rendererIndex=1, audio, false]
12:23:30.265 EventLogger D audioDisabled [eventTime=1672.57, mediaPos=1675.35, window=0, period=0]
12:23:30.313 EventLogger D videoDecoderReleased [eventTime=1672.61, mediaPos=1675.35, window=0, period=0, c2.qti.avc.decoder]
12:23:30.323 EventLogger D audioDecoderReleased [eventTime=1672.63, mediaPos=1675.35, window=0, period=0, c2.android.aac.decoder]
12:23:30.326 EventLogger D timeline [eventTime=1672.63, mediaPos=1675.35, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
12:23:30.326 EventLogger D period [18001.77]
12:23:30.329 EventLogger D window [18001.77, seekable=true, dynamic=false]
12:23:30.329 EventLogger D ]
12:23:30.337 EventLogger E playerFailed [eventTime=1672.63, mediaPos=1675.35, window=0, period=0, errorCode=ERROR_CODE_FAILED_RUNTIME_CHECK
androidx.media3.exoplayer.ExoPlaybackException: Unexpected runtime error
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:721)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:368)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: java.lang.IllegalStateException: Playback stuck buffering and not loading
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1224)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:562)
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loopOnce(Looper.java:257) 
at android.os.Looper.loop(Looper.java:368) 
at android.os.HandlerThread.run(HandlerThread.java:67) 
]
12:23:30.345 EventLogger D state [eventTime=1672.65, mediaPos=1675.35, window=0, period=0, IDLE]
12:23:30.353 EventLogger D audioTrackReleased [eventTime=1672.66, mediaPos=1675.35, window=0, period=0, 2,12,44100,false,false,56576]
12:23:31.382 EventLogger D volume [eventTime=0.00, mediaPos=10.00, window=0, 0.0]
12:23:31.386 EventLogger D state [eventTime=0.01, mediaPos=10.00, window=0, BUFFERING]
12:23:31.401 EventLogger D loading [eventTime=0.02, mediaPos=10.00, window=0, period=0, true]
12:23:31.405 EventLogger D timeline [eventTime=0.03, mediaPos=10.00, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
12:23:31.405 EventLogger D period [?]
12:23:31.405 EventLogger D window [?, seekable=false, dynamic=false]
12:23:31.405 EventLogger D ]
12:23:31.817 EventLogger D timeline [eventTime=0.44, mediaPos=10.00, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
12:23:31.819 EventLogger D period [18001.77]
12:23:31.819 EventLogger D window [18001.77, seekable=true, dynamic=false]
12:23:31.819 EventLogger D ]
12:23:31.843 EventLogger D videoEnabled [eventTime=0.46, mediaPos=10.00, window=0, period=0]
12:23:31.844 EventLogger D audioEnabled [eventTime=0.46, mediaPos=10.00, window=0, period=0]
12:23:31.845 EventLogger D tracks [eventTime=0.47, mediaPos=10.00, window=0, period=0
12:23:31.845 EventLogger D group [
12:23:31.845 EventLogger D [X] Track:0, id=1, mimeType=video/avc, codecs=avc1.4D0032, res=1080x1920, color=BT709/Limited range/SDR SMPTE 170M/8/8, fps=30.000002, supported=YES
12:23:31.845 EventLogger D ]
12:23:31.845 EventLogger D group [
12:23:31.845 EventLogger D [X] Track:0, id=2, mimeType=audio/mp4a-latm, bitrate=194387, codecs=mp4a.40.2, channels=2, sample_rate=44100, language=und, supported=YES
12:23:31.845 EventLogger D ]
12:23:31.845 EventLogger D Metadata [
12:23:31.846 EventLogger D Mp4Timestamp: creation time=3817938366, modification time=3817943277, timescale=1000
12:23:31.846 EventLogger D ]
12:23:31.846 EventLogger D ]
12:23:31.854 EventLogger D downstreamFormat [eventTime=0.47, mediaPos=10.00, window=0, period=0, id=1, mimeType=video/avc, codecs=avc1.4D0032, res=1080x1920, color=BT709/Limited range/SDR SMPTE 170M/8/8, fps=30.000002]
12:23:31.959 EventLogger D videoDecoderInitialized [eventTime=0.58, mediaPos=10.00, window=0, period=0, c2.qti.avc.decoder]
12:23:31.960 EventLogger D videoInputFormat [eventTime=0.58, mediaPos=10.00, window=0, period=0, id=1, mimeType=video/avc, codecs=avc1.4D0032, res=1080x1920, color=BT709/Limited range/SDR SMPTE 170M/8/8, fps=30.000002]
12:23:31.961 EventLogger D downstreamFormat [eventTime=0.58, mediaPos=10.00, window=0, period=0, id=2, mimeType=audio/mp4a-latm, bitrate=194387, codecs=mp4a.40.2, channels=2, sample_rate=44100, language=und]
12:23:32.020 EventLogger D audioDecoderInitialized [eventTime=0.64, mediaPos=10.00, window=0, period=0, c2.android.aac.decoder]
12:23:32.022 EventLogger D audioInputFormat [eventTime=0.64, mediaPos=10.00, window=0, period=0, id=2, mimeType=audio/mp4a-latm, bitrate=194387, codecs=mp4a.40.2, channels=2, sample_rate=44100, language=und]
12:23:32.023 EventLogger D rendererReady [eventTime=0.64, mediaPos=10.00, window=0, period=0, rendererIndex=1, audio, true]
12:23:32.104 EventLogger D audioTrackInit [eventTime=0.72, mediaPos=10.00, window=0, period=0, 2,12,44100,false,false,56576]
12:23:32.212 EventLogger D videoSize [eventTime=0.83, mediaPos=10.00, window=0, period=0, 1080, 1920]
12:23:32.232 EventLogger D renderedFirstFrame [eventTime=0.85, mediaPos=10.00, window=0, period=0, Surface(name=android.graphics.SurfaceTexture@8a1b1ee)/@0x3cb5c9]
12:23:32.233 EventLogger D rendererReady [eventTime=0.85, mediaPos=10.00, window=0, period=0, rendererIndex=0, video, true]
12:23:32.245 EventLogger D state [eventTime=0.87, mediaPos=10.01, window=0, period=0, READY]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.