Fix short video playback & scroll-to-end

This commit is contained in:
Peter
2019-07-28 00:40:53 +01:00
parent a91b0bade5
commit e3c80d3a63
2 changed files with 7 additions and 1 deletions

View File

@@ -622,6 +622,12 @@ final class FFMpegMediaFrameSourceContext: NSObject {
} }
if let closestFrame = closestFrame { if let closestFrame = closestFrame {
actualPts = closestFrame.pts actualPts = closestFrame.pts
} else {
if let videoStream = initializedState.videoStream {
actualPts = videoStream.duration
} else {
actualPts = extraVideoFrames.last!.pts
}
} }
} }
if let audioStream = initializedState.audioStream { if let audioStream = initializedState.audioStream {

View File

@@ -784,7 +784,7 @@ private final class MediaPlayerContext {
} }
} else if let worstStatus = worstStatus, case let .finished(finishedAt) = worstStatus, finishedAt.isFinite { } else if let worstStatus = worstStatus, case let .finished(finishedAt) = worstStatus, finishedAt.isFinite {
let nextTickDelay = max(0.0, finishedAt - timestamp) / self.baseRate let nextTickDelay = max(0.0, finishedAt - timestamp) / self.baseRate
if nextTickDelay.isLessThanOrEqualTo(0.0) || timestamp.isEqual(to: 0.0) { if nextTickDelay.isLessThanOrEqualTo(0.0) {
rate = 0.0 rate = 0.0
performActionAtEndNow = true performActionAtEndNow = true
} else { } else {