gi-gstvideo-1.0.28: GStreamerVideo bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.GstVideo.Objects.VideoAggregator

Description

VideoAggregator can accept AYUV, ARGB and BGRA video streams. For each of the requested sink pads it will compare the incoming geometry and framerate to define the output parameters. Indeed output video frames will have the geometry of the biggest incoming video stream and the framerate of the fastest incoming one.

VideoAggregator will do colorspace conversion.

Zorder for each input stream can be configured on the VideoAggregatorPad.

Since: 1.16

Synopsis

Exported types

newtype VideoAggregator Source #

Memory-managed wrapper type.

Constructors

VideoAggregator (ManagedPtr VideoAggregator) 

Instances

Instances details
Eq VideoAggregator Source # 
Instance details

Defined in GI.GstVideo.Objects.VideoAggregator

GObject VideoAggregator Source # 
Instance details

Defined in GI.GstVideo.Objects.VideoAggregator

ManagedPtrNewtype VideoAggregator Source # 
Instance details

Defined in GI.GstVideo.Objects.VideoAggregator

TypedObject VideoAggregator Source # 
Instance details

Defined in GI.GstVideo.Objects.VideoAggregator

Methods

glibType :: IO GType

HasParentTypes VideoAggregator Source # 
Instance details

Defined in GI.GstVideo.Objects.VideoAggregator

IsGValue (Maybe VideoAggregator) Source #

Convert VideoAggregator to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.GstVideo.Objects.VideoAggregator

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe VideoAggregator -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe VideoAggregator)

type ParentTypes VideoAggregator Source # 
Instance details

Defined in GI.GstVideo.Objects.VideoAggregator

type ParentTypes VideoAggregator = '[Aggregator, Element, Object, Object]

class (GObject o, IsDescendantOf VideoAggregator o) => IsVideoAggregator o Source #

Type class for types which can be safely cast to VideoAggregator, for instance with toVideoAggregator.

Instances

Instances details
(GObject o, IsDescendantOf VideoAggregator o) => IsVideoAggregator o Source # 
Instance details

Defined in GI.GstVideo.Objects.VideoAggregator

toVideoAggregator :: (MonadIO m, IsVideoAggregator o) => o -> m VideoAggregator Source #

Cast to VideoAggregator, 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, defaultError, finishBuffer, finishBufferList, forceFloating, foreachPad, foreachSinkPad, foreachSrcPad, freezeNotify, getv, hasActiveControlBindings, hasAncestor, hasAsAncestor, hasAsParent, isFloating, isLockedState, iteratePads, iterateSinkPads, iterateSrcPads, link, linkFiltered, linkPads, linkPadsFiltered, linkPadsFull, lostState, messageFull, messageFullWithDetails, negotiate, noMorePads, notify, notifyByPspec, peekNextSample, postMessage, provideClock, query, queryConvert, queryDuration, queryPosition, ref, refSink, releaseRequestPad, removeControlBinding, removePad, removePropertyNotifyWatch, requestPad, requestPadSimple, runDispose, seek, seekSimple, selectedSamples, sendEvent, simpleGetNextTime, stealData, stealQdata, suggestNextSync, syncStateWithParent, syncValues, thawNotify, unlink, unlinkPads, unparent, unref, updateSegment, watchClosure.

Getters

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

Setters

setBaseTime, setBus, setClock, setContext, setControlBindingDisabled, setControlBindingsDisabled, setControlRate, setData, setDataFull, setForceLive, setIgnoreInactivePads, setLatency, setLockedState, setName, setParent, setProperty, setSrcCaps, setStartTime, setState.

getExecutionTaskPool

videoAggregatorGetExecutionTaskPool Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideoAggregator a) 
=> a

vagg: the VideoAggregator

-> m TaskPool

Returns: the TaskPool that can be used by subclasses for performing concurrent operations

The returned TaskPool is used internally for performing parallel video format conversions/scaling/etc during the VideoAggregatorPadClass::prepare_frame_start() process. Subclasses can add their own operation to perform using the returned TaskPool during VideoAggregatorClass::aggregate_frames().

Since: 1.20

Properties

forceLive

Causes the element to aggregate on a timeout even when no live source is connected to its sinks. See Aggregator:minUpstreamLatency for a companion property: in the vast majority of cases where you plan to plug in live sources with a non-zero latency, you should set it to a non-zero value.

Since: 1.22

constructVideoAggregatorForceLive :: (IsVideoAggregator o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “force-live” property. This is rarely needed directly, but it is used by new.

getVideoAggregatorForceLive :: (MonadIO m, IsVideoAggregator o) => o -> m Bool Source #

Get the value of the “force-live” property. When overloading is enabled, this is equivalent to

get videoAggregator #forceLive