From ebcf828536ce6050ce18862ba602e6608b427fb4 Mon Sep 17 00:00:00 2001 From: pybt Date: Mon, 30 May 2022 19:42:32 +0700 Subject: [PATCH] accept remote source --- src/input/playlist.rs | 7 ++----- src/utils/json_validate.rs | 5 ++--- src/utils/mod.rs | 2 ++ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/input/playlist.rs b/src/input/playlist.rs index d4efd1a3..f665bdd5 100644 --- a/src/input/playlist.rs +++ b/src/input/playlist.rs @@ -10,10 +10,7 @@ use std::{ use serde_json::json; use simplelog::*; -use crate::utils::{ - check_sync, gen_dummy, get_delta, get_sec, is_close, json_serializer::read_json, modified_time, - seek_and_length, GlobalConfig, Media, PlayoutStatus, DUMMY_LEN, -}; +use crate::utils::{check_sync, gen_dummy, get_delta, get_sec, is_close, json_serializer::read_json, modified_time, seek_and_length, GlobalConfig, Media, PlayoutStatus, DUMMY_LEN, validate_source}; /// Struct for current playlist. /// @@ -430,7 +427,7 @@ fn timed_source( /// Generate the source CMD, or when clip not exist, get a dummy. fn gen_source(config: &GlobalConfig, mut node: Media) -> Media { - if Path::new(&node.source).is_file() { + if validate_source(&node.source) { node.add_probe(); node.cmd = Some(seek_and_length( node.source.clone(), diff --git a/src/utils/json_validate.rs b/src/utils/json_validate.rs index f2dddf33..a8deac76 100644 --- a/src/utils/json_validate.rs +++ b/src/utils/json_validate.rs @@ -1,5 +1,4 @@ use std::{ - path::Path, sync::{ atomic::{AtomicBool, Ordering}, Arc, @@ -8,7 +7,7 @@ use std::{ use simplelog::*; -use crate::utils::{sec_to_time, GlobalConfig, MediaProbe, Playlist}; +use crate::utils::{sec_to_time, GlobalConfig, MediaProbe, Playlist, validate_source}; /// Validate a given playlist, to check if: /// @@ -31,7 +30,7 @@ pub fn validate_playlist(playlist: Playlist, is_terminated: Arc, con return; } - if Path::new(&item.source).is_file() { + if validate_source(&item.source) { let probe = MediaProbe::new(item.source.clone()); if probe.format.is_none() { diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 6664fae6..0b32173f 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -20,6 +20,7 @@ mod generator; pub mod json_serializer; mod json_validate; mod logging; +mod source; pub use arg_parse::get_args; pub use config::GlobalConfig; @@ -28,6 +29,7 @@ pub use generator::generate_playlist; pub use json_serializer::{read_json, Playlist, DUMMY_LEN}; pub use json_validate::validate_playlist; pub use logging::{init_logging, send_mail}; +pub use source::{validate_source}; use crate::filter::filter_chains;