Allocate the resources for the ringbuffer. This function fills in the data pointer of the ring buffer with a valid #GstBuffer to which samples can be written.
Activate buf to start or stop pulling data.
Subclasses should call this function to notify the fact that advance segments are now processed by the device.
Clear the given segment of the buffer with silence samples. This function is used by subclasses.
Clear all samples from the ringbuffer.
Close the audio device associated with the ring buffer. The ring buffer should already have been released via gstaudio.audio_ring_buffer.AudioRingBuffer.release.
Commit in_samples samples pointed to by data to the ringbuffer buf.
Convert src_val in src_fmt to the equivalent value in dest_fmt. The result will be put in dest_val.
Get the number of samples queued in the audio device. This is usually less than the segment size but can be bigger when the implementation uses another internal buffer between the audio device.
Checks the status of the device associated with the ring buffer.
Check if the ringbuffer is acquired and ready to use.
Check if buf is activated.
Check if buf is flushing.
Tell the ringbuffer that it is allowed to start playback when the ringbuffer is filled with samples.
Open the audio device associated with the ring buffer. Does not perform any setup on the device. You must open the device before acquiring the ring buffer.
Pause processing samples from the ringbuffer.
Returns a pointer to memory where the data from segment segment can be found. This function is mostly used by subclasses.
Read len samples from the ringbuffer into the memory pointed to by data. The first sample should be read from position sample in the ringbuffer.
Free the resources of the ringbuffer.
Get the number of samples that were processed by the ringbuffer since it was last started. This does not include the number of samples not yet processed (see gstaudio.audio_ring_buffer.AudioRingBuffer.delay).
Sets the given callback function on the buffer. This function will be called every time a segment has been written to a device.
Mark the ringbuffer as errored after it has started.
Set the ringbuffer to flushing mode or normal mode.
Make sure that the next sample written to the device is accounted for as being the sample sample written to the device. This value will be used in reporting the current sample position of the ringbuffer.
Start processing samples from the ringbuffer.
Stop processing samples from the ringbuffer.
Print debug info about the buffer sized in spec to the debug log.
Print debug info about the parsed caps in spec to the debug log.
Parse caps into spec.
Checks to see if there is any object named name in list. This function does not do any locking of any kind. You might want to protect the provided list with the lock of the owner of the list. This function will lock each #GstObject in the list to compare the name, so be careful when passing a list with a locked object.
A default deep_notify signal callback for an object. The user data should contain a pointer to an array of strings that should be excluded from the notify. The default handler will print the new value of the property using g_print.
Atomically modifies a pointer to point to a new object. The reference count of oldobj is decreased and the reference count of newobj is increased.
Attach the #GstControlBinding to the object. If there already was a #GstControlBinding for this property it will be replaced.
A default error function that uses glib.global.printerr to display the error message and the optional debug string..
Gets the corresponding #GstControlBinding for the property. This should be unreferenced again after use.
Obtain the control-rate for this object. Audio processing #GstElement objects will use this rate to sub-divide their processing loop and call gst.object.ObjectGst.syncValues in between. The length of the processing segment should be up to control-rate nanoseconds.
Gets a number of #GValues for the given controlled property starting at the requested time. The array values need to hold enough space for n_values of #GValue.
Returns a copy of the name of object. Caller should glib.global.gfree the return value after usage. For a nameless object, this returns null, which you can safely glib.global.gfree as well.
Returns the parent of object. This function increases the refcount of the parent object so you should gst.object.ObjectGst.unref it after usage.
Generates a string describing the path of object in the object hierarchy. Only useful (or used) for debugging.
Gets the value for the given controlled property at the requested time.
Check if the object has active controlled properties.
Check if object has an ancestor ancestor somewhere up in the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline.
Check if object has an ancestor ancestor somewhere up in the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline.
Check if parent is the parent of object. E.g. a #GstElement can check if it owns a given #GstPad.
Removes the corresponding #GstControlBinding. If it was the last ref of the binding, it will be disposed.
This function is used to disable the control bindings on a property for some time, i.e. gst.object.ObjectGst.syncValues will do nothing for the property.
This function is used to disable all controlled properties of the object for some time, i.e. gst.object.ObjectGst.syncValues will do nothing.
Change the control-rate for this object. Audio processing #GstElement objects will use this rate to sub-divide their processing loop and call gst.object.ObjectGst.syncValues in between. The length of the processing segment should be up to control-rate nanoseconds.
Sets the name of object, or gives object a guaranteed unique name (if name is null). This function makes a copy of the provided name, so the caller retains ownership of the name it sent.
Sets the parent of object to parent. The object's reference count will be incremented, and any floating reference will be removed (see gst.object.ObjectGst.refSink).
Returns a suggestion for timestamps where buffers should be split to get best controller results.
Sets the properties of the object, according to the #GstControlSources that (maybe) handle them and for the given timestamp.
Clear the parent of object, removing the associated reference. This function decreases the refcount of object.
Connect to DeepNotify signal.
This object is the base class for audio ringbuffers used by the base audio source and sink classes.
The ringbuffer abstracts a circular buffer of data. One reader and one writer can operate on the data from different threads in a lockfree manner. The base class is sufficiently flexible to be used as an abstraction for DMA based ringbuffers as well as a pure software implementations.