mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
Refactor RangeSet for 32-bit support
This commit is contained in:
@@ -4,6 +4,7 @@ import AsyncDisplayKit
|
||||
import SwiftSignalKit
|
||||
import UniversalMediaPlayer
|
||||
import AccountContext
|
||||
import RangeSet
|
||||
|
||||
private final class UniversalVideoContentSubscriber {
|
||||
let id: Int32
|
||||
@@ -28,11 +29,11 @@ private final class UniversalVideoContentHolder {
|
||||
var statusValue: MediaPlayerStatus?
|
||||
|
||||
var bufferingStatusDisposable: Disposable?
|
||||
var bufferingStatusValue: (IndexSet, Int64)?
|
||||
var bufferingStatusValue: (RangeSet<Int64>, Int64)?
|
||||
|
||||
var playbackCompletedIndex: Int?
|
||||
|
||||
init(content: UniversalVideoContent, contentNode: UniversalVideoContentNode & ASDisplayNode, statusUpdated: @escaping (MediaPlayerStatus?) -> Void, bufferingStatusUpdated: @escaping ((IndexSet, Int64)?) -> Void, playbackCompleted: @escaping () -> Void) {
|
||||
init(content: UniversalVideoContent, contentNode: UniversalVideoContentNode & ASDisplayNode, statusUpdated: @escaping (MediaPlayerStatus?) -> Void, bufferingStatusUpdated: @escaping ((RangeSet<Int64>, Int64)?) -> Void, playbackCompleted: @escaping () -> Void) {
|
||||
self.content = content
|
||||
self.contentNode = contentNode
|
||||
|
||||
@@ -131,7 +132,7 @@ private final class UniversalVideoContentHolder {
|
||||
private final class UniversalVideoContentHolderCallbacks {
|
||||
let playbackCompleted = Bag<() -> Void>()
|
||||
let status = Bag<(MediaPlayerStatus?) -> Void>()
|
||||
let bufferingStatus = Bag<((IndexSet, Int64)?) -> Void>()
|
||||
let bufferingStatus = Bag<((RangeSet<Int64>, Int64)?) -> Void>()
|
||||
|
||||
var isEmpty: Bool {
|
||||
return self.playbackCompleted.isEmpty && self.status.isEmpty && self.bufferingStatus.isEmpty
|
||||
@@ -278,7 +279,7 @@ public final class UniversalVideoManagerImpl: UniversalVideoManager {
|
||||
} |> runOn(Queue.mainQueue())
|
||||
}
|
||||
|
||||
public func bufferingStatusSignal(content: UniversalVideoContent) -> Signal<(IndexSet, Int64)?, NoError> {
|
||||
public func bufferingStatusSignal(content: UniversalVideoContent) -> Signal<(RangeSet<Int64>, Int64)?, NoError> {
|
||||
return Signal { subscriber in
|
||||
var callbacks: UniversalVideoContentHolderCallbacks
|
||||
if let current = self.holderCallbacks[content.id] {
|
||||
|
||||
Reference in New Issue
Block a user