Struct gstreamer_audio::AudioStreamAlign [−][src]
pub struct AudioStreamAlign(_);
crate::AudioStreamAlign
provides a helper object that helps tracking audio
stream alignment and discontinuities, and detects discontinuities if
possible.
See Self::new()
for a description of its parameters and
Self::process()
for the details of the processing.
Implementations
impl AudioStreamAlign
[src]
impl AudioStreamAlign
[src]pub fn new(
rate: i32,
alignment_threshold: ClockTime,
discont_wait: ClockTime
) -> AudioStreamAlign
[src]
This is supported on crate feature v1_14
only.
pub fn new(
rate: i32,
alignment_threshold: ClockTime,
discont_wait: ClockTime
) -> AudioStreamAlign
[src]v1_14
only.Allocate a new crate::AudioStreamAlign
with the given configuration. All
processing happens according to sample rate rate
, until
Self::set_rate()
is called with a new rate
.
A negative rate can be used for reverse playback.
alignment_threshold
gives the tolerance in nanoseconds after which a
timestamp difference is considered a discontinuity. Once detected,
discont_wait
nanoseconds have to pass without going below the threshold
again until the output buffer is marked as a discontinuity. These can later
be re-configured with Self::set_alignment_threshold()
and
Self::set_discont_wait()
.
rate
a sample rate
alignment_threshold
a alignment threshold in nanoseconds
discont_wait
discont wait in nanoseconds
Returns
a new crate::AudioStreamAlign
. free with [Self::free()
].
pub fn alignment_threshold(&self) -> ClockTime
[src]
v1_14
only.pub fn discont_wait(&self) -> ClockTime
[src]
v1_14
only.pub fn rate(&self) -> i32
[src]
v1_14
only.pub fn samples_since_discont(&self) -> u64
[src]
v1_14
only.pub fn timestamp_at_discont(&self) -> ClockTime
[src]
v1_14
only.pub fn mark_discont(&mut self)
[src]
This is supported on crate feature v1_14
only.
pub fn mark_discont(&mut self)
[src]v1_14
only.Marks the next buffer as discontinuous and resets timestamp tracking.
pub fn set_alignment_threshold(&mut self, alignment_threshold: ClockTime)
[src]
This is supported on crate feature v1_14
only.
pub fn set_alignment_threshold(&mut self, alignment_threshold: ClockTime)
[src]v1_14
only.Sets alignment_treshold
as new alignment threshold for the following processing.
alignment_threshold
a new alignment threshold
pub fn set_discont_wait(&mut self, discont_wait: ClockTime)
[src]
This is supported on crate feature v1_14
only.
pub fn set_discont_wait(&mut self, discont_wait: ClockTime)
[src]v1_14
only.Sets alignment_treshold
as new discont wait for the following processing.
discont_wait
a new discont wait
impl AudioStreamAlign
[src]
impl AudioStreamAlign
[src]pub fn process(
&mut self,
discont: bool,
timestamp: ClockTime,
n_samples: u32
) -> (bool, ClockTime, ClockTime, u64)
[src]
This is supported on crate feature v1_14
only.
pub fn process(
&mut self,
discont: bool,
timestamp: ClockTime,
n_samples: u32
) -> (bool, ClockTime, ClockTime, u64)
[src]v1_14
only.Processes data with timestamp
and n_samples
, and returns the output
timestamp, duration and sample position together with a boolean to signal
whether a discontinuity was detected or not. All non-discontinuous data
will have perfect timestamps and durations.
A discontinuity is detected once the difference between the actual timestamp and the timestamp calculated from the sample count since the last discontinuity differs by more than the alignment threshold for a duration longer than discont wait.
Note: In reverse playback, every buffer is considered discontinuous in the context of buffer flags because the last sample of the previous buffer is discontinuous with the first sample of the current one. However for this function they are only considered discontinuous in reverse playback if the first sample of the previous buffer is discontinuous with the last sample of the current one.
discont
if this data is considered to be discontinuous
timestamp
a crate::gst::ClockTime
of the start of the data
n_samples
number of samples to process
out_timestamp
output timestamp of the data
out_duration
output duration of the data
out_sample_position
output sample position of the start of the data
Returns
Trait Implementations
impl Clone for AudioStreamAlign
[src]
impl Clone for AudioStreamAlign
[src]v1_14
only.fn clone(&self) -> AudioStreamAlign
[src]
fn clone(&self) -> AudioStreamAlign
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for AudioStreamAlign
[src]
impl Debug for AudioStreamAlign
[src]v1_14
only.impl Hash for AudioStreamAlign
[src]
impl Hash for AudioStreamAlign
[src]v1_14
only.impl Ord for AudioStreamAlign
[src]
impl Ord for AudioStreamAlign
[src]v1_14
only.impl PartialEq<AudioStreamAlign> for AudioStreamAlign
[src]
impl PartialEq<AudioStreamAlign> for AudioStreamAlign
[src]v1_14
only.fn eq(&self, other: &AudioStreamAlign) -> bool
[src]
fn eq(&self, other: &AudioStreamAlign) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &AudioStreamAlign) -> bool
[src]
fn ne(&self, other: &AudioStreamAlign) -> bool
[src]This method tests for !=
.
impl PartialOrd<AudioStreamAlign> for AudioStreamAlign
[src]
impl PartialOrd<AudioStreamAlign> for AudioStreamAlign
[src]v1_14
only.fn partial_cmp(&self, other: &AudioStreamAlign) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &AudioStreamAlign) -> Option<Ordering>
[src]This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl StaticType for AudioStreamAlign
[src]
impl StaticType for AudioStreamAlign
[src]v1_14
only.fn static_type() -> Type
[src]
fn static_type() -> Type
[src]Returns the type identifier of Self
.
impl Eq for AudioStreamAlign
[src]
v1_14
only.impl Send for AudioStreamAlign
[src]
v1_14
only.impl StructuralEq for AudioStreamAlign
[src]
v1_14
only.impl StructuralPartialEq for AudioStreamAlign
[src]
v1_14
only.impl Sync for AudioStreamAlign
[src]
v1_14
only.Auto Trait Implementations
impl RefUnwindSafe for AudioStreamAlign
impl Unpin for AudioStreamAlign
impl UnwindSafe for AudioStreamAlign
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> ToSendValue for T where
T: Send + ToValue + ?Sized,
[src]
impl<T> ToSendValue for T where
T: Send + ToValue + ?Sized,
[src]pub fn to_send_value(&self) -> SendValue
[src]
pub fn to_send_value(&self) -> SendValue
[src]Returns a SendValue
clone of self
.
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,
[src]
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,