mirror of
https://github.com/GLEGram/GLEGram-iOS.git
synced 2026-04-24 11:56:18 +02:00
4647310322
Based on Swiftgram 12.5 (Telegram iOS 12.5). All GLEGram features ported and organized in GLEGram/ folder. Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass, Font Replacement, Fake Profile, Chat Export, Plugin System, and more. See CHANGELOG_12.5.md for full details.
32 lines
997 B
Swift
32 lines
997 B
Swift
import Foundation
|
|
import SwiftSignalKit
|
|
import CoreMedia
|
|
|
|
public enum MediaTrackEvent {
|
|
case frames([MediaTrackDecodableFrame])
|
|
case endOfStream
|
|
}
|
|
|
|
public final class MediaFrameSourceSeekResult {
|
|
public let buffers: MediaPlaybackBuffers
|
|
public let extraDecodedVideoFrames: [MediaTrackFrame]
|
|
public let timestamp: CMTime
|
|
|
|
public init(buffers: MediaPlaybackBuffers, extraDecodedVideoFrames: [MediaTrackFrame], timestamp: CMTime) {
|
|
self.buffers = buffers
|
|
self.extraDecodedVideoFrames = extraDecodedVideoFrames
|
|
self.timestamp = timestamp
|
|
}
|
|
}
|
|
|
|
public enum MediaFrameSourceSeekError {
|
|
case generic
|
|
}
|
|
|
|
public protocol MediaFrameSource {
|
|
func addEventSink(_ f: @escaping (MediaTrackEvent) -> Void) -> Int
|
|
func removeEventSink(_ index: Int)
|
|
func generateFrames(until timestamp: Double, types: [MediaTrackFrameType])
|
|
func seek(timestamp: Double) -> Signal<QueueLocalObject<MediaFrameSourceSeekResult>, MediaFrameSourceSeekError>
|
|
}
|