mirror of
https://github.com/yattee/yattee.git
synced 2026-08-06 07:11:28 +00:00
Label local-file video quality from mpv track info instead of Unknown
Streams built for local folder files carry no resolution/codec/fps metadata (unknowable before demux), so the quality selector labeled them "Unknown". Use the video track mpv reports (demux-w/h/fps, codec) to fill those fields into a display-only copy of the stream — the Video row and summary now show e.g. "720p · 30fps" with a codec badge. Selection and tap handling keep using the original stream.
This commit is contained in:
@@ -34,6 +34,8 @@ struct QualitySelectorView: View {
|
||||
let embeddedSubtitleTracks: [MPVTrack]
|
||||
let currentEmbeddedAudioTrackID: Int?
|
||||
let currentEmbeddedSubtitleTrackID: Int?
|
||||
/// The playing file's video track, used to label metadata-less local streams
|
||||
let embeddedVideoTrack: MPVTrack?
|
||||
let onEmbeddedAudioTrackSelected: (Int) -> Void
|
||||
/// nil = subtitles off
|
||||
let onEmbeddedSubtitleTrackSelected: (Int?) -> Void
|
||||
@@ -181,6 +183,7 @@ struct QualitySelectorView: View {
|
||||
embeddedSubtitleTracks: [MPVTrack] = [],
|
||||
currentEmbeddedAudioTrackID: Int? = nil,
|
||||
currentEmbeddedSubtitleTrackID: Int? = nil,
|
||||
embeddedVideoTrack: MPVTrack? = nil,
|
||||
onStreamSelected: @escaping (Stream, Stream?) -> Void,
|
||||
onCaptionSelected: @escaping (Caption?) -> Void = { _ in },
|
||||
onLoadOnlineStreams: @escaping () -> Void = {},
|
||||
@@ -210,6 +213,7 @@ struct QualitySelectorView: View {
|
||||
self.embeddedSubtitleTracks = embeddedSubtitleTracks
|
||||
self.currentEmbeddedAudioTrackID = currentEmbeddedAudioTrackID
|
||||
self.currentEmbeddedSubtitleTrackID = currentEmbeddedSubtitleTrackID
|
||||
self.embeddedVideoTrack = embeddedVideoTrack
|
||||
self.onStreamSelected = onStreamSelected
|
||||
self.onCaptionSelected = onCaptionSelected
|
||||
self.onLoadOnlineStreams = onLoadOnlineStreams
|
||||
|
||||
Reference in New Issue
Block a user