gstreamermm
1.10.0
|
A stream-start event. More...
#include <gstreamermm/event.h>
Public Member Functions | |
Glib::ustring | parse_stream_id () const |
Parse a stream-id event. More... | |
void | set_stream_flags (Gst::StreamFlags flags) |
Gst::StreamFlags | parse_stream_flags () const |
Parse a stream flag. More... | |
bool | parse_group_id (guint& group_id) const |
void | set_group_id (guint 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. 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... | |
Event ()=delete | |
Event (const Event&)=delete | |
Event& | operator= (const Event&)=delete |
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... | |
gint64 | get_running_time_offset () const |
Retrieve the accumulated running time offset of the event. More... | |
void | set_running_time_offset (gint64 offset) |
Set the running time offset of a event. More... | |
Glib::RefPtr< Gst::Event > | copy () const |
Copy the event using the event specific copy function. 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... | |
Gst::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 ()=delete | |
MiniObject (const MiniObject&)=delete | |
MiniObject& | operator= (const MiniObject&)=delete |
~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::EventStreamStart > | create (const Glib::ustring& stream_id) |
Create a new STREAM_START event. More... | |
Additional Inherited Members | |
![]() | |
typedef sigc::slot< void > | SlotFinalizer |
![]() | |
void | operator delete (void*, std::size_t) |
![]() | |
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 stream-start event.
See create() for more details.
|
static |
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).
stream_id | Identifier for this stream. |
bool Gst::EventStreamStart::parse_group_id | ( | guint & | group_id | ) | const |
group_id | Address of variable where to store the group id. |
true
if a group id was set on the event and could be parsed, false
otherwise. Gst::StreamFlags Gst::EventStreamStart::parse_stream_flags | ( | ) | const |
Parse a stream flag.
Glib::ustring Gst::EventStreamStart::parse_stream_id | ( | ) | const |
Parse a stream-id event.
void Gst::EventStreamStart::set_group_id | ( | guint | 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.
group_id | The group id to set. |
void Gst::EventStreamStart::set_stream_flags | ( | Gst::StreamFlags | flags | ) |
flags | The stream flags to set. |