mirror of
https://github.com/zoriya/react-native-video.git
synced 2026-06-03 03:11:47 +00:00
.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// AVPlayerItem+setBufferConfig.swift
|
||||
// ReactNativeVideo
|
||||
//
|
||||
// Created by Krzysztof Moch on 13/09/2025.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import AVFoundation
|
||||
|
||||
extension AVPlayerItem {
|
||||
func setBufferConfig(config: BufferConfig) {
|
||||
if let forwardBufferDurationMs = config.preferredForwardBufferDurationMs {
|
||||
preferredForwardBufferDuration = TimeInterval(forwardBufferDurationMs / 1000.0)
|
||||
}
|
||||
|
||||
if let peakBitRate = config.preferredPeakBitRate {
|
||||
preferredPeakBitRate = Double(peakBitRate)
|
||||
}
|
||||
|
||||
if let maximumResolution = config.preferredMaximumResolution {
|
||||
preferredMaximumResolution = CGSize(width: maximumResolution.width, height: maximumResolution.height)
|
||||
}
|
||||
|
||||
if let peakBitRateForExpensiveNetworks = config.preferredPeakBitRateForExpensiveNetworks {
|
||||
preferredPeakBitRateForExpensiveNetworks = Double(peakBitRateForExpensiveNetworks)
|
||||
}
|
||||
|
||||
if let maximumResolutionForExpensiveNetworks = config.preferredMaximumResolutionForExpensiveNetworks {
|
||||
preferredMaximumResolutionForExpensiveNetworks = CGSize(width: maximumResolutionForExpensiveNetworks.width, height: maximumResolutionForExpensiveNetworks.height)
|
||||
}
|
||||
|
||||
if let liveTargetOffsetMs = config.livePlayback?.targetOffsetMs {
|
||||
configuredTimeOffsetFromLive = CMTime(seconds: Double(liveTargetOffsetMs) / 1000.0, preferredTimescale: 1000)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user