gstmessage.h | gstmessage.h | |||
---|---|---|---|---|
skipping to change at line 37 | skipping to change at line 37 | |||
typedef struct _GstMessage GstMessage; | typedef struct _GstMessage GstMessage; | |||
typedef struct _GstMessageClass GstMessageClass; | typedef struct _GstMessageClass GstMessageClass; | |||
/** | /** | |||
* GstMessageType: | * GstMessageType: | |||
* @GST_MESSAGE_UNKNOWN: an undefined message | * @GST_MESSAGE_UNKNOWN: an undefined message | |||
* @GST_MESSAGE_EOS: end-of-stream reached in a pipeline. The application w ill | * @GST_MESSAGE_EOS: end-of-stream reached in a pipeline. The application w ill | |||
* only receive this message in the PLAYING state and every time it sets a | * 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 perfor m a | * pipeline to PLAYING that is in the EOS state. The application can perfor m a | |||
* flushing seek in the pipeline, which will undo the EOS state again. | * flushing seek in the pipeline, which will undo the EOS state again. | |||
* @GST_MESSAGE_ERROR: an error occured. Whe the application receives an er ror | * @GST_MESSAGE_ERROR: an error occured. When the application receives an e rror | |||
* message it should stop playback of the pipeline and not assume that more | * message it should stop playback of the pipeline and not assume that more | |||
* data will be played. | * data will be played. | |||
* @GST_MESSAGE_WARNING: a warning occured. | * @GST_MESSAGE_WARNING: a warning occured. | |||
* @GST_MESSAGE_INFO: an info message occured | * @GST_MESSAGE_INFO: an info message occured | |||
* @GST_MESSAGE_TAG: a tag was found. | * @GST_MESSAGE_TAG: a tag was found. | |||
* @GST_MESSAGE_BUFFERING: the pipeline is buffering. When the application | * @GST_MESSAGE_BUFFERING: the pipeline is buffering. When the application | |||
* receives a buffering message in the PLAYING state for a non-live pipelin e it | * receives a buffering message in the PLAYING state for a non-live pipelin e it | |||
* must PAUSE the pipeline until the buffering completes, when the percenta ge | * must PAUSE the pipeline until the buffering completes, when the percenta ge | |||
* field in the message is 100%. For live pipelines, no action must be | * 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 ab out | * performed and the buffering percentage can be used to inform the user ab out | |||
* the progress. | * the progress. | |||
* @GST_MESSAGE_STATE_CHANGED: a state change happened | * @GST_MESSAGE_STATE_CHANGED: a state change happened | |||
* @GST_MESSAGE_STATE_DIRTY: an element changed state in a streaming thread . | * @GST_MESSAGE_STATE_DIRTY: an element changed state in a streaming thread . | |||
* This message is deprecated. | * This message is deprecated. | |||
* @GST_MESSAGE_STEP_DONE: a framestep finished. This message is not yet | * @GST_MESSAGE_STEP_DONE: a stepping operation finished. | |||
* implemented. | ||||
* @GST_MESSAGE_CLOCK_PROVIDE: an element notifies its capability of provid ing | * @GST_MESSAGE_CLOCK_PROVIDE: an element notifies its capability of provid ing | |||
* a clock. This message is used internally and | * a clock. This message is used internally and | |||
* never forwarded to the application. | * never forwarded to the application. | |||
* @GST_MESSAGE_CLOCK_LOST: The current clock as selected by the pipeline b ecame | * @GST_MESSAGE_CLOCK_LOST: The current clock as selected by the pipeline b ecame | |||
* unusable. The pipeline will select a new clock on | * unusable. The pipeline will select a new clock on | |||
* the next PLAYING state change. | * 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_NEW_CLOCK: a new clock was selected in the pipeline. | |||
* @GST_MESSAGE_STRUCTURE_CHANGE: the structure of the pipeline changed. Th is | * @GST_MESSAGE_STRUCTURE_CHANGE: the structure of the pipeline changed. Th is | |||
* message is used internally and never forwarded to the application. | * message is used internally and never forwarded to the application. | |||
* @GST_MESSAGE_STREAM_STATUS: status about a stream, emitted when it start s, | * @GST_MESSAGE_STREAM_STATUS: status about a stream, emitted when it start s, | |||
* stops, errors, etc.. Not implemented yet. | * stops, errors, etc.. | |||
* @GST_MESSAGE_APPLICATION: message posted by the application, possibly | * @GST_MESSAGE_APPLICATION: message posted by the application, possibly | |||
* via an application-specific element. | * via an application-specific element. | |||
* @GST_MESSAGE_ELEMENT: element-specific message, see the specific element 's | * @GST_MESSAGE_ELEMENT: element-specific message, see the specific element 's | |||
* documentation | * documentation | |||
* @GST_MESSAGE_SEGMENT_START: pipeline started playback of a segment. This | * @GST_MESSAGE_SEGMENT_START: pipeline started playback of a segment. This | |||
* message is used internally and never forwarded to the application. | * message is used internally and never forwarded to the application. | |||
* @GST_MESSAGE_SEGMENT_DONE: pipeline completed playback of a segment. Thi s | * @GST_MESSAGE_SEGMENT_DONE: pipeline completed playback of a segment. Thi s | |||
* message is forwarded to the application after all elements that posted | * message is forwarded to the application after all elements that posted | |||
* @GST_MESSAGE_SEGMENT_START posted a GST_MESSAGE_SEGMENT_DONE message. | * @GST_MESSAGE_SEGMENT_START posted a GST_MESSAGE_SEGMENT_DONE message. | |||
* @GST_MESSAGE_DURATION: The duration of a pipeline changed. The applicati on | * @GST_MESSAGE_DURATION: The duration of a pipeline changed. The applicati on | |||
* can get the new duration with a duration query. | * can get the new duration with a duration query. | |||
* @GST_MESSAGE_ASYNC_START: Posted by elements when they start an ASYNC st ate | * @GST_MESSAGE_ASYNC_START: Posted by elements when they start an ASYNC st ate | |||
* change. This message is not forwarded to the application but is used | * change. This message is not forwarded to the application but is used | |||
* internally. Since: 0.10.13. | * internally. Since: 0.10.13. | |||
* @GST_MESSAGE_ASYNC_DONE: Posted by elements when they complete an ASYNC state | * @GST_MESSAGE_ASYNC_DONE: Posted by elements when they complete an ASYNC state | |||
* change. The application will only receive this message from the toplevel | * change. The application will only receive this message from the toplevel | |||
* pipeline. Since: 0.10.13 | * pipeline. Since: 0.10.13 | |||
* @GST_MESSAGE_LATENCY: Posted by elements when their latency changes. The | * @GST_MESSAGE_LATENCY: Posted by elements when their latency changes. The | |||
* pipeline will calculate and distribute a new latency. Since: 0.10.12 | * application should recalculate and distribute a new latency. Since: 0.10 .12 | |||
* @GST_MESSAGE_REQUEST_STATE: Posted by elements when they want the pipeli ne to | * @GST_MESSAGE_REQUEST_STATE: Posted by elements when they want the pipeli ne to | |||
* change state. This message is a suggestion to the application which can | * change state. This message is a suggestion to the application which can | |||
* decide to perform the state change on (part of) the pipeline. Since: 0.1 0.23. | * decide to perform the state change on (part of) the pipeline. Since: 0.1 0.23. | |||
* @GST_MESSAGE_STEP_START: A stepping operation was started. Since: 0.10.2 | ||||
4 | ||||
* @GST_MESSAGE_QOS: A buffer was dropped or an element changed its process | ||||
ing | ||||
* strategy for Quality of Service reasons. Since: 0.10.29 | ||||
* @GST_MESSAGE_ANY: mask for all of the above messages. | * @GST_MESSAGE_ANY: mask for all of the above messages. | |||
* | * | |||
* The different message types that are available. | * The different message types that are available. | |||
*/ | */ | |||
/* NOTE: keep in sync with quark registration in gstmessage.c | /* NOTE: keep in sync with quark registration in gstmessage.c | |||
* NOTE: keep GST_MESSAGE_ANY a valid gint to avoid compiler warnings. | * NOTE: keep GST_MESSAGE_ANY a valid gint to avoid compiler warnings. | |||
*/ | */ | |||
typedef enum | typedef enum | |||
{ | { | |||
GST_MESSAGE_UNKNOWN = 0, | GST_MESSAGE_UNKNOWN = 0, | |||
skipping to change at line 120 | skipping to change at line 124 | |||
GST_MESSAGE_STREAM_STATUS = (1 << 13), | GST_MESSAGE_STREAM_STATUS = (1 << 13), | |||
GST_MESSAGE_APPLICATION = (1 << 14), | GST_MESSAGE_APPLICATION = (1 << 14), | |||
GST_MESSAGE_ELEMENT = (1 << 15), | GST_MESSAGE_ELEMENT = (1 << 15), | |||
GST_MESSAGE_SEGMENT_START = (1 << 16), | GST_MESSAGE_SEGMENT_START = (1 << 16), | |||
GST_MESSAGE_SEGMENT_DONE = (1 << 17), | GST_MESSAGE_SEGMENT_DONE = (1 << 17), | |||
GST_MESSAGE_DURATION = (1 << 18), | GST_MESSAGE_DURATION = (1 << 18), | |||
GST_MESSAGE_LATENCY = (1 << 19), | GST_MESSAGE_LATENCY = (1 << 19), | |||
GST_MESSAGE_ASYNC_START = (1 << 20), | GST_MESSAGE_ASYNC_START = (1 << 20), | |||
GST_MESSAGE_ASYNC_DONE = (1 << 21), | GST_MESSAGE_ASYNC_DONE = (1 << 21), | |||
GST_MESSAGE_REQUEST_STATE = (1 << 22), | GST_MESSAGE_REQUEST_STATE = (1 << 22), | |||
GST_MESSAGE_STEP_START = (1 << 23), | ||||
GST_MESSAGE_QOS = (1 << 24), | ||||
GST_MESSAGE_ANY = ~0 | GST_MESSAGE_ANY = ~0 | |||
} GstMessageType; | } GstMessageType; | |||
#include <gst/gstminiobject.h> | #include <gst/gstminiobject.h> | |||
#include <gst/gstobject.h> | #include <gst/gstobject.h> | |||
#include <gst/gstelement.h> | #include <gst/gstelement.h> | |||
#include <gst/gsttaglist.h> | #include <gst/gsttaglist.h> | |||
#include <gst/gststructure.h> | #include <gst/gststructure.h> | |||
/** | /** | |||
* GST_MESSAGE_TRACE_NAME: | * GST_MESSAGE_TRACE_NAME: | |||
* | * | |||
* The name used for memory allocation tracing | * The name used for memory allocation tracing | |||
*/ | */ | |||
#define GST_MESSAGE_TRACE_NAME "GstMessage" | #define GST_MESSAGE_TRACE_NAME "GstMessage" | |||
#define GST_TYPE_MESSAGE (gst_message_get_type()) | #define GST_TYPE_MESSAGE (gst_message_get_type()) | |||
#define GST_IS_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYP E ((obj), GST_TYPE_MESSAGE)) | #define GST_IS_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYP E ((obj), GST_TYPE_MESSAGE)) | |||
#define GST_IS_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ( (klass), GST_TYPE_MESSAGE)) | #define GST_IS_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ( (klass), GST_TYPE_MESSAGE)) | |||
#define GST_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_MESSAGE, GstMessageClass)) | #define GST_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_MESSAGE, GstMessageClass)) | |||
#define GST_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAS T ((obj), GST_TYPE_MESSAGE, GstMessage)) | #define GST_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAS T ((obj), GST_TYPE_MESSAGE, GstMessage)) | |||
#define GST_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ( (klass), GST_TYPE_MESSAGE, GstMessageClass)) | #define GST_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ( (klass), GST_TYPE_MESSAGE, GstMessageClass)) | |||
#define GST_MESSAGE_CAST(obj) ((GstMessage*)(obj)) | #define GST_MESSAGE_CAST(obj) ((GstMessage*)(obj)) | |||
/* the lock is used to handle the synchronous handling of messages, | /* the lock is used to handle the synchronous handling of messages, | |||
* the emiting thread is block until the handling thread processed | * the emiting thread is block until the handling thread processed | |||
* the message using this mutex/cond pair */ | * the message using this mutex/cond pair */ | |||
#define GST_MESSAGE_GET_LOCK(message) (GST_MESSAGE(message)->lock) | #define GST_MESSAGE_GET_LOCK(message) (GST_MESSAGE_CAST(message)->lock) | |||
#define GST_MESSAGE_LOCK(message) g_mutex_lock(GST_MESSAGE_GET_LOCK(me | #define GST_MESSAGE_LOCK(message) g_mutex_lock(GST_MESSAGE_GET_LOCK(m | |||
ssage)) | essage)) | |||
#define GST_MESSAGE_UNLOCK(message) g_mutex_unlock(GST_MESSAGE_GET_LOCK( | #define GST_MESSAGE_UNLOCK(message) g_mutex_unlock(GST_MESSAGE_GET_LOCK | |||
message)) | (message)) | |||
#define GST_MESSAGE_COND(message) (GST_MESSAGE(message)->cond) | #define GST_MESSAGE_COND(message) (GST_MESSAGE_CAST(message)->cond) | |||
#define GST_MESSAGE_WAIT(message) g_cond_wait(GST_MESSAGE_COND(message | #define GST_MESSAGE_WAIT(message) g_cond_wait(GST_MESSAGE_COND(messag | |||
),GST_MESSAGE_GET_LOCK(message)) | e),GST_MESSAGE_GET_LOCK(message)) | |||
#define GST_MESSAGE_SIGNAL(message) g_cond_signal(GST_MESSAGE_COND(messa | #define GST_MESSAGE_SIGNAL(message) g_cond_signal(GST_MESSAGE_COND(mess | |||
ge)) | age)) | |||
/** | /** | |||
* GST_MESSAGE_TYPE: | * GST_MESSAGE_TYPE: | |||
* @message: a #GstMessage | * @message: a #GstMessage | |||
* | * | |||
* Get the #GstMessageType of @message. | * Get the #GstMessageType of @message. | |||
*/ | */ | |||
#define GST_MESSAGE_TYPE(message) (GST_MESSAGE(message)->type) | #define GST_MESSAGE_TYPE(message) (GST_MESSAGE_CAST(message)->type) | |||
/** | /** | |||
* GST_MESSAGE_TYPE_NAME: | * GST_MESSAGE_TYPE_NAME: | |||
* @message: a #GstMessage | * @message: a #GstMessage | |||
* | * | |||
* Get a constant string representation of the #GstMessageType of @message. | * Get a constant string representation of the #GstMessageType of @message. | |||
* | * | |||
* Since: 0.10.4 | * Since: 0.10.4 | |||
*/ | */ | |||
#define GST_MESSAGE_TYPE_NAME(message) gst_message_type_get_name(GST_MESSAG E_TYPE(message)) | #define GST_MESSAGE_TYPE_NAME(message) gst_message_type_get_name(GST_MESSA GE_TYPE(message)) | |||
/** | /** | |||
* GST_MESSAGE_TIMESTAMP: | * GST_MESSAGE_TIMESTAMP: | |||
* @message: a #GstMessage | * @message: a #GstMessage | |||
* | * | |||
* Get the timestamp of @message. This is the timestamp when the message | * Get the timestamp of @message. This is the timestamp when the message | |||
* was created. | * was created. | |||
*/ | */ | |||
#define GST_MESSAGE_TIMESTAMP(message) (GST_MESSAGE(message)->timestamp) | #define GST_MESSAGE_TIMESTAMP(message) (GST_MESSAGE_CAST(message)->timesta mp) | |||
/** | /** | |||
* GST_MESSAGE_SRC: | * GST_MESSAGE_SRC: | |||
* @message: a #GstMessage | * @message: a #GstMessage | |||
* | * | |||
* Get the object that posted @message. | * Get the object that posted @message. | |||
*/ | */ | |||
#define GST_MESSAGE_SRC(message) (GST_MESSAGE(message)->src) | #define GST_MESSAGE_SRC(message) (GST_MESSAGE_CAST(message)->src) | |||
/** | ||||
* GST_MESSAGE_SRC_NAME: | ||||
* @message: a #GstMessage | ||||
* | ||||
* Get the name of the object that posted @message. Returns "(NULL)" if | ||||
* the message has no source object set. | ||||
* | ||||
* Since: 0.10.24 | ||||
*/ | ||||
#define GST_MESSAGE_SRC_NAME(message) (GST_MESSAGE_SRC(message) ? \ | ||||
GST_OBJECT_NAME (GST_MESSAGE_SRC(message)) : "(NULL)") | ||||
/** | /** | |||
* GstStructureChangeType: | * GstStructureChangeType: | |||
* @GST_STRUCTURE_CHANGE_TYPE_PAD_LINK: Pad linking is starting or done. | * @GST_STRUCTURE_CHANGE_TYPE_PAD_LINK: Pad linking is starting or done. | |||
* @GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK: Pad unlinking is starting or done . | * @GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK: Pad unlinking is starting or done . | |||
* | * | |||
* The type of a #GstMessageStructureChange. | * The type of a %GST_MESSAGE_STRUCTURE_CHANGE. | |||
* | * | |||
* Since: 0.10.22 | * Since: 0.10.22 | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
GST_STRUCTURE_CHANGE_TYPE_PAD_LINK = 0, | GST_STRUCTURE_CHANGE_TYPE_PAD_LINK = 0, | |||
GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK = 1 | GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK = 1 | |||
} GstStructureChangeType; | } GstStructureChangeType; | |||
/** | /** | |||
* GstStreamStatusType: | ||||
* @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_STREAM_STATUS. The stream status messages inf | ||||
orm the | ||||
* application of new streaming threads and their status. | ||||
* | ||||
* Since: 0.10.24 | ||||
*/ | ||||
typedef enum { | ||||
GST_STREAM_STATUS_TYPE_CREATE = 0, | ||||
GST_STREAM_STATUS_TYPE_ENTER = 1, | ||||
GST_STREAM_STATUS_TYPE_LEAVE = 2, | ||||
GST_STREAM_STATUS_TYPE_DESTROY = 3, | ||||
GST_STREAM_STATUS_TYPE_START = 8, | ||||
GST_STREAM_STATUS_TYPE_PAUSE = 9, | ||||
GST_STREAM_STATUS_TYPE_STOP = 10 | ||||
} GstStreamStatusType; | ||||
/** | ||||
* GstMessage: | * GstMessage: | |||
* @mini_object: the parent structure | * @mini_object: the parent structure | |||
* @type: the #GstMessageType of the message | * @type: the #GstMessageType of the message | |||
* @timestamp: the timestamp of the message | * @timestamp: the timestamp of the message | |||
* @src: the src of the message | * @src: the src of the message | |||
* @structure: the #GstStructure containing the message info. | * @structure: the #GstStructure containing the message info. | |||
* | * | |||
* A #GstMessage. | * A #GstMessage. | |||
*/ | */ | |||
struct _GstMessage | struct _GstMessage | |||
{ | { | |||
GstMiniObject mini_object; | GstMiniObject mini_object; | |||
/*< private > *//* with MESSAGE_LOCK */ | /*< private >*//* with MESSAGE_LOCK */ | |||
GMutex *lock; /* lock and cond for async delivery */ | GMutex *lock; /* lock and cond for async delivery */ | |||
GCond *cond; | GCond *cond; | |||
/*< public > *//* with COW */ | /*< public > *//* with COW */ | |||
GstMessageType type; | GstMessageType type; | |||
guint64 timestamp; | guint64 timestamp; | |||
GstObject *src; | GstObject *src; | |||
GstStructure *structure; | GstStructure *structure; | |||
/*< private > */ | /*< private >*/ | |||
union { | union { | |||
struct { | struct { | |||
guint32 seqnum; | guint32 seqnum; | |||
} ABI; | } ABI; | |||
/* + 0 to mark ABI change for future greppage */ | /* + 0 to mark ABI change for future greppage */ | |||
gpointer _gst_reserved[GST_PADDING + 0]; | gpointer _gst_reserved[GST_PADDING + 0]; | |||
} abidata; | } abidata; | |||
}; | }; | |||
struct _GstMessageClass { | struct _GstMessageClass { | |||
GstMiniObjectClass mini_object_class; | GstMiniObjectClass mini_object_class; | |||
/*< private > */ | /*< private >*/ | |||
gpointer _gst_reserved[GST_PADDING]; | gpointer _gst_reserved[GST_PADDING]; | |||
}; | }; | |||
GType gst_message_get_type (void); | GType gst_message_get_type (void); | |||
const gchar* gst_message_type_get_name (GstMessageType type); | const gchar* gst_message_type_get_name (GstMessageType type); | |||
GQuark gst_message_type_to_quark (GstMessageType type); | GQuark gst_message_type_to_quark (GstMessageType type); | |||
/* refcounting */ | /* refcounting */ | |||
/** | /** | |||
* gst_message_ref: | * gst_message_ref: | |||
* @msg: the message to ref | * @msg: the message to ref | |||
* | * | |||
* Convenience macro to increase the reference count of the message. | * Convenience macro to increase the reference count of the message. | |||
* | * | |||
* Returns: @msg (for convenience when doing assignments) | * Returns: @msg (for convenience when doing assignments) | |||
*/ | */ | |||
#ifdef _FOOL_GTK_DOC_ | #ifdef _FOOL_GTK_DOC_ | |||
G_INLINE_FUNC GstMessage * gst_message_ref (GstMessage * msg); | G_INLINE_FUNC GstMessage * gst_message_ref (GstMessage * msg); | |||
#endif | #endif | |||
static inline GstMessage * | static inline GstMessage * | |||
gst_message_ref (GstMessage * msg) | gst_message_ref (GstMessage * msg) | |||
{ | { | |||
return (GstMessage *) gst_mini_object_ref (GST_MINI_OBJECT (msg)); | return (GstMessage *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (msg)); | |||
} | } | |||
/** | /** | |||
* gst_message_unref: | * gst_message_unref: | |||
* @msg: the message to unref | * @msg: the message to unref | |||
* | * | |||
* Convenience macro to decrease the reference count of the message, possib ly | * Convenience macro to decrease the reference count of the message, possib ly | |||
* freeing it. | * freeing it. | |||
*/ | */ | |||
#ifdef _FOOL_GTK_DOC_ | #ifdef _FOOL_GTK_DOC_ | |||
skipping to change at line 290 | skipping to change at line 333 | |||
gst_mini_object_unref (GST_MINI_OBJECT_CAST (msg)); | gst_mini_object_unref (GST_MINI_OBJECT_CAST (msg)); | |||
} | } | |||
/* copy message */ | /* copy message */ | |||
/** | /** | |||
* gst_message_copy: | * gst_message_copy: | |||
* @msg: the message to copy | * @msg: the message to copy | |||
* | * | |||
* Creates a copy of the message. Returns a copy of the message. | * Creates a copy of the message. Returns a copy of the message. | |||
* | * | |||
* Returns: a new copy of @msg. | * Returns: (transfer full): a new copy of @msg. | |||
* | * | |||
* MT safe | * MT safe | |||
*/ | */ | |||
#ifdef _FOOL_GTK_DOC_ | #ifdef _FOOL_GTK_DOC_ | |||
G_INLINE_FUNC GstMessage * gst_message_copy (const GstMessage * msg); | G_INLINE_FUNC GstMessage * gst_message_copy (const GstMessage * msg); | |||
#endif | #endif | |||
static inline GstMessage * | static inline GstMessage * | |||
gst_message_copy (const GstMessage * msg) | gst_message_copy (const GstMessage * msg) | |||
{ | { | |||
return GST_MESSAGE (gst_mini_object_copy (GST_MINI_OBJECT_CAST (msg))); | return GST_MESSAGE_CAST (gst_mini_object_copy (GST_MINI_OBJECT_CONST_CAST (msg))); | |||
} | } | |||
/** | /** | |||
* gst_message_make_writable: | * gst_message_make_writable: | |||
* @msg: the message to make writable | * @msg: (transfer full): the message to make writable | |||
* | * | |||
* Checks if a message is writable. If not, a writable copy is made and | * Checks if a message is writable. If not, a writable copy is made and | |||
* returned. Returns a message (possibly a duplicate) that is writable. | * returned. | |||
* | ||||
* Returns: (transfer full): a message (possibly a duplicate) that is writa | ||||
ble. | ||||
* | * | |||
* MT safe | * MT safe | |||
*/ | */ | |||
#define gst_message_make_writable(msg) GST_MESSAGE (gst_mini_object _make_writable (GST_MINI_OBJECT (msg))) | #define gst_message_make_writable(msg) GST_MESSAGE_CAST (gst_mini_ object_make_writable (GST_MINI_OBJECT_CAST (msg))) | |||
/* identifiers for events and messages */ | /* identifiers for events and messages */ | |||
guint32 gst_message_get_seqnum (GstMessage *message); | guint32 gst_message_get_seqnum (GstMessage *message); | |||
void gst_message_set_seqnum (GstMessage *message, guint 32 seqnum); | void gst_message_set_seqnum (GstMessage *message, guint 32 seqnum); | |||
/* EOS */ | /* EOS */ | |||
GstMessage * gst_message_new_eos (GstObject * src); | GstMessage * gst_message_new_eos (GstObject * src); | |||
/* ERROR */ | /* ERROR */ | |||
GstMessage * gst_message_new_error (GstObject * src, GError * e | GstMessage * gst_message_new_error (GstObject * src, GError * | |||
rror, const gchar * debug); | error, const gchar * debug); | |||
void gst_message_parse_error (GstMessage *message, GError | void gst_message_parse_error (GstMessage *message, GErro | |||
**gerror, gchar **debug); | r **gerror, gchar **debug); | |||
/* WARNING */ | /* WARNING */ | |||
GstMessage * gst_message_new_warning (GstObject * src, GError * e | GstMessage * gst_message_new_warning (GstObject * src, GError * | |||
rror, const gchar * debug); | error, const gchar * debug); | |||
void gst_message_parse_warning (GstMessage *message, GError | void gst_message_parse_warning (GstMessage *message, GErro | |||
**gerror, gchar **debug); | r **gerror, gchar **debug); | |||
/* INFO */ | /* INFO */ | |||
GstMessage * gst_message_new_info (GstObject * src, GError * e | GstMessage * gst_message_new_info (GstObject * src, GError * | |||
rror, const gchar * debug); | error, const gchar * debug); | |||
void gst_message_parse_info (GstMessage *message, GError | void gst_message_parse_info (GstMessage *message, GErro | |||
**gerror, gchar **debug); | r **gerror, gchar **debug); | |||
/* TAG */ | /* TAG */ | |||
GstMessage * gst_message_new_tag (GstObject * src, GstTagList | GstMessage * gst_message_new_tag (GstObject * src, GstTagLis | |||
* tag_list); | t * tag_list); | |||
void gst_message_parse_tag (GstMessage *message, GstTag | GstMessage * gst_message_new_tag_full (GstObject * src, GstPad *p | |||
List **tag_list); | ad, GstTagList * tag_list); | |||
void gst_message_parse_tag (GstMessage *message, GstTa | ||||
gList **tag_list); | ||||
void gst_message_parse_tag_full (GstMessage *message, GstPa | ||||
d **pad, GstTagList **tag_list); | ||||
/* BUFFERING */ | /* BUFFERING */ | |||
GstMessage * gst_message_new_buffering (GstObject * src, gint perce | GstMessage * gst_message_new_buffering (GstObject * src, gint pe | |||
nt); | rcent); | |||
void gst_message_parse_buffering (GstMessage *message, gint * | void gst_message_parse_buffering (GstMessage *message, gin | |||
percent); | t *percent); | |||
void gst_message_set_buffering_stats (GstMessage *message, GstBu | void gst_message_set_buffering_stats (GstMessage *message, Gst | |||
fferingMode mode, | BufferingMode mode, | |||
gint avg_in, gint avg_out, | gint avg_in, gint avg_ou | |||
gint64 buffering_left); | t, | |||
gint64 buffering_left); | ||||
void gst_message_parse_buffering_stats (GstMessage *message, Gst BufferingMode *mode, | void gst_message_parse_buffering_stats (GstMessage *message, Gst BufferingMode *mode, | |||
gint *avg_in, gint *avg_ out, | gint *avg_in, gint *avg_ out, | |||
gint64 *buffering_left); | gint64 *buffering_left); | |||
/* STATE_CHANGED */ | /* STATE_CHANGED */ | |||
GstMessage * gst_message_new_state_changed (GstObject * src, GstState o ldstate, | GstMessage * gst_message_new_state_changed (GstObject * src, GstState oldstate, | |||
GstState newstate, GstStat e pending); | GstState newstate, GstStat e pending); | |||
void gst_message_parse_state_changed (GstMessage *message, GstSta te *oldstate, | void gst_message_parse_state_changed (GstMessage *message, GstSt ate *oldstate, | |||
GstState *newstate, GstSta te *pending); | GstState *newstate, GstSta te *pending); | |||
/* STATE_DIRTY */ | /* STATE_DIRTY */ | |||
GstMessage * gst_message_new_state_dirty (GstObject * src); | GstMessage * gst_message_new_state_dirty (GstObject * src); | |||
/* STEP_DONE */ | ||||
GstMessage * gst_message_new_step_done (GstObject * src, GstFormat | ||||
format, guint64 amount, | ||||
gdouble rate, gboolean flu | ||||
sh, gboolean intermediate, | ||||
guint64 duration, gboolean | ||||
eos); | ||||
void gst_message_parse_step_done (GstMessage * message, GstF | ||||
ormat *format, guint64 *amount, | ||||
gdouble *rate, gboolean *f | ||||
lush, gboolean *intermediate, | ||||
guint64 *duration, gboolea | ||||
n *eos); | ||||
/* CLOCK_PROVIDE */ | /* CLOCK_PROVIDE */ | |||
GstMessage * gst_message_new_clock_provide (GstObject * src, GstClock * | GstMessage * gst_message_new_clock_provide (GstObject * src, GstClock | |||
clock, gboolean ready); | *clock, gboolean ready); | |||
void gst_message_parse_clock_provide (GstMessage *message, GstClo | void gst_message_parse_clock_provide (GstMessage *message, GstCl | |||
ck **clock, | ock **clock, | |||
gboolean *ready); | gboolean *ready); | |||
/* CLOCK_LOST */ | /* CLOCK_LOST */ | |||
GstMessage * gst_message_new_clock_lost (GstObject * src, GstClock * | GstMessage * gst_message_new_clock_lost (GstObject * src, GstClock | |||
clock); | *clock); | |||
void gst_message_parse_clock_lost (GstMessage *message, GstClo | void gst_message_parse_clock_lost (GstMessage *message, GstCl | |||
ck **clock); | ock **clock); | |||
/* NEW_CLOCK */ | /* NEW_CLOCK */ | |||
GstMessage * gst_message_new_new_clock (GstObject * src, GstClock * | GstMessage * gst_message_new_new_clock (GstObject * src, GstClock | |||
clock); | *clock); | |||
void gst_message_parse_new_clock (GstMessage *message, GstClo | void gst_message_parse_new_clock (GstMessage *message, GstCl | |||
ck **clock); | ock **clock); | |||
/* APPLICATION */ | /* APPLICATION */ | |||
GstMessage * gst_message_new_application (GstObject * src, GstStructu re * structure); | GstMessage * gst_message_new_application (GstObject * src, GstStruct ure * structure); | |||
/* ELEMENT */ | /* ELEMENT */ | |||
GstMessage * gst_message_new_element (GstObject * src, GstStructu re * structure); | GstMessage * gst_message_new_element (GstObject * src, GstStruct ure * structure); | |||
/* SEGMENT_START */ | /* SEGMENT_START */ | |||
GstMessage * gst_message_new_segment_start (GstObject * src, GstFormat | GstMessage * gst_message_new_segment_start (GstObject * src, GstFormat | |||
format, gint64 position); | format, gint64 position); | |||
void gst_message_parse_segment_start (GstMessage *message, GstFor | void gst_message_parse_segment_start (GstMessage *message, GstFo | |||
mat *format, | rmat *format, | |||
gint64 *position); | gint64 *position); | |||
/* SEGMENT_DONE */ | /* SEGMENT_DONE */ | |||
GstMessage * gst_message_new_segment_done (GstObject * src, GstFormat | GstMessage * gst_message_new_segment_done (GstObject * src, GstFormat | |||
format, gint64 position); | format, gint64 position); | |||
void gst_message_parse_segment_done (GstMessage *message, GstFor | void gst_message_parse_segment_done (GstMessage *message, GstFo | |||
mat *format, | rmat *format, | |||
gint64 *position); | gint64 *position); | |||
/* DURATION */ | /* DURATION */ | |||
GstMessage * gst_message_new_duration (GstObject * src, GstFormat | GstMessage * gst_message_new_duration (GstObject * src, GstFormat | |||
format, gint64 duration); | format, gint64 duration); | |||
void gst_message_parse_duration (GstMessage *message, GstFor | void gst_message_parse_duration (GstMessage *message, GstFo | |||
mat *format, | rmat *format, | |||
gint64 *duration); | gint64 *duration); | |||
/* LATENCY */ | /* LATENCY */ | |||
GstMessage * gst_message_new_latency (GstObject * src); | GstMessage * gst_message_new_latency (GstObject * src); | |||
/* ASYNC_START */ | /* ASYNC_START */ | |||
GstMessage * gst_message_new_async_start (GstObject * src, gboolean n | GstMessage * gst_message_new_async_start (GstObject * src, gboolean | |||
ew_base_time); | new_base_time); | |||
void gst_message_parse_async_start (GstMessage *message, gboole | void gst_message_parse_async_start (GstMessage *message, gbool | |||
an *new_base_time); | ean *new_base_time); | |||
/* ASYNC_DONE */ | /* ASYNC_DONE */ | |||
GstMessage * gst_message_new_async_done (GstObject * src); | GstMessage * gst_message_new_async_done (GstObject * src); | |||
/* STRUCTURE CHANGE */ | /* STRUCTURE CHANGE */ | |||
GstMessage * gst_message_new_structure_change (GstObject * src, GstStru ctureChangeType type, | GstMessage * gst_message_new_structure_change (GstObject * src, GstStr uctureChangeType type, | |||
GstElement *owner, gboo lean busy); | GstElement *owner, gboo lean busy); | |||
void gst_message_parse_structure_change (GstMessage *message, Gst StructureChangeType *type, | void gst_message_parse_structure_change (GstMessage *message, Gs tStructureChangeType *type, | |||
GstElement **owner, gbo olean *busy); | GstElement **owner, gbo olean *busy); | |||
/* STREAM STATUS */ | ||||
GstMessage * gst_message_new_stream_status (GstObject * src, GstS | ||||
treamStatusType type, | ||||
GstElement *owner); | ||||
void gst_message_parse_stream_status (GstMessage *message, | ||||
GstStreamStatusType *type, | ||||
GstElement **owner); | ||||
void gst_message_set_stream_status_object (GstMessage *message, | ||||
const GValue *object); | ||||
const GValue * gst_message_get_stream_status_object (GstMessage *message); | ||||
/* REQUEST_STATE */ | /* REQUEST_STATE */ | |||
GstMessage * gst_message_new_request_state (GstObject * src, GstState state); | GstMessage * gst_message_new_request_state (GstObject * src, GstState state); | |||
void gst_message_parse_request_state (GstMessage * message, GstS tate *state); | void gst_message_parse_request_state (GstMessage * message, GstS tate *state); | |||
/* STEP_START */ | ||||
GstMessage * gst_message_new_step_start (GstObject * src, gboolean | ||||
active, GstFormat format, | ||||
guint64 amount, gdouble ra | ||||
te, gboolean flush, | ||||
gboolean intermediate); | ||||
void gst_message_parse_step_start (GstMessage * message, gboo | ||||
lean *active, GstFormat *format, | ||||
guint64 *amount, gdouble * | ||||
rate, gboolean *flush, | ||||
gboolean *intermediate); | ||||
/* QOS */ | ||||
GstMessage * gst_message_new_qos (GstObject * src, gboolean | ||||
live, guint64 running_time, | ||||
guint64 stream_time, guint | ||||
64 timestamp, guint64 duration); | ||||
void gst_message_set_qos_values (GstMessage * message, gint | ||||
64 jitter, gdouble proportion, | ||||
gint quality); | ||||
void gst_message_set_qos_stats (GstMessage * message, GstF | ||||
ormat format, guint64 processed, | ||||
guint64 dropped); | ||||
void gst_message_parse_qos (GstMessage * message, gboo | ||||
lean * live, guint64 * running_time, | ||||
guint64 * stream_time, gui | ||||
nt64 * timestamp, guint64 * duration); | ||||
void gst_message_parse_qos_values (GstMessage * message, gint | ||||
64 * jitter, gdouble * proportion, | ||||
gint * quality); | ||||
void gst_message_parse_qos_stats (GstMessage * message, GstF | ||||
ormat * format, guint64 * processed, | ||||
guint64 * dropped); | ||||
/* custom messages */ | /* custom messages */ | |||
GstMessage * gst_message_new_custom (GstMessageType type, | GstMessage * gst_message_new_custom (GstMessageType type, | |||
GstObject * src, | GstObject * src, | |||
GstStructure * structure); | GstStructure * structure); | |||
const GstStructure * gst_message_get_structure (GstMessage *message | const GstStructure * gst_message_get_structure (GstMessage *message); | |||
); | ||||
G_END_DECLS | G_END_DECLS | |||
#endif /* __GST_MESSAGE_H__ */ | #endif /* __GST_MESSAGE_H__ */ | |||
End of changes. 53 change blocks. | ||||
102 lines changed or deleted | 213 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |