Merge commit '7621e2f8dec938cf48181c8b10afc9b01f444e68' into beta

This commit is contained in:
Ilya Laktyushin
2025-12-06 02:17:48 +04:00
commit 8344b97e03
28070 changed files with 7995182 additions and 0 deletions
@@ -0,0 +1,31 @@
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>
}