gi-gstaudio-1.0.24: GStreamerAudio bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.GstAudio.Objects.AudioSrc

Description

This is the most simple base class for audio sources that only requires subclasses to implement a set of simple functions:

  • open() :Open the device.
  • prepare() :Configure the device with the specified format.
  • read() :Read samples from the device.
  • reset() :Unblock reads and flush the device.
  • delay() :Get the number of samples in the device but not yet read.
  • unprepare() :Undo operations done by prepare.
  • close() :Close the device.

All scheduling of samples and timestamps is done in this base class together with AudioBaseSrc using a default implementation of a AudioRingBuffer that uses threads.

Synopsis

Exported types

newtype AudioSrc Source #

Memory-managed wrapper type.

Constructors

AudioSrc (ManagedPtr AudioSrc) 

class (GObject o, IsDescendantOf AudioSrc o) => IsAudioSrc o Source #

Type class for types which can be safely cast to AudioSrc, for instance with toAudioSrc.

Instances

Instances details
(GObject o, IsDescendantOf AudioSrc o) => IsAudioSrc o Source # 
Instance details

Defined in GI.GstAudio.Objects.AudioSrc

toAudioSrc :: (MonadIO m, IsAudioSrc o) => o -> m AudioSrc Source #

Cast to AudioSrc, for types for which this is known to be safe. For general casts, use castTo.

Methods

Click to display all available methods, including inherited ones

Expand

Methods

abortState, addControlBinding, addPad, addPropertyDeepNotifyWatch, addPropertyNotifyWatch, bindProperty, bindPropertyFull, callAsync, changeState, continueState, createAllPads, createRingbuffer, defaultError, forceFloating, foreachPad, foreachSinkPad, foreachSrcPad, freezeNotify, getv, hasActiveControlBindings, hasAncestor, hasAsAncestor, hasAsParent, isAsync, isFloating, isLive, isLockedState, iteratePads, iterateSinkPads, iterateSrcPads, link, linkFiltered, linkPads, linkPadsFiltered, linkPadsFull, lostState, messageFull, messageFullWithDetails, negotiate, newSeamlessSegment, newSegment, noMorePads, notify, notifyByPspec, postMessage, provideClock, query, queryConvert, queryDuration, queryLatency, queryPosition, ref, refSink, releaseRequestPad, removeControlBinding, removePad, removePropertyNotifyWatch, requestPad, requestPadSimple, runDispose, seek, seekSimple, sendEvent, startComplete, startWait, stealData, stealQdata, submitBufferList, suggestNextSync, syncStateWithParent, syncValues, thawNotify, unlink, unlinkPads, unparent, unref, waitPlaying, watchClosure.

Getters

getAllocator, getBaseTime, getBlocksize, getBufferPool, getBus, getClock, getCompatiblePad, getCompatiblePadTemplate, getContext, getContextUnlocked, getContexts, getControlBinding, getControlRate, getCurrentClockTime, getCurrentRunningTime, getData, getDoTimestamp, getFactory, getGValueArray, getMetadata, getName, getPadTemplate, getPadTemplateList, getParent, getPathString, getProperty, getProvideClock, getQdata, getRequestPad, getSlaveMethod, getStartTime, getState, getStaticPad, getValue.

Setters

setAsync, setAutomaticEos, setBaseTime, setBlocksize, setBus, setCaps, setClock, setContext, setControlBindingDisabled, setControlBindingsDisabled, setControlRate, setData, setDataFull, setDoTimestamp, setDynamicSize, setFormat, setLive, setLockedState, setName, setParent, setProperty, setProvideClock, setSlaveMethod, setStartTime, setState.