make category optional

This commit is contained in:
jb-alvarado 2022-04-10 22:05:19 +02:00
parent b9e8261eee
commit f0ebfb710c
5 changed files with 12 additions and 8 deletions

View File

@ -1,5 +1,7 @@
[package] [package]
name = "ffplayout-rs" name = "ffplayout-rs"
description = "24/7 playout based on rust and ffmpeg"
license = "GPL-3.0"
version = "0.9.1" version = "0.9.1"
edition = "2021" edition = "2021"

View File

@ -142,7 +142,7 @@ fn fade(node: &mut Media, chain: &mut Filters, codec_type: &str) {
fn overlay(node: &mut Media, chain: &mut Filters, config: &GlobalConfig) { fn overlay(node: &mut Media, chain: &mut Filters, config: &GlobalConfig) {
if config.processing.add_logo if config.processing.add_logo
&& Path::new(&config.processing.logo).is_file() && Path::new(&config.processing.logo).is_file()
&& node.category != "advertisement".to_string() && &node.category.clone().unwrap_or(String::new()) != "advertisement"
{ {
let opacity = format!( let opacity = format!(
"format=rgba,colorchannelmixer=aa={}", "format=rgba,colorchannelmixer=aa={}",

View File

@ -179,13 +179,15 @@ impl CurrentProgram {
let index = *self.index.lock().unwrap(); let index = *self.index.lock().unwrap();
let current_list = self.nodes.lock().unwrap(); let current_list = self.nodes.lock().unwrap();
if index + 1 < current_list.len() && &current_list[index + 1].category == "advertisement" { if index + 1 < current_list.len()
&& &current_list[index + 1].category.clone().unwrap_or(String::new()) == "advertisement"
{
self.current_node.next_ad = Some(true); self.current_node.next_ad = Some(true);
} }
if index > 0 if index > 0
&& index < current_list.len() && index < current_list.len()
&& &current_list[index - 1].category == "advertisement" && &current_list[index - 1].category.clone().unwrap_or(String::new()) == "advertisement"
{ {
self.current_node.last_ad = Some(true); self.current_node.last_ad = Some(true);
} }

View File

@ -1,11 +1,11 @@
extern crate log;
extern crate simplelog;
use std::{ use std::{
path::PathBuf, path::PathBuf,
{fs, fs::File}, {fs, fs::File},
}; };
extern crate log;
extern crate simplelog;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use serde_json::json; use serde_json::json;
use simplelog::*; use simplelog::*;

View File

@ -147,7 +147,7 @@ pub struct Media {
pub seek: f64, pub seek: f64,
pub out: f64, pub out: f64,
pub duration: f64, pub duration: f64,
pub category: String, pub category: Option<String>,
pub source: String, pub source: String,
pub cmd: Option<Vec<String>>, pub cmd: Option<Vec<String>>,
pub filter: Option<Vec<String>>, pub filter: Option<Vec<String>>,
@ -177,7 +177,7 @@ impl Media {
seek: 0.0, seek: 0.0,
out: duration, out: duration,
duration: duration, duration: duration,
category: String::new(), category: None,
source: src.clone(), source: src.clone(),
cmd: Some(vec!["-i".to_string(), src]), cmd: Some(vec!["-i".to_string(), src]),
filter: Some(vec![]), filter: Some(vec![]),