get date for playlist generation from config
This commit is contained in:
parent
8ec2c3ebfe
commit
bb4811d7bc
@ -75,9 +75,10 @@ pub async fn write_playlist(id: i64, json_data: JsonPlaylist) -> Result<String,
|
||||
}
|
||||
|
||||
pub async fn generate_playlist(id: i64, date: String) -> Result<JsonPlaylist, ServiceError> {
|
||||
let (config, settings) = playout_config(&id).await?;
|
||||
let (mut config, settings) = playout_config(&id).await?;
|
||||
config.general.generate = Some(vec![date.clone()]);
|
||||
|
||||
match playlist_generator(&config, vec![date], Some(settings.channel_name)) {
|
||||
match playlist_generator(&config, Some(settings.channel_name)) {
|
||||
Ok(playlists) => {
|
||||
if !playlists.is_empty() {
|
||||
Ok(playlists[0].clone())
|
||||
|
@ -85,9 +85,9 @@ fn main() {
|
||||
|
||||
validate_ffmpeg(&config);
|
||||
|
||||
if let Some(range) = config.general.generate.clone() {
|
||||
if config.general.generate.is_some() {
|
||||
// run a simple playlist generator and save them to disk
|
||||
if let Err(e) = generate_playlist(&config, range, None) {
|
||||
if let Err(e) = generate_playlist(&config, None) {
|
||||
error!("{e}");
|
||||
exit(1);
|
||||
};
|
||||
|
@ -190,15 +190,6 @@ fn add_text(node: &mut Media, chain: &mut Filters, config: &PlayoutConfig) {
|
||||
let filter = v_drawtext::filter_node(config, node);
|
||||
|
||||
chain.add_filter(&filter, "video");
|
||||
|
||||
if let Some(filters) = &chain.video_chain {
|
||||
for (i, f) in filters.split(',').enumerate() {
|
||||
if f.contains("drawtext") && !config.text.text_from_filename {
|
||||
debug!("drawtext node is on index: <yellow>{i}</>");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -290,7 +281,7 @@ fn realtime_filter(
|
||||
t = "a"
|
||||
}
|
||||
|
||||
if &config.out.mode.to_lowercase() == "hls" {
|
||||
if config.general.generate.is_none() && &config.out.mode.to_lowercase() == "hls" {
|
||||
let mut speed_filter = format!("{t}realtime=speed=1");
|
||||
let (delta, _) = get_delta(config, &node.begin.unwrap());
|
||||
let duration = node.out - node.seek;
|
||||
|
@ -53,7 +53,6 @@ fn get_date_range(date_range: &[String]) -> Vec<String> {
|
||||
/// Generate playlists
|
||||
pub fn generate_playlist(
|
||||
config: &PlayoutConfig,
|
||||
mut date_range: Vec<String>,
|
||||
channel_name: Option<String>,
|
||||
) -> Result<Vec<JsonPlaylist>, Error> {
|
||||
let total_length = match config.playlist.length_sec {
|
||||
@ -70,6 +69,7 @@ pub fn generate_playlist(
|
||||
let index = Arc::new(AtomicUsize::new(0));
|
||||
let playlist_root = Path::new(&config.playlist.path);
|
||||
let mut playlists = vec![];
|
||||
let mut date_range = vec![];
|
||||
|
||||
let channel = match channel_name {
|
||||
Some(name) => name,
|
||||
@ -85,6 +85,10 @@ pub fn generate_playlist(
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if let Some(range) = config.general.generate.clone() {
|
||||
date_range = range;
|
||||
}
|
||||
|
||||
if date_range.contains(&"-".to_string()) && date_range.len() == 3 {
|
||||
date_range = get_date_range(&date_range)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user