Swiftgram/TelegramUI/MediaFrameSource.swift
2016-08-23 16:21:34 +03:00

24 lines
571 B
Swift

import Foundation
import SwiftSignalKit
import CoreMedia
enum MediaTrackEvent {
case frames([MediaTrackDecodableFrame])
}
struct MediaFrameSourceSeekResult {
let buffers: MediaPlaybackBuffers
let timestamp: CMTime
}
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<MediaFrameSourceSeekResult, MediaFrameSourceSeekError>
}