gstaudiobasesink

gstaudiobasesink

Functions

Properties

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstBaseSink
                    ╰── GstAudioBaseSink
                        ╰── GstAudioSink

Includes

#include <gst/audio/gstaudiobasesink.h>

Description

Functions

GstAudioBaseSinkCustomSlavingCallback ()

void
(*GstAudioBaseSinkCustomSlavingCallback)
                               (GstAudioBaseSink *sink,
                                GstClockTime etime,
                                GstClockTime itime,
                                GstClockTimeDiff *requested_skew,
                                GstAudioBaseSinkDiscontReason discont_reason,
                                gpointer user_data);

GST_AUDIO_BASE_SINK_CLOCK()

#define GST_AUDIO_BASE_SINK_CLOCK(obj)   (GST_AUDIO_BASE_SINK (obj)->clock)

GST_AUDIO_BASE_SINK_PAD()

#define GST_AUDIO_BASE_SINK_PAD(obj)     (GST_BASE_SINK (obj)->sinkpad)

gst_audio_base_sink_create_ringbuffer ()

GstAudioRingBuffer *
gst_audio_base_sink_create_ringbuffer (GstAudioBaseSink *sink);

gst_audio_base_sink_set_provide_clock ()

void
gst_audio_base_sink_set_provide_clock (GstAudioBaseSink *sink,
                                       gboolean provide);

gst_audio_base_sink_get_provide_clock ()

gboolean
gst_audio_base_sink_get_provide_clock (GstAudioBaseSink *sink);

gst_audio_base_sink_set_slave_method ()

void
gst_audio_base_sink_set_slave_method (GstAudioBaseSink *sink,
                                      GstAudioBaseSinkSlaveMethod method);

gst_audio_base_sink_get_slave_method ()

GstAudioBaseSinkSlaveMethod
gst_audio_base_sink_get_slave_method (GstAudioBaseSink *sink);

gst_audio_base_sink_set_drift_tolerance ()

void
gst_audio_base_sink_set_drift_tolerance
                               (GstAudioBaseSink *sink,
                                gint64 drift_tolerance);

gst_audio_base_sink_get_drift_tolerance ()

gint64
gst_audio_base_sink_get_drift_tolerance
                               (GstAudioBaseSink *sink);

gst_audio_base_sink_set_alignment_threshold ()

void
gst_audio_base_sink_set_alignment_threshold
                               (GstAudioBaseSink *sink,
                                GstClockTime alignment_threshold);

gst_audio_base_sink_get_alignment_threshold ()

GstClockTime
gst_audio_base_sink_get_alignment_threshold
                               (GstAudioBaseSink *sink);

gst_audio_base_sink_set_discont_wait ()

void
gst_audio_base_sink_set_discont_wait (GstAudioBaseSink *sink,
                                      GstClockTime discont_wait);

gst_audio_base_sink_get_discont_wait ()

GstClockTime
gst_audio_base_sink_get_discont_wait (GstAudioBaseSink *sink);

gst_audio_base_sink_set_custom_slaving_callback ()

void
gst_audio_base_sink_set_custom_slaving_callback
                               (GstAudioBaseSink *sink,
                                GstAudioBaseSinkCustomSlavingCallback callback,
                                gpointer user_data,
                                GDestroyNotify notify);

gst_audio_base_sink_report_device_failure ()

void
gst_audio_base_sink_report_device_failure
                               (GstAudioBaseSink *sink);

Types and Values

struct GstAudioBaseSink

struct GstAudioBaseSink;

struct GstAudioBaseSinkClass

struct GstAudioBaseSinkClass {
  GstBaseSinkClass     parent_class;

  /* subclass ringbuffer allocation */
  GstAudioRingBuffer* (*create_ringbuffer)  (GstAudioBaseSink *sink);

  /* subclass payloader */
  GstBuffer*          (*payload)            (GstAudioBaseSink *sink,
                                             GstBuffer        *buffer);
};

enum GstAudioBaseSinkSlaveMethod

Members

GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE

   

GST_AUDIO_BASE_SINK_SLAVE_SKEW

   

GST_AUDIO_BASE_SINK_SLAVE_NONE

   

GST_AUDIO_BASE_SINK_SLAVE_CUSTOM

   

enum GstAudioBaseSinkDiscontReason

Members

GST_AUDIO_BASE_SINK_DISCONT_REASON_NO_DISCONT

   

GST_AUDIO_BASE_SINK_DISCONT_REASON_NEW_CAPS

   

GST_AUDIO_BASE_SINK_DISCONT_REASON_FLUSH

   

GST_AUDIO_BASE_SINK_DISCONT_REASON_SYNC_LATENCY

   

GST_AUDIO_BASE_SINK_DISCONT_REASON_ALIGNMENT

   

GST_AUDIO_BASE_SINK_DISCONT_REASON_DEVICE_FAILURE

   

Property Details

The “alignment-threshold” property

  “alignment-threshold”      guint64

Timestamp alignment threshold in nanoseconds.

Flags: Read / Write

Allowed values: [1,18446744073709551614]

Default value: 40000000


The “buffer-time” property

  “buffer-time”              gint64

Size of audio buffer in microseconds, this is the minimum latency that the sink reports.

Flags: Read / Write

Allowed values: >= 1

Default value: 200000


The “can-activate-pull” property

  “can-activate-pull”        gboolean

Allow pull-based scheduling.

Flags: Read / Write

Default value: FALSE


The “discont-wait” property

  “discont-wait”             guint64

Window of time in nanoseconds to wait before creating a discontinuity.

Flags: Read / Write

Allowed values: <= 18446744073709551614

Default value: 1000000000


The “drift-tolerance” property

  “drift-tolerance”          gint64

Tolerance for clock drift in microseconds.

Flags: Read / Write

Allowed values: >= 1

Default value: 40000


The “latency-time” property

  “latency-time”             gint64

The minimum amount of data to write in each iteration in microseconds.

Flags: Read / Write

Allowed values: >= 1

Default value: 10000


The “provide-clock” property

  “provide-clock”            gboolean

Provide a clock to be used as the global pipeline clock.

Flags: Read / Write

Default value: TRUE


The “slave-method” property

  “slave-method”             GstAudioBaseSinkSlaveMethod

Algorithm used to match the rate of the masterclock.

Flags: Read / Write

Default value: GST_AUDIO_BASE_SINK_SLAVE_SKEW