aboutsummaryrefslogtreecommitdiff
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,