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

github.com/sdroege/gst-plugin-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>2023-02-08 22:36:24 +0300
committerJan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>2023-02-09 15:07:33 +0300
commitf55c32ed37b8d3de1432fcbf3b6764d85efb71f5 (patch)
treebd0e19157de1ed11846e685f5b17d9f7834c6dc7 /utils
parent953773a3140707552c1321c8fb8c673e0002a085 (diff)
livesync: Document State's fields
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1083>
Diffstat (limited to 'utils')
-rw-r--r--utils/livesync/src/livesync/imp.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/utils/livesync/src/livesync/imp.rs b/utils/livesync/src/livesync/imp.rs
index b7c24201..36f01e53 100644
--- a/utils/livesync/src/livesync/imp.rs
+++ b/utils/livesync/src/livesync/imp.rs
@@ -70,38 +70,79 @@ pub struct LiveSync {
#[derive(Debug)]
struct State {
+ /// See `PROP_LATENCY`
latency: gst::ClockTime,
+
+ /// See `PROP_LATE_THRESHOLD`
late_threshold: Option<gst::ClockTime>,
+
+ /// See `PROP_SINGLE_SEGMENT`
single_segment: bool,
+ /// Latency reported by upstream
upstream_latency: Option<gst::ClockTime>,
+
+ /// Duration we assume for buffers without one
fallback_duration: gst::ClockTime,
+ /// Whether we're in PLAYING state
playing: bool,
+
+ /// Whether our sinkpad is EOS
eos: bool,
+ /// Flow state of our srcpad
srcresult: Result<gst::FlowSuccess, gst::FlowError>,
+
+ /// Wait operation for our next buffer
clock_id: Option<gst::SingleShotClockId>,
+ /// Segment of our sinkpad
in_segment: Option<gst::FormattedSegment<gst::ClockTime>>,
+
+ /// Segment to be applied to the srcpad on the next queued buffer
pending_segment: Option<gst::FormattedSegment<gst::ClockTime>>,
+
+ /// Segment of our srcpad
out_segment: Option<gst::FormattedSegment<gst::ClockTime>>,
+ /// Caps of our sinkpad
in_caps: Option<gst::Caps>,
+
+ /// Caps to be applied to the srcpad on the next queued buffer
pending_caps: Option<gst::Caps>,
+
+ /// Audio format of our sinkpad
in_audio_info: Option<gst_audio::AudioInfo>,
+
+ /// Audio format of our srcpad
out_audio_info: Option<gst_audio::AudioInfo>,
+ /// Queue between sinkpad and srcpad
queue: VecDeque<Item>,
+
+ /// Whether our queue currently holds a buffer. We only allow one!
buffer_queued: bool,
+
+ /// Current buffer of our srcpad
out_buffer: Option<gst::Buffer>,
+ /// Running timestamp of our sinkpad
in_timestamp: Option<Timestamps>,
+
+ /// Running timestamp of our srcpad
out_timestamp: Option<Timestamps>,
+ /// See `PROP_IN`
num_in: u64,
+
+ /// See `PROP_DROP`
num_drop: u64,
+
+ /// See `PROP_OUT`
num_out: u64,
+
+ /// See `PROP_DUPLICATE`
num_duplicate: u64,
}