textaccumulate: drain to last match on timeout

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2528>
This commit is contained in:
Mathieu Duponchelle 2025-08-29 22:14:52 +02:00
parent 83d16a1cca
commit 22168549fa

View file

@ -162,7 +162,7 @@ impl Input {
fn drain_to_next_terminator(&mut self, timeout_terminators_regex: &Regex) -> Option<Vec<Item>> {
let content = self.items.iter().map(|item| item.content.clone()).join(" ");
if let Some(idx) = timeout_terminators_regex.find(&content) {
if let Some(idx) = timeout_terminators_regex.find_iter(&content).last() {
self.drain_to_idx(idx.end())
} else {
self.drain_all()