mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
30 lines
753 B
Swift
30 lines
753 B
Swift
import Foundation
|
|
import SwiftSignalKit
|
|
import CoreMedia
|
|
|
|
enum MediaTrackEvent {
|
|
case frames([MediaTrackDecodableFrame])
|
|
case endOfStream
|
|
}
|
|
|
|
final class MediaFrameSourceSeekResult {
|
|
let buffers: MediaPlaybackBuffers
|
|
let timestamp: CMTime
|
|
|
|
init(buffers: MediaPlaybackBuffers, timestamp: CMTime) {
|
|
self.buffers = buffers
|
|
self.timestamp = timestamp
|
|
}
|
|
}
|
|
|
|
enum MediaFrameSourceSeekError {
|
|
case generic
|
|
}
|
|
|
|
protocol MediaFrameSource {
|
|
func addEventSink(_ f: @escaping (MediaTrackEvent) -> Void) -> Int
|
|
func removeEventSink(_ index: Int)
|
|
func generateFrames(until timestamp: Double)
|
|
func seek(timestamp: Double) -> Signal<QueueLocalObject<MediaFrameSourceSeekResult>, MediaFrameSourceSeekError>
|
|
}
|