mirror of
https://github.com/yattee/yattee.git
synced 2025-08-06 10:44:06 +00:00
Add more playback rates for MPV
This commit is contained in:
@@ -21,6 +21,14 @@ final class AVPlayerBackend: PlayerBackend {
|
||||
var stream: Stream?
|
||||
var video: Video?
|
||||
|
||||
var suggestedPlaybackRates: [Double] {
|
||||
[0.5, 0.67, 0.8, 1, 1.25, 1.5, 2]
|
||||
}
|
||||
|
||||
func canPlayAtRate(_ rate: Double) -> Bool {
|
||||
suggestedPlaybackRates.contains(rate)
|
||||
}
|
||||
|
||||
var currentTime: CMTime? {
|
||||
avPlayer.currentTime()
|
||||
}
|
||||
|
@@ -92,6 +92,14 @@ final class MPVBackend: PlayerBackend {
|
||||
internal var controlsUpdates = false
|
||||
private var timeObserverThrottle = Throttle(interval: 2)
|
||||
|
||||
var suggestedPlaybackRates: [Double] {
|
||||
[0.1, 0.25, 0.3, 0.33, 0.5, 0.67, 0.8, 1, 1.25, 1.5, 1.75, 2, 3, 4]
|
||||
}
|
||||
|
||||
func canPlayAtRate(_ rate: Double) -> Bool {
|
||||
rate > 0 && rate <= 100
|
||||
}
|
||||
|
||||
var tracks: Int {
|
||||
client?.tracksCount ?? -1
|
||||
}
|
||||
|
@@ -6,6 +6,7 @@ import Foundation
|
||||
#endif
|
||||
|
||||
protocol PlayerBackend {
|
||||
var suggestedPlaybackRates: [Double] { get }
|
||||
var model: PlayerModel! { get }
|
||||
var controls: PlayerControlsModel! { get }
|
||||
var playerTime: PlayerTimeModel! { get }
|
||||
@@ -30,6 +31,7 @@ protocol PlayerBackend {
|
||||
|
||||
func bestPlayable(_ streams: [Stream], maxResolution: ResolutionSetting) -> Stream?
|
||||
func canPlay(_ stream: Stream) -> Bool
|
||||
func canPlayAtRate(_ rate: Double) -> Bool
|
||||
|
||||
func playStream(
|
||||
_ stream: Stream,
|
||||
|
Reference in New Issue
Block a user