Files
GLEGram-iOS/submodules/MediaPlayer/Sources/MediaFrameSource.swift
T
Leeksov 4647310322 GLEGram 12.5 — Initial public release
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.
2026-04-06 09:48:12 +03:00

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>
}