gstreamermm
1.4.3
|
A new segment event. More...
Public Member Functions | |
void | parse (const GstSegment** segment) const |
gst_event_parse_segment: : The event to parse : (out) (transfer none): a pointer to a #GstSegment More... | |
![]() | |
void | reference () const |
Increment the reference count for this object. More... | |
void | unreference () const |
Decrement the reference count for this object. More... | |
GstEvent* | gobj () |
Provides access to the underlying C instance. More... | |
const GstEvent* | gobj () const |
Provides access to the underlying C instance. More... | |
GstEvent* | gobj_copy () const |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
Gst::Structure | get_structure () const |
Access the structure of the event. More... | |
bool | has_name (const Glib::ustring& name) const |
Checks if event has the given name. More... | |
guint32 | get_seqnum () const |
Retrieve the sequence number of a event. More... | |
void | set_seqnum (guint32 seqnum) |
Set the sequence number of a event. More... | |
Glib::RefPtr< Gst::Event > | create_writable () |
Makes a writable event from the given event. More... | |
bool | is_downstream () const |
Check if an event can travel downstream. More... | |
bool | is_serialized () const |
Check if an event is serialized with the data stream. More... | |
bool | is_upstream () const |
Check if an event can travel upstream. More... | |
EventType | get_event_type () const |
Get the Gst::EventType of the event. More... | |
ClockTime | get_timestamp () const |
Get the Gst::ClockTime timestamp of the event. More... | |
![]() | |
void | reference () const |
Increment the reference count for this object. More... | |
void | unreference () const |
Decrement the reference count for this object. More... | |
GstMiniObject* | gobj () |
Provides access to the underlying C instance. More... | |
const GstMiniObject* | gobj () const |
Provides access to the underlying C instance. More... | |
GstMiniObject* | gobj_copy () const |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
~MiniObject () | |
guint | get_flags () const |
void | set_flags (const guint& value) |
gint | get_refcount () const |
gint | get_lockstate () const |
bool | lock (LockFlags flags) |
Lock the mini-object with the specified access mode in flags. More... | |
void | unlock (LockFlags flags) |
Unlock the mini-object with the specified access mode in flags. More... | |
bool | is_writable () const |
If mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE lock on object is the only one, this means that changes to the object will not be visible to any other object. More... | |
Glib::RefPtr< MiniObject > | create_writable () |
Checks if a mini-object is writable. More... | |
void | set_qdata (GQuark quark, QuarkData* data) |
This sets an opaque, named pointer on a miniobject. More... | |
QuarkData* | get_qdata (GQuark quark) const |
This function gets back user data pointers stored via set_qdata(). More... | |
QuarkData* | steal_qdata (GQuark quark) |
This function gets back user data pointers stored via set_qdata() and removes the data from object without invoking its destroy() function (if any was set). More... | |
void | add_finalize_notifier (const SlotFinalizer& slot) |
Adds notifier when mini object is finalized. More... | |
void | remove_finalize_notifier () |
Remove finalize notifier. More... | |
Static Public Member Functions | |
static Glib::RefPtr < Gst::EventNewSegment > | create (const Gst::Segment& segment) |
gst_event_new_segment: : (transfer none): a Gst::Segment More... | |
Additional Inherited Members | |
![]() | |
typedef sigc::slot< void > | SlotFinalizer |
![]() | |
Event () | |
void | operator delete (void*, std::size_t) |
![]() | |
MiniObject () | |
void | operator delete (void*, std::size_t) |
![]() | |
Glib::RefPtr< Gst::Event > | wrap (GstEvent* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
![]() | |
Glib::RefPtr< Gst::MiniObject > | wrap (GstMiniObject* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
A new segment event.
See create() for more details.
|
static |
gst_event_new_segment: : (transfer none): a Gst::Segment
Create a new SEGMENT event for . 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 newsegment 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 and 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. represents the stream_time of a buffer carrying a timestamp of . cannot be -1.
cannot be -1, can be -1. If there is a valid given, it must be greater or equal the , including when the indicated playback is < 0.
The value provides information about any rate adjustment that has already been made to the timestamps and content on the buffers of the stream. ( * ) should always equal the rate that has been requested for playback. For example, if an element has an input segment with intended playback of 2.0 and applied_rate of 1.0, it can adjust incoming timestamps and buffer content by half and output a newsegment event with of 1.0 and of 2.0
After a newsegment event, the buffer stream time is calculated with:
time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)
Returns: (transfer full): the new SEGMENT event.
void Gst::EventNewSegment::parse | ( | const GstSegment ** | segment | ) | const |
gst_event_parse_segment: : The event to parse : (out) (transfer none): a pointer to a #GstSegment
Parses a segment and stores the result in the given location. remains valid only until the is freed. Don't modify the segment and make a copy if you want to modify it or store it for later use.