typedef gpointer GstClockID; A datatype to hold the handle to an outstanding sync or async clock callback.
typedef guint64 GstClockTime; A datatype to hold a time, measured in nanoseconds.
typedef gint64 GstClockTimeDiff; A datatype to hold a time difference, measured in nanoseconds.
typedef guint64 GstElementFactoryListType;
Flags for allocators. GST_ALLOCATOR_FLAG_CUSTOM_ALLOC The allocator has a custom alloc function. GST_ALLOCATOR_FLAG_LAST first flag that can be used for custom purposes
GstBinFlags are a set of flags specific to bins. Most are set/used internally. They can be checked using the GST_OBJECT_FLAG_IS_SET() macro, and (un)set using GST_OBJECT_FLAG_SET() and GST_OBJECT_FLAG_UNSET(). GST_BIN_FLAG_NO_RESYNC don't resync a state change when elements are added or linked in the bin. GST_BIN_FLAG_LAST the last enum in the series of flags for bins. Derived classes can use this as first value in a list of flags.
A set of flags that can be provided to the gst_buffer_copy_into() function to specify which items should be copied. GST_BUFFER_COPY_NONE copy nothing GST_BUFFER_COPY_FLAGS flag indicating that buffer flags should be copied GST_BUFFER_COPY_TIMESTAMPS flag indicating that buffer pts, dts, duration, offset and offset_end should be copied GST_BUFFER_COPY_META flag indicating that buffer meta should be copied GST_BUFFER_COPY_MEMORY flag indicating that buffer memory should be reffed and appended to already existing memory. Unless the memory is marked as NO_SHARE, no actual copy of the memory is made but it is simply reffed. Add GST_BUFFER_COPY_DEEP to force a real copy. GST_BUFFER_COPY_MERGE flag indicating that buffer memory should be merged GST_BUFFER_COPY_DEEP flag indicating that memory should always be copied instead of reffed (Since 1.2)
A set of buffer flags used to describe properties of a GstBuffer. GST_BUFFER_FLAG_LIVE the buffer is live data and should be discarded in the PAUSED state. GST_BUFFER_FLAG_DECODE_ONLY the buffer contains data that should be dropped because it will be clipped against the segment boundaries or because it does not contain data that should be shown to the user. GST_BUFFER_FLAG_DISCONT the buffer marks a data discontinuity in the stream. This typically occurs after a seek or a dropped buffer from a live or network source. GST_BUFFER_FLAG_RESYNC the buffer timestamps might have a discontinuity and this buffer is a good point to resynchronize. GST_BUFFER_FLAG_CORRUPTED the buffer data is corrupted. GST_BUFFER_FLAG_MARKER the buffer contains a media specific marker. for video this is typically the end of a frame boundary, for audio this is usually the start of a talkspurt. GST_BUFFER_FLAG_HEADER the buffer contains header information that is needed to decode the following data. GST_BUFFER_FLAG_GAP the buffer has been created to fill a gap in the stream and contains media neutral data (elements can switch to optimized code path that ignores the buffer content). GST_BUFFER_FLAG_DROPPABLE the buffer can be dropped without breaking the stream, for example to reduce bandwidth. GST_BUFFER_FLAG_DELTA_UNIT this unit cannot be decoded independently. GST_BUFFER_FLAG_LAST additional media specific flags can be added starting from this flag.
Additional flags to control the allocation of a buffer GST_BUFFER_POOL_ACQUIRE_FLAG_NONE no flags GST_BUFFER_POOL_ACQUIRE_FLAG_KEY_UNIT buffer is keyframe GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT when the bufferpool is empty, acquire_buffer will by default block until a buffer is released into the pool again. Setting this flag makes acquire_buffer return GST_FLOW_EOS instead of blocking. GST_BUFFER_POOL_ACQUIRE_FLAG_DISCONT buffer is discont GST_BUFFER_POOL_ACQUIRE_FLAG_LAST last flag, subclasses can use private flags starting from this value.
The different types of buffering methods. GST_BUFFERING_STREAM a small amount of data is buffered GST_BUFFERING_DOWNLOAD the stream is being downloaded GST_BUFFERING_TIMESHIFT the stream is being downloaded in a ringbuffer GST_BUFFERING_LIVE the stream is a live stream
The standard flags that a bus may have. GST_BUS_FLUSHING The bus is currently dropping all messages GST_BUS_FLAG_LAST offset to define more flags
The result values for a GstBusSyncHandler. GST_BUS_DROP drop the message GST_BUS_PASS pass the message to the async queue GST_BUS_ASYNC pass message to async queue, continue if message is handled
Extra flags for a caps. GST_CAPS_FLAG_ANY Caps has no specific content, but can contain anything.
Modes of caps intersection GST_CAPS_INTERSECT_ZIG_ZAG tries to preserve overall order of both caps by iterating on the caps' structures as the following matrix shows: Used when there is no explicit precedence of one caps over the other. e.g. tee's sink pad getcaps function, it will probe its src pad peers' for their caps and intersect them with this mode. GST_CAPS_INTERSECT_FIRST is useful when an element wants to preserve another element's caps priority order when intersecting with its own caps.
The type of the clock entry GST_CLOCK_ENTRY_SINGLE a single shot timeout GST_CLOCK_ENTRY_PERIODIC a periodic timeout request
The capabilities of this clock GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC clock can do a single sync timeout request GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC clock can do a single async timeout request GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC clock can do sync periodic timeout requests GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC clock can do async periodic timeout callbacks GST_CLOCK_FLAG_CAN_SET_RESOLUTION clock's resolution can be changed GST_CLOCK_FLAG_CAN_SET_MASTER clock can be slaved to a master clock GST_CLOCK_FLAG_LAST subclasses can add additional flags starting from this flag
The return value of a clock operation. GST_CLOCK_OK The operation succeeded. GST_CLOCK_EARLY The operation was scheduled too late. GST_CLOCK_UNSCHEDULED The clockID was unscheduled GST_CLOCK_BUSY The ClockID is busy GST_CLOCK_BADTIME A bad time was provided to a function. GST_CLOCK_ERROR An error occurred GST_CLOCK_UNSUPPORTED Operation is not supported GST_CLOCK_DONE The ClockID is done waiting
The different kind of clocks. GST_CLOCK_TYPE_REALTIME time since Epoch GST_CLOCK_TYPE_MONOTONIC monotonic time since some unspecified starting point GST_CLOCK_TYPE_OTHER some other time source is used (Since: 1.0.5)
Core errors are errors inside the core GStreamer library. GST_CORE_ERROR_FAILED a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. GST_CORE_ERROR_TOO_LAZY do not use this except as a placeholder for deciding where to go while developing code. GST_CORE_ERROR_NOT_IMPLEMENTED use this when you do not want to implement this functionality yet. GST_CORE_ERROR_STATE_CHANGE used for state change errors. GST_CORE_ERROR_PAD used for pad-related errors. GST_CORE_ERROR_THREAD used for thread-related errors. GST_CORE_ERROR_NEGOTIATION used for negotiation-related errors. GST_CORE_ERROR_EVENT used for event-related errors. GST_CORE_ERROR_SEEK used for seek-related errors. GST_CORE_ERROR_CAPS used for caps-related errors. GST_CORE_ERROR_TAG used for negotiation-related errors. GST_CORE_ERROR_MISSING_PLUGIN used if a plugin is missing. GST_CORE_ERROR_CLOCK used for clock related errors. GST_CORE_ERROR_DISABLED used if functionality has been disabled at compile time. GST_CORE_ERROR_NUM_ERRORS the number of core error types.
The standard flags that an element may have. GST_ELEMENT_FLAG_LOCKED_STATE ignore state changes from parent GST_ELEMENT_FLAG_SINK the element is a sink GST_ELEMENT_FLAG_SOURCE the element is a source. GST_ELEMENT_FLAG_PROVIDE_CLOCK the element can provide a clock GST_ELEMENT_FLAG_REQUIRE_CLOCK the element requires a clock GST_ELEMENT_FLAG_INDEXABLE the element can use an index GST_ELEMENT_FLAG_LAST offset to define more flags
GstEventType lists the standard event types that can be sent in a pipeline. The custom event types can be used for private messages between elements that can't be expressed using normal GStreamer buffer passing semantics. Custom events carry an arbitrary GstStructure. Specific custom events are distinguished by the name of the structure. GST_EVENT_UNKNOWN
GstEventTypeFlags indicate the aspects of the different GstEventType values. You can get the type flags of a GstEventType with the gst_event_type_get_flags() function. GST_EVENT_TYPE_UPSTREAM
The result of passing data to a pad. Note that the custom return values should not be exposed outside of the element scope. GST_FLOW_CUSTOM_SUCCESS_2 Pre-defined custom success code. GST_FLOW_CUSTOM_SUCCESS_1 Pre-defined custom success code (define your custom success code to this to avoid compiler warnings). GST_FLOW_CUSTOM_SUCCESS Elements can use values starting from this (and higher) to define custom success codes. GST_FLOW_OK Data passing was ok. GST_FLOW_NOT_LINKED Pad is not linked. GST_FLOW_FLUSHING Pad is flushing. GST_FLOW_EOS Pad is EOS. GST_FLOW_NOT_NEGOTIATED Pad is not negotiated. GST_FLOW_ERROR Some (fatal) error occured. Element generating this error should post an error message with more details. GST_FLOW_NOT_SUPPORTED This operation is not supported. GST_FLOW_CUSTOM_ERROR Elements can use values starting from this (and lower) to define custom error codes. GST_FLOW_CUSTOM_ERROR_1 Pre-defined custom error code (define your custom error code to this to avoid compiler warnings). GST_FLOW_CUSTOM_ERROR_2 Pre-defined custom error code.
Standard predefined formats GST_FORMAT_UNDEFINED undefined format GST_FORMAT_DEFAULT the default format of the pad/element. This can be samples for raw audio, frames/fields for raw video (some, but not all, elements support this; use GST_FORMAT_TIME if you don't have a good reason to query for samples/frames) GST_FORMAT_BYTES bytes GST_FORMAT_TIME time in nanoseconds GST_FORMAT_BUFFERS buffers (few, if any, elements implement this as of May 2009) GST_FORMAT_PERCENT percentage of stream (few, if any, elements implement this as of May 2009)
The result of a GstIteratorItemFunction. GST_ITERATOR_ITEM_SKIP Skip this item GST_ITERATOR_ITEM_PASS Return item GST_ITERATOR_ITEM_END Stop after this item.
The result of gst_iterator_next(). GST_ITERATOR_DONE No more items in the iterator GST_ITERATOR_OK An item was retrieved GST_ITERATOR_RESYNC Datastructure changed while iterating GST_ITERATOR_ERROR An error happened
Library errors are for errors from the library being used by elements (initializing, finalizing, settings, ...) GST_LIBRARY_ERROR_FAILED a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. GST_LIBRARY_ERROR_TOO_LAZY do not use this except as a placeholder for deciding where to go while developing code. GST_LIBRARY_ERROR_INIT used when the library could not be opened. GST_LIBRARY_ERROR_SHUTDOWN used when the library could not be closed. GST_LIBRARY_ERROR_SETTINGS used when the library doesn't accept settings. GST_LIBRARY_ERROR_ENCODE used when the library generated an encoding error. GST_LIBRARY_ERROR_NUM_ERRORS the number of library error types.
Flags used when locking miniobjects GST_LOCK_FLAG_READ lock for read access GST_LOCK_FLAG_WRITE lock for write access GST_LOCK_FLAG_EXCLUSIVE lock for exclusive access GST_LOCK_FLAG_LAST first flag that can be used for custom purposes
Flags used when mapping memory GST_MAP_READ map for read access GST_MAP_WRITE map for write access GST_MAP_FLAG_LAST first flag that can be used for custom purposes
Flags for wrapped memory. GST_MEMORY_FLAG_READONLY memory is readonly. It is not allowed to map the memory with GST_MAP_WRITE. GST_MEMORY_FLAG_NO_SHARE memory must not be shared. Copies will have to be made when this memory needs to be shared between buffers. GST_MEMORY_FLAG_ZERO_PREFIXED the memory prefix is filled with 0 bytes GST_MEMORY_FLAG_ZERO_PADDED the memory padding is filled with 0 bytes GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS the memory is physically contiguous. Since 1.2 GST_MEMORY_FLAG_NOT_MAPPABLE the memory can't be mapped via gst_memory_map() without any preconditions. Since 1.2 GST_MEMORY_FLAG_LAST first flag that can be used for custom purposes
The different message types that are available. GST_MESSAGE_UNKNOWN an undefined message GST_MESSAGE_EOS end-of-stream reached in a pipeline. The application will only receive this message in the PLAYING state and every time it sets a pipeline to PLAYING that is in the EOS state. The application can perform a flushing seek in the pipeline, which will undo the EOS state again. GST_MESSAGE_ERROR an error occured. When the application receives an error message it should stop playback of the pipeline and not assume that more data will be played. GST_MESSAGE_WARNING a warning occured. GST_MESSAGE_INFO an info message occured GST_MESSAGE_TAG a tag was found. GST_MESSAGE_BUFFERING the pipeline is buffering. When the application receives a buffering message in the PLAYING state for a non-live pipeline it must PAUSE the pipeline until the buffering completes, when the percentage field in the message is 100%. For live pipelines, no action must be performed and the buffering percentage can be used to inform the user about the progress. GST_MESSAGE_STATE_CHANGED a state change happened GST_MESSAGE_STATE_DIRTY an element changed state in a streaming thread. This message is deprecated. GST_MESSAGE_STEP_DONE a stepping operation finished. GST_MESSAGE_CLOCK_PROVIDE an element notifies its capability of providing a clock. This message is used internally and never forwarded to the application. GST_MESSAGE_CLOCK_LOST The current clock as selected by the pipeline became unusable. The pipeline will select a new clock on the next PLAYING state change. The application should set the pipeline to PAUSED and back to PLAYING when this message is received. GST_MESSAGE_NEW_CLOCK a new clock was selected in the pipeline. GST_MESSAGE_STRUCTURE_CHANGE the structure of the pipeline changed. This message is used internally and never forwarded to the application. GST_MESSAGE_STREAM_STATUS status about a stream, emitted when it starts, stops, errors, etc.. GST_MESSAGE_APPLICATION message posted by the application, possibly via an application-specific element. GST_MESSAGE_ELEMENT element-specific message, see the specific element's documentation GST_MESSAGE_SEGMENT_START pipeline started playback of a segment. This message is used internally and never forwarded to the application. GST_MESSAGE_SEGMENT_DONE pipeline completed playback of a segment. This message is forwarded to the application after all elements that posted GST_MESSAGE_SEGMENT_START posted a GST_MESSAGE_SEGMENT_DONE message. GST_MESSAGE_DURATION_CHANGED The duration of a pipeline changed. The application can get the new duration with a duration query. GST_MESSAGE_LATENCY Posted by elements when their latency changes. The application should recalculate and distribute a new latency. GST_MESSAGE_ASYNC_START Posted by elements when they start an ASYNC GstStateChange. This message is not forwarded to the application but is used internally. GST_MESSAGE_ASYNC_DONE Posted by elements when they complete an ASYNC GstStateChange. The application will only receive this message from the toplevel pipeline. GST_MESSAGE_REQUEST_STATE Posted by elements when they want the pipeline to change state. This message is a suggestion to the application which can decide to perform the state change on (part of) the pipeline. GST_MESSAGE_STEP_START A stepping operation was started. GST_MESSAGE_QOS A buffer was dropped or an element changed its processing strategy for Quality of Service reasons. GST_MESSAGE_PROGRESS A progress message. GST_MESSAGE_TOC A new table of contents (TOC) was found or previously found TOC was updated. GST_MESSAGE_RESET_TIME Message to request resetting the pipeline's running time from the pipeline. This is an internal message which applications will likely never receive. GST_MESSAGE_STREAM_START Message indicating start of a new stream. Useful e.g. when using playbin in gapless playback mode, to get notified when the next title actually starts playing (which will be some time after the URI for the next title has been set). GST_MESSAGE_NEED_CONTEXT Message indicating that an element wants a specific context (Since 1.2) GST_MESSAGE_HAVE_CONTEXT Message indicating that an element created a context (Since 1.2) GST_MESSAGE_ANY mask for all of the above messages.
Extra metadata flags. GST_META_FLAG_NONE no flags GST_META_FLAG_READONLY metadata should not be modified GST_META_FLAG_POOLED metadata is managed by a bufferpool GST_META_FLAG_LOCKED metadata should not be removed GST_META_FLAG_LAST additional flags can be added starting from this flag.
Flags for the mini object GST_MINI_OBJECT_FLAG_LOCKABLE the object can be locked and unlocked with gst_mini_object_lock() and gst_mini_object_unlock(). GST_MINI_OBJECT_FLAG_LOCK_READONLY the object is permanently locked in READONLY mode. Only read locks can be performed on the object. GST_MINI_OBJECT_FLAG_LAST first flag that can be used by subclasses.
The standard flags that an gstobject may have. GST_OBJECT_FLAG_LAST subclasses can add additional flags starting from this flag
The direction of a pad. GST_PAD_UNKNOWN direction is unknown. GST_PAD_SRC the pad is a source pad. GST_PAD_SINK the pad is a sink pad.
GST_PAD_FLAG_BLOCKED is dataflow on a pad blocked GST_PAD_FLAG_FLUSHING is pad flushing GST_PAD_FLAG_EOS is pad in EOS state GST_PAD_FLAG_BLOCKING is pad currently blocking on a buffer or event GST_PAD_FLAG_NEED_PARENT ensure that there is a parent object before calling into the pad callbacks. GST_PAD_FLAG_NEED_RECONFIGURE the pad should be reconfigured/renegotiated. The flag has to be unset manually after reconfiguration happened. GST_PAD_FLAG_PENDING_EVENTS the pad has pending events GST_PAD_FLAG_FIXED_CAPS the pad is using fixed caps this means that once the caps are set on the pad, the caps query function only GST_PAD_FLAG_PROXY_CAPS GST_PAD_FLAG_PROXY_ALLOCATION GST_PAD_FLAG_PROXY_SCHEDULING GST_PAD_FLAG_LAST
The amount of checking to be done when linking pads. GST_PAD_LINK_CHECK_CAPS and GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are specified, expensive but safe GST_PAD_LINK_CHECK_CAPS are performed. Warning Only disable some of the checks if you are 100% certain you know the link will not fail because of hierarchy/caps compatibility failures. If uncertain, use the default checks (GST_PAD_LINK_CHECK_DEFAULT) or the regular methods for linking the pads. GST_PAD_LINK_CHECK_NOTHING Don't check hierarchy or caps compatibility. GST_PAD_LINK_CHECK_HIERARCHY Check the pads have same parents/grandparents. Could be omitted if it is already known that the two elements that own the pads are in the same bin. GST_PAD_LINK_CHECK_TEMPLATE_CAPS Check if the pads are compatible by using their template caps. This is much faster than GST_PAD_LINK_CHECK_CAPS, but would be unsafe e.g. if one pad has GST_CAPS_ANY. GST_PAD_LINK_CHECK_CAPS Check if the pads are compatible by comparing the caps returned by gst_pad_query_caps(). GST_PAD_LINK_CHECK_DEFAULT The default checks done when linking pads (i.e. the ones used by gst_pad_link()).
Result values from gst_pad_link and friends. GST_PAD_LINK_OK link succeeded GST_PAD_LINK_WRONG_HIERARCHY pads have no common grandparent GST_PAD_LINK_WAS_LINKED pad was already linked GST_PAD_LINK_WRONG_DIRECTION pads have wrong direction GST_PAD_LINK_NOFORMAT pads do not have common format GST_PAD_LINK_NOSCHED pads cannot cooperate in scheduling GST_PAD_LINK_REFUSED refused for some reason
The status of a GstPad. After activating a pad, which usually happens when the parent element goes from READY to PAUSED, the GstPadMode defines if the pad operates in push or pull mode. GST_PAD_MODE_NONE Pad will not handle dataflow GST_PAD_MODE_PUSH Pad handles dataflow in downstream push mode GST_PAD_MODE_PULL Pad handles dataflow in upstream pull mode
Indicates when this pad will become available. GST_PAD_ALWAYS the pad is always available GST_PAD_SOMETIMES the pad will become available depending on the media stream GST_PAD_REQUEST the pad is only available on request with gst_element_get_request_pad().
GST_PAD_PROBE_DROP drop data in data probes. For push mode this means that the data item is not sent downstream. For pull mode, it means that the data item is not passed upstream. In both cases, this result code GST_PAD_PROBE_OK normal probe return value GST_PAD_PROBE_REMOVE GST_PAD_PROBE_PASS
The different probing types that can occur. When either one of GST_PAD_PROBE_TYPE_IDLE or GST_PAD_PROBE_TYPE_BLOCK is used, the probe will be a blocking probe. GST_PAD_PROBE_TYPE_INVALID invalid probe type GST_PAD_PROBE_TYPE_IDLE probe idle pads and block GST_PAD_PROBE_TYPE_BLOCK probe and block pads GST_PAD_PROBE_TYPE_BUFFER probe buffers GST_PAD_PROBE_TYPE_BUFFER_LIST probe buffer lists GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM probe downstream events GST_PAD_PROBE_TYPE_EVENT_UPSTREAM probe upstream events GST_PAD_PROBE_TYPE_EVENT_FLUSH probe flush events. This probe has to be explicitly enabled and is not included in the @GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM or @GST_PAD_PROBE_TYPE_EVENT_UPSTREAM probe types. GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM probe downstream queries GST_PAD_PROBE_TYPE_QUERY_UPSTREAM probe upstream queries GST_PAD_PROBE_TYPE_PUSH probe push GST_PAD_PROBE_TYPE_PULL probe pull GST_PAD_PROBE_TYPE_BLOCKING probe and block at the next opportunity, at data flow or when idle GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM probe downstream data (buffers, buffer lists, and events) GST_PAD_PROBE_TYPE_DATA_UPSTREAM probe upstream data (events) GST_PAD_PROBE_TYPE_DATA_BOTH probe upstream and downstream data (buffers, buffer lists, and events) GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM probe and block downstream data (buffers, buffer lists, and events) GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM probe and block upstream data (events) GST_PAD_PROBE_TYPE_EVENT_BOTH probe upstream and downstream events GST_PAD_PROBE_TYPE_QUERY_BOTH probe upstream and downstream queries GST_PAD_PROBE_TYPE_ALL_BOTH probe upstream events and queries and downstream buffers, buffer lists, events and queries GST_PAD_PROBE_TYPE_SCHEDULING probe push and pull
Flags for the padtemplate GST_PAD_TEMPLATE_FLAG_LAST first flag that can be used by subclasses.
The different parsing errors that can occur. GST_PARSE_ERROR_SYNTAX A syntax error occured. GST_PARSE_ERROR_NO_SUCH_ELEMENT The description contained an unknown element GST_PARSE_ERROR_NO_SUCH_PROPERTY An element did not have a specified property GST_PARSE_ERROR_LINK There was an error linking two pads. GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY There was an error setting a property GST_PARSE_ERROR_EMPTY_BIN An empty bin was specified. GST_PARSE_ERROR_EMPTY An empty description was specified
Parsing options. GST_PARSE_FLAG_NONE Do not use any special parsing options. GST_PARSE_FLAG_FATAL_ERRORS Always return NULL when an error occurs (default behaviour is to return partially constructed bins or elements in some cases) GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS If a bin only has a single element, just return the element.
Pipeline flags GST_PIPELINE_FLAG_FIXED_CLOCK this pipeline works with a fixed clock GST_PIPELINE_FLAG_LAST offset to define more flags
Flags used in connection with gst_plugin_add_dependency(). GST_PLUGIN_DEPENDENCY_FLAG_NONE no special flags GST_PLUGIN_DEPENDENCY_FLAG_RECURSE recurse into subdirectories GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY use paths argument only if none of the environment variables is set GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX interpret filename argument as filter suffix and check all matching files in the directory
The plugin loading errors GST_PLUGIN_ERROR_MODULE The plugin could not be loaded GST_PLUGIN_ERROR_DEPENDENCIES The plugin has unresolved dependencies GST_PLUGIN_ERROR_NAME_MISMATCH The plugin has already be loaded from a different file
The plugin loading state GST_PLUGIN_FLAG_CACHED Temporarily loaded plugins GST_PLUGIN_FLAG_BLACKLISTED The plugin won't be scanned (again)
The type of a GST_MESSAGE_PROGRESS. The progress messages inform the application of the status of assynchronous tasks. GST_PROGRESS_TYPE_START A new task started. GST_PROGRESS_TYPE_CONTINUE A task completed and a new one continues. GST_PROGRESS_TYPE_COMPLETE A task completed. GST_PROGRESS_TYPE_CANCELED A task was canceled. GST_PROGRESS_TYPE_ERROR A task caused an error. An error message is also posted on the bus.
The different types of QoS events that can be given to the gst_event_new_qos() method. GST_QOS_TYPE_OVERFLOW The QoS event type that is produced when downstream elements are producing data too quickly and the element can't keep up processing the data. Upstream should reduce their processing rate. This type is also used when buffers arrive early or in time. GST_QOS_TYPE_UNDERFLOW The QoS event type that is produced when downstream elements are producing data too slowly and need to speed up their processing rate. GST_QOS_TYPE_THROTTLE The QoS event type that is produced when the application enabled throttling to limit the datarate.
GstQueryTypeFlags indicate the aspects of the different GstQueryType values. You can get the type flags of a GstQueryType with the gst_query_type_get_flags() function. GST_QUERY_TYPE_UPSTREAM Set if the query can travel upstream. GST_QUERY_TYPE_DOWNSTREAM Set if the query can travel downstream. GST_QUERY_TYPE_SERIALIZED Set if the query should be serialized with data flow.
Element priority ranks. Defines the order in which the autoplugger (or similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri()) will choose this element over an alternative one with the same function. These constants serve as a rough guidance for defining the rank of a GstPluginFeature. Any value is valid, including values bigger than GST_RANK_PRIMARY. GST_RANK_NONE will be chosen last or not at all GST_RANK_MARGINAL unlikely to be chosen GST_RANK_SECONDARY likely to be chosen GST_RANK_PRIMARY will be chosen first
Resource errors are for any resource used by an element: memory, files, network connections, process space, ... They're typically used by source and sink elements. GST_RESOURCE_ERROR_FAILED a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. GST_RESOURCE_ERROR_TOO_LAZY do not use this except as a placeholder for deciding where to go while developing code. GST_RESOURCE_ERROR_NOT_FOUND used when the resource could not be found. GST_RESOURCE_ERROR_BUSY used when resource is busy. GST_RESOURCE_ERROR_OPEN_READ used when resource fails to open for reading. GST_RESOURCE_ERROR_OPEN_WRITE used when resource fails to open for writing. GST_RESOURCE_ERROR_OPEN_READ_WRITE used when resource cannot be opened for both reading and writing, or either (but unspecified which). GST_RESOURCE_ERROR_CLOSE used when the resource can't be closed. GST_RESOURCE_ERROR_READ used when the resource can't be read from. GST_RESOURCE_ERROR_WRITE used when the resource can't be written to. GST_RESOURCE_ERROR_SEEK used when a seek on the resource fails. GST_RESOURCE_ERROR_SYNC used when a synchronize on the resource fails. GST_RESOURCE_ERROR_SETTINGS used when settings can't be manipulated on. GST_RESOURCE_ERROR_NO_SPACE_LEFT used when the resource has no space left. GST_RESOURCE_ERROR_NUM_ERRORS the number of resource error types.
The different scheduling flags. GST_SCHEDULING_FLAG_SEEKABLE if seeking is possible GST_SCHEDULING_FLAG_SEQUENTIAL if sequential access is recommended GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED if bandwidth is limited and buffering possible (since 1.2)
The different search modes. GST_SEARCH_MODE_EXACT Only search for exact matches. GST_SEARCH_MODE_BEFORE Search for an exact match or the element just before. GST_SEARCH_MODE_AFTER Search for an exact match or the element just after.
Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags can be used together. A non flushing seek might take some time to perform as the currently playing data in the pipeline will not be cleared. An accurate seek might be slower for formats that don't have any indexes or timestamp markers in the stream. Specifying this flag might require a complete scan of the file in those cases. When performing a segment seek: after the playback of the segment completes, no EOS will be emmited by the element that performed the seek, but a GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element. When this message is posted, it is possible to send a new seek event to continue playback. With this seek method it is possible to perform seamless looping or simple linear editing. When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode playback, the GST_SEEK_FLAG_SKIP flag can be used to instruct decoders and demuxers to adjust the playback rate by skipping frames. This can improve performance and decrease CPU usage because not all frames need to be decoded. The GST_SEEK_FLAG_SNAP_BEFORE flag can be used to snap to the previous relevant location, and the GST_SEEK_FLAG_SNAP_AFTER flag can be used to select the next relevant location. If KEY_UNIT is specified, the relevant location is a keyframe. If both flags are specified, the nearest of these locations will be selected. If none are specified, the implementation is free to select whichever it wants. The before and after here are in running time, so when playing backwards, the next location refers to the one that will played in next, and not the one that is located after in the actual source stream. Also see part-seeking.txt in the GStreamer design documentation for more details on the meaning of these flags and the behaviour expected of elements that handle them. GST_SEEK_FLAG_NONE no flag GST_SEEK_FLAG_FLUSH flush pipeline GST_SEEK_FLAG_ACCURATE accurate position is requested, this might be considerably slower for some formats. GST_SEEK_FLAG_KEY_UNIT seek to the nearest keyframe. This might be faster but less accurate. GST_SEEK_FLAG_SEGMENT perform a segment seek. GST_SEEK_FLAG_SKIP when doing fast foward or fast reverse playback, allow elements to skip frames instead of generating all frames. GST_SEEK_FLAG_SNAP_BEFORE go to a location before the requested position, if KEY_UNIT this means the keyframe at or before the requested position the one at or before the seek target. GST_SEEK_FLAG_SNAP_AFTER go to a location after the requested position, if KEY_UNIT this means the keyframe at of after the requested position. GST_SEEK_FLAG_SNAP_NEAREST go to a position near the requested position, if KEY_UNIT this means the keyframe closest to the requested position, if both keyframes are at an equal distance, behaves like SNAP_BEFORE.
The different types of seek events. When constructing a seek event with gst_event_new_seek() or when doing gst_segment_do_seek(). GST_SEEK_TYPE_NONE no change in position is required GST_SEEK_TYPE_SET absolute position is requested GST_SEEK_TYPE_END relative position to duration is requested
Flags for the GstSegment structure. Currently mapped to the corresponding values of the seek flags. GST_SEGMENT_FLAG_NONE no flags GST_SEGMENT_FLAG_RESET reset the pipeline running_time to the segment running_time GST_SEGMENT_FLAG_SKIP perform skip playback GST_SEGMENT_FLAG_SEGMENT send SEGMENT_DONE instead of EOS
The possible states an element can be in. States can be changed using gst_element_set_state() and checked using gst_element_get_state(). GST_STATE_VOID_PENDING no pending state. GST_STATE_NULL the NULL state or initial state of an element. GST_STATE_READY the element is ready to go to PAUSED. GST_STATE_PAUSED the element is PAUSED, it is ready to accept and process data. Sink elements however only accept one buffer and then block. GST_STATE_PLAYING the element is PLAYING, the GstClock is running and the data is flowing.
These are the different state changes an element goes through. GST_STATE_NULL ⇒ GST_STATE_PLAYING is called an upwards state change and GST_STATE_PLAYING ⇒ GST_STATE_NULL a downwards state change. GST_STATE_CHANGE_NULL_TO_READY state change from NULL to READY. The element must check if the resources it needs are available. Device sinks and -sources typically try to probe the device to constrain their caps. The element opens the device (in case feature need to be probed). GST_STATE_CHANGE_READY_TO_PAUSED state change from READY to PAUSED. The element pads are activated in order to receive data in PAUSED. Streaming threads are started. Some elements might need to return GST_STATE_CHANGE_ASYNC and complete the state change when they have enough information. It is a requirement for sinks to return GST_STATE_CHANGE_ASYNC and complete the state change when they receive the first buffer or GST_EVENT_EOS (preroll). Sinks also block the dataflow when in PAUSED. A pipeline resets the running_time to 0. Live sources return GST_STATE_CHANGE_NO_PREROLL and don't generate data. GST_STATE_CHANGE_PAUSED_TO_PLAYING state change from PAUSED to PLAYING. Most elements ignore this state change. The pipeline selects a GstClock and distributes this to all the children before setting them to PLAYING. This means that it is only alowed to synchronize on the GstClock in the PLAYING state. The pipeline uses the GstClock and the running_time to calculate the base_time. The base_time is distributed to all children when performing the state change. Sink elements stop blocking on the preroll buffer or event and start rendering the data. Sinks can post GST_MESSAGE_EOS in the PLAYING state. It is not allowed to post GST_MESSAGE_EOS when not in the PLAYING state. While streaming in PAUSED or PLAYING elements can create and remove sometimes pads. Live sources start generating data and return GST_STATE_CHANGE_SUCCESS. GST_STATE_CHANGE_PLAYING_TO_PAUSED state change from PLAYING to PAUSED. Most elements ignore this state change. The pipeline calculates the running_time based on the last selected GstClock and the base_time. It stores this information to continue playback when going back to the PLAYING state. Sinks unblock any GstClock wait calls. When a sink does not have a pending buffer to play, it returns GST_STATE_CHANGE_ASYNC from this state change and completes the state change when it receives a new buffer or an GST_EVENT_EOS. Any queued GST_MESSAGE_EOS items are removed since they will be reposted when going back to the PLAYING state. The EOS messages are queued in GstBin containers. Live sources stop generating data and return GST_STATE_CHANGE_NO_PREROLL. GST_STATE_CHANGE_PAUSED_TO_READY state change from PAUSED to READY. Sinks unblock any waits in the preroll. Elements unblock any waits on devices Chain or get_range functions return GST_FLOW_FLUSHING. The element pads are deactivated so that streaming becomes impossible and all streaming threads are stopped. The sink forgets all negotiated formats Elements remove all sometimes pads GST_STATE_CHANGE_READY_TO_NULL state change from READY to NULL. Elements close devices Elements reset any internal state.
The possible return values from a state change function such as gst_element_set_state(). Only GST_STATE_CHANGE_FAILURE is a real failure. GST_STATE_CHANGE_FAILURE the state change failed GST_STATE_CHANGE_SUCCESS the state change succeeded GST_STATE_CHANGE_ASYNC the state change will happen asynchronously GST_STATE_CHANGE_NO_PREROLL the state change succeeded but the element cannot produce data in GST_STATE_PAUSED. This typically happens with live sources.
Stream errors are for anything related to the stream being processed: format errors, media type errors, ... They're typically used by decoders, demuxers, converters, ... GST_STREAM_ERROR_FAILED a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. GST_STREAM_ERROR_TOO_LAZY do not use this except as a placeholder for deciding where to go while developing code. GST_STREAM_ERROR_NOT_IMPLEMENTED use this when you do not want to implement this functionality yet. GST_STREAM_ERROR_TYPE_NOT_FOUND used when the element doesn't know the stream's type. GST_STREAM_ERROR_WRONG_TYPE used when the element doesn't handle this type of stream. GST_STREAM_ERROR_CODEC_NOT_FOUND used when there's no codec to handle the stream's type. GST_STREAM_ERROR_DECODE used when decoding fails. GST_STREAM_ERROR_ENCODE used when encoding fails. GST_STREAM_ERROR_DEMUX used when demuxing fails. GST_STREAM_ERROR_MUX used when muxing fails. GST_STREAM_ERROR_FORMAT used when the stream is of the wrong format (for example, wrong caps). GST_STREAM_ERROR_DECRYPT used when the stream is encrypted and can't be decrypted because this is not supported by the element. GST_STREAM_ERROR_DECRYPT_NOKEY used when the stream is encrypted and can't be decrypted because no suitable key is available. GST_STREAM_ERROR_NUM_ERRORS the number of stream error types.
The type of a GST_MESSAGE_STREAM_STATUS. The stream status messages inform the application of new streaming threads and their status. GST_STREAM_STATUS_TYPE_CREATE A new thread need to be created. GST_STREAM_STATUS_TYPE_ENTER a thread entered its loop function GST_STREAM_STATUS_TYPE_LEAVE a thread left its loop function GST_STREAM_STATUS_TYPE_DESTROY a thread is destroyed GST_STREAM_STATUS_TYPE_START a thread is started GST_STREAM_STATUS_TYPE_PAUSE a thread is paused GST_STREAM_STATUS_TYPE_STOP a thread is stopped
The type of a GST_MESSAGE_STRUCTURE_CHANGE. GST_STRUCTURE_CHANGE_TYPE_PAD_LINK Pad linking is starting or done. GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK Pad unlinking is starting or done.
Extra tag flags used when registering tags. GST_TAG_FLAG_UNDEFINED undefined flag GST_TAG_FLAG_META tag is meta data GST_TAG_FLAG_ENCODED tag is encoded GST_TAG_FLAG_DECODED tag is decoded GST_TAG_FLAG_COUNT number of tag flags
The different tag merging modes are basically replace, overwrite and append, but they can be seen from two directions. Given two taglists: (A) the tags already in the element and (B) the ones that are supplied to the element ( e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a GST_EVENT_TAG), how are these tags merged? In the table below this is shown for the cases that a tag exists in the list (A) or does not exists (!A) and combinations thereof. Table 1. merge mode merge mode A + B A + !B !A + B !A + !B REPLACE_ALL B - B - REPLACE B A B - APPEND A, B A B - PREPEND B, A A B - KEEP A A B - KEEP_ALL A A - - GST_TAG_MERGE_UNDEFINED undefined merge mode GST_TAG_MERGE_REPLACE_ALL replace all tags (clear list and append) GST_TAG_MERGE_REPLACE replace tags GST_TAG_MERGE_APPEND append tags GST_TAG_MERGE_PREPEND prepend tags GST_TAG_MERGE_KEEP keep existing tags GST_TAG_MERGE_KEEP_ALL keep all existing tags GST_TAG_MERGE_COUNT the number of merge modes
GstTagScope specifies if a taglist applies to the complete medium or only to one single stream. GST_TAG_SCOPE_STREAM tags specific to this single stream GST_TAG_SCOPE_GLOBAL global tags for the complete medium
The different states a task can be in GST_TASK_STARTED the task is started and running GST_TASK_STOPPED the task is stopped GST_TASK_PAUSED the task is paused
The different types of TOC entries (see GstTocEntry). There are two types of TOC entries: alternatives or parts in a sequence. GST_TOC_ENTRY_TYPE_ANGLE entry is an angle (i.e. an alternative) GST_TOC_ENTRY_TYPE_VERSION entry is a version (i.e. alternative) GST_TOC_ENTRY_TYPE_EDITION entry is an edition (i.e. alternative) GST_TOC_ENTRY_TYPE_INVALID invalid entry type value GST_TOC_ENTRY_TYPE_TITLE entry is a title (i.e. a part of a sequence) GST_TOC_ENTRY_TYPE_TRACK entry is a track (i.e. a part of a sequence) GST_TOC_ENTRY_TYPE_CHAPTER entry is a chapter (i.e. a part of a sequence)
The scope of a TOC. GST_TOC_SCOPE_GLOBAL global TOC representing all selectable options (this is what applications are usually interested in) GST_TOC_SCOPE_CURRENT TOC for the currently active/selected stream (this is a TOC representing the current stream from start to EOS, and is what a TOC writer / muxer is usually interested in; it will usually be a subset of the global TOC, e.g. just the chapters of the current title, or the chapters selected for playback from the current title)
The probability of the typefind function. Higher values have more certainty in doing a reliable typefind. GST_TYPE_FIND_NONE type undetected. GST_TYPE_FIND_MINIMUM unlikely typefind. GST_TYPE_FIND_POSSIBLE possible type detected. GST_TYPE_FIND_LIKELY likely a type was detected. GST_TYPE_FIND_NEARLY_CERTAIN nearly certain that a type was detected. GST_TYPE_FIND_MAXIMUM very certain a type was detected.
Different URI-related errors that can occur. GST_URI_ERROR_UNSUPPORTED_PROTOCOL The protocol is not supported GST_URI_ERROR_BAD_URI There was a problem with the URI GST_URI_ERROR_BAD_STATE Could not set or change the URI because the URI handler was in a state where that is not possible or not permitted GST_URI_ERROR_BAD_REFERENCE There was a problem with the entity that the URI references
The different types of URI direction. GST_URI_UNKNOWN The URI direction is unknown GST_URI_SINK The URI is a consumer. GST_URI_SRC The URI is a producer.
Parameters to control the allocation of memory GstMemoryFlags flags; flags to control allocation gsize align; the desired alignment of the memory gsize prefix; the desired prefix gsize padding; the desired padding
Main Gtk struct. The GstAllocator is used to create new memory.
Main Gtk struct. Opaque atomic data queue. Use the acessor functions to get the stored values.
Main Gtk struct. The GstBin base class. Subclasses can access these fields provided the LOCK is taken. gint numchildren; the number of children in this bin GList *children; the list of children in this bin. [element-type Gst.Element] guint32 children_cookie; updated whenever children changes GstBus *child_bus; internal bus for handling child messages GList *messages; queued and cached messages. [element-type Gst.Message] gboolean polling; the bin is currently calculating its state gboolean state_dirty; the bin needs to recalculate its state (deprecated) gboolean clock_dirty; the bin needs to select a new clock GstClock *provided_clock; the last clock selected GstElement *clock_provider; the element that provided provided_clock
Subclasses can override the add_element and remove_element to update the list of children in the bin. The handle_message method can be overridden to implement custom message handling. handle_message takes ownership of the message, just like gst_element_post_message. GstElementClass parent_class; bin parent class add_element () method to add an element to a bin remove_element () method to remove an element from a bin handle_message () method to handle a message from the children
Main Gtk struct. Opaque list of grouped buffers.
Main Gtk struct. The structure of a GstBufferPool. Use the associated macros to access the public variables. GstObject object; the parent structure
Parameters passed to the gst_buffer_pool_acquire_buffer() function to control the allocation of the buffer. The default implementation ignores the start and stop members but other implementations can use this extra information to decide what buffer to return. GstFormat format; the format of start and stop gint64 start; the start position gint64 stop; the stop position GstBufferPoolAcquireFlags flags; additional flags
The GstBufferPool class. GstObjectClass object_class; Object parent class get_options () get a list of options supported by this pool set_config () apply the bufferpool configuration. The default configuration will parse the default config parameters start () start the bufferpool. The default implementation will preallocate min-buffers buffers and put them in the queue stop () stop the bufferpool. the default implementation will free the preallocated buffers. This function is called when all the buffers are returned to the pool. acquire_buffer () get a new buffer from the pool. The default implementation will take a buffer from the queue and optionally wait for a buffer to be released when there are no buffers available. alloc_buffer () allocate a buffer. the default implementation allocates buffers from the configured memory allocator and with the configured parameters. All metadata that is present on the allocated buffer will be marked as GST_META_FLAG_POOLED and GST_META_FLAG_LOCKED and will not be removed from the buffer in reset_buffer. reset_buffer () reset the buffer to its state when it was freshly allocated. The default implementation will clear the flags, timestamps and will remove the metadata without the GST_META_FLAG_POOLED flag (even the metadata with GST_META_FLAG_LOCKED). release_buffer () release a buffer back in the pool. The default implementation will put the buffer back in the queue and notify any blocking acquire_buffer calls. free_buffer () free a buffer. The default implementation unrefs the buffer.
Main Gtk struct. The opaque GstBus data structure.
Main Gtk struct. Object describing media types. GstMiniObject mini_object; the parent type
Main Gtk struct.
Main Gtk struct. Opaque GstChildProxy data structure.
GstChildProxy interface. GTypeInterface parent; parent interface type. get_child_by_name () virtual method to fetch the child by name get_child_by_index () virtual method to fetch the child by index get_children_count () virtual method to get the children count
Main Gtk struct. GstClock base structure. The values of this structure are protected for subclasses, use the methods to use the GstClock.
GStreamer clock class. Override the vmethods to implement the clock functionality. GstObjectClass parent_class; the parent class structure change_resolution () change the resolution of the clock. Not all values might be acceptable. The new resolution should be returned. get_resolution () get the resolution of the clock. get_internal_time () get the internal unadjusted time of the clock. implement wait_jitter instead. wait () perform a blocking wait on the given GstClockEntry and return the jitter. wait_async () perform an asynchronous wait for the given GstClockEntry. unschedule () unblock a blocking or async wait operation.
All pending timeouts or periodic notifies are converted into an entry. Note that GstClockEntry should be treated as an opaque structure. It must not be extended or allocated using a custom allocator. gint refcount; reference counter (read-only)
Main Gtk struct.
Main Gtk struct. The instance structure of GstControlBinding. gchar *name; name of the property of this binding GParamSpec *pspec; GParamSpec for this property
The class structure of GstControlBinding. GstObjectClass parent_class; Parent class sync_values () get_value () get_value_array () get_g_value_array ()
Main Gtk struct. The instance structure of GstControlSource. GstControlSourceGetValue get_value; Function for returning a value for a given timestamp GstControlSourceGetValueArray get_value_array; Function for returning a GstValueArray for a given timestamp
The class structure of GstControlSource. GstObjectClass parent_class; Parent class
Main Gtk struct. Opaque, immutable, refcounted struct that stores date, time and timezone information. It currently supports ranges from 0001-01-01 to 9999-12-31 in the Gregorian proleptic calendar. Use the acessor functions to get the stored values.
Main Gtk struct. GStreamer element abstract base class. GRecMutex state_lock; Used to serialize execution of gst_element_set_state() GCond state_cond; Used to signal completion of a state change guint32 state_cookie; Used to detect concurrent execution of gst_element_set_state() and gst_element_get_state() GstState target_state; the target state of an element as set by the application GstState current_state; the current state of an element GstState next_state; the next state of an element, can be GST_STATE_VOID_PENDING if the element is in the correct state. GstState pending_state; the final state the element should go to, can be GST_STATE_VOID_PENDING if the element is in the correct state GstStateChangeReturn last_return; the last return value of an element state change GstBus *bus; the bus of the element. This bus is provided to the element by the parent element or the application. A GstPipeline has a bus of its own. GstClock *clock; the clock of the element. This clock is usually provided to the element by the toplevel GstPipeline. GstClockTimeDiff base_time; the time of the clock right before the element is set to PLAYING. Subtracting base_time from the current clock time in the PLAYING state will yield the running_time against the clock. GstClockTime start_time; the running_time of the last PAUSED state guint16 numpads; number of pads of the element, includes both source and sink pads. GList *pads; list of pads. [element-type Gst.Pad] guint16 numsrcpads; number of source pads of the element. GList *srcpads; list of source pads. [element-type Gst.Pad] guint16 numsinkpads; number of sink pads of the element. GList *sinkpads; list of sink pads. [element-type Gst.Pad] guint32 pads_cookie; updated whenever the a pad is added or removed
GStreamer element class. Override the vmethods to implement the element functionality. GstObjectClass parent_class; the parent class structure gpointer metadata; metadata for elements of this class GstElementFactory *elementfactory; the GstElementFactory that creates these elements GList *padtemplates; a GList of GstPadTemplate gint numpadtemplates; the number of padtemplates guint32 pad_templ_cookie; changed whenever the padtemplates change request_new_pad () called when a new pad is requested release_pad () called when a request pad is to be released get_state () get the state of the element set_state () set a new state on the element change_state () called by set_state to perform an incremental state change state_changed () called immediately after a new state was set. set_bus () set a GstBus on the element provide_clock () gets the GstClock provided by the element set_clock () set the GstClock on the element send_event () send a GstEvent to the element query () perform a GstQuery on the element post_message () called when a message is posted on the element. Chain up to the parent class' handler to have it posted on the bus. set_context () set a GstContext on the element
Main Gtk struct. The opaque GstElementFactory data structure.
Main Gtk struct. A GstEvent. GstMiniObject mini_object; the parent structure GstEventType type; the GstEventType of the event guint64 timestamp; the timestamp of the event guint32 seqnum; the sequence number of the event
A format definition GstFormat value; The unique id of this format const gchar *nick; A short nick of the format const gchar *description; A longer description of the format GQuark quark; A quark for the nick
Main Gtk struct. Opaque GstGhostPad structure.
Main Gtk struct. GstIterator base structure. The values of this structure are protected for subclasses, use the methods to use the GstIterator.
A structure containing the result of a map operation such as gst_memory_map(). It contains the data and size. GstMemory *memory; a pointer to the mapped memory GstMapFlags flags; flags used when mapping the memory guint8 *data; a pointer to the mapped data. [array length=size] gsize size; the valid size in data gsize maxsize; the maximum bytes in data
Main Gtk struct. Base structure for memory implementations. Custom memory will put this structure as the first member of their structure. GstMiniObject mini_object; parent structure GstAllocator *allocator; pointer to the GstAllocator GstMemory *parent; parent memory block gsize maxsize; the maximum size allocated gsize align; the alignment of the memory gsize offset; the offset where valid data starts gsize size; the size of valid data
Base structure for metadata. Custom metadata will put this structure as the first member of their structure. GstMetaFlags flags; extra flags for the metadata const GstMetaInfo *info; pointer to the GstMetaInfo
The GstMetaInfo provides information about a specific metadata structure. GType api; tag indentifying the metadata structure and api GType type; type indentifying the implementor of the api gsize size; size of the metadata GstMetaInitFunction init_func; function for initializing the metadata GstMetaFreeFunction free_func; function for freeing the metadata GstMetaTransformFunction transform_func; function for transforming the metadata
Extra data passed to a "gst-copy" transform GstMetaTransformFunction. gboolean region; TRUE if only region is copied gsize offset; the offset to copy, 0 if region is FALSE, otherwise > 0 gsize size; the size to copy, -1 or the buffer size when region is FALSE
Main Gtk struct. GStreamer base object class. GMutex lock; object LOCK gchar *name; The name of the object GstObject *parent; this object's parent, weak ref guint32 flags; flags for this object
Main Gtk struct. The GstPad structure. Use the functions to update the variables. gpointer element_private; private data owned by the parent element GstPadTemplate *padtemplate; padtemplate for this pad GstPadDirection direction; the direction of the pad, cannot change after creating the pad.
Info passed in the GstPadProbeCallback. GstPadProbeType type; the current probe type gulong id; the id of the probe gpointer data; type specific data, check the type field to know the datatype. This field can be NULL. guint64 offset; offset of pull probe, this field is valid when type contains GST_PAD_PROBE_TYPE_PULL guint size; size of pull probe, this field is valid when type contains GST_PAD_PROBE_TYPE_PULL
Main Gtk struct. The padtemplate object.
Main Gtk struct. A GParamSpec derived structure that contains the meta data for fractional properties. GParamSpec parent_instance; super class gint min_num; minimal numerator gint min_den; minimal denominator gint max_num; maximal numerator gint max_den; maximal denominator gint def_num; default numerator gint def_den; default denominator
Opaque structure.
Main Gtk struct. The GstPipeline structure. GstClock *fixed_clock; The fixed clock of the pipeline, used when GST_PIPELINE_FLAG_FIXED_CLOCK is set. GstClockTime stream_time; The stream time of the pipeline. A better name for this property would be the running_time, the total time spent in the PLAYING state without being flushed. (deprecated, use the start_time on GstElement). GstClockTime delay; Extra delay added to base_time to compensate for computing delays when setting elements to PLAYING.
Main Gtk struct. The opaque plugin object
A plugin should export a variable of this type called plugin_desc. The plugin loader will use the data provided there to initialize the plugin. The licence parameter must be one of: LGPL, GPL, QPL, GPL/QPL, MPL, BSD, MIT/X11, Proprietary, unknown. gint major_version; the major version number of core that plugin was compiled for gint minor_version; the minor version number of core that plugin was compiled for const gchar *name; a unique name of the plugin const gchar *description; description of plugin GstPluginInitFunc plugin_init; pointer to the init function of this plugin. const gchar *version; version of the plugin const gchar *license; effective license of plugin const gchar *source; source module plugin belongs to const gchar *package; shipped package plugin belongs to const gchar *origin; URL to provider of plugin const gchar *release_datetime; date time string in ISO 8601 format (or rather, a subset thereof), or NULL. Allowed are the following formats: "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with 'T' a separator and 'Z' indicating UTC/Zulu time). This field should be set via the GST_PACKAGE_RELEASE_DATETIME preprocessor macro.
Main Gtk struct. Opaque GstPluginFeature structure.
Main Gtk struct. A set of file/network descriptors.
A file descriptor object. int fd; a file descriptor
Main Gtk struct. Opaque GstPreset data structure.
GstPreset interface. GTypeInterface parent; parent interface type. get_preset_names () virtual method to get list of presets get_property_names () virtual methods to get properties that are persistent load_preset () virtual methods to load a preset into properties save_preset () virtual methods to save properties into a preset rename_preset () virtual methods to rename a preset delete_preset () virtual methods to remove a preset set_meta () virtual methods to set textual meta data to a preset get_meta () virtual methods to get textual meta data from a preset
Main Gtk struct. The GstQuery structure. GstMiniObject mini_object; The parent GstMiniObject type GstQueryType type; the GstQueryType
Main Gtk struct. Opaque GstRegistry structure.
Main Gtk struct. The opaque structure of a GstSample. A sample contains a typed memory block and the associated timing information. It is mainly used to exchange buffers with an application.
Main Gtk struct. A helper structure that holds the configured region of interest in a media file. GstSegmentFlags flags; flags for this segment gdouble rate; the rate of the segment gdouble applied_rate; the already applied rate to the segment GstFormat format; the format of the segment values guint64 base; the base of the segment guint64 offset; the offset to apply to start or stop guint64 start; the start of the segment guint64 stop; the stop of the segment guint64 time; the stream time of the segment guint64 position; the position in the segment guint64 duration; the duration of the segment
Datastructure to initialize GstCaps from a string description usually used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to instantiate a GstCaps. GstCaps *caps; the cached GstCaps const char *string; a string describing a caps
Structure describing the GstStaticPadTemplate. const gchar *name_template; the name of the template GstPadDirection direction; the direction of the template GstPadPresence presence; the presence of the template GstStaticCaps static_caps; the caps of the template.
Main Gtk struct. The GstStructure object. Most fields are private. GType type; the GType of a structure
Main Gtk struct. The default implementation of a GstClock that uses the system time.
Main Gtk struct. Object describing tags / metadata. GstMiniObject mini_object; the parent type
Main Gtk struct. Opaque GstTagSetter data structure.
GstTagSetterInterface interface. GTypeInterface g_iface; parent interface type.
Main Gtk struct. The GstTask object. GstTaskState state; the state of the task GCond cond; used to pause/resume the task GRecMutex *lock; The lock taken when iterating the task function GstTaskFunction func; the function executed by this task gpointer user_data; user_data passed to the task function GDestroyNotify notify; GDestroyNotify for user_data gboolean running; a flag indicating that the task is running
Main Gtk struct. The GstTaskPool object.
The GstTaskPoolClass object. GstObjectClass parent_class; the parent class structure prepare () prepare the threadpool cleanup () make sure all threads are stopped push () start a new thread join () join a thread
Structure for saving a timestamp and a value. GstClockTime timestamp; timestamp of the value change gdouble value; the corresponding value
Main Gtk struct.
Main Gtk struct. Opaque GstTocSetter data structure.
GstTocSetterInterface interface. GTypeInterface g_iface; parent interface type.
Main Gtk struct. Object that stores typefind callbacks. To use with GstTypeFindFactory. peek () Method to peek data. suggest () Method to suggest GstCaps with a given probability. gpointer data; The data used by the caller of the typefinding function. get_length () Returns the length of current data.
Main Gtk struct. Opaque object that stores information about a typefind function.
Main Gtk struct. Opaque GstURIHandler structure.
Any GstElement using this interface should implement these methods. GTypeInterface parent; The parent interface type get_type () Method to tell whether the element handles source or sink URI. get_protocols () Method to return the list of protocols handled by the element. get_uri () Method to return the URI currently handled by the element. set_uri () Method to set a new URI.
VTable for the GValue type. GType type; a GType GstValueCompareFunc compare; a GstValueCompareFunc GstValueSerializeFunc serialize; a GstValueSerializeFunc GstValueDeserializeFunc deserialize; a GstValueDeserializeFunc
default padding of structures ****
padding for very extensible base classes ****