Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image freeze after 2 seeks #2177

Open
1 task
zubcoco opened this issue Feb 21, 2025 · 4 comments
Open
1 task

Image freeze after 2 seeks #2177

zubcoco opened this issue Feb 21, 2025 · 4 comments

Comments

@zubcoco
Copy link

zubcoco commented Feb 21, 2025

Version

Media3 main branch

More version details

1.6.0-alpha03

Devices that reproduce the issue

Vantiva Quartz
Vantiva Sapphire

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Not tested

Reproduction steps

Play a DASH stream with Dolby and tunneling.
Make 2 fast seek back (10 seconds).

Expected result

Vidéo plays after the 2 seeks

Actual result

Sometimes, the playback freeze on a frame.

Media

Here's the EventLogger logs :

2025-02-21 16:25:38.271 19017-19017 EventLogger             ch.netplus.tv                        D  positionDiscontinuity [eventTime=87.41, mediaPos=3677.97, window=0, period=0, reason=SEEK, PositionInfo:old [mediaItem=0, period=0, pos=3687972], PositionInfo:new [mediaItem=0, period=0, pos=3677972]]
2025-02-21 16:25:38.464 19017-19017 EventLogger             ch.netplus.tv                        D  audioTrackInit [eventTime=87.61, mediaPos=3677.97, window=0, period=0, 5,252,48000,true,false,24000]
2025-02-21 16:25:38.472 19017-19017 EventLogger             ch.netplus.tv                        D  rendererReady [eventTime=87.61, mediaPos=3677.97, window=0, period=0, rendererIndex=1, audio, true]
2025-02-21 16:25:38.510 19017-19017 EventLogger             ch.netplus.tv                        D  positionDiscontinuity [eventTime=87.65, mediaPos=3677.97, window=0, period=0, reason=SEEK_ADJUSTMENT, PositionInfo:old [mediaItem=0, period=0, pos=3677972], PositionInfo:new [mediaItem=0, period=0, pos=3677972]]
2025-02-21 16:25:38.514 19017-19017 EventLogger             ch.netplus.tv                        D  rendererReady [eventTime=87.65, mediaPos=3677.97, window=0, period=0, rendererIndex=0, video, false]
2025-02-21 16:25:38.515 19017-19017 EventLogger             ch.netplus.tv                        D  rendererReady [eventTime=87.66, mediaPos=3677.97, window=0, period=0, rendererIndex=1, audio, false]
2025-02-21 16:25:38.535 19017-19017 EventLogger             ch.netplus.tv                        D  audioTrackReleased [eventTime=87.68, mediaPos=3677.97, window=0, period=0, 5,252,48000,true,false,24000]
2025-02-21 16:25:38.542 19017-19017 EventLogger             ch.netplus.tv                        D  rendererReady [eventTime=87.68, mediaPos=3677.97, window=0, period=0, rendererIndex=0, video, true]
2025-02-21 16:25:38.600 19017-19017 EventLogger             ch.netplus.tv                        D  renderedFirstFrame [eventTime=87.74, mediaPos=3677.97, window=0, period=0, Surface(name=null)/@0x131bf1]
2025-02-21 16:25:38.840 19017-19017 EventLogger             ch.netplus.tv                        D  audioTrackInit [eventTime=87.98, mediaPos=3677.97, window=0, period=0, 5,252,48000,true,false,24000]
2025-02-21 16:25:38.843 19017-19017 EventLogger             ch.netplus.tv                        D  rendererReady [eventTime=87.98, mediaPos=3677.97, window=0, period=0, rendererIndex=1, audio, true]
2025-02-21 16:25:38.936 19017-19017 EventLogger             ch.netplus.tv                        D  state [eventTime=88.08, mediaPos=3677.97, window=0, period=0, READY]
2025-02-21 16:25:38.949 19017-19017 EventLogger             ch.netplus.tv                        D  isPlaying [eventTime=88.09, mediaPos=3677.97, window=0, period=0, true]
2025-02-21 16:25:42.282 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=91.42, mediaPos=3679.12, window=0, period=0, false]
2025-02-21 16:25:43.151 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=92.29, mediaPos=3679.99, window=0, period=0, true]
2025-02-21 16:25:43.257 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=92.40, mediaPos=3680.09, window=0, period=0, false]
2025-02-21 16:25:45.152 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=94.29, mediaPos=3681.99, window=0, period=0, true]
2025-02-21 16:25:45.261 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=94.40, mediaPos=3682.09, window=0, period=0, false]
2025-02-21 16:25:47.147 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=96.29, mediaPos=3683.99, window=0, period=0, true]
2025-02-21 16:25:47.268 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=96.41, mediaPos=3684.11, window=0, period=0, false]
2025-02-21 16:25:49.147 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=98.29, mediaPos=3685.99, window=0, period=0, true]
2025-02-21 16:25:49.278 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=98.42, mediaPos=3686.11, window=0, period=0, false]
2025-02-21 16:25:51.153 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=100.29, mediaPos=3687.99, window=0, period=0, true]
2025-02-21 16:25:51.263 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=100.40, mediaPos=3688.08, window=0, period=0, false]
2025-02-21 16:25:53.168 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=102.31, mediaPos=3689.99, window=0, period=0, true]
2025-02-21 16:25:53.258 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=102.40, mediaPos=3690.08, window=0, period=0, false]
2025-02-21 16:25:55.166 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=104.31, mediaPos=3691.99, window=0, period=0, true]
2025-02-21 16:25:55.425 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=104.57, mediaPos=3692.25, window=0, period=0, false]
2025-02-21 16:25:57.169 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=106.31, mediaPos=3693.99, window=0, period=0, true]
2025-02-21 16:25:57.283 19017-19017 EventLogger             ch.netplus.tv                        D  loading [eventTime=106.42, mediaPos=3694.10, window=0, period=0, false]
2025-02-21 16:25:58.047 19017-19017 EventLogger             ch.netplus.tv                        D  rendererReady [eventTime=107.19, mediaPos=3694.87, window=0, period=0, rendererIndex=0, video, false]
2025-02-21 16:25:58.051 19017-19017 EventLogger             ch.netplus.tv                        D  state [eventTime=107.19, mediaPos=3694.87, window=0, period=0, BUFFERING]
2025-02-21 16:25:58.054 19017-19017 EventLogger             ch.netplus.tv                        D  isPlaying [eventTime=107.19, mediaPos=3694.87, window=0, period=0, false]

Bug Report

  • You will email the zip file produced by adb bugreport to [email protected] after filing this issue.
@tonihei
Copy link
Collaborator

tonihei commented Feb 21, 2025

Play a DASH stream with Dolby and tunneling.

Have you tried playing this stream without tunneling by any chance? Tunneling moves a lot of the playback logic, AV sync and decoding to a part of the output device that isn't covered by Android tests and reimplemented by every device. This usually causes a lot of compatibility issues and we only recommend tunneling on a device-by-device basis once you tested your streams work on that particular device.

@tonihei tonihei self-assigned this Feb 21, 2025
@zubcoco
Copy link
Author

zubcoco commented Feb 24, 2025

So I don't reproduce the problem without tunneling. But I can provide one more piece of information since the ticket was opened: during the 20 seconds when the logs indicate changes to isLoading (true-false), the image is frozen but the sound continues to play. And after these 20 seconds, everything stops. A new seek resets the playback.

@zubcoco
Copy link
Author

zubcoco commented Feb 24, 2025

The problem can easily be reproduced on the media3 sample when enabling tunneling.
However, if we make 5 seconds seeks, the player freezes for a few seconds with the sound and then continues playback.
But with jumps of 10 seconds or more, the player freezes for a few seconds with sound, then stay in buffering state.

@tonihei
Copy link
Collaborator

tonihei commented Feb 25, 2025

In this case, it unfortunately just sounds like a device-specific issue with the tunneling implementation we can't fix. You'd need to reach out to the device manufacturer and ask them to fix the issue or (more realistically) just disable tunneling on these devices in your app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants