about summary refs log tree commit diff
path: root/src/subtitles
diff options
context:
space:
mode:
authorMalte Voos <git@mal.tc>2025-12-25 11:05:19 +0100
committerMalte Voos <git@mal.tc>2025-12-25 11:05:19 +0100
commitbb641f353c3dd81f5e3b16ecaf1fae669b3ac67b (patch)
tree51def81474c6cd861fa98519c2b20b6d9f892ded /src/subtitles
parentc347b6133365dcf1b7da4e77890b20d04d6cfba4 (diff)
downloadlleap-bb641f353c3dd81f5e3b16ecaf1fae669b3ac67b.tar.gz
lleap-bb641f353c3dd81f5e3b16ecaf1fae669b3ac67b.zip
fix whisper subtitles not appearing in subtitle selection menu
Diffstat (limited to 'src/subtitles')
-rw-r--r--src/subtitles/extraction/mod.rs18
-rw-r--r--src/subtitles/mod.rs12
2 files changed, 2 insertions, 28 deletions
diff --git a/src/subtitles/extraction/mod.rs b/src/subtitles/extraction/mod.rs
index b012658..5070fdb 100644
--- a/src/subtitles/extraction/mod.rs
+++ b/src/subtitles/extraction/mod.rs
@@ -8,7 +8,7 @@ use std::{collections::BTreeMap, sync::mpsc, thread};
 use ffmpeg::Rational;
 use relm4::{ComponentSender, Worker};
 
-use crate::subtitles::{SUBTITLE_TRACKS, StreamIndex, SubtitleCue, SubtitleTrack, TrackMetadata};
+use crate::subtitles::{SUBTITLE_TRACKS, StreamIndex, SubtitleCue};
 
 pub struct SubtitleExtractor {}
 
@@ -86,11 +86,6 @@ impl SubtitleExtractor {
             let stream_ix = stream.index();
 
             if stream.parameters().medium() == ffmpeg::media::Type::Subtitle {
-                let metadata = TrackMetadata::from_ffmpeg_stream(&stream);
-                let track = SubtitleTrack::new(metadata);
-
-                SUBTITLE_TRACKS.write().insert(stream_ix, track);
-
                 let context = ffmpeg::codec::Context::from_parameters(stream.parameters())?;
                 let (packet_tx, packet_rx) = mpsc::channel();
                 let time_base = stream.time_base();
@@ -107,17 +102,6 @@ impl SubtitleExtractor {
 
         if let Some(stream_ix) = whisper_audio_stream_ix {
             let stream = input.stream(stream_ix).unwrap();
-
-            let mut metadata = TrackMetadata::from_ffmpeg_stream(&stream);
-            metadata.title = Some(match metadata.title {
-                Some(title) => format!("Auto-generated from audio (Whisper): {}", title),
-                None => "Auto-generated from audio (Whisper)".to_string(),
-            });
-
-            let track = SubtitleTrack::new(metadata);
-
-            SUBTITLE_TRACKS.write().insert(stream_ix, track);
-
             let context = ffmpeg::codec::Context::from_parameters(stream.parameters())?;
             let (packet_tx, packet_rx) = mpsc::channel();
             let time_base = stream.time_base();
diff --git a/src/subtitles/mod.rs b/src/subtitles/mod.rs
index a545d52..acb73dc 100644
--- a/src/subtitles/mod.rs
+++ b/src/subtitles/mod.rs
@@ -26,9 +26,8 @@ pub struct SubtitleCue {
     pub end_time: gst::ClockTime,
 }
 
-#[derive(Debug, Clone)]
+#[derive(Default, Debug, Clone)]
 pub struct SubtitleTrack {
-    pub metadata: TrackMetadata,
     // SoA of cue text, start timestamp, end timestamp
     pub texts: Vec<String>,
     pub start_times: Vec<gst::ClockTime>,
@@ -50,15 +49,6 @@ impl TrackMetadata {
 }
 
 impl SubtitleTrack {
-    pub fn new(metadata: TrackMetadata) -> Self {
-        Self {
-            metadata,
-            texts: Vec::new(),
-            start_times: Vec::new(),
-            end_times: Vec::new(),
-        }
-    }
-
     pub fn push_cue(&mut self, cue: SubtitleCue) {
         let SubtitleCue {
             text,