Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/video
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu@centricular.com>2023-04-07 18:46:45 +0300
committerMathieu Duponchelle <mathieu@centricular.com>2023-04-07 18:46:45 +0300
commitc8461472750f9127eb79715205e81b7eca6f45a3 (patch)
tree2d6833e43a927b23909b3c76ec7eecaf4d77a958 /video
parentc141a82dfb7c16fb8bda611122ba30fda59c1e5f (diff)
transcriberbin: require final framerate from cea608mux
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1164>
Diffstat (limited to 'video')
-rw-r--r--video/closedcaption/src/transcriberbin/imp.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/video/closedcaption/src/transcriberbin/imp.rs b/video/closedcaption/src/transcriberbin/imp.rs
index 39968fc02..94638438e 100644
--- a/video/closedcaption/src/transcriberbin/imp.rs
+++ b/video/closedcaption/src/transcriberbin/imp.rs
@@ -74,6 +74,7 @@ struct State {
transcriber_aconv: gst::Element,
transcriber: gst::Element,
ccmux: gst::Element,
+ ccmux_filter: gst::Element,
cccombiner: gst::Element,
transcription_bin: gst::Bin,
transcription_channels: HashMap<String, TranscriptionChannel>,
@@ -176,6 +177,7 @@ impl TranscriberBin {
&state.transcriber_aconv,
&state.transcriber,
&state.ccmux,
+ &state.ccmux_filter,
&ccconverter,
&state.cccapsfilter,
&state.transcription_valve,
@@ -189,6 +191,7 @@ impl TranscriberBin {
gst::Element::link_many([
&state.ccmux,
+ &state.ccmux_filter,
&ccconverter,
&state.cccapsfilter,
&state.transcription_valve,
@@ -329,6 +332,12 @@ impl TranscriberBin {
state.cccapsfilter.set_property("caps", &cc_caps);
+ let ccmux_caps = gst::Caps::builder("closedcaption/x-cea-608")
+ .field("framerate", state.framerate.unwrap())
+ .build();
+
+ state.ccmux_filter.set_property("caps", ccmux_caps);
+
let max_size_time = settings.latency
+ settings.translate_latency
+ settings.accumulate_time
@@ -710,6 +719,7 @@ impl TranscriberBin {
let ccmux = gst::ElementFactory::make("cea608mux")
.property_from_str("start-time-selection", "first")
.build()?;
+ let ccmux_filter = gst::ElementFactory::make("capsfilter").build()?;
let mut transcription_channels = HashMap::new();
@@ -741,6 +751,7 @@ impl TranscriberBin {
transcriber_aconv,
transcriber,
ccmux,
+ ccmux_filter,
audio_tee,
cccombiner,
transcription_bin,