mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-01-06 05:02:54 +00:00
Use thumbnail video status if possible
This commit is contained in:
@@ -104,8 +104,16 @@ private final class NativeVideoContentNode: ASDisplayNode, UniversalVideoContent
|
||||
|
||||
private var initializedStatus = false
|
||||
private let _status = Promise<MediaPlayerStatus>()
|
||||
private let _thumbnailStatus = Promise<MediaPlayerStatus?>(nil)
|
||||
var status: Signal<MediaPlayerStatus, NoError> {
|
||||
return self._status.get()
|
||||
return combineLatest(self._thumbnailStatus.get(), self._status.get())
|
||||
|> map { thumbnailStatus, status in
|
||||
if let thumbnailStatus = thumbnailStatus {
|
||||
return thumbnailStatus
|
||||
} else {
|
||||
return status
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private let _bufferingStatus = Promise<(IndexSet, Int)?>()
|
||||
@@ -183,7 +191,7 @@ private final class NativeVideoContentNode: ASDisplayNode, UniversalVideoContent
|
||||
self.addSubnode(self.imageNode)
|
||||
self.addSubnode(self.playerNode)
|
||||
self._status.set(combineLatest(self.dimensionsPromise.get(), self.player.status)
|
||||
|> map { [weak self] dimensions, status in
|
||||
|> map { dimensions, status in
|
||||
return MediaPlayerStatus(generationTimestamp: status.generationTimestamp, duration: status.duration, dimensions: dimensions, timestamp: status.timestamp, baseRate: status.baseRate, seekId: status.seekId, status: status.status, soundEnabled: status.soundEnabled)
|
||||
})
|
||||
|
||||
@@ -249,6 +257,11 @@ private final class NativeVideoContentNode: ASDisplayNode, UniversalVideoContent
|
||||
self.thumbnailNode = thumbnailNode
|
||||
thumbnailPlayer.attachPlayerNode(thumbnailNode)
|
||||
|
||||
self._thumbnailStatus.set(thumbnailPlayer.status
|
||||
|> map { status in
|
||||
return MediaPlayerStatus(generationTimestamp: status.generationTimestamp, duration: status.duration, dimensions: CGSize(), timestamp: status.timestamp, baseRate: status.baseRate, seekId: status.seekId, status: status.status, soundEnabled: status.soundEnabled)
|
||||
})
|
||||
|
||||
self.addSubnode(thumbnailNode)
|
||||
|
||||
thumbnailNode.frame = self.playerNode.frame
|
||||
|
||||
Reference in New Issue
Block a user