-
Notifications
You must be signed in to change notification settings - Fork 6k
Closed
Labels
Description
Issue description
Clipped video playback ends sooner than expected when repeat mode is Player.REPEAT_MODE_ALL or when it is combined with other clips using ConcatenatingMediaSource.
Reproduction steps
Setup a simple ExoPlayer instance:
val trackSelector = DefaultTrackSelector()
val renderersFactory = DefaultRenderersFactory(context)
val loadControl = DefaultLoadControl()
val player = ExoPlayerFactory.newSimpleInstance(renderersFactory, trackSelector, loadControl)
player.repeatMode = Player.REPEAT_MODE_ALL
val extractorMediaSourceFactory = ExtractorMediaSource.Factory(dataSourceFactory)
val startMs = 300
val endMs = 1000
val path = "/sdcard/Movies/probe-video.mp4"
val videoUri = Uri.parse(path)
val extractorMediaSource = extractorMediaSourceFactory.createMediaSource(videoUri)
val clippingMediaSource = ClippingMediaSource(
extractorMediaSource,
startMs * 1000,
endMs * 1000)
val concatenatingMediaSource = ConcatenatingMediaSource()
concatenatingMediaSource.addMediaSources(listOf(mediaSource, mediaSource))Logging player.currentPosition
Observable
.interval(10, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe { Log.d("PlayerPresenter", "${player.currentPosition}") }With Player.REPEAT_MODE_OFF or player.prepare(clippingMediaSource)
PlayerPresenter: 0
PlayerPresenter: 14
PlayerPresenter: 14
PlayerPresenter: 14
PlayerPresenter: 14
...
PlayerPresenter: 686
PlayerPresenter: 706
PlayerPresenter: 706
With Player.REPEAT_MODE_ALL or player.prepare(concatenatingMediaSource)
PlayerPresenter: 14
PlayerPresenter: 14
...
PlayerPresenter: 400
PlayerPresenter: 400
PlayerPresenter: 400
PlayerPresenter: -300
PlayerPresenter: -300
PlayerPresenter: -300
PlayerPresenter: -300
Link to test content
I was able to reproduce this issue with any local mp4.
Version of ExoPlayer being used
2.8.2
Device(s) and version(s) of Android being used
- Essential phone w/ Android 8.1
- Samsung Note 8 w/ Android 7.1
However it doesn't seem to be a device specific issue.
Reactions are currently unavailable