mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 14:45:21 +00:00
Module refactoring
This commit is contained in:
31
submodules/MediaPlayer/Sources/MediaFrameSource.swift
Normal file
31
submodules/MediaPlayer/Sources/MediaFrameSource.swift
Normal file
@@ -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)
|
||||
func seek(timestamp: Double) -> Signal<QueueLocalObject<MediaFrameSourceSeekResult>, MediaFrameSourceSeekError>
|
||||
}
|
||||
Reference in New Issue
Block a user