mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2025-04-28 07:55:22 +00:00
transcriberbin: fix casing of translation languages
The language should only be lowercased in order to compare it to cc1 / cc3, but should be passed as is to the transcriber. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2027>
This commit is contained in:
parent
cb88843a5a
commit
70ed528c7a
1 changed files with 6 additions and 6 deletions
|
@ -1189,11 +1189,11 @@ impl TranscriberBin {
|
||||||
) -> Result<(), Error> {
|
) -> Result<(), Error> {
|
||||||
if let Some(ref map) = settings.translation_languages {
|
if let Some(ref map) = settings.translation_languages {
|
||||||
for (key, value) in map.iter() {
|
for (key, value) in map.iter() {
|
||||||
let key = key.to_lowercase();
|
let lowercased_key = key.to_lowercase();
|
||||||
let (language_code, caption_streams) = match mux_method {
|
let (language_code, caption_streams) = match mux_method {
|
||||||
MuxMethod::Cea608 => {
|
MuxMethod::Cea608 => {
|
||||||
if ["cc1", "cc3"].contains(&key.as_str()) {
|
if ["cc1", "cc3"].contains(&lowercased_key.as_str()) {
|
||||||
(value.get::<String>()?, vec![key.to_string()])
|
(value.get::<String>()?, vec![lowercased_key.to_string()])
|
||||||
} else if let Ok(caption_stream) = value.get::<String>() {
|
} else if let Ok(caption_stream) = value.get::<String>() {
|
||||||
if !["cc1", "cc3"].contains(&caption_stream.as_str()) {
|
if !["cc1", "cc3"].contains(&caption_stream.as_str()) {
|
||||||
anyhow::bail!(
|
anyhow::bail!(
|
||||||
|
@ -1201,14 +1201,14 @@ impl TranscriberBin {
|
||||||
caption_stream
|
caption_stream
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
(key, vec![caption_stream])
|
(key.to_string(), vec![caption_stream])
|
||||||
} else {
|
} else {
|
||||||
anyhow::bail!("Unknown 608 channel/language {}", key);
|
anyhow::bail!("Unknown 608 channel/language {}", key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MuxMethod::Cea708 => {
|
MuxMethod::Cea708 => {
|
||||||
if let Ok(caption_stream) = value.get::<String>() {
|
if let Ok(caption_stream) = value.get::<String>() {
|
||||||
(key, vec![caption_stream])
|
(key.to_string(), vec![caption_stream])
|
||||||
} else if let Ok(caption_streams) = value.get::<gst::List>() {
|
} else if let Ok(caption_streams) = value.get::<gst::List>() {
|
||||||
let mut streams = vec![];
|
let mut streams = vec![];
|
||||||
for s in caption_streams.iter() {
|
for s in caption_streams.iter() {
|
||||||
|
@ -1221,7 +1221,7 @@ impl TranscriberBin {
|
||||||
anyhow::bail!("Unknown 708 service {}, valid values are cc1, cc3 or 708_*", key);
|
anyhow::bail!("Unknown 708 service {}, valid values are cc1, cc3 or 708_*", key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
(key, streams)
|
(key.to_string(), streams)
|
||||||
} else {
|
} else {
|
||||||
anyhow::bail!("Unknown 708 translation language field {}", key);
|
anyhow::bail!("Unknown 708 translation language field {}", key);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue