diff --git a/submodules/MediaPlayer/Sources/FFMpegMediaFrameSource.swift b/submodules/MediaPlayer/Sources/FFMpegMediaFrameSource.swift index 3c86dc17ca..83fb2ab4e5 100644 --- a/submodules/MediaPlayer/Sources/FFMpegMediaFrameSource.swift +++ b/submodules/MediaPlayer/Sources/FFMpegMediaFrameSource.swift @@ -283,6 +283,9 @@ public final class FFMpegMediaFrameSource: NSObject, MediaFrameSource { let _ = currentSemaphore.swap(nil) subscriber.putError(.generic) } + } else { + let _ = currentSemaphore.swap(nil) + subscriber.putError(.generic) } } }) diff --git a/submodules/MediaPlayer/Sources/FFMpegMediaVideoFrameDecoder.swift b/submodules/MediaPlayer/Sources/FFMpegMediaVideoFrameDecoder.swift index 14c0330554..76037e0848 100644 --- a/submodules/MediaPlayer/Sources/FFMpegMediaVideoFrameDecoder.swift +++ b/submodules/MediaPlayer/Sources/FFMpegMediaVideoFrameDecoder.swift @@ -1,10 +1,30 @@ + +#if !os(macOS) import UIKit +#else +import AppKit +#endif import CoreMedia import Accelerate import FFMpegBinding private let bufferCount = 32 + + +#if os(macOS) +private let deviceColorSpace: CGColorSpace = { + if #available(OSX 10.11.2, *) { + if let colorSpace = CGColorSpace(name: CGColorSpace.displayP3) { + return colorSpace + } else { + return CGColorSpaceCreateDeviceRGB() + } + } else { + return CGColorSpaceCreateDeviceRGB() + } +}() +#else private let deviceColorSpace: CGColorSpace = { if #available(iOSApplicationExtension 9.3, iOS 9.3, *) { if let colorSpace = CGColorSpace(name: CGColorSpace.displayP3) { @@ -16,7 +36,7 @@ private let deviceColorSpace: CGColorSpace = { return CGColorSpaceCreateDeviceRGB() } }() - +#endif public final class FFMpegMediaVideoFrameDecoder: MediaTrackFrameDecoder { public enum ReceiveResult { case error