Package ch.bailu.gtk.gst
Klasse Event
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.type.Record
ch.bailu.gtk.gst.Event
- Alle implementierten Schnittstellen:
PointerInterface
The event class provides factory methods to construct events for sending
and functions to query (parse) received events.
Events are usually created with gst_event_new_*() which takes event-type
specific parameters as arguments.
To send an event application will usually use gst_element_send_event() and
elements will use gst_pad_send_event() or gst_pad_push_event().
The event should be unreffed with gst_event_unref() if it has not been sent.
Events that have been received can be parsed with their respective
gst_event_parse_*() functions. It is valid to pass %NULL for unwanted details.
Events are passed between elements in parallel to the data stream. Some events
are serialized with buffers, others are not. Some events only travel downstream,
others only upstream. Some events can travel both upstream and downstream.
The events are used to signal special conditions in the datastream such as
EOS (end of stream) or the start of a new stream-segment.
Events are also used to flush the pipeline of any pending data.
Most of the event API is used inside plugins. Applications usually only
construct and use seek events.
To do that gst_event_new_seek() is used to create a seek event. It takes
the needed parameters to specify seeking time and mode.
and functions to query (parse) received events.
Events are usually created with gst_event_new_*() which takes event-type
specific parameters as arguments.
To send an event application will usually use gst_element_send_event() and
elements will use gst_pad_send_event() or gst_pad_push_event().
The event should be unreffed with gst_event_unref() if it has not been sent.
Events that have been received can be parsed with their respective
gst_event_parse_*() functions. It is valid to pass %NULL for unwanted details.
Events are passed between elements in parallel to the data stream. Some events
are serialized with buffers, others are not. Some events only travel downstream,
others only upstream. Some events can travel both upstream and downstream.
The events are used to signal special conditions in the datastream such as
EOS (end of stream) or the start of a new stream-segment.
Events are also used to flush the pipeline of any pending data.
Most of the event API is used inside plugins. Applications usually only
construct and use seek events.
To do that gst_event_new_seek() is used to create a seek event. It takes
the needed parameters to specify seeking time and mode.
<!-- language="C" --> GstEvent *event; gboolean result; ... // construct a seek event to play the media from second 2 to 5, flush // the pipeline to decrease latency. event = gst_event_new_seek (1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, 2 * GST_SECOND, GST_SEEK_TYPE_SET, 5 * GST_SECOND); ... result = gst_element_send_event (pipeline, event); if (!result) g_warning ("seek failed"); ...
https://gstreamer.freedesktop.org/documentation/gstreamer/gi-index.html
-
Feldübersicht
Felder -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoid
copySegment
(Segment segment) Parses a segment @event and copies the #GstSegment into the location
given by @segment.static ClassHandler
int
the sequence number of the eventlong
the timestamp of the eventint
the #GstEventType of the eventstatic int
static long
static TypeSystem.TypeSize
long
Retrieve the accumulated running time offset of the event.int
Retrieve the sequence number of a event.Access the structure of the event.static long
static TypeSystem.TypeSize
boolean
Checks if @event has the given @name.boolean
Checks if @event has the given @name.boolean
hasNameId
(int name) Veraltet.static Event
newBufferSizeEvent
(int format, long minsize, long maxsize, boolean async) Create a new buffersize event.static Event
newCapsEvent
(Caps caps) Create a new CAPS event for @caps.static Event
newCustomEvent
(int type, Structure structure) Create a new custom-typed event.static Event
Create a new EOS event.static Event
Allocate a new flush start event.static Event
newFlushStopEvent
(boolean reset_time) Allocate a new flush stop event.static Event
newGapEvent
(long timestamp, long duration) Create a new GAP event.static Event
newInstantRateChangeEvent
(double rate_multiplier, int new_flags) Create a new instant-rate-change event.static Event
newInstantRateSyncTimeEvent
(double rate_multiplier, long running_time, long upstream_running_time) Create a new instant-rate-sync-time event.static Event
newLatencyEvent
(long latency) Create a new latency event.static Event
newNavigationEvent
(Structure structure) Create a new navigation event from the given description.static Event
newProtectionEvent
(Str system_id, Buffer data, Str origin) Creates a new event containing information specific to a particular
protection system (uniquely identified by @system_id), by which that
protection system can acquire key(s) to decrypt a protected stream.static Event
newProtectionEvent
(String system_id, Buffer data, String origin) Creates a new event containing information specific to a particular
protection system (uniquely identified by @system_id), by which that
protection system can acquire key(s) to decrypt a protected stream.static Event
Create a new reconfigure event.static Event
newSeekEvent
(double rate, int format, int flags, int start_type, long start, int stop_type, long stop) Allocate a new seek event with the given parameters.static Event
newSegmentDoneEvent
(int format, long position) Create a new segment-done event.static Event
newSegmentEvent
(Segment segment) Create a new SEGMENT event for @segment.static Event
newSelectStreamsEvent
(List streams) Allocate a new select-streams event.static Event
newSinkMessageEvent
(Str name, Message msg) Create a new sink-message event.static Event
newSinkMessageEvent
(String name, Message msg) Create a new sink-message event.static Event
newStepEvent
(int format, long amount, double rate, boolean flush, boolean intermediate) Create a new step event.static Event
newStreamCollectionEvent
(StreamCollection collection) Create a new STREAM_COLLECTION event.static Event
newStreamGroupDoneEvent
(int group_id) Create a new Stream Group Done event.static Event
newStreamStartEvent
(Str stream_id) Create a new STREAM_START event.static Event
newStreamStartEvent
(String stream_id) Create a new STREAM_START event.static Event
newTagEvent
(TagList taglist) Generates a metadata tag event from the given @taglist.static Event
newTocEvent
(Toc toc, boolean updated) Generate a TOC event from the given @toc.static Event
newTocSelectEvent
(Str uid) Generate a TOC select event with the given @uid.static Event
newTocSelectEvent
(String uid) Generate a TOC select event with the given @uid.void
parseFlushStop
(Int reset_time) Parse the FLUSH_STOP event and retrieve the @reset_time member.void
parseGapFlags
(Int flags) Retrieve the gap flags that may have been set on a gap event with
gst_event_set_gap_flags().void
parseInstantRateChange
(Dbl rate_multiplier, Int new_flags) Extract rate and flags from an instant-rate-change event.void
parseStreamFlags
(Int flags) void
setFieldSeqnum
(int seqnum) the sequence number of the eventvoid
setFieldTimestamp
(long timestamp) the timestamp of the eventvoid
setFieldType
(int type) the #GstEventType of the eventvoid
setGapFlags
(int flags) Sets @flags on @event to give additional information about the reason for
the #GST_EVENT_GAP.void
setGroupId
(int group_id) All streams that have the same group id are supposed to be played
together, i.e. all streams inside a container file should have the
same group id but different stream ids.void
setRunningTimeOffset
(long offset) Set the running time offset of a event.void
setSeekTrickmodeInterval
(long interval) Sets a trickmode interval on a (writable) seek event.void
setSeqnum
(int seqnum) Set the sequence number of a event.void
Set the @stream on the stream-start @eventvoid
setStreamFlags
(int flags) Get a writable version of the structure.Von Klasse geerbte Methoden ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Von Klasse geerbte Methoden ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Von Klasse geerbte Methoden java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Von Schnittstelle geerbte Methoden ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Felddetails
-
MINI_OBJECT
the parent structure
Private field: direct-type- Siehe auch:
-
TYPE
the #GstEventType of the event- Siehe auch:
-
TIMESTAMP
the timestamp of the event- Siehe auch:
-
SEQNUM
the sequence number of the event- Siehe auch:
-
-
Konstruktordetails
-
Event
-
Event
public Event()
-
-
Methodendetails
-
getClassHandler
-
setFieldType
public void setFieldType(int type) the #GstEventType of the event -
getFieldType
public int getFieldType()the #GstEventType of the event -
setFieldTimestamp
public void setFieldTimestamp(long timestamp) the timestamp of the event -
getFieldTimestamp
public long getFieldTimestamp()the timestamp of the event -
setFieldSeqnum
public void setFieldSeqnum(int seqnum) the sequence number of the event -
getFieldSeqnum
public int getFieldSeqnum()the sequence number of the event -
newBufferSizeEvent
Create a new buffersize event. The event is sent downstream and notifies
elements that they should provide a buffer of the specified dimensions.
When the @async flag is set, a thread boundary is preferred.- Parameter:
format
- buffer formatminsize
- minimum buffer sizemaxsize
- maximum buffer sizeasync
- thread behavior- Gibt zurück:
- a new #GstEvent
-
newCapsEvent
Create a new CAPS event for @caps. The caps event can only travel downstream
synchronized with the buffer flow and contains the format of the buffers
that will follow after the event.- Parameter:
caps
- a #GstCaps- Gibt zurück:
- the new CAPS event.
-
newCustomEvent
Create a new custom-typed event. This can be used for anything not
handled by other event-specific functions to pass an event to another
element.
Make sure to allocate an event type with the #GST_EVENT_MAKE_TYPE macro,
assigning a free number and filling in the correct direction and
serialization flags.
New custom events can also be created by subclassing the event type if
needed.- Parameter:
type
- The type of the new eventstructure
- the structure for the event. The event will take ownership of the structure.- Gibt zurück:
- the new custom event.
-
newEosEvent
Create a new EOS event. The eos event can only travel downstream
synchronized with the buffer flow. Elements that receive the EOS
event on a pad can return #GST_FLOW_EOS as a #GstFlowReturn
when data after the EOS event arrives.
The EOS event will travel down to the sink elements in the pipeline
which will then post the #GST_MESSAGE_EOS on the bus after they have
finished playing any buffered data.
When all sinks have posted an EOS message, an EOS message is
forwarded to the application.
The EOS event itself will not cause any state transitions of the pipeline.- Gibt zurück:
- the new EOS event.
-
newFlushStartEvent
Allocate a new flush start event. The flush start event can be sent
upstream and downstream and travels out-of-bounds with the dataflow.
It marks pads as being flushing and will make them return
#GST_FLOW_FLUSHING when used for data flow with gst_pad_push(),
gst_pad_chain(), gst_pad_get_range() and gst_pad_pull_range().
Any event (except a #GST_EVENT_FLUSH_STOP) received
on a flushing pad will return %FALSE immediately.
Elements should unlock any blocking functions and exit their streaming
functions as fast as possible when this event is received.
This event is typically generated after a seek to flush out all queued data
in the pipeline so that the new media is played as soon as possible.- Gibt zurück:
- a new flush start event.
-
newFlushStopEvent
Allocate a new flush stop event. The flush stop event can be sent
upstream and downstream and travels serialized with the dataflow.
It is typically sent after sending a FLUSH_START event to make the
pads accept data again.
Elements can process this event synchronized with the dataflow since
the preceding FLUSH_START event stopped the dataflow.
This event is typically generated to complete a seek and to resume
dataflow.- Parameter:
reset_time
- if time should be reset- Gibt zurück:
- a new flush stop event.
-
newGapEvent
Create a new GAP event. A gap event can be thought of as conceptually
equivalent to a buffer to signal that there is no data for a certain
amount of time. This is useful to signal a gap to downstream elements
which may wait for data, such as muxers or mixers or overlays, especially
for sparse streams such as subtitle streams.- Parameter:
timestamp
- the start time (pts) of the gapduration
- the duration of the gap- Gibt zurück:
- the new GAP event.
-
newInstantRateChangeEvent
Create a new instant-rate-change event. This event is sent by seek
handlers (e.g. demuxers) when receiving a seek with the
%GST_SEEK_FLAG_INSTANT_RATE_CHANGE and signals to downstream elements that
the playback rate in the existing segment should be immediately multiplied
by the @rate_multiplier factor.
The flags provided replace any flags in the existing segment, for the
flags within the %GST_SEGMENT_INSTANT_FLAGS set. Other GstSegmentFlags
are ignored and not transferred in the event.- Parameter:
rate_multiplier
- the multiplier to be applied to the playback ratenew_flags
- A new subset of segment flags to replace in segments- Gibt zurück:
- the new instant-rate-change event.
-
newInstantRateSyncTimeEvent
public static Event newInstantRateSyncTimeEvent(double rate_multiplier, long running_time, long upstream_running_time) Create a new instant-rate-sync-time event. This event is sent by the
pipeline to notify elements handling the instant-rate-change event about
the running-time when the new rate should be applied. The running time
may be in the past when elements handle this event, which can lead to
switching artifacts. The magnitude of those depends on the exact timing
of event delivery to each element and the magnitude of the change in
playback rate being applied.
The @running_time and @upstream_running_time are the same if this
is the first instant-rate adjustment, but will differ for later ones
to compensate for the accumulated offset due to playing at a rate
different to the one indicated in the playback segments.- Parameter:
rate_multiplier
- the new playback rate multiplier to be appliedrunning_time
- Running time when the rate change should be appliedupstream_running_time
- The upstream-centric running-time when the rate change should be applied.- Gibt zurück:
- the new instant-rate-sync-time event.
-
newLatencyEvent
Create a new latency event. The event is sent upstream from the sinks and
notifies elements that they should add an additional @latency to the
running time before synchronising against the clock.
The latency is mostly used in live sinks and is always expressed in
the time format.- Parameter:
latency
- the new latency value- Gibt zurück:
- a new #GstEvent
-
newProtectionEvent
public static Event newProtectionEvent(@Nonnull Str system_id, @Nonnull Buffer data, @Nonnull Str origin) Creates a new event containing information specific to a particular
protection system (uniquely identified by @system_id), by which that
protection system can acquire key(s) to decrypt a protected stream.
In order for a decryption element to decrypt media
protected using a specific system, it first needs all the
protection system specific information necessary to acquire the decryption
key(s) for that stream. The functions defined here enable this information
to be passed in events from elements that extract it
(e.g., ISOBMFF demuxers, MPEG DASH demuxers) to protection decrypter
elements that use it.
Events containing protection system specific information are created using
#gst_event_new_protection, and they can be parsed by downstream elements
using #gst_event_parse_protection.
In Common Encryption, protection system specific information may be located
within ISOBMFF files, both in movie (moov) boxes and movie fragment (moof)
boxes; it may also be contained in ContentProtection elements within MPEG
DASH MPDs. The events created by #gst_event_new_protection contain data
identifying from which of these locations the encapsulated protection system
specific information originated. This origin information is required as
some protection systems use different encodings depending upon where the
information originates.
The events returned by gst_event_new_protection() are implemented
in such a way as to ensure that the most recently-pushed protection info
event of a particular @origin and @system_id will
be stuck to the output pad of the sending element.- Parameter:
system_id
- a string holding a UUID that uniquely identifies a protection system.data
- a #GstBuffer holding protection system specific information. The reference count of the buffer will be incremented by one.origin
- a string indicating where the protection information carried in the event was extracted from. The allowed values of this string will depend upon the protection scheme.- Gibt zurück:
- a #GST_EVENT_PROTECTION event.
-
newProtectionEvent
Creates a new event containing information specific to a particular
protection system (uniquely identified by @system_id), by which that
protection system can acquire key(s) to decrypt a protected stream.
In order for a decryption element to decrypt media
protected using a specific system, it first needs all the
protection system specific information necessary to acquire the decryption
key(s) for that stream. The functions defined here enable this information
to be passed in events from elements that extract it
(e.g., ISOBMFF demuxers, MPEG DASH demuxers) to protection decrypter
elements that use it.
Events containing protection system specific information are created using
#gst_event_new_protection, and they can be parsed by downstream elements
using #gst_event_parse_protection.
In Common Encryption, protection system specific information may be located
within ISOBMFF files, both in movie (moov) boxes and movie fragment (moof)
boxes; it may also be contained in ContentProtection elements within MPEG
DASH MPDs. The events created by #gst_event_new_protection contain data
identifying from which of these locations the encapsulated protection system
specific information originated. This origin information is required as
some protection systems use different encodings depending upon where the
information originates.
The events returned by gst_event_new_protection() are implemented
in such a way as to ensure that the most recently-pushed protection info
event of a particular @origin and @system_id will
be stuck to the output pad of the sending element.- Parameter:
system_id
- a string holding a UUID that uniquely identifies a protection system.data
- a #GstBuffer holding protection system specific information. The reference count of the buffer will be incremented by one.origin
- a string indicating where the protection information carried in the event was extracted from. The allowed values of this string will depend upon the protection scheme.- Gibt zurück:
- a #GST_EVENT_PROTECTION event.
-
newReconfigureEvent
Create a new reconfigure event. The purpose of the reconfigure event is
to travel upstream and make elements renegotiate their caps or reconfigure
their buffer pools. This is useful when changing properties on elements
or changing the topology of the pipeline.- Gibt zurück:
- a new #GstEvent
-
newSeekEvent
public static Event newSeekEvent(double rate, int format, int flags, int start_type, long start, int stop_type, long stop) Allocate a new seek event with the given parameters.
The seek event configures playback of the pipeline between @start to @stop
at the speed given in @rate, also called a playback segment.
The @start and @stop values are expressed in @format.
A @rate of 1.0 means normal playback rate, 2.0 means double speed.
Negatives values means backwards playback. A value of 0.0 for the
rate is not allowed and should be accomplished instead by PAUSING the
pipeline.
A pipeline has a default playback segment configured with a start
position of 0, a stop position of -1 and a rate of 1.0. The currently
configured playback segment can be queried with #GST_QUERY_SEGMENT.
@start_type and @stop_type specify how to adjust the currently configured
start and stop fields in playback segment. Adjustments can be made relative
or absolute to the last configured values. A type of #GST_SEEK_TYPE_NONE
means that the position should not be updated.
When the rate is positive and @start has been updated, playback will start
from the newly configured start position.
For negative rates, playback will start from the newly configured stop
position (if any). If the stop position is updated, it must be different from
-1 (#GST_CLOCK_TIME_NONE) for negative rates.
It is not possible to seek relative to the current playback position, to do
this, PAUSE the pipeline, query the current playback position with
#GST_QUERY_POSITION and update the playback segment current position with a
#GST_SEEK_TYPE_SET to the desired position.- Parameter:
rate
- The new playback rateformat
- The format of the seek valuesflags
- The optional seek flagsstart_type
- The type and flags for the new start positionstart
- The value of the new start positionstop_type
- The type and flags for the new stop positionstop
- The value of the new stop position- Gibt zurück:
- a new seek event.
-
newSegmentEvent
Create a new SEGMENT event for @segment. The segment event can only travel
downstream synchronized with the buffer flow and contains timing information
and playback properties for the buffers that will follow.
The segment event marks the range of buffers to be processed. All
data not within the segment range is not to be processed. This can be
used intelligently by plugins to apply more efficient methods of skipping
unneeded data. The valid range is expressed with the @start and @stop
values.
The time value of the segment is used in conjunction with the start
value to convert the buffer timestamps into the stream time. This is
usually done in sinks to report the current stream_time.
@time represents the stream_time of a buffer carrying a timestamp of
@start. @time cannot be -1.
@start cannot be -1, @stop can be -1. If there
is a valid @stop given, it must be greater or equal the @start, including
when the indicated playback @rate is < 0.
The @applied_rate value provides information about any rate adjustment that
has already been made to the timestamps and content on the buffers of the
stream. (@rate * @applied_rate) should always equal the rate that has been
requested for playback. For example, if an element has an input segment
with intended playback @rate of 2.0 and applied_rate of 1.0, it can adjust
incoming timestamps and buffer content by half and output a segment event
with @rate of 1.0 and @applied_rate of 2.0
After a segment event, the buffer stream time is calculated with:
time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)- Parameter:
segment
- a #GstSegment- Gibt zurück:
- the new SEGMENT event.
-
newSegmentDoneEvent
Create a new segment-done event. This event is sent by elements that
finish playback of a segment as a result of a segment seek.- Parameter:
format
- The format of the position being doneposition
- The position of the segment being done- Gibt zurück:
- a new #GstEvent
-
newSelectStreamsEvent
Allocate a new select-streams event.
The select-streams event requests the specified @streams to be activated.
The list of @streams corresponds to the "Stream ID" of each stream to be
activated. Those ID can be obtained via the #GstStream objects present
in #GST_EVENT_STREAM_START, #GST_EVENT_STREAM_COLLECTION or
#GST_MESSAGE_STREAM_COLLECTION.
Note: The list of @streams can not be empty.- Parameter:
streams
- the list of streams to activate- Gibt zurück:
- a new select-streams event.
-
newSinkMessageEvent
Create a new sink-message event. The purpose of the sink-message event is
to instruct a sink to post the message contained in the event synchronized
with the stream.
@name is used to store multiple sticky events on one pad.- Parameter:
name
- a name for the eventmsg
- the #GstMessage to be posted- Gibt zurück:
- a new #GstEvent
-
newSinkMessageEvent
Create a new sink-message event. The purpose of the sink-message event is
to instruct a sink to post the message contained in the event synchronized
with the stream.
@name is used to store multiple sticky events on one pad.- Parameter:
name
- a name for the eventmsg
- the #GstMessage to be posted- Gibt zurück:
- a new #GstEvent
-
newStepEvent
public static Event newStepEvent(int format, long amount, double rate, boolean flush, boolean intermediate) Create a new step event. The purpose of the step event is to instruct a sink
to skip @amount (expressed in @format) of media. It can be used to implement
stepping through the video frame by frame or for doing fast trick modes.
A rate of <= 0.0 is not allowed. Pause the pipeline, for the effect of rate
= 0.0 or first reverse the direction of playback using a seek event to get
the same effect as rate < 0.0.
The @flush flag will clear any pending data in the pipeline before starting
the step operation.
The @intermediate flag instructs the pipeline that this step operation is
part of a larger step operation.- Parameter:
format
- the format of @amountamount
- the amount of data to steprate
- the step rateflush
- flushing stepsintermediate
- intermediate steps- Gibt zurück:
- a new #GstEvent
-
newStreamCollectionEvent
Create a new STREAM_COLLECTION event. The stream collection event can only
travel downstream synchronized with the buffer flow.
Source elements, demuxers and other elements that manage collections
of streams and post #GstStreamCollection messages on the bus also send
this event downstream on each pad involved in the collection, so that
activation of a new collection can be tracked through the downstream
data flow.- Parameter:
collection
- Active collection for this data flow- Gibt zurück:
- the new STREAM_COLLECTION event.
-
newStreamGroupDoneEvent
Create a new Stream Group Done event. The stream-group-done event can
only travel downstream synchronized with the buffer flow. Elements
that receive the event on a pad should handle it mostly like EOS,
and emit any data or pending buffers that would depend on more data
arriving and unblock, since there won't be any more data.
This event is followed by EOS at some point in the future, and is
generally used when switching pads - to unblock downstream so that
new pads can be exposed before sending EOS on the existing pads.- Parameter:
group_id
- the group id of the stream group which is ending- Gibt zurück:
- the new stream-group-done event.
-
newStreamStartEvent
Create a new STREAM_START event. The stream start event can only
travel downstream synchronized with the buffer flow. It is expected
to be the first event that is sent for a new stream.
Source elements, demuxers and other elements that create new streams
are supposed to send this event as the first event of a new stream. It
should not be sent after a flushing seek or in similar situations
and is used to mark the beginning of a new logical stream. Elements
combining multiple streams must ensure that this event is only forwarded
downstream once and not for every single input stream.
The @stream_id should be a unique string that consists of the upstream
stream-id, / as separator and a unique stream-id for this specific
stream. A new stream-id should only be created for a stream if the upstream
stream is split into (potentially) multiple new streams, e.g. in a demuxer,
but not for every single element in the pipeline.
gst_pad_create_stream_id() or gst_pad_create_stream_id_printf() can be
used to create a stream-id. There are no particular semantics for the
stream-id, though it should be deterministic (to support stream matching)
and it might be used to order streams (besides any information conveyed by
stream flags).- Parameter:
stream_id
- Identifier for this stream- Gibt zurück:
- the new STREAM_START event.
-
newStreamStartEvent
Create a new STREAM_START event. The stream start event can only
travel downstream synchronized with the buffer flow. It is expected
to be the first event that is sent for a new stream.
Source elements, demuxers and other elements that create new streams
are supposed to send this event as the first event of a new stream. It
should not be sent after a flushing seek or in similar situations
and is used to mark the beginning of a new logical stream. Elements
combining multiple streams must ensure that this event is only forwarded
downstream once and not for every single input stream.
The @stream_id should be a unique string that consists of the upstream
stream-id, / as separator and a unique stream-id for this specific
stream. A new stream-id should only be created for a stream if the upstream
stream is split into (potentially) multiple new streams, e.g. in a demuxer,
but not for every single element in the pipeline.
gst_pad_create_stream_id() or gst_pad_create_stream_id_printf() can be
used to create a stream-id. There are no particular semantics for the
stream-id, though it should be deterministic (to support stream matching)
and it might be used to order streams (besides any information conveyed by
stream flags).- Parameter:
stream_id
- Identifier for this stream- Gibt zurück:
- the new STREAM_START event.
-
newTagEvent
Generates a metadata tag event from the given @taglist.
The scope of the taglist specifies if the taglist applies to the
complete medium or only to this specific stream. As the tag event
is a sticky event, elements should merge tags received from
upstream with a given scope with their own tags with the same
scope and create a new tag event from it.- Parameter:
taglist
- metadata list. The event will take ownership of the taglist.- Gibt zurück:
- a new #GstEvent
-
newTocEvent
Generate a TOC event from the given @toc. The purpose of the TOC event is to
inform elements that some kind of the TOC was found.- Parameter:
toc
- #GstToc structure.updated
- whether @toc was updated or not.- Gibt zurück:
- a new #GstEvent.
-
newTocSelectEvent
Generate a TOC select event with the given @uid. The purpose of the
TOC select event is to start playback based on the TOC's entry with the
given @uid.- Parameter:
uid
- UID in the TOC to start playback from.- Gibt zurück:
- a new #GstEvent.
-
newTocSelectEvent
Generate a TOC select event with the given @uid. The purpose of the
TOC select event is to start playback based on the TOC's entry with the
given @uid.- Parameter:
uid
- UID in the TOC to start playback from.- Gibt zurück:
- a new #GstEvent.
-
copySegment
Parses a segment @event and copies the #GstSegment into the location
given by @segment.- Parameter:
segment
- a pointer to a #GstSegment
-
getRunningTimeOffset
public long getRunningTimeOffset()Retrieve the accumulated running time offset of the event.
Events passing through #GstPads that have a running time
offset set via gst_pad_set_offset() will get their offset
adjusted according to the pad's offset.
If the event contains any information that related to the
running time, this information will need to be updated
before usage with this offset.- Gibt zurück:
- The event's running time offset MT safe.
-
getSeqnum
public int getSeqnum()Retrieve the sequence number of a event.
Events have ever-incrementing sequence numbers, which may also be set
explicitly via gst_event_set_seqnum(). Sequence numbers are typically used to
indicate that a event corresponds to some other set of events or messages,
for example an EOS event corresponding to a SEEK event. It is considered good
practice to make this correspondence when possible, though it is not
required.
Note that events and messages share the same sequence number incrementor;
two events or messages will never have the same sequence number unless
that correspondence was made explicitly.- Gibt zurück:
- The event's sequence number. MT safe.
-
getStructure
Access the structure of the event.- Gibt zurück:
- The structure of the event. The structure is still owned by the event, which means that you should not free it and that the pointer becomes invalid when you free the event. MT safe.
-
hasName
Checks if @event has the given @name. This function is usually used to
check the name of a custom event.- Parameter:
name
- name to check- Gibt zurück:
- %TRUE if @name matches the name of the event structure.
-
hasName
Checks if @event has the given @name. This function is usually used to
check the name of a custom event.- Parameter:
name
- name to check- Gibt zurück:
- %TRUE if @name matches the name of the event structure.
-
hasNameId
Veraltet.Checks if @event has the given @name. This function is usually used to
check the name of a custom event.- Parameter:
name
- name to check as a GQuark- Gibt zurück:
- %TRUE if @name matches the name of the event structure.
-
parseFlushStop
Parse the FLUSH_STOP event and retrieve the @reset_time member.- Parameter:
reset_time
- if time should be reset
-
parseGapFlags
Retrieve the gap flags that may have been set on a gap event with
gst_event_set_gap_flags().- Parameter:
flags
- a #GstGapFlags or %NULL
-
parseInstantRateChange
Extract rate and flags from an instant-rate-change event.- Parameter:
rate_multiplier
- location in which to store the rate multiplier of the instant-rate-change event, or %NULLnew_flags
- location in which to store the new segment flags of the instant-rate-change event, or %NULL
-
parseStreamFlags
- Parameter:
flags
- address of variable where to store the stream flags
-
setGapFlags
public void setGapFlags(int flags) Sets @flags on @event to give additional information about the reason for
the #GST_EVENT_GAP.- Parameter:
flags
- a #GstGapFlags
-
setGroupId
public void setGroupId(int group_id) All streams that have the same group id are supposed to be played
together, i.e. all streams inside a container file should have the
same group id but different stream ids. The group id should change
each time the stream is started, resulting in different group ids
each time a file is played for example.
Use gst_util_group_id_next() to get a new group id.- Parameter:
group_id
- the group id to set
-
setRunningTimeOffset
public void setRunningTimeOffset(long offset) Set the running time offset of a event. See
gst_event_get_running_time_offset() for more information.
MT safe.- Parameter:
offset
- A the new running time offset
-
setSeekTrickmodeInterval
public void setSeekTrickmodeInterval(long interval) Sets a trickmode interval on a (writable) seek event. Elements
that support TRICKMODE_KEY_UNITS seeks SHOULD use this as the minimal
interval between each frame they may output.- Parameter:
interval
-
-
setSeqnum
public void setSeqnum(int seqnum) Set the sequence number of a event.
This function might be called by the creator of a event to indicate that the
event relates to other events or messages. See gst_event_get_seqnum() for
more information.
MT safe.- Parameter:
seqnum
- A sequence number.
-
setStream
Set the @stream on the stream-start @event- Parameter:
stream
- the stream object to set
-
setStreamFlags
public void setStreamFlags(int flags) - Parameter:
flags
- the stream flags to set
-
writableStructure
Get a writable version of the structure.- Gibt zurück:
- The structure of the event. The structure is still owned by the event, which means that you should not free it and that the pointer becomes invalid when you free the event. This function ensures that @event is writable, and if so, will never return %NULL. MT safe.
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-