diff --git a/submodules/MediaPlayer/Package.swift b/submodules/MediaPlayer/Package.swift new file mode 100644 index 0000000000..35d1875d35 --- /dev/null +++ b/submodules/MediaPlayer/Package.swift @@ -0,0 +1,47 @@ +// swift-tools-version:5.5 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "MediaPlayer", + platforms: [.macOS(.v10_13)], + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "MediaPlayer", + targets: ["MediaPlayer"]), + ], + dependencies: [ + .package(name: "TelegramCore", path: "../TelegramCore"), + .package(name: "Postbox", path: "../Postbox"), + .package(name: "FFMpegBinding", path: "../FFMpegBinding"), + .package(name: "YuvConversion", path: "../YuvConversion"), + .package(name: "RingBuffer", path: "../RingBuffer"), + .package(name: "TGUIKit", path: "../../../../packages/TGUIKit"), + + // Dependencies declare other packages that this package depends on. + // .package(url: /* package url */, from: "1.0.0"), + ], + targets: [ + // Targets are the basic building blocks of a package. A target can define a module or a test suite. + // Targets can depend on other targets in this package, and on products in packages this package depends on. + .target( + name: "MediaPlayer", + dependencies: [.product(name: "TelegramCore", package: "TelegramCore", condition: nil), + .product(name: "Postbox", package: "Postbox", condition: nil), + .product(name: "FFMpegBinding", package: "FFMpegBinding", condition: nil), + .product(name: "YuvConversion", package: "YuvConversion", condition: nil), + .product(name: "RingBuffer", package: "RingBuffer", condition: nil), + .product(name: "TGUIKit", package: "TGUIKit", condition: nil), + ], + path: "Sources", + exclude: ["MediaPlayer.swift", + "MediaPlayerScrubbingNode.swift", + "MediaPlayerTimeTextNode.swift", + "MediaPlayerNode.swift", + "MediaPlayerAudioRenderer.swift", + "MediaPlayerFramePreview.swift", + "VideoPlayerProxy.swift"]), + ] +) diff --git a/submodules/MediaPlayer/Sources/MediaPlaybackData.swift b/submodules/MediaPlayer/Sources/MediaPlaybackData.swift index b1cff7fd5f..1bd4d33043 100644 --- a/submodules/MediaPlayer/Sources/MediaPlaybackData.swift +++ b/submodules/MediaPlayer/Sources/MediaPlaybackData.swift @@ -5,7 +5,7 @@ public final class MediaPlaybackBuffers { public let audioBuffer: MediaTrackFrameBuffer? public let videoBuffer: MediaTrackFrameBuffer? - init(audioBuffer: MediaTrackFrameBuffer?, videoBuffer: MediaTrackFrameBuffer?) { + public init(audioBuffer: MediaTrackFrameBuffer?, videoBuffer: MediaTrackFrameBuffer?) { self.audioBuffer = audioBuffer self.videoBuffer = videoBuffer } diff --git a/submodules/MediaPlayer/Sources/MediaTrackFrameBuffer.swift b/submodules/MediaPlayer/Sources/MediaTrackFrameBuffer.swift index de302f827a..01f76b8b5f 100644 --- a/submodules/MediaPlayer/Sources/MediaTrackFrameBuffer.swift +++ b/submodules/MediaPlayer/Sources/MediaTrackFrameBuffer.swift @@ -33,10 +33,10 @@ public final class MediaTrackFrameBuffer { private let decoder: MediaTrackFrameDecoder private let type: MediaTrackFrameType public let duration: CMTime - let rotationAngle: Double - let aspect: Double + public let rotationAngle: Double + public let aspect: Double - var statusUpdated: () -> Void = { } + public var statusUpdated: () -> Void = { } private var frameSourceSinkIndex: Int? diff --git a/submodules/MediaPlayer/Sources/TimeBasedVideoPreload.swift b/submodules/MediaPlayer/Sources/TimeBasedVideoPreload.swift index 596574f1f1..58109e5feb 100644 --- a/submodules/MediaPlayer/Sources/TimeBasedVideoPreload.swift +++ b/submodules/MediaPlayer/Sources/TimeBasedVideoPreload.swift @@ -1,5 +1,9 @@ import Foundation +#if !os(macOS) import UIKit +#else +import AppKit +#endif import SwiftSignalKit import Postbox import TelegramCore