about summary refs log tree commit diff
path: root/src/subtitles/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/subtitles/mod.rs')
-rw-r--r--src/subtitles/mod.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/subtitles/mod.rs b/src/subtitles/mod.rs
index acb73dc..de747f1 100644
--- a/src/subtitles/mod.rs
+++ b/src/subtitles/mod.rs
@@ -4,6 +4,7 @@ pub mod state;
 use std::collections::BTreeMap;
 
 use relm4::SharedState;
+use serde::{Deserialize, Serialize};
 
 pub type StreamIndex = usize;
 
@@ -26,7 +27,7 @@ pub struct SubtitleCue {
     pub end_time: gst::ClockTime,
 }
 
-#[derive(Default, Debug, Clone)]
+#[derive(Default, Debug, Clone, Serialize, Deserialize)]
 pub struct SubtitleTrack {
     // SoA of cue text, start timestamp, end timestamp
     pub texts: Vec<String>,
@@ -34,7 +35,9 @@ pub struct SubtitleTrack {
     pub end_times: Vec<gst::ClockTime>,
 }
 
-pub static SUBTITLE_TRACKS: SharedState<BTreeMap<StreamIndex, SubtitleTrack>> = SharedState::new();
+pub type SubtitleTrackCollection = BTreeMap<StreamIndex, SubtitleTrack>;
+
+pub static SUBTITLE_TRACKS: SharedState<SubtitleTrackCollection> = SharedState::new();
 
 impl TrackMetadata {
     pub fn from_ffmpeg_stream(stream: &ffmpeg::Stream) -> Self {