diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2022-11-12 19:41:08 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2022-11-12 19:41:58 +0300 |
commit | 28065de413f1d392842aaf332e0b26b144998eb9 (patch) | |
tree | f7bda1724fa263c795e3e99b9024b2f2002e4b1c | |
parent | a6f64b5b20cebe918a83e84811529be88f5da3d1 (diff) |
closedcaption: Update for deprecated chrono functions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/977>
-rw-r--r-- | video/closedcaption/Cargo.toml | 2 | ||||
-rw-r--r-- | video/closedcaption/src/mcc_enc/imp.rs | 31 |
2 files changed, 18 insertions, 15 deletions
diff --git a/video/closedcaption/Cargo.toml b/video/closedcaption/Cargo.toml index a06539313..8c0c16654 100644 --- a/video/closedcaption/Cargo.toml +++ b/video/closedcaption/Cargo.toml @@ -13,7 +13,7 @@ anyhow = "1" nom = "7.0" either = "1" uuid = { version = "1.0", features = ["v4"] } -chrono = "0.4" +chrono = "0.4.23" once_cell = "1.0" atomic_refcell = "0.1" cairo-rs = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "0.16", version = "0.16", features=["use_glib"] } diff --git a/video/closedcaption/src/mcc_enc/imp.rs b/video/closedcaption/src/mcc_enc/imp.rs index e4fbdfd89..9d4762067 100644 --- a/video/closedcaption/src/mcc_enc/imp.rs +++ b/video/closedcaption/src/mcc_enc/imp.rs @@ -99,20 +99,23 @@ impl MccEnc { ); if let Some(ref creation_date) = settings.creation_date { - let creation_date = Utc - .ymd( - creation_date.year() as i32, - creation_date.month() as u32, - creation_date.day_of_month() as u32, - ) - .and_hms( - creation_date.hour() as u32, - creation_date.minute() as u32, - creation_date.seconds() as u32, - ) - .with_timezone(&FixedOffset::east( - creation_date.utc_offset().as_seconds() as i32 - )); + let creation_date = + FixedOffset::east_opt(creation_date.utc_offset().as_seconds() as i32) + .and_then(|tz| { + tz.with_ymd_and_hms( + creation_date.year() as i32, + creation_date.month() as u32, + creation_date.day_of_month() as u32, + creation_date.hour() as u32, + creation_date.minute() as u32, + creation_date.seconds() as u32, + ) + .latest() + }) + .ok_or_else(|| { + gst::error!(CAT, imp: self, "Invalid creation datetime"); + gst::FlowError::Error + })?; let _ = write!( buffer, |