fix: 修复3个P0遗留 — AutoRollback回退/ConfigReloaded序列化/FfiString跨allocator
This commit is contained in:
@@ -316,8 +316,8 @@ impl Plugin for HttpPlugin {
|
||||
}
|
||||
}
|
||||
Message::ConfigReloaded(config) => {
|
||||
state.replace_config(Arc::clone(&config));
|
||||
if let Some(payload) = encode_ws_event("config_update", config.as_ref()) {
|
||||
state.replace_config(Arc::new(config.clone()));
|
||||
if let Some(payload) = encode_ws_event("config_update", &config) {
|
||||
state.publish_ws(payload);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ impl Plugin for VideoPlugin {
|
||||
self.publish_status();
|
||||
}
|
||||
Message::ConfigReloaded(config) => {
|
||||
let processor = Arc::new(Mutex::new(VideoProcessor::new((*config).clone())?));
|
||||
let processor = Arc::new(Mutex::new(VideoProcessor::new(config)?));
|
||||
if let Some(old) = self.processor.replace(Arc::clone(&processor)) {
|
||||
if let Ok(mut old) = old.lock() {
|
||||
let _ = old.stop();
|
||||
|
||||
@@ -929,8 +929,10 @@ impl VideoProcessor {
|
||||
if let Some(resolution) = parts.first() {
|
||||
let dims: Vec<&str> = resolution.split('x').collect();
|
||||
if dims.len() == 2 {
|
||||
let w_str = dims[0].trim_end_matches(|c: char| !c.is_ascii_digit());
|
||||
let h_str = dims[1].trim_end_matches(|c: char| !c.is_ascii_digit());
|
||||
let w_str =
|
||||
dims[0].trim_end_matches(|c: char| !c.is_ascii_digit());
|
||||
let h_str =
|
||||
dims[1].trim_end_matches(|c: char| !c.is_ascii_digit());
|
||||
if let (Ok(w), Ok(h)) =
|
||||
(w_str.parse::<i32>(), h_str.parse::<i32>())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user