From d327d8f17921952e9d4df8c79825efe853c6f21d Mon Sep 17 00:00:00 2001 From: amtoaer Date: Sat, 30 Mar 2024 01:41:08 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=96=B9=E4=BE=BF=E8=B0=83=E8=AF=95?= =?UTF-8?q?=EF=BC=8C=E5=BC=95=E5=85=A5=20FilterOption=20=E7=9A=84=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bilibili/analyzer.rs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/bilibili/analyzer.rs b/src/bilibili/analyzer.rs index 1ec461c..cb8250e 100644 --- a/src/bilibili/analyzer.rs +++ b/src/bilibili/analyzer.rs @@ -51,6 +51,22 @@ pub struct FilterOption { pub no_hires: bool, } +impl Default for FilterOption { + fn default() -> Self { + Self { + video_max_quality: VideoQuality::Quality8k, + video_min_quality: VideoQuality::Quality360p, + audio_max_quality: AudioQuality::QualityHiRES, + audio_min_quality: AudioQuality::Quality64k, + codecs: Arc::new(vec![VideoCodecs::AV1, VideoCodecs::HEV, VideoCodecs::AVC]), + no_dolby_video: false, + no_dolby_audio: false, + no_hdr: false, + no_hires: false, + } + } +} + // 上游项目中的五种流类型,不过目测应该只有 Flv、DashVideo、DashAudio 三种会被用到 #[derive(Debug, PartialEq, PartialOrd)] pub enum Stream { @@ -81,9 +97,9 @@ impl Stream { } } -// 用于获取视频流的最佳筛选结果,有两种可能: -// 1. 单个混合流,作为 Mixed 返回 -// 2. 视频、音频分离,作为 VideoAudio 返回,其中音频流可能不存在(对于无声视频,如 BV1J7411H7KQ) +/// 用于获取视频流的最佳筛选结果,有两种可能: +/// 1. 单个混合流,作为 Mixed 返回 +/// 2. 视频、音频分离,作为 VideoAudio 返回,其中音频流可能不存在(对于无声视频,如 BV1J7411H7KQ) #[derive(Debug)] pub enum BestStream { VideoAudio {