Blame docs/libs/html/GstAudioRingBuffer.html

Packit 971217
Packit 971217
<html>
Packit 971217
<head>
Packit 971217
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit 971217
<title>GstAudioRingBuffer: GStreamer Base Plugins 1.0 Library Reference Manual</title>
Packit 971217
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
Packit 971217
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
Packit 971217
<link rel="up" href="gstreamer-audio.html" title="Audio Library">
Packit 971217
<link rel="prev" href="gst-plugins-base-libs-GstAudioQuantize.html" title="GstAudioQuantize">
Packit 971217
<link rel="next" href="gst-plugins-base-libs-GstAudio-IEC61937.html" title="GstAudio IEC61937">
Packit 971217
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
Packit 971217
<link rel="stylesheet" href="style.css" type="text/css">
Packit 971217
</head>
Packit 971217
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit 971217
Packit 971217
Packit 971217
Top  | 
Packit 971217
                  Description  | 
Packit 971217
                  Object Hierarchy
Packit 971217
Packit 971217
Home
Packit 971217
Up
Packit 971217
Prev
Packit 971217
Next
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

GstAudioRingBuffer

Packit 971217

GstAudioRingBuffer — Base class for audio ringbuffer implementations

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Functions

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
(*GstAudioRingBufferCallback) ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
#define
Packit 971217
Packit 971217
GST_AUDIO_RING_BUFFER_BROADCAST()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
#define
Packit 971217
Packit 971217
GST_AUDIO_RING_BUFFER_GET_COND()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
#define
Packit 971217
Packit 971217
GST_AUDIO_RING_BUFFER_SIGNAL()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
#define
Packit 971217
Packit 971217
GST_AUDIO_RING_BUFFER_WAIT()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_set_callback ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_set_callback_full ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_acquire ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_release ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_is_acquired ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_activate ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_is_active ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_start ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_pause ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_stop ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
guint
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_delay ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
guint64
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_samples_done ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_set_sample ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
guint
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_commit ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_convert ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_prepare_read ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
guint
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_read ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_clear ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_clear_all ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_advance ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_close_device ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_open_device ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_device_is_open ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_may_start ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_parse_caps ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_set_flushing ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
gboolean
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_is_flushing ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_set_channel_positions ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
void
Packit 971217
Packit 971217
Packit 971217
gst_audio_ring_buffer_set_timestamp ()
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Types and Values

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
struct
Packit 971217
GstAudioRingBuffer
Packit 971217
Packit 971217
Packit 971217
struct
Packit 971217
GstAudioRingBufferClass
Packit 971217
Packit 971217
Packit 971217
struct
Packit 971217
GstAudioRingBufferSpec
Packit 971217
Packit 971217
Packit 971217
enum
Packit 971217
GstAudioRingBufferState
Packit 971217
Packit 971217
Packit 971217
enum
Packit 971217
GstAudioRingBufferFormatType
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Object Hierarchy

Packit 971217
    GObject
Packit 971217
    ╰── GInitiallyUnowned
Packit 971217
        ╰── GstObject
Packit 971217
            ╰── GstAudioRingBuffer
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Includes

Packit 971217
#include <gst/audio/gstaudioringbuffer.h>
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Description

Packit 971217

This object is the base class for audio ringbuffers used by the base

Packit 971217
audio source and sink classes.

Packit 971217

The ringbuffer abstracts a circular buffer of data. One reader and

Packit 971217
one writer can operate on the data from different threads in a lockfree
Packit 971217
manner. The base class is sufficiently flexible to be used as an
Packit 971217
abstraction for DMA based ringbuffers as well as a pure software
Packit 971217
implementations.

Packit 971217
Packit 971217
Packit 971217

Functions

Packit 971217
Packit 971217

GstAudioRingBufferCallback ()

Packit 971217
void
Packit 971217
(*GstAudioRingBufferCallback) (GstAudioRingBuffer *rbuf,
Packit 971217
                               guint8 *data,
Packit 971217
                               guint len,
Packit 971217
                               gpointer user_data);
Packit 971217

This function is set with gst_audio_ring_buffer_set_callback() and is

Packit 971217
called to fill the memory at data
Packit 971217
 with len
Packit 971217
 bytes of samples.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

rbuf

Packit 971217

a GstAudioRingBuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

data

Packit 971217

target to fill.

Packit 971217
[array length=len]
Packit 971217
Packit 971217
Packit 971217

len

Packit 971217

amount to fill

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

user_data

Packit 971217

user data

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_BROADCAST()

Packit 971217
#define GST_AUDIO_RING_BUFFER_BROADCAST(buf)(g_cond_broadcast (GST_AUDIO_RING_BUFFER_GET_COND (buf)))
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_GET_COND()

Packit 971217
#define GST_AUDIO_RING_BUFFER_GET_COND(buf) (&(((GstAudioRingBuffer *)buf)->cond))
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_SIGNAL()

Packit 971217
#define GST_AUDIO_RING_BUFFER_SIGNAL(buf)   (g_cond_signal (GST_AUDIO_RING_BUFFER_GET_COND (buf)))
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_WAIT()

Packit 971217
#define GST_AUDIO_RING_BUFFER_WAIT(buf)     (g_cond_wait (GST_AUDIO_RING_BUFFER_GET_COND (buf), GST_OBJECT_GET_LOCK (buf)))
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_set_callback ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_set_callback (GstAudioRingBuffer *buf,
Packit 971217
                                    GstAudioRingBufferCallback cb,
Packit 971217
                                    gpointer user_data);
Packit 971217

Sets the given callback function on the buffer. This function

Packit 971217
will be called every time a segment has been written to a device.

Packit 971217

MT safe.

Packit 971217

[skip]

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to set the callback on

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

cb

Packit 971217

the callback to set.

Packit 971217
[allow-none]
Packit 971217
Packit 971217
Packit 971217

user_data

Packit 971217

user data passed to the callback

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_set_callback_full ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_set_callback_full
Packit 971217
                               (GstAudioRingBuffer *buf,
Packit 971217
                                GstAudioRingBufferCallback cb,
Packit 971217
                                gpointer user_data,
Packit 971217
                                GDestroyNotify notify);
Packit 971217

Sets the given callback function on the buffer. This function

Packit 971217
will be called every time a segment has been written to a device.

Packit 971217

MT safe.

Packit 971217

[rename-to gst_audio_ring_buffer_set_callback]

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to set the callback on

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

cb

Packit 971217

the callback to set.

Packit 971217
[allow-none]
Packit 971217
Packit 971217
Packit 971217

user_data

Packit 971217

user data passed to the callback

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

notify

Packit 971217

function to be called when user_data

Packit 971217
is no longer needed

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Since: 1.12

Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_acquire ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_acquire (GstAudioRingBuffer *buf,
Packit 971217
                               GstAudioRingBufferSpec *spec);
Packit 971217

Allocate the resources for the ringbuffer. This function fills

Packit 971217
in the data pointer of the ring buffer with a valid GstBuffer
Packit 971217
to which samples can be written.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to acquire

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

spec

Packit 971217

the specs of the buffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device could be acquired, FALSE on error.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_release ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_release (GstAudioRingBuffer *buf);
Packit 971217

Free the resources of the ringbuffer.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to release

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device could be released, FALSE on error.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_is_acquired ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_is_acquired (GstAudioRingBuffer *buf);
Packit 971217

Check if the ringbuffer is acquired and ready to use.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to check

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the ringbuffer is acquired, FALSE on error.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_activate ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_activate (GstAudioRingBuffer *buf,
Packit 971217
                                gboolean active);
Packit 971217

Activate buf

Packit 971217
 to start or stop pulling data.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to activate

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

active

Packit 971217

the new mode

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device could be activated in the requested mode,

Packit 971217
FALSE on error.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_is_active ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_is_active (GstAudioRingBuffer *buf);
Packit 971217

Check if buf

Packit 971217
 is activated.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device is active.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_start ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_start (GstAudioRingBuffer *buf);
Packit 971217

Start processing samples from the ringbuffer.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to start

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device could be started, FALSE on error.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_pause ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_pause (GstAudioRingBuffer *buf);
Packit 971217

Pause processing samples from the ringbuffer.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to pause

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device could be paused, FALSE on error.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_stop ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_stop (GstAudioRingBuffer *buf);
Packit 971217

Stop processing samples from the ringbuffer.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to stop

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device could be stopped, FALSE on error.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_delay ()

Packit 971217
guint
Packit 971217
gst_audio_ring_buffer_delay (GstAudioRingBuffer *buf);
Packit 971217

Get the number of samples queued in the audio device. This is

Packit 971217
usually less than the segment size but can be bigger when the
Packit 971217
implementation uses another internal buffer between the audio
Packit 971217
device.

Packit 971217

For playback ringbuffers this is the amount of samples transfered from the

Packit 971217
ringbuffer to the device but still not played.

Packit 971217

For capture ringbuffers this is the amount of samples in the device that are

Packit 971217
not yet transfered to the ringbuffer.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to query

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

The number of samples queued in the audio device.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_samples_done ()

Packit 971217
guint64
Packit 971217
gst_audio_ring_buffer_samples_done (GstAudioRingBuffer *buf);
Packit 971217

Get the number of samples that were processed by the ringbuffer

Packit 971217
since it was last started. This does not include the number of samples not
Packit 971217
yet processed (see gst_audio_ring_buffer_delay()).

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to query

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

The number of samples processed by the ringbuffer.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_set_sample ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_set_sample (GstAudioRingBuffer *buf,
Packit 971217
                                  guint64 sample);
Packit 971217

Make sure that the next sample written to the device is

Packit 971217
accounted for as being the sample
Packit 971217
 sample written to the
Packit 971217
device. This value will be used in reporting the current
Packit 971217
sample position of the ringbuffer.

Packit 971217

This function will also clear the buffer with silence.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to use

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

sample

Packit 971217

the sample number to set

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_commit ()

Packit 971217
guint
Packit 971217
gst_audio_ring_buffer_commit (GstAudioRingBuffer *buf,
Packit 971217
                              guint64 *sample,
Packit 971217
                              guint8 *data,
Packit 971217
                              gint in_samples,
Packit 971217
                              gint out_samples,
Packit 971217
                              gint *accum);
Packit 971217

Commit in_samples

Packit 971217
 samples pointed to by data
Packit 971217
 to the ringbuffer buf
Packit 971217
.

Packit 971217

in_samples

Packit 971217
 and out_samples
Packit 971217
 define the rate conversion to perform on the
Packit 971217
samples in data
Packit 971217
. For negative rates, out_samples
Packit 971217
 must be negative and
Packit 971217
in_samples
Packit 971217
 positive.

Packit 971217

When out_samples

Packit 971217
 is positive, the first sample will be written at position sample
Packit 971217
Packit 971217
in the ringbuffer. When out_samples
Packit 971217
 is negative, the last sample will be written to
Packit 971217
sample
Packit 971217
 in reverse order.

Packit 971217

out_samples

Packit 971217
 does not need to be a multiple of the segment size of the ringbuffer
Packit 971217
although it is recommended for optimal performance.

Packit 971217

accum

Packit 971217
 will hold a temporary accumulator used in rate conversion and should be
Packit 971217
set to 0 when this function is first called. In case the commit operation is
Packit 971217
interrupted, one can resume the processing by passing the previously returned
Packit 971217
accum
Packit 971217
 value back to this function.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to commit

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

sample

Packit 971217

the sample position of the data

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

data

Packit 971217

the data to commit.

Packit 971217
[array length=in_samples]
Packit 971217
Packit 971217
Packit 971217

in_samples

Packit 971217

the number of samples in the data to commit

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

out_samples

Packit 971217

the number of samples to write to the ringbuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

accum

Packit 971217

accumulator for rate conversion.

Packit 971217
[inout]
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

The number of samples written to the ringbuffer or -1 on error. The

Packit 971217
number of samples written can be less than out_samples
Packit 971217
when buf
Packit 971217
was interrupted
Packit 971217
with a flush or stop.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_convert ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_convert (GstAudioRingBuffer *buf,
Packit 971217
                               GstFormat src_fmt,
Packit 971217
                               gint64 src_val,
Packit 971217
                               GstFormat dest_fmt,
Packit 971217
                               gint64 *dest_val);
Packit 971217

Convert src_val

Packit 971217
 in src_fmt
Packit 971217
 to the equivalent value in dest_fmt
Packit 971217
. The result
Packit 971217
will be put in dest_val
Packit 971217
.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

src_fmt

Packit 971217

the source format

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

src_val

Packit 971217

the source value

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

dest_fmt

Packit 971217

the destination format

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

dest_val

Packit 971217

a location to store the converted value.

Packit 971217
[out]
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the conversion succeeded.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_prepare_read ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_prepare_read (GstAudioRingBuffer *buf,
Packit 971217
                                    gint *segment,
Packit 971217
                                    guint8 **readptr,
Packit 971217
                                    gint *len);
Packit 971217

Returns a pointer to memory where the data from segment segment

Packit 971217
Packit 971217
can be found. This function is mostly used by subclasses.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to read from

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

segment

Packit 971217

the segment to read.

Packit 971217
[out]
Packit 971217
Packit 971217
Packit 971217

readptr

Packit 971217

the pointer to the memory where samples can be read.

Packit 971217
[out][array length=len]
Packit 971217
Packit 971217
Packit 971217

len

Packit 971217

the number of bytes to read.

Packit 971217
[out]
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

FALSE if the buffer is not started.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_read ()

Packit 971217
guint
Packit 971217
gst_audio_ring_buffer_read (GstAudioRingBuffer *buf,
Packit 971217
                            guint64 sample,
Packit 971217
                            guint8 *data,
Packit 971217
                            guint len,
Packit 971217
                            GstClockTime *timestamp);
Packit 971217

Read len

Packit 971217
 samples from the ringbuffer into the memory pointed
Packit 971217
to by data
Packit 971217
.
Packit 971217
The first sample should be read from position sample
Packit 971217
 in
Packit 971217
the ringbuffer.

Packit 971217

len

Packit 971217
 should not be a multiple of the segment size of the ringbuffer
Packit 971217
although it is recommended.

Packit 971217

timestamp

Packit 971217
 will return the timestamp associated with the data returned.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to read from

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

sample

Packit 971217

the sample position of the data

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

data

Packit 971217

where the data should be read.

Packit 971217
[array length=len]
Packit 971217
Packit 971217
Packit 971217

len

Packit 971217

the number of samples in data to read

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

timestamp

Packit 971217

where the timestamp is returned.

Packit 971217
[out]
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

The number of samples read from the ringbuffer or -1 on

Packit 971217
error.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_clear ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_clear (GstAudioRingBuffer *buf,
Packit 971217
                             gint segment);
Packit 971217

Clear the given segment of the buffer with silence samples.

Packit 971217
This function is used by subclasses.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to clear

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

segment

Packit 971217

the segment to clear

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_clear_all ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_clear_all (GstAudioRingBuffer *buf);
Packit 971217

Fill the ringbuffer with silence.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to clear

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_advance ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_advance (GstAudioRingBuffer *buf,
Packit 971217
                               guint advance);
Packit 971217

Subclasses should call this function to notify the fact that

Packit 971217
advance
Packit 971217
 segments are now processed by the device.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to advance

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

advance

Packit 971217

the number of segments written

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_close_device ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_close_device (GstAudioRingBuffer *buf);
Packit 971217

Close the audio device associated with the ring buffer. The ring buffer

Packit 971217
should already have been released via gst_audio_ring_buffer_release().

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device could be closed, FALSE on error.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_open_device ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_open_device (GstAudioRingBuffer *buf);
Packit 971217

Open the audio device associated with the ring buffer. Does not perform any

Packit 971217
setup on the device. You must open the device before acquiring the ring
Packit 971217
buffer.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device could be opened, FALSE on error.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_device_is_open ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_device_is_open (GstAudioRingBuffer *buf);
Packit 971217

Checks the status of the device associated with the ring buffer.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device was open, FALSE if it was closed.

Packit 971217

MT safe.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_may_start ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_may_start (GstAudioRingBuffer *buf,
Packit 971217
                                 gboolean allowed);
Packit 971217

Tell the ringbuffer that it is allowed to start playback when

Packit 971217
the ringbuffer is filled with samples.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

allowed

Packit 971217

the new value

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_parse_caps ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_parse_caps (GstAudioRingBufferSpec *spec,
Packit 971217
                                  GstCaps *caps);
Packit 971217

Parse caps

Packit 971217
 into spec
Packit 971217
.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

spec

Packit 971217

a spec

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

caps

Packit 971217

a GstCaps

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the caps could be parsed.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_set_flushing ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_set_flushing (GstAudioRingBuffer *buf,
Packit 971217
                                    gboolean flushing);
Packit 971217

Set the ringbuffer to flushing mode or normal mode.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer to flush

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

flushing

Packit 971217

the new mode

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_is_flushing ()

Packit 971217
gboolean
Packit 971217
gst_audio_ring_buffer_is_flushing (GstAudioRingBuffer *buf);
Packit 971217

Check if buf

Packit 971217
 is flushing.

Packit 971217

MT safe.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Returns

Packit 971217

TRUE if the device is flushing.

Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_set_channel_positions ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_set_channel_positions
Packit 971217
                               (GstAudioRingBuffer *buf,
Packit 971217
                                const GstAudioChannelPosition *position);
Packit 971217

Tell the ringbuffer about the device's channel positions. This must

Packit 971217
be called in when the ringbuffer is acquired.

Packit 971217
Packit 971217

Parameters

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

buf

Packit 971217

the GstAudioRingBuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

position

Packit 971217

the device channel positions.

Packit 971217
[array]
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

gst_audio_ring_buffer_set_timestamp ()

Packit 971217
void
Packit 971217
gst_audio_ring_buffer_set_timestamp (GstAudioRingBuffer *buf,
Packit 971217
                                     gint readseg,
Packit 971217
                                     GstClockTime timestamp);
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Types and Values

Packit 971217
Packit 971217

struct GstAudioRingBuffer

Packit 971217
struct GstAudioRingBuffer {
Packit 971217
  GCond                      cond;
Packit 971217
  gboolean                    open;
Packit 971217
  gboolean                    acquired;
Packit 971217
  guint8                     *memory;
Packit 971217
  gsize                       size;
Packit 971217
  GstClockTime               *timestamps;
Packit 971217
  GstAudioRingBufferSpec      spec;
Packit 971217
  gint                        samples_per_seg;
Packit 971217
  guint8                     *empty_seg;
Packit 971217
Packit 971217
  gint                        state;
Packit 971217
  gint                        segdone;
Packit 971217
  gint                        segbase;
Packit 971217
  gint                        waiting;
Packit 971217
};
Packit 971217
Packit 971217

The ringbuffer base class structure.

Packit 971217
Packit 971217

Members

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

GCond cond;

Packit 971217

used to signal start/stop/pause/resume actions

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gboolean open;

Packit 971217

boolean indicating that the ringbuffer is open

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gboolean acquired;

Packit 971217

boolean indicating that the ringbuffer is acquired

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

guint8 *memory;

Packit 971217

data in the ringbuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gsize size;

Packit 971217

size of data in the ringbuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GstClockTime *timestamps;

Packit 971217
 
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GstAudioRingBufferSpec spec;

Packit 971217

format and layout of the ringbuffer data

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gint samples_per_seg;

Packit 971217

number of samples in one segment

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

guint8 *empty_seg;

Packit 971217

pointer to memory holding one segment of silence samples

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gint state;

Packit 971217

state of the buffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gint segdone;

Packit 971217

readpointer in the ringbuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gint segbase;

Packit 971217

segment corresponding to segment 0 (unused)

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gint waiting;

Packit 971217

is a reader or writer waiting for a free segment

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

struct GstAudioRingBufferClass

Packit 971217
struct GstAudioRingBufferClass {
Packit 971217
  GstObjectClass parent_class;
Packit 971217
Packit 971217
  gboolean     (*open_device)  (GstAudioRingBuffer *buf);
Packit 971217
  gboolean     (*acquire)      (GstAudioRingBuffer *buf, GstAudioRingBufferSpec *spec);
Packit 971217
  gboolean     (*release)      (GstAudioRingBuffer *buf);
Packit 971217
  gboolean     (*close_device) (GstAudioRingBuffer *buf);
Packit 971217
Packit 971217
  gboolean     (*start)        (GstAudioRingBuffer *buf);
Packit 971217
  gboolean     (*pause)        (GstAudioRingBuffer *buf);
Packit 971217
  gboolean     (*resume)       (GstAudioRingBuffer *buf);
Packit 971217
  gboolean     (*stop)         (GstAudioRingBuffer *buf);
Packit 971217
Packit 971217
  guint        (*delay)        (GstAudioRingBuffer *buf);
Packit 971217
Packit 971217
  /* ABI added */
Packit 971217
  gboolean     (*activate)     (GstAudioRingBuffer *buf, gboolean active);
Packit 971217
Packit 971217
  guint        (*commit)       (GstAudioRingBuffer * buf, guint64 *sample,
Packit 971217
                                guint8 * data, gint in_samples,
Packit 971217
                                gint out_samples, gint * accum);
Packit 971217
Packit 971217
  void         (*clear_all)    (GstAudioRingBuffer * buf);
Packit 971217
};
Packit 971217
Packit 971217

The vmethods that subclasses can override to implement the ringbuffer.

Packit 971217
Packit 971217

Members

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

open_device ()

Packit 971217

open the device, don't set any params or allocate anything

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

acquire ()

Packit 971217

allocate the resources for the ringbuffer using the given spec

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

release ()

Packit 971217

free resources of the ringbuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

close_device ()

Packit 971217

close the device

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

start ()

Packit 971217

start processing of samples

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

pause ()

Packit 971217

pause processing of samples

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

resume ()

Packit 971217

resume processing of samples after pause

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

stop ()

Packit 971217

stop processing of samples

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

delay ()

Packit 971217

get number of frames queued in device

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

activate ()

Packit 971217

activate the thread that starts pulling and monitoring the

Packit 971217
consumed segments in the device.

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

commit ()

Packit 971217

write samples into the ringbuffer

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

clear_all ()

Packit 971217

clear the entire ringbuffer.

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

struct GstAudioRingBufferSpec

Packit 971217
struct GstAudioRingBufferSpec {
Packit 971217
  /* in */
Packit 971217
  GstCaps  *caps;               /* the caps of the buffer */
Packit 971217
Packit 971217
  /* in/out */
Packit 971217
  GstAudioRingBufferFormatType  type;
Packit 971217
  GstAudioInfo                  info;
Packit 971217
Packit 971217
Packit 971217
  guint64  latency_time;        /* the required/actual latency time, this is the
Packit 971217
				 * actual the size of one segment and the
Packit 971217
				 * minimum possible latency we can achieve. */
Packit 971217
  guint64  buffer_time;         /* the required/actual time of the buffer, this is
Packit 971217
				 * the total size of the buffer and maximum
Packit 971217
				 * latency we can compensate for. */
Packit 971217
  gint     segsize;             /* size of one buffer segment in bytes, this value
Packit 971217
				 * should be chosen to match latency_time as
Packit 971217
				 * well as possible. */
Packit 971217
  gint     segtotal;            /* total number of segments, this value is the
Packit 971217
				 * number of segments of @segsize and should be
Packit 971217
				 * chosen so that it matches buffer_time as
Packit 971217
				 * close as possible. */
Packit 971217
  /* ABI added 0.10.20 */
Packit 971217
  gint     seglatency;          /* number of segments queued in the lower
Packit 971217
				 * level device, defaults to segtotal. */
Packit 971217
};
Packit 971217
Packit 971217

The structure containing the format specification of the ringbuffer.

Packit 971217
Packit 971217

Members

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

GstCaps *caps;

Packit 971217

The caps that generated the Spec.

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GstAudioRingBufferFormatType type;

Packit 971217

the sample type

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GstAudioInfo info;

Packit 971217

the GstAudioInfo

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

guint64 latency_time;

Packit 971217

the latency in microseconds

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

guint64 buffer_time;

Packit 971217

the total buffer size in microseconds

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gint segsize;

Packit 971217

the size of one segment in bytes

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gint segtotal;

Packit 971217

the total number of segments

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

gint seglatency;

Packit 971217

number of segments queued in the lower level device,

Packit 971217
defaults to segtotal

Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

enum GstAudioRingBufferState

Packit 971217

The state of the ringbuffer.

Packit 971217
Packit 971217

Members

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_STATE_STOPPED

Packit 971217
Packit 971217

The ringbuffer is stopped

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_STATE_PAUSED

Packit 971217
Packit 971217

The ringbuffer is paused

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_STATE_STARTED

Packit 971217
Packit 971217

The ringbuffer is started

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_STATE_ERROR

Packit 971217
Packit 971217

The ringbuffer has encountered an

Packit 971217
    error after it has been started, e.g. because the device was
Packit 971217
    disconnected (Since 1.2)

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

enum GstAudioRingBufferFormatType

Packit 971217

The format of the samples in the ringbuffer.

Packit 971217
Packit 971217

Members

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW

Packit 971217
Packit 971217

samples in linear or float

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MU_LAW

Packit 971217
Packit 971217

samples in mulaw

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_A_LAW

Packit 971217
Packit 971217

samples in alaw

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IMA_ADPCM

Packit 971217
Packit 971217

samples in ima adpcm

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG

Packit 971217
Packit 971217

samples in mpeg audio (but not AAC) format

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_GSM

Packit 971217
Packit 971217

samples in gsm format

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IEC958

Packit 971217
Packit 971217

samples in IEC958 frames (e.g. AC3)

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_AC3

Packit 971217
Packit 971217

samples in AC3 format

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_EAC3

Packit 971217
Packit 971217

samples in EAC3 format

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_DTS

Packit 971217
Packit 971217

samples in DTS format

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC

Packit 971217
Packit 971217

samples in MPEG-2 AAC ADTS format

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC

Packit 971217
Packit 971217

samples in MPEG-4 AAC ADTS format

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC_RAW

Packit 971217
Packit 971217

samples in MPEG-2 AAC raw format (Since 1.12)

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC_RAW

Packit 971217
Packit 971217

samples in MPEG-4 AAC raw format (Since 1.12)

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217

GST_AUDIO_RING_BUFFER_FORMAT_TYPE_FLAC

Packit 971217
Packit 971217

samples in FLAC format (Since 1.12)

Packit 971217
Packit 971217
 
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

See Also

Packit 971217

GstAudioBaseSink, GstAudioSink

Packit 971217
Packit 971217
Packit 971217
Packit 971217

Generated by GTK-Doc V1.27
Packit 971217
</body>
Packit 971217
</html>