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/utils
diff options
context:
space:
mode:
authorFrançois Laignel <fengalin@free.fr>2022-07-04 19:04:11 +0300
committerFrançois Laignel <fengalin@free.fr>2022-07-11 22:21:54 +0300
commit5c5c15d36ad1e21b01ea52a4f2a8250029c099f6 (patch)
tree0d600d35ecde6ec6f7bc51b479266a2ff6e3f0ed /utils
parenta1b87669f25a0fcdf0809ac646cde17957f26c52 (diff)
Simplify Formatted value handling
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1059
Diffstat (limited to 'utils')
-rw-r--r--utils/fallbackswitch/src/fallbackswitch/imp.rs26
1 files changed, 8 insertions, 18 deletions
diff --git a/utils/fallbackswitch/src/fallbackswitch/imp.rs b/utils/fallbackswitch/src/fallbackswitch/imp.rs
index f4b56e4ca..7da658128 100644
--- a/utils/fallbackswitch/src/fallbackswitch/imp.rs
+++ b/utils/fallbackswitch/src/fallbackswitch/imp.rs
@@ -266,14 +266,10 @@ impl SinkState {
None
}
});
- let end_ts = Option::zip(start_ts, duration)
- .map(|(start_ts, duration)| start_ts.saturating_add(duration));
-
+ let end_ts = start_ts.opt_saturating_add(duration);
let (clipped_start_ts, clipped_end_ts) = self.segment.clip(start_ts, end_ts)?;
- let clipped_duration = Option::zip(clipped_start_ts, clipped_end_ts)
- .map(|(clipped_start_ts, clipped_end_ts)| clipped_end_ts - clipped_start_ts);
-
+ let clipped_duration = clipped_end_ts.opt_sub(clipped_start_ts);
if clipped_start_ts != start_ts || clipped_duration != buffer.duration() {
let buffer = buffer.make_mut();
buffer.set_pts(clipped_start_ts);
@@ -284,17 +280,13 @@ impl SinkState {
}
CapsInfo::None => {
let start_ts = buffer.pts();
- let end_ts = Option::zip(start_ts, buffer.duration())
- .map(|(start_ts, duration)| start_ts.saturating_add(duration));
+ let end_ts = start_ts.opt_saturating_add(buffer.duration());
// Can only clip buffers completely away, i.e. drop them, if they're raw
if let Some((clipped_start_ts, clipped_end_ts)) =
self.segment.clip(start_ts, end_ts)
{
- let clipped_duration = Option::zip(clipped_start_ts, clipped_end_ts).map(
- |(clipped_start_ts, clipped_end_ts)| clipped_end_ts - clipped_start_ts,
- );
-
+ let clipped_duration = clipped_end_ts.opt_sub(clipped_start_ts);
if clipped_start_ts != start_ts || clipped_duration != buffer.duration() {
let buffer = buffer.make_mut();
buffer.set_pts(clipped_start_ts);
@@ -719,12 +711,10 @@ impl FallbackSwitch {
}
if is_active {
- if Option::zip(start_running_time, state.output_running_time).map_or(
- false,
- |(start_running_time, output_running_time)| {
- start_running_time < output_running_time
- },
- ) {
+ if start_running_time
+ .opt_lt(state.output_running_time)
+ .unwrap_or(false)
+ {
if raw_pad {
log!(
CAT,