kingslay / KSPlayer

A video player for iOS、macOS、tvOS、visionOS , based on AVPlayer and FFmpeg, support the horizontal, vertical screen. support adjust volume, brightness and seek by slide, support subtitles.
GNU General Public License v3.0
886 stars 184 forks source link

[FEATURE]: added functionality to select the default video track from MediaPlayerTrack #676

Closed nazar-41 closed 7 months ago

nazar-41 commented 7 months ago

In some cases I want to set default quality to 360, 480 or 1080. But I don't know their bitrates.

By passing MediaPlayerTrack as a parameter fixes this issue

open class SubKSOptions: KSOptions{
    open override func wantedVideo(tracks: [MediaPlayerTrack]) -> Int? {
        guard let quality_360 = tracks.first(where: {$0.formatDescription?.dimensions.height == 360}) else{
            return nil
        }

        guard let index = tracks.firstIndex(where: {$0.bitRate == quality_360.bitRate})else{
            return nil
        }
        return index
    }
}