diff options
author | Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com> | 2023-10-25 20:03:52 +0300 |
---|---|---|
committer | Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com> | 2023-10-25 20:34:47 +0300 |
commit | e3e58ac0be2a2c0b3334b9235e1617c746ff929f (patch) | |
tree | a14a5b78dd0fc43a5fbd0323d08202c90fef0ed4 /utils | |
parent | f1ba498b529ffa6bff06af0868b1a95b5c37367e (diff) |
livesync: Remove the stop from outgoing segments
Our buffer duplication can extend a segment indefinitely.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/452
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1372>
Diffstat (limited to 'utils')
-rw-r--r-- | utils/livesync/src/livesync/imp.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/utils/livesync/src/livesync/imp.rs b/utils/livesync/src/livesync/imp.rs index 268eb1d7a..5434defd3 100644 --- a/utils/livesync/src/livesync/imp.rs +++ b/utils/livesync/src/livesync/imp.rs @@ -1157,8 +1157,13 @@ impl LiveSync { state.out_duration = duration_from_caps(&caps); } - if let Some(segment) = segment { + if let Some(mut segment) = segment { if !state.single_segment { + if let Some(stop) = segment.stop() { + gst::debug!(CAT, imp: self, "Removing stop {} from outgoing segment", stop); + segment.set_stop(gst::ClockTime::NONE); + } + gst::debug!(CAT, imp: self, "Forwarding segment: {:?}", segment); let event = gst::event::Segment::new(&segment); |