question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

player.getCurrentLiveOffset() keep changing

See original GitHub issue

ExoPlayer Version

2.17.0

Devices that reproduce the issue

Any device tested has this issues

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Not tested

Reproduction steps

Play a live stream and check the value of player.getCurrentLiveOffset() changing

Expected result

the value not chaging

Actual result

the value changes

Media

Any live streams seems to cause this issue

Bug Report

  • You will email the zip file produced by adb bugreport to dev.exoplayer@gmail.com after filing this issue.

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:12 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
icbakercommented, May 18, 2022

Closing because I think the question has been answered, and I’ve updated the live streaming docs page to try and make this behaviour more clear (this will go live with the next library release).

1reaction
dev-platongcommented, May 17, 2022

@fgl27

Maybe It’s too late to answer this question, but I think these lines are logic of determination (In case of HLS).

    boolean disableSpeedAdjustment =
        mediaItem.liveConfiguration.minPlaybackSpeed == C.RATE_UNSET
            && mediaItem.liveConfiguration.maxPlaybackSpeed == C.RATE_UNSET
            && playlist.serverControl.holdBackUs == C.TIME_UNSET
            && playlist.serverControl.partHoldBackUs == C.TIME_UNSET;

https://github.com/androidx/media/commit/b12918d1e6b92763c0a7b870e598d260a052361f#diff-5dc6db1044707e738c63d3d43bd22bf0951fc34af6dbfbd8b1798b6e42002a74R571-R575

Media Playlist has EXT-X-SERVER-CONTROL tag and its property is HOLD-BACK or PART-HOLD-BACK .

https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#section-4.4.3.8

Read more comments on GitHub >

github_iconTop Results From Across the Web

Player (ExoPlayer library)
Modifier and Type Field Description static int COMMAND_CHANGE_MEDIA_ITEMS Command to change the... static int COMMAND_GET_CURRENT_MEDIA_ITEM Command to get the curr... static int COMMAND_GET_MEDIA_ITEMS_METADATA Command to get...
Read more >
what is the use of load control and live presentation delay ...
The default target {@link Player#getCurrentLiveOffset() offset for live streams} that is used * if no value is defined in the {@link ...
Read more >
Low latency stream dropframes #9750 - google/ExoPlayer
Is that the value returned by Player.getCurrentLiveOffset() or a manual observation by comparing against an external clock?
Read more >
Player | Android Developers
getCurrentLiveOffset(). Returns the offset of the current playback position from the live edge in milliseconds, or TIME_UNSET if the current ...
Read more >
docs/live-streaming.md · master · Lahlouh, Ishak / RFC_Player
ExoPlayer adjusts the live offset by slightly changing the playback speed. ... Player.getCurrentLiveOffset returns the offset between the ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found