Open zgzong opened 2 months ago
I'm not able to reproduce this. I tried your stream on a Pixel 7a running Android 15 (AP31.240617.010) and modified the ExoPlayer demo app to force switching between tracks using RandomTrackSelection
, by making the following change in PlayerActivity.initializePlayer
:
ExoPlayer.Builder playerBuilder =
new ExoPlayer.Builder(/* context= */ this)
.setMediaSourceFactory(createMediaSourceFactory())
.setTrackSelector(new DefaultTrackSelector(this, new RandomTrackSelection.Factory(/* seed= */ 0)));
I see the selected track changing in logcat:
downstreamFormat [eventTime=0.90, mediaPos=3.98, window=0, period=0, id=dzHACQ6f, mimeType=video/avc, container=video/mp4, bitrate=920000, codecs=avc1.4d4029, drm=[playready,unknown (adb41c24-2dbf-4a6d-958b-4457c0d27b95),widevine,cenc], res=640x360, fps=25.0]
downstreamFormat [eventTime=2.31, mediaPos=4.94, window=0, period=0, id=dzHQ1hyf, mimeType=video/avc, container=video/mp4, bitrate=1890000, codecs=avc1.640029, drm=[playready,unknown (adb41c24-2dbf-4a6d-958b-4457c0d27b95),widevine,cenc], res=720x404, fps=50.0]
downstreamFormat [eventTime=4.86, mediaPos=3.49, window=0, period=0, id=dzEgoQef, mimeType=video/avc, container=video/mp4, bitrate=500000, codecs=avc1.4d4029, drm=[playready,unknown (adb41c24-2dbf-4a6d-958b-4457c0d27b95),widevine,cenc], res=384x216, fps=25.0]
downstreamFormat [eventTime=8.34, mediaPos=4.97, window=0, period=0, id=dzFABhmf, mimeType=video/avc, container=video/mp4, bitrate=1640000, codecs=avc1.4d4029, drm=[playready,unknown (adb41c24-2dbf-4a6d-958b-4457c0d27b95),widevine,cenc], res=704x396, fps=25.0]
downstreamFormat [eventTime=12.33, mediaPos=4.95, window=0, period=0, id=dzHACQ6f, mimeType=video/avc, container=video/mp4, bitrate=920000, codecs=avc1.4d4029, drm=[playready,unknown (adb41c24-2dbf-4a6d-958b-4457c0d27b95),widevine,cenc], res=640x360, fps=25.0]
downstreamFormat [eventTime=14.33, mediaPos=6.95, window=0, period=0, id=dzFABhmf, mimeType=video/avc, container=video/mp4, bitrate=1640000, codecs=avc1.4d4029, drm=[playready,unknown (adb41c24-2dbf-4a6d-958b-4457c0d27b95),widevine,cenc], res=704x396, fps=25.0]
downstreamFormat [eventTime=16.32, mediaPos=4.96, window=0, period=0, id=dzEgoQef, mimeType=video/avc, container=video/mp4, bitrate=500000, codecs=avc1.4d4029, drm=[playready,unknown (adb41c24-2dbf-4a6d-958b-4457c0d27b95),widevine,cenc], res=384x216, fps=25.0]
downstreamFormat [eventTime=20.32, mediaPos=4.95, window=0, period=0, id=dzHQ1hyf, mimeType=video/avc, container=video/mp4, bitrate=1890000, codecs=avc1.640029, drm=[playready,unknown (adb41c24-2dbf-4a6d-958b-4457c0d27b95),widevine,cenc], res=720x404, fps=50.0]
downstreamFormat [eventTime=22.86, mediaPos=5.50, window=0, period=0, id=dzHACQ6f, mimeType=video/avc, container=video/mp4, bitrate=920000, codecs=avc1.4d4029, drm=[playready,unknown (adb41c24-2dbf-4a6d-958b-4457c0d27b95),widevine,cenc], res=640x360, fps=25.0]
But playback seems to continue smoothly.
Are you able to reproduce the issue using my process? If not, what's different with the way you are reproducing it?
@icbaker We found that issue occurs when player start play with 3145728 bitrate first, then switch to 1890000. If player played 1890000 bitrate first then jump from highest bitrate back to 1890000, then won't reproduce issue.
Ah right, thanks, with that specific ordering I can reproduce on a Pixel 7a.
@microkatz You can refer to cl/663750371 internally for repro code.
Version
Media3 main branch
More version details
1.2.1 1.4.0
Devices that reproduce the issue
Pixel 6 with android 14 Pixel 7 with android 15 beta 4 Pixel 7a with android 14
Devices that do not reproduce the issue
Pixel 6/7/7a with android 13
Reproducible in the demo app?
Yes
Reproduction steps
Play a Dash stream, Allow player ABR engine to adapt bitrate from high to lower,
Expected result
The stream continuously plays smoothly, audio and video are sync
Actual result
Audio is playing but video frame is freeze no updates, can't automatically recovery.
Decoder doesn't throw any exception or error.
Media
Stream will share via email.
Bug Report
adb bugreport
to android-media-github@google.com after filing this issue.