diff options
| author | Malte Voos <git@mal.tc> | 2025-12-25 11:05:19 +0100 |
|---|---|---|
| committer | Malte Voos <git@mal.tc> | 2025-12-25 11:05:19 +0100 |
| commit | bb641f353c3dd81f5e3b16ecaf1fae669b3ac67b (patch) | |
| tree | 51def81474c6cd861fa98519c2b20b6d9f892ded /src/subtitles | |
| parent | c347b6133365dcf1b7da4e77890b20d04d6cfba4 (diff) | |
| download | lleap-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.rs | 18 | ||||
| -rw-r--r-- | src/subtitles/mod.rs | 12 |
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, |