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

After upgrade to exoplayer 2.13.3, live playback speed became to variant speed. #9329

Closed
zgzong opened this issue Aug 25, 2021 · 2 comments
Closed
Assignees
Labels

Comments

@zgzong
Copy link

zgzong commented Aug 25, 2021

After upgrade to exoplayer 2.13.x onwards, the live playback speed became variant speed between range [0.97, 1.03], even for normal non-low latency live stream.

Since the 2.13.0, exoplayer introduce DefaultLivePlaybackSpeedControl.java, getAdjustedPlaybackSpeed function looks check

DefaultLivePlaybackSpeedControl.java
if (mediaConfigurationTargetLiveOffsetUs == C.TIME_UNSET) {
return 1f;
}
and mediaConfigurationTargetLiveOffsetUs = C.msToUs(liveConfiguration.targetOffsetMs);

Because of DASH's DashMediaSource.java updateMediaItemLiveConfiguration logic
private void updateMediaItemLiveConfiguration(long nowInWindowUs, long windowDurationUs) {

Based on current implementation DashMediaSource targetOffsetMs's can not be TIME_UNSET any more, that means all live stream will play live stream with variant playback speed.

@icbaker
Copy link
Collaborator

icbaker commented Aug 25, 2021

You can customise this behaviour as explained here: https://exoplayer.dev/live-streaming.html#configuring-live-playback-parameters

@ojw28
Copy link
Contributor

ojw28 commented Aug 31, 2021

@christosts @marcbaechinger - Could we reconsider the decision to enable variable playback speed for non-LL streams? I still don't think it's really expected, in general.

@ojw28 ojw28 reopened this Aug 31, 2021
@ojw28 ojw28 assigned christosts and unassigned icbaker Aug 31, 2021
icbaker pushed a commit that referenced this issue Jan 14, 2022
Live speed adjustment is used for all live playback at the moment,
but has no user visible effect if the media is not played with low
latency. To avoid unnecessary adjustment during playback without
benefit, this change restricts the live speed adjustment to cases
where either the user requested a speed value in the MediaItem or the
media specifically defined a low-latency stream.

Issue: #9329
PiperOrigin-RevId: 421514283
icbaker pushed a commit to androidx/media that referenced this issue Jan 26, 2022
Live speed adjustment is used for all live playback at the moment,
but has no user visible effect if the media is not played with low
latency. To avoid unnecessary adjustment during playback without
benefit, this change restricts the live speed adjustment to cases
where either the user requested a speed value in the MediaItem or the
media specifically defined a low-latency stream.

Issue: google/ExoPlayer#9329
PiperOrigin-RevId: 421514283
@tonihei tonihei closed this as completed Feb 14, 2022
@google google locked and limited conversation to collaborators Apr 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants