mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 14:45:21 +00:00
Fix short video playback & scroll-to-end
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user